- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Windows Vista Exploitation Countermeasures.ppt
The majority of currently exploited vulnerabilities in Microsoft products are overflows into heap memory Heap exploitation relies on corrupting heap management data or attacking application data within the heap Class objects contain a list of function pointers for each virtual function in the class called a vtable class MyClass { public: MyClass(); virtual ~MyClass(); virtual MemberFunction(); int MemberVariable; }; Overwriting virtual function pointers is the simplest method of heap exploitation VTable Overwrites HEAP_ENTRY Overflow Scenario: Heap-based buffer overflow allows for writing into adjacent free heap block Attack: Overwrite FLINK and BLINK values and wait for HeapAlloc() Allows one or two 4-byte writes to controlled locations mov dword ptr [ecx],eaxmov dword ptr [eax+4],ecx EAX = Flink, EBX = Blink FREE HEAP BLOCK_HEAP_ENTRY +0x000 Size +0x002 PreviousSize +0x004 SmallTagIndex +0x005 Flags +0x006 UnusedBytes +0x007 SegmentIndex _LIST_ENTRY +0x000 Flink +0x004 Blink HEAP_ENTRY Overflow Mitigations in XP SP2 List integrity checked during heap allocation 8-bit Cookie Verified on allocation after removal from free list LIST_ENTRY-Flink-Blink == LIST_ENTRY-Blink-Flink == LIST_ENTRY HEAP_ENTRY Overflow Mitigations in XP SP2 Defeated by attacking the lookaside list First heap overwrite takes control of Flink value in a free chunk with a lookaside list entry Allocation of the corrupted chunk puts the corrupt Flink value into the lookaside list Next HeapAlloc() of the same sized chunk will return the corrupted pointer Heap segment randomization HEAP_ENTRY integrity checks Block entry randomization Linked-list validation and substitution Function pointer hardening Terminate on Error HEAP_ENTRY Checksum for Size and Flags Size, Flags, Checksum, and PreviousSize are XOR’d against random value Adds extra resilience against overflows into Flink and Blink values Memory corruption vulnerability exposure can be mitigat
您可能关注的文档
- MBA运营管理-4工艺.ppt
- MCSE Guide to Microsoft Windows 7.ppt
- MCTS Guide to Microsoft Windows 7.ppt
- MCTS Guide to Microsoft Windows Vista.ppt
- Memory-Limited Execution of Windowed Stream Joins.ppt
- MGT305 Windows PowerShell Next Generation Command …….ppt
- MGT309 Overview of Windows Server Update Services …….ppt
- Michael Harrington ( 1928 - 1989 ) - 外国语言文化....ppt
- Microsoft ® Windows.ppt
- Microsoft Visual Basic 2005 for Windows and Mobile…….ppt
文档评论(0)