Wednesday, July 18, 2012

ASLR to extreme

I was reading about Artificial Immune Systems (more about that in anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r post) and in one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 papers cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 statement was that biological systems increase resiliency by diversity. Furcá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rmore, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y give a contra example in computer networks in which Internet Explorer (at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 paper was written) had 90% market share. It's obvious that when something hits IE, it hits almost cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole Internet. This isn't diversity by any standard.

I think that we have such problems with security in general that we need some new, radical solution. Probably, we are long way from that solution, but it occurred to me that this is exactly what is necessary, diversity that will disallow attackers from influencing single computers and thus large parts of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Internet. Still, it is hard to expect cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re will be N producers of operating systems, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n N of browsers, etc. It's not easy to produce those, it takes long time and huge resources. Now, biological systems are much much older and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365oretically it could be that in some distant future cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re will be such diversity. IMHO, this is questionable, and as I said it's cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365oretically in some distant future, which is why it is beyond cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 point. What we need is something that works now.

If you think a bit what we need is a mutation, that will change computer systems, from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bottom up in unpredictable ways. On cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bottom I'm thinking about parts of a single application, while on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 top I think of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 complex systems consisting of computers and networks. Furcá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rmore, this mutation has to be specific to each system so that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are hardly two similar systems in existence. So, for example, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 computer you work on isn't similar to any ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r computer in use, and, as you use it, it evolves and mutates.

Now, why I mentioned Address Space Layout Randomization (ASLR) in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 title? Because it seems to me to be a step in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 direction of totally mutating everything. Namely, ASLR mutates address space of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 process thus making it unpredictable for attackers and making each systems different. This mutation unfortunately, is restricted because it is too coarse grained, i.e. you move whole libraries, but not functions, of even blocks of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code from which functions are built.

Of course cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are problems. For a start, similarity is a key to maintenance of systems. Companies having a large number of computers try hard to make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m equal, just to lower maintenance costs. Not only that, developers count on similarity to be able to reproduce bugs, and consequently to correct cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m. So, those requirements should eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r be kept in a new system (which in part is contradictory) or new ways of achieving cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same effect (i.e. maintainability).

Finally, mutation has to be dynamic. Namely, even if attacker gets into one system, or part of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system he needs time to discover ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r parts of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system. If mutation is quick enough, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 knowledge that attacker obtains will be worthless before he manages to use it. Not only that, but potentially what he already achieved will evaporate soon.

No comments:

About Me

scientist, consultant, security specialist, networking guy, system administrator, philosopher ;)

Blog Archive