The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities

Mark Dowd, John McDonald, Justin Schuh · 2006

“There are a number of secure programming books on the market, but none that go as deep as this one. The depth and detail exceeds all books that I know about by an order of magnitude.”-Halvar Flake, CEO and head of research, SABRE Security GmbHThe Definitive Insider's Guide to Auditing Software SecurityThis is one of the most detailed, sophisticated, and useful guides to software security auditing ever written. The authors are leading security consultants and researchers who have personally uncovered vulnerabilities in applications ranging from sendmail to Microsoft Exchange, Check Point VPN to Internet Explorer. Drawing on their extraordinary experience, they introduce a start-to-finish methodology for “ripping apart” applications to reveal even the most subtle and well-hidden security flaws.The Art of Software Security Assessment covers the full spectrum of software vulnerabilities in both UNIX/Linux and Windows environments. It demonstrates how to audit security in applications of all sizes and functions, including network and Web software. Moreover, it teaches using extensive examples of real code drawn from past flaws in many of the industry's highest-profile applications.Coverage includes· Code auditing: theory, practice, proven methodologies, and secrets of the trade· Bridging the gap between secure software design and post-implementation review· Performing architectural assessment: design review, threat modeling, and operational review· Identifying vulnerabilities related to memory management, data types, and malformed data· UNIX/Linux assessment: privileges, files, and processes· Windows-specific issues, including objects and the filesystem· Auditing interprocess communication, synchronization, and state· Evaluating network software: IP stacks, firewalls, and common application protocols· Auditing Web applications and technologiesThis book is an unprecedented resource for everyone who must deliver secure software or assure the safety of existing software: consultants, security specialists, developers, QA staff, testers, and administrators alike.ContentsABOUT THE AUTHORS i? i? i? i? xvPREFACE i? i? i? i? xviiACKNOWLEDGMENTSi? i? i? xxiI Introduction to Software Security Assessment1 SOFTWARE VULNERABILITY FUNDAMENTALSi? i? i? 32 DESIGN REVIEW i? i? i? i? 253 OPERATIONAL REVIEWi? i? i? 674 APPLICATION REVIEW PROCESSi? i? i? 91II Software Vulnerabilities5 MEMORY CORRUPTIONi? i? i? 1676 C LANGUAGE ISSUES i? i? i? i? 2037 PROGRAM BUILDING BLOCKS i? i? i? i? 2978 STRINGS ANDMETACHARACTERSi? i? i? 3879 UNIX I: PRIVILEGES AND FILES i? i? i? i? 45910 UNIX II: PROCESSES i? i? i? i? 55911 WINDOWS I: OBJECTS AND THE FILE SYSTEM i? i? i? i? 62512 WINDOWS II: INTERPROCESS COMMUNICATION i? i? i? i? 68513 SYNCHRONIZATION AND STATEi? i? i? 755III Software Vulnerabilities in Practice14 NETWORK PROTOCOLSi? i? i? 82915 FIREWALLSi? i? i? 89116 NETWORK APPLICATION PROTOCOLSi? i? i? 92117 WEB APPLICATIONSi? i? i? 100718 WEB TECHNOLOGIES i? i? i? i? 1083BIBLIOGRAPHY i? i? i? i? 1125INDEX i? i? i? i? 1129

Read the paper · More papers on PaperTik