رمزنگاری – backchannels EFAIL در مشتریان ایمیل که به HTML مربوط نیستند؟

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

چرا توصیه می شود کاملا رندر HTML را غیر فعال کنید؟ آیا به اندازه کافی برای غیرفعال کردن بارگذاری محتویات از راه دور (که به طور پیش فرض در بسیاری از برنامه های پست الکترونیکی مدرن به هر حال) نمی تواند کافی باشد؟

از آنجا که تنظیمات برای غیر فعال کردن محتوا از راه دور (اگر در آن وجود داشته باشد)، در واقع تمام محتوای از راه دور را غیر فعال نمی کند. برای مثال فقط یک نمونه از مقاله (صفحه 20،21) زیر درخواستی را به یک URL از راه دور در Thunderbird ایجاد می کند، هرچند بارگیری محتوای از راه دور غیرفعال شده است:


کدام منابع Backchannel دیگر وجود دارد که "به HTML مربوط نیست "" آیا نویسندگان در این جا جایی توضیح دادند؟

بله، نویسندگان به روشنی در مورد این توضیح داده اند. در صفحات 20 و 21 مقاله، نویسندگان رفتار بسیاری از مشتریان مختلف ایمیل را در رابطه با امکان Backchannels فهرست می کنند. و در حالی که بسیاری از backchannels نیاز به HTML برخی از آنها می تواند توسط هدر پست الکترونیکی ایجاد شده است. به عنوان مثال بر اساس مقاله اپل ایمیل می تواند برای یک backchannel مانند این استفاده می شود:

 Remote-Attachment-Url: http://efail.de

رمزگذاری – این روش به ارسال ایمن EFAIL از پیام های رمزگذاری شده OpenPGP اجازه می دهد به غیر از خوانندگان ناامن EFAIL: TRUE یا FALSE

مدیران: لطفا توجه داشته باشید که این یک نسخه از (آیا این یک حفاظت ساده در برابر EFAIL نیست؟)
زیرا استراتژی متفاوت است که در ابتدای هر متن ساده به عنوان یک بلوک واحد رمزگذاری می شود.

Background

تهدید امنیتی EFAIL از اجرای ناقص استاندارد OpenPGP RFC0448 سوء استفاده می کند. بعضی توضیحات بسیار مختصر در زیر آمده است.

در برخی از تاریخ های محدود در (امیدوارم) آینده ای نزدیک، اکثر مشتری های ایمیل بیش از کاربران GnuPG یک راه اندازی سیستم ایمنی خواندن EFAIL داشته باشند، اگر قبلا آنها را انجام ندهند. استاندارد OpenPGP به شدت اجرا خواهد شد.

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

بنابراین در یک روش بالقوه وجود دارد که اجازه می دهد تا ارسال امن بدون در نظر گرفتن اینکه آیا خواننده دارای تنظیم غیر ایمن EFAIL بود یا خیر.

روش پیشنهادی

توضیحات مختصر و ساده از حمله:

هر کدام و هر بلوک رمزگذاری شده B از پیام رمزگذاری شده می تواند توسط داده های رمزگذاری شده psuedo تروجان قرار داده شود تا یک پیام رمزگذاری شده چند بلوک ABC را فراهم کند. قطعات A و C به صورت هوشمندانه انتخاب می شوند، به طوری که وقتی ABC رمزگشایی می شود، پیامی از شکل را ارائه می دهد:


که نحو معتبر HTML با یک img برچسب، یک ویژگی src و یک مقدار مربوطه است که URL معتبر است. متن رمز گشایی رمزگذاری شده بلوک B در آدرس URL پس از آدرس معتبر مهاجم تعبیه شده است.

بسته به برنامه نویسی و تنظیمات ایمیل مشتریان خواننده، سرویس گیرنده ایمیل به طور خودکار درخواست HTTP را به آدرس URL ارسال می کند ، باعث شده است که متن ساده B به مهاجم منتقل شود.

این توضیح بیش از حد ساده تر شده است، که ظرفیت استراتژی EFAIL را غلط و غلبه می دهد. از این رو کافی است که یک استراتژی کاهش EFAIL نشان داده شود که این توضیح بیش از حد ساده را شکست می دهد.

مهم: یک بلوک رمزگذاری یک اصطلاح فنی خاص است که به الگوریتم کدگذاری بلوک CBF اشاره دارد در RFC4880 13.9 حالت OpenPGP CFB. بلوک B دارای اندازه ثابت است (16 بایت برای تمام رمزهای AES)، و محدوده بلوک B در زمان رمزگذاری ثابت می شوند. مهاجم هیچ کنترلی بر انتخاب مرزهای بلوک ندارد و نمی تواند آنها را تغییر دهد.

ابهام با استفاده از نحو HTML

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

راه حل بسیار ساده است. متن ساده که در یک بلوک رمزگذاری می شود به دو بخش تقسیم می شود. این بخش اول رشته مبهوت کننده o است و قسمت دوم پیام m است. انتخاب o مانع از m از ویژگی ویژگی های مهاجم است

به طور خاص، رشته obfuscating o باید حداقل سه کاراکتر تک نقل قول (')، نقل قول دو (و) و فضای () این به اندازه کافی برای خاتمه بسته شدن ویژگی HTML و حفاظت از پیام m است. این توسط مشخصات HTML تعیین شده است

شما می توانید بازی را با مهاجمین انتخاب کنید که شروع به تعویض در این مثال سندبلاست Try jsoup (https://try.jsoup.org/٪7E_nyXks5PuAs-zJeek8CVhpuAvtI)

هنگامی که توسط کاربر در قالب خام خود رمزگشایی شود، پیام کل قابل خواندن انسان خواهد بود. اما کمی زشت است، زیرا حاوی رشته مبهم است o ، اما از EFAIL امن خواهد بود.

این روش نیازمند فشرده سازی قبل از رمزگذاری نیست، زیرا این امر مرزهای بلوک را خراب می کند.

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

سؤال

آیا شکل دیگری از رشته های HTML وجود دارد که توسط مهاجم برای غلبه بر پیشگیری از EFAIL پیشنهادی و اجازه دادن به انفیلتراسیون را می دهد؟

این یک بحث باز پایان نیست که به

  • مسائل مربوط به پیاده سازی
  • مسائل ارگونومیک
  • حملات دیگر با استفاده از فرایند HTML مبتنی بر نیست [19659026] ضعف غیر EFAIL معرفی شده بدون فشرده سازی و / یا کاراکترهای ناشناخته کمتر در هر بلوک رمزگذاری. (این ممکن است محدود شود اضافه کردن کاراکترهای تصادفی اضافی به رشته obfuscating)

در غیر این صورت این سوال مجاز نمی باشد. (با این حال، چنین نظریات به عنوان طول نظرات محدود می شود خوش آمدید.)

بنابراین پاسخ ها باید محدود است که نشان می دهد که این روش می تواند شکسته شود.

این را می توان پرش کرد: زمینه های اضافی در مورد آسیب پذیری EFAIL

بهره برداری ناشی از اجرای MDC نیست (کد تشخیص اصلاح) همانطور که در بخش RFC4880-5.14 مشخص شده است. در مورد اجرای GnuPG OpenPGP، داده ها ممکن است در یک جریان بازگردانده شوند و در انتهای جریان یک مقدار برای نشان دادن اینکه آیا یک کد معتبر MDC تایید داده یافت می شود، بازگشت می شود. متاسفانه، بسیاری از پیاده سازی های ایمیل، ارزش آن را بررسی نمی کنند و یا پردازش داده ها را قبل از چک کردن آن ارزش.

مرجع

این روش و اجرای کاهش EFAIL در اینجا کمی عمیق در اینجا مورد بحث قرار گرفته است.