SecureProgramming.com
Login
Username: 
Password: 
Forgot your password?
Create a new account




Group By:Show Categories:Show Languages

Access Control

  • The Challenge of Least Privilege [View Detail]
    http://msdn.microsoft.com/library/en-us/dncode/html/secure06112002.asp
    A good introduction to the principle of least privilege from Mike Howard, co-author of Writing Secure Code.

Anti-Tampering

  • A Taxonomy of Obfuscating Transformations [View Detail]
    http://www.cs.arizona.edu/~collberg/Research/Publications/CollbergThomborsonLow97a/index.html
    This discussion of basic code obfuscation techniques was the first resource to congregate and classify common obfuscating transformations.

  • Anti-debugging in Win-32 [View Detail]
    http://vx.netlux.org/texts/html/lj_vx03.html
    A good discussion of anti-debugger techniques for Windows platforms.

  • Linux Anti-Debugging Techniques [View Detail]
    http://vx.netlux.org/lib/vsc04.html
    An article by Silvio Cesare: "This article describes anti debugger techniques for x86/Linux (though some of these techniques are not x86 specific). That is techniques to either fool, stop, or modify the process of debugging the target program. This can be useful to the development of viruses and also to those implementing software protection."

Authentication

Code Auditing

  • Attack Trees [View Detail]
    http://www.counterpane.com/attacktrees-ddj-ft.html
    Attack trees are a tool for threat modeling taken from the reliabiltiy concept of 'Fault Trees'. This article comes from Bruce Schneier.

  • Code Auditing Basics [View Detail]
    http://www.sdmagazine.com/documents/s=818/sdm0208a/
    An overview of code auditing tools and techniques, focusing on architectural review.

  • Practical Code Auditing [View Detail]
    http://www.daemonkitty.net/lurene/papers/Audit.pdf
    A guide to finding common security problems in source code and binaries (particularly the well-known problems in C programs). It doesn't cover tools to automate the process.

  • Threat Modeling [View Detail]
    http://www.devx.com/codemag/Article/10338
    A great article on threat modeling by Microsoft's software security guru.

General / Miscellaneous

  • Will software development be hit by a Cyclone?4 stars [View Detail]
    http://www.securityfocus.com/guest/9094
    An overview of the Cyclone programming language as of Dec. 2001. Cyclone is a dialect of C that avoids common security issues (particularly the buffer overflow).

  • "A Programmers Checklist" [View Detail]
    http://www.aspalliance.com/chrisg/default.asp?article=1
    A checklist with some basic things that web developers should ensure before deployment, originally intended for an ASP audience, but widely applicable.

  • Best Practices for Secure Development [View Detail]
    http://members.rogers.com/razvan.peteanu/best_prac_for_sec_dev4.pdf
    Guidelines for secure program development. It's a somewhat cursory overview, so one should suppliment with one of the better introductory books.

  • Eavesdropping Risks of CRT Displays [View Detail]
    http://www.cl.cam.ac.uk/~mgk25/ieee02-optical.pdf
    A discussion of how to eavesdrop on a CRT from a distance without using the Van Eck approach, even without direct line of site. This is a risk many system designers fail to consider. The widespread belief is that such attacks aren't practical, but they are.

  • Federal Agencies Tackle Software Security [View Detail]
    http://msnbc-cnet.com.com/2100-7348_3-5053545.html?tag=lh
    "Five federal agencies, led by the U.S. Department of Energy, plan to discuss a new set of government contracting practices that hold software makers accountable for making their products more resistant to viruses and hackers. "

  • Fending Off Future Attacks by Reducing Attack Surface [View Detail]
    http://msdn.microsoft.com/library/en-us/dncode/html/secure02132003.asp
    Michael Howard discusses why you should reduce the amount of code that is open to future attack by installing only the needed features of a product.

  • OWASP Top Ten Web Application Vulnerabilities [View Detail]
    http://www.owasp.org/documentation/topten
    This is a high-level discussion of some of the major security issues affecting web applications.

  • Scrubbing Secrets in Memory + Cross-Site Scripting Remediation [View Detail]
    http://msdn.microsoft.com/library/en-us/dncode/html/secure10102002.asp
    A description of problems with the traditional scrubbing of data in memory. Plus, a discussion of an Internet Explorer extension to cookies (HttpOnly) that mitigates cross-site scripting problems.

  • Secure Programming Techniques [View Detail]
    http://www.onlamp.com/pub/a/onlamp/excerpt/PUIS3_chap16/index3.html
    An excerpt of the Secure Programming advice from the book Practical Unix & Internet Security. It's a good overview, but supplement it with dedicated references. The article has three parts, and the link is to the final part. Follow the links to the first two portions.

  • The Right Mentality Is Half the Battle [View Detail]
    http://www-106.ibm.com/developerworks/linux/library/l-sp1.html
    An article aimed at getting developers into a good mindset for secure programming. The first article in a series written by David Wheeler and published by IBM's DeveloperWorks.

  • The Web Services Security Specification [View Detail]
    http://www-106.ibm.com/developerworks/library/ws-secure/
    Extensions to SOAP messaging to provide message integrity, secrecy, etc.

  • Twelve Rules for developing more secure Java code [View Detail]
    http://www.javaworld.com/javaworld/jw-12-1998/jw-12-securityrules.html
    A very high-level article of early tips for more secure Java programming. It is a good set of guidelines to keep in mind, but there are many practical worries one should have beyond what is covered in this article.

  • When XML Gets Ugly [View Detail]
    http://www.xml.com/pub/a/2000/02/xtech/megginson.html
    Risks with XML over the web.

Input Validation

Networking

  • Security Problems in the TCP/IP Protocol Suite [View Detail]
    http://www.research.att.com/~smb/papers/ipext.pdf
    This paper from Steve Bellovin describes fundamental risks in the TCP/IP protocol that applications are generally responsible for solving.

  • Seven Common SSL Pitfalls [View Detail]
    http://www.onlamp.com/pub/a/onlamp/2002/06/27/openssl.html
    This article demonstrates how SSL is commonly misused. The biggest problem mentioned is poor certificate validation, which usually leads to the possibility of man-in-the-middle attacks. A vast majority of all SSL deployments suffer from one or more of the problems in this article.

Random Numbers

Symmetric Cryptography

Unix Programming

  • Delivering Signals for Fun and Profit [View Detail]
    http://razor.bindview.com/publish/papers/signals.txt
    A discussion on how race conditions in signal handlers can lead to very real security vulnerabilities.

  • Problems with mkstemp() [View Detail]
    http://razor.bindview.com/publish/papers/mkstemp.txt
    A discussion on how tmp file sweepers can thwart temporary file creation mechanisms.

  • setuid Demystified [View Detail]
    http://www.cs.berkeley.edu/~daw/papers/setuid-usenix02.pdf
    A great discussion on how the setuid privilege model works on Unix systems (particularly as it relates to how privileges are SUPPOSED to work).

  • Smashing the Kernel Stack for Fun and Profit [View Detail]
    http://www.phrack.org/phrack/60/p60-0x06.txt
    This article looks at implementation errors in OpenBSD system calls, and how they turn into exploitable security vulnerabilities. The material is applicable to other platforms... OpenBSD is just a platform for a case study.

Windows Programming



[Python Powered]