
ja4 v1.0.0
JA4+ هي مجموعة من معايير بصمة الشبكة
بصمة الشبكة JA4+™
JA4+ هي مجموعة من طرق بصمة الشبكة من FoxIO سهلة الاستخدام وسهلة المشاركة. هذه الطرق قابلة للقراءة البشرية والآلية لتسهيل الصيد التهديدي والتحليل بشكل أكثر فعالية. تشمل حالات الاستخدام لهذه البصمات فحص الجهات الخبيثة، كشف البرمجيات الخبيثة، منع اختطاف الجلسات، أتمتة الامتثال، تتبع المواقع، كشف هجمات الحرمان من الخدمة، تجميع الجهات الخبيثة، كشف الصدف العكسية، وغيرها الكثير.
للحصول على شرح سريع لـ JA4+ واستخدامه كمرجع أثناء التحليل، راجع:
ورقة الغش JA4+
للتفاصيل المتعمقة، يرجى قراءة مدوناتنا حول كيفية عمل JA4+، ولماذا يعمل، وأمثلة على ما يمكن كشفه/منعه به:
بصمة الشبكة JA4+ (JA4/S/H/L/X/SSH)
بصمة TCP JA4T (JA4T/TS/TScan)
التحقيق في Surfshark و NordVPN باستخدام JA4T (JA4T)
إذا كنت تحب JA4+، فكر في شراء تي شيرت أو هودي:
قمصان وهوديز وملصقات JA4+
جدول المحتويات
- الطرق الحالية وتفاصيل التنفيذ
- التطبيقات
- الأدوات التي تدعم JA4+
- أمثلة
- الإضافات
- الملفات الثنائية
- قاعدة البيانات
- عملية الإصدار
- تفاصيل JA4+
- الترخيص
- أسئلة وأجوبة
- تم إنشاء JA4+ بواسطة
الطرق الحالية وتفاصيل التنفيذ
| الاسم الكامل | الاسم المختصر | الوصف |
|---|---|---|
| JA4 | JA4 | بصمة عميل TLS |
| JA4Server | JA4S | بصمة استجابة خادم TLS / الجلسة |
| JA4HTTP | JA4H | بصمة عميل HTTP |
| JA4Latency | JA4L | قياس زمن الانتقال من العميل إلى الخادم / المسافة الضوئية |
| JA4LatencyServer | JA4LS | قياس زمن الانتقال من الخادم إلى العميل / المسافة الضوئية |
| JA4X509 | JA4X | بصمة شهادة TLS X509 |
| JA4SSH | JA4SSH | بصمة حركة SSH |
| JA4TCP | JA4T | بصمة عميل TCP |
| JA4TCPServer | JA4TS | بصمة استجابة خادم TCP |
| JA4TCPScan | JA4TScan | ماسح بصمة TCP نشط |
| JA4DHCP | JA4D | بصمة DHCP |
| JA4DHCPv6 | JA4D6 | بصمة DHCPv6 |
يمكن استخدام الاسم الكامل أو المختصر بالتبادل. طرق JA4+ إضافية قيد التطوير...
لفهم كيفية قراءة بصمات JA4+، راجع التفاصيل الفنية
التطبيقات
يتضمن هذا المستودع JA4+ في
الأدوات التي تدعم JA4+
| الأداة/البائع | دعم JA4+ |
|---|---|
| Wireshark | JA4+ |
| Zeek | JA4+ |
| Arkime | JA4+ |
| Suricata | JA4+ (قيد التطوير) |
| GreyNoise | JA4+ |
| Hunt | JA4+ |
| Driftnet | JA4+ |
| GoLang | JA4X |
| nzyme | JA4+ (قيد التطوير) |
| CapLoader من Netresec | JA4+ (قيد التطوير) |
| NetworkMiner من Netresec | JA4+ (قيد التطوير) |
| NGINX | JA4+ |
| F5 BIG-IP | JA4+ |
| nfdump | JA4+ |
| ntopng من ntop | JA4+ |
| nDPI من ntop | JA4 |
| Team Cymru | JA4+ |
| NetQuest | JA4+ |
| Censys | JA4+ |
| Netryx من Exploit.org | JA4 و JA4H |
| Cloudflare | JA4 |
| Fastly | JA4+ (اطلبها) |
| MISP | JA4+ |
| OCSF | JA4+ |
| Vercel | JA4 |
| Seika | JA4+ |
| VirusTotal | JA4 |
| AWS Cloudfront | JA4 |
| ELLIO | JA4+ |
| Webscout | JA4+ |
| Rama | JA4 و JA4H |
| Vectra | JA4+ |
| AWS WAF | JA4 |
| Tacticly | JA4+ |
| Palo Alto Networks | JA4+ |
| ngrok | JA4 |
| Vertex Synapse | JA4 و JA4S |
| Google Cloud Armor | JA4 |
| Fortinet | JA4 |
| AppOmni | JA4+ |
| IntelliGenesis | JA4+ |
| HAProxy | إضافات JA4 و JA4H من OXL |
| SentinelOne | JA4 |
| Akamai | JA4 |
| Alibaba Cloud | JA4 |
| Huawei Cloud | JA4 |
| Google Cloud LBs | JA4 |
| eSentire | JA4+ |
| Microsoft Azure Front Door CDN | JA4 |
| Synapse من Gen0Sec | JA4X |
| Zscaler | JA4 |
| ExtraHop | JA4+ |
| Validin | JA4+ |
| Auth0 | JA4 |
| Security Onion | JA4+ |
مع المزيد ليتم الإعلان عنها...
أمثلة
| التطبيق | بصمات JA4+ |
|---|---|
| Chrome | JA4=t13d1516h2_8daaf6152771_02713d6af862 (TCP) JA4=q13d0312h3_55b375c5d22e_06cda9e17597 (QUIC) JA4=t13d1517h2_8daaf6152771_b0da82dd1658 (مفتاح مشترك) JA4=t13d1517h2_8daaf6152771_b1ff8ab2d16f (بدون مفتاح) |
| أداة تحميل برمجية IcedID | JA4H=ge11cn020000_9ed1ff1f7b03_cd8dafe26982 |
| برمجية خبيثة IcedID | JA4=t13d201100_2b729b4bf6f3_9e7b989ebec8 JA4S=t120300_c030_5e2616a54c73 |
| برمجية خبيثة Sliver | JA4=t13d190900_9dc949149365_97f8aa674fd9 JA4S=t130200_1301_a56c5b993250 JA4X=000000000000_4f24da86fad6_bf0f0589fc03 JA4X=000000000000_7c32fa18c13e_bf0f0589fc03 |
| Cobalt Strike | JA4H=ge11cn060000_4e59edc1297a_4da5efaf0cbd JA4X=2166164053c1_2166164053c1_30d204a01551 |
| SoftEther VPN | JA4=t13d880900_fcb5b95cb75a_b0d3b4ac2a14 (عميل) JA4S=t130200_1302_a56c5b993250 JA4X=d55f458d5a6c_d55f458d5a6c_0fc8c171b6ae |
| Qakbot | JA4X=2bab15409345_af684594efb4_000000000000 |
| Pikabot | JA4X=1a59268f55e5_1a59268f55e5_795797892f9c |
| Darkgate | JA4H=po10nn060000_cdb958d032b0 |
| LummaC2 | JA4H=po11nn050000_d253db9d024b |
| Evilginx | JA4=t13d191000_9dc949149365_e7c285222651 |
| صدفة SSH عكسية | JA4SSH=c76s76_c71s59_c0s70 |
| ويندوز 11 | JA4T=64240_2-1-3-1-1-4_1460_8 |
| طابعة Epson | JA4TScan=28960_2-4-8-1-3_1460_3_1-4-8-16 |
| ويندوز 11 | JA4D=disco0000in_61-12-60-55_1-3-6-15-31-33-43-44-46-47-119-121-249-252 |
| جهاز استقبال Sony | JA4D6=solct0010nn_8-1-3-6_24-23 |
لمزيد من الأمثلة، راجع ja4plus-mapping.csv
لقاعدة بيانات كاملة، راجع ja4db.com
الإضافات
الملفات الثنائية
يتم بناء الملفات الثنائية لـ JA4 من تطبيق رست للمجموعة. لضمان الوظائف الكاملة، يلزم وجود tshark (الإصدار 4.0.6 أو أحدث). قم بتنزيل أحدث ملفات JA4 الثنائية من صفحة الإصدارات. تتبع إصدارات تطبيق رست التحكم الدلالي في الإصدارات ويتم تمييزها باسم vX.Y.Z، على عكس إصدارات إضافات Wireshark.
أصول الإصدار
يتم تسمية أصول الإصدار حسب المكون والمنصة:
- رست:
ja4-vX.Y.Z-<architecture>-<platform>.tar.gz(مثال:ja4-v0.18.5-x86_64-unknown-linux-musl.tar.gz)
- بايثون:
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:
sudo apt install tshark
macOS
- قم بتنزيل وتثبيت Wireshark (يتضمن
tshark). - أضف
tsharkإلى مسارPATHالخاص بك:sudo ln -s /Applications/Wireshark.app/Contents/MacOS/tshark /usr/local/bin/tshark
ويندوز
- قم بتنزيل وتثبيت Wireshark (يتضمن
tshark.exe). - حدد موقع
tshark.exe(عادة فيC:\Program Files\Wireshark\tshark.exe). - أضف المجلد الذي يحتوي على
tshark.exeإلى مسار النظامPATH:- افتح خصائص النظام > متغيرات البيئة > تحرير المسار.
تشغيل JA4+
بمجرد توفر tshark والملفات الثنائية لـ JA4+، قم بتشغيل JA4+ باستخدام الأمر التالي:
- على لينكس و macOS:
./ja4 [options] [pcap] - على ويندوز، افتح موجه الأوامر وقم بتشغيل:
ja4 [options] [pcap]
لمزيد من التفاصيل حول تشغيل JA4+ وإعداداته المتقدمة، راجع ملف README الخاص بتطبيق رست، حيث يوفر معلومات حول ميزاته وسيناريوهات الاستخدام وخيارات التخصيص.
قاعدة البيانات
قاعدة البيانات الرسمية لبصمات JA4+ والتطبيقات المرتبطة بها ومنطق الكشف الموصى به موجودة هنا: ja4db.com
هذه القاعدة بيانات قيد التطوير النشط للغاية. توقع طلبات حجم أكبر من تركيبات البصمات والبيانات خلال الأشهر القليلة القادمة.
نموذج ja4plus-mapping.csv متاح أيضًا للرجوع السريع.
عملية الإصدار
يستخدم JA4+ إجراءات GitHub لأتمتة الإصدارات لمكوناته رست، بايثون، Wireshark، و Zeek. يتم إنشاء الإصدارات عن طريق دفع علامة (tag) ببادئة محددة إلى المستودع، باستثناء Zeek الذي يستخدم علامة إصدار دلالي خالص (semver). يتم تسمية أصول الإصدار على النحو التالي:
- رست:
ja4-vX.Y.Z-<architecture>-<platform>.tar.gz - بايثون:
ja4-python-vX.Y.Z.tar.gz - Wireshark:
ja4.so.linux،ja4.so.macos،ja4.dll(في إصدار باسم مثلwireshark-vX.Y.Z)
سير العمل التالي متاح:
-
إصدار رست:
ادفع علامة تبدأ بـrust-، مثلrust-v0.18.5، لتشغيل إصدار الملفات الثنائية لرست. سيقوم سير العمل ببناء وتحميل أصول الإصدار تلقائيًا. -
إصدار بايثون:
ادفع علامة تبدأ بـpython-، مثلpython-v0.1.0، لتشغيل إصدار تطبيق بايثون. سيقوم سير العمل بإنشاء ملف مضغوط للدليلpython/ونشره كأصل إصدار. -
إصدار إضافة Wireshark:
ادفع علامة تبدأ بـwireshark-، مثلwireshark-v0.1.1، لتشغيل إصدار الملفات الثنائية لإضافة Wireshark لجميع المنصات المدعومة. -
إصدار Zeek:
ادفع علامة تكون إصدارًا دلاليًا خالصًا (مثلv1.2.3)، بدون بادئة، لتشغيل إصدار Zeek. سيؤدي هذا تلقائيًا إلى إنشاء إصدار على packages.zeek.org.
كيفية إنشاء إصدار
-
تأكد من دمج تغييراتك في فرع
main. -
قم بإنشاء ودفع علامة للمكون الذي تريد إصداره:
- بالنسبة لرست، بايثون، أو Wireshark، استخدم البادئة المناسبة (مثل
rust-v0.18.5،python-v0.1.0،wireshark-v0.1.1). - بالنسبة لـ Zeek، استخدم علامة إصدار دلالي خالص (مثل
v1.2.3).
مثال:
git tag v1.2.3 git push origin v1.2.3(لـ Zeek)
أو، لرست:
git tag rust-v0.18.5 git push origin rust-v0.18.5 - بالنسبة لرست، بايثون، أو Wireshark، استخدم البادئة المناسبة (مثل
-
سيعمل سير العمل المقابل في GitHub تلقائيًا وسينشر أصول الإصدار. بالنسبة لـ Zeek، سيظهر الإصدار على packages.zeek.org.
تفاصيل JA4+
JA4+ هي مجموعة من بصمات الشبكة البسيطة والقوية لعدة بروتوكولات، وهي قابلة للقراءة البشرية والآلية، مما يسهل تحسين الصيد التهديدي وتحليل الأمان. إذا كنت غير معتاد على بصمة الشبكة، أشجعك على قراءة مدوناتي التي أصدرت فيها JA3 هنا، و JARM هنا، وهذه المدونة الممتازة من Fastly حول حالة بصمة TLS والتي توضح تاريخ ما سبق مع مشاكلهم. يجلب 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+ وأوصافها، راجع الطرق الحالية وتفاصيل التنفيذ.
لفهم كيفية قراءة بصمات JA4+، راجع التفاصيل الفنية.
الترخيص
JA4: بصمة عميل TLS هو مفتوح المصدر، رخصة BSD 3-Clause، مثل JA3. ليس لدى FoxIO مطالبات براءة اختراع ولا تخطط لمتابعة تغطية براءة اختراع لبصمة عميل TLS JA4. يسمح هذا لأي شركة أو أداة تستخدم حاليًا JA3 بالترقية فورًا إلى JA4 دون تأخير.
JA4S، JA4L، JA4LS، JA4H، JA4X، JA4SSH، JA4T، JA4TS، JA4TScan وجميع الإضافات المستقبلية (يشار إليها مجتمعة باسم JA4+) مرخصة بموجب رخصة FoxIO 1.1. هذه الرخصة متسامحة لمعظم حالات الاستخدام، بما في ذلك الأغراض الأكاديمية والتجارية الداخلية، ولكنها ليست متسامحة للربح التجاري. إذا أرادت شركة، على سبيل المثال، استخدام JA4+ داخليًا للمساعدة في تأمين شركتها الخاصة، فهذا مسموح به. إذا أراد بائع، على سبيل المثال، بيع بصمة JA4+ كجزء من عرض منتجه، فسيحتاج إلى طلب ترخيص OEM منا.
جميع طرق JA4+ معلقة براءات الاختراع.
JA4+ هي علامة تجارية لـ FoxIO
يمكن تطبيق JA4+ في الأدوات مفتوحة المصدر، راجع الأسئلة الشائعة حول الترخيص للتفاصيل.
يسمح لنا هذا الترخيص بتقديم JA4+ للعالم بطريقة مفتوحة وقابلة للاستخدام فورًا، ولكنه يوفر لنا أيضًا طريقة لتمويل الدعم المستمر، والبحث في طرق جديدة، وتطوير قاعدة بيانات JA4+. نريد أن تتاح للجميع القدرة على استخدام JA4+ ونحن سعداء بالعمل مع البائعين والمشاريع مفتوحة المصدر للمساعدة في تحقيق ذلك.
أسئلة وأجوبة
س: لماذا تقوم بفرز التشفيرات؟ ألا يهم الترتيب؟
ج: نعم يهم، ولكن في بحثنا وجدنا أن التطبيقات والمكتبات تختار قائمة تشفيرات فريدة أكثر من الترتيب الفريد. كما أن هذا يقلل من فعالية "تقزم التشفير"، وهي تكتيك لتوزيع ترتيب التشفير بشكل عشوائي لمنع كشف JA3.
س: لماذا تقوم بفرز الإضافات؟
ج: في وقت سابق من عام 2023، قامت Google بتحديث متصفحات Chromium لتوزيع ترتيب إضافاتها بشكل عشوائي. تمامًا مثل تقزم التشفير، كان هذا تكتيكًا لمنع كشف JA3 و "جعل نظام TLS البيئي أكثر قوة في مواجهة التغييرات." كانت Google قلقة من أن مطوري الخوادم سيفترضون أن بصمة Chrome لن تتغير أبدًا وينتهي بهم الأمر ببناء منطق حولها، مما سيسبب مشاكل كلما ذهبت Google لتحديث Chrome.
لذلك أريد أن أوضح هذا: ستتغير بصمات JA4 مع تحديث مكتبات TLS للتطبيق، حوالي مرة واحدة في السنة. لا تفترض أن البصمات ستبقى ثابتة في بيئة حيث يتم تحديث التطبيقات. على أي حال، فإن فرز الإضافات يتجاوز هذا وإضافة خوارزميات التوقيع يحافظ على التفرد.
س: ألا يجعل TLS 1.3 بصمة عملاء TLS أصعب؟
ج: لا، بل يجعلها أسهل! منذ TLS 1.3، أصبح لدى العملاء مجموعة أكبر بكثير من الإضافات، وعلى الرغم من أن TLS1.3 يدعم فقط بضع تشفيرات، إلا أن المتصفحات والتطبيقات لا تزال تدعم العديد منها.
تم إنشاء JA4+ بواسطة
John Althouse، مع ملاحظات من:
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] للترخيص والاستفسارات.
JA4 و JA4+ هما علامتان تجاريتان لـ FoxIO, Inc.
حقوق الطبع والنشر © 2025، FoxIO