
ja4 v1.0.1
JA4+ هي مجموعة من معايير بصمة الشبكة
بصمة الشبكة JA4+™
JA4+ هي مجموعة من طرق بصمة الشبكة من FoxIO وهي سهلة الاستخدام وسهلة المشاركة. هذه الطرق قابلة للقراءة من قبل البشر والآلات على حد سواء لتسهيل البحث والتحليل الأكثر فعالية للتهديدات. تشمل حالات الاستخدام لهذه البصمات المسح عن الجهات الفاعلة المهددة، واكتشاف البرمجيات الخبيثة، ومنع اختطاف الجلسات، وأتمتة الامتثال، وتتبع المواقع، واكتشاف هجمات حجب الخدمة الموزعة (DDoS)، وتجميع الجهات الفاعلة المهددة، واكتشاف الصدف العكسي، وغيرها الكثير.
للحصول على شرح سريع حول JA4+ واستخدامه كمرجع أثناء التحليل، انظر:
ورقة الغش JA4+
للحصول على تفاصيل متعمقة، يرجى قراءة مدوناتنا حول كيفية عمل JA4+، ولماذا يعمل، وأمثلة على ما يمكن اكتشافه/منعه باستخدامه:
بصمة الشبكة JA4+ (JA4/S/H/L/X/SSH)
JA4T: بصمة TCP (JA4T/TS/TScan)
التحقيق في Surfshark وNordVPN باستخدام JA4T (JA4T)
JA4D وJA4D6: بصمة DHCP (JA4D/6)
إذا كنت تحب JA4+، ففكر في الحصول على قميص أو هودي:
قمصان وهوديات وملصقات JA4+
جدول المحتويات
- الطرق الحالية وتفاصيل التنفيذ
- التنفيذات
- الأدوات التي تدعم JA4+
- أمثلة
- الإضافات
- الملفات الثنائية
- قاعدة البيانات
- عملية الإصدار
- تفاصيل JA4+
- الترخيص
- الأسئلة الشائعة
- تم إنشاء JA4+ بواسطة
الطرق الحالية وتفاصيل التنفيذ
| الاسم الكامل | الاسم المختصر | الوصف |
|---|---|---|
| JA4 | JA4 | بصمة عميل TLS |
| JA4Server | JA4S | بصمة استجابة خادم TLS / الجلسة |
| JA4HTTP | JA4H | بصمة عميل HTTP |
| JA4Latency | JA4L | قياس زمن الاستجابة من العميل إلى الخادم / مسافة الضوء |
| JA4LatencyServer | JA4LS | قياس زمن الاستجابة من الخادم إلى العميل / مسافة الضوء |
| JA4X509 | JA4X | بصمة شهادة X509 TLS |
| JA4SSH | JA4SSH | بصمة حركة مرور SSH |
| JA4TCP | JA4T | بصمة عميل TCP |
| JA4TCPServer | JA4TS | بصمة استجابة خادم TCP |
| JA4TCPScan | JA4TScan | ماسح بصمة TCP النشط |
| JA4DHCP | JA4D | بصمة DHCP |
| JA4DHCPv6 | JA4D6 | بصمة DHCPv6 |
| JA4NTP | JA4N | بصمة NTP |
| JA4Scan-TLS | JA4Scan-TLS | ماسح بصمة خادم TLS النشط |
| JA4Scan-QUIC | JA4Scan-QUIC | ماسح بصمة خادم QUIC النشط |
يمكن استخدام الاسم الكامل أو المختصر بالتبادل. طرق JA4+ إضافية قيد التطوير...
لفهم كيفية قراءة بصمات JA4+، انظر التفاصيل الفنية
التنفيذات
يتضمن هذا المستودع JA4+ في
الأدوات التي تدعم JA4+
| الأداة/البائع | دعم JA4+ |
|---|---|
| Wireshark | JA4+ |
| Zeek | JA4+ |
| Arkime | JA4+ (أداتنا الموصى بها مفتوحة المصدر لـ JA4+) |
| Suricata | JA4+ (قيد التطوير) |
| GreyNoise | JA4+ |
| Hunt | JA4+ |
| Driftnet | JA4+ |
| GoLang (1) | JA4X |
| GoLang (2) | JA4 |
| 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+ |
| bunny.net | JA4 |
| ENEA | JA4+ |
| F5 Distributed Cloud Services | JA4+ |
مع المزيد ليتم الإعلان عنه...
أمثلة
| التطبيق | بصمات JA4+ |
|---|---|
| Chrome | JA4=t13d1517h2_8daaf6152771_cb7bf5808d99 (TCP) JA4=q13d0312h3_55b375c5d22e_178839b6cec1 (QUIC) |
| أداة إسقاط برمجية 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:```sh
sudo apt install tshark
#### macOS
1. [تنزيل](https://www.wireshark.org/download.html) وتثبيت Wireshark (يتضمن `tshark`).
2. أضف `tshark` إلى `PATH` الخاص بك: ```sh
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: ```sh
./ja4 [options] [pcap]
- على نظام ويندوز، افتح موجه الأوامر وقم بتشغيل: ```cmd
ja4 [options] [pcap]
لمزيد من التفاصيل حول تشغيل JA4+ وإعداداته المتقدمة، راجع README تنفيذ Rust، الذي يوفر معلومات حول ميزاته وسيناريوهات استخدامه وخيارات التخصيص.
قاعدة البيانات
قاعدة البيانات الرسمية لـ JA4+ لبصمات الأصابع والتطبيقات المرتبطة بها ومنطق الكشف الموصى به موجودة هنا: ja4db.com
هذه القاعدة قيد تطوير نشط للغاية. توقع زيادات هائلة في عدد مجموعات البصمات والبيانات خلال الأشهر القليلة القادمة.
يتوفر أيضًا نموذج ja4plus-mapping.csv للرجوع إليه بسرعة.
عملية الإصدار
يستخدم 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
- بالنسبة لـ Rust أو Python أو Wireshark، استخدم البادئة المناسبة (مثل
(لـ Zeek)
أو، لـ Rust: ```sh git tag rust-v0.18.5 git push origin rust-v0.18.5
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>