EvoSec 2025W Lecture 8
Discussion Questions
- How does Tierra work? Specifically, how does program control flow work, how do programs reproduce, and how do they die?
- To what extent is Tierra a simple model of the computer security problem?
When you report back, focus on the second question (as well as any other random observations). But make sure you go through the first so you all understand what is going on.
Come back at noon!
Notes
Lecture 8 --------- Discussion questions * How does Tierra work? Specifically, how does program control flow work, how do programs reproduce, and how do they die? * To what extent is Tierra a simple model of the computer security problem? When you report back, focus on the second question (as well as any other random observations). But make sure you go through the first so you all understand what is going on. (Questions are on the wiki) G1 - how "loose" is the use of these bio terms? not defined! - what is this security model? - hyperparasites aren't punished for cheating G2 - how does the control flow work? bit unclear - host/parasite/hyperparasite interaction seems like computer security, user/attacker relationship, this is the battleground - we see diversity here, but not in computer security - computers can use multiple strategies, here they can use only one (can't be a parasite & hyperparasite) - if you can do it all you don't need diversity G3 - how do jumps work again? What is the role of the templates? - is a simple model of security - we see simple examples of malware (the parasites), cheating strategies - immunity to tampering looked kind of like ASLR, similar techniques G4 - if we make the perfect program, why would we want it to die? - shouldn't it live forever? - evolution of defenses in response to attacks - like red team, attacker arms race - this paper inspired my research career - but in grad school I got disillusioned - never develops complexity - but WHY?! - there's no way for one program to develop trust in another - thus no symbiosis, thus no increases in complexity each "organism" is basically a process - except that procesess have read and execute access to other processes machine code is like conventional machine code EXCEPT - errors (bit flips, instructions sometimes don't work) - no numeric arguments - so to store numbers in a register, you put a zero and then manipulate bits - jumps are with patterns of no-ops, not addresses - just searches memory for the complementary pattern So these changes are to make it more "biological", but what are they really? - to make programs that "work" even when they are changed randomly - they are a change in representation, something very important for GAs, and AI in general - makes the space of programs "denser" in terms of valid vs invalid programs So where does computer security come in? - certainly looks like program conflict, attacker/defender dynamics - but again, it really isn't, because there's no trust relationships What does it mean for a system to be secure? - its behavior conforms to its security policy, always - if it can be made to do things against policy, it is insecure translate policy into model - programs keep reproducing? not satisfying, also guaranteed by the Tierra program To be a good model of security, you need trust & trust violations - we get the mechanisms of an arms race, but without its basis in Tierra The social parasites do exhibit proto-trust - but they have no way of enforcing those relationships - the "membranes" are fixed! trust implies choice - whether to interact or not - well, maybe not quite with regards to extreme symbiosis, but then it is all one system? what about diversity, does Tierra capture it? - in a base sense yes, programs aren't all the same - but that's not what diversity is about Back in 1998, co-authored a paper "Building Diverse Computer Systems" But I always thought that definition of diversity was wrong - it isn't just randomization