باحثون من جامعة ميريلاند كجزء من المشروع حاول إنشاء لأتمتة اكتشاف الأساليب المستخدمة للرقابة على الوصول إلى المحتوى. إن محاولة إحصاء الثغرات المحتملة في أنظمة فحص الحزم العميقة (DPI) يدويًا هي عملية صعبة وتستغرق وقتًا طويلاً، ولكن في جنيف حاولوا استخدام لتقييم ميزات DPI، وتحديد أخطاء التنفيذ، وتطوير استراتيجية مثالية لتجاوز الحظر من جانب العميل. كود المشروع بلغة بايثون.
المعدات المستخدمة في حجب DPI لها خاصيتها ، مما يسمح لك بإخفاء الوصول إلى الموارد المحظورة أو تجنب الحظر. على سبيل المثال، في أبسط الحالات، عند تنظيم الحجب من خلال استبدال استجابة وهمية (تستخدمها DPI السلبية)، يكون ذلك كافيًا على جانب العميل رد وهمي تم إرساله بواسطة DPI. إذا كنت تستخدم DPI النشط، فيمكنك محاولة إخفاء حقيقة وصولك إلى موقع محظور عن طريق تعديل معلمات طلب HTTP قليلاً (على سبيل المثال، عن طريق إضافة مسافة إضافية بعد "GET")، أو عن طريق تقسيم بيانات تفاوض اتصال TLS إلى عدة حزم، أو عن طريق تنفيذ هجمات TCB Teardown وTCB Desync. جوهر الهجمات المذكورة هو أن العميل يرسل أولاً حزمة وهمية تحتوي على بيانات أو علامات RST / ACK، والتي لن يتلقاها المضيف المستهدف، لكنه سيلتقط DPI، ويتخذ قرارًا بناءً عليها ولن يحلل الحزمة التالية بطلب حقيقي (على سبيل المثال، في الحزمة الوهمية الأولى يمكنك تحديد SNI مختلف، ولإخفاء هذه الحزمة عن المضيف المستهدف يمكنك تعيين TTL منخفض، بالإضافة إلى مجموع اختباري غير صحيح أو علامات أو رقم تسلسل TCP).
جنيف تطوير طريقة عمل لتجاوز DPI باستخدام أربعة عناصر أساسية للتعامل مع حزم الشبكة - الإسقاط، وتعديل الرؤوس، والتكرار، والتجزئة. لاختيار الاستراتيجية المثلى، يتم استخدام خوارزمية وراثية، والتي تقوم بنمذجة العمليات المشابهة للاختيار الطبيعي من خلال مجموعة عشوائية من الخيارات المختلفة للتلاعب بالحزم. في النهاية، يتم دمج العناصر الأولية الناتجة في "شجرة عمل" تحدد خوارزمية عبور DPI.
تم اختبار عمل جنيف بنجاح لتجاوز أساليب الرقابة المستخدمة في الصين والهند وكازاخستان، بما في ذلك الكشف عن العديد من الثغرات الأمنية الجديدة التي لم تكن معروفة من قبل. في الوقت نفسه، لا تكون جنيف فعالة إلا لتجاوز الحظر القائم على DPI؛ لا فائدة من ذلك عند الحظر عن طريق عناوين IP ولا يمكن القيام بذلك بدون VPN. أثناء التجارب هناك عشرات الاستراتيجيات النموذجية لتجاوز DPI والتي يمكن اختبارها على الفور دون إجراء تحليل كامل، على سبيل المثال:
محرك python3.py --server-port 80 --strategy "[TCP:flags:PA]-duplicate(tamper{TCP:dataofs:replace:10} tamper{TCP:chksum:corrupt},),)-|" —تصحيح أخطاء السجل
2020-01-24 20:54:41 تصحيح الأخطاء:[ENGINE] تم إنشاء المحرك باستخدام الإستراتيجية \/ (المعرف bm3kdw3r) إلى المنفذ 80
2020-01-24 20:54:41 تصحيح الأخطاء:[ENGINE] تكوين قواعد iptables
2020-01-24 20:54:41 تصحيح الأخطاء:[ENGINE] iptables -A OUTPUT -p tcp --sport 80 -j NFQUEUE --queue-num 1
2020-01-24 20:54:41 تصحيح الأخطاء:[ENGINE] iptables -A INPUT -p tcp --dport 80 -j NFQUEUE --queue-num 2
2020-01-24 20:54:41 تصحيح الأخطاء:[ENGINE] iptables -A OUTPUT -p udp --sport 80 -j NFQUEUE --queue-num 1
2020-01-24 20:54:41 تصحيح الأخطاء:[ENGINE] iptables -A INPUT -p udp --dport 80 -j NFQUEUE --queue-num 2
المصدر: opennet.ru
