usc csci 530 f06 l13


Presentation Description

No description available.


Presentation Transcript

USC CSci530Computer Security Systems Lecture notesFall 2006: 

USC CSci530 Computer Security Systems Lecture notes Fall 2006 Dr. Clifford Neuman University of Southern California Information Sciences Institute


Announcements New course in Spring - Trusted Computing Friday’s at 1PM Available now for registration Final lecture in two weeks I need a volunteer to administer evaluations (send me an email following class) Topics to be chosen by class Send me topics you would like to hear I will write the lecture to cover those topics. Final exam Monday December 11th at 11:00 AM

Security Fellowship Availability: 

Security Fellowship Availability Short deadline (today) – probably too late, but you can always consider preparing to submit to next years program. working/graduatefellowshippgms.jsp

CSci530: Security SystemsLecture 13 – November 17, 2006Trusted Computing: 

CSci530: Security Systems Lecture 13 – November 17, 2006 Trusted Computing Dr. Clifford Neuman University of Southern California Information Sciences Institute

Trusted vs. Trustworthy: 

Trusted vs. Trustworthy We trust our computers We depend upon them. We are vulnerable to breaches of security. Our computer systems today are not worthy of trust. We have buggy software We configure the systems incorrectly Our user interfaces are ambiguous regarding the parts of the system with which we communicate. FROM PREVIOUS LECTURE

A Controversial Issue: 

A Controversial Issue Many individuals distrust trusted computing. One view can be found at An animated short film by Benjamin Stephan and Lutz Vogel FROM PREVIOUS LECTURE

Separation of Security Domains: 

Separation of Security Domains Need to delineation between domains Old Concept: Rings in Multics System vs. Privileged mode But who decides what is trusted User in some cases Third parties in others Trusted computing provides the basis for making the assessment. FROM PREVIOUS LECTURE

Trusted Path: 

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 FROM PREVIOUS LECTURE

Communicated Assurance: 

Communicated Assurance We need a 'trusted path' across the network. Provides authentication of the software components with which one communicates. FROM PREVIOUS LECTURE

Trusted Baggage: 

Trusted Baggage So why all the concerns in the open source community regarding trusted computing. Does it really discriminate against open sources software. Can it be used to spy on users. FROM PREVIOUS LECTURE

Equal Opportunity for Discrimination: 

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'. FROM PREVIOUS LECTURE

Equal Opportunity for Discrimination(2): 

Equal Opportunity for Discrimination(2) 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'. FROM PREVIOUS LECTURE

Is Trusted Computing Evil: 

Is Trusted Computing Evil Trusted computing is not evil It is the policies that companies use trusted computing to enforce that are in question. Do some policies violate intrinsic rights or fair competition? That is for the courts to decide. FROM PREVIOUS LECTURE

What can we do with TC?: 

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, with possible queries user through trusted path. FROM PREVIOUS LECTURE

Mediating Programs Today: 

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' FROM PREVIOUS LECTURE

Corporate IT Departments Solve this: 

Corporate IT Departments Solve this 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. FROM PREVIOUS LECTURE

The next step: 

The next step But, what if programs were accompanied by third party certificates that said what they should be able access. IT department can issues the certificates for new applications. Access beyond what is expected results in system dialogue with user over the trusted path. FROM PREVIOUS LECTURE

Red / Green Networks (1): 

Red / Green Networks (1) 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. FROM PREVIOUS LECTURE

Red / Green Networks (2): 

Red / Green Networks (2) 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. My concern is that a breach anywhere destroys the accountability for all. FROM PREVIOUS LECTURE

Somewhere over the Rainbow: 

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: 

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 systems from trusted media provided by my bank. I can add applications, like quicken, and new participant’s, like my stock broker, to a virtual system only if they have credentials signed by a trusted third party. Perhaps my bank, perhaps some other entity.

How Many Virtual Systems: 

How Many Virtual Systems Some examples: My 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

Digital Rights Management: 

Digital Rights Management 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 accessing system is software trusted by the provider.

Privacy and Anti-Trust Concerns: 

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 O/S.

Trusted Computing Cuts Both Ways: 

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.

What do we need for TC: 

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

Privacy of Trusted Hardware: 

