Menggunakan sidik jari TLS untuk mengidentifikasi ancaman

Pada artikel ini, kami ingin berbicara tentang teknologi sidik jari TLS, yang tidak memiliki cukup bahan di segmen berbahasa Rusia. Mari kita coba untuk memperbaikinya. Artikel menerjemahkan sebagian materi tematik penulis metode yang dijelaskan ( di sini dan di sini ), dan juga berisi deskripsi implementasi praktis dari Acribia.





Kami tidak akan mendalami detail cara kerja SSL/TLS (selanjutnya disebut TLS), namun detailnya akan kami jelaskan secara singkat.





Menggunakan TLS adalah berkah tersendiri, karena mengenkripsi data. Namun di sisi lain, pembuat malware menggunakannya untuk bersembunyi di lalu lintas terenkripsi (artikel ini hanya akan bias ke arah ini) dan membuatnya sulit untuk dideteksi dan dinetralkan.





Untuk memulai sesi TLS, klien mengirimkan "paket" halo ke server setelah jabat tangan TCP tiga arah. "Paket" ini dan cara pembuatannya bergantung pada paket dan metode enkripsi yang digunakan untuk membuat aplikasi klien. Jika server menerima koneksi TLS, server akan merespons dengan paket halo, sehingga melanjutkan negosiasi enkripsi.





Karena negosiasi enkripsi TLS ditransmisikan dalam teks yang jelas, aplikasi klien dapat dilacak dan diidentifikasi.





Ini adalah inti dari teknologi sidik jari TLS, singkatnya. Dan sekarang sedikit lebih detail.





TLS fingerprinting

, . ยซ ยป . :





  • TLS;





  • TLS;





  • ;





  • ;





  • .





, ( ):





  • ;





  • ;





  • .   





(, ).





:





  • โ€” TLS-. , .





  • TLS . , , , , , - .





  • , .     





TLS Fingerprinting โ€“ . , . / , , .





, Exchange , OWA, Python .





: TLS Fingerprinting TLS- TLS-. , PCAP .





, :





  • JA3 JA3S;





  • TLS โ€“ JARM.





JA3 JA3S

JA3 : TLS, , TLS, . , ยซ,ยป ยซ-ยป .





:





TLSVersion,Ciphers,Extensions,EllipticCurves,EllipticCurvePointFormats
      
      



:





771,49196-49162-49195-52393-49161-49200-49172-49199-52392-49171-159-57-56-107-158-52394-51-50-103-22-19-157-53-61-156-47-60-10,0-23-65281-10-11-13-28,29-23-24-25,0
      
      



ClientHello TLS, :





769,4โ€“5โ€“10โ€“9โ€“100โ€“98โ€“3โ€“6โ€“19โ€“18โ€“99,,,
      
      



MD5. JA3:





c8446f59cca2149cb5f56ced4b448c8d
      
      



JA3S โ€“ . JA3S : TLS, TLS. , , ยซ,ยป ยซ-ยป .





, :





TLSVersion,Cipher,Extensions
      
      



:





769,47,65281โ€“0โ€“11โ€“35โ€“5โ€“16
      
      



Server Hello TLS, .





:





769,47,
      
      



MD5 32- . 





JA3S:





4835b19f14997673071435cb321f5445
      
      



JA3 JA3S โ€“ TLS. JA3 , TLS, JA3S . .





JARM.





JARM

JARM , 10 TLS . TLS JARM. JARM , TLS . JARM , 62- .





JARM :





  • , TLS;





  • , , , Google, Yandex Apple;





  • ;





  • .





30 TLS, 10 . ยซ000ยป , . 32 SHA256 , , x509. JARM, 30 , 32 , , , , , .





, (IOC) (IOA). / .. - , TI IP, , .. ยซ ยป. , , .





- JARM IOC . , JARM, JARM , IP . , .





JARM , , , , . JARM .





, . JARM Palo Alto Networks   API JARM.





Palo Alto  ., , , Zeek ( Bro) โ€“ open-source , .





Zeek TLS, .. . , , TLS, , .





Zeek TLS JA3\JA3S.





Zeek, , SIEM ( SIEM, Zeekโ€™ ). , SIEM . Zeek , .





JA3 โ€“ . , API JA3 โ€“ .





JA3S, , . , , , , .





JARM , Palo Alto, . github , , . JARM.





, . Splunk JA3/JA3S. . SIEM.





  • JA3\JA3S. , , Emotet TrickBot:





    JA3 = 4d7a28d6f2263ed61de88ca66eb011e3 (Emotet)
    JA3S = 80b3a14bccc8598a1f3bbe83e71f735f (C2 Server Response)
    JA3 = 6734f37431670b3ab4292b8f60f29984 (Trickbot)
    JA3S = 623de93db17d313345d7ea481e7443cf(C2 Server Response)
          
          



  • JA3, .





, , , , - โ€“ . , , .





  • JA3 .





, , . , , , . โ€“ .





  • JA3\JA3S .





.





  • C&C JARM.





TLS-, , JARM ( , SOAR), , C&C , , .





  • JA3 , .





Windows JA3 , Linux (Android/IOS), . ( / NAT). , , IT.





  • JA3 , .





Firefox Chrome ( NAT ). , , Fingerprint. .





  • JA3 , .





, C/C++. , Python Golang. , requests ( python) http ( Golang), . , , . , ยซยป , , . JA3 , .





: JARM ( JA3S ) C&C , .





, JARM , .






, TLS Fingerprinting, , , TLS 1.3.





TLS 1.3 , โ€” SNI (Server Name Indication). HTTPS HOST, IP HTTPS-. , fingerprint, , . , , SNI.





TLS 1.3 โ€“ Encrypted SNI (ESNI), , .





ESNI , . ESNI , , TLS fingerprinting , .





:





, SOC-;





, Threat Intelligence  @AAMinin;





, .








All Articles