International Telecommunication Union   ITU
عربي  |  中文  |  Español  |  Français  |  Русский
 
 Advanced Search Advanced Search Site Map Contact us Print Version
 
Home : ITU-T Home
   
Introduction

There have been daily reports of security flaws in all kinds of software products, along with the recent discovery of vulnerabilities in several implementations of long established and widely deployed protocols such as SNMP. These are increasing the awareness among the general public that the software industry hasn't always done its best to ensure the quality of programs and that some improvements in the way software is created are generally needed today.
Security and safety are two important aspects of the quality of software. Security is the ability of a system to protect itself against accidental or intentional attacks. Safety is the ability of the system to operate without risk, both when performing normal functions and when handling exceptional conditions.

The need for safer and more secure code is true for every kind of software, but becomes critical for any program that interacts with other programs over a network. A few suggestions for the production of safe and secure code are provided below. These focus particularly on network applications, but many of the suggestions apply to other types of applications as well. Network applications are inherently critical because they can become unwanted entry points into a computer system if not properly designed or implemented.
Network applications are based on protocols, as they need to communicate with other applications over the network. In the following, it will be assumed that the software developers are implementing a pre-existing protocol, so that the focus will be on the software development process, rather than on protocol design.

The use of Abstract Syntax Notation One (ASN.1) in protocol specifications greatly reduces the size and complexity of the implementations, thus lessening the likelihood of defects. However, the developers are still responsible for the overall quality and security of the application.

Several suggestions are given, but the most important one is probably the first, which can be summarized as security-consciousness.

Note that the following suggestions apply to the implementation of any type of communications protocol, whether it is specified using a formal language such as ASN.1 or XML Schema, or is specified using ad hoc manual techniques such as a picture of bytes and bits or an ABNF grammar.

It should also be noted that although general suggestions can be formulated on how to avoid common program defects and security flaws, each specific network application will usually have other potential vulnerabilities. Developers should therefore grow a security-conscious mindset and apply it throughout the development process.


NOTE: This paper offers general suggestions. It does not present a methodology or provide specific instructions to implement these suggestions. See the Resource section for a list of reference documents which can be accessed for specific implementation details and for deeper coverage of the topics briefly discussed in this paper.


[ Table of Contents ]


 

Top - Feedback - Contact Us -  Copyright © ITU 2008 All Rights Reserved
Contact for this page : TSB EDH
Updated : 2008-11-03