Module 11 - Software Development
Module 11 - Software Development
1. Requirements process
2. Architectural design
3. Coding
4. Testing
ROI and Error Correction
❑ Correcting errors results in additional work and
expense.
❑ The level of rework and extent of extra work are direct
functions of how late in the development process the errors are
detected.
Secure Code Techniques
❑ Buffer Overflows
• The input buffer that is used to hold program input is overwritten with data that is
larger than the buffer can hold.
– Poor programming practice
– Programming language weaknesses
• Write solid code – regardless of the language used or the source of outside
input, prudent programming practice is to treat all input from outside a function
as hostile
• Proper string handling – a common event in programs and its functions are the
source of a large number of known buffer overflow vulnerabilities
❑ Code Injection
• a technique to introduce arbitrary code into a running computer
process
• can be done either locally or remotely through the
web
• a hacking or cracking technique to gain information or unauthorized
access to a system
• primary method of defense from this type of vulnerability is similar to
validate all inputs
❑ Least Privilege
• requires that the developer understand what privileges are required specifically for an
application to execute and access all its required resources
• computing concept of access or functionality within an operating system whereby a
user or program is granted minimum possible privileges to permit an action
• determine what needs to be accessed and what the appropriate level of permission
is, then use that level in design and implementation
• cost of failure:
– expensive and time-consuming access violation errors that are hard to track
down and correct
– when an exploit is found that allows some other program to use portions of the
code in an unauthorized fashion
❑Cryptographic Failures
• Choosing to develop own cryptographic algorithm
• Error in instantiating the algorithm
• Random number to generate a random key
• Storing private keys in areas where they can be recovered by
an unauthorized person
–Do not hard-code secret keys in code
Requirements Phase
❑ is the first step in a software development process model where the details for
all end- product requirements are documented.
Testing Phase
❑ last opportunity to determine that the software performs properly before the end
user experiences problems
❑ Security-related use cases can be used to test for specific security requirements.
protects your physical computer and networking facilities, and people
❑ Confidentiality
• Where a secret should stay that way
❑ Integrity
• Which is received is identical to what was sent, what is retrieved should be
identical to what was stored
❑ Accessibility
• What is stored should be easy to retrieve, what you need or where you wish to
go should always be available
IRA Security Mnemonics:
❑ Identification
• Being able to prove you are who you say you are.
❑ Reliability
• All systems function as they should on demand,
even in a crisis.
❑ Authentication
• Making sure users can access only those areas for which they are authorized.
Examples of Physical Attacks
❑ Using Bootdisks
• enables attackers to make an image copy of the hard drive for future or offsite analysis
• Bootable media can be in the form of floppy disks, cds, flash drives or external hard drives that are often
used to load the imaging software.
• Drive imaging is the process of taking the entire contents of a hard drive and copying them to a different
media as a single file.
❑ Computer Theft
Steps to be taken to mitigate the risks of Physical attacks
❑ Removal of bootable devices when they are unnecessary can help mitigate bootdisk
attacks.
❑ BIOS passwords should be used to protect the boot sequence.
❑ USB devices are a threat and, if possible, USB drivers should be removed.
❑ Background checks of new hires help ensure security.
❑ Access controls should have layered areas and electronic access control systems.
❑ Electronic physical security systems need to be protected from network-based attacks.
❑ Authentication systems should use multiple factors when feasible.
❑ All users need security training.
Server Room Surveillance Cameras
Locks and Keys
❑ locked or guarded computer room has been the primary means of protecting
computer equipment and information from physical intrusion and unrestricted
access
❑ to gain access to a locked facility, a user should have to pass an authentication test
❑ Three classic ways in which you identify yourself for authentication purposes:
❑ Authentication techniques can be used for physical security such as for building or
computer room access and system access control.
❑ Two-Factor Authentication
• when two distinct techniques are used for authentication
❑ Mantraps
• an elaborate turnstiles used in highly-secured facilities designed to entrap a person on purpose
❑ Example of locks:
• Equipment locks – Bolting down your PC, router, switch, or other network device in its location to
keep someone from taking it.
• Cryptographic locks - Ultra-secure products are equipped with electronic devices known as smart
keys used to load initial cryptographic key information into the product.
Equipment Lock Mantraps
❑ Access tokens, such as keys, are the traditional form of physical access authentication.
❑ Keys are paired exclusively with a lock or a set of locks, and they are not easily changed.
❑ In many cases, physical access authentication has moved to remote radio frequency
cards and readers.
1. Retina pattern
2. Fingerprint
3. Handprint
4. Voice pattern
5. Keystroke pattern
6. Signature
In order of social acceptance, the order is practically the
opposite:
1. Keystroke pattern
2. Signature
3. Voice pattern
4. Handprint
5. Fingerprint
6. Retina pattern
Setbacks in Using Biometric Devices
❑ Biometrics may not encode the exact results twice allowing for a certain amount of error
in the scan
• A false positive is when a biometric is scanned and allows access to someone who is not
authorized.
• A false negative is when the system denies access to someone who is authorized.
❑ An attacker can steal the uniqueness factor that the machine scans and reproduce that
factor to gain access.
❑ Parts of the human body can change, allowing a higher tolerance for variance in the
biometric being read.
Disaster Recovery Plan (DRP)
❑ defines the data and resources necessary and the steps to take in order to restore
critical organizational processes
❑ answers the following questions for all critical functions:
• Who is responsible for the operation of this function?
• What do these individuals need to perform the function?
• When should this function be accomplished in
relation to other functions?
• Where will this function be performed?
• How is this function performed (what is the process)?
• Why is this function so important or critical to the
organization?
❑ A business impact assessment (BIA) or business impact analysis is the name often
used to describe the document created by addressing these questions.
Categories of Business Functions
❑ Necessary for normal processing – in normal operations the business function is requisite
but the organization can without it for a short period of time
❑ Desirable – in normal operations, the function is not required but it will enhance the
organization’s ability to conduct its objectives efficiently
❑ Optional – function is desirable to include but it does not have any effect on the operation of
the organization
Business Continuity Plan (BCP)
❑ BCP describes the functions that are most critical, based on a previously
conducted BIA, and often describe the order in which functions should be
returned to operation.
Backups
❑ provide valid, uncorrupted data in the event of corruption or loss of the original file or the
media where the data was stored.
Types of Backups
❑ Full Backup – all files and software are copied onto the storage media
❑ Differential Backup – only the files and software that have changed since
the last full backup was completed need to be stored
Backup – backs up only the actual data in the selected files that has
❑ Delta
changed
Backup Frequency and Retention
❑ Every organization should consider how long it can survive without current
data from which to operate. Then it can determine how long it will take to
restore from backups, using different methods, and decide how frequently
backups need to occur.
• Rule of three
• Keep the most recent copy of backups for various time intervals
❑ Twomajor costs that need to be considered in determining the optimal
backup frequency:
• Cost of the backup strategy chosen
• Cost of recovery if backup strategy is not implemented
❑ Hot sites – fully configured environment similar to the normal operating environment
that can be operational within a few hours
❑ Warm sites – partially configured, usually having the peripherals and software but
perhaps not the more expensive main processing computer
❑ Cold sites – have the basic environmental controls necessary to operate but will have
a few of the computing components necessary for processing
❑ Mobile backup sites – generally trailers with the required computers and electrical
power that can be driven to a location within hours of a disaster and set up to
commence processing immediately
Security Policies
❑ high-level statement produced by senior management that outlines what security
means to the organization and what the organization’s goals are for security
❑ describe how security is to be handled from an
organizational point of view
❑ should be reviewed on a regular basis and updated as needed
Separation of Duties
❑ principle employed in many organizations to ensure that no single individual has the
ability to conduct transactions alone
❑ may result to inefficiency and may actually be less secure because individuals may not
inspect transactions as thoroughly, since they know others may be reviewing them
❑ spreads responsibilities out over an organization so no single individual becomes the
indispensable individual with all of the unique knowledge about how to make everything
work
Password Management Policy
❑ should address the procedures used for selecting user
passwords, the frequency with which they must be changed,
and how they will be distributed
❑ should also address the issue of password cracking by
administrators to discover weak passwords that may have
been selected by employees
Privacy Policy
❑ a specific set of professional behaviors and values the professional interpreter must
know and must abide by, including confidentiality, accuracy, privacy, integrity. The
code should also state how employees should treat client and organizational data
❑ associated procedures should be developed to outline how the organization will deal
with security incidents when they occur
❑ covers several phases and this includes preparation, detection, containment and
eradication, recovery, and follow-up actions
❑ Preparation
• Once the determination has been made that an incident has occurred, the team is going to contain the
problem.
• Another decision to be made is how to address
containment.
• Other possible containment activities include adding additional filtering rules or modifying existing rules on
firewalls, routers, or IDS, updating anti-virus software, or removing specific pieces of hardware or halting
specific software applications.
• Once the immediate problems have been contained, the cause of the incident needs to be addressed.
❑ Recovery
• After the incident has been contained and the malicious software or vulnerabilities have been solved, the
procedures can now be put into action. The goal here is to have the organization back to normal processing.
❑ Follow-Up Actions
• An after-action report should be created to outline what happened and how it was
addressed.
• Recommendations will most likely be made to improve processes and policies so
that a repeat incident will not occur.
• Training material may also need to be developed or modified as part of the new,
modified policies and procedures.