
Hands-on techniques for building and analyzing malware on Windows and Linux
بدافزارها همزمان با پیشرفت سیستمعاملها، برنامههای کاربردی و فناوریهای امنیتی تکامل پیدا میکنند. روشهایی که چند سال پیش برای اجرای کد مخرب یا حفظ دسترسی مهاجم کافی بودند، امروزه ممکن است توسط سامانههای امنیتی، ضدبدافزارها و ابزارهای تشخیص و پاسخ نقطه پایانی شناسایی شوند. در نتیجه، شناخت بدافزار دیگر صرفاً به شناسایی فایلهای مشکوک یا تشخیص خانوادههای شناختهشده بدافزار محدود نمیشود.
برای درک واقعی بدافزار باید بدانید کد مخرب چگونه با سیستمعامل تعامل میکند، چگونه در فرایندها اجرا میشود، چگونه دسترسی خود را حفظ میکند، چگونه ارتباط برقرار میکند و چگونه تلاش میکند از تحلیل و شناسایی فرار کند.
کتاب توسعه بدافزار برای هکرهای اخلاقی، ویرایش دوم با رویکردی عملی به این مفاهیم میپردازد. خواننده در طول کتاب با پیادهسازیهای اثبات مفهوم و آزمایشهای کنترلشده، قابلیتهای مختلف بدافزار را بررسی میکند و از این طریق درک عمیقتری از تکنیکهایی به دست میآورد که در حملات واقعی مورد استفاده قرار میگیرند.
هدف کتاب صرفاً بازتولید تکنیکهای مخرب نیست. تمرکز اصلی بر این است که چرا این تکنیکها کار میکنند، چه ردپاهایی ایجاد میکنند و مدافعان چگونه میتوانند از رفتار و آثار باقیمانده برای شناسایی آنها استفاده کنند.
برای مقابله مؤثر با تهدیدات سایبری، شناخت رفتار مهاجم اهمیت زیادی دارد. تحلیلگر امنیتی باید بداند یک بدافزار در زمان اجرا چه اتفاقی ایجاد میکند و چه تعاملاتی با سیستمعامل دارد.
بدافزار ممکن است:
در حافظه فرایند دیگری اجرا شود
برای اجرای مجدد خود مکانیزم ماندگاری ایجاد کند
اطلاعات سیستم را جمعآوری کند
ورودیهای کاربر را ثبت کند
از روشهای مختلف برای مخفی ماندن استفاده کند
با فرایندهای دیگر تعامل داشته باشد
از قابلیتهای سیستمعامل برای اجرای کد استفاده کند
در برابر ابزارهای تحلیل و اشکالزدایی واکنش نشان دهد
شناخت این رفتارها به متخصصان دفاعی اجازه میدهد نشانههای قابل مشاهده حمله را بهتر تشخیص دهند و ارتباط میان رفتار بدافزار و مکانیزمهای امنیتی را درک کنند.
به همین دلیل، کتاب برای متخصصان تیم قرمز، آزمون نفوذ، تحلیل بدافزار، شکار تهدید و تیم آبی کاربرد دارد.
یکی از ویژگیهای مهم ویرایش دوم کتاب، پوشش دو محیط اصلی سیستمعاملی است.
چهار فصل نخست بر ویندوز تمرکز دارند و خواننده را از آشنایی با خانوادهها و قابلیتهای بدافزار به سمت اجرای کد، تزریق به فرایندها، ماندگاری و تکنیکهای ضدتحلیل و فرار از کنترلهای امنیتی هدایت میکنند.
سه فصل پایانی همین رویکرد عملی را در لینوکس دنبال میکنند و موضوعاتی مانند قالب اجرایی ELF، شلکد، تزریق فرایند، اجرای بدون فایل و روشهای ماندگاری را بررسی میکنند.
کلمات کلیدی:این گستردگی اهمیت زیادی دارد، زیرا لینوکس امروزه فقط در رایانههای شخصی استفاده نمیشود و بخش بزرگی از سرورها، زیرساختهای ابری، کانتینرها و تجهیزات اینترنت اشیا بر پایه آن فعالیت میکنند.
کتاب صرفاً مجموعهای از توضیحات نظری نیست. مفاهیم از طریق آزمایشهای عملی و نمونههای اثبات مفهوم بررسی میشوند.
بخش زیادی از مثالها با زبانهای سی و سیپلاسپلاس ارائه شدهاند و در بخشهای مورد نیاز از زبان اسمبلی و اسکریپتهای کمکی نیز استفاده میشود.
در طول مطالعه با موضوعاتی مانند موارد زیر روبهرو خواهید شد:
قالب اجرایی PE
قالب اجرایی ELF
رابطهای برنامهنویسی سیستمعامل
فراخوانیهای سیستمی
مدیریت حافظه
مدیریت فرایندها
تزریق کد به فرایندها
مکانیزمهای ماندگاری
شلکد
ضدبدافزار
سامانههای تشخیص و پاسخ نقطه پایانی
تحلیل ایستا
تحلیل پویا
ضد اشکالزدایی
ضد ماشین مجازی
این موضوعات در کنار یکدیگر تصویری جامع از نحوه عملکرد بدافزار در سطح سیستمعامل ایجاد میکنند.
فصل نخست با معرفی خانوادههای اصلی بدافزار در محیط ویندوز آغاز میشود و سپس به مفاهیم بنیادی توسعه بدافزار میپردازد.
در ادامه، موضوعاتی مانند پوستههای معکوس و فایلهای PE بررسی میشوند و قابلیتهایی مانند ثبت کلیدهای فشردهشده و سرقت اطلاعات در قالب پیادهسازیهای عملی مورد بررسی قرار میگیرند.
شناخت قالب PE اهمیت زیادی در تحلیل بدافزارهای ویندوزی دارد، زیرا بسیاری از فایلهای اجرایی این سیستمعامل بر اساس همین قالب سازماندهی میشوند.
این فصل پایهای برای فصلهای بعدی ایجاد میکند و خواننده را با رابطه میان کد مخرب، فایل اجرایی، سیستمعامل و فرایند اجرا آشنا میسازد.
پس از آشنایی با قابلیتهای پایه، کتاب به سراغ روشهای اجرای کد و تعامل با فرایندهای ویندوز میرود.
یکی از موضوعات اصلی این فصل تزریق به فرایند است. این تکنیکها به بدافزار اجازه میدهند کد خود را در زمینه یک فرایند دیگر اجرا کند و از این طریق رفتارهایی ایجاد کنند که برای تحلیلگر امنیتی اهمیت زیادی دارند.
فصل موضوعاتی مانند:
اجرای شلکد
تزریق کتابخانه پویا
ربایش کتابخانه پویا
تزریق از طریق APC
اتصال به رابطهای برنامهنویسی
تکنیکهای تزریق فرایند
را با استفاده از نمونههای اثبات مفهوم بررسی میکند.
درک این تکنیکها برای تحلیلگران بدافزار اهمیت زیادی دارد، زیرا بخش مهمی از شناسایی رفتارهای مشکوک در سطح فرایند و حافظه انجام میشود.
اجرای بدافزار تنها بخشی از مسئله است. مهاجم معمولاً میخواهد پس از راهاندازی مجدد سیستم یا ورود دوباره کاربر نیز بتواند دسترسی خود را حفظ کند.
این مفهوم با عنوان ماندگاری بدافزار شناخته میشود.
در این فصل روشهای مختلف ماندگاری در سطح کاربر و مدیر سیستم بررسی میشوند؛ از تکنیکهای مبتنی بر رجیستری گرفته تا سرویسها، ربایش کتابخانههای پویا و روشهای کمتر متعارف.
شناخت این مکانیزمها از دید دفاعی اهمیت زیادی دارد، زیرا به تحلیلگر کمک میکند هنگام بررسی یک سیستم آلوده، محلهایی را که احتمال دارد بدافزار برای اجرای مجدد خود تغییر داده باشد بهتر شناسایی کند.
بدافزارها دائماً در برابر فناوریهای دفاعی تکامل پیدا میکنند. هرچه ابزارهای امنیتی بهتر شوند، مهاجمان نیز به دنبال روشهای جدیدی برای پنهان کردن فعالیت خود هستند.
این فصل به بررسی تکنیکهایی مانند:
ضد اشکالزدایی
ضد ماشین مجازی
فرار از تحلیل
فرار از شناسایی ایستا
فرار از شناسایی پویا
تعامل بدافزار با کنترلهای امنیتی ویندوز
میپردازد.
مفهوم اصلی این فصل را میتوان به صورت یک رقابت دائمی میان مهاجم و مدافع در نظر گرفت. مهاجم تلاش میکند فعالیت خود را مخفی کند و مدافع تلاش میکند نشانههای آن فعالیت را پیدا کند.
برای متخصصان شکار تهدید و تحلیل بدافزار، درک این رقابت برای تشخیص رفتارهای غیرعادی بسیار مهم است.
در نیمه دوم کتاب، تمرکز به محیط لینوکس منتقل میشود.
فصل پنجم ابتدا تصویری از فضای بدافزار در لینوکس ارائه میکند و سپس قابلیتهای بنیادی بدافزار را بررسی میکند.
از جمله موضوعات این فصل میتوان به:
دستکاری فایلهای ELF
درهای پشتی
ثبت ورودی کاربر
سرقت اطلاعات
اشاره کرد.
این فصل نشان میدهد که بسیاری از مفاهیم بدافزار در لینوکس نیز وجود دارند، اما نحوه پیادهسازی آنها با توجه به معماری و سازوکارهای سیستمعامل متفاوت است.
فصل ششم وارد مباحث سطح پایینتر لینوکس میشود و اسمبلی x86_64 و شلکد را بررسی میکند.
سپس موضوعاتی مانند اجرای کد و تزریق فرایند با استفاده از روشهایی مانند:
تغییر مسیر بارگذاری کتابخانهها
تعامل با فرایندها
بارگذارهای سفارشی
اجرای ELF در حافظه
بررسی میشوند.
این مباحث به خواننده کمک میکنند رابطه میان پردازنده، حافظه، سیستمعامل، فرایند و کد اجرایی را بهتر درک کند.
آخرین فصل اصلی کتاب به ماندگاری در محیط لینوکس اختصاص دارد.
روشهای مختلف ماندگاری در سطح کاربر، اجرای زمانبندیشده و ماندگاری در سطح کل سیستم بررسی میشوند.
از جمله موضوعات مورد بررسی میتوان به:
دستکاری تنظیمات پوسته
اجرای زمانبندیشده
سازوکارهای مبتنی بر سیستم
روشهای مرتبط با بارگذار پویا
اشاره کرد.
شناخت این روشها برای تحلیلگران امنیتی اهمیت ویژهای دارد، زیرا بررسی ماندگاری یکی از مراحل مهم هنگام تحلیل یک سیستم مشکوک یا آلوده است.
این کتاب برای مطالعه صرفاً به یک محیط برنامهنویسی محدود نمیشود و مجموعهای از ابزارهای تخصصی امنیت و تحلیل سیستم را در تمرینها به کار میگیرد.
از جمله ابزارهای مورد استفاده میتوان به موارد زیر اشاره کرد:
کامپایلرهای مرتبط با سی
ابزارهای ارتباط شبکه
ابزارهای تولید شلکد
ابزارهای بررسی فایلهای PE
ابزارهای مشاهده و بررسی فرایندها
ابزارهای نظارت بر فعالیت سیستم
اسمبلر
ابزارهای بررسی فایلهای ELF
ابزارهای تحلیل فایلهای باینری
کار با این ابزارها به خواننده کمک میکند مفاهیم کتاب را فقط در سطح نظری دنبال نکند و فرایند مشاهده و تحلیل رفتار برنامهها را در یک محیط کنترلشده تجربه کند.
شناخت قالبهای اجرایی یکی از پایههای تحلیل سطح پایین بدافزار است.
در محیط ویندوز، قالب PE نقش مهمی در ساختار فایلهای اجرایی دارد. در لینوکس نیز قالب ELF یکی از قالبهای اصلی فایلهای اجرایی و کتابخانههاست.
کتاب با قرار دادن این مفاهیم در کنار برنامهنویسی سی، اسمبلی، حافظه و فرایندها، دید عمیقتری نسبت به ساختار فایلهای اجرایی ایجاد میکند.
این دانش میتواند برای افرادی که قصد ورود جدیتر به حوزه مهندسی معکوس و تحلیل بدافزار دارند، اهمیت ویژهای داشته باشد.
در نگاه اول ممکن است توسعه بدافزار موضوعی کاملاً تهاجمی به نظر برسد، اما شناخت نحوه ساخت و اجرای قابلیتهای مخرب میتواند ارزش دفاعی قابل توجهی داشته باشد.
برای مثال، اگر تحلیلگر بداند یک تکنیک خاص تزریق فرایند چگونه کار میکند، بهتر میتواند آثار آن را در رفتار سیستم، حافظه و فرایندها شناسایی کند.
به همین دلیل کتاب از دیدگاه امنیت تهاجمی و امنیت دفاعی قابل استفاده است.
تیم قرمز میتواند از این دانش برای درک رفتارهای مهاجم و ارزیابی کنترلهای امنیتی استفاده کند و تیم آبی میتواند از همان دانش برای شناسایی، تحلیل و مقابله با این رفتارها بهره ببرد.
این کتاب برای متخصصان و دانشجویانی طراحی شده که میخواهند درک عملیتری از تکنیکهای بدافزار داشته باشند، از جمله:
آزمونکنندگان نفوذ
مهندسان تیم قرمز
پژوهشگران بدافزار
تحلیلگران بدافزار
توسعهدهندگان اکسپلویت
شکارچیان تهدید
تحلیلگران تیم آبی
هکرهای اخلاقی
دانشجویان امنیت سایبری
متخصصان امنیت سیستمعامل
علاقهمندان به مهندسی معکوس و تحلیل باینری
آشنایی با سی و سیپلاسپلاس، اسمبلی پایه، مفاهیم داخلی سیستمعامل و اصول امنیت سایبری باعث میشود خواننده بتواند بیشترین استفاده را از مثالها و آزمایشهای کتاب ببرد.
از آنجا که کتاب شامل آزمایشهای عملی مرتبط با قابلیتهای بدافزار است، محیط اجرای تمرینها اهمیت بسیار زیادی دارد.
برای تمرینهای ویندوز، محیط پیشنهادی شامل یک سیستم توسعه مبتنی بر لینوکس و یک ماشین مجازی ویندوز ۱۰ یا ویندوز ۱۱ با معماری ۶۴ بیتی به عنوان هدف است.
برای تمرینهای لینوکس نیز یک محیط توسعه مبتنی بر لینوکس و یک ماشین مجازی اوبونتو به عنوان سیستم هدف پیشنهاد میشود.
استفاده از ماشین مجازی، شبکه ایزوله و نقاط بازگردانی باعث میشود بتوان آزمایشها را بدون ایجاد خطر برای سیستم اصلی انجام داد.
همچنین توصیه میشود برای آزمایشها از حسابهای اختصاصی، دادههای ساختگی و اطلاعات غیرحساس استفاده شود.
مفاهیم ارائهشده در کتاب باید در محیطهای آزمایشگاهی و تحت مجوز مناسب استفاده شوند.
آزمایش تکنیکهای بدافزار روی سیستمهای تولیدی، شبکههای سازمانی یا سیستمهایی که مالک آن نیستید یا مجوز آزمایش آنها را ندارید، میتواند پیامدهای جدی امنیتی و قانونی داشته باشد.
رویکرد صحیح این کتاب، آموزش، پژوهش امنیتی، تحلیل بدافزار، تمرین تیم قرمز و یادگیری دفاع سایبری در محیط کنترلشده است.
هدف این است که خواننده بتواند تکنیک را اجرا کند، رفتار آن را مشاهده کند، آثار ایجادشده را بررسی کند، محیط را به وضعیت سالم بازگرداند و در نهایت درک عمیقتری از سازوکارهای بدافزار و روشهای دفاع در برابر آن به دست آورد.
امنیت سایبری حوزهای است که دائماً تغییر میکند. سیستمعاملها، ابزارهای دفاعی، فناوریهای تشخیص و روشهای مهاجمان همواره در حال تحول هستند.
ویرایش دوم کتاب با گسترش پوشش خود از ویندوز به لینوکس، دید جامعتری نسبت به توسعه و رفتار بدافزار ارائه میدهد.
این موضوع بهخصوص با توجه به نقش گسترده لینوکس در سرورها، زیرساخت ابری، کانتینرها و تجهیزات اینترنت اشیا اهمیت بیشتری پیدا میکند.
در نتیجه، خواننده به جای محدود شدن به یک سیستمعامل، میتواند تفاوتها و شباهتهای رویکردهای بدافزار در دو محیط مهم را بررسی کند.
توسعه بدافزار برای هکرهای اخلاقی، ویرایش دوم کتابی عملی برای افرادی است که میخواهند بدافزار را از سطح شناسایی فایلهای مشکوک فراتر ببرند و سازوکار آن را در سطح سیستمعامل، فرایند، حافظه و فایل اجرایی درک کنند.
کتاب ابتدا با محیط ویندوز شروع میکند و سپس به سراغ لینوکس میرود. در این مسیر موضوعاتی مانند قابلیتهای بدافزار، فایلهای PE و ELF، اجرای شلکد، تزریق فرایند، ماندگاری، ضدتحلیل، فرار از شناسایی، اجرای درون حافظه، سیستمعامل و فراخوانیهای سیستمی بررسی میشوند.
یکی از مهمترین مزیتهای کتاب، اتصال دانش تهاجمی به دیدگاه دفاعی است. خواننده فقط با نحوه کار تکنیکهای مخرب آشنا نمیشود، بلکه یاد میگیرد این تکنیکها چه آثار و رفتارهایی ایجاد میکنند و مدافعان چگونه میتوانند از این آثار برای شناسایی تهدید استفاده کنند.
در نتیجه، این کتاب میتواند منبعی کاربردی برای آزمون نفوذ، تیم قرمز، تحلیل بدافزار، شکار تهدید، تیم آبی، امنیت سیستمعامل و پژوهش امنیتی باشد.
اگر هدف شما درک عمیقتر بدافزار از درون، شناخت تکنیکهای اجرای کد و ماندگاری، تحلیل رفتار بدافزار و درک بهتر روشهای دفاع مدرن در برابر تهدیدات سایبری است، این کتاب یک مسیر عملی و منسجم برای رسیدن به این هدف فراهم میکند.
نمونه چاپ کتاب موجود نیست.
نظرات کاربران (0)