فهرست:
چکیده 1
مقدمه. 2
فصل 1: آغاز سخن
1-1-مقدمه. 4
1-2- بدافزار های بسته ای 6
1-3- اثر مخرب بد افزار های بسته ای.. 6
1-4-انواع بدافزار های بسته ای شده 7
1-4- روش دفاع. 8
1-5-چگونگی کارکرد بسته ای شده ها 9
1-6-انواع ضد بسته ای ها 10
1-6-1-ضد بسته ای غیر فعال. 11
1-6-2- ضد بسته فعال. 11
1-7-فصل های این پژوهش... 12
1-8-نتیجه گیری.. 12
فصل 2 : مفاهیم بنیادی
2-1- مقدمه. 14
2-2- رابط برنامه نویسی کاربردی.. 14
2-2-1- اما نقش رابط برنامه نویسی کاربردی در برنامه نویسی.. 15
2-2-2- علت استفاده از توابع رابط برنامه نویسی کاربردیدربرنامهنویسی.. 15
2-2-3 پرونده های DLL. 16
2-2-4 مشخصات توابع رابط برنامه نویسی کاربردی.. 18
2-2-5 ارائه چند کد برخی از توابع رابط برنامه نویسی کاربردی.. 19
2-3 بلوک محیطی فرآیند. 29
2-4- جدول آدرس واردات... 32
2-5- پرونده اجرایی قابل حمل.. 32
2-5-1 - روند اجرای فایل های پرونده اجرایی قابل حمل.. 34
فصل 3 : پک و آنپک
3-1-مقدمه. 37
3-2-شکل برنامه های بسته ای شده ها 37
3-3-زیربر نامه باز کننده بسته. 38
3-4- بارگذاری برنامه قابل اجرا 39
3-5- تجزیه و تحلیل داده ها ی ورودی 40
3-6- talijamp. 41
3-7 محاسبه بی نظمی ها 42
3-8 غیر بسته ای کردن. 43
3-8-1 خودکار. 43
3-8-2-غیر خودکار 44
3-9- یافتن نقطه اصلی ورودی.. 46
3-9-1-استفاده از یک ابزار خودکار در یافتن نقطه ورودی اصلی.. 46
3-9-2-یافتن نقطه ورودی اصلی بصورت دستی.. 47
3-10- اصلاح جدول ورودی بطور دستی.. 51
3-11- راه ها و روش ها برای بسته بندی های رایج.. 53
3-11-1-UPX1. 53
3-11-2- PE Compact 54
3-11-3- ASPack. 54
3-11-4- Petit 55
3-11-5-WinUpack. 56
3-11-6Themida- 58
3-12 آنالیز بدون باز کردن کامل.. 59
3-13- DLL بسته شده 60
نتیجه گیری.. 61
فصل 4 : ضد اشکال زدایی
4-1- مقدمه. 63
4-2- آشکار سازی اشکال زدایی.. 63
4-2-1- به وسیله رابط برنامه نویسی کاربردیویندوز. 63
4-3- بررسی دستی ساختارها 66
4-3-1- بررسی نشانه BeingDebugged. 66
4-3-2- بررسی نشانه ProcessHeap. 68
4-3-3- بررسی NTGlobalFlag. 69
4-4- بررسی باقی مانده سیستم. 70
4-5- تشخیص رفتار اشکال زدا 71
4-5-1- اسکن INT. 71
4-5-2-اجرای حاصل جمع کنترل کد. 72
4-6- بررسی های زمان. 73
4-6-1- استفاده از دستور rdtsc. 73
4-6-2- استفاده از Qurey PErformance counter و Get tikcount 74
4-7- رویارویی با قابلیتهای اشکال زدا 75
4-7-1- استفاده از فراخوانی های انبار محلی.. 76
4-8-استفاده از استثناها 79
4-9- وارد کردن وقفه ها 80
4-9-1- وارد کردن INT3. 81
4-9-2- واردکردنINT2D.. 81
4-9-3- وارد کردنICE. 82
4-10- آسیب های اشکال زدا 82
4-10-1- آسیب های سرآیند. 82
4-10-2-آسیب output debug string. 85
4-11- نتیجه گیری.. 85
فصل 5 : مترسک
5-1- مقدمه. 88
5-2- مترسک چیست؟. 88
5-3- نمودار کلی کار. 90
5-4- استفاده از رابط برنامه نویسی کاربردی.. 91
5-3- استفاده از مسیر دستی ساختارها 91
۵-۳-۱- الگورینم مترسک با کمک نشانهها 92
5-3-2- نمودار الگوریتم قبلی.. 93
5-4- پیاده سازی عملی مترسک... 94
5-4-2- تابع Get tick count 94
5-4-3- الگوریتم ساخت مترسک به کمک تابع Get tick count 95
5-4-3- نمودار ساخت مترسک به کمک تابع Get tick count 95
5-4-4- نمودار الگوریتم ساخت مترسک به کمک تابع Get tick count 96
5-4-5-ساخت فایل ها 98
5-4-3- ساخت مترسک با تابع NtGlobalFlag. 101
فصل 6 : نتیجه گیری
6-1- مقدمه. 104
6-2-آنالیز بدافزارها 105
6-2-1– پویا 105
6-2-2– ایستا 106
6-2-3- مطالعه روشهای ضد تحلیل.. 107
6-3-روشهای مطرح در این پژوهش... 108
6-4- نتیجه پایانی.. 109
منابع و مأخذ
منابع و مأخذ. 111
چکیده انگلیسی............................................................................................................... 114
منبع:
31-Proceedings of ACM symposium on operating systems principles (SOSP); 2007.
ASPACK SOFTWARE. ASPack for Windows, 2007.bart. FSG: [F]ast [S]mall [G]ood exe packer, 2005.
Avijit K., Gupta D., “Binary rewriting and call interception for efficientruntime protection against buffer overflow .pdf” , Software :
Blinkinc. Shrinker 3.4, 2008.
Das M. Unification-based pointer analysis with directional assignments. In: Proceedings of the 2000 ACM SIGPLAN conference on programming language design and implementation (PLDI); 2000. p. 35e46.
Decker A, Sancho D, Kharouni L, Goncharov M, McArdle R. Pushdo/Cutwail: a study of the Pushdo/Cutwail botnet. Trend Micro Technical Report. TechRepublic; May 2009.
Dwing. WinUpack 0.39final, 2006.
Garfinkel T, Rosenblum M. A virtual machine introspection based architecture for intrusion detection. In: Proceedings of the 10th annual network and distributed system security symposium (NDSS ’03); 2003.
Hind M. Pointer analysis: haven’t we solved this problem yet? In: Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering; 2001. p. 54e61.
Hund R, Holz T, Freiling FC. Return-oriented rootkits: bypassing kernel code integrity protection mechanisms. In: Proceedings of the 18th USENIX security symposium; 2009.
Jiang X, Wang X, Xu D. Stealthy malware detection through VMM-based “Out-Of-the-Box” semantic view reconstruction. In: Proceedings of ACM conference on computer and communications security (CCS’07); 2007.
Jinpeng Wei received a PhD in Computer Science from Georgia Institute of Technology, Atlanta, GA in 2009.\
Joe Stewart. OllyBonE v0.1, Break-on-Execute for OllyDbg, 2006.
Kiriansky V, Bruening D, Amarasinghe S. Secure execution via program shepherding. In: Proceedings of the 11th USENIX security symposium; August 2002.
Kwiatek L, Litawa S. Yet another Rustock analysis. Virus Bulletin; August 2008.
Lanzi A, Sharif M, Lee W. K-Tracer: a system for extracting kernel malware behavior. In: Proceedings of the 16th annual network and distributed system security symposium (NDSS’09); 2009.
Litty L, Lagar-Cavilla HA, Lie D. Hypervisor support for identifying covertly executing binaries. In: Proceedings of the 17th USENIX security symposium; 2008.
Lorenzo Martignoni, Mihai Christodorescu, and Somesh Jha. OmniUnpack: Fast, Generic, and Safe Unpacking of Malware. In 23rd Annual Computer Security Applications Conference (ACSAC), 2007.
Markus F.X.J. Oberhumer, Lszl Molnr, and John F. Reiser. UPX: the Ultimate Packer for eXecutables, 2007.
Microsoft. Using timer objects, http://msdn.microsoft.com/en-us/ library/ff565561.aspx.
Necula GC, McPeak S, Rahul SP. Weimer W. CIL: intermediate language and tools for analysis and transformation of C programs. In: Proceedings of Conference on Compiler Construction (CC), Grenoble, France; Apr. 2002.
Oreans Technology. Themida: Advanced Windows Software Protection System, 2008.
Peter Ferrie. Attacks on Virtual Machines. In Proceedings of AVAR Conference, 2006.
Petroni N, Fraser T, Molina J, Arbaugh WA. Copilotda coprocessor-based kernel runtime integrity monitor. In: Proceedings of USENIX security symposium’04; August 2004.
Petroni N, Hicks M. Automated detection of persistent kernel control-flow attacks. In: Proceedings of ACM conference on computer and communications security (CCS’07); 2007.
PRACTICALMALWARE ANALYSIS The Hands-On Guide toDissecting Malicious Software 2012
Prakash C. What makes the Rustocks tick! In: Proceedings of the 11th association of anti-virus Asia researchers international conference (AVAR’08), New Delhi, India, http://www. sunbeltsecurity.com/dl/WhatMakesRustocksTick.pdf; 2008.
Riley R, Jiang X, Xu D. Guest-transparent prevention of kernel rootkits with VMM-based memory shadowing. In: Proceedings of the 11th international symposium on recent advances in intrusion detection (RAID’08); 2008.
Riley R, Jiang X, Xu D. Multi-aspect profiling of kernel rootkit behavior. In: EuroSys ’09: Proceedings of the 4th European conference on computer systems; 2009.
Rutkowska J. System virginity verifier. In: Hack in the box security conference. Invisible things website,
http://www.invisiblethings.org/papers/hitb05_virginity_verifier.ppt; September 2005 [accessed March 2011].
Seshadri A, Luk M, Qu N, Perrig A. SecVisor: a tiny hypervisor to provide lifetime kernel code integrity for commodity OSes. In:
Shacham H. The geometry of innocent flesh on the bone: returninto-libc without function calls (on the x86). In: Proceedings of ACM conference on computer and communications security (CCS’07); 2007.
Silicon Realms. Armadillo/SoftwarePassport, 2008.
Solar Designer. Bugtraq: getting around non-executable stack (and fix). Website, http://seclists.org/bugtraq/1997/Aug/63; 1997 [accessed March 2011].
Symantec Corporation, 2008.
Venkataramani G, Roemer B, Solihin Y, Prvulovic M. MemTracker: efficient and programmable support for memory access monitoring and debugging. In: Proceedings of the 13th IEEE international symposium on high-performance computer architecture (HPCA-13); February 2007. p. 273e4.
VMProtect. VMProtect, 2008
Wang Y-M, Beck D, Vho B, Roussev R, Verbowski C. Detecting stealth software with Strider GhostBuster. In: Proceedings of the 35th international conference on dependable systems and networks (DSN ’05); 2005.
Wang Z, Jiang X, Cui W, Ning P. Countering kernel rootkits with lightweight hook protection. In: Proceedings of ACM conference on computer and communications security (CCS ’09); 2009.
Wang Z, Jiang X, Cui W, Wang X. Countering persistent kernel rootkits through systematic hook discovery. In: Proceedings of the 11th international symposium on recent advances in intrusion detection (RAID’08); 2008.
Wei J, Payne BD, Giffin J, Pu C. Soft-timer driven transient kernel control flow attacks and defense. In: Proceedings of the 24th annual computer security applications conference; December, 2008.
Wei J, Pu C. Multiprocessors may reduce system dependability under file-based race condition attacks. In: Proceedings of the 37th annual IEEE/IFIP international conference on dependable systems and networks (DSN’07), Edinburgh, UK; June 25e28, 2007.
Yin H, Liang Z, Song. D. HookFinder: identifying and understanding malware hooking behaviors. In: Proceedings of the 15th annual network and distributed system security symposium (NDSS’08); 2008.
Yin H, Poosankam P, Hanna S, Song D. HookScout: proactive binary-centric hook detection. In: Proceedings of the 7th conference on detection of intrusions and malware & vulnerability assessment, Bonn, Germany; July 2010.
Yin H, Song D, Egele M, Kruegel C, Kirda E. Panorama: capturing system-wide information flow for malware detection and analysis. In: Proceedings of ACM conference on computer and communications security (CCS ’07); 2007.