PPT - Center for Computer Systems Security

advertisement
In-Class Presentations
• On the paper you read for a given report
– I will email you which report you’re presenting on
– Presentation is summary of your report
– Send me PPT of your presentation at least 1h before
• DEN students use WebEx – I sent the link
• 10 minutes long, 5 slides:
–
–
–
–
–
Problem, why important, why difficult
Solution
Evaluation
Your opinion
Your ideas
• Graded: Slide appearance, content and delivery
No Class Next Week
• No class 4/6
• I will post Quiz 4 and Quiz 5 soon and email
you
Sanitization
• Remove or obscure (anonymize) sensitive data
– Remove packet contents and application headers
– Anonymize IP addresses
• Positional - anonymize in order of appearance. Inconsistent
and lose information about networks
• Cryptographic - anonymize by encrypting with a key.
Consistent but still lose information about networks.
• Prefix-preserving - cryptographic approach is applied to
portions of IP separately to preserve network information.
• Sanitization loses a lot of data - application
headers, contents, IP addresses
– This is acceptable for some research but not for all
• Sanitized data still has sensitive information
Attack Classes
• Passive attacker
– Observe publicly released trace
– Use some public or private auxiliary information to
infer private data
• Active attacker
– Insert traffic during trace collection
– Identify this traffic later in public trace
• This creates an auxiliary information channel
• Can learn what method was used to obscure private data
• Can verify presence or absence of data items with
same/similar values in other records
– Provider cannot identify injected traffic
• Covert channel problem
Privacy of Sanitized Data
• Attacks focus on breaking anonymization or
discovering vulnerabilities to use in attacks
– Web page attack - identify Web pages based on size
and number of objects
– Clock skew attack - infer clock skew from packet
timing, link it to the one obtained by probing
– Link layer, Clustering and Behavior attack - infer
topology, cluster same prefix addresses, use behavior
models of popular servers to pinpoint them in the
trace
– Scan attack - infer relationship between IPs in scans
– Innumerable active attacks – insert data into trace
• Removing sensitive data for many of these
attacks makes sanitized trace unusable
Drawbacks of Sanitization Approach
• Low utility
– One-size-fits-all data is released
– Any field sensitive in some context must be
removed from all contexts
• Low privacy
– Known attacks are not handled because that
would seriously decrease utility
– Active attacks cannot be handled
– Data providers have no insight into trace usage
– Users get access to entire trace, regardless of
intent - future attacks can be launched by anyone
Our Proposal: Secure Queries
• Providers publish a query language
– Interpreter allows certain queries on certain
packet fields and in a given context
– The restrictions are mined from a providerspecified privacy policy
– Users submit queries to an online portal, receive
aggregate results: counts, distributions,
histograms, etc.
Advantages of Secure Queries
• Higher utility
– Fine-grain control over field processing and its context
allows safe access to some fields that would be
removed/obscured in sanitization - less data loss
– Even application headers or contents could be
processed
– Easy coding in a high-level language
• Better privacy
– Providers have insight into trace usage, can audit
– Can precisely control what is allowed
– Future attacks handled via policy/language changes only those users that previously ran forbidden queries
can launch attacks
Linkages – The Trail We Leave
• Identifiers
• IP Address, cookies, login IDs
• MAC Address and other unique IDs
• Where saved
• Log files
• Persistence
• How often does identifier change
• How can it be mapped to user identification
Unlinking the Trail
• Blind Signatures
• Content of the message is disguised before it is signed
• Resulting signature can be verified against original
content
• Analogy: Enclosing a message in a write-through
envelope which is signed and sealed. Signer doesn’t
see the message.
• Enable proof of some attribute without identifying
the prover
• Application in anonymous e-currency and e-voting
Unlinking the Trail
• Anonymizers
• A remote web proxy
• Hides originators IP address from sites that are visited
• Usually strips off cookies and other identifying
information
• Limitations
• You are dependent on the privacy protections of the
anonymizer itself
• All you activities are now visible at this single point of
compromise
• Use of the anonymizer may highlight those activities
that you want to go unnoticed
Onion Routing
• Layers of peer-to-peer anonymization
•
•
•
•
You contact some node in the onion routing network
Your traffic is forward to other nodes in the network
Random delays and reordering are applied.
With fixed probability, it is forwarded on to its
destination
• Traffic analysis requires linking packets through the
full chain of participants
• And may be different for each association
Trusted Computing
What Problem Are We Solving?
• Can’t protect applications from within
themselves
– Exploits can turn off defenses
• Can’t protect the OS from within itself
– Exploits can turn off defenses
– Rootkits can hide any sabotage from users
• May not be able to trust users
– They may be uninformed
– They may be malicious – OK for their computer but
risk for the others they communicate with
– Digital right management issues
What is Trusted Computing
• Attestation
– Means of ensuring someone (user, remote computer)
of the system’s trustworthy status
• Usually means authentic/approved apps
– Root of trust needed to store keys
– Trusted path (allows user to have confidence in the
system)
– Chain of trust (like for certificate authorities)
• Separation
– Secure storage (data/keys)
– Protection of processes
• The rest is policy
– That’s the hard and controversial part
Trusted Path
• We need a “trusted path”
– For user to communicate with a domain that is
trustworthy.
• Usually initiated by escape sequence that application
can not intercept: e.g. CTL-ALT-DEL
– Could be direct interface to trusted device:
– Display and keypad on smartcard
Communicated Assurance
• We need a “trusted path” across the
network.
• Provides authentication of the software
components with which one
communicates
What Can We Do with TC?
• Clearer delineation of security domains
– We can run untrusted programs safely
• Run in domain with no access to sensitive resources
– Such as most of your filesystem
– Requests to resources require mediation by TCB (trusted
computing base), with possible queries to the user through
trusted path.
Mediating Programs Today
• Why are we so vulnerable to
malicious code today?
– Running programs have full access to system files
– Why? NTFS and XP provide separation
• But many applications won’t install, or even run,
unless users have administrator access
– So we run in “System High”
Corporate IT Departments’
Solution
• Users don’t have administrator access even
on their own laptops
– This keeps end users from installing their own
software, and keeps IT staff in control
– IT staff select only software for end users that will
run without administrator privileges
– But systems still vulnerable to exploits in
programs that cause access to private data
– Effects of “Plugins” can persist across sessions
The Next Step
• But, what if programs were accompanied by
third party certificates that said what they
should be able to access?
– IT department can issue the certificates for new
applications
– Access beyond what is expected results in system
dialogue with user over the trusted path
Red / Green Networks
• Butler Lampson of Microsoft and MIT
suggests we need two computers (or two
domains within our computers)
– Red network provides for open interaction with
anyone, and low confidence in who we talk with
– We are prepared to reload from scratch and lose
our state in the red system
Red / Green Networks
• The Green system is the one where we store
our important information, and from which
we communicate to our banks, and perform
other sensitive functions
– The Green network provides high accountability,
no anonymity, and we are safe because of the
accountability
– But this green system requires professional
administration
– A breach anywhere destroys the accountability
for all
Somewhere Over the Rainbow
• But what if we could define these systems on
an application by application basis
– There must be a barrier to creating new virtual
systems, so that users don’t become accustomed
to clicking “OK”
– But once created, the TCB prevents the
unauthorized retrieval of information from
outside this virtual system, or the import of
untrusted code into this system
– Question is who sets the rules for information
flow, and do we allow overrides (to allow the
creation of third party applications that do need
access to the information so protected)
A Financial Virtual System
• I might have my financial virtual system. When
asked for financially sensitive data, I hit CTL-ALT-DEL
to see which virtual system is asking for the data
• I create a new virtual system from trusted media
provided by my bank
• I can add applications, like Quicken, and new
participants, like my stock broker, to a virtual
system only if they have credentials signed by a
trusted third party.
–
How Many Virtual Systems
• Some examples:
– Open, untrusted, wild Internet
– My financial virtual system
– My employer’s virtual system
– Virtual systems for collaborations
• Virtual Organizations
– Virtual systems that protect others
• Might run inside VM’s that protect me
– Resolve conflicting policies
– DRM vs. Privacy, etc
What do we need for TC
• Trust must be grounded
– Hardware support
• How do we trust the hardware
• Tamper resistance
– Embedded encryption key for signing next level certificates
• Trusted HW generates signed checksum of the OS and
provides new private key to the OS
Non-Maskable Interrupts
• We must have hardware support for a nonmaskable interrupt that will transfer program
execution to the Trusted Computing Base (TCB)
when user demands it
– This invokes the trusted path
The Hardware Basis
• Trusted computing is proof by induction
– Each attestation stage says something about the next level
– Just like PKI Certification hierarchy
• One needs a basic step
– On which everything is built
– Hardware is that step
Trusted Platform Module (TPM)
• Basically a key storage and cryptographic
functionality device
• Capabilities:
– Generation of new keys
– Storage and management of keys
– Use of keys for cryptographic functions
Trusted Platform Module (TPM)
Smartcard-like module
on the motherboard that:
• Performs cryptographic functions
– RSA, SHA-1, RNG
– Meets encryption export requirements
• Can create, store and manage keys
– Provides a unique Endorsement Key (EK) whose extraction destroys
the hardware
– Provides a unique Storage Root Key (SRK)
• Performs digital signature operations
• Holds Platform Measurements (hashes)
• Anchors chain of trust for keys and credentials
• Protects itself against attacks
Slide From Steve
Lamb at Microsoft
Source: http://www.cs.bham.ac.uk/~mdr/teaching
Attestation with TPM
• An Attestation Identity Key (AIK) is a key pair created
during attestation, for use by a particular application
• Generated using EK
• Benefits:
– CPU can perform encryption with AIK
– Hides EK from cryptanalysis
– Addresses privacy issues since it cannot be tied back to a
single machine
Source: http://www.cs.bham.ac.uk/~mdr/teaching
Remote Attestation with TPM
• Sign something with EK
– Compromises user privacy since different sessions can be
linked together
• Using remote CA
– AIK is generated and signed by a remote CA
Source: http://www.cs.bham.ac.uk/~mdr/teaching
Using Encryption for Atestation
• PCR – Platform configuration register that stores
hashes of applications
• Extend
– Add data to a PCR
– SHA-1(PCR+measurement)
– As each module loaded its hash extends the PCR
• Quote
– Sign current value of PCR to be offered as proof of
authenticity
Source: http://www.cs.bham.ac.uk/~mdr/teaching
Secure Storage with TPM
• Users' data can be encrypted by TPM-generated
and TPM-protected keys (binding keys)
– Not every key can be stored on TPM but it can be
protected by keys that are stored on TPM
• Eventually, every binding key is secured by the
TPM's Storage Root Key (SRK)
Source: http://www.cs.bham.ac.uk/~mdr/teaching
Secure Storage with TPM
• Two ways to protect data with TPM:
– Data binding: encrypting with a binding key
– Data sealing: data is encrypted, bound to a specific
TPM platform and a particular configuration
• Take data, a binding key and requested PCR values as
input, then outputs a sealed data package.
• To decrypt this package, one must be running the same
TPM, have the key, and the current PCR value has to
match with the value used in the sealing process.
• E.g., one seals a Word document with a binding key,
and PCR values indicating that Microsoft Word and
Symantec antivirus were loaded. To read that
document, other users must have access to the key,
use Microsoft Word and Symantec antivirus, in the
same TPM.
OS Support for Trusted Computing
• Separation of address space
– So running processes don’t interfere with one another
• Key and certificate management for processes
– Process tables contain keys or key identifiers needed by
application, and keys must be protected against access by
others
– Processes need ability to use the keys
OS Support for Trusted Computing
• Fine-grained access controls on persistent resources
– Protects such resources from untrusted applications
• The system must protect against actions by the
owner of the system (!!!)
Discussion - Risks
• Trusted computing is a tool that can be misused
– If one party has too much market power, it can dictate
unreasonable terms and enforce them
• Too much trust in trusted computing
– Attestation does not make a component trustworthy
(vulnerabilities may still exist, component may still
misbehave)
Discussion - Benefits
• Allows systems to be developed that require
trustworthy remote components
– Provides protection of data when out of the hands of its
owner
• Provides isolation and virtualization beyond local
system
– Provides containment of compromise
Equal Opportunity for Discrimination
• Trusted computing means that the entities that
interact with one another can be more certain
about their counterparts
• This gives all entities the ability to discriminate
based on trust
• Trust is not global – instead one is trusted “to act
a certain way”
Equal Opportunity for Discrimination
• Parties can impose limits on what the software
they trust will do
• That can leave less trusted entities at a
disadvantage
• Open source has fewer opportunities to become
“trusted”
Privacy Concerns
• Strong DRM systems require trust in the
systems that receive and process protected
content
– Trust is decided by the provider
of the content
– This requires that the system provides assurance
that the software running on the system is
software trusted by the provider
Privacy and Anti-Trust Concerns
• The provider decides its basis for trust
– Trusted software may have features that are
counter to the interests of the customer
• Imposed limits on fair use
• Collection and transmission of data the customer
considers private
• Inability to access the content on alternative
platforms, or within an open source OS
Trusted Computing Cuts Both Ways
• The provider-trusted application might be
running in a protected environment that
doesn’t have access to the user’s private data
– Attempts to access the private data would thus
be brought to the users attention and mediate
through the trusted path
– The provider still has the right not to provide the
content, but at least the surreptitious snooping
on the user is exposed.
Human Element
Social Engineering
• Organization invest into sophisticated security systems
–
–
–
–
Firewalls
Intrusion detection systems
Safes
Smart cards
• Humans repeatedly prove to be the weakest link
–
A skillful attacker will be able to obtain best guarded
information by making a few phone calls …
“The Art of Deception”, K. Mitnick and W. Simon, Wiley Publishing, 2002
How Do They Do It?
• They deploy similar techniques as when breaking in
using technical means
–
–
–
–
–
–
–
They get well acquainted with the organization
procedures and lingo
They pick up a few names and phone numbers
They pretend to be insiders
They gather little bits of information and piece them together
into a valuable whole
They sound friendly and confident
They work slowly and build trust
They play on people’s feelings
Robbing a Bank Without a Gun
• Stanley Rifkin worked for a contracting company to
develop backup system for wire room of Security Pacific
National Bank
–
–
–
People in wire room used one-day codes to authorize wire
transfers
They wrote those on a paper each day and posted
it inside the room
Stanley walked in a room one day to “take notes on operation
procedures for the backup system” and memorized the code
Robbing a Bank Without a Gun
• Stanley next walked to a phone in the bank’s lobby, gave
a name and office number of an authorized employee,
then gave daily code
–
–
–
–
He asked that $10M be transferred to his account in
Switzerland
Wire-room employee asked for an interoffice settlement
number
Stanley said he will check and call back
He called another department claiming to work in the wire
room and asked for an interoffice settlement number then
called back the wire-room and finalized the transaction
Getting Credit History Information
• Grace was a PI who was following a trail of money that
his client’s husband withdrew from their joint account
–
–
–
–
Grace knew that banks call a credit verification service
CreditChex to verify new client information
Grace first called husband’s bank and got familiar with the
lingo – what do they give to CreditChex when they ask for
information, because he’s writing a book …
Grace then called another bank employee presenting himself
as CreditChex customer service representative and asked for
employee’s MerchantID among other things
Grace called CreditChex next presenting himself as bank
employee and got information about the husband’s new
accounts
Getting a List of Employees
• Didi was a head-hunter who wanted to steal a few
employees for her client from his competition
–
–
–
–
Didi first called a reception desk at the competition,
presenting as branch employee and got connected to
Accounting
She called Accounting and got cost center – charge code for
billing each department’s needs
Didi then called a random other department, pretending to be
a branch employee and asked how to get a printed phonebook
for a contractor – call Publications
She called Publications and asked for phonebook to be mailed
to branch contractor – a rented mailbox; she sweet talked the
guy there to skip formal procedure for paperwork filing and
just bill this to the cost center
Getting a Private Phone Number - 1
• The attacker dials private phone company’s number for
Mechanized Line Assignment Center
–
–
–
Presents himself as cable splicer in the field
Gives a few convincing statements
Asks for help to rewire the terminal and gets all phone
numbers assigned to the wires
Getting a Private Phone Number - 2
•
The attacker calls utility company “from some company
branch and he has a vice president’s office on the
phone”
–
–
He says his computer is down and could he get some help
The attacker then gives victim’s name and asks for account
number, phone number and address
Getting Info from Law Enforcement
• Frank Parsons has been running from the FBI
–
–
–
–
–
He moved to a new state and was looking for a job
He found a good job but they wanted a background criminal
check
The form asked for a fingerprint to check state criminal record
(which Frank didn’t have)
Frank wanted to find out if this will be transmitted to the FBI
He called the state patrol and asked, said he worked with State
Department of Justice and they were doing a research …
Getting Credit Card Information
• Doyle Lonnegan is a collection man for gambling debts
and he needs to collect a debt from X
–
–
–
–
Doyle finds out X’s frequented video rental store
Doyle calls another branch pretending to be a satisfied
customer and asks for store number, manager’s name, etc.
Doyle then calls X’s store, presents himself as fellow employee
from a different store – says X is there and wants to rent and
wants to use his credit card number on file but computers are
down …
He can now charge the debt to the credit card
Getting a Free Cell Phone
• Company CLPhone advertised 1-cent cell phone with a
contract subscription
–
–
–
Mark wants the phone but not the subscription
He calls a local CLPhone branch and presents himself as a
customer who talked to a sales person the other night and
would like to sign up – Mark gets sales person’s name
Mark calls another CLPhone branch presenting himself as a
sales person who has a customer waiting – customer already
signed up but branch is out of cell phones
Breaking into the Network - 1
• Bobby wants to break into company’s network
–
–
–
–
–
–
He first calls an employee, Ted, presenting himself as Eddie
from the Help Desk
Eddie asks Ted how has his network service been because they
have been having problems – supplies his cell phone for when
the problem arises (reverse social engineering).
Eddie also obtains Ted’s port number from Ted
Bobby then calls IT, presenting himself as Eddie from the Help
Desk and asks that the port be disabled
Frustrated Ted calls and Eddie “fixes the problem”
Eddie asks Ted to install a piece of software so “this doesn’t
happen again”
Breaking into the Network - 2
• Attacker wants to get an inside access
–
–
He first calls HR and asks for the list of new employees
Attacker then calls one new employee and gives her security
briefing – he also gets her username and gets her to change
her password with his help
Breaking into the Network - 3
• Attacker wants to get confidential files for project X
–
–
–
–
–
He calls company switchboard and gets phone number of any
employee - Sam
Attacker calls Sam, saying he is from FedEx and there is a
package for project X – gets project lead’s name (Jerry) and
number
Calls Jerry’s office and learns he’s on vacation but gets his
secretary’s number – Michelle
Calls Michelle and asks for project X people E-mails “because
Jerry asked me for a favor”
Calls IT and claims he is employee who just bought a laptop –
gets dial-in access
Breaking into the Network - 3
• Attacker then finds a computer with a guest account
and breaks in – this computer runs Unix system
• He examines a shadow file and figures out that one of
the project people (Steve) has password Janice
–
–
–
But password doesn’t work
Attacker waits for the weekend and calls Steve pretending to
be from IT and repairing crashed network
He asks for Steve’s password, providing the old one
Breaking into the Network - 4
• Attacker calls the switchboard asking for employee
Jones – learns his first name Jo
–
–
–
Speaks to Jo and claims to be from payroll – Joe’s paycheck has
been deposited to Credit Union account
Jo provides his employee number to clear up the mess
Attacker calls another branch and asks to be given a temporary
username and password while on business trip – gives Joe’s
name and employee number for verification
Breaking into the Network - 5
• Danny wants to break into company’s network and steal
some confidential files on product X but they use twofactor authentication
–
–
Secure ID – a time based token that changes every 60 seconds
Username and password
• Danny learns some employee’s name (Bob), number, his
manager’s number, username, password, etc.
–
–
Waits for a stormy day
Calls IT and claims to be Bob who left his secure ID at his desk
and could someone fetch it and read the info
Breaking into the Network - 5
• IT refuses but offers a temporary secure ID that will
work just the same
–
A guy in IT even calls his manager to check that this is OK and
vouches for “Bob”
• Danny searches newsgroups for postings on product X –
gets the name of the guy working on it (Scott)
–
–
–
Scott happens to be in the office and happily provides server
name to “IT guy”
Danny can’t connect to the server from dial-up and he calls IT
again and asks for a temporary account in IT
From IT computers he finds a vulnerability on the
development server and grabs files on product X
What are the Key Steps?
• Knowing the lingo
• Being familiar, relaxed and friendly
• Playing on people’s feelings
–
–
–
People want to help
Especially if you work for their boss
Or they can be easily intimidated
• Pretending to be an insider
• Asking for “insignificant” pieces of information
How to Protect from Social Engineering?
• Limit the number of people who know key information
• Educate employees about security
• Establish authentication procedures going through a
single site
• Ask employees to call back when providing sensitive
information, and to use the number on file
Botnets Fun Facts: ROI for Attackers
• Researchers subverted a botnet’s command
and control infrastructure (proxy bots)
– Modified its spam messages to point to the Web
server under researcher control
• That server mimicked the original Web page
from the spam emails
– A pharmacy site
– A greeting card download site
"Spamalytics: An Empirical Analysis of Spam Marketing Conversion” C.
Kanich, C. Kreibich, K. Levchenko, B. Enright, G. Voelker, V. Paxson, and
S. Savage, ACM CCS 2009
What Is ROI for Attackers
• How many spam emails reach recipients: open
a few email accounts themselves and append
them to email delivery lists in spam messages
• How many emails result in Web page visits
– Must filter out defense accesses
• How many users actually buy advertised
products or download software
– No “sale” is finalized
• Ethical issues abound
"Spamalytics: An Empirical Analysis of Spam Marketing Conversion” C.
Kanich, C. Kreibich, K. Levchenko, B. Enright, G. Voelker, V. Paxson, and
S. Savage, ACM CCS 2009
Most-targeted E-mail Domains
"Spamalytics: An Empirical Analysis of Spam Marketing Conversion” C.
Kanich, C. Kreibich, K. Levchenko, B. Enright, G. Voelker, V. Paxson, and
S. Savage, ACM CCS 2009
Spam Conversion Pipeline
"Spamalytics: An Empirical Analysis of Spam Marketing Conversion” C.
Kanich, C. Kreibich, K. Levchenko, B. Enright, G. Voelker, V. Paxson, and
S. Savage, ACM CCS 2009
Spam Conversion Pipeline
"Spamalytics: An Empirical Analysis of Spam Marketing Conversion” C.
Kanich, C. Kreibich, K. Levchenko, B. Enright, G. Voelker, V. Paxson, and
S. Savage, ACM CCS 2009
Spam Filter Misses
"Spamalytics: An Empirical Analysis of Spam Marketing Conversion”
C. Kanich, C. Kreibich, K. Levchenko, B. Enright, G. Voelker, V. Paxson,
and S. Savage, ACM CCS 2009
For More on Botnets
http://www.shadowserver.org
http://www.honeynet.org/papers/bots/
http://www.honeynet.org/papers/ff
Download