أدوات اختبار تسرب ExpressVPN

[ware_item id=33][/ware_item]

رسم توضيحي لكابل كمبيوتر مُسرب يتم رؤيته من خلال عدسة مكبرة.


تعد أدوات اختبار تسرب ExpressVPN مجموعة موسعة من أدوات Python المصممة لكلا اختبار التسرب اليدوي والآلي لتطبيقات VPN.

تم تطوير الأدوات بواسطة مختبر أبحاث الخصوصية في ExpressVPN ، وقد تم تصميم الأدوات مبدئيًا لغرضين:

  • توفير اختبار انحدار قوي وتلقائي لتطبيقات ExpressVPN
  • تسهيل تحقيقات اختبار التسرب لتعزيز هذه التطبيقات بشكل أكبر

سرعان ما أدركنا أن هذه الأدوات يمكن أن تكون في الواقع مفيدة لقطاع VPN الأوسع. لذلك قررنا توفيرها مفتوحة المصدر بالكامل بموجب ترخيص MIT.

نأمل من خلال القيام بذلك أن نساعد في توفير تجربة عبر الإنترنت أكثر خصوصية وأمانًا لجميع مستخدمي VPN من خلال:

  • إعطاء المستخدمين والجهات الخارجية طريقة مستقلة للتحقق من جودة شبكات VPN وتقييم مخاطر الخصوصية والأمن الخاصة بهم ؛
  • إنشاء معيار أعلى للحماية من تسرب صناعة VPN بأكملها ؛ و
  • جمع الخبرات من الصناعة كلها حول اختبار التسرب

الشروع في استخدام الأدوات

يمكن العثور على الأدوات على GitHub على: https://github.com/expressvpn/expressvpn_leak_testing.

للبدء ، اتبع الإرشادات الموجودة في ملف README.md. بينما نقدم نظرة عامة على الأدوات أدناه ، ينبغي دائمًا اعتبار مستودع جيثب مصدر الحقيقة الوحيد للوثائق المتعلقة بالأدوات.

لاحظ أنه لاتباع تعليمات الاختبار المضمنة في دراسات الحالة الخاصة بمختبر أبحاث الخصوصية ، ستحتاج إلى تثبيت أدوات التسرب وفقًا للوثائق الموجودة في GitHub. من المفترض أنه كلما قمت بإجراء أي من دراسات الحالة ، أدوات الدليل الجذر يشير إلى الموقع الذي قمت فيه باستنساخ مستودع git أعلاه.

نظرة عامة على الأدوات

نحن نستخدم بيثون

تتم كتابة الأدوات بشكل أساسي في Python ، مع بعض الأدوات المساعدة بلغات أخرى حسب الضرورة. لقد اخترنا بيثون لعدة أسباب:

  • إنها منصة مشتركة ومدعومة بالكامل في معظم الحالات
  • وهي معروفة لدى نسبة كبيرة من المطورين وبالتالي يمكن الوصول إليها بسهولة
  • إنه سريع التطوير - ليس لدينا متطلبات أداء لإطار الاختبار
  • إنها لغة معبرة تتيح لنا كتابة التعليمات البرمجية القابلة للقراءة بسهولة

لاحظ أننا نستخدم Python 3 ، لأن هذا أصبح بسرعة المعيار الفعلي.

إنه يشبه اختبار الوحدة

تم تصميم الأدوات لتعمل مثل مجموعة اختبار الوحدة. يتم استخدام برنامج نصي واحد لإطلاق المجموعة التي تقوم بعد ذلك بإجراء سلسلة من الاختبارات. يقوم كل اختبار بالتحقق من وجود نوع معين من التسرب في ظل ظروف محددة ، على سبيل المثال ، في ظل ظروف معينة للشبكة ، ثم يُبلغ عن مرور أو فشل أو خطأ..

يتوافق الاختبار أو حالة الاختبار تقريبًا مع ملف Python واحد. تم تصميم مجموعة الاختبار لتكون مألوفة للمطورين الذين اعتادوا العمل مع مجموعات اختبار الوحدات ، لذلك يتبع كل اختبار النمط المألوف للإعداد () ، والاختبار () ، والتقليص ().

تم تصميم حالات الاختبار لتكون عامة قدر الإمكان. يمكن تشغيل حالات الاختبار باستخدام تكوينات VPN مختلفة وتكوينات شبكة مختلفة وما إلى ذلك. عند تشغيلها ، يتم تزويدهم بتكوين يحدد كيفية سيرهم في هذه الجولة المعينة من الاختبار. يتم تمرير ملف التكوين إلى مجموعة الاختبار التي تسرد جميع الاختبارات لتشغيلها وتكويناتها.

مثال على كيفية إجراء الاختبارات هو تنفيذ الأمر التالي من دليل جذر الأدوات:

./run_tests.sh -c configs / case_studies / vanilla_leaks.py

تكوينات الجهاز والشبكة

تم تصميم المجموعة لتكون قادرة على إجراء الاختبارات على التكوينات التعسفية للأجهزة والشبكات. لقد أدركنا منذ البداية أن بعض جوانب سلوك VPN ستحتاج إلى أكثر من جهاز واحد للاختبار ، لذلك قمنا بتصميم مجموعة الاختبار لتمكين هذا من البداية.

يشار إلى الجهاز الذي يتم تشغيل الاختبارات عليه باسم اختبار الاوركسترا. تتم الإشارة ببساطة إلى جميع الأجهزة الأخرى باسم أجهزة الاختبار.

أبسط نوع من الاختبارات يتم تشغيله على جهاز واحد (اختبارات جهاز واحد) واختبار التسريبات مباشرة على هذا الجهاز. على سبيل المثال ، يمكن للمرء تشغيل فئة واسعة من اختبارات تسرب Windows مباشرة على جهاز يعمل بنظام Windows. في هذه الحالة ، يعد أوركسترا الاختبار أيضًا جهاز اختبار. قد تتضمن الاختبارات الأكثر تعقيدًا (اختبارات متعددة الأجهزة) جهاز اختبار يقوم بتشغيل VPN وجهاز توجيه وجهاز التقاط حزم.

أتمتة

تم تصميم مجموعة الاختبار لدعم أتمتة الاختبارات بشكل كامل. ومع ذلك ، من خارج الصندوق ، سوف تتطلب الاختبارات دائمًا بعض التفاعل اليدوي. كلما كان التفاعل اليدوي مطلوبًا ، فإن مجموعة الاختبار ستحث المستخدم بوضوح وتعلمه بما يجب القيام به.

أحد أصعب أجزاء اختبارات التشغيل الآلي هو التحكم في تطبيقات VPN. في الواقع ، بالنسبة للعديد من الاختبارات ، هذا هو الجزء الوحيد من اللغز الذي لا يتم تشغيله تلقائيًا. ليس لدينا حاليًا أي خطط لتقديم دعم لأتمتة التحكم في تطبيقات VPN إلى المستودع. ومع ذلك ، فإن إضافة هذا الدعم تدعمه بنية الجناح.

لاحظ أنه داخليًا ، قمنا بتنفيذ الأتمتة الكاملة للتطبيق الخاص بنا لتسهيل اختبار التكامل المستمر. لا نخطط لإتاحة أدوات التشغيل الآلي هذه كجزء من مستودع المصادر المفتوحة.

إعداد الأدوات

وترد تعليمات مفصلة حول كيفية إعداد أجهزة الاختبار في GitHub repo. نقدم فقط نظرة عامة على ما يمكن توقعه عند إعداد الأجهزة.

مجموعة الاختبار مدعومة على أجهزة Linux و macOS و Windows (على سبيل المثال ، يمكن تثبيت مجموعة Python وتشغيلها مباشرة على هذه الأجهزة). يتم دعم الأجهزة المحمولة أيضًا بواسطة الأدوات ، ولكن لن يتم تشغيل المجموعة نفسها مباشرة على هذه الأجهزة.

نوصي باستخدام الأجهزة الظاهرية (VM) قدر الإمكان ، خاصةً لاختبارات الأجهزة الفردية. تقدم VMs العديد من المزايا:

  • سهلة لإنشاء وتكوين واجهات الشبكة الجديدة
  • يسمح لك بإبقاء الجهاز المضيف مضيفًا للعديد من برامج الطرف الثالث التي تتطلبها الاختبارات
  • يعد التقاط حركة المرور من جهاز VM أبسط من التقاط حركة المرور التي تترك جهازًا حقيقيًا حقيقيًا
  • سهلة الإعداد المسبق للقطات والعودة عند الحاجة

لإجراء اختبارات متعمقة جادة ، نوصي دائمًا بإجراء الاختبارات على أجهزة فعلية حقيقية أيضًا ، لاستبعاد أي اختلافات محتملة بين الأجهزة الافتراضية والأجهزة الحقيقية.

لاحظ أن معظم الاختبارات تحتاج إلى أذونات الجذر (المسؤول) لتشغيلها ، وبالتالي لتبسيط الأشياء ، سيتم تشغيل المجموعة بالكامل كجذر.

تعرّف على المزيد حول سيناريوهات التسرب التي تختبرها الأدوات

توفر دراسات الحالة التالية مزيدًا من المعلومات حول بعض سيناريوهات التسرب التي تختبرها هذه الأدوات ، وتشرح كيف يمكن أن تؤثر على خصوصيتك وأمانك ، بالإضافة إلى تحديد كيفية استخدام الأداة ذات الصلة:

  • دراسة حالة رقم 1: تسريبات "الفانيلا"
  • دراسة الحالة 2: تسريبات WebRTC
  • دراسة حالة 3: تسرب شبكة الانتقال
  • دراسة حالة رقم 4: تسرب خادم VPN غير قابل للوصول
  • دراسة حالة رقم 5: تسريبات تعطل عملية VPN

المساهمة في الأدوات

يسعدنا تلقي المساهمات في الأدوات ، سواء كان ذلك لإصلاحات الأخطاء أو اقتراحات التحسينات أو حالات اختبار جديدة تمامًا. يمكنك تقديم مساهمات عبر طلبات السحب في جيثب.

اتصل بنا بخصوص الأدوات

يمكنك الاتصال بنا بخصوص الأدوات الموجودة على [email protected]

لاحظ أن الأدوات موجودة حاليًا ألفا الدولة وسوف تتغير على الأرجح في كثير من الأحيان. ومع ذلك ، سنسعى لضمان أن الأدوات تكون دائمًا في حالة قابلة للاستخدام.

أدوات اختبار تسرب ExpressVPN
admin Author
Sorry! The Author has not filled his profile.