پست الکترونیک

یک تیم از محققان امنیتی چندین آسیب‌پذیری را در پیاده‌سازی مختلف تائید امضای پست الکترونیک OpenPGP و S/MIME شناسایی کرده‌اند که می‌تواند مهاجمان را مجبور به خدعه‌ی امضا(۱) در بیش از چندین سرویس‌دهنده‌ی محبوب پست الکترونیک کند.

سرویس‌دهنده‌های پست الکترونیک تحت تأثیر این آسیب‌پذیری عبارت‌اند از Thunderbird ،Microsoft Outlook ،Apple Mail GPGTools ،iOS Mail، GpgOL ،KMail ،Evolution ،MailMate ،Airmail ،K-9 Mail ،Roundcube و Mailpile.

هنگامی‌که شما یک پست الکترونیکِ به‌صورت دیجیتالی امضاشده را ارسال می‌کنید، صحت(۲) end-to-end و یکپارچگی(۳) پیام‌ها را ارائه می‌دهد و به دریافت‌کننده‌ها اطمینان می‌دهد که پست الکترونیک واقعاً از سوی شما ارسال ‌شده است.

بااین‌حال، محققان ۲۵ مورد از سرویس‌دهنده‌های پست الکترونیکی که به‌طور گسترده برای ویندوز، لینوکس، macOS ،iOS ،Android و وب استفاده می‌شوند را آزمایش کردند و دریافتند که حداقل ۱۴ مورد از آن‌ها به چندین نوع از حملات عملی که در پنج دسته تقسیم‌بندی شده‌اند، آسیب‌پذیر هستند که تشخیص امضاهای خدعه شده(۴) را از امضاهای صحیح حتی توسط کاربرانی که به‌دقت آن‌ها را بررسی می‌کنند،غیرممکن می‌کنند.

این تحقیق توسط یک تیم محققان از دانشگاه Ruhr Bochum و دانشگاه علوم کاربردی Münster که شامل Jens Müller، Marcus Brinkmann، Damian Poddebniak، Hanno Böck، Sebastian Schinzel، Juraj Somorovsky و Jörg Schwenk بود، انجام شد.

این تیم در یک مقاله پژوهشی که در تاریخ ۳۰ آوریل ۲۰۱۹ منتشر شده است، دراین‌باره نوشته‌اند[۱]: “در سناریوی ما، دو همکار ارتباطی(۵) قابل‌اعتماد، Alice و Bob، را فرض کردیم که به‌طور مخفیانه کلیدهای عمومی  PGP و یا گواهینامه S/MIME خود را مبادله کردند.”

“هدف مهاجم ما، یعنی Eve، ایجاد و ارسال پست الکترونیکی با محتوای دلخواه به Bob است که سرویس‌دهنده‌ی پست الکترونیک به ‌اشتباه نشان می‌دهد که این پست الکترونیک به‌صورت دیجیتالی و توسط Alice امضاشده است.”

۱) حملات CMS یعنی C1، C2، C3 و C4: خطاهای ناشی از نادیده گرفتن CMS(6)، قالب کانتینر(۷) S/MIME، منجر به ساختارهای داده‌های متناقض یا غیرمعمول مانند چندین امضاء کننده یا بدون امضاکنندگان می‌شود.

۲) حملات GPG API یعنی G1 و G2: نقص‌های پیاده‌سازی در بسیاری از سرویس‌دهنده‌های پست الکترونیک، موفق به تجزیه‌ی درست طیف گسترده‌ای از ورودی‌های مختلف نشدند که می‌تواند مهاجمان را قادر به تزریق رشته‌های دلخواه به GnuPG status line API، ثبت پیام‌ها و فریب سرویس‌دهنده‌های پست الکترونیک به نمایش تصدیق امضای موفق برای کلیدهای عمومی دلخواه کند.

۳) – حملات MIME یعنی M1، M2، M3 و M4: حملات بسته‌بندی(۸) MIME از چگونگی اینکه سرویس‌دهنده‌های پست الکترونیک پیام‌های جزئی(۹) امضاشده را مدیریت می‌کنند، سوءاستفاده می‌کنند. این حملات به مهاجمان اجازه می‌دهد تا مهاجمان، سرویس‌دهنده‌های پست الکترونیک را فریب دهند تا یک متن امضا نشده را در حین تائید یک امضای غیر مرتبط در قسمت دیگری (که نامرئی باقی می‌ماند) نشان دهند.

۴) حملات شناسایی یعنی I1، I2 و I3: این حملات به نقاط ضعف در پیوند پیام‌های امضاشده به هویت فرستنده توسط سرویس‌دهنده‌های پست الکترونیک بستگی دارد، به‌طوری‌که به مهاجمان اجازه می‌دهد تا یک امضای معتبر را از سوی هویت (ID) یک شریک ارتباطی مورد اعتماد واقع در هدر پست الکترونیک نمایش دهد.

۵) حملات UI یعنی U1: حملات redressing  رابط کاربر(۱۰) (UI) درصورتی‌که مهاجمان راهی برای تقلید(۱۱) برخی از عناصر مهم UI یک سرویس‌دهنده پست الکترونیک با استفاده از HTML، CSS یا تصاویر inline پیدا کنند، که می‌تواند به آن‌ها اجازه دهد تا نشانگر(۱۲) یک امضای معتبر را نمایش دهند.

در زیر نتایج تمام حملات خدعه‌ی امضای ذکرشده در بالا که علیه سرویس‌دهنده‌های مختلف پست الکترونیک برای OpenPGP مورد آزمایش قرار گرفته است، آورده شده است. دایره سیاه کامل نشان‌دهنده‌ی جعل کامل(۱۳) و دایره‌ی نیمه سیاه نشان‌دهنده جعل جزئی(۱۴) و دایره‌ی سفید نشانده دهنده‌ی جعل ضعیف(۱۵) است.

جدول بعدی نتایج را برای تصدیق امضای SMIME نشان می‌دهد:

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

محققان دراین‌باره می‌گویند: “مدل مهاجم ما هیچ نوع مهندسی اجتماعی را شامل نمی‌شود. کاربر مثل همیشه پست‌های الکترونیک دریافت شده را باز می‌کند و می‌خواند، بنابراین آگاهی در این زمینه به کاهش این حملات کمک نمی‌کند.”

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

این آسیب‌پذیری‌ها در سرویس‌دهنده‌های پست الکترونیک به‌این‌ترتیب نام‌گذاری شده‌اند: CVE-2018-18509 ،CVE-2018-12019 ،CVE-2018-12020، CVE-2017-17848 ،CVE-2018-15586 ،CVE-2018-15587 ،CVE- 2018-15588 ،CVE-2019-8338 ،CVE-2018-12356 ،CVE-2018-12556 و CVE-2019-728

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

منابع

[۱] https://github.com/RUB-NDS/Johnny-You-Are-Fired/raw/master/paper/johnny-fired.pdf

[۲] https://thehackernews.com/2019/04/email-signature-spoofing.html


(۱) Signature Spoofing
(۲) authenticity
(۳) integrity
(۴) spoofed
(۵) communication partners
(۶) Cryptographic Message Syntax
(۷) container format
(۸) wrapping
(۹) partially
(۱۰) User Interface
(۱۱) mimic
(۱۲) indicator
(۱۳) Perfect forgery
(۱۴) Partial forgery
(۱۵) Weak forgery