Privacy of Trusted Hardware Consider the processor serial number debate over Intel chips. Many considered it a violation of privacy for software to have ability to uniquely identify the process on which it runs, since this data could be embedded in protocols to track user’s movements and associations. But Ethernet address is similar, although software allows one to use a different MAC address. Ethernet addresses are often used in deriving unique identifiers.

The Key to your Trusted Hardware: 

The Key to your Trusted Hardware Does not have to be unique per machine, but uniqueness allows revocation if hardware is known to be compromised. But what if a whole class of hardware is compromised, if the machine no longer useful for a whole class of applications. Who pays to replace it. A unique key identifes specific machine in use. Can a signature use a series of unique keys that are not linkable, yet which can be revoked (research problem).

Non-Maskable Interrupts: 

Non-Maskable Interrupts We must have hardware support for a non-maskable interrupt that will transfer program execution to the Trusted Computing Base (TCB). This invokes the trusted path

OS Support for Trusted Computing (1): 

OS Support for Trusted Computing (1) 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 (2): 

OS Support for Trusted Computing (2) 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.

SNAIR Architecture: 

SNAIR Architecture Secure Network/Computing Architecture of Interlocking Rings Multiple rings Multiple perspectives Process in different rings for different purposes Virtual Systems Abstraction for isolation Easier to enforce Depends on Network and OS to provide isolation

Example of Rings: 

Example of Rings

Example - SCADA: 

Example - SCADA SCADA systems manage critical infrastructure such as the power grid, pipelines, etc. Isolation is critical in SCADA, but today’s SCADA systems are monolithic, once inside the system, there is little isolation. Need a way to provide isolation for critical functions from non-critical, and for critical functions in different regions.

Critical Functions run in Ring 0: 

Critical Functions run in Ring 0 Virtual system centered around the critical function. Supporting hardware and software runs in progressively higher rings. Rules, obligation, and negotiaion determine ring membership from perspecive of critical function. Certain rings impose obligation on hardware, software, or process to provide isolation from other functions/VSs.

Isolation for SCADA Systems: 

Isolation for SCADA Systems Both critical and non-critical functions may share physical infrastructure. The systems and network must, at their lowest levels, provide the separation needed by the critical functions To prevent compromise or denial of service by the less critical functions To contain the effect of a compromise of a critical function from spreading to other parts of the system.

Visualizing the Isolation: 

Visualizing the Isolation Rules determine membership in rings. Security of the application depends upon the rules that apply to the outermost ring containing functions upon which the function is dependent for correct operation.

More Examples: 

More Examples Digital Rights Mis-Management Protection from Keystroke Loggers And other malicious code No Phishing Corporate VPN Access Network Admisson Control

ID’s as a basis for Authorizaion: 

ID’s as a basis for Authorizaion You may have full access within a virtual system, and to applications within the system it may look like root, but access to other virtual systems will be mediated. UserID’s will be the cross product of users and the virtual systems to which they are allowed access. All accessible resources must be associated with a virtual system.

Current Event: 

Current Event Vista and More: Piecing Together Microsoft's DRM Puzzle – Computerworld, November 15. The copy-control technologies baked into Vista and the Windows Media platform cover plenty of ground, but who benefits. If you ask five veteran Windows users to explain Vista's take on digital rights management (DRM), you're likely to get five different answers that have just one thing in common: Whatever it is, they know they don't like it. In a nutshell, this is the dilemma Microsoft faces as it prepares to launch Windows Vista. By any standard, Vista's new DRM capabilities -- aimed at protecting the rights of content owners by placing limits on how consumers can use digital media -- hardly qualify as a selling point; after all, it's hard to sing the praises of technology designed to make life harder for its users.

Current Event: 

Current Event (continued) DRM at the hardware level Vista's DRM technologies fall into several distinct categories, all of which are either completely new to the operating system or represent a significant change from the technology found in previous versions of Windows. The Intel-developed Trusted Platform Module (TPM) makes DRM harder to circumvent by extending it beyond the operating system and into the PC's hardware components. TPM is used with Vista's BitLocker full-drive encryption technology to protect a PC's data against security breaches. A TPM microchip embedded on the PC's motherboard stores unique system identifiers along with the BitLocker decryption keys. If a system is tampered with -- for example, if the hard drive is removed and placed in a different machine -- TPM detects the tampering and prevents the drive from being unencrypted.

authorStream Live Help