Outline for January 9, 2002 1. Greetings and Felicitations! 2. Puzzle of the day 3. Robust Programming a. Go through handout, emphasizing principles b. Information hiding and abstraction c. Error handling 4. Common Implementation Vulnerabilities a. Unknown interaction with other system components (DNS entry with bad names, assuming finger port is fin- ger and not chargen) b. Overflow (year 2000, lpr overwriting flaw, sendmail large integer flaw, su buffer overflow) c. Race conditions (xterm flaw, ps flaw) d. Environment variables (vi one-upsmanship, loadmodule) e. Not resetting privileges (Purdue Games incident)