بایگانی برچسب: s

تصادم در الگوریتم درهم ساز IOTA

این یک اصل است که در معماشناسی و رمزنگاری، به هیچ وجه نباید الگوریتم های خود ساخته و ناشناخته و غیر استاندارد را به بهانه هایی مثل بومی سازی یا ایجاد امنیت از طریق ابهام استفاده کرد. این گزارش نشان می دهد که الگوریتم درهم ساز (Hash) استفاده شده در رمز ارز یا پول رمزینه (همان کریپتوکارنسی) محبوب IOTA که در حال حاضر اصلاح شده است، حاوی آسیب پذیری تصادم یا Collision بوده است. این الگوریتم، توسط تیم محققان IOTA اختراع شده بوده و با اینکه حتی از دانشگاه MIT در این تیم حضور دارند، نسبت به تحلیل تفاضلی آسیب پذیر بوده است. یکی از جذابیت های گزارش فوق این است که نتیجه عملی وجود تصادم را با مثال هایی از سوء استفاده های قابل انجام، نشان داده است.

اشتراک گذاری

درباره یک باگ بانتی داخلی

اینکه مدیر پیام رسان آی گپ، پیشقدم شده و بخشی از امنیت محصول خود را در معرض قضاوت و تحلیل عمومی قرار داده، فی نفسه و مستقلا قابل تقدیر و ارزشمند است. حرکت ایشان به خصوص در روزهایی که بحث بر سر پیام رسان ها در اوج قرار دارد، به گسترش فرهنگ باگ بانتی (Bug Bounty) یا جایزه باگ، و آشنا شدن عموم و به خصوص صاحبان محصولات نرم افزاری کمک می کند.

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

نکته ای که در جایزه یک میلیارد تومانی هک پیام رسان آی گپ نیاز به شفاف سازی و توضیح بیشتر دارد، بحث استفاده از الگوریتم رمزنگاری AES جهت رمزنگاری پیام های تبادلی بین کلاینت و سرور است. با توجه به اینکه AES یک الگوریتم استاندارد و امن (تا به امروز) است، بدیهی است که هیچ فردی در ایران نمی تواند به نحوی که خواسته شده، پیام های رمز شده با AES را رمزگشایی و به وسیله ابزاری مثل وایرشارک آن را اثبات کند. حتی هیچ فردی در دنیا هم قادر به این کار نیست (اگر هم NSA یا دیگر سازمان های اطلاعاتی قادر به این کار باشند، برای حفظ این برتری استراتژیک، آن را اعلام نخواهد کرد).

اشتراک گذاری

پایان عمر الگوریتم ۳DES

الگوریتم رمز متقارن TDEA که بیشتر با نام ۳DES شناخته می شود، در بسیاری از پروتکل های امنیتی پیاده سازی شده است. با توجه به انواع حملات و تحلیل هایی که تا امروز روی این الگوریتم معرفی شده، در میان مدت باید مهاجرت از این الگوریتم به جایگزین های امن مثل AES در دستور کار تولید کننده های محصولات مختلف قرار بگیرد. امن ترین نسخه ۳DES که با ۳ کلید مجزا در سه مرحله اجرا می شود، به دلیل معرفی حمله Sweet32، از اواسط سال ۲۰۱۷ توسط NIST به عنوان یک الگوریتم امن شناخته نمی شود. بر همین اساس، PCI و ایزو هم در حال آماده کردن مقدمات مهاجرت به AES هستند.

اشتراک گذاری

درب پشتی در طراحی الگوریتم های رمزنگاری

یکی از ارائه های جذاب در کنفرانس بلک هت اروپا ۲۰۱۷ ، به موضوع بنیادین اعتماد به الگوریتم های رمز می پردازد.  الگوریتم های رمز، زیربنای بخش عمده ای از آنچه به عنوان امنیت داده و امنیت ارتباطات می شناسیم را تشکیل داده اند. وقتی از RSA، AES یا SHA استفاده می کنیم، مادامی که ناامن بودن آنها اثبات و رسماً تایید نشده، آنها را به عنوان اجزای کاملاً مورد اعتماد از یک راه حل امنیتی در نظر می گیریم. بخش بزرگی از این اعتماد، حاصل اثبات ریاضی خواص امنیتی آنها و تایید آن در مجامع معتبر علمی رمزنگاری، و بخشی دیگر ناشی از تایید نهادهای اعتباربخشی  و استانداردسازی مثل ایزو، FIPS ، NIST و غیره است.

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

