ISO IEC 17799 2000*TRANSLATED INTO PLAIN ENGLISHSection 10: Systems Development and MaintenanceDETAILED STANDARD |
||
|
* ISO
17799 is now OBSOLETE. Also see ISO 27001 2005. |
||
![]()
|
10.1 IDENTIFY SYSTEM SECURITY REQUIREMENTS |
|
|
|
Identify the security requirements that your
information systems |
|
|
Identify the security requirements that
infrastructure applications |
|
|
Identify the security requirements that
business applications |
|
|
Identify the security requirements that
user‑developed applications |
|
|
Document the security requirements that |
|
|
Make sure that your documentation justifies
and |
|
10.1.1 SPECIFY SECURITY CONTROLS AND REQUIREMENTS |
|
|
|
Specify the security requirements that |
|
|
Specify the security requirements that |
|
|
Specify the security requirements that all |
|
|
Specify the security controls that new |
|
|
Specify the security controls that |
|
|
Specify the controls that enhancements to |
|
|
Make sure that your security specifications
identify the |
|
|
Make sure that your security specifications
identify |
|
|
Make sure that your security controls and
requirements |
|
10.2 BUILD SECURITY INTO APPLICATION SYSTEMS |
|
|
|
Prevent the loss of user data in your application systems. |
|
|
Prevent the misuse of user data in application systems. |
|
|
Prevent the modification of user data in application systems. |
|
|
Design security controls into your application systems. |
|
|
Design security controls into user‑written application systems. |
|
|
Design audit trails or activity logs into application systems. |
|
|
Design audit trails or activity logs into user‑written systems. |
|
|
Design additional security controls into
systems that |
|
|
Design additional security controls into
systems that |
|
|
Use risk assessments to select controls |
|
10.2.1 BUILD INPUT DATA VALIDATION INTO YOUR SYSTEMS |
|
|
|
Build input data validation controls into application systems. |
|
|
Make sure that your validation controls are
able to |
|
|
Make sure that validation controls are used to
verify that the |
|
|
Make sure that validation controls are used to
verify |
|
|
Use input validation controls to detect out‑of‑range values. |
|
|
Use input validation controls to detect missing or incomplete data. |
|
|
Use input validation controls to detect invalid characters in data fields. |
|
|
Use input validation controls to detect when
upper |
|
|
Review periodically the content of key fields
|
|
|
Review periodically the content of data files
|
|
|
Inspect hardcopy input documents in order |
|
|
Develop procedures to respond to data validation errors. |
|
|
Develop procedures to test the plausibility of input data. |
|
|
Define the responsibilities of all data input personnel. |
|
10.2.2 BUILD PROCESSING CONTROLS INTO YOUR SYSTEMS |
|
|
10.2.2.1 DESIGN PROCESSING CONTROLS TO MINIMIZE RISK |
|
|
|
Build internal processing controls into application systems. |
|
|
Make sure that processing controls can detect data corruption. |
|
|
Make sure that restrictions are built into
your applications |
|
|
Make sure that add‑and‑delete functions in
programs are |
|
|
Make sure that procedures are built into your
applications |
|
|
Make sure that procedures are built into your
applications |
|
|
Make sure that you ensure
that the correct programs |
|
10.2.2.2 INCORPORATE PROCESSING CHECKS AND CONTROLS |
|
|
|
Detect and prevent data corruption by
incorporating |
|
|
Detect corrupt data by using session
or batch controls
|
|
|
Detect corrupt data by using
balancing controls to
check |
|
|
Detect data corruption by using run‑to‑run controls. |
|
|
Detect data corruption by using file update totals. |
|
|
Detect corruption by using program‑to‑program controls. |
|
|
Detect corruption by using system‑generated validation data. |
|
|
Detect corruption by using hash totals of records and files. |
|
|
Detect corruption by checking the integrity
|
|
|
Detect corruption by checking the integrity
|
|
|
Prevent data corruption by ensuring that all |
|
|
Prevent corruption by ensuring that
application |
|
|
Prevent corruption by ensuring that
application |
|
|
Prevent corruption by ensuring that
application |
|
10.2.3 BUILD MESSAGE AUTHENTICATION INTO YOUR SYSTEMS |
|
|
|
Protect the integrity of electronic messages
by building |
|
|
Protect the integrity of electronic messages
by building |
|
|
Assess your security risks before you decide
how |
|
|
Use message authentication to detect
unauthorized
changes |
|
|
Use message authentication to detect the |
|
|
Use message authentication techniques |
|
|
Use message authentication techniques to |
|
|
Use message authentication techniques to
protect the |
|
|
Use message authentication techniques to
protect |
|
|
Use message authentication techniques to
protect |
|
10.2.4 BUILD OUTPUT DATA VALIDATION INTO YOUR SYSTEMS |
|
|
|
Ensure that output data is correct by building
|
|
|
Validate your output by performing
plausibility checks |
|
|
Validate your output by performing
reconciliation control |
|
|
Validate your output by providing information
that allows |
|
|
Validate your output by providing information
that allows |
|
|
Develop procedures that describe how people
should |
|
|
Define the duties and responsibilities of the
people |
|
10.3 USE CRYPTOGRAPHY TO PROTECT INFORMATION |
|
|
|
Use
cryptographic systems and techniques to
protect |
|
|
Use
cryptographic systems and
techniques |
|
|
Do a risk assessment to determine whether |
|
|
Use your risk assessment to determine what |
|
|
Use your risk assessment to determine what
level |
|
|
Use your risk assessment to help determine
what |
|
|
Use your risk assessment to help determine
what |
|
|
Use cryptographic systems and techniques to
protect |
|
10.3.1 DEVELOP A POLICY ON THE USE OF CRYPTOGRAPHY |
|
|
|
Develop a policy on the use of cryptography. |
|
|
Make sure that your cryptography policy helps
you to maximize |
|
|
Make sure that your cryptography policy helps
you to avoid the incorrect |
|
|
Make sure that your cryptography policy
describes the approach |
|
|
Make sure that your cryptography policy
describes the |
|
|
Make sure that your cryptography policy
describes |
|
|
Make sure that your key management approach
describes methods |
|
|
Make sure that your cryptography policy
describes |
|
|
Make sure that your cryptography policy
specifies who |
|
|
Make sure that your cryptography policy
specifies |
|
|
Make sure that your cryptography policy
specifies who |
|
|
Make sure that your cryptography policy
specifies who |
|
|
Make sure that your cryptography policy
respects the |
|
|
Make sure that
your cryptography
policy addresses |
|
|
Make sure that your cryptography
policy discusses |
|
10.3.2 ENCRYPT SENSITIVE OR CRITICAL INFORMATION |
|
|
|
Encrypt your sensitive or critical information. |
|
|
Do a risk assessment to identify the
level of
protection |
|
|
Make sure that your risk assessment considers
|
|
|
Make sure that your risk assessment considers |
|
|
Use cryptography specialists to help you
identify the |
|
|
Use cryptography specialists to help you |
|
|
Use cryptography specialists to help you |
|
|
Use legal experts to help you to identify and
evaluate |
|
10.3.3 PROTECT DOCUMENTS WITH DIGITAL SIGNATURES |
|
|
|
Use digital signatures to protect the
integrity |
|
|
Make sure that your digital signature
algorithm |
|
|
Use digital signature technology to verify |
|
|
Use digital signature technology to verify
that the |
|
|
Use digital signatures to protect electronic payments. |
|
|
Use digital signatures to protect funds transfers. |
|
|
Use digital signatures to protect contracts. |
|
|
Use
uniquely related pairs of
keys to |
|
|
Use private keys to create digital signatures. |
|
|
Use public keys to verify digital signatures. |
|
|
Make sure that people cannot forge electronic
|
|
|
Protect the integrity of public keys |
|
|
Use keys to create and verify digital
signatures |
|
|
Make sure that you are clear about when
digital |
|
|
Make sure that you are familiar with the
legislation |
|
|
Use legal experts to help you to identify and
evaluate |
|
|
Use contracts to support digital signatures
whenever the |
|
10.3.4 USE NON‑REPUDIATION SERVICES TO RESOLVE DISPUTES |
|
|
|
Use non‑repudiation services to prove whether
|
|
|
Use non‑repudiation services to protect
against |
|
|
Use non‑repudiation services to resolve
disagreements |
|
|
Use non‑repudiation services to resolve
disagreements |
|
|
Use non‑repudiation services to resolve
disagreements |
|
10.3.5 ESTABLISH A KEY MANAGEMENT SYSTEM |
|
|
10.3.5.1 PROTECT YOUR CRYPTOGRAPHIC KEYS |
|
|
|
Establish a management system |
|
|
Make sure that your key management system |
|
|
Make sure that your key management system
allows you to |
|
|
Make sure that your key management system |
|
|
Make sure that your key management system
allows |
|
|
Make sure that your key management system
allows |
|
|
Protect all cryptographic keys against |
|
|
Protect all private and secret keys against unauthorized disclosure. |
|
|
Use cryptographic techniques to protect your cryptographic keys. |
|
|
Use physical techniques to protect the
equipment |
|
10.3.5.2 USE SECURE METHODS TO MANAGE KEYS |
|
|
|
Make sure that your key management system |
|
|
Make sure that your key management system uses
secure |
|
|
Make sure that your key management system uses
secure |
|
|
Make sure that your key management system uses
secure |
|
|
Make sure that your key management system uses
secure |
|
|
Make sure that your key management system uses
secure |
|
|
Make sure that your key management system uses
secure |
|
|
Make sure that your key management system
ensures that |
|
|
Make sure that your key management system uses
secure |
|
|
Make sure that your key management system uses
|
|
|
Make sure that your key management system uses
|
|
|
Make sure that
your key management system |
|
|
Make sure that your key management system uses
|
|
|
Make sure that your key management system uses
secure |
|
|
Make sure that your key management system uses
secure |
|
|
Make sure that your key management system use
secure |
|
|
Make sure that your key management system uses
|
|
|
Make sure that your key management system uses
secure |
|
|
Make sure that
your key management system |
|
|
Develop procedures to handle legal requests
|
|
|
Make sure that
your procedures describe how |
|
|
Protect your organization's public keys. |
|
|
Prevent people from forging users' digital
signatures by |
|
|
Use public key certificates to prevent someone
|
|
|
Make sure that
your public key certificates are |
|
|
Make sure that your public key certificates
are generated |
|
|
Make sure that your certification authority
has |
|
|
Establish formal service contracts with your
|
|
|
Make sure that your cryptographic service |
|
|
Make sure that your cryptographic service |
|
|
Make sure that your cryptographic service |
|
10.4 PROTECT YOUR ORGANIZATION’S SYSTEM FILES |
|
|
|
Make sure that IT projects and activities do
not |
|
|
Control the access that IT project personnel
|
|
|
Make system owners responsible for system integrity. |
|
10.4.1 CONTROL THE IMPLEMENTATION OF SOFTWARE |
|
|
|
Establish controls to manage the
implementation |
|
|
Make sure that your controls are designed to
minimize the |
|
|
Make sure that
only authorized librarians are allowed |
|
|
Make sure that your operational systems |
|
|
Make sure that executable code is not
|
|
|
Make sure that executable code is not |
|
|
Make sure that executable code is not
implemented |
|
|
Maintain an audit log of all updates |
|
|
Retain previous versions of all updated software. |
|
|
Ensure that all vendor supplied software used
in your |
|
|
Evaluate the security strengths and weaknesses
of all |
|
|
Apply software patches whenever they are
likely to |
|
|
Make sure that management approval is required
|
|
|
Monitor the activities of your software suppliers. |
|
10.4.2 CONTROL THE USE OF SYSTEM DATA FOR TESTING |
|
|
|
Control the use of your operational data |
|
|
Protect operational data while it is being
used |
|
|
Avoid using personal information for testing
|
|
|
Use access control procedures to restrict |
|
|
Make sure that authorization is required
before operational |
|
|
Make sure that operational information is
immediately erased |
|
|
Make sure that a log and audit trail is
established |
|
10.4.3 CONTROL ACCESS TO PROGRAM SOURCE LIBRARY |
|
|
|
Prevent the corruption of computer programs
by |
|
|
Avoid holding your program source |
|
|
Appoint a program librarian for each |
|
|
Make sure that updates to program
source libraries are carried
|
|
|
Make sure that program source library updates
are authorized by the IT |
|
|
Make sure that your program source librarians
control the |
|
|
Make sure that your librarians receive formal
authorization |
|
|
Make sure that you control the access that
your IT |
|
|
Make sure that an audit log is maintained that
tracks |
|
|
Avoid holding programs that are under
development |
|
|
Avoid holding programs that are under
maintenance |
|
|
Hold program listings in a secure environment. |
|
|
Archive old versions of source programs. |
|
|
Make sure that your source program archives
specify |
|
|
Make sure that
your source program archives include |
|
|
Establish change control procedures to manage
the |
|
10.5 CONTROL DEVELOPMENT AND SUPPORT |
|
|
|
Control your information system development
|
|
|
Make sure that application system managers are |
|
|
Make sure that application system managers are
responsible |
|
|
Make sure that application system managers are
responsible for |
|
10.5.1 ESTABLISH CHANGE CONTROL PROCEDURES |
|
|
|
Establish formal procedures to control changes to information systems. |
|
|
Make sure that change control procedures are
used to ensure that |
|
|
Make sure that your change control procedures
are used to ensure |
|
|
Make sure that your change control procedures
ensure that |
|
|
Make sure that your change control procedures
are used to ensure |
|
|
Make sure that your change control procedures
are used to ensure |
|
|
Make sure that your change control procedures
ensure |
|
|
Make sure that your change control procedures
ensure |
|
|
Make sure that your change control procedures
ensure |
|
|
Make sure that your change control procedures
ensure that |
|
|
Make sure that your change control procedures
ensure |
|
|
Make sure that your change control procedures
ensure that changes are |
|
|
Make sure that your change control procedures
ensure that system |
|
|
Make sure that your change control procedures
ensure that operating |
|
|
Make sure that change control procedures
ensure that |
|
|
Make sure that change control procedures
ensure that |
|
|
Make sure that your change control procedures
ensure |
|
|
Segregate your software testing environment
from |
|
10.5.2 REVIEW CHANGES TO OPERATING SYSTEM |
|
|
|
Review and test application systems whenever
|
|
|
Make sure that your application
system reviews ensure that
|
|
|
Make sure that your application system reviews
ensure that |
|
|
Make sure that your application system reviews
ensure that |
|
|
Make sure that your annual support plan and
budget will |
|
|
Make sure that you notify people about
operating system |
|
|
Make sure that business continuity plans are
updated |
|
10.5.3 RESTRICT CHANGES TO SOFTWARE PACKAGES |
|
|
|
Maintain the security of vendor‑supplied
software by |
|
|
Determine whether or not built‑in controls
will be compromised |
|
|
Determine whether or not integrity processes
will be compromised |
|
|
Determine whether or not the consent of the
vendor is required |
|
|
Determine whether or not the required changes
will be provided |
|
|
Determine whether or not you will be
responsible for future software |
|
|
Make sure that you apply software
modifications to a clearly |
|
|
Test all changes to vendor‑supplied software
|
|
|
Document all changes to vendor‑supplied |
|
10.5.4 SAFEGUARD AGAINST COVERT CHANNELS AND TROJANS |
|
|
|
Safeguard your computing systems |
|
|
Protect yourself against Trojan code and
covert channels |
|
|
Protect yourself against Trojan code and
covert channels |
|
|
Protect yourself against Trojan code and
covert channels |
|
|
Protected yourself against Trojan code and
covert |
|
|
Protect yourself against Trojan code and
covert |
|
|
Protect yourself against Trojan code and
covert |
|
|
Protect yourself against Trojan code and
covert channels |
|
10.5.5 CONTROL OUTSOURCED SOFTWARE DEVELOPMENT |
|
|
|
Manage and control your outsourced software development projects. |
|
|
Clarify intellectual
property rights including who owns |
|
|
Clarify software licensing arrangements before
|
|
|
Expect your suppliers to certify the quality
and the accuracy of the |
|
|
Establish the right to audit the quality and
accuracy of |
|
|
Protect yourself against poor quality code by specifying
|
|
|
Protect yourself against failure by
establishing escrow arrangements |
|
|
Protect yourself against Trojan code by
testing |
![]()
|
PRAXIOM RESEARCH GROUP
LIMITED |
|||
|
Updated on December 22, 2011. First published on October 28, 2004. |
|||
Disclaimer
and Limitation of Liability
The
publisher and authors have used their best efforts in designing and
developing this electronic publication. We make no representation or
warranties
with respect to accuracy or completeness of the contents of
this publication and
specifically disclaim any implied warranties or
merchantability or fitness for any
particular purpose and shall in no
event be liable for any loss of profit or any
other commercial damage,
including but not limited to special, incidental,
consequential, or
other damages.
Legal
Restrictions on the Use of this Page
Thank
you for visiting this page. You are, of course, welcome to view our
material as often as you wish, free of charge. And as long as you
keep intact
all copyright notices, you are also welcome to print or make one
copy of this
page for your own personal, noncommercial, home use. But, you are not
legally authorized to print or produce additional copies or to
copy and paste
any of our material onto another web site or to republish it in
any way.
Copyright © 2004-2011 by Praxiom Research Group Limited. All Rights Reserved.
![]()