تحليل مخرجات فحص بروتوكول TLS وفك رموز مجموعات التشفير
عند إجراء عمليات تدقيق أمني للشبكات أو فحص خوادم الويب، تظهر الحاجة الملحة لفهم تفاصيل بروتوكول أمن طبقة النقل (TLS) المستخدمة في تأمين الاتصالات. تتيح أداة "TLS مدقق مجموعة التشفير" تحليل النصوص البرمجية ومخرجات أدوات الفحص دون الحاجة لإجراء اتصال حي بالخادم أو فحص مباشر للمضيف.
يقوم هذا المدقق بتحليل النصوص المدخلة وتفكيكها لتحديد إصدارات البروتوكول ومجموعات التشفير (Cipher Suites) والخوارزميات القديمة أو المهملة التي قد تشكل خطرًا أمنيًا على سلامة البيانات المنقولة.
مدخلات الأداة وحدود المعالجة
تستقبل الأداة النصوص البرمجية المستخرجة من أدوات فحص الشبكات المختلفة. تشمل المدخلات المدعومة ما يلي:
- مخرجات أدوات فحص TLS الشائعة.
- الملخصات الناتجة عن أداة
openssl s_client. - ملخصات تحليل حزم البيانات (Packet-analysis summaries).
- الحقول النصية القصيرة الخاصة برسائل المصافحة مثل ClientHello أو ServerHello.
حدود التنسيق والحجم:
- التنسيق: يجب أن تكون المدخلات على شكل نصوص مقروءة تحتوي على حقول المصافحة أو مخرجات الفحص. لا تدعم الأداة فك تشفير بايتات الحزمة الأولية (Raw binary) أو ملفات التقاط الحزم الكاملة (مثل ملفات pcap).
- الحد الأقصى للحجم: يجب أن يقل النص المدخل عن 200,000 حرف. في حال تجاوز هذا الحد، تظهر رسالة الخطأ: "هذا الملخص كبير بشكل غير عادي. اجعلها أقل من 200000 حرف.".
- حالة المدخلات الفارغة: إذا تم تشغيل التحليل دون إدخال أي نص، تعرض الأداة رسالة الخطأ: "الصق مسح TLS أو ملخص المصافحة أولاً.".
- عدم التعرف على البيانات: في حال عدم وجود أي بيانات متوافقة، تظهر رسالة الخطأ: "لم يتم التعرف على إصدار TLS أو مجموعة التشفير. لصق الماسح الضوئي القابل للقراءة أو حقول المصافحة.".
تصنيف معلمات البروتوكول وأدوارها
تقوم الأداة بتصنيف معلمات بروتوكول TLS التي يتم العثور عليها في النص إلى أدوار محددة توضح كيفية ظهورها أثناء عملية المصافحة:
| الدور | الوصف الفني |
|---|---|
| تم التفاوض | يمثل إصدار البروتوكول أو مجموعة التشفير التي تم الاتفاق عليها نهائيًا بين العميل والخادم لإتمام الاتصال. |
| عرضت | يمثل الخيارات التي أرسلها العميل في رسالة ClientHello كقائمة بالخوارزميات المدعومة. |
| لوحظ | يمثل المعلمات التي تم رصدها أثناء مراقبة حركة مرور الشبكة أو تسجيلات الفحص. |
في حال عدم العثور على أي بيانات ذات صلة بالبروتوكول أو التشفير في النص، تظهر التنبيهات التالية:
- "لم يتم العثور على إصدار البروتوكول في النص المرفق."
- "لم يتم العثور على مجموعة تشفير في النص المقدم."
تقييم مجموعات التشفير والنتائج الأمنية
تخضع كل مجموعة تشفير يتم التعرف عليها لعملية تقييم دقيقة لتحديد مستواها الأمني الحالي. يتم تصنيف المجموعات إلى أربع فئات رئيسية:
- حديث: مجموعات تشفير قوية توفر مستويات أمان عالية وتتوافق مع المعايير الحديثة.
- مراجعة: مجموعات تتطلب تدقيقًا إضافيًا بناءً على سياق الاستخدام أو البروتوكول المصاحب.
- مهمل: خوارزميات قديمة تم التخلي عنها رسميًا بسبب وجود ثغرات أمنية أو ضعف في التصميم.
- غير معروف: مجموعات لا تتوفر بياناتها في قاعدة البيانات المحلية للأداة.
عند تحليل المجموعات، تعرض الأداة نتائج أمنية محددة بناءً على الخوارزميات المكتشفة:
- RC4: "تم إهمال RC4 ويجب عدم التفاوض عليه."
- DES: "DES غير آمن للاستخدام العام لـ TLS."
- 3DES: "يحتوي 3DES على حجم كتلة صغير وتم إهماله لـ TLS."
- تشفير NULL: "تشفير NULL لا يوفر السرية."
- مجموعات EXPORT: "تستخدم مجموعات EXPORT التشفير الضعيف عن عمد وتم إهمالها."
- المجموعات المجهولة (Anonymous): "لا تقوم الأجنحة المجهولة بمصادقة النظير وتكون عرضة للاعتراض."
- MD5: "MD5 غير آمن للاستخدام العام لـ TLS."
- SHA-1: "يستخدم هذا الجناح SHA-1، والذي تم إهماله للاستخدام العام لـ TLS."
- أجنحة CBC: "تعتبر أجنحة CBC قديمة. تفضل مجموعة AEAD مثل AES-GCM أو ChaCha20-Poly1305."
- تبادل مفاتيح RSA الثابت: "لا يوفر تبادل المفاتيح الثابت RSA سرية أمامية."
- CCM-8: "يستخدم CCM-8 علامة مصادقة أقصر ويحتاج إلى مراجعة خاصة بالبروتوكول."
- مجموعات غير معروفة: "هذا الجناح غير موجود في خريطة المجموعة المشتركة المضمنة. تحقق من وثائق التسجيل أو الماسح الضوئي IANA الحالية."
آلية عمل بروتوكول TLS 1.3
يختلف بروتوكول TLS 1.3 جوهريًا عن الإصدارات السابقة في طريقة معالجة معلمات الأمان. في الإصدارات القديمة مثل TLS 1.2، كانت مجموعة التشفير الواحدة تحدد خوارزمية تبادل المفاتيح، وخوارزمية التوقيع الرقمي (المصادقة)، وتشفير السجلات، وتجزئة المصافحة معًا.
أما في بروتوكول TLS 1.3، فقد تم فصل هذه العمليات بالكامل. يتفاوض البروتوكول على تبادل المفاتيح والمصادقة بشكل منفصل تمامًا عن مجموعة التشفير. بناءً على ذلك، تظهر الأداة النتيجة التالية عند رصد هذه المجموعات: "يتفاوض TLS 1.3 مع تبادل المفاتيح والمصادقة بشكل منفصل عن مجموعة التشفير.". لا يمكن للمحلل الأمني استنتاج خوارزمية تبادل المفاتيح (مثل ECDHE) أو المصادقة بمجرد النظر إلى اسم مجموعة التشفير الخاصة بـ TLS 1.3 وحده.
خصوصية البيانات ومعالجتها محليًا
تعتمد الأداة على معالجة البيانات داخل متصفح المستخدم مباشرة. تظل تفاصيل TLS التي يتم لصقها في متصفحك، ولا يقوم نظام BroBroGo بتحميلها أو حفظها على أي خوادم خارجية. يضمن هذا الأسلوب بقاء البيانات الحساسة، مثل مخرجات فحص الشبكة الداخلية، محصورة بالكامل في بيئة العمل المحلية للمستخدم دون أي عمليات نقل عبر الإنترنت.
الأسئلة الشائعة
ما هي تنسيقات الإخراج TLS التي يمكنني لصقها؟
قم بلصق النص من الماسحات الضوئية TLS الشائعة، أو openssl s_client، أو ملخصات تحليل الحزم، أو ملاحظة قصيرة ClientHello أو ServerHello. يتعرف المدقق على أسماء IANA الشائعة والأسماء المستعارة OpenSSL والعديد من معرفات المجموعة السداسية العشرية الشائعة؛ ولا يقوم بفك تشفير بايتات الحزمة الأولية.
لماذا لا تعرض مجموعة تشفير TLS 1.3 RSA أو ECDHE؟
تصف أسماء مجموعة التشفير TLS 1.3 تشفير السجلات وتجزئة المصافحة. يتم التفاوض على تبادل المفاتيح والمصادقة بشكل منفصل، لذا لا يمكن استنتاجهما من اسم المجموعة وحده.
هل تثبت هذه النتيجة أن الخادم آمن؟
لا، فهو يشرح فقط النص الذي قمت بلصقه. فهو لا يتصل بالمضيف أو يتحقق من الشهادة أو يقيس أحجام المفاتيح أو يختبر سلوك الرجوع إلى إصدار أقدم أو يعرض كل مجموعة يقبلها الخادم.