نقد و یادداشت درباره

آسیب‌پذیری EFAIL و تمام چیزهایی که درمورد آن باید بدانید

در روزهای اخیر، انتشار خبر آسیب‌پذیری در بسیاری از سرویس‌ها ایمیلی، ابزارها و افزونه‌ها که با OpenPGP و S/MIME سر و کار دارند، هیاهوی رسانه‌ای زیادی ایجاد کرد. آسیب‌پذیری جدیدی که تحت عنوان EFAIL معرفی شده و می‌توان گفت سابقه‌ای چندین ساله دارد. اما فارغ از تمام بحث‌های فنی و پیچیده، در این یادداشت ابتدا به زبان ساده درمورد آسیب‌پذیری EFAIL و برخی تعاریف مرتبط خواهیم پرداخت و سپس نقدی درباره نحوه اطلاع‌رسانی درمورد این آسیب‌پذیری و اینکه چه باید کرد.
۲۵ اردیبهشت ۱۳۹۷

تاریخچه اختراع و استفاده از رمزگذاری PGP قدمتی بیش از دو دهه دارد و در طول سالیان اخیر بارها برای نقض امنیت و شکستن آن مورد بررسی‌های گوناگون قرار گرفته است. تقریبا می‌توان گفت PGP یکی از بهترین شیوه‌های امن برای رمزگذاری اطلاعات و ارتباطات است.

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

اینکه آسیب‌پذیری‌های اشاره شده در EFAIL چیست و به چه معناست و اینکه چه باید کرد، موضوعی بود که کمتر رسانه‌ای همزمان با انتشار این خبر به آن پرداخته بود. در این یادداشت به‌طور خلاصه سعی شده است به برخی از سوال‌های متداول و مهم در این‌باره پاسخ داده شود.

 

آسیب‌پذیری EFAIL چیست؟

آسیب‌پذیری بحرانی EFAIL، اشاره مستقیم به مجموعه‌ای از نقص‌های امنیتی در شیوه استفاده و پیاده‌سازی استانداردهای رمزگذاری در فناوری OpenPGP یا به‌عبارتی PGP/GPG و S/MIME دارد و نشان می‌دهد که چگونه مهاجمان می‌توانند با بهره‌جویی از این آسیب‌پذیری‌ها، متن پیام‌های رمزنگاری شده ایمیلی را به‌صورت متن ساده بازخوانی کنند.

 

رمزنگاری ایمیلی چیست؟

همانطور که می‌دانید، ایمیل یک راهکار ارتباطی در بستر اینترنت است که محتوای پیام‌ها به‌صورت متن ساده در آن نوشته شده و رد و بدل می‌شود. به‌صورت اولیه و عمومی، محتوای رد و بدل شده توسط ایمیل‌ها به‌واسطه یک لایه ارتباطی امن TLS (پروتکل امنیتی لایه انتقال) محافظت می‌شود. اما امنیت این لایه ارتباطی (TLS) برای بسیاری از کاربران، مانند روزنامه‌نگاران، فعالان سیاسی و... کافی نبوده و در شرایط ویژه مانند حملات سایبری تحت حمایت دولت‌ها، نفوذ هکرها و خرابکاران می‌تواند موجب دردسرهای فراوان و تبعات سنگین برای آن‌ها و مخاطبان‌شان شود. از این رو از یک شیوه استاندارد برای رمزنگاری مکالمات که تنها طرفین مکالمه قادر به رمزگشایی و خواندن متن‌ها هستند استفاده می‌شود. حالتی که عموما آن را تحت عنوان رمزگذاری End-to-End می‌شناسیم.

 

رمزگذاری PGP/GPG چیست؟

به زبان ساده رمزگذاری PGP/GPG یک شیوه استاندارد، رایگان، آزموده شده براساس توابع رمزنگاری و فشرده‌سازی داده‌ها به‌وسیله الگوریتم کلید متقارن و کلید عمومی است که داده‌های رد و بدل شده میان کاربران را به‌صورت End-to-End رمزگذاری می‌کند. از این شیوه رمزگذاری عموما برای امضای دیجیتال، رمزگذاری فایل‌ها، متن‌های ایمیلی و... استفاده می‌شود.

 

رمزگذاری PGP در ایمیل چیست؟