در این ارائه، یک الگوریتم مشابه AES با نام BEA-1 پیشنهاد شده که در مرحله طراحی، s-box های مورد نظر طراح که دارای نقطه ضعف هستند  در بعضی بخش های آن قرار می گیرد. نتیجه، الگوریتمی متقارن است که با وجود پشتیبانی از کلید رمز ۱۲۰ بیتی، به نفوذگر آگاه از این درب پشتی امکان می دهد با داشتن ۳۰۰ کیلوبیت متن ورودی و ۳۰۰ کیلوبیت متن رمز شده متناظر (تعداد ۳۰ هزار جفت متن واضح رمز شده با یک کلید)، و با یک لپ تاپ Core i7،  کلید را ظرف ۱۰ ثانیه کشف کند.

اشتراک گذاری

مطرح شدن ایران در Cryptographers’ Panel رویداد RSA2017

این روزها رویداد RSA2017 در حال برگزاری است. یکی از برنامه های ثابت این رویداد، پنل رمزنگاران یا Cryptographers’ Panel هست که هر سال برگزار می شود و معمولاً صاحبنظران رمزنگاری در آن حضور دارند.

فیلم برنامه امسال با شرکت بزرگانی چون Adi Shamir، Ronald Rivest، Whitfield Diffie در اینجا قابل مشاهده است. یکی از نکات جذاب این پنل، بحثی است که Adi Shamir درباره یک پروژه تحلیل رمز مربوط به استاد دانشگاه صنعتی شریف (احتمالاً دکتر عارف*) مطرح می کند. صرفنظر از صحت و سقم موضوع، مطرح شدن این موضوع در پنل مربوطه جالب توجه است. این بحث رو در دقیقه ۲۷ مشاهده کنید.

* مقاله دکتر عارف و بهنام بهرک (A Novel Impossible Differential Cryptanalysis of AES):

https://www.emsec.rub.de/media/crypto/veroeffentlichungen/2011/01/29/PreliminaryConferenceRecord.pdf

و دومی مقاله ای که روش حمله مقاله اول بهبود داده شده، و اسم حمله مقاله اول رو  Bahrak-Aref Attack گذاشتن:

https://eprint.iacr.org/2008/540.pdf

اشتراک گذاری

کشف دو آسیب پذیری جدی در Truecrypt

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

با وجود اینکه قبلاً طی یک ارزیابی امنیتی توسط محققان دانشگاه Johns Hopkins ، نرم افزار Truecrypt فاقد هرگونه آسیب پذیری اعلام شده بود، امروز مطمئن هستیم که این نرم افزار حداقل دارای دو آسیب پذیری شناخته شده از نوع گسترش مجوز (Privilege Escalation) است که توسط دو محقق از پروژه امنیتی Google Project Zero کشف و اعلام شده است.

حال سوال اینجاست که آیا این دو آسیب پذیری، سهواً در کد نرم افزار به وجود آمده اند یا به عنوان در پشتی (Back Door) توسط خود برنامه نویسان پروژه تعبیه شده اند؟ و آیا این موضوع با تعطیل شدن ناگهانی پروژه (و نیز افشاگری های اسنودن) ارتباطی دارد؟

یکی از جایگزین های نسبتاً مطمئن برای Truecrypt، نرم افزار Veracrypt است.

اشتراک گذاری

جزئیات شکسته شدن MSCHAPv2

اعلام شکسته شدن پروتکل MSCHAPv2 که یکی از پروتکل های قابل استفاده برای تصدیق اصالت در PPTP است، امسال در کنفرانس بیستم Defcon یکی از خبرهای بسیار مهم بود. نقاط ضعف نگارش قبلی این پروتکل توسط schneier سال ها قبل منتشر شده بود (۱۹۹۹) و البته مایکروسافت هم بعضی از آنها را پوشش داده بود. اما یکی از آسیب پذیری های باقی مانده که در انتهای این یادداشت هم اشاره شده، امکان شکستن پسورد به صورت آفلاین بود. در واقع امکان استفاده از نقطه ضعفی که سال ها قبل منتشر شده، الان با ابزاری که در Defcon 20 معرفی شد (ChapCrack) در دسترس عموم قرار گرفته است. البته خروجی این ابزار باید به سایت Cloudcracker ارسال شود و با حدود ۱۷ دلار هزینه، در کمتر از ۲۴ ساعت، کلید رمز به شما داده خواهد شد تا مجدداً با استفاده از ChapCrack ، ترافیک رمز شده را رمزگشایی کنید!

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

