چگونگی تحلیل بدافزار و معرفی ابزار‌ها و منابع امنیتی

اخبار داغ فناوری اطلاعات و امنیت شبکه

جای امیدواری است که صنعت امنیت سایبری روش‌های مختلفی را برای تجزیه‌وتحلیل بدافزارها توسعه داده است و البته هرکدام مجموعه نقاط قوت و ضعف خود را دارند. این به این معنی است که درحالیکه استفاده از فقط یک روش تجزیه‌وتحلیل بدافزار می‌تواند یک شبکه را در معرض خطر قرار دهد، اجرای روش‌های تجزیه‌وتحلیل‌ متعدد با ترتیب درست، می‌تواند با احتمال بالاتری از نفوذ بدافزارها به شبکه جلوگیری کند.takian.ir malware analysis tools

یک گروه امنیتی میتواند با اجرای متوالی روش های مختلف تحلیل بدافزار، تقریباً اکثر تهدیدات را بصورت خودکار تشخیص دهد در صورتی که بدون استفاده از مدل های اجرایی موفق و کسب اطلاعات کافی در مورد تهدید، ممکن است تنها به یک بازی حدش و گمان بسنده کنند که در نهایت نیز محکوم به شکست است.در محیط های تحلیل بدافزار ما با 3 نوع تحلیل مواجه هستیم:

1 - تحلیل ایستا (Static Analysis): تجزیه‌وتحلیل ایستا، خط اول دفاع است که شامل شکستن یک پرونده‌ی ناشناخته به مولفه‌هایی برای بررسی آن و بدون خراب شدن پرونده است و یک‌راه فوق‌العاده سریع و دقیق برای تشخیص بدافزارهای شناخته‌شده و انواع دیگر است که بخش عمده‌ای از حملاتی که معمولاً در سازمان‌ها دیده‌شده را تشکیل می‌دهد.

2 - تحلیل با استفاده از یادگیری ماشین (Machine Learning Analysis):  یادگیری ماشین شامل ایجاد و خودکارسازی یک سامانه برای طبقه‌بندی رفتارهای مخرب به گروه‌های متفاوت است. این گروه‌ها می‌توانند برای شناسایی محتوای مخرب در آینده بدون نیاز به ساخت الگوی دستی مورداستفاده قرار گیرند و هرچه نمونه بدافزارهای بیشتری مورد بررسی قرار گیرد و فهرست شود، توانایی سامانه برای تشخیص حملات در طول زمان رشد می‌کند

3 - تحلیل های پویا (Dynamic Analysis): آنچه عموماً به‌عنوان تحلیل پویا شناخته می‌شود معمولاً شامل ارسال یک نمونه مشکوک به یک محیط مبتنی بر ماشین مجازی و سپس فعال کردن آن در یک محیط کاملاً کنترل‌شده (بانام مستعار Sand box یا جعبه شنی) است که رفتار آن مشاهده می‌شود و از آن اطلاعاتی استخراج می‌شود.
ازآنجا که تجزیه‌وتحلیل ایستا و یادگیری ماشین هر دو نیاز به درجه‌ای از آشنایی قبلی با بدافزار دارند، برای آن‌ها شناسایی فعالیت‌های مخرب کاملاً جدید دشوار است. چالش تجزیه‌وتحلیل پویا مقیاس‌پذیری آن است که نیاز به محاسبات عظیم، ذخیره‌سازی و خودکارسازی دارد. گفته می‌شود اگر هر دو تجزیه‌وتحلیل ایستا و یادگیری ماشین انجام‌شده باشد آن‌ها به‌ احتمال ‌زیاد  بخش عمده‌ای از بدافزارها را شناسایی کرده‌اند.
برای اینکه بتوانید اقدامات اصلی را برای تحلیل بدافزار انجام دهید نیاز به ابزارهایی دارید که در اینجا به معرفی برخی از مهم‌ترین ابزار‌ها، کتاب‌ها و منابعی پرداخته خواهد شد که در تجزیه و تحلیل بدافزار و مهندسی معکوس مورد استفاده قرار می‌گیرد.

 

استفاده از ویراستار‌های Hex

یک ویراستار‌ Hex (یا ویراستار فایل باینری یا Byteeditor) نوعی برنامه‌ی کامپیوتری است که به کاربر توانایی دستکاری داده‌های باینری اساسی را می‌دهد و یک فایل کامپیوتری را تشکیل می‌دهند. نام «Hex» از واژه‌ی «Hexadecimal» می‌آید، فرمت استاندارد عددی برای نمایش داده‌های باینری است. در زیر چند برنامه ویراستار به همراه لینک توضیحات آن ارائه شده است.

 

معرفی Disassemblerها

Disassembler یک برنامه‌ی کامپیوتری است که زبان ماشین را به زبان اسمبلی ترجمه می‌کند (عملیات معکوس نسبت به Assembler). لازم به ذکر است که Disassembler با Decompiler متفاوت است زیرا هدف Decompiler زبانی در سطح بالا است و نه یک زبان اسمبلی. فرمت Disassembly که خروجی Disassembler است، معمولا برای خواندن توسط انسان‌ها تعیین می‌شود، نه برای ورودی یک Assembler و این امر باعث می‌شود که این ابزار اساسا مبتنی بر مهندسی معکوس باشد.

 

ابزارهای شناسایی و طبقه‌بندی

 

ابزارهای دقیق  Dynamic Binary

در زیر به معرفی ابزارهای باینری داینامیک دقیق یا در اصطلاح Dynamic Binary Instrumentation می‌پردازیم.

 

ابزارهای رمزگشایی Mac

ابزار Mac Decrypting به شرح زیر می باشند:

 

معرفی ابزارهای شبیه سازی (Emulator)

 

معرفی ابزارهای آنالیز مستندات

 

تجزیه‌و‌تحلیل داینامیک

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

 

معرفی ابزارهای XOR معکوس و دیگر روش‌های سوء استفاده از کد

 

معرفی ابزارهای Debugging

در این لیست می‌توان ابزاری برای Disassemblerها و Debuggerها و همچنین دیگر ابزار تجزیه‌و‌تحلیل استاتیک و داینامیک را مشاهده کرد.

ابزار Debugging بصورت پلتفرم

ابزار Debugging متعلق به ویندوز

تنها ابزار Debugging متعلق به لینوکس

 

مهندسی معکوس

 

فرمت باینری و تجزیه‌و‌تحلیل باینری

Compound File Binary Format اصلی‌ترین Container مورد استفاده توسط فرمت‌های فایل مختلف مایکروسافت مانند مستندات Microsoft Office و بسته‌های Microsoft Installer می‌باشد.

منابع تجزیه‌و‌تحلیل باینری

معرفی Decompiler

Decompiler برنامه‌ای کامپیوتری است که یک فایل قابل اجرا را به عنوان ورودی می‌گیرد و سعی می‌کند یک سورس فایل سطح بالا بسازد که بتوان آن را به طور موفقیت آمیزی Recompile نمود. در نتیجه نقطه‌ی مقابل Compiler محسوب می‌شود زیرا Compiler یک فایل منبع را می‌گیرد و آن را به فایل قابل اجرا تبدیل می‌نماید.

معرفی  Decompiler پرکاربرد

معرفی Decompilerهای جاوا

معرفی Decompilerهای NET.

معرفی Decompilerهای زبان دلفی

معرفیDecompilerهای زبان پایتون

 

معرفی ابزار تجزیه‌و‌تحلیل Bytecode

 

معرفی ابزارهای Import Reconstruction

 

Sandboxها و اسکنرهای آنلاین

از ابزارهایی که در ادامه معرفی می‌شوند به عنوان اسکنرهای Multi:AV مبتنی بر وب و Sandboxهای بدافزار برای تجزیه‌و‌تحلیل خودکارسازی‌شده استفاده می‌گردد.

 

معرفی تجزیه‌و‌تحلیل مستندات

 

بررسی ابزارهای Scripting

 

معرفی ابزارهای اندروید

 

بررسی منابع Yara

 

Artifactهای ویندوز

 

بررسی ابزارهای Storage و Workflow

 

ابزارهای جمع آوری نمونه‌هایی از بدافزار

 

معرفی دوره‌های آموزشی مهندسی معکوس

 

بررسی دامین‌ها و آدرس‌های IP

 

اسناد و Shellcode

 

معرفی کتاب‌ها در زمینه معندسی معکوس

 

ابزار هوش تهدیدات متن باز

 

معرفی منابع دیگر

برچسب ها: Rootkit, Fuzzy, Shellcode, نمونه‌هایی از بدافزار, Yara, اسکنرهای آنلاین, Decompilerهای زبان پایتون, Decompilerهای جاوا, مهندسی معکوس, ابزار Debugging, آنالیز بدافزار, تجزیه‌و‌تحلیل داینامیک, ابزارهای شبیه سازی, ابزارهای رمزگشایی Mac, ابزارهای شناسایی و طبقه‌بندی, نحوه شناسایی بدافزار, مقابله با بدافزار, روش کار Malware, حذف بدافزار, بدافزار لینوکسی, جعبه شنی, Sand box, تحلیل بدافزار, تجزیه‌وتحلیل بدافزار, malware, تهدیدات سایبری, بدافزار

نوشته شده توسط تیم خبر.

چاپ