730 likes | 962 Views
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:
E N D
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, Clusteringand 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 • Innumerableactive 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 provider-specified 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 anonymouse-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 anonymizeritself • 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
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 non-maskable 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 providerof 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.
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