Security in the industry H/W & S/W What is AMD’s ”enhanced virus protection” all about? What’s coming next? Presented by: Micha Moffie.

Slides:



Advertisements
Similar presentations
Virtualization Dr. Michael L. Collard
Advertisements

Operating System Structures
Defenses. Preventing hijacking attacks 1. Fix bugs: – Audit software Automated tools: Coverity, Prefast/Prefix. – Rewrite software in a type safe languange.
Title of Selected Paper: Design and Implementation of Secure Embedded Systems Based on Trustzone Authors: Yan-ling Xu, Wei Pan, Xin-guo Zhang Presented.
1 Minimal TCB Code Execution Jonathan McCune, Bryan Parno, Adrian Perrig, Michael Reiter, and Arvind Seshadri Carnegie Mellon University May 22, 2007.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
Operating System Support Focus on Architecture
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
CE6105 Linux 作業系統 Linux Operating System 許 富 皓. Chapter 2 Memory Addressing.
Copyright © Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE USC CSci599 Trusted Computing Lecture Three.
OS Spring’03 Introduction Operating Systems Spring 2003.
Figure 1.1 Interaction between applications and the operating system.
outline Purpose Design Implementation Market Conclusion presentation Outline.
Xuan Guo Chapter 1 What is UNIX? Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall, 2003 Original Notes.
1 RAKSHA: A FLEXIBLE ARCHITECTURE FOR SOFTWARE SECURITY Computer Systems Laboratory Stanford University Hari Kannan, Michael Dalton, Christos Kozyrakis.
Buffer Overflow Attacks. Memory plays a key part in many computer system functions. It’s a critical component to many internal operations. From mother.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
Security Flaws in Windows XP Service Pack 2 CSE /14/04 By: Saeed Abu Nimeh.
Tanenbaum 8.3 See references
Host and Application Security Lesson 4: The Win32 Boot Process.
Trusted Computing BY: Sam Ranjbari Billy J. Garcia.
Cosc 3P92 Week 9 & 10 Lecture slides
Architecture for Protecting Critical Secrets in Microprocessors Ruby Lee Peter Kwan Patrick McGregor Jeffrey Dwoskin Zhenghong Wang Princeton Architecture.
Exploiting Buffer Overflows on AIX/PowerPC HP-UX/PA-RISC Solaris/SPARC.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Detection and Prevention of Buffer Overflow Exploit Cai Jun Anti-Virus Section Manager R&D Department Beijing Rising Tech. Corp. LTD.
Buffer Overflows Lesson 14. Example of poor programming/errors Buffer Overflows result of poor programming practice use of functions such as gets and.
Protecting Data on Smartphones and Tablets from Memory Attacks
Trusted Computing Or How I Learned to Stop Worrying and Love the MPAA.
1 © 2004, Cisco Systems, Inc. All rights reserved. CISCO CONFIDENTIAL Using Internet Explorer 7.0 to Access Cisco Unity 5.0(1) Web Interfaces Unity 5.0(1)
1 NEW GENERATION SECURE COMPUTING BASE. 2 INTRODUCTION  Next Generation Secure Computing Base,formerly known as Palladium.  The aim for palladium is.
PAPER PRESENTATION ON NETWORK SECURITY ISSUES BY M.D SAMEER YASMEEN SULTHANA.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
University of Virginia Department of Computer Science1 Applications of Software Dynamic Translation Jack Davidson University of Virginia February 27, 2002.
1 Linux Operating System 許 富 皓. 2 Memory Addressing.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
A Tool for Pro-active Defense Against the Buffer Overrun Attack D. Bruschi, E. Rosti, R. Banfi Presented By: Warshavsky Alex.
Operating Systems Security
Virtual techdays INDIA │ august 2010 virtual techdays INDIA │ august 2010 Consolidate and Virtualize your Linux Environment M.S.Anand │ Technology.
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
A Survey on Runtime Smashed Stack Detection 坂井研究室 M 豊島隆志.
Buffer Overflows Taught by Scott Coté.-. _ _.-. / \.-. ((___)).-. / \ /.ooM \ / \.-. [ x x ].-. / \ /.ooM \ -/ \ /-----\-----/---\--\ /--/---\-----/-----\ / \-
CSE 451: Operating Systems Winter 2015 Module 25 Virtual Machine Monitors Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
Security Architecture and Design Chapter 4 Part 2 Pages 319 to 357.
Lecture 5 Rootkits Hoglund/Butler (Chapters 1-3).
Software Security. Bugs Most software has bugs Some bugs cause security vulnerabilities Incorrect processing of security related data Incorrect processing.
NETWORK SECURITY LAB 1170 REHAB ALFALLAJ CT1406. Introduction There are a number of technologies that exist for the sole purpose of ensuring that the.
TULSIRAMJI GAIKWAD-PATIL C OLLEGE OF E NGG. & T ECH. Seminar on “Palladium Cryptography” Presented by Amit S. Wankhade Guided by HoD Prof. Department of.
Virtual Machine Monitors
Virtualization Dr. Michael L. Collard
Outline What does the OS protect? Authentication for operating systems
Outline What does the OS protect? Authentication for operating systems
Chapter 3: Windows7 Part 1.
OS Virtualization.
Defending against Stack Smashing attacks
User-mode Secret Protection (SP) architecture
Computer Security: Art and Science, 2nd Edition
CSE 451: Operating Systems Autumn 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 596 Allen Center 1.
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Sai Krishna Deepak Maram, CS 6410
SCONE: Secure Linux Containers Environments with Intel SGX
CSE 451: Operating Systems Winter 2007 Module 2 Architectural Support for Operating Systems Brian Bershad 562 Allen Center 1.
Shielding applications from an untrusted cloud with Haven
CSE 451: Operating Systems Winter 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 412 Sieg Hall 1.
Erica Burch Jesse Forrest
CSE 471 Autumn 1998 Virtual memory
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Synonyms v.p. x, process A v.p # index Map to same physical page
Presentation transcript:

