Why is Security So Hard?
Download
Report
Transcript Why is Security So Hard?
Why is Internet Security
So Hard?
Dr. Stephen Kent
Chief Scientist- Information Security
Internet Security
Security for the Internet includes both security for
network operations and security for network users
The former is usually the purview of ISPs, the
latter is a shared responsibility among users, ISPs,
and vendors
For network users, there is a need to secure
information on computers and in transit across the
Internet
This presentation focuses on security for Internet
users
What is Security?
ISO 7498-2 defines five security services
Confidentiality (secrecy)
Authentication (identify verification)
Integrity
Access control
Non-repudiation (not “taking back” what one “said”)
Users also would likely include
Preventing spam
Preventing denial of service
Privacy
…
Information Security Disciplines
Physical security
Procedural security
Personnel security
Compromising emanations security
Operating system security
Communications security
a failure in any of these areas can
undermine the security of a system
Security Terminology
Vulnerabilities
security flaws in systems
Attacks
means of exploiting vulnerabilities
Countermeasures
technical or procedural means of addressing
vulnerabilities or thwarting specific attacks
Threats
motivated adversaries capable of mounting attacks
which exploit vulnerabilities
Adversaries (The Bad Guys)
Hackers
Disgruntled employees
Industrial spies
Terrorists
Special interest groups
Journalists
Real spies
Criminals (organized or otherwise)
Adversary Characteristics
Capabilities
Network wiretapping
Remote attacks against operating systems or
applications
“Social engineering” (e.g., SPAM)
Physical attacks
Personnel subversion
Resources
Personnel
Technology
Funds
Aversion to detection
Vulnerabilities
The simple characterization of our problem is the
existence of vulnerabilities in products
We face a two sorts of vulnerability problems:
Known vulnerabilities
Unknown vulnerabilities
For known vulnerabilities we can deploy specific
countermeasures
For unknown vulnerabilities, at best we try to
prevent/detect behavior that might be exploiting
these vulnerabilities
Sources of Vulnerabilities
Design flaws
operating system & application vulnerabilities
protocol design vulnerabilities
Implementation flaws
programming errors
undocumented system & application “features”
Mismanagement
unintended and/or residual authorizations
failure to deploy security bug fixes
Security Continuum
There are no perfect, secure systems
Systems are "adequately secure" only relative to a
perceived threat
Absence of obvious insecurities is not a good
indication that a system is adequately secure
Risk analysis, if properly performed, provides a
methodology for identifying what constitutes
adequate security
The Threshold Effect
Once a technical attack against a security
technology has been "debugged" it can be
executed by a wide range of (inexperienced)
attackers
A technical attack that can be effected using
inexpensive hardware or software is especially
easy to transfer from sophisticated attackers to
amateurs
Thus it is dangerous to dismiss an attack as "too
complex or too technical" because the perceived
attackers do not possess the technical capability to
mount the attack
Why are the Bad Guys Winning?
Most vendor software has poor security
characteristics
Too complex
Badly designed
Buggy
Most users are sloppy
Don’t install the latest patches
Easily tricked (social engineering)
Poor password choices, password reuse, …
Hackers value their time at 0, but user have other
priorities in life!
Common Defense Strategies
Firewalls
Intrusion Detection Systems
Anti-virus technology (in hosts and in mail
gateways)
Anti-spam technology (in hosts and in mail
gateways)
Periodic penetration testing (enterprise nets)
Centralized patch management (enterprise nets)
Anti-DOS mechanisms (ISPs)
Firewalls
Recently renamed Intrusion Prevention Devices
(IPDs), probably to help sell more of them :-)
The term covers a wide range of technologies,
from simple, stateless packet filtering, to
application-specific devices
At the low end, these offer minimal protection
against most adversaries
At the high end they are expensive and often
interact badly with new applications
In all cases, management of the firewall rule sets
is complex, time consuming, and thus imperfect
Intrusion Detection Systems (IDSs)
An IDS attempts to:
Detect behavior that exploits known vulnerabilities
Detect behavior that might exploit some class of unknown
vulnerabilities
Detect behavior that might be a precursor to an attack
IDS may attempt to:
Detect signatures of known attacks
Detect anomalous behavior
Do both
IDS’s tend to work poorly, because of the ambiguities
associated with attempts to deal with unknown attacks or
to define “normal” behavior
False positives (incorrect flagging of traffic as “evil” is
common, and makes these systems hard to use
Anti-virus Systems
These attempt to detect viruses (and worms),
typically distributed via e-mail attachments or
other forms of file transfer
Usually they are signature based, which means
they know only about previously-detected viruses
A network manager or user has to acquire
signature list updates periodically, or become
vulnerable to newer viruses
These can be effective if properly managed, but
people are sloppy, and virus writers are prolific
Anti-spam Technology
The problem with spam is that it is impossible to
distinguish from legitimate mail, in the worst case
Some anti-spam technology works on signatures,
like anti-virus technology, but it is not very
effective because spam generation software does
not focus on software vulnerabilities, like viruses
Some anti-spam technology is based on Baysean
filters (probabilistic measures), but it too is subject
to false positive/false negative tuning problems
Spam is of value to its senders primarily because
users are greedy or naïve; solving this is NOT a
technical problem
Penetration Testing
This is an approach used by many enterprises, but
rarely by individual users
At the low end it is automated, mostly a patch
check on end systems and a firewall filer rules
check
At the high end one pays “experts” to try to break
into your system(s)
The low end is useful as a form of external
checking re good housekeeping
The high end is very expensive
Centralized Patch Management
The notion here is to enable an IT organization to
check the status of end systems and to patch them
before the systems are successfully attacked
Vendors like Cisco and Microsoft offer this as a
service, part of “admission control” to a LAN
This is another form of “good housekeeping”
checking, on a more frequent basis
It is analogous to low end penetration testing, a
form of centrally managed anti-virus updating
BUT, an already-compromised system can avoid
detection if the attacker is clever
Anti-DoS Technology
Denial of service attacks seek to make resources
unavailable, typically through overloading network access
lines with lots of traffic
The problem is that it is hard to tell good traffic from bad
traffic out in the Internet (vs. at an end system)
Some systems try to look at traffic flows and discard
packets if the flow to a given destination is “too high”
BUT, good traffic is often discarded as well as bad!
We know that some DoS hackers have thousands of
“zombie” systems available to them, dispersed over the
Internet, to launch attacks, which makes it almost
impossible to counter such attacks without causing
problems for legitimate users as well
Abstraction and Attacks
One strategy for an adversary is to attack below
the layer of abstraction at which security measures
are defined, or via ill-defined interfaces
Complex applications and operating systems like
Windows have many ill-defined interfaces
Security measures implemented in applications (or
middleware) embody high levels of abstraction
The trend is to create more opportunities for an
attacker as we use more complex, high level
application development environments, e.g., web
services
Security in Products:
Functionality vs. Assurance
Security functions: usually visible, securityrelevant features that provide the means by which
security is invoked and managed
Security assurance: often invisible means by
which one develops confidence in the correct
operation of security features
Many products now advertise lots of security
functions (because today, security sells), but the
products offer little or no assurance!
Security Assurance
Product security assurance techniques
penetration testing
detailed code review
use of formal specifications
security evaluation criteria
Unfortunately, these techniques are either very
expensive or very haphazard
As a result, we have few products for which we
have a good idea of their security quality
Security & Privacy: A Quick Look
Security
Accountability
Uniform identification
Extensive auditing
Correlation of audit data
Centralized management
Mediated access to all
data
Privacy
Anonymity
Use of diverse identifiers
Limited data collection
No sharing of records
Distributed autonomy
Mediated access to
records that affect
privacy
Security and privacy need not be in conflict,
but it takes a lot of effort to balance the two
Conclusions
Internet security is hard because:
Its hard to counter unknown vulnerabilities in products
Even security products themselves often have unknown
vulnerabilities
The utility of an IDS is limited by feature rich
environments
Most CIOs can’t even track all the systems in their nets
There is no methodology for designing a secure system
from secure components (and we have few secure
components anyway)
Abstraction favors the adversary
Some problems (e.g., spam) are not technical in nature
People are sloppy, greedy, and sometimes naïve
Questions