یک تحلیلگر بدافزار دقیقاً چه میکند؟ پاسخ این سوال، فراتر از یک عنوان شغلی است. ما چندین حرفه را همزمان زندگی میکنیم.

این شاید قابللمسترین بخش کار ما باشد. ما کارآگاهان صحنه جرم دیجیتال هستیم.
یک فایل مشکوک روی یک سرور پیدا میشود. یک ایمیل عجیب با یک پیوست مرموز به دستم میرسد. کسی نمیداند این فایل چه میکند. اینجاست که ما وارد میشویم. درست مثل کارآگاهی که وارد یک اتاق قتل میشود، ما اول از همه به هیچ چیز دست نمیزنیم. فقط مشاهده میکنیم. به این میگویند تحلیل استاتیک.
با ابزارهایی مثل PEStudio یا دستور ساده strings، شروع میکنیم به بررسی اثر انگشتهای دیجیتال. این فایل چه کتابخانههایی را صدا میزند؟ چه رشتههای متنی در آن پنهان شده؟ درست مثل کارآگاهی که یک یادداشت مچاله در جیب قربانی پیدا میکند، ما هم ممکن است در میان هزاران خط کد به هم ریخته، یک آدرس IP، یک اسم دامنه، یا یک جمله رمزنگاریشده پیدا کنیم.
این لحظه، لحظه «کارآگاهبازی» محض است. ما در حال بازسازی یک داستان هستیم. داستانی که نویسندهاش تمام تلاشش را کرده تا ناخوانا بماند. اما هیچ جنایتکاری کامل نیست. همیشه یک نخسیگار، یک اثر کفش، یا در مورد ما، یک رشته متنی نشتیافته وجود دارد. کار ما پیدا کردن این نخها و متصل کردنشان به هم است.
پس در یک جمله: ما ذهن مهاجم را از روی زبالههایی که ناخواسته در کدش جا گذاشته میخوانیم.

حالا یک لایه عمیقتر. ما فقط شواهد فیزیکی را جمع نمیکنیم؛ ما رفتار را تحلیل میکنیم. اینجاست که تبدیل به روانشناس میشویم. نه روانشناس انسانها، که روانشناس کدها.
بدافزار را در یک محیط ایزوله (سندباکس) اجرا میکنیم. مثل اتاقی شیشهای در یک آزمایشگاه روانشناسی. ما این موجود دیجیتال را رها میکنیم و از پشت شیشه رفتارش را زیر نظر میگیریم: اولین کاری که میکند چیست؟ کجاها را نگاه میکند؟ با چه کسی تماس میگیرد؟
اینجا سوال فنی نیست، سوال روانشناختی است: این بدافزار چه شخصیتی دارد؟
آیا عجله دارد؟ یک دانلودر ساده ممکن است بلافاصله شروع کند به دانلود کردن فایل از اینترنت. اما یک باجافزار پیشرفته ممکن است ساعتها یا روزها در سکوت حرکت کند، اطلاعات جمع کند، و بعد در یک لحظه مشخص حمله کند. آیا این برنامه، محتاط است؟ بررسی میکند که نکند در یک سندباکس گیر افتاده باشد؟ آیا زبان سیستم را چک میکند که مثلاً در روسیه اجرا نشود؟ اینها همه تصمیمهایی هستند که در کد نوشته شدهاند.
ما از روی این تصمیمها، نیات مهاجم را میخوانیم. درست مثل روانشناسی که از روی رفتار یک فرد، به انگیزههای پنهانش پی میبرد. یک شرط ساده if country == "IR" then exit در کد، فقط منطق برنامهنویسی نیست؛ یک تصمیم آگاهانه انسانی است که جامه کد پوشیده. ما آن تصمیم را شکار میکنیم.
ما از روی رفتار یک ماشین، به روان انسان پی میبریم.

و میرسیم به فنیترین و در عین حال فلسفیترین بخش کار: مهندسی معکوس. اینجا دیگر یک باستانشناس دیجیتال هستیم.
تصور کن یک لوح سنگی باستانی پیدا کردهای، اما به زبانی نوشته شده که هیچکس نمیفهمد. این لوح، یک بدافزار است که از زبان ماشین (صفر و یک) تشکیل شده. ما با ابزارهایی مثل Ghidra یا IDA Pro، این زبان را به چیزی شبیه به یک زبان انسانی ترجمه میکنیم. بعد لایهبهلایه، این لوح را میخوانیم تا بفهمیم چه دستوراتی روی آن حک شده.
اینجا ذهن مهاجم دیگر حضور ندارد. فقط اثر انگشت منطقیاش باقی مانده. درست مثل باستانشناسی که از روی شکل یک کوزه شکسته، فرهنگ یک تمدن را حدس میزند. ما یک حلقه رمزنگاری را پیدا میکنیم. بررسی میکنیم: نویسنده از چه الگوریتمی استفاده کرده؟ کلید را کجا پنهان کرده؟ چطور این کلید را از دل سیستم بیرون میکشد؟ اینها دیگر فقط کد نیستند؛ اینها اثر انگشت ذهن یک انسان هستند. یک انسان که فکر کرده، طراحی کرده، و سپس اثری خلق کرده که باید تا ابد پنهان میماند. و حالا ما آن را از دل خاک دیجیتال بیرون کشیدهایم.
ما تمدن مهاجم را از روی ویرانههایی که در کد جا گذاشته بازسازی میکنیم.

کار ما وقتی تمام میشود که یک گزارش کامل تحویل بدهیم. این گزارش، محصول نهایی تمام آن کارآگاهبازیها، روانشناسیها و باستانشناسیهاست.
اما نکته اینجاست: این گزارش را چه کسی میخواند؟ مدیران، تیم شبکه، تیم حقوقی، شاید هم مشتریای که از کامپیوتر سر در نمیآورد. ما نمیتوانیم با آنها به زبان اسمبلی یا YARA صحبت کنیم. وظیفه ما این است که دانش فنی عمیق و ترسناک را به زبانی ساده، دقیق و قابل اقدام ترجمه کنیم.
ما مترجمان دو جهان هستیم: جهان تاریک و پر از کدهای مخرب، و جهان انسانهایی که باید از خودشان محافظت کنند. به مدیر میگوییم: «این بدافزار اطلاعات بانکی را هدف میگیرد، باید فلان پورت را ببندیم.» به تیم شبکه میگوییم: «اینها نشانههای آلودگی هستند، اگر این IPها را در ترافیک دیدید، زنگ خطر است.» این ترجمه اگر اشتباه باشد، فاجعه است. اگر خیلی فنی باشد، اجرا نمیشود. اگر خیلی ساده باشد، خطر دستکم گرفته میشود.
ما معنا را از دل کد بیرون میکشیم و آن را برای محافظت از انسانها به زبان خودشان برمیگردانیم.

حالا مهمترین بخش. با تمام این مهارتها—کارآگاهبودن، روانشناسبودن، باستانشناسبودن—ما میتوانستیم یک مهاجم تمامعیار باشیم. میتوانیم کد را بشکنیم، ذهن مهاجم را بخوانیم، و نقاط ضعف را پیدا کنیم. اما یک چیز ما را از مهاجم جدا میکند: نیت نهایی.
تحلیلگر بدافزار، از دانش خود برای محافظت استفاده میکند، نه برای تخریب. ما پادزهر را از زهر میسازیم. وقتی یک بدافزار را کامل میفهمیم، کارمان تمام نمیشود؛ تازه شروع میشود: یک قانون YARA برای شکار نمونههای مشابه مینویسیم. یک توصیه دفاعی برای بستن حفره امنیتی ارائه میدهیم. یک راهکار برای پاکسازی کامل سیستم ارائه میکنیم.
این انتخاب ماست: اینکه فیلسوف بمانیم و از دانش برای خیر استفاده کنیم، یا تبدیل به هیولایی شویم که خودمان مطالعهاش میکنیم. مرز باریک است. اما ما در همان نقطه، یعنی در لحظه نوشتن گزارش و توصیه دفاعی، هویت واقعیمان را انتخاب میکنیم: محافظ.

تحلیلگر بدافزار یک شغل نیست. یک ذهنیت است. ترکیبی از کارآگاه، روانشناس، باستانشناس، مترجم و محافظ. ما کسانی هستیم که به میان تاریکی میرویم، کدهایی را میخوانیم که برای فهمیده نشدن ساخته شدهاند، و آنچه پیدا میکنیم را سپر میکنیم برای محافظت از کسانی که حتی نمیدانند چنین جنگی در جریان است.
دفعه بعد که کسی از شما پرسید «تحلیلگر بدافزار چه کار میکند؟»، میتوانید بگویید: «ما کسانی هستیم که ذهن دشمن را میخوانیم، نه برای تسلیم شدن، که برای محافظت از تو.»
«نیچه، فیلسوفِ مرموزِ آلمانی، در فراسوی نیک و بد هشدار داد: "آنکس که با هیولا میجنگد، باید مراقب باشد که خود بدل به هیولا نشود. اگر مدتی طولانی به پرتگاهی بنگری، پرتگاه نیز به تو چشم میدوزد."
ما تحلیلگران بدافزار، هر روز با هیولاها میجنگیم و به پرتگاهها خیره میشویم. و حالا سوال آخر: ما سالهاست در تاریکی قدم میزنیم، ذهن دشمن را میخوانیم، و از دیگران محافظت میکنیم. اما راستش را بگو: ته شب، در سکوت، چند بار از خودت پرسیدهای که نکند دیگر دیر شده باشد؟ نکند آن تاریکی، بیآنکه بفهمی، در خودت خانه کرده باشد، و تو دیگر نه یک محافظ، که فقط یک تحلیلگر خسته باشی که فرق خیر و شر برایش فقط یک شرط if دیگر است؟»