biodiversity
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Investigating the use of metamorphic code to make buffer overflows/return oriented programming harder
Biodiversity

Intro
The goal of this project is to be able to rewrite code so that it is harder for the attacker to exploit the code reliably. This is done by changing the code. Consider it ASLR on crack. How useful it is, is another matter, it depends how people are getting around ASLR, if they are discovering a libraries address in some fashion, it is not useful if they are JIT spraying. Possibly it would only be used by the most security conscious, as it might have some performance overhead.

It would be especially good at making return oriented programming hard. Return oriented programming relies on know where sets of instructions are, it sets up the stack so that it has lists of the required instructions on them and hops around performing the instructions and "return"ing to the next instruction.

Anyway it is interesting and I want to hack on something and may prove useful depending upon the exploit ecosystem.


Problem

So what is the issue? Why hasn't it beend done. When you modify code, you might make code that references point to the wrong place. So you have to know how to be able to modify the code so it keeps the same operational effects. There are two ways you can attempt to do this. Decompile the code and modify the assembler and recompile or store meta data about the code to allow changes without explicit knowledge of what the code is doing.

This is similar to relocatable code, but taken to the next level.



Further Intro
One of the most 



Buffer overflows rely on knowing where 

Return oriented programming

Address space layout randomisation, might help this if the requisite




heap over flow


It is easier for metamorphic virus to work on the assembler code, as then changes can be made. Self-modifying code

Position Independent code

Addresses can be relative or absolute.


Possi


Random References

http://blog.fortinet.com/jit-spraying-in-pdf/
Tyler Durden. Bypassing PaX ASLR protection. Phrack, Volume 0x0b, Issue 0x3b, Phile 0x09.


本源码包内暂不包含可直接显示的源代码文件,请下载源码包。