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

حمله روز تولد ( Birthday Attack ) چیست؟ از تئوری تا واقعیت

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

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

تئوری روز تولد چیست؟

ایده اولیه تئوری روز تولد یا Birthday Theory به این شکل است که اگر فرض کنیم که 367 نفر درون یک کلاس حضور داشته باشند واین یعنی 2 نفر بیشتر از تعداد روزهای سال ، به احتمال قطع به یقین ما حداقل 2 نفر را در این اتاق داریم که تاریخ تولد ( روز و ماه ، نه سال ) یکسانی داشته باشند. درست است؟

این درست است اما پارادوکس قضیه اینجاست که ما باید احتمالات را چک کنیم ، احتمال با یقین متفاوت است . بگذارید با مثال دیگری بحث را بازتر کنیم. حتی اگر 23 نفر درون یک کلاس درس باشند ، احتمال اینکه 2 نفر از این 50 نفر تاریخ تولد یکسانی داشته باشند نزدیک به 50 درصد است !!! اینکه چگونه چطور به این نتیجه میرسیم یک عملیات ریاضی و محاسبه است که در لینک زیر می توانید بصورت کامل نحوه محاسبه این میزان احتمال را مشاهده کنید :

حمله روز تولد چیست؟ آیا Birthday Attack واقعی است یا تئوری؟

حمله روز تولد در واقع یک تئوری حمله و معرفی یک آسیب پذیری یا بهتر بگوییم ضعف در طراحی پروتکل رمزنگاری ( Hashing ) ای به نام MD5 است. الگوریتم هشینگ MD5 به دلیل ضعف در طراحی و تبدیل کردن مقادیر ( فایل ها و رشته های و ... ) به Hash این احتمال را دارد که در حجم عظیمی از داده ها ، تداخل Hash داشته باشد.

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

حمله روز تولد چیست؟

در تئوری ممکن است شما بتوانید یک فایل مخرب و آلوده را با Hash یکسان با یک فایل قابل اعتماد جایگزین کنید و از این طریق حمله خود را انجام دهید اما اینکار چندان هم ساده نیست. حمله روز تولد عملا یک نوع حمله Brute Force برای الگوریتم رمزنگاری MD5 است که احتمال به وقوع پیوستن آن بسیار بسیار کم است اما تئوری احتمال وجود آن در داده های کلان وجود دارد. در میزان داده های کم این تداخل یا Hash Collision احتمال وقوع بسیار پایینی دارد اما در سطح کلان ممکن است این تداخل به وجود بیاید. به همین دلیل اساسا الگوریتم های سری SHA به کلی جایگزین MD5 شدند.


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

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

نظرات