19 Deadly Sins of Software Security: Programming Flaws and How to Fix Them