Secure Software Engineering Sites

Build Security In
Microsoft Security Development Center
Security Patterns Homepage (links to PLoP papers and more)
Open Web Application Security Project
Web Application Security Consortium

Secure Software Engineering

[Anderson 2001] Anderson, Ross, Security Engineering, John Wiley, 2001.
[Apvrille 2005] Apvrille, Axelle, and Makan Pourzandi, "Secure Software Development by Example," IEEE Security and Privacy, p. 10-17, July/August 2005.
[Avizienis 2004] Avizienis, Algirdas, Jean-Claude Laprie, Brian Randell, and Carl Landwehr. "Basic Concepts and Taxonomy of Dependable and Secure Computing," IEEE Transactions on Dependable and Secure Computing, vol. 1, no. 1, Jan.-Mar. 2004, pp. 11-33.
[Bishop 2003] Bishop, Matt. Computer Security: Art and Science, Addison-Wesley, 2003.
[Evans 2005] Evans, S. and J. Wallner. "Risk-Based Security Engineering Through the Eyes of the Adversary," Proc. 6th Ann. IEEE Systems, Man and Cybernetics Information Assurance Workshop (IAW 05), IEEE CS Press, 2005, pp.158-165.
[Gasser 1988] Gasser, M. Building a Secure Computer System. Van Nostrand Reinhold, 1988. Available at http://nucia.ist.unomaha.edu/library/gasser.php.
[Hall 2002a] Hall, Anthony and Rodrick Chapman. "Correctness by Construction: Developing a Commercial Secure System," IEEE Software, vol. 19, no. 1, Jan./Feb. 2002, pp.18-25.
[McGraw 2005] McGraw, Gary, "The 7 Touchpoints of Secure Software," Software Development, September 2005.

Cryptography

[Gutmann 2004] Gutmann, P. Cryptographic Security Architecture: Design and Verification. Springer-Verlag, 2004.
[HMAC 2002] "The Keyed-Hash Message Authentication Code (HMAC)," FIPS 198, March 2002.
[SHS 2002] "Secure Hash Standard (SHS)," FIPS 180-2, August 2002.

Design

[Ramachandran 2002] Ramachandran, J. Designing Security Architecture Solutions. New York: John Wiley, 2002.
[Redwine 2005a] Redwine, Samuel T., Jr. Dependability Properties: Enumeration of Primitives and Combinations with Observations on their Measurement. Commonwealth Information Security Center Technical Report CISC-TR-2004-001, June 2005.
[Redwine 2005b] Samuel T. Redwine, Jr., Principles for Secure Software: A Compilation of Lists. Commonwealth Information Security Center Technical Report CISC-TR-2005-002.
[Thompson 2005] Thompson, H. H. and S. G. Chase. The Software Vulnerability Guide. Charles River Media, 2005.
[Wyk and McGraw 2005] van Wyk, Kenneth and Gary McGraw, After the Launch: Security for App Deployment and Operations. Presentation at Software Security Summit, April 2005.
[Saltzer and Schroeder 1975] Saltzer, J. H. and M. D. Schroeder. "The protection of information in computer systems," Proceedings of the IEEE, vol. 63, no. 9, 1975, pp. 1278-1308.
[Schell 2005] Roger Schell, Keynote Talk, International Workshop on Information Assurance, March 24, 2005.

Design Patterns

[Fernandez 2001] Fernandez, E. and Pan, R., A Pattern Language for Security Models Conference on Pattern Languages of Programs, Conference on Pattern Languages of Programs (PLoP 2001), ACM, 2001.
[Hafiz 2004a] Hafiz, M., "The Security Architecture of qmail," Conference on Pattern Languages of Programs, Conference on Pattern Languages of Programs (PLoP 2004), ACM, 2004.
[Hafiz 2004b] Hafiz, M., R. Johnson, and R. Afandi, "Unique Atomic Chunks," Conference on Pattern Languages of Programs, Conference on Pattern Languages of Programs (PLoP 2004), ACM, 2004.
[Hafiz 2005a] Hafiz, M., "Secure pre-forking: a pattern for performance and security," Conference on Pattern Languages of Programs, Conference on Pattern Languages of Programs (PLoP 2005), ACM, 2005.
[Hafiz 2005b] Hafiz, M., Security Architecture of Mail Transfer Agents. Master's Thesis. 2005.
[Kienzle 2002] Kienzle, D., Elder, M., Tyree, D., and Edwards-Hewitt J., Security Patterns Repository, http://www.scrypt.net/~celer/securitypatterns/.
[Open Group 2004] Open Group. Security Design Patterns (SDP) Technical Guide v.1, April 2004.
[Schumacher 2001] Schumacher, M. and Roedig, U., "Security Engineering with Patterns," Conference on Pattern Languages of Programs, Conference on Pattern Languages of Programs (PLoP 2001), ACM, 2001.
[Yoder 1997] Yoder, J. and Barcalow, J., "Architectural Patterns for Enabling Application Security," Conference on Pattern Languages of Programs, Conference on Pattern Languages of Programs (PLoP 1997), ACM, 1997.

Processes and Threat Modeling

[Hoglund 2004] Hoglund, Greg, and Gary McGraw. Exploiting Software: How to break code. Addison-Wesley, 2004.
[Howard] Howard, M., J. Pincus and J. Wing. "Measuring relative attack surfaces," Proceedings of the Workshop on Advanced Developments in Software and Systems Security. 2003.
[Lipner 2005] Lipner, Steve and Michael Howard, The Trustworthy Computing Security Development Lifecycle, http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsecure/html/sdl.asp Microsoft, 2005.
[Manadhata and Wing 2004] Manadhata, P. and J. M. Wing. "Measuring A System's Attack Surface," CMU-TR-04-102, January 2004.
[Redwine 2004] Redwine, Samuel T., Jr., and Noopur Davis (Editors). Processes for Producing Secure Software: Towards Secure Software. vols. I and II. Washington, D.C.: National Cyber Security Partnership, 2004. Available at http://www.cigital.com/papers/download/secure_software_process.pdf
[Saitta 2005] Saitta, Paul, Larcom, Brenda, and Eddington, Michael, Trike v.1 Methodology Document Draft, http://www.net-security.org/dl/articles/Trike_v1_Methodology_Document-draft.pdf, July 2005.
[Schneier 1999] Bruce Schneier, "Attack Trees: Modeling security threats," Dr. Dobb's Journal, December 1999.
[Swiderski 2004] Swiderski, F. and Snyder, W. Threat Modeling. Microsoft Press, 2004.
[Viega 2005] Viega, J. The CLASP Application Security Process. Secure Software, http://www.securesoftware.com, 2005.

Programming

[Barnes 2003] Barnes, John. High Integrity Software: The SPARK Approach to Safety and Security, Addison Wesley, 2003.
[Brown 2004] Brown, Keith. .NET Developers Guide to Windows Security, Addison Wesley Professional, 2004.
[Graff and van Wyk 2003] Graff, Mark G. and Kenneth R. Van Wyk. Secure Coding: Principles and Practices. O'Reilly, 2003.
[Howard 2002] Howard, Michael, and David C. LeBlanc. Writing Secure Code, 2nd ed., Microsoft Press, 2002.
[Howard 2005] Howard, Michael, David LeBlanc, and John Viega, 19 Deadly Sins of Software Security, McGraw-Hill Osborne, 2005.
[Seacord 2005] Seacord, R. (2005). Secure Coding in C and C++. Boston, MA: Addison Wesley Professional, 2005.
[Viega 2002] Viega, John and Gary McGraw, Building Secure Software, Addison-Wesley, 2002.
[Viega 2003] Viega, John and Matt Messier, Secure Programming Cookbook for C and C++, O'Reilly, 2003.
[Wheeler 2003] Wheeler, David, Secure Programming for Linux and Unix HOWTO, http://www.dwheeler.com/secure-programs/Secure-Programs-HOWTO/index.html, 2003.

Requirements

[Hope 2004] Hope, Paco, Gary McGraw, and Annie I. Anton," Misuse and Abuse Cases: Getting Past the Positive," IEEE Security and Privacy, May 2004 pp. 90-92.
[McDermott 2001] McDermott, J., "Abuse-Case-Based Assurance Arguments," Proc. Annual Computer Security Applications Conference, December 2001.
[Moffett 2004] Moffett, Jonathan D. Charles B. Haley, and Bashar Nuseibeh, Core Security Requirements Artefacts, Security Requirements Group, The Open University, UK, 2004.
[Moffett and Nuseibeh 2003] Moffett, Jonathan D. and Bashar A. Nuseibeh. A Framework for Security Requirements Engineering. Report YCS 368, Department of Computer Science, University of York, 2003.

Standards

[NIST 2004] Stoneburner, Gary, Hayden, Clark and Feringa, Alexis. "Engineering Principles for Information Technology Security (A Baseline for Achieving Security), Revision A," NIST Special Publication 800-27 Rev A, June 2004.
[NIST 2004] Barker, William C. "Guide for Mapping Types of Information and Information Systems to Security Categories," NIST Special Publication 800-60, June 2004.
[NIST 2005] The National Institute of Standards and Technology. Common Criteria v. 3.0, July, 2005.
[NIST 2005] Ross, Ron et al. "Recommended Security Controls for Federal Information Systems," NIST Special Publication 800-53, Feb. 2005.
[NSA 2002] National Security Agency, The Information Systems Security Engineering Process (IATF) v3.1. 2002.
[Radack 2005] Radack, Shirley, editor. Standards for Security Categorization of Federal Information and Information Systems. Federal Information Processing Standard (FIPS) 199, July 10, 2005.
[SafSec Guidance] "SafSec Methodology: Guidance Material," SafSec: Integration of Safety and Security. http://www.safsec.com/safsec_files/resources/50_3_SafSec_Method_ Guidance_Material_3.0.pdf.
[SafSec Introduction] "Why SafSec?" SafSec: Integration of Safety and Security. http://www.safsec.com/safsec_files/resources/50.6_Why_SafSec.pdf.
[SafSec Standard] "SafSec Methodology: Standard," SafSec: Integration of Safety and Security. http://www.safsec.com/safsec_files/resources/50_2_SafSec_Method_Standard_3.0.pdf

UML and Security

[Jurjens 2004] Jurjens, Jan, Secure Systems Development with UML, Springer-Verlag 2004.
[Jurjens 2005] Jurjens, Jan, "Sound Methods and Effective Tools for Model-based Security Engineering with UML," 27th International Conference on Software Engineering, St.Louis, Missouri, USA; 15 - 21 May 2005.

Usability and Security

[Cranor 2005] Cranor, Lorrie, and Simson Garfinkel (editors). Security and Usability: Designing Secure Systems that People Can Use. O'Reilly, 2005
[Garfinkel 2005] Garfinkel, Simson L. Design Principles and Patterns for Computer Systems that are Simultaneously Secure and Usable, PhD Thesis MIT, http://www.simson.net/thesis/, 2005.
[SOUPS 2005] Symposium on Usable Privacy and Security (SOUPS), ACM, http://cups.cs.cmu.edu/soups/2005/program.html, July 6-8, 2005.
[Whitten 1999] Whitten, A. and Tygar, J.D. "Why Johnny Can.t Encrypt: A Usability Evaluation of PGP 5.0," Proc. Ninth USENIX Security Symposium, 1999.
[Yee 2004] Yee, Ka-Ping. "Aligning security and usability," IEEE Security & Privacy Magazine, 2:48.55, Sept-Oct 2004. 7.23.

