Professional Documents
Culture Documents
Chapter 3 Program Security Spring04 Victor Sawma
Chapter 3 Program Security Spring04 Victor Sawma
Program Security
Outline
Non-Malicious Program Errors
Viruses & worms
Targeted Malicious Codes
Trapdoors, Salami attack, Covert channels
Controls Against Program Threats
Programming & process controls
OS controls
Administrative controls
http://www.isaleh.com/codered/
Code Red Virus
Two variants of Code Red worm
existed
Windows NT or Windows 2000
operating systems were infected
The most expensive virus in the
history of the Internet
Total damage was estimated to be
about $1.2 billion
http://www.newsfactor.com/perl/story/12668.html
V. Sawma, Computer Security and their Data 28
How the Code Red Virus spreads
It identifies a target server
It then runs a program that causes a file to
crash on the server
The worm scans for other vulnerable servers
and multiples
It creates additional traffic in the network
other than that coming from outside
Thus the bandwidth is all clogged up results
in slowing down the communication
Required
Typical software engineering methods:
modularity, encapsulation, peer reviews, walk-through
information hiding, independent testing
Reading!
configuration management (check-in, check-out, history
of changes, …)
formal methods, hazard analysis, good design
prediction, static analysis, trusted software
confinement, access log
etc.
Modularity
Modularization is the process of dividing a task into
subtasks.
Division is done on a logical or functional basis.
Each module performs a separate, independent part
of the task.
Encapsulation
With encapsulation, modules interact only through certain
well-defined interfaces. A module is entered only at
specified entry points, and a module interacts with the
fewest other modules possible.
Information Hiding
Administrative controls
Required
1988: Standard 2167A (DoD)
1990: ISO 9000 – to specify actions to be taken when any
system has quality goals and contraints
1993: CMM (Capability Maturity Model) – to assess the quality
Reading!
of a software development company
1995: SSE CMM (System Security Engineering CMM) – to
assess the quality of security engineering development
practices (See http://www.sse-cmm.org/)
SSE CMM model v2, 1999
OS controls
Chapter 4
Trusted OS
Confined programs
Access logs for auditing