در این مقاله میخوایم به بررسی دو نوع روش هش گرفتن بپردازیم که بسیار موثر و کاربردین (مثلا در شناسایی بدافزار) ، قبلش برسیم به بررسی روش هش گیری مرسوم:
در الگوریتم های هشینگ مرسوم مثل md5 یا خانواده معزز SHA همگی میان و از فایل یک استرینگ تهیه میکنن که یکتا باشه و خب این الگریتم ها چند تا ویژگی دارن :
حالا شما میایی از یه بدافزاری که مثلا 100 خط کده هش میگیری و یه استرینگ میده ، ولی یه سوال پیش میاد ، اگر ما بیاییم یه خط از این بدافزارو تغییر بدیم و هش بلکل عوض بشه چه کار باید کنیم ؟ (ما یه سری بدافزارا داریم به اسم Polymorphism که میان و ساختار فیلمای خودشونو تغییر میدن و شناسایی شون سخته)
جواب استفاده از Fuzzy Hashing هست ، این تکنیک از هش میاد و اون فایلی که ما میخوایم ازش هش بگیریم رو چند قسمت میکنه و از هر قسمت جدا هش میگیره و اینطوری میتونیم بفهمیم که این دوتا فایل چند در صد شبیه همن
مثلا با استفاده از ابزار SSDEEP میتونیم همچین کاریو بکنیم (جلوتر بیشتر توضیح میدم) مثلا در فایل بالا دوتا فایل pdf رو باهم مقایسه کردیم و دیدیم 90 درصد شبیه همن و پایین امدیم و دوتا فایل یکسان pdf رو مقایسه کردیم و دیدیم که خب کاملا یکسانن
استفاده از این ابزار خیلی راحته
میاییم و با سویچ -b از فایل ها هش میگیریم و میریزمشون توی یه فایل متنی
ssdeep.exe -b .\files > hashes.txt
بعد میاییم و فایل های جدیدو مقایسه میکنیم با هش هایی که توی فایل متنی هست
ssdeep -bm hashes.txt .\newfiles
و میاد میگه مثلا کدوم فایل چند درصد شبیهه
فایلا به دو دسته تقسیم میشن ، یا متن معمولی و سادن یا نیستن ، دسته دوم ساختار باینری دارن (از عکس و PDF گرفته تا فایل های .EXE) و بهشون میگیم Binary Files(درک ساختار هر فرمت فایل در بحث فارنزیک بسیار مهمه)
مثلا در عکس پایین ساختار باینری یک فایل pdf و یک فایل اجرایی (.exe) رو میبینیم
هر فایل اجرایی قبل اجرا شدنش به سیستم عامل میگه چه چیزایی نیاز داره، از مقدار حافظه گرفته تا کتابخانه ها(dll)و.. سر همین هر فایل اجرایی یک ساختار PE داره که این هارو به سیستم عامل میگه
یک قسمت مهمی از این ساختار PE اون Import Table Address هست که میاد میگه آقا مثلا من چه DLL هایی رو میخوام ، ما از همین ویژگی استفاده میکنیم که فایل های اجرایی رو بشناسیم
در fuzzy ما شباهت محتوا دوتا فایلو بررسی میکنیم ولی در Import ما تشابه باینری دوتا فایلو بررسی میکنیم
سایت هایی مثل Virustotal میان و از هر بدافزار این دوتا هش رو میگیرن :
با استفاده از این دوتا هش که به عنوان IOC اون فایل شناخته میشه میتونید در سازمانتون خیلی از حملات و تهدیدات رو راحت تر شناسایی کنید
به عنوان نکته آخر : متخصصای تجزیه و تحلیل بدافزار شرکت های آنتی ویروس میان و این نوع هش هارو از بدافزارا میگیرن و در دیتابیس آنتی ویروسا قرار میدن (شما به عنوان آپدیت دریافتشون میکنید) و با استفاده از این هش ها موتور های آنتی ویروس خیلی سریع تر و دقیق تر اون بدافزارو شناسایی میکنن ( خود آنتی ویروسا از فایلا هش میگیرن و مقایسه میکنن با دیتابیسشون و اگر تشابه خیلی زیاد بود خب مشکوکه دیگه (^_^) )
اگر سوالی چیزی بود در خدمتم ;)
عاشق امنیت و نفوذ ، رد تیم و دوستدار بزن بکش :)
کارشناس تست نفوذ سنجی ، علاقه مند به امنیت تهاجمی و رد تیمینگ | عضو انجمن بین المللی ورزش های رزمی کشور آلمان و دارای احکام بین المللی و داخلی کمربند مشکی در سبک های کیوکوشین ، هاپکیدو ، کیک بوکسینگ و چند تام قهرمانی کشوری
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود