fred sam joe fred sam joe a brief history of
play

Fred Sam Joe Fred Sam Joe A BRIEF HISTORY OF COMMUNICATIONS - PowerPoint PPT Presentation

THERE AND BACK AGAIN BRIAN CHESS SEPTEMBER 2013 Fred Sam Joe Fred Sam Joe A BRIEF HISTORY OF COMMUNICATIONS SECURITY 6 COMPUTER SECURITY 7 THE PROGRAMMER "Programming is hard" Donald Knuth Programmers not historically


  1. THERE AND BACK AGAIN BRIAN CHESS SEPTEMBER 2013

  2. Fred Sam Joe

  3. Fred Sam Joe

  4. A BRIEF HISTORY OF COMMUNICATIONS SECURITY 6

  5. COMPUTER SECURITY 7

  6. THE PROGRAMMER "Programming is hard" Donald Knuth • Programmers not historically responsible for security. • Programmers already have one hard job to do. 8

  7. DEFENSIVE PROGRAMMING IS NOT ENOUGH Defensive programming: "Write the program to cope with small disasters." [Kernighan and Plauger] A C function with no error checking: void printMsg(FILE* file, char* msg) { fprintf(file, msg); } Crashes when file or msg is null. 9

  8. DEFENSIVE PROGRAMMING IS NOT ENOUGH Error checking added: void printMsg(FILE* file, char* msg) { if (file == NULL) { logError("attempt to print to null file"); } else if (msg == NULL) { logError("attempt to print null message"); } else { fprintf(file, msg); } No more crashes. Fixed? } Hint: AAA1_%08x.%08x.%08x.%08x.%08x.%n 10

  9. THIS IS ENOUGH Must also defend against format string attacks : void printMsg(FILE* file, char* msg) { if (file == NULL) { logError("attempt to print to null file"); } else if (msg == NULL) { logError("attempt to print null message"); } else { fprintf(file, "%.128s" , msg); } } 11

  10. SOFTWARE QUALITY VS. SOFTWARE SECURITY QUALITY SECURITY • Cannot be bolted on • Cannot be bolted on • Must be built in • Must be built in • Does the program do what • Does the program have it's supposed to do? “bonus” features? • Will the users be happy? • Will the attackers get what they want? • Are common cases smooth • Are there corner cases we and easy? haven't considered? • Will people pay for it? • What do we stand to lose? 12

  11. THE EXPLOITABILITY TRAP Trap Clearly Dangerous Clearly Safe “ I’ll fix it if you show me an exploit. ” 13

  12. CITI IPHONE INFO LEAK 14

  13. BER BERTRAND TRAND RUSSELL USSELL ’ S CHICKEN S CHICKEN Food Food Shelter Shelter Companions Companions 15

  14. Success is foreseeing failure. – Henry Petroski

  15. STATIC ANALYSIS IS GOOD

  16. STATIC ANALYSIS = GOOD = getInputFroNetwork(); buff newBuff copyBuffer( , ); buff exec( ); (command injection) newBuff

  17. CHAINSAW

  18. MEASURING PROCESS Building Security In Maturity Model (BSIMM) http://www.bsi-mm.com 20

  19. THERE AND BACK AGAIN BRIAN CHESS SEPTEMBER 2013

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend