Software vulnerability and software exploits are the root causes of a majority of computer security problems. But how does software break? How do attackers make software break on purpose? What tools can be used to break software? This talk is about making software beg for mercy. You will learn: * Why software exploits will continue to be a serious problem * When network security mechanisms fail * How attack patterns can be used to build better software * Why reverse engineering is an essential skill * Why rootkits are the apex of software exploits and how they work * Why the only answer is building better software Some may argue that discussing software exploits in public is a bad idea. In fact, it's impossible to protect yourself if you don't know what you're up against. Come find out for yourself.