ماهیت یک بدافزار چیست؟ این سوال میتواند با توجه به تنوع بدافزارها، پاسخهای گوناگونی داشته باشد.
به نقل از مجله بایت، عدهای گمان میکنند که یک بدافزار، تنها یک فایل اجرایی است. البته بیشتر بدافزارها، فایلهای اجرایی هستند اما همیشه اینطور نیست.
در سیستمعاملها مفاهیمی مانند سرویس، کتابخانه و دستورالعمل وجود دارند. این ابزارها، فایلهای غیراجرایی هستند اما در عملکرد فایلهای اجرایی تاثیر میگذارند.
بهعنوان نمونه، سیستمعاملهای ویندوز از یک فایل بهنام SVCHost.exe بهره میبرد که خود بهتنهایی کار خاصی انجام نمیدهد اما خدمات بسیاری در اختیار همه نرمافزارها قرار میدهد. SVCHost.exe یک میزبان برای فایلهای کتابخانهای است.
هر نرمافزاری برای اجرا شدن، به دستهای از این فایلها نیازمند است.
ممکن است برخی از این فایلهای کتابخانهای توسط 2 یا تعداد بیشتری نرمافزار بهکار آیند بنابراین سیستمعامل بهجای فراخوانی این فایلها به دفعات مورد نیاز، این فایلها را تنها یکبار از طریق SVCHost.exe فراخوانی میکند.
از این به بعد هر نرمافزاری که به این فایلها نیازمند باشد میتواند اطلاعات مورد نیاز خود را از SVCHost.exe دریافت کند.
این یک مورد از دهها کاربرد SVCHost.exe است که بیشتر از دیگر تواناییهای آن، در جهت مقاصد بدافزاری بهکار گرفته میشود.
تغییر در ماهیت این فایل و یا بارگذاری یک DLL خطرناک توسط این برنامه، 2 اتفاق خطرآفرینی است که از کنار این فایل اجرایی پیش میآید بنابراین بدافزارها لزوما فایلهای اجرایی نیستند.
با دریافت این مفهوم میتوانید معنای اجرای یک بدافزار از طریق یک فایل غیرآلوده را بهتر درک کنید.
امروزه بدافزارهایی که بهطور مستقیم بهشکل یک فایل اجرایی نمود پیدا میکنند، از مد افتادهاند.
بدافزارهای پیشرفته امروزی، از برنامههای کاربردی سیستمعامل بهرهبرداری کرده و خود آنها همیشه بهشکل فایلهای بیآزار، پنهان باقی میمانند.
بهعنوان نمونه، بدافزار Stuxnet که حاشیههای فراوانی نیز داشته است، در فایلهای Tmp ذخیره میشود.
یک فایل Tmp شامل اطلاعاتی است که بهطور موقت بهوسیله یک نرمافزار بهکار گرفته میشوند.
نرمافزارها، اطلاعات مورد نیاز خود را در این فایلها ذخیره کرده و پس از رفع نیاز، آنها را پاک میکنند. اطلاعاتی که در این فایلها ذخیره میشوند، قابل رمز شدن هستند چرا که نرمافزارها اجازه دارند عملکرد خود را مخفی نگه دارند تا هرکسی نتواند از الگوریتمها و روشهای کلیدی آنها برای ذخیره اطلاعات تقلید کند.
یک فایل Tmp لزوما آلوده نیست اما میتواند حامل دستورالعملها و کدهای اجرایی مخرب نیز باشد.
کرم و تروجان Stuxnet در فایلهایی با نامهای wtr4132.tmp و wtr4141.tmp در مسیر ریشه یا یکی از پوشههای فلشمموری ذخیره میشود.
خوب است بدانید که Stuxnet یک بدافزار نیست بلکه خانوادهای از بدافزارها را شامل میشود که هر یک از اعضای این خانواده، نقش یکی از اعضای یک تیم برای آلوده کردن رایانهها را ایفا میکنند.
اکنون این فایلهای غیراجرایی به یک اهرم برای اجرا شدن نیازمند هستند؛ اینجاست که بسیاری از بدافزارها مانند Stuxnet از یکی از آسیبپذیریهای ویندوز بهرهبرداری میکنند.
Exploit:Win32/CplLnk.A نام یکی از روشهای سوءاستفاده از آسیبپذیری لینکها و Shortcutها در سیستمعاملهای ویندوز است.
در این آسیبپذیری، کاربر میتواند در یک پوشه و یا در پنجره دیالوگ Autorun با یک LNK روبهرو شود که به ظاهر به یک فایل بیخطر اشاره میکند؛ حتی در بررسی دقیق این فایلها نیز هیچ نکته نادرستی دیده نمیشود اما فایل LNK برخلاف آنچه ظاهرش نشان میدهد، بدافزار را اجرا میکند.
این بدافزار میتواند در دل یک فایل Tmp نیز ذخیره شده باشد.
فایلهای LNK پسوند ندارند و کاربر نمیتواند پسوند آنها را بدون مشاهده Properties مشاهده کند.
خود فایل LNK هیچ آلودگی خاصی ندارد بلکه تنها یک رشته است که به نشانی مقصد اشاره دارد.
مقصد ظاهری این فایل، یک فایل اجرایی مانند Windows Explorer است و مقصد واقعی آن، یک فایل Tmp است که رمز شده بوده و از نگاه آنتیویروس و کاربر، بدافزار نیست.
تنها راه در امان ماندن از این نوع حملات، رفع آسیبپذیری است.
خوشبختانه مایکروسافت خیلی زود آسیبپذیری LNK را در سیستمعاملهای ویندوز مرتفع کرد اما متاسفانه همچنان بدافزارهایی مانند Stuxnet که از این آسیبپذیری استفاده میکنند، ریشهکن نشدهاند و این بدین معناست که کاربران به دریافت بهروزرسانیهای سیستمعامل خود سستی میکنند.