ارائه روشی برای تشخیص بدافزارصها با استفاده از تکنیک های یادگیری ماشین
/حسین ابوسعیدی جیرفتی
: تبریز
، ۱۳۹۶
، راشدی
چاپی
کارشناسی ارشد
علوم کامپیوتر گرایش سیستم های کامپیوتری
۱۳۹۶/۰۶/۱۵
تبریز
ضرورت شناسایی بدافزارها این است که امروزه طراحان بدافزارها بسیار هدفمند به تولید نرمافزارهای مخرب میپردازند .مهمترین روشی که ضد بدافزارها در مقابل این بدافزارها استفاده میصکنند، از طریق امضا است .این روشها مبتنی بر یک پایگاه داده از توصیفها یا امضاها هستند تا بتوانند بدافزار را تشخیص دهند .هر موقع که یک بدافزار ناشناخته پیدا شود این پایگاه داده باید به روز شود تا ضد بدافزار بتواند آن را شناسایی کند .از این رو روشهای مرسوم مبتنی بر امضا قادر به شناسایی بدافزارهای جدید نیستند، زیرا آنها امضا برای نمونههای جدید از بدافزارها) فایلصهای اجرایی مخرب (در دست ندارند .با توجه به این که همه روزه بر تعداد و نوع بدافزارصها افزوده میصشود عملا حجم پایگاه داده مورد استفاده برای تشخیص بدافزارها از طریق امضا نیز در حال افزایش است که این امر از لحاظ سرعت تشخیص و استفاده از منابع بسیار ناکارآمد است، برای این منظور به روش جدیدی که از دقت بالا، امکان تشخیص بدافزارهای جدید و عدم نیاز به استفاده زیاد از منابع، برخوردار باشد، نیاز داریم .لذا در پایاننامه پیشصرو با استفاده از روشصهای یادگیری ماشین و تحلیل رفتار پویا یک فایل اجرایی مخرب مبادرت به شناسایی مخربصها با دقت بالا خواهیم نمود .به این صورت که ابتدا ما با استفاده از یک دیباگر فایلصهای اجرایی را مورد تجزیه و تحلیل قرار دادیم وdll صها را به عنوان ویژگی استخراج کردیم در نهایت از ترکیب نتایج چند الگوریتم یادگیری ماشین به نامصهایDT ، MLP و SVM با استفاده از قاعده رای اکثریت برای بهبود دقت استفاده کردیم .نتایج حاصل، از بهبود بسیار بهتری در مقایسه با کارهاصی گذشته برخوردار بودند این نتایج برای دقت کل و نرخ تشخیص مخربصها، به ترتیب برابر است با ۹۱/۹۸ ، . ۷۰/۹۹ همچنین در نرخ مثبت کاذب، راهصکار ما در مقایسه با برخی از کارصهای گذشته بهبود بسیار خوبی ایجاد میصکند که برابر است با . ۲۰/۴ راهصکار ارائه شده در این پایانصنامه علاوه بر نتایج بالا در برابر کد-های مبهمصسازی شده، کدصهای فشرده شده و یا رمزشده نیز کارآمد است .این راهصکار امکان تشخیص مخربصهای جدید را فراهم میصآورد و از منابع کمی استفاده میصکند
The necessity of identifying malwares is that nowadays the designers of different malwares try to create malicious softwares purposefully. The most significant way utilized by anti-malwares against these malwares is through signature. These methods are on the basis of a database of descriptions or signatures, so they can detect malwares. Whenever an unknown malware is found, this database should be updated, so the anti-malware can detect it. Therefore, conventional methods based on signature are not able to detect new malwares, because they do not contain the signatures for the new samples of malwares (malicious executable files). Considering the fact that there is a constant increase in the number and kinds of malwares, practically the volume of database used for malware detection through signatures is increasing which is very inconvenient regarding the issue of detection speed and using resources; for this purpose, we need a new way with high precision, the ability to detect new malwares and undependability on constant usage of resources. Therefore, in this study, by using machine-learning methods and dynamic behavior analysis of a malicious executable file, we intend to detect malwares with high precision. First, we used a debugger to analyze executable files and extracted the dlls as traits. Eventually, we used the combination of a few machine-learning algorithms under the names of MLP, DT, and SVM, by using the rule of the majority. The results showed a great improvement compared to the previous works. These results are 98.91 , 99.70 , for overall accuracy, and detection rate of malicious executable files respectively. Also, in the False Positive rate, our method provides a very good improvement compared to some of the previous works which is 4.20 . The presented method in this thesis is convenient against obfuscated codes, compressed or encoded codes besides the above-given results. This method provides the ability to detect new malicious executable files and uses few resources as well