Verification and Validation

[Barden 1995] Barden, Rosalind, Susan Stepney, and David Cooper, Z in Practice, Prentice Hall, 1995.
[Forrester 2000] Forrester, Justin E., Barton P. Miller. "An Empirical Study of the Robustness of Windows NT Applications Using Random Testing," Proceedings of the 4th USENIX Windows Systems Symposium, Seattle, August 2000.
[Huang 2004] Huang, Y., F. Yu, C. Hang, C. Tsai, D. Lee, and S. Kuo, "Securing Web Application Code by Static Analysis and Runtime Protection," Proceedings of the 13th International Conference on World Wide Web (WWW '04). ACM Press, 2004, pp. 40-52.
[McGraw 2004] McGraw, Gary, Bruce Potter, "Software Security Testing," IEEE Security and Privacy, September/October 2004, pp. 81-85.
[Miller 1990] Miller, Barton P., Lars Fredriksen, and Bryan So. "An empirical study of the reliability of Unix utilities," Communications of the ACM, 33(12):32--44, December 1990. Available at http://www.cs.wisc.edu/~bart/fuzz/fuzz.html.
[Miller 1995] Miller, B., D. Koski, C. Lee, V. Maganty, R. Murthy, A. Natarajan and J. Steidl. "Fuzz revisited: A re-examination of the reliability of unix utilities and services," Technical report, Computer Sciences Department, University of Wisconsin, 1995.
[NASA 2005] NASA Langley Research Center Formal Methods Site, http://shemesh.larc.nasa.gov/fm/fm-what.html, 2005.
[Redmill 2005] Redmill, Felix, "Theory and practice of risk-based testing," Software Testing, Verification and Reliability, Volume 15, Issue 1, p. 3-20, March 2005.
[Scambray 2002] Scambray, Joel, Mike Shema. Web Applications (Hacking Exposed), McGraw Hill Osborne, 2002.
[Whittaker and Thompson 2004] Whittaker, J. A. and H. H. Thompson. How to Break Software Security: Effective Techniques for Security Testing. Pearson Education, 2004.

Web Application Security

[Meier 2003] Meier, J.D., Alex Mackman, Srinath Vasireddy, Michael Dunner, Ray Escamilla, and Anandha Murukan, Improving Web Application Security: Threats and Countermeasures, Microsoft, 2003.
[Meier 2005a] Meier, J.D., Alex Mackman, Blaine Wastell, Threat Modeling Web Applications, Microsoft Corporation, http://msdn.microsoft.com/security/default.aspx?pull=/library/en-us/dnpag2/html/tmwa.asp, May 2005.
[Meier 2005b] Meier, J.D., Alex Mackman, Blaine Wastell, Cheat Sheet: Web Application Security Frame, Microsoft Corporation, http://msdn.microsoft.com/security/default.aspx?pull=/library/en-us/dnpag2/html/tmwacheatsheet.asp?_r=1, May 2005.
[Meier 2005c] Meier, J.D., Alex Mackman, Blaine Wastell, Template Sample: Web Application Threat Model, Microsoft Corporation, http://msdn.microsoft.com/security/default. aspx?pull=/library/en-us/dnpag2/html/tmwatemplatesample.asp?_r=1, May 2005.
[OWASP 2005] OWASP, OWASP Guide to Building Secure Web Applications and Web Services 2.0.1, http://www.owasp.org/documentation/guide/guide_about.html, July 2005.

Software Engineering General

[Abran 2004] Abran, Alain, James W. Moore (Executive editors); Pierre Bourque, Robert Dupuis, Leonard Tripp (Editors). Guide to the Software Engineering Body of Knowledge. 2004 Edition. Los Alamitos, California: IEEE Computer Society, Feb. 16, 2004.
[Sommerville 2004] Sommerville, I. Software Engineering. 7th ed. Pearson Education, 2004.