많은 여러가지 타입의 프로그램들이 보안적인 프로그램 (이 책에 정의된 바와 같이) 일 필요가 있을 수 있는데 약간의 공통된 타입은 다음과 같다:
원격 데이타 뷰어로 사용되는 애플리케이션 프로그램. 워드 프로세서 또는 파일 포맷 뷰어와 같은 뷰어로 사용되는 프로그램들은 대개 신뢰되지 않은 사용자가 원격적으로 보내온 데이타를 보기 위해 요청된다 (이 요청은 웹 브라우저에 의해 자동적으로 호출될 수도 있다). 분명히 신뢰되지 않은 사용자의 입력은 애플리케이션에게 임의의 프로그램을 실행시키도록 허용해서는 안된다. 보통 초기화 매크로를 지원하는 것은 어리석은데 (매크로는 데이타가 표시될 때 실행된다) 이를 지원해야 한다면 보안적인 sandbox 를 만들어야 한다 (복잡하고 에러를 일으키기 쉬운 태스크). 5장 에서 논의되는 버퍼 오버 플로우와 같은 문제들을 조심해라 이는 신뢰되지 않은 사용자에게 뷰어로 임의의 프로그램을 실행시키도록 허용할 수도 있다.
관리자 (루트) 가 사용하는 애플리케이션 프로그램. 그러한 프로그램들은 관리자가 아닌 사람에 의해 제어될 수 있는 정보를 신뢰하지 않아야 한다.
로컬 서버 (또한 데몬이라고도 부른다).
네트워크에 접근할 수 있는 서버 (때때로 네트워크 데몬이라고도 부른다).
CGI 스크립트를 포함한 웹 기반 애플리케이션. 이들은 네트워크에 접근할 수 있는 서버의 특별한 경우지만 그들만의 범주를 가질만할만큼 보편적이다. 그러한 프로그램들은 웹 서버를 통해 간접적으로 호출되는데 많은 공격을 걸러내어 제거하지만 그럼에도 불구하고 견뎌야 하는 많은 공격들을 남긴다.
애플릿 (클라이언트로 다운로드되어 자동적으로 실행되는 프로그램). 이는 파이썬과 같은 다른 언어들도 또한 모바일 코드를 지원하지만 특히 자바가 유명하다. 몇몇 보안 관점이 있는데 클라이언트측에서 애플릿 인프라 (infrastructure) 를 구현하는 사람은 반드시 단지 허용된 기능들만을 ``보안적인" 것으로 해야하며 애플릿 작성자는 적의있는 호스트들의 문제를 다뤄야 한다 (다른 말로 보통 클라이언트를 믿을 수 없다). 적의있는 호스트에서 애플릿을 실행시키는 것을 다루려는 약간의 연구가 있지만 솔직히 저자는 이들 연구 방법의 가치에 대해 회의적이며 이 주제는 저자가 이 책에서 더욱 깊게 다루지 않을 만큼 이색적이다.
setuid/setgid 프로그램. 이 프로그램은 로컬 사용자에 의해 호출되어 실행될 때 즉시 프로그램 소유자 및/또는 소유자 그룹의 권한이 주어진다. 많은 방식에 있어 이들은 안전하게 하기 가장 어려운 프로그램으로 이는 그들의 입력 중 많은 부분이 신뢰되지 않은 사용자의 제어하에 있고 또한 그러한 입력 중 일부는 명백하지 않기 때문이다.
이 책은 이러한 여러가지 타입의 프로그램들의 문제들을 하나의 집합으로 병합한다. 이 방법의 단점은 여기서 확인된 문제들중 일부가 모든 프로그램 타입에 적용되지 않는다는 것인데 특히, setuid/setgid 프로그램은 많은 예기치 않은 입력들을 갖으며 이 책의 지침들중 몇몇만이 이에 적용된다. 그러나 각각의 프로그램이 이러한 경계들을 가로지를 수도 있고 (예, CGI 스크립트가 setuid/setgid 일 수도 있으며 또한 동일한 효과를 갖는 방식으로 설정될 수도 있다) 어떤 프로그램들은 다른 타입의 프로그램으로 고려될 수 있는 몇몇 실행 파일로 나누어질 수도 있기 때문에 분명한 것은 아니다. 이러한 프로그램 타입 모두를 한꺼번에 고려하는데 있어 장점은 프로그램에 부적절한 범주를 적용하려 하지 않고 모든 문제를 고려할 수 있다는 것이다. 추후 볼 것이지만 원리들의 많은 부분이 안전하게 될 필요가 있는 모든 프로그램에 적용된다.
이 책은 C++, 펄, PHP, 파이썬, Ada95 와 자바와 같은 다른 언어들에 대해 약간 언급하며 주로 C 로 작성된 프로그램에 대해 다룬다. 이는 C 가 유닉스 계열 시스템 (CGI 스크립트이외에 펄, PHP, 파이썬을 을 사용하는 경향이 있다) 에서 보안적인 프로그램을 구현하는 가장 보편적인 언어이고 대부분의 다른 언어들의 구현이 C 라이브러리를 호출하기 때문이다. 그러나 C 가 보안 목적에 맞는 가장 최선의 언어라는 것을 의미하지는 않으며 이 책에 기술된 원리들중 대부분은 사용된 프로그래밍 언어에 상관없이 적용된다.