بهبود روش OmniUnpack جهت بازگشایی عمومی فایل اجرایی قابل‌حمل با ردیابی صفحات حافظه

نوع مقاله : مقاله پژوهشی

نویسندگان

1 دانشجوی کارشناسی ارشد، دانشگاه آزاد شبستر

2 دانشیار، دانشگاه علم و صنعت ایران

چکیده

تحلیل­گران در گذشته جهت تشخیص بدافزار و تحلیل رفتار فایل اجرایی از مقایسه امضای فایل استفاده می­کردند. نویسندگان بدافزارهای پیشرفته و جدید برای دور زدن بررسی امضا از روش­های مبهم­سازی جهت پنهان­سازی اطلاعات استفاده کردند که بیشترین، مهم­ترین و کارآمدترین روش مبهم­سازی، بسته­بندی کردن است. این روش بدون اینکه به رفتار فایل اجرایی اصلی صدمه­ای بزند، ترتیب کدهای آن را به‌هم ‌ریخته، رمزگذاری کرده و حتی کد را فشرده می­کند و کد اصلی تا زمانی که اجرا نشده مبهم می­ماند. روش­هایی که هم‌اکنون برای بازگشایی این‌گونه فایل­ها استفاده می­کنند اغلب روش­هایی هستند که به‌صورت خاص به­ازای هر نوع بسته­بندی­کننده بازگشایی­کننده مخصوص آن فایل را ایجاد می­کنند. روش­های دیگری نیز همچون Renovo، OmniUnpack برای بازگشایی وجود دارند که به‌عنوان   بازگشایی­کننده­های عمومی شناخته می­شوند و در واقع ضعف روش­های قبلی در رابطه با نیاز به دانش از نوع بسته­بندی­کننده را پوشش   می­دهند، اما مشکل اصلی آن‌ها یافتن نقطه ورود اصلی برنامه یا همان انتهای بخش بازگشایی است. در اینجا برای برطرف کردن این مشکل روشی ارائه شد که با استفاده از ردیابی صفحات حافظه و پیگیری صفحات نوشته‌شده و سپس اجراشده این نقطه را شناسایی می­کند و سپس از آن ناحیه فایل جدیدی که بازگشایی ‌شده است ساخته می­شود تا اولاً نیازی به دانش از نوع بسته­بندی­کننده وجود نداشته باشد و دوما برای بسته­بندی­کننده­هایی که در آینده ایجاد می­شوند نیز بتواند مورد استفاده قرار گیرد. در نهایت در بخش ارزیابی نشان داده خواهد شد که درصد بسیار بالایی از بسته­بندی­کننده­های فعلی را می­توان با آن بازگشایی نمود (بالای ۹۰%) و در موتور ضد بدافزارها از آن استفاده نمود.

کلیدواژه‌ها


عنوان مقاله [English]

Improving Omniunpack Alghorithm in Generic Unpacking PE File with Page Monitoring

نویسندگان [English]

  • Y. Shakoori 1
  • S. Parsa 2
1 azad university
2 iran university of science and technology
چکیده [English]

Analysts used file signature comparison to detect malware and analyze the behavior of the executable file in the past. To prevent signature examination, the authors of the new and advanced malware used obfuscation methods to hide information, of which packaging is the most important and the most efficient one. This method encrypts and compresses the code, without harming the behavior of the original executable file and the code is obscure until it is executed. The methods that are now used to unpack these files are often methods that are specially designed for each type of packer for that file. There are other methods, such as Renovo and OmniUnpack for reopening that are known as public reopens, and actually cover the weakness of previous approaches which is the need to know the type of packager, but their main problem is finding the original point. The main entry of the program is the end of the unpacking section. Our approach to fix this problem is a method that detects this point using tracking memory pages and monitoring pages, then executes it, and then dumps the memory for creating a new file that has been unpacked. Our method has two advantages: first, there is no need for knowledge of packaging type, and second it can also be used for packers that are created in the future. Finally, in the evaluation section, we have shown that this method has a very high performance for current packers and more than 90% of them can be unpacked with it, so it can be used on an antivirus engine.       

