Chapter 13 Security Engineering 1 12/11/2014
Chapter 13 Security Engineering 1 12/11/2014
Chapter 13 Security Engineering 1 12/11/2014
Confidentiality
Information in a system may be disclosed or made accessible to
people or programs that are not authorized to have access to
that information.
Integrity
Information in a system may be damaged or corrupted making it
unusual or unreliable.
Availability
Access to a system or its data that is normally available may not
be possible.
Term Definition
Asset Something of value which has to be protected. The asset may be the software
system itself or data used by that system.
Attack An exploitation of a system’s vulnerability. Generally, this is from outside the
system and is a deliberate attempt to cause some damage.
Control A protective measure that reduces a system’s vulnerability. Encryption is an
example of a control that reduces a vulnerability of a weak access control
system
Exposure Possible loss or harm to a computing system. This can be loss or damage to
data, or can be a loss of time and effort if recovery is necessary after a security
breach.
Threat Circumstances that have potential to cause loss or harm. You can think of these
as a system vulnerability that is subjected to an attack.
Vulnerability A weakness in a computer-based system that may be exploited to cause loss or
harm.
Term Example
Asset The records of each patient that is receiving or has received treatment.
Exposure Potential financial loss from future patients who do not seek treatment
because they do not trust the clinic to maintain their data. Financial
loss from legal action by the sports star. Loss of reputation.
Vulnerability A weak password system which makes it easy for users to set
guessable passwords. User ids that are the same as names.
Attack An impersonation of an authorized user.
Threat An unauthorized user will gain access to the system by guessing the
credentials (login name and password) of an authorized user.
Control A password checking system that disallows user passwords that are
proper names or words that are normally included in a dictionary.
Vulnerability avoidance
The system is designed so that vulnerabilities do not occur. For
example, if there is no external network connection then external
attack is impossible
Attack detection and elimination
The system is designed so that attacks on vulnerabilities are
detected and neutralised before they result in an exposure. For
example, virus checkers find and remove viruses before they
infect a system
Exposure limitation and recovery
The system is designed so that the adverse consequences of a
successful attack are minimised. For example, a backup policy
allows damaged information to be restored
Identification requirements.
Authentication requirements.
Authorisation requirements.
Immunity requirements.
Integrity requirements.
Intrusion detection requirements.
Non-repudiation requirements.
Privacy requirements.
Security auditing requirements.
System maintenance security requirements.
12/11/2014 Chapter 13 Security Engineering 31
Security requirement classification
Asset identification
Identify the key system assets (or services) that have to be
protected.
Asset value assessment
Estimate the value of the identified assets.
Exposure assessment
Assess the potential losses associated with each asset.
Threat identification
Identify the most probable threats to the system assets
Attack assessment
Decompose threats into possible attacks on the system and the
ways that these may occur.
Control identification
Propose the controls that may be put in place to protect an
asset.
Feasibility assessment
Assess the technical feasibility and cost of the controls.
Security requirements definition
Define system security requirements. These can be
infrastructure or application system requirements.
The information system High. Required to support all High. Financial loss as clinics
clinical consultations. Potentially may have to be canceled. Costs
safety-critical. of restoring system. Possible
patient harm if treatment cannot
be prescribed.
The patient database High. Required to support all High. Financial loss as clinics
clinical consultations. Potentially may have to be canceled. Costs
safety-critical. of restoring system. Possible
patient harm if treatment cannot
be prescribed.
An individual patient record Normally low although may be Low direct losses but possible
high for specific high-profile loss of reputation.
patients.
An unauthorized user Low Only allow system Low cost of implementation but
gains access as management from care must be taken with key
system manager and specific locations that distribution and to ensure that
makes system are physically secure. keys are available in the event
unavailable of an emergency.
An unauthorized user High Require all users to Technically feasible but high-
gains access as authenticate themselves cost solution. Possible user
system user and using a biometric resistance.
accesses confidential mechanism.
information Simple and transparent to
Log all changes to implement and also supports
patient information to recovery.
track system usage.
Platform-level protection
Top-level controls on the platform on which a system runs.
Application-level protection
Specific protection mechanisms built into the application itself
e.g. additional password protection.
Record-level protection
Protection that is invoked when access to specific information is
requested
These lead to a layered protection architecture
Security guidelines
Base security decisions on an explicit security policy
Fail securely
Experience-based testing
The system is reviewed and analysed against the types of attack
that are known to the validation team.
Penetration testing
A team is established whose goal is to breach the security of the
system by simulating attacks on the system.
Tool-based analysis
Various security tools such as password checkers are used to
analyse the system in operation.
Formal verification
The system is verified against a formal security specification.
Security checklist
1. Do all files that are created in the application have appropriate access permissions?
The wrong access permissions may lead to these files being accessed by unauthorized
users.
2. Does the system automatically terminate user sessions after a period of inactivity?
Sessions that are left active may allow unauthorized access through an unattended
computer.
3. If the system is written in a programming language without array bound checking, are
there situations where buffer overflow may be exploited? Buffer overflow may allow
attackers to send code strings to the system and then execute them.
4. If passwords are set, does the system check that passwords are ‘strong’? Strong
passwords consist of mixed letters, numbers, and punctuation, and are not normal
dictionary entries. They are more difficult to break than simple passwords.
5. Are inputs from the system’s environment always checked against an input
specification? Incorrect processing of badly formed inputs is a common cause of
security vulnerabilities.