Security in the industry H/W & S/W What is AMD’s ”enhanced virus protection” all about? What’s coming next? Presented by: Micha Moffie

NUCAR2 Outline Security Objectives Happening now…  AMD Solution – ‘enhanced virus protection’  WinXP support in SP2 Coming soon …  Intel LaGrande technology  Windows Palladium/NGSCB

NUCAR3 Security - Objectives Protect  User Confidential Data From:  Attacks on executing software Software vulnerabilities  Attacks from malicious software Viruses/worms/Trojan horses  Attacks on hardware Access to keyboard & mouse data / screen output

NUCAR4 AMD’s ‘Enhanced Virus Protection’ Hardware support against stack smashing  Stack smashing attack - reminder Hardware implements  NX bit - No eXecution on predefined pages.  Each page in the translation pages has a new NX bit, when the instruction TLB is loaded with a new page, this bit is checked. if the bit is set (we are trying to execute from a non executable page) we will get a page fault exception.  this applied to all privilege levels (from AMD manual)

NUCAR5 The OS role Window XP (Service Pack 2) Microsoft uses NX bit to: ”prevents the execution of code in memory regions that are marked as data storage”  This will NOT prevent an attacker from overrunning the data buffer, but will prevent him from executing his attack (generate an exception) Some problems with legitimate code  a ”Data Execution Prevention" error message – for legitimate code  Workaround - Microsoft allow exceptions, per application. (I.e. turn DEP off for specific apps.)

NUCAR6 Who else? Transmeta  already supported Intel  Itanium supports this bit  Intel Pentium … in the near future Linux  a patch to the Linux kernel exists that supports the NX bit 

NUCAR7 Outline Security Objectives Happening now…  AMD Solution – ‘enhanced virus protection’  WinXP support in sp2 Coming soon …  Intel LaGrande technology  Windows Palladium