کلیدواژه‌ها [English]

  • Generic unpacking
  • Packing
  • Tracking page memory
  • Static analyze
  • Dynamic analyze
  • PE file
  1. A. Sharma and S. K. Sahay, “Evolution and Detection of Polymorphic and Metamorphic Malwares,” International Journal of Computer Applications, vol. 90, no. 2, p. 7, June 2014.##
  2. W. Yang, A. Yuanyuan, Z. Juanru, L. Junliang S. Bodong, L. Wenjun, and  H. Dawu Gu,  “Bytecode Decrypting and DEX Reassembling for Packed Android Malware,” Part of the Lecture Notes in Computer Science book series (LNCS, volume 9404), Dec. 2015.##
  3. S. Jain and Y. K. Meena, “Byte Level n–Gram Analysis for Malware Detection,” In: K. R.Venugopal, L. M. Patnaik, (eds.) ICIP 2011. CCIS, vol. 157, pp. 51–59, Springer, Heidelberg, 2011.##
  4. T. Graf, “Generic unpacking: How to handle modified or unknown PE compression engines,” Virus Bulletin, 2005.##
  5. L. Martignoni, Ch. Mihai, and J. Somesh, “Omniunpack: Fast, generic, and safe unpacking of malware,” In Computer Security Applications Conference, 2007. ACSAC 2007. Twenty-Third Annual, pp. 431-441. IEEE, 2007.##
  6. N. Pors, “The Effectiveness of Self-Mutating Malware Detection Techniques,” Utica College, ProQuest Dissertations Publishing, May 2017.##
  7. X. Tan, “Anti-unpacker tricks in malicious code,” In Proceedings of 10th Annual AVAR International Conference, 2007.##
  8. M. Christodorescu, J. Somesh, K. Johannes, K. Stefan, and V. Helmut, “Software transformations to improve malware detection,” Journal in Computer Virology 3, no. 4, pp. 253-265, 2007.##
  9. S. Huda, J. Abawajy, M. Alazab, M. Abdollalihian, R. Islam, and J. Yearwood, “Hybrids of support vector machine wrapper and filter based framework for malware detection,” Future Generation Computer Systems, vol. 55, Issue C, pp. 376-390, Feb. 2016.##
  10. G. Pék, E. Author, Z. Lázár, Z. Várnagy, M. Félegyházi, and L. Buttyán, “A Posteriori Detection of Malicious Code Loading by Memory Paging Analysis,” ESORICS 2016: Computer Security – ESORICS 2016, pp.199-216, Sep. 2016.##

 11.     S. Najari and E. Terik, “Common features of destructive detection methods using learning techniques,” The 9th Symposium on Advances in Science and Technology (9thSASTech), Mashhad, Iran, Dec. 2014.##

  1. G. C. Kessler, “Anti-forensics and the digital investigator,” In Australian Digital Forensics Conference, p. 1, 2007.##
  2. Y. Park, “We can still crack you! general unpacking method for android packer (not root),” In: Black Hat Asia, 2015.##
  3. M. G. Kang, P. Pongsin, and Y. Heng, “Renovo: A hidden code extractor for packed executables,” In Proceedings of the 2007 ACM workshop on Recurring malcode, ACM, pp. 46-53, 2007.##
  4. D. Regalado, H. Shon, H. Allen, E. Chris, N. Jonathan, S. Branko, L. Ryan, and S. Stephen, “Gray Hat Hacking the Ethical Hacker's Handbook,” McGraw-Hill Education Group, 2015.##
  5. P. Battista, F. Mercaldo, and V. Nardone, A. Santone, and C. A. Visaggio, “Identification Malware Families with Model Checking,” Department of Engineering, University of Sannio, Benevento, Italy, sept. 2015.##

 17.     P. Szor, “The art of computer virus research and defense, Pearson Education, 2005.##

  1. S. Jose, “Deep Packer Inspection: A Longitudinal Study of the Complexity of Run-Time Packers,” 2015 IEEE Symposium on Security and Privacy (SP) (2015). CA, USA, May 2015.##
  2. J. Rajendran, V. Vedula, T. Labs, Austin, and R. Karri, “Detecting malicious modifications of data in third-party intellectual property cores,” DAC '15 Proceedings of the 52nd Annual Design Automation Conference Article, no. 112, June 2015.##
  3. J. Caballero, U. Zurtuza, and J. Ricardo, “Detection of Intrusions and Malware, and Vulnerability Assessment,” 13th International Conference, DIMVA 2016, San Sebastián, Spain, July 7-8, 2016.##
  4. A. Arora, T. Stallings, R. Hasan, and G. Warner, “Malware Secrets: De-Obfuscating in the Cloud,” June 2017.##