JA4+ هي مجموعة من طرق بصمة الشبكة من FoxIO وهي سهلة الاستخدام وسهلة المشاركة. هذه الطرق قابلة للقراءة من قبل البشر والآلات على حد سواء لتسهيل البحث والتحليل الأكثر فعالية للتهديدات. تشمل حالات الاستخدام لهذه البصمات المسح عن الجهات الفاعلة المهددة، واكتشاف البرمجيات الخبيثة، ومنع اختطاف الجلسات، وأتمتة الامتثال، وتتبع المواقع، واكتشاف هجمات حجب الخدمة الموزعة (DDoS)، وتجميع الجهات الفاعلة المهددة، واكتشاف الصدف العكسي، وغيرها الكثير.
للحصول على شرح سريع حول JA4+ واستخدامه كمرجع أثناء التحليل، انظر: ورقة الغش JA4+
يتم بناء ملفات JA4 الثنائية من تنفيذ رست للمجموعة. لضمان الوظائف الكاملة، يلزم توفر tshark (الإصدار 4.0.6 أو أحدث). قم بتنزيل أحدث ملفات JA4 الثنائية من صفحة الإصدارات. تتبع إصدارات تنفيذ رست التحكم الدلالي في الإصدارات ويتم تمييزها كـ vX.Y.Z، على عكس إصدارات إضافة Wireshark.
ja4-python-vX.Y.Z.tar.gz (يحتوي على دليل python/ الكامل)
Wireshark:
ja4.so.linux, ja4.so.macos, ja4.dll (مرفقة بإصدار مسمى مثل wireshark-vX.Y.Z)
اختر الملف المناسب لنظامك ومكوّنك.
تثبيت tshark
لينكس
قم بتثبيته باستخدام مدير الحزم الخاص بك (اسم الحزمة tshark أو wireshark-cli يعتمد على التوزيعة). على سبيل المثال، على Ubuntu:```sh
sudo apt install tshark
حدّد موقع tshark.exe (عادةً في C:\Program Files\Wireshark\tshark.exe).
أضف المجلد الذي يحتوي على tshark.exe إلى PATH في نظامك:
افتح خصائص النظام > متغيرات البيئة > تحرير المسار.
تشغيل JA4+
بمجرد توفّر tshark وملفات JA4+ الثنائية، شغّل JA4+ باستخدام الأمر التالي:
على لينكس وmacOS: ```sh
./ja4 [options] [pcap]
root@kitploit:~
على نظام ويندوز، افتح موجه الأوامر وقم بتشغيل: ```cmd
ja4 [options] [pcap]
root@kitploit:~
لمزيد من التفاصيل حول تشغيل JA4+ وإعداداته المتقدمة، راجع README تنفيذ Rust، الذي يوفر معلومات حول ميزاته وسيناريوهات استخدامه وخيارات التخصيص.
قاعدة البيانات
قاعدة البيانات الرسمية لـ JA4+ لبصمات الأصابع والتطبيقات المرتبطة بها ومنطق الكشف الموصى به موجودة هنا: ja4db.com
هذه القاعدة قيد تطوير نشط للغاية. توقع زيادات هائلة في عدد مجموعات البصمات والبيانات خلال الأشهر القليلة القادمة.
يستخدم JA4+ GitHub Actions لأتمتة الإصدارات لمكوناته في Rust وPython وWireshark وZeek. يتم إنشاء الإصدارات عن طريق دفع وسم (tag) ببادئة محددة إلى المستودع، باستثناء Zeek الذي يستخدم وسم إصدار دلالي (semver) خالص. يتم تسمية أصول الإصدار على النحو التالي:
Rust:ja4-vX.Y.Z-<architecture>-<platform>.tar.gz
Python:ja4-python-vX.Y.Z.tar.gz
Wireshark:ja4.so.linux, ja4.so.macos, ja4.dll (في إصدار يُسمى مثل wireshark-vX.Y.Z)
تتوفر سير العمل التالية:
إصدار Rust:
ادفع وسمًا يبدأ بـ rust-، مثل rust-v0.18.5، لتفعيل إصدار ملفات Rust الثنائية. سيقوم سير العمل ببناء وتحميل أصول الإصدار تلقائيًا.
إصدار Python:
ادفع وسمًا يبدأ بـ python-، مثل python-v0.1.0، لتفعيل إصدار تنفيذ Python. سيقوم سير العمل بإنشاء ملف مضغوط (tarball) من دليل python/ ونشره كأصل إصدار.
إصدار مكوّن Wireshark الإضافي:
ادفع وسمًا يبدأ بـ wireshark-، مثل wireshark-v0.1.1، لتفعيل إصدار ملفات مكوّن Wireshark الإضافي الثنائية لجميع المنصات المدعومة.
إصدار Zeek:
ادفع وسمًا يكون إصدارًا دلاليًا خالصًا (مثل v1.2.3)، بدون بادئة، لتفعيل إصدار Zeek. سيؤدي هذا تلقائيًا إلى إنشاء إصدار على packages.zeek.org.
كيفية إنشاء إصدار
تأكد من دمج تغييراتك في فرع main.
أنشئ وادفع وسمًا للمكوّن الذي تريد إصداره:
بالنسبة لـ Rust أو Python أو Wireshark، استخدم البادئة المناسبة (مثل rust-v0.18.5 أو python-v0.1.0 أو wireshark-v0.1.1).
بالنسبة لـ Zeek، استخدم وسم إصدار دلالي خالص (مثل v1.2.3).
مثال: ```sh
git tag v1.2.3
git push origin v1.2.3
root@kitploit:~
(لـ Zeek)
أو، لـ Rust: ```sh
git tag rust-v0.18.5
git push origin rust-v0.18.5
root@kitploit:~
3. سيعمل سير عمل GitHub Actions المقابل تلقائيًا على نشر أصول الإصدار. بالنسبة لـ Zeek، سيظهر الإصدار على [packages.zeek.org](https://packages.zeek.org/).
## تفاصيل JA4+
JA4+ هي مجموعة من بصمات الشبكة البسيطة والقوية لعدة بروتوكولات، وهي قابلة للقراءة من قبل البشر والآلات على حد سواء، مما يسهل تحسين الصيد الأمني وتحليل الأمان. إذا لم تكن معتادًا على بصمات الشبكة، أشجعك على قراءة مدوناتي التي تنشر JA3 [هنا](https://medium.com/salesforce-engineering/tls-fingerprinting-with-ja3-and-ja3s-247362855967)، وJARM [هنا](https://medium.com/salesforce-engineering/easily-identify-malicious-servers-on-the-internet-with-jarm-e095edac525a)، وهذه المدونة الممتازة من Fastly حول [حالة بصمة TLS](https://www.fastly.com/blog/the-state-of-tls-fingerprinting-whats-working-what-isnt-and-whats-next) والتي توضح تاريخ ما سبق ذكره مع مشاكله. يجلب JA4+ دعمًا مخصصًا، مع إبقاء الأساليب محدثة مع تغير الصناعة.
جميع بصمات JA4+ لها تنسيق a_b_c، يفصل بين الأقسام المختلفة التي تشكل البصمة. وهذا يسمح بالصيد والكشف باستخدام ab أو ac أو c فقط. إذا أراد شخص ما فقط إجراء تحليل على ملفات تعريف الارتباط الواردة إلى تطبيقه، فسينظر إلى JA4H_c فقط. يسهل هذا التنسيق الجديد الذي يحافظ على الموقع المحلي تحليلًا أعمق وأغنى مع البقاء بسيطًا وسهل الاستخدام والسماح بالتوسع.
على سبيل المثال، GreyNoise هو مستمع إنترنت يحدد ماسحات الإنترنت وينفذ JA4+ في منتجه. لديهم جهة فاعلة تمسح الإنترنت باستخدام تشفير TLS واحد متغير باستمرار. يولد هذا كمية هائلة من بصمات JA3 مختلفة تمامًا، ولكن مع JA4، يتغير الجزء b فقط من بصمة JA4، بينما يظل الجزءان a وc كما هما. وبناءً عليه، يمكن لـ GreyNoise تتبع الجهة الفاعلة من خلال النظر إلى بصمة JA4_ac (دمج a+c، وإسقاط b).
لقائمة بأساليب JA4+ وأوصافها، انظر [الأساليب الحالية وتفاصيل التنفيذ](#current-methods-and-implementation-details).
لفهم كيفية قراءة بصمات JA4+، انظر [التفاصيل الفنية](https://github.com/foxio-llc/ja4/blob/main/technical_details/README.md).
## الترخيص
*JA4: بصمة عميل TLS* هو [مفتوح المصدر، BSD 3-Clause](https://github.com/foxio-llc/ja4/blob/main/LICENSE-JA4)، مثل JA3. لا تمتلك FoxIO مطالبات براءات اختراع ولا تخطط لمتابعة تغطية براءات الاختراع لبصمة عميل TLS JA4. وهذا يسمح لأي شركة أو أداة تستخدم حاليًا JA3 بالترقية فورًا إلى JA4 دون تأخير.
**JA4S، JA4L، JA4LS، JA4L-Delta، JA4H، JA4X، JA4SSH، JA4T، JA4TS، JA4TScan، JA4D، JA4D6، JA4Scan-TLS، JA4Scan-QUIC، JA4N وجميع الإضافات المستقبلية (يشار إليها مجتمعة باسم JA4+)** هي قيد تسجيل براءات الاختراع ومرخصة بموجب [رخصة FoxIO 1.1](https://github.com/foxio-llc/ja4/blob/main/LICENSE). هذه الرخصة متسامحة لمعظم حالات الاستخدام، بما في ذلك للأغراض الأكاديمية والأعمال الداخلية، ولكنها ليست متسامحة للربح المالي. إذا، على سبيل المثال، أرادت شركة استخدام JA4+ داخليًا للمساعدة في تأمين شركتها الخاصة، فهذا مسموح. إذا، على سبيل المثال، أراد بائع بيع بصمة JA4+ كجزء من عرض منتجه، فسيحتاج إلى طلب ترخيص OEM منا.
JA4+ هي علامة تجارية لـ FoxIO
يمكن تنفيذ JA4+ ويتم تنفيذه في أدوات مفتوحة المصدر، انظر [الأسئلة الشائعة حول الترخيص](https://github.com/foxio-llc/ja4/blob/main/License%20FAQ.md) للتفاصيل.
يسمح لنا هذا الترخيص بتقديم JA4+ للعالم بطريقة مفتوحة وقابلة للاستخدام فورًا، ولكنه يوفر لنا أيضًا طريقة لتمويل الدعم المستمر والبحث في أساليب جديدة وتطوير قاعدة بيانات JA4+. نريد أن تتاح للجميع القدرة على استخدام JA4+ ويسعدنا العمل مع البائعين ومشاريع المصادر المفتوحة للمساعدة في تحقيق ذلك.
## الأسئلة والأجوبة
س: لماذا تقوم بفرز التشفيرات؟ ألا يهم الترتيب؟
ج: يهم، لكن في بحثنا وجدنا أن التطبيقات والمكتبات تختار قائمة تشفير فريدة أكثر من الترتيب الفريد. وهذا أيضًا يقلل من فعالية "تقزيم التشفير"، وهي تكتيك لترتيب التشفير عشوائيًا لمنع اكتشاف JA3.
س: لماذا تقوم بفرز الامتدادات؟
ج: في وقت سابق من عام 2023، قامت Google [بتحديث متصفحات Chromium](https://chromestatus.com/feature/5124606246518784) لترتيب امتداداتها عشوائيًا. مثل تقزيم التشفير تمامًا، كان هذا تكتيكًا لمنع اكتشاف JA3 و"جعل نظام TLS البيئي أكثر قوة للتغييرات". كانت Google قلقة من أن يفترض منفذو الخوادم أن بصمة Chrome لن تتغير أبدًا وينتهي بهم الأمر ببناء منطق حولها، مما قد يسبب مشكلات كلما أرادت Google تحديث Chrome.
لذا أريد أن أوضح هذا: ستتغير بصمات JA4 مع تحديث مكتبات TLS للتطبيقات، حوالي مرة واحدة في السنة. لا تفترض أن البصمات ستبقى ثابتة في بيئة يتم فيها تحديث التطبيقات. في أي حال، يتجاوز فرز الامتدادات هذا، وإضافة خوارزميات التوقيع يحافظ على التفرد.
س: ألا يجعل TLS 1.3 بصمة عملاء TLS أصعب؟
ج: لا، بل يجعلها أسهل! منذ TLS 1.3، أصبح لدى العملاء مجموعة أكبر بكثير من الامتدادات، وعلى الرغم من أن TLS 1.3 يدعم فقط عددًا قليلاً من التشفيرات، إلا أن المتصفحات والتطبيقات لا تزال تدعم الكثير.
## تم إنشاء JA4+ بواسطة
[John Althouse](https://www.linkedin.com/in/johnalthouse/)، مع ملاحظات من:
Josh Atkins
Jeff Atkinson
Joshua Alexander
W.
Joe Martin
Ben Higgins
Andrew Morris
Chris Ueland
Ben Schofield
Matthias Vallentin
Valeriy Vorotyntsev
Timothy Noel
Gary Lipsky
Michael Barbine
ومهندسين يعملون في GreyNoise وHunt وGoogle وExtraHop وF5 وDriftnet وغيرهم.
تواصل مع John Althouse على [email protected] للترخيص والأسئلة.
<sub>JA4 وJA4+ هما علامتان تجاريتان لـ FoxIO, Inc.
حقوق الطبع والنشر (c) 2026، FoxIO</sup>