JA3 parmak izi, bir istemcinin TLS el sıkışmasında gönderdiği alanların kısa bir hash'idir; bu alanlar arasında şifreleme suite'leri, uzantılar ve bunların sırası bulunur. JA3, bağlantıyı gerçekleştiren yazılımı tanımlar ve bu tanımlama, IP adresi veya başlıklar ile ilgili değildir. Anti-bot sistemleri, JA3 ve onun halefini olan JA4'ü kullanarak, TLS parmak izinin, Kullanıcı-Ajan olarak iddia edilenle eşleşmediği trafiği işaretler; örneğin, Chrome olduğunu iddia eden bir isteğin, bir Python HTTP kütüphanesinin JA3 hash'ini taşıması gibi.

JA3, 2017 yılında Salesforce'taki araştırmacılar tarafından geliştirilmiştir. TLS ClientHello mesajından (TLS sürümü, kabul edilen şifreleme suite'leri, uzantılar listesi, desteklenen eliptik eğriler ve eliptik eğri nokta formatları) beş alanı birleştirir ve sonucu MD5 ile hashleyerek 32 karakterlik bir parmak izi oluşturur. JA3S adlı bir eşlik eden yöntem, sunucunun yanıtı için aynı işlemi gerçekleştirir.

JA3'ün zayıflığı, hash'lediği herhangi bir alandaki, uzantıların sırasını da içeren, bir değişikliğin tamamen farklı bir hash üretmesidir. Chrome, 2023 yılının başlarında TLS uzantılarının sırasını değiştirmeye başladığında, aynı tarayıcı bir bağlantıdan diğerine farklı JA3 değerleri üretmeye başladı. Eylül 2023'te FoxIO tarafından yayımlanan JA4, hashlemeden önce uzantıları sıralar, bu da onu bu rastgeleleştirmeye karşı dayanıklı hale getirir ve Cloudflare gibi sağlayıcılar artık bot tespitinde JA4 parmak izlerini kullanmaktadır.

İlgili Terimler