Next Page > Hide TOC

Introduction to Secure Coding Guide

Contents:

Organization of This Document
See Also


Secure coding is the practice of writing programs that are resistant to attack by malicious or mischievous people or programs. Secure coding helps protect a user's data from theft or corruption. In addition, an insecure program can provide access for an attacker to take control of a server or a user's computer, resulting in anything from a denial of service to a single user to the compromise of secrets, loss of service, or damage to the systems of thousands of users.

This document discusses several common sources of vulnerability in programs and gives advice on how to avoid them, with special emphasis on programs that run on the Mac OS X, Mac OS X Server, and iPhone OS operating systems. If you write code that runs on Macintosh computers or on iPhone OS devices, from scripts for your own use to commercial software applications, you should be familiar with the information in this document.

Organization of This Document

This document starts with the following three introductory articles:

The following articles in the document discuss specific types of security vulnerabilities in some detail. These articles can be read in any order, or as suggested by the software development checklist in “Developing Secure Software.”

The final article is of general interest to all Macintosh programmers:

See Also

This document concentrates on security vulnerabilities and programming practices of special interest to developers using Mac OS X or iPhone OS. For discussions of secure programming of interest to all programmers, see the following books and documents:

For documentation of security-related application programming interfaces (APIs) for Mac OS X (and iPhone OS, where noted), see the following Apple documents:



Next Page > Hide TOC


© 2008 Apple Inc. All Rights Reserved. (Last updated: 2008-05-23)


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.