۱- مسأله بنیادی مورد مطالعه برای شکسته شدن MSCHAPv2 ، در واقع شکستن بخش محاسبه ChallengeResponse بوده که در طرف کلاینت محاسبه می شود. بقیه پیام های پروتکل، یا متن واضح (Clear text) بوده و شنود آنها کافی است.

۲- نحوه محاسبه ChallengeResponse در طرف کلاینت آن است که ابتدا پسورد کلاینت (یعنی همان پسوردی که برای کانکشن PPTP وارد می کنیم) با الگوریتم درهم ساز MD4 درهم ساخته (Hash) می شود. حالا مسأله تبدیل می شود به یافتن مقدار این Hash. نکته حیاتی این است که در اینجا، مقدار Hash کار همان پسورد را انجام می دهد. قابل توجه بسیاری از تولید کنندگان نرم افزار که فکر می کنند اگر پسورد را در طرف کلاینت Hash کرده و آن را روی شبکه برای سرور بفرستند، امنیت دارند! وقتی Hash را شنود کنیم همان استفاده پسورد را می شود از آن کرد، که به آن Replay Attack گویند!

۳- مقدار Hash سپس به سه تکه ۷ بایتی تقسیم شده و هر قسمت مستقلاً به عنوان کلید الگوریتم DES برای رمز کردن ChallengeHash استفاده می شود. ChallengeHash که در طرف کلاینت محاسبه می شود، خروجی SHA1 مقادیر Challenge کلاینت و سرور به همراه  username کانکشن PPTP است.

۴- حالا به جای Brute Force کردن خروجی ۱۲۸ بیتی MD4 که “۲ به توان ۱۲۸” پیچیدگی آن است، از روش کلاسیک تقسیم و غلبه (Divide and Conqure) استفاده می شود. یعنی مسأله به سه زیرمسأله هر کدام با سایز ۷ بایت تقسیم و جداگانه حل می شود. تا اینجا پیچیدگی مسأله از ۲ به توان ۱۲۸ به حدود ۲ به توان ۵۷ کاهش می یابد.

۵-  حالا مسأله یافتن سه قطعه ۷ بایتی است که در واقع خروجی MD4 مقدار Password هستند. این خروجی در واقع ۱۶ بایت است و مایکروسافت، ۵ بایت آخر را صفر در نظر گرفته، در نتیجه کل ۷ بایت آخر به راحتی ظرف چند ثانیه با Brute Force به دست می آید و می ماند دو کلید هفت بایتی!

۶- دوکلید ۷ بایتی باقی مانده، هر دو کلید الگوریتم DES هستند، با یک متن ورودی ثابت، که به این حالت، حمله Known Plain Text گفته می شود! یعنی متن واضحی داریم و خروجی رمز شده آن با الگوریتم DES، با چند کلید متفاوت هم موجود است! در نتیجه پیچیدگی مسأله به ۲ به توان ۵۶ می رسد که قابل مقایسه با ۲ به توان ۱۲۸ نیست!

۷- حالا با داشتن سخت افزارهای بسیار قدرتمند که در cloudcracker فراهم شده (بردهای FPGA) می توان زیر بیست و چهار ساعت، با میانگین ۱۵ ساعت هر کلید DES را به دست آورد.

نتیجه گیری:

الف: در اینجا با یک مسأله واقعی در دنیای امنیت مواجه هستیم. برای حل این مسأله، حتی برای درک کردن نحوه حل آن به ترکیبی از مهارت های زیر نیاز داریم:

– درک نیازمندی ها و قدرت تحلیل پروتکل های امنیتی

– مهارت در روش های ریاضی علم معماشناسی (Cryptology)

– تسلط بر روش های طراحی الگوریتم

– آشنایی با طراحی سخت افزارهای خاص منظوره (که البته این بخش را می توان به عنوان محصول آماده استفاده در نظر گرفت)

بنابراین، مسائل بنیادی تری از مهارت در نصب فایروال یا دیفیس کردن وب سایت ها هم وجود دارد. (در همین زمینه)

ب: استفاده از PPTP در کاربردهای حساس به هیچ وجه توصیه نمی شود و باید ترافیک PPTP مبتنی بر MSCHAP را کلاً Clear Text فرض کنید! مایکروسافت پیشنهاد داده که از پیکربندی PEAP که فقط در ویندوز ویستا و ۷ وجود دارد در کنار PPTP استفاده شود (نوعی تونلینگ مبتنی بر TLS). اما بهترین کار، صرفنظر کردن از PPTP و استفاده از پروتکل دیگری برای VPN است. حتی IPSec over PPTP هم در حالت کلید مشترک (PSK) پیشنهاد نمی شود.

اشتراک گذاری