NUCAR8 Intel LaGrange Technology (LT) New Hardware Components complemented with New OS & New applications:  protect data from software attacks  protect data confidentiality & integrity Hardware Capabilities  Isolated execution Protected memory pages  Sealed storage (TPM)  Protected I/O (keyboard/mouse/graphics)  Attestation (Proof of current protected environment)

NUCAR9 LT Hardware enhancements

NUCAR10 LT Protection Model Standard partition  execute: legacy code, non secure portion of new code  provides regular IA32 semantics Protected partition  execute new security modules & services  Provides execution isolation sealed storage Protected I/O Attestation

NUCAR11 LT Protection Model - Cont

NUCAR12 Microsoft Palladium  NGSCB Next Generation Secure Computing Base security technology for the Microsoft® Windows® platform,  will be included in “Longhorn” Includes a new operating system module: “Nexus”  enable secure interaction with applications, peripheral hardware, memory and storage

NUCAR13 Microsoft NGSCB Four key features:  Strong process isolation even against attacks from the kernel  Sealed storage accessible only to program, nexus & machine  Secure path to/from user  Attestation

NUCAR14 The nexus Essentially the kernel of an isolated software stack runs alongside the existing OS software stack.  not underneath it Provides a limited set of APIs and services for applications, including sealed storage and attestation functions. Special processes that work with nexus are called “Agents” Can run different nexuses on a machine  But only one nexus at a time

NUCAR15 NGSCB - run time environment

NUCAR16 References AMD64 Architecture Programmer's Manual Volume 2: System Programming, 3.09 edition, Sep Publication No Microsoft Knowledge Base Articles & Intel, LaGrande Technology Architectural Overview, , September 2003 Microsoft The Next-Generation Secure Computing Base: Four Key Features, June 2003 Microsoft Next-Generation Secure Computing Base - Technical FAQ, July 2003 Microsoft "Palladium": A Business Overview, August 2002 TPM Main Part 1 Design Principles, Specification Version 1.2 Revision 62 2 October 2003 Published ARM, A New Foundation for CPU Systems Security, Security Extensions to the ARM Architecture, Richard York, May 2003 A wooden fence in Kyoto, /mari/54.htm

NUCAR17 The End Thanks, Questions ?

NUCAR18 Backup & links

NUCAR19 Stack Smashing Attack main(int argc, char **argv) { … foo(argv[1], 10); … } void foo(int i, char *s) { char b[16]; strcpy(b, s); …… } main( ) auto variables return addr of foo( ) frame ptr of foo( ) Stack ptr Frame ptr Stack grows Buffer grows 10 ptr to input string dddd +12 cccc bbbb aaaa b[0] b[1] b[2] b[3] Stack

NUCAR20 0x0012ff12 Stack grows Buffer grows start of attack code 0x0012ff **** +12 **** b[0] b[1] b[2] b[3] Stack 0x0012ff12 0x0012ff08 0x0012ff04 0x0012ff00 attack code Attacker code executed in Stack Segment.. Stack Smashing Attack - II return addr of foo( ) Has changed! it will return to 0x0012ff12, the attacker code

NUCAR21 TPM Trusted Platform Module also called SSC - Security Support Component Stores hardware secret key Base of trust Cryptographic co-processor more…

NUCAR22 TPM architecture

NUCAR23 Transitive Trust

NUCAR24 ARM – TrustZone Extending the CPU to enable more security Main problem with current OS  It is huge, millions of code lines - Complex difficult to establish a ‘trusted code base’  A rich API - Open enables widespread access to OS from non-secure code Main idea:  establishing a trusted code base  using a hardware enforced security domain to systemize the implementation of secure systems

NUCAR25 ARM - cont Current typical security structure

NUCAR26 ARM - Cont New security structure

NUCAR27 ARM - Cont Introduce an NS-bit  use this bit to identify secure data throughout system cache pages Monitor  manages the NS-bit  manages transition in & out of security mode  Small fixed API