یکی از شناخته شده‌ترین روش‌های رمزنگاری ایمیلی، استفاده از رمزگذاری PGP است که طرفین مکالمه در ایمیل، متن پیام‌های ارسالی به یکدیگر را توسط کلید عمومی گیرنده ایمیل رمزگذاری کرده و توسط کلید اختصاصی خصوصی رمزگشایی می‌کنند. متن پیام‌ها پس از رمزگذاری به‌وسیله PGP به‌صورت داده‌های مبهم و غیرقابل تشخیص برای انسان و ماشین بوده و تنها در صورت رمزگشایی توسط کلید رمزگشایی قابل خواندن خواهند بود.

 

آسیب‌پذیری EFAIL در PGP چیست؟

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

اما نکته مهم درباره این آسیب‌پذیری، سوءاستفاده مهاجمان از محتوای فعال و قابل کنترل از راه دور در کدهای HTML است که برای مثال در متن یک ایمیل‌ رمزگذاری شده همانند یک ایمیل عادی، می‌توان از آن استفاده کرد.

آسیب‌پذیری EFAIL در PGP چیست؟

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

 

آیا این نوع از حملات ایمیلی به‌تازگی کشف شده است؟

پاسخ خیر است. برای مثال حمله ایمیلی ROPEMAKER که مشخصا به آسیب‌پذیری در برخی از نرم‌افزارهای ایمیلی (کلاینت‌ها) مانند Outlook، Apple Mail و Thunderbird اشاره دارد، از تکنیک بهره‌جویی از محتوای فعال و قابل کنترل از راه دور در کدهای HTML موجود در متن ایمیل‌ها استفاده می‌کند که در سال ۲۰۱۷ کشف و معرفی شد.

 

آیا تمام نرم‌افزارهای ایمیلی، افزونه‌ها و سرویس‌ها در برابر EFAIL آسیب‌پذیر هستند؟

پاسخ مشخصا خیر است. براساس گزارش و مستندات فنی منتشر شده توسط تیم محقق کشف کننده این آسیب‌پذیری، برخی از ابزارها و سرویس‌های ایمیلی، مانند نرم‌افزارهای Claws ،Mutt، K-9 Mail، Canary Mail و همینطور سرویس‌های Mailbox.org، ProtonMail، Mailfence، Rainloop، AfterLogic و Mailpile به‌صورت کامل در برابر این حملات و سایر حملات مشابه مقاوم هستند و آسیب‌پذیری‌های کشف شده در نحوه استفاده از  PGP/GPG و S/MIME در این سرویس‌ها مشاهده نشده است.

 

آیا تمام نرم‌افزارهای ایمیلی، افزونه‌ها و سرویس‌ها در برابر EFAIL آسیب‌پذیر هستند؟

لیست سرویس‌ها و ابزارهای ایمیلی آسیب‌پذیر و همینطور مقاوم دربرابر حملات EFAIL

 

آیا می‌توان گفت این آسیب‌پذیری ربطی به PGP/GPG ندارد؟

پاسخ قطعی به این سوال کمی دشوار است و باید بله و خیر را با هم گفت! اما برای روشن‌تر شدن موضوع باید دانست که آسیب‌پذیری‌های یاد شده در EFAIL تقریبا موضوعی مجزا از ساختار رمزگذاری پیاده‌سازی شده در اصل استانداردهایی مانند PGP/GPG است. اما از آنجا که هدف اولیه از استفاده از رمزگذاری‌هایی مانند PGP/GPG، تامین امنیت و محافظت از حریم خصوصی کاربران این استانداردها و ابزارهای مرتبط تحت شرایط مختلف است، باید این انتظار را سازندگان نرم‌افزارها و افزونه‌های مرتبط با این فناوری‌ها داشت که نحوه پیاده‌سازی و بکارگیری از PGP/GPG را در برنامه‌های خود بهینه‌سازی کنند تا در مقابل چنین حملاتی مقاوم شوند.

 

آیا باید استفاده از PGP/GPG را کنار گذاشت؟

اگر کاربر PGP/GPG در برنامه‌هایی مانند Outlook، Apple Mail و Thunderbird هستید، به‌صورت موقت تا زمان اصلاح و رفع آسیب‌پذیری‌های یاد شده باید استفاده از این شیوه از رمزگذاری را کنار بگذارید. برای اینکار حتما باید افزونه‌ها و نرم‌افزارهای مرتبط با رمزگشایی و نمایش پیام‌های رمزگذاری شده را متوقف کنید.

اما اگر از رمزگذاری PGP/GPG به شیوه‌های دیگر، به‌ویژه روش‌هایی که دریافت اطلاعات و فایل از راه دور در آن‌ها مسدود شده است استفاده می‌کنید، نیازی نیست که نگران آسیب‌پذیری EFAIL باشید. توصیه اصلی و اولیه ما به همه کاربران، استفاده از شیوه‌های مطمئن از رمزگذاری در بسترهای امن (Offline Encryption & Decryption) است.

 

تحت چه شرایطی هکرها می‌توانند حمله‌ای برپایه EFAIL را علیه شما انجام دهند؟

مشخصا پیش‌نیاز اصلی حمله برپایه EFAIL و رمزگشایی پیام‌های رمزگذاری شده به‌وسیله PGP این است که هکرها ابتدا به متن رمزگذاری شده ایمیل‌های شما دسترسی یابند. به‌عبارتی اگر هکری به اطلاعات ورود به حساب کاربری ایمیل شما دسترسی پیدا کند یا از طریق زیرساخت‌های ارتباطی داده‌های رد و بدل شده به‌واسطه پروتکل TLS را شنود کند، بعد از آن خواهد توانست برنامه حمله به شما را پایه‌ریزی کند.

 

سناریو حمله برپایه EFAIL چیست؟

یکی از سناریوهای فرضی حمله برپایه EFAIL این گونه است که هکرها ابتدا به حساب کاربری ایمیل فرد قربانی نفوذ کرده و متن رمزگذاری شده یکی از ایمیل‌ها که به‌وسیله کلید PGP رمزگذاری شده است را به سرقت می‌برند.

در مرحله بعد برای رمزگشایی متن رمزگذاری شده با PGP، در یک ایمیل جدید محتوای رمز شده سرقتی را در لابلای کدهای HTML جاسازی می‌کنند و آن را به فرد قربانی ارسال می‌کنند.

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

 

راهکار و رویکرد مقابله در برابر آسیب‌پذیری EFAIL چیست؟

۱) در کوتاه مدت استفاده از نرم‌افزارها، افزونه‌ها و سرویس‌های آسیب‌پذیر اشاره شده در مستندات EFAIL را کنار بگذارید.

۲) در کوتاه مدت نمایش کدهای HTML به‌صورت کامل در متن ایمیل‌ها را متوقف کنید و سعی کنید تمام پیام‌های خود را به‌صورت متن ساده، بدون جلوه‌های بصری بخوانید.

۳) در کوتاه مدت دریافت خودکار محتوای فعال و قابل کنترل از راه دور، مانند دانلود خودکار و نمایش تصاویر بکار رفته در کدهای HTML موجود در متن ایمیل‌ها را غیرفعال کنید.

۴) در دراز مدت برنامه‌ها، افزونه‌های خود را به‌روزرسانی کنید.

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


در پایان نقد اصلی به برخی از رسانه‌ها چیست؟

انتشار خبر فوری آسیب‌پذیری‌های یاد شده و ذکر اینکه PGP دیگر امن نیست و نباید از آن استفاده کرد، برای عموم کاربران یک خبر نگران کننده، منفی و بازدارنده برای استفاده از رمزگذاری‌های ایمیلی بود.

اخباری که به‌ویژه در تیترهای آن شاهد این بودیم که تاکید اصلی، فارغ از جزئیات و محتوای مستندات EFAIL، به کاربر القاء می‌کرد که امنیت او در صورت استفاده از PGP در خطر است و این یعنی نقطه‌ی پایان برای امنیت ایمیلی او که این شیوه اطلاع‌رسانی در حوزه امنیت سایبری بسیار پرهزینه و خطرناک است.

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

فراموش نکنید PGP کماکان امن بوده و شرط اصلی برای تامین امنیت به‌وسیله آن، روش استفاده شما و ابزارهای مورد استفاده‌تان است.

 

 

توضیحات بیشتر:

- No, PGP is not broken, not even with the Efail vulnerabilities
- EFAIL: the PGP encryption was not pirated