Vulnerability Analysis
Chapter 24
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-1
Vulnerability Analysis Chapter 24 Computer Security: Art and Science - - PowerPoint PPT Presentation
Vulnerability Analysis Chapter 24 Computer Security: Art and Science , 2 nd Edition Version 1.0 Slide 24-1 Overview What is a vulnerability? Penetration studies Flaw Hypothesis Methodology Other methodologies Vulnerability
Chapter 24
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-1
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-2
and controls that allow a subject to commit an action that violates the security policy
in
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-3
preconditions, inputs
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-4
relevant to vulnerability
compromised system state
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-5
vulnerabilities
must include all external factors
program, design, or environment and not the absence of flaws in a computer system (think incorrect configurations, etc.)
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-6
controls on system
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-7
policy
password before accessing file (i.e., password protect files)
unauthorized access to a password?
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-8
taken in design, implementation, and operation
them on web
access for over 30 days)
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-9
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-10
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-11
conclusions
successful than obtaining access to privileged account
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-12
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-13
people
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-14
procedures
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-15
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-16
critical flaws
and programs
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-17
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-18
attack; others copy command line arguments into buffer on stack Þ these are vulnerable too
system; second flaw allows any user on that system to gain full privileges Þ any external attacker can get full privileges
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-19
environment, and possibly exploit
implementation redone
prevent exploitation
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-20
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-21
for it; this includes establishing goals, limits of test
compromise remote entities, maintain access, and cover tracks
detritus, any other artifacts used or created
existing ones
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-22
throughout electromagnetic spectrum
and wired network lines
place over telephone or telephone-like networks
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-23
These feed back into one another
into classes, channels, modules, phases
existing ones
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-24
identifying and examining targets) and hypothesizing vulnerabilities
information learned fed back to discovery phase for more hypothesizing
describing what was found and how to mitigate the problems
guidance as others
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-25
information
(using social engineering as well as technical means)
exploitations
existing ones
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-26
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-27
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-28
supervisor
modified)
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-29
locations only
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-30
. . . x x x+1 x+2 x+2
validity of old address
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-31
. . . x x x+1 x+2 x+2
segment 5)
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-32
in parameter list
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-33
issue supervisor calls (as opposed to system calls)
thereby completely controlling computer
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-34
integrity of system
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-35
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-36
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-37
executable
target a data file
(and so could output executables)
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-38
to give privileges to anyone calling it (this makes it data, of course)
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-39
in keeping external attackers from accessing system
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-40
report
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-41
structure
person requesting shipment, and employee’s Cost Center number
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-42
communicated to new employees
hired that week
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-43
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-44
systems
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-45
ftp 21/tcp File Transfer telnet 23/tcp Telnet smtp 25/tcp Simple Mail Transfer finger 79/tcp Finger sunrpc 111/tcp SUN Remote Procedure Call exec 512/tcp remote process execution (rexecd) login 513/tcp remote login (rlogind) shell 514/tcp rlogin style exec (rshd) printer 515/tcp spooler (lpd) uucp 540/tcp uucpd nfs 2049/tcp networked file system xterm 6000/tcp x-windows server
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-46
220 zzz.com sendmail 3.1/zzz.3.9, Dallas, Texas, ready at Wed, 2 Apr 97 22:07:31 CST Version 3.1 has the “wiz” vulnerability that recognizes the “shell” command … so let’s try it Start off by identifying yourself helo xxx.org 250 zzz.com Hello xxx.org, pleased to meet you See if the “wiz” command works … if it says “command unrecognized”, we’re out of luck wiz 250 Enter, O mighty wizard! It does! And we didn’t need a password … so get a shell shell # And we have full privileges as the superuser, root
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-47
interface that controls this
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-48
determine system architecture (chip set)
environment when it spawns subprogram
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-49
and put it in local directory
directories
why not?
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-50
command “bin”
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-51
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-52
which inherited environment
should be untrusted, but is trusted!
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-53
systems
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-54
qotd 17/tcp Quote of the Day ftp 21/tcp File Transfer [Control] loc-srv 135/tcp Location Service netbios-ssn 139/tcp NETBIOS Session Service [JBP]
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-55
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-56
privileges on local system
domain
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-57
administrators and mechanisms for publicizing the policies
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-58
correct implementation, meticulous testing
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-59
hypothesize and generalize flaws
system systematically
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-60
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-61
code (fingerd)
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-62
log to it
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-63
Check that user can write to file “/usr/tom/X” if (access(“/usr/tom/X”, W_OK) == 0){ Open “/usr/tom/X” to append log entries if ((fd = open(“/usr/tom/X”, O_WRONLY|O_APPEND))< 0){ /* handle error: cannot open file */ } }
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-64
first and second lines
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-65
/ / / e t c passwd data xyzzy data p a s s w d usr tom xyzzy access(“/usr/tom/xyzzy”, W_OK) / / / e t c passwd data xyzzy data p a s s w d usr tom access(“/usr/tom/xyzzy”, W_OK) x y z z y after attack
daemon)
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-66
stack, as shown
return address to point to beginning of buffer
to spawn shell, attacker gets shell
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-67
main local variables input buffer parameter to gets return address
state info gets local variables main local variables program to invoke shell address of input buffer
state info gets local variables after message
vulnerability
errors causing vulnerabilities
n-tuple being classes into which vulnerability falls
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-68
in OSes, and help determine how much effort required to enhance system security
some problems, and techniques for avoiding and ameliorating other problems
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-69
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-70
absence)
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-71
but the routines require different formats
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-72
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-73
create inconsistencies
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-74
someone into executing program without authorization
process privileged
and file name beginning with “DLO”?
process is privileged
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-75
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-76
allocation, etc.
location stored in register 1
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-77
vulnerabilities
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-78
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-79
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-80
users can be altered by any user
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-81
the abstraction can be bypassed
each to send bits to each other
enabling users to bypass file system abstraction and write directly to raw disk blocks
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-82
changed between validation and access
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-83
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-84
freed for use by others
core
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-85
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-86
type directory, then changed ownership to user
password file after directory created but before change of ownership
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-87
reads or two writes to file in a row
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-88
pseudorandom number generators that produce predictable sequences of numbers
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-89
systems
complete
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-90
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-91
above
testing
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-92
Intentional Malicious Nonmalicious Trojan horse Trapdoor Logic bomb Covert channel Other Nonreplicating Replicating Storage channel Timing channel
control
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-93
Time of Introduction Development Maintenance Operation Requirements/specifications/design Source code Object code
serious flaws occur
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-94
Location Software Hardware Operating system Support Application System initialization Memory management Process management/scheduling Device management File management Identification/authentication Other/unknown Privileged utilities Unprivileged utilities
relationships between pairs of classes
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-95
trees
branch you take
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-96
buffer
system (it performs according to specification, but results create a vulnerability)
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-97
window between two operations creates flaw
ignored, input not validated, authentication and identification fails
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-98
any file
interactive, so find a setuid shell script, create a link to name “-gotcha”, run it, and you has a privileged interactive shell
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-99
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-100
classification?
switch file objects; fingerd and its client)
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-101
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-102
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-103
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-104
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-105
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-106
condition
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-107
same classification scheme
classifications
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-108
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-109
address is object
valid ones
value in memory is changing and data executed that should not be executable
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-110
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-111
address is object
value in memory is changing and data executed that should not be executable
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-112
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-113
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-114
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-115
whether 2 reported vulnerabilities overlap, and provides general direction and very high-level management
for a particular vendor
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-116
Main fields:
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-117
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-118
CVE-ID: CVE-2016-3706 Description: Stack-based buffer overflow in the getaddrinfo function in sysdeps/posix/getaddrinfo.c in the GNU C Library (aka glibc or libc6) allows remote attackers to cause a denial of service (crash) via vectors involving hostent conversion. NOTE: this vulnerability exists because of an incomplete fix for CVE-2013-4458 References:
Assigning CNA: N/A Date Entry Created: 20160330
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-119
research community
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-120
enable an exploit
language
entry, but in sufficient detail to lead to specific methods of detection and remediation
technology.
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-121
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-122
layer of abstraction
language or environment
development of methods of detection, prevention, remediation
programming language
implementation, or both
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-123
check system for inconsistencies
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-124
System flaws that cause a large class of penetration patterns can be identified in system (i.e., TCB) source code as incorrect/absent condition checks or integrated flows that violate the intentions of the system designers.
vulnerabilities
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-125
A system (i.e., TCB) is largely resistant to penetration if it adheres to a specific set of design properties. Example properties:
both timing and storage
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-126
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-127
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-128
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-129
which checked parameters are changed
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-130
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-131
function call to strcpy copy from srcstr to dststr srcstr = fname fname → srcstr dststr = local buffer buf buf → dststr TCB entry point rmdir(fname)
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-132
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-133
validated first
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-134
before altering buf
(strcpy, islegal(fname) Ù length(fname) < spacefor(buf)) Î KF
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-135
sequence of information flows, function flows, conditions along path
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-136
be altered or viewed, and all conditions on the system-critical functions, then system cannot be penetrated using a technique that exploits failure to check conditions
delay caused by a function
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-137
State that meets the following requirements:
1. For all states (c, e, p) Î ACS:
a) Conditions associated with e Î EF subset of conditions checked in p b) Conditions associated with cell c Î AC subset of conditions checked in p c) A subsequence of p contains the last element of p, the conditions in part b, and does not contain any elements (f, g) Î SF with f Î Z or g Î Z
2. Requirement 1, but for VCS rather than ACS 3. Requirement 1, but for (k, e, p) Î KFS rather than ACS
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-138
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-139
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-140
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-141
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-142
an attack exploiting a failure to check conditions. Then if a state transition function is applied to the current state, the resulting state will also be penetration-resistant to an attack exploiting a failure to check conditions.
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-143
length(fname)<spacefor(buf) } Ë p
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-144
information
derived from primitive flow statements
reports inconsistencies
correspond to penetration-resistant specs (applies Hypothesis of Penetration Patterns)
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-145
consistency checking?
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-146
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-147
expect less vulnerable systems to replace them
goals are known and tests are structured well
hypothesis
vulnerabilities and underlying weaknesses
Version 1.0 Computer Security: Art and Science, 2nd Edition Slide 24-148