ابزار تست نشت ExpressVPN

[ware_item id=33][/ware_item]

تصویری از کابل رایانه نشتی که از طریق یک ذره بین مشاهده می شود.


ابزار تست Leak Test ExpressVPN مجموعه گسترده ای از ابزارهای پایتون است که برای تست نشت دستی و خودکار برنامه های VPN طراحی شده است..

ابداع شده توسط آزمایشگاه تحقیق حریم خصوصی ExpressVPN ، ابتدا این ابزارها به دو هدف ساخته شده اند:

  • ارائه تست رگرسیون خودکار و قوی برای برنامه های ExpressVPN
  • تسهیل تحقیقات آزمایش نشت برای تقویت بیشتر این برنامه ها

خیلی زود متوجه شدیم که این ابزارها در واقع می توانند برای صنعت گسترده تر VPN مفید باشند. بنابراین تصمیم گرفتیم که آنها را با مجوز MIT از منبع آزاد کاملاً در دسترس قرار دهیم.

ما امیدواریم که با انجام این کار بتوانیم یک تجربه آنلاین خصوصی تر و ایمن تر برای همه کاربران VPN ایجاد کنیم:

  • دادن به کاربران و اشخاص ثالث یک روش مستقل برای بررسی کیفیت VPN ها و ارزیابی خطرات امنیتی و امنیتی شخصی آنها.
  • ایجاد معیار بالاتر برای محافظت در برابر نشت برای کل صنعت VPN. و
  • جمع آوری تخصص از کل صنعت در مورد آزمایش نشت

شروع به کار با ابزارها

ابزارهای موجود در GitHub را می توانید در اینجا مشاهده کنید: https://github.com/expressvpn/expressvpn_leak_testing.

برای شروع ، دستورالعمل های موجود در پرونده README.md را دنبال کنید. در حالی که ما یک ابزار کلی در مورد ابزارهای زیر ارائه می دهیم ، مخزن GitHub باید همیشه منبع واحد حقیقت برای اسناد مربوط به ابزارها باشد..

توجه داشته باشید که برای پیروی از دستورالعمل های آزمایش شامل در مطالعات موردی آزمایشگاه حریم خصوصی ، باید ابزارهای نشتی را مطابق مستندات موجود در GitHub نصب کنید. فرض بر این است که هر زمان که شما هر یک از مطالعات موردی را اجرا کردید ، دایرکتوری ریشه ابزار اشاره به مکانی است که شما مخزن git فوق را کلون کرده اید.

مرور اجمالی ابزارها

ما از پایتون استفاده می کنیم

این ابزارها به طور عمده در پایتون نوشته شده است ، در صورت لزوم چند ابزار یاور در زبان های دیگر. ما پایتون را به چند دلیل انتخاب کردیم:

  • این کراس پلتفرم است و در بیشتر موارد خارج از کادر پشتیبانی می شود
  • این برای درصد زیادی از توسعه دهندگان به خوبی شناخته شده است و بنابراین به راحتی در دسترس است
  • توسعه سریع است - ما هیچ الزامات عملکردی برای یک چارچوب آزمایش نداریم
  • این یک زبان رسا است که به ما امکان می دهد کدی را که به راحتی قابل خواندن است بنویسیم

توجه داشته باشید که ما از پایتون 3 استفاده می کنیم ، زیرا این استاندارد به سرعت در حال تبدیل شدن به استاندارد de facto است.

مثل تست واحد است

ابزارها به گونه ای طراحی شده اند که مانند یک مجموعه تست واحد اجرا شوند. برای راه اندازی مجموعه از یک اسکریپت منفرد استفاده می شود که پس از آن یک سری آزمایشات را انجام می دهد. هر آزمایشی نوع خاصی از نشت را تحت شرایط خاص ، به عنوان مثال ، تحت شرایط خاص شبکه بررسی می کند ، سپس یک گذر ، خطا یا خطا را گزارش می دهد.

یک تست یا یک مورد آزمایش تقریباً مربوط به یک پرونده پایتون است. مجموعه آزمون به گونه ای طراحی شده است که برای توسعه دهندگان عادت دارد که با واحدهای تست واحدی کار کنند ، بنابراین هر تست از الگوی آشنایی راه اندازی () ، آزمون () و teardown () پیروی می کند..

موارد آزمایش به گونه ای طراحی شده است که ممکن است. موارد آزمایش با تنظیمات مختلف VPN ، پیکربندی شبکه های مختلف و موارد دیگر قابل اجرا هستند. هنگامی که آنها اجرا می شوند ، پیکربندی ارائه می شود که مشخص می کند چگونه آنها برای آن دور خاص از آزمون اجرا می شوند. یک پرونده پیکربندی به مجموعه آزمون منتقل می شود که لیست تمام تست های اجرا شده و تنظیمات آنها را نشان می دهد.

نمونه ای از چگونگی اجرای تست ها ، اجرای دستور زیر از فهرست راهنمای ابزار است:

./run_tests.sh -c پیکربندی / Case_studies / vanilla_leaks.py

تنظیمات دستگاه و شبکه

این مجموعه به گونه ای طراحی شده است که بتواند تست هایی را در تنظیمات دلخواه دستگاه ها و شبکه ها انجام دهد. ما از همان ابتدا آگاه بودیم که برخی از جنبه های رفتار VPN برای آزمایش به بیش از یک دستگاه نیاز دارد ، بنابراین ما مجموعه آزمون را طراحی کردیم تا این کار را از ابتدا انجام دهیم.

دستگاهی که از آن تست ها استفاده شده باشد به این دستگاه گفته می شود ارکستر تست. به تمام دستگاههای دیگر به سادگی عنوان می شود دستگاه های تست.

ساده ترین نوع آزمایش بر روی یک دستگاه واحد انجام می شود (تست های یک دستگاه) و آزمایش نشت مستقیم بر روی آن دستگاه. به عنوان مثال ، می توان کلاس گسترده ای از تست های نشت ویندوز را مستقیماً بر روی دستگاه ویندوز اجرا کرد. در این حالت ارکستر تست در واقع یک دستگاه تست است. آزمایش های پیچیده تر (تست های چند دستگاهی) ممکن است شامل دستگاه تست باشد که VPN ، روتر و دستگاه ضبط بسته را اجرا می کند..

اتوماسیون

مجموعه آزمایشی برای پشتیبانی کامل از اتوماسیون تست ها طراحی شده است. با این وجود ، خارج از این کادر ، آزمایشات همیشه به تعامل دستی نیاز دارند. هر زمان که تعامل دستی لازم باشد ، مجموعه آزمون به وضوح کاربر را بی درنگ می کند و به آنها می گوید چه کاری انجام دهند.

یکی از سخت ترین قسمت های تست خودکار ، کنترل برنامه های VPN است. در واقع ، برای بسیاری از آزمایشات ، این تنها قطعه از معمایی است که به صورت خودکار نیست. ما در حال حاضر هیچ برنامه ای برای ارائه پشتیبانی برای کنترل خودکار برنامه های VPN به مخزن نداریم. افزودن چنین پشتیبانی اما توسط معماری مجموعه پشتیبانی می شود.

توجه داشته باشید که در داخل ، ما اتوماسیون کامل برنامه خود را برای تسهیل تست ادغام مداوم پیاده سازی کرده ایم. ما قصد نداریم آن ابزارهای اتوماسیون را به عنوان بخشی از مخزن منبع باز در دسترس قرار دهیم.

تنظیم ابزارها

دستورالعمل های دقیق در مورد نحوه راه اندازی دستگاه های تست در repo GitHub آورده شده است. ما فقط در اینجا یک مرور کلی ارائه می دهیم که هنگام تنظیم دستگاه ها چه انتظاراتی را می توان داشت.

مجموعه تست در دستگاه های لینوکس ، macOS و ویندوز پشتیبانی می شود (یعنی مجموعه پایتون را می توان نصب کرد و مستقیماً روی این دستگاه ها اجرا شد). دستگاه های موبایل نیز توسط این ابزارها پشتیبانی می شوند ، اما این مجموعه هرگز به طور مستقیم روی این دستگاه ها اجرا نمی شود.

ما توصیه می کنیم تا حد امکان از ماشینهای مجازی (VMs) استفاده کنید ، خصوصاً برای تست های دستگاه. VM ها چندین مزیت را ارائه می دهند:

  • ایجاد و پیکربندی رابط های شبکه جدید آسان است
  • به شما امکان می دهد تا دستگاه میزبان خود را از بسیاری از نصب نرم افزارهای شخص ثالث که آزمایش ها نیاز دارند ، پاک نگه دارید
  • گرفتن ترافیک از شر یک VM ساده تر از گرفتن ترافیک در سمت چپ یک وسیله فیزیکی واقعی است
  • از قبل پیکربندی عکسهای ساده آسان است و در صورت لزوم برگردانده می شود

برای انجام تست های عمیق جدی ، ما همیشه توصیه می کنیم که تست ها را بر روی سخت افزار فیزیکی واقعی نیز انجام دهید ، تا اختلافات احتمالی بین سخت افزار مجازی و واقعی را رد کنید.

توجه داشته باشید که اکثر تست ها برای اجرا به مجوزهای ریشه ای (مدیر) احتیاج دارند ، بنابراین برای ساده سازی موارد ، کل مجموعه به صورت ریشه اجرا می شود.

در مورد سناریوهای نشتی که آزمایش ابزارها برای آنها انجام می شود اطلاعات بیشتری کسب کنید

مطالعات موردی زیر اطلاعات بیشتری در مورد برخی از سناریوهای نشتی را که این ابزارها آزمایش می کنند ، ارائه می دهد که چگونه آنها می توانند بر حفظ حریم خصوصی و امنیت شما تأثیر بگذارند ، و همچنین چگونگی استفاده از ابزار مربوطه را توضیح می دهند:

  • مطالعه موردی 1: نشت "وانیل"
  • مطالعه موردی 2: نشت WebRTC
  • مطالعه موردی 3: نشت انتقال شبکه
  • مطالعه موردی 4: نشت سرور VPN دست نیافتنی
  • مطالعه موردی 5: نشت تصادف فرآیند VPN

کمک به ابزارها

ما از دریافت کمک در این ابزارها خوشحالیم ، خواه برای رفع اشکال ، پیشنهادات مربوط به بهبودها یا موارد آزمایش کاملاً جدید. می توانید از طریق درخواست های کشش در GitHub کمک های خود را ارسال کنید.

درباره ابزارها با ما تماس بگیرید

می توانید با استفاده از ابزارهای موجود در [email protected] با ما تماس بگیرید.

توجه داشته باشید که ابزارها در حال حاضر موجود هستند آلفا دولت و به احتمال زیاد به طور مکرر تغییر خواهد کرد. با این حال ، ما تلاش خواهیم کرد که ابزارها همیشه در یک حالت قابل استفاده قرار بگیرند.

ابزار تست نشت ExpressVPN
admin Author
Sorry! The Author has not filled his profile.