SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
System Integrity

   Sartakov A. Vasily
Summer Systems School’12
Software Hardening Methods
Compile-time       Run time

                       Process
    Canaries        Virtualization
                  (Dalvik, Java VM)

                       System
                    Virtualization
                   (KVM, Xen, L4)

                  OS (Linux Kernel
                       Ench.)


                  HW support (MMU,
                    Trust Zone)
1. Compiler time sw hardening              2. Linux operating system extension


         1.1 Memory corruption                      2.1 Container based os
         mitigation methods                         virtualization
                                                    2.2 Linux security modules
                                                    2.3 Gr security




3. Process virtualization and sandboxing         4. System virtualization

         3.1 Byte-code                                4.1 Hardware
         translation                                  recruitment
         3.2 Sandboxing                               4.2 VM and VMMs
         untrusted native code                        4.3 Use cases
1. Compile-time Software Hardening



Memory Corruption Mitigation Methods:
       Code injection
       Arc injection
       Pointer Subterfuge
       Format String Attacks and Arithmetic Overflows
Code Injection
void f1a(void *arg, size_t len) {
  char buff[100];
  memcpy(buff, arg, len); /* buffer overrun if
len > 100 */
  /* ... */
  return;
}

void f1b(void *arg, size_t len) {
  char *ptr = malloc(100);
  if (ptr == NULL) return;
  memcpy(ptr, arg, len); /* buffer overrun if
len >100 */
  /* ... */
  return;
}
Stackguard   ProPolice
Pointer Subterfuge
void SomeFunc() {                                                void SomeFunc() {

    // do something
                                           EncodePointer             // do something

}                                                                }
                                           DecodePointer

typedef void (*FUNC_PTR )(void);           EncodeSystemPointer   typedef void (*FUNC_PTR )(void);

                                           DecodeSystemPointer
int DangerousFunc(char *szString) {                              int DangerousFunc(char *szString) {

    char buf[32];                                                    char buf[32];

    strcpy(buf,szString);                                            strcpy(buf,szString);



    FUNC_PTR fp = (FUNC_PTR)(&SomeFunc);                             FUNC_PTR fp = (FUNC_PTR)(&SomeFunc);

    // Other code                                                    // Other code

    // Other code                                                    // Other code

    (*fp)();                                                         (*fp)();

    return 0;                                                        return 0;

}                                                                }
Format String Attacks and Arithmetic Overflows


Crispin Cowan, Steve Beattie, John Johansen, and Perry Wagle.
Pointguardtm: protecting pointers from buffer overflow
vulnerabilities. In Proceedings of the 12th conference on USENIX
Security Symposium - Volume 12, pages 7–7, Berkeley, CA,
USA, 2003. USENIX Association.

Jonathan Pincus and Brandon Baker. Beyond stack smashing:
Recent advances in exploiting buffer overruns. IEEE Security and
Privacy, 2:20–27, July 2004.

Shacham, Hovav; Buchanan, Erik; Roemer, Ryan; Savage, Stefan.
"Return-Oriented Programming: Exploits Without Code Injection".
Retrieved 2009-08-12.



http://gcc.gnu.org/bugzilla/show_bug.cgi?id=323c
2. Linux operating system
           extension
2.1 Container based os virtualisation
    Linux-vserver
    Virtuozzo and openvz
    Linux containers
2.2 Linux security modules
    SElinux
    Apparmor
    Smack
    Tomoyo Linux
2.3 Grsecurity
    Pax
    Role based access control
2.1 Container based os virtualisation




Linux-Vserver
Virtuozzo
OpenVZ
LXC (Linux Container Tools)




The core concept of container-based operating system virtualization is to run
completely isolated virtual servers sharing the same kernel. Compared to
system virtualization, this reduces the required memory for additional
kernels on the one hand but at the same time it might increase the
vulnerability of the system. If an attacker gains full access to the kernel all
virtual servers are compromised. System Virtualization would offer an
additional level of isolation and therefore more security in this case.
Linux-VServer
 •   Security contexts
 •   Segmented routing
 •   Chroot
 •   Extended quotas
 •   Further standard tools


 • High-performance
 computing (HPC) clusters
 • The Grid
 • Distributed hosting
 organizations like PlanetLab
 and Amazon EC2
                                                The Host kernel should be patched

The system provides a Shared OS Image
consisting of a root file system and a set of
system libraries and executables. This          Start/Stop/Resume
Shared OS Image together with a
privileged host VM builds the Hosting
Platform.
Virtuozzo and OpenVZ

OpenVZ is operating system virtualization based on the
Linux kernel. It is very similar to Linux-VServer. Like Linux-
VServer it requires a patched Linux kernel. Here likewise
Debian ships prebuilt kernel images. Unfortunately, the
patches are not provided for each Linux kernel release.
OpenVZ is the basis for Parallels Virtuozzo Containers, which
is a commercial product by Parallels.
Usage scenarios and evaluation are basically the same as
for the Linux-VServer project.
Linux Containers (LXC)
• Namespace isolation
• Linux kernel control groups (cgroups)


•   PID namespace
•   Network namespace
•   UTS namespace (hostname)
•   Mount namespace
•   IPC namespace


•   Control (Restart, Freeze, etc.)
•   Resource limiting (Memory)
•   Priorization (CPU, I/O)
•   Accounting

The best solution for lightweight isolation of Linux processes without much inter-process
communication.
Terminology 1. Access control models




  * Discretionary access control
  * Mandatory access control
  * Role-based access control




                                       Subject -- Object
2.2 Linux security modules

The Linux Security Modules (LSM)
framework is part of the Linux
Kernel. It provides lightweight,
general support for access
control by allowing modules to
define security hooks:

• Task Hooks
• Program Loading Hooks
• IPC Hooks
• Filesystem Hooks
• Network Hooks
• Module hooks (e.g. module
initialization)
• System hooks (e.g. hostname
setting)
                                   •   AppArmor
                                   •   SELinux
                                   •   Smack
                                   •   TOMOYO Linux
Security-Enhanced Linux




      MAC
  Part of Linux
Smack                                     TOMOYO Linux
                                          TOMOYO Linux is another pathname-based
Smack is the abbreviation for             access control system for Linux. It also
Simplified Mandatory Access               implements Mandatory Access Control, but
Control Kernel for Linux. It is part of   additionally it is stated to be useful as a pure
the MeeGo Security Architecture,          system analysis tool. Like e.g. AppArmor,
but not exclusively dedicated to it.      TOMOYO Linux also provides tools for
                                          automatic policy generation and it is designed
As the name already suggest,
                                          to be easy to use with a simple syntax for
Smack provides Mandatory Access           policies.
Control in a simpler way than e.g.
SELinux. The author states that
simplicity is the primary design goal                AppArmor
of Smack.
                                           AppArmor is an alternative to SELinux. It is a
Like AppArmor, Smack requires
                                           pathname-based access control system and
extended file attributes. There it         requires a file system with extended attributes
stores labels for files which must         support. The originally goal was to provide a
match labels associated with               SELinux like Mandatory Access Control
processes to grant access.                 mechanism, which is simpler to manage for
Additionally, special rules can be         the typical user. Therefore, AppArmor
added for file labels and process          implements a learning mode to create profiles
                                           of the typical programs behavior.
labels that do not match.
                                           While AppArmor is a simple and powerful
                                           solution for end-users, it seems that SELinux is
                                           more powerful to implement advanced
                                           security concepts on top of it.
2.3 Grsecurity
GrSecurity is a set of security related patches for
the Linux kernel. Some major security
enhancements are:
• Stack and Heap modification protection (PaX)
• Role-based Access Control (RBAC)
• Chroot restrictions
• Auditing
                   Pax
                                                                     RBAC
PaX is a major component of GrSecurity.
Amongst other things, the patch adds three            While PaX implements the principle
memory protection mechanisms:                         of least privileges for memory
• Data memory is flagged as non-executable (NX        management, another component of
bit)                                                  GrSecurity (RBAC) implements it for
• Program memory is flagged as non-writable           users and processes. This means
• Program memory is randomly arranged, known          that users and processes get only
as address space layout randomization (ASLR)          the privileges which are required to
Recent mainline kernel versions added some            work correctly. It should be noted,
similar protection mechanisms for suitable            that besides this implementation
memory regions on x86 systems.                        aspect, the RBAC concept can be
                                                      applied in very different fields of
                                                      applications.
3. Process virtualization and
        sandboxing




            Skip
4. System Virtualization

4.1 Hardware recruitment
4.2 VM and VMMs
    Linux KVM Hypervisor
    Xen Hypervisor
    L4 Microkernel based
4.3 Use cases
4.1 Hardware recruitment



* HW support:
Johannes Winter. Trusted computing building blocks for embedded
linux-based arm trustzone platforms. In Proceedings of the 3rd ACM
workshop on Scalable trusted computing, STC’08, pages 21–30, New
York, NY, USA, 2008. ACM.

*   Intel VT-x
*   AMD-V
*   ARM TrustZone
*   ARM Cortex-A15 including full hardware virtualization
*   DMA and IOMMU
Terminology 2. Virtualization, Virtual machines




* System virtualization or hardware virtualization
allows to run multiple operating systems on one
physical machine.
* Guest and Host OS
* VMM / hypervisor
* Type 1 / Native – Bare Metal
* Type 2 / Hosted – on top of OS
* Paravirtualization – VMM doesn't provide an
interface that is identical to real hardware
Linux KVM Hypervisor



    * Part of Linux kernel
    * QEMU
    * VT-x AMD-V extension
    * Big trusted computing base (TCB)
    * Low overhead
Xen hypervisor

     Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim
     Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, and Andrew
     Warfield. Xen and the art of virtualization. In Proceedings of the
     nineteenth ACM symposium on Operating systems principles,
     SOSP ’03, pages 164–177, New York, NY, USA, 2003. ACM.

     Muli Ben-Yehuda, Jon Mason, Orran Krieger, Jimi Xenidis,
     Leendert Van Doorn, Asit Mallick, Jun Nakajima, and Elsie
     Wahlig. Utilizing iommus for virtualization in linux and xen. In
     Proceedings of the 2006 Ottawa Linux Symposium (OLS 2006),
     2006.

     Jonathan M. McCune, Trent Jaeger, Stefan Berger, Ramon
     Caceres, and Reiner Sailer. Shamon: A system for distributed
     mandatory access control. In Proceedings of the 22nd Annual
     Computer Security Applications Conference, pages 23–32,
     Washington, DC, USA, 2006. IEEE Computer Society.
L4 microkenel

* User-level components

* Address spaces (tasks)
* Threads
* Scheduling
* Inter-process communication


* Reusing
* TCB
                           L4Linux                       L4Linux
                                             app



                          Moe        Mag           Ned        IO


                                           Fiasco.OC
4.3 Use Case




                                Crypto
               L4Linux                           L4Linux
                (eth0)                            (eth1)
                                  app



               Moe       Mag               Ned       IO


                               Fiasco.OC

Weitere ähnliche Inhalte

Was ist angesagt?

Understanding PostgreSQL LW Locks
Understanding PostgreSQL LW LocksUnderstanding PostgreSQL LW Locks
Understanding PostgreSQL LW LocksJignesh Shah
 
Wallix Admin Bastion: Introduction
Wallix Admin Bastion: IntroductionWallix Admin Bastion: Introduction
Wallix Admin Bastion: IntroductionChris Pace
 
Linux Security Scanning with Lynis
Linux Security Scanning with LynisLinux Security Scanning with Lynis
Linux Security Scanning with LynisMichael Boelen
 
Oracle architecture ppt
Oracle architecture pptOracle architecture ppt
Oracle architecture pptDeepak Shetty
 
Synopsys Security Event Israel Presentation: Keynote: Securing Your Software,...
Synopsys Security Event Israel Presentation: Keynote: Securing Your Software,...Synopsys Security Event Israel Presentation: Keynote: Securing Your Software,...
Synopsys Security Event Israel Presentation: Keynote: Securing Your Software,...Synopsys Software Integrity Group
 
Using Machine Learning to Debug Oracle RAC Issues
Using Machine Learning to Debug Oracle RAC IssuesUsing Machine Learning to Debug Oracle RAC Issues
Using Machine Learning to Debug Oracle RAC IssuesAnil Nair
 
Patch and Vulnerability Management
Patch and Vulnerability ManagementPatch and Vulnerability Management
Patch and Vulnerability ManagementMarcelo Martins
 
Redefining tables online without surprises
Redefining tables online without surprisesRedefining tables online without surprises
Redefining tables online without surprisesNelson Calero
 
Oracle Latch and Mutex Contention Troubleshooting
Oracle Latch and Mutex Contention TroubleshootingOracle Latch and Mutex Contention Troubleshooting
Oracle Latch and Mutex Contention TroubleshootingTanel Poder
 
Planning and Deploying an Effective Vulnerability Management Program
Planning and Deploying an Effective Vulnerability Management ProgramPlanning and Deploying an Effective Vulnerability Management Program
Planning and Deploying an Effective Vulnerability Management ProgramSasha Nunke
 
Oracle Cloud Infrastructure セキュリティの取り組み [2021年2月版]
Oracle Cloud Infrastructure セキュリティの取り組み [2021年2月版]Oracle Cloud Infrastructure セキュリティの取り組み [2021年2月版]
Oracle Cloud Infrastructure セキュリティの取り組み [2021年2月版]オラクルエンジニア通信
 
Elastic SIEM (Endpoint Security)
Elastic SIEM (Endpoint Security)Elastic SIEM (Endpoint Security)
Elastic SIEM (Endpoint Security)Kangaroot
 
12 factor app an introduction
12 factor app an introduction12 factor app an introduction
12 factor app an introductionKrishna-Kumar
 
Course 102: Lecture 16: Process Management (Part 2)
Course 102: Lecture 16: Process Management (Part 2) Course 102: Lecture 16: Process Management (Part 2)
Course 102: Lecture 16: Process Management (Part 2) Ahmed El-Arabawy
 
Mastering PostgreSQL Administration
Mastering PostgreSQL AdministrationMastering PostgreSQL Administration
Mastering PostgreSQL AdministrationEDB
 
Systems integrator kpi
Systems integrator kpiSystems integrator kpi
Systems integrator kpijomcori
 
Java女子部 Java EEハンズオン(応用編)
Java女子部 Java EEハンズオン(応用編)Java女子部 Java EEハンズオン(応用編)
Java女子部 Java EEハンズオン(応用編)Misaki Kajiura
 
Shaping serverless architecture with domain driven design patterns
Shaping serverless architecture with domain driven design patternsShaping serverless architecture with domain driven design patterns
Shaping serverless architecture with domain driven design patternsAsher Sterkin
 
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud ApplicationsJakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud ApplicationsIvar Grimstad
 
Setting up a secure development life cycle with OWASP - seba deleersnyder
Setting up a secure development life cycle with OWASP - seba deleersnyderSetting up a secure development life cycle with OWASP - seba deleersnyder
Setting up a secure development life cycle with OWASP - seba deleersnyderSebastien Deleersnyder
 

Was ist angesagt? (20)

Understanding PostgreSQL LW Locks
Understanding PostgreSQL LW LocksUnderstanding PostgreSQL LW Locks
Understanding PostgreSQL LW Locks
 
Wallix Admin Bastion: Introduction
Wallix Admin Bastion: IntroductionWallix Admin Bastion: Introduction
Wallix Admin Bastion: Introduction
 
Linux Security Scanning with Lynis
Linux Security Scanning with LynisLinux Security Scanning with Lynis
Linux Security Scanning with Lynis
 
Oracle architecture ppt
Oracle architecture pptOracle architecture ppt
Oracle architecture ppt
 
Synopsys Security Event Israel Presentation: Keynote: Securing Your Software,...
Synopsys Security Event Israel Presentation: Keynote: Securing Your Software,...Synopsys Security Event Israel Presentation: Keynote: Securing Your Software,...
Synopsys Security Event Israel Presentation: Keynote: Securing Your Software,...
 
Using Machine Learning to Debug Oracle RAC Issues
Using Machine Learning to Debug Oracle RAC IssuesUsing Machine Learning to Debug Oracle RAC Issues
Using Machine Learning to Debug Oracle RAC Issues
 
Patch and Vulnerability Management
Patch and Vulnerability ManagementPatch and Vulnerability Management
Patch and Vulnerability Management
 
Redefining tables online without surprises
Redefining tables online without surprisesRedefining tables online without surprises
Redefining tables online without surprises
 
Oracle Latch and Mutex Contention Troubleshooting
Oracle Latch and Mutex Contention TroubleshootingOracle Latch and Mutex Contention Troubleshooting
Oracle Latch and Mutex Contention Troubleshooting
 
Planning and Deploying an Effective Vulnerability Management Program
Planning and Deploying an Effective Vulnerability Management ProgramPlanning and Deploying an Effective Vulnerability Management Program
Planning and Deploying an Effective Vulnerability Management Program
 
Oracle Cloud Infrastructure セキュリティの取り組み [2021年2月版]
Oracle Cloud Infrastructure セキュリティの取り組み [2021年2月版]Oracle Cloud Infrastructure セキュリティの取り組み [2021年2月版]
Oracle Cloud Infrastructure セキュリティの取り組み [2021年2月版]
 
Elastic SIEM (Endpoint Security)
Elastic SIEM (Endpoint Security)Elastic SIEM (Endpoint Security)
Elastic SIEM (Endpoint Security)
 
12 factor app an introduction
12 factor app an introduction12 factor app an introduction
12 factor app an introduction
 
Course 102: Lecture 16: Process Management (Part 2)
Course 102: Lecture 16: Process Management (Part 2) Course 102: Lecture 16: Process Management (Part 2)
Course 102: Lecture 16: Process Management (Part 2)
 
Mastering PostgreSQL Administration
Mastering PostgreSQL AdministrationMastering PostgreSQL Administration
Mastering PostgreSQL Administration
 
Systems integrator kpi
Systems integrator kpiSystems integrator kpi
Systems integrator kpi
 
Java女子部 Java EEハンズオン(応用編)
Java女子部 Java EEハンズオン(応用編)Java女子部 Java EEハンズオン(応用編)
Java女子部 Java EEハンズオン(応用編)
 
Shaping serverless architecture with domain driven design patterns
Shaping serverless architecture with domain driven design patternsShaping serverless architecture with domain driven design patterns
Shaping serverless architecture with domain driven design patterns
 
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud ApplicationsJakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
Jakarta EE 10 - Simplicity for Modern and Lighweight Cloud Applications
 
Setting up a secure development life cycle with OWASP - seba deleersnyder
Setting up a secure development life cycle with OWASP - seba deleersnyderSetting up a secure development life cycle with OWASP - seba deleersnyder
Setting up a secure development life cycle with OWASP - seba deleersnyder
 

Andere mochten auch

[ENG] Hacktivity 2013 - Alice in eXploitland
[ENG] Hacktivity 2013 - Alice in eXploitland[ENG] Hacktivity 2013 - Alice in eXploitland
[ENG] Hacktivity 2013 - Alice in eXploitlandZoltan Balazs
 
Course lecture - An introduction to the Return Oriented Programming
Course lecture - An introduction to the Return Oriented ProgrammingCourse lecture - An introduction to the Return Oriented Programming
Course lecture - An introduction to the Return Oriented ProgrammingJonathan Salwan
 
Unitrends Sales Presentation 2010
Unitrends Sales Presentation 2010Unitrends Sales Presentation 2010
Unitrends Sales Presentation 2010lincolng
 
Protection in Operating System Layer
Protection in Operating System LayerProtection in Operating System Layer
Protection in Operating System LayerSidharth D
 
Operating systems security 2007 vulnerability report
Operating systems security 2007 vulnerability reportOperating systems security 2007 vulnerability report
Operating systems security 2007 vulnerability reportAjit Gaddam
 
Application hardening, Secure Socket Layer(SSL) & Secure Electronic Transacti...
Application hardening, Secure Socket Layer(SSL) & Secure Electronic Transacti...Application hardening, Secure Socket Layer(SSL) & Secure Electronic Transacti...
Application hardening, Secure Socket Layer(SSL) & Secure Electronic Transacti...Jayesh Naik
 
Operating system vulnerability and control
Operating system vulnerability and control Operating system vulnerability and control
Operating system vulnerability and control أحلام انصارى
 
Hardening Linux and introducing Securix Linux
Hardening Linux and introducing Securix LinuxHardening Linux and introducing Securix Linux
Hardening Linux and introducing Securix LinuxSecurity Session
 
Introduction To Linux Security
Introduction To Linux SecurityIntroduction To Linux Security
Introduction To Linux SecurityMichael Boman
 
Security Configuration Management for Dummies
Security Configuration Management for DummiesSecurity Configuration Management for Dummies
Security Configuration Management for DummiesTripwire
 
Kernel Recipes 2015 - Hardened kernels for everyone
Kernel Recipes 2015 - Hardened kernels for everyoneKernel Recipes 2015 - Hardened kernels for everyone
Kernel Recipes 2015 - Hardened kernels for everyoneAnne Nicolas
 
How Many Linux Security Layers Are Enough?
How Many Linux Security Layers Are Enough?How Many Linux Security Layers Are Enough?
How Many Linux Security Layers Are Enough?Michael Boelen
 
Threats, Vulnerabilities & Security measures in Linux
Threats, Vulnerabilities & Security measures in LinuxThreats, Vulnerabilities & Security measures in Linux
Threats, Vulnerabilities & Security measures in LinuxAmitesh Bharti
 
Kernel Recipes 2013 - Linux Security Modules: different formal concepts
Kernel Recipes 2013 - Linux Security Modules: different formal conceptsKernel Recipes 2013 - Linux Security Modules: different formal concepts
Kernel Recipes 2013 - Linux Security Modules: different formal conceptsAnne Nicolas
 
Basic Linux Security
Basic Linux SecurityBasic Linux Security
Basic Linux Securitypankaj009
 
2009-08-11 IBM Teach the Teachers (IBM T3), Linux Security Overview
2009-08-11 IBM Teach the Teachers (IBM T3), Linux Security Overview2009-08-11 IBM Teach the Teachers (IBM T3), Linux Security Overview
2009-08-11 IBM Teach the Teachers (IBM T3), Linux Security OverviewShawn Wells
 

Andere mochten auch (20)

[ENG] Hacktivity 2013 - Alice in eXploitland
[ENG] Hacktivity 2013 - Alice in eXploitland[ENG] Hacktivity 2013 - Alice in eXploitland
[ENG] Hacktivity 2013 - Alice in eXploitland
 
Course lecture - An introduction to the Return Oriented Programming
Course lecture - An introduction to the Return Oriented ProgrammingCourse lecture - An introduction to the Return Oriented Programming
Course lecture - An introduction to the Return Oriented Programming
 
Unitrends Sales Presentation 2010
Unitrends Sales Presentation 2010Unitrends Sales Presentation 2010
Unitrends Sales Presentation 2010
 
Protection in Operating System Layer
Protection in Operating System LayerProtection in Operating System Layer
Protection in Operating System Layer
 
Operating systems security 2007 vulnerability report
Operating systems security 2007 vulnerability reportOperating systems security 2007 vulnerability report
Operating systems security 2007 vulnerability report
 
Jaundice
Jaundice Jaundice
Jaundice
 
Application hardening, Secure Socket Layer(SSL) & Secure Electronic Transacti...
Application hardening, Secure Socket Layer(SSL) & Secure Electronic Transacti...Application hardening, Secure Socket Layer(SSL) & Secure Electronic Transacti...
Application hardening, Secure Socket Layer(SSL) & Secure Electronic Transacti...
 
Operating system vulnerability and control
Operating system vulnerability and control Operating system vulnerability and control
Operating system vulnerability and control
 
Hardening Linux and introducing Securix Linux
Hardening Linux and introducing Securix LinuxHardening Linux and introducing Securix Linux
Hardening Linux and introducing Securix Linux
 
Introduction To Linux Security
Introduction To Linux SecurityIntroduction To Linux Security
Introduction To Linux Security
 
Security Configuration Management for Dummies
Security Configuration Management for DummiesSecurity Configuration Management for Dummies
Security Configuration Management for Dummies
 
Kernel Recipes 2015 - Hardened kernels for everyone
Kernel Recipes 2015 - Hardened kernels for everyoneKernel Recipes 2015 - Hardened kernels for everyone
Kernel Recipes 2015 - Hardened kernels for everyone
 
How Many Linux Security Layers Are Enough?
How Many Linux Security Layers Are Enough?How Many Linux Security Layers Are Enough?
How Many Linux Security Layers Are Enough?
 
Linux Security
Linux SecurityLinux Security
Linux Security
 
Threats, Vulnerabilities & Security measures in Linux
Threats, Vulnerabilities & Security measures in LinuxThreats, Vulnerabilities & Security measures in Linux
Threats, Vulnerabilities & Security measures in Linux
 
Kernel Recipes 2013 - Linux Security Modules: different formal concepts
Kernel Recipes 2013 - Linux Security Modules: different formal conceptsKernel Recipes 2013 - Linux Security Modules: different formal concepts
Kernel Recipes 2013 - Linux Security Modules: different formal concepts
 
SELinux basics
SELinux basicsSELinux basics
SELinux basics
 
Basic Linux Security
Basic Linux SecurityBasic Linux Security
Basic Linux Security
 
2009-08-11 IBM Teach the Teachers (IBM T3), Linux Security Overview
2009-08-11 IBM Teach the Teachers (IBM T3), Linux Security Overview2009-08-11 IBM Teach the Teachers (IBM T3), Linux Security Overview
2009-08-11 IBM Teach the Teachers (IBM T3), Linux Security Overview
 
Linux Hardening
Linux HardeningLinux Hardening
Linux Hardening
 

Ähnlich wie System Integrity

Hardening Linux, introducing Securix GNU/Linux
Hardening Linux, introducing Securix GNU/LinuxHardening Linux, introducing Securix GNU/Linux
Hardening Linux, introducing Securix GNU/LinuxMartin Holovský
 
Dev opsec dockerimage_patch_n_lifecyclemanagement_2019
Dev opsec dockerimage_patch_n_lifecyclemanagement_2019Dev opsec dockerimage_patch_n_lifecyclemanagement_2019
Dev opsec dockerimage_patch_n_lifecyclemanagement_2019kanedafromparis
 
Auditing the Opensource Kernels
Auditing the Opensource KernelsAuditing the Opensource Kernels
Auditing the Opensource KernelsSilvio Cesare
 
Revolutionizing the cloud with container virtualization
Revolutionizing the cloud with container virtualizationRevolutionizing the cloud with container virtualization
Revolutionizing the cloud with container virtualizationWSO2
 
Kernel security of Systems
Kernel security of SystemsKernel security of Systems
Kernel security of SystemsJamal Jamali
 
Ubuntu 16.04 LTS Security Features
Ubuntu 16.04 LTS Security FeaturesUbuntu 16.04 LTS Security Features
Ubuntu 16.04 LTS Security FeaturesDustin Kirkland
 
Linux container & docker
Linux container & dockerLinux container & docker
Linux container & dockerejlp12
 
Docker London: Container Security
Docker London: Container SecurityDocker London: Container Security
Docker London: Container SecurityPhil Estes
 
Evolution of Linux Containerization
Evolution of Linux Containerization Evolution of Linux Containerization
Evolution of Linux Containerization WSO2
 
Evoluation of Linux Container Virtualization
Evoluation of Linux Container VirtualizationEvoluation of Linux Container Virtualization
Evoluation of Linux Container VirtualizationImesh Gunaratne
 
Linux Security Overview
Linux Security OverviewLinux Security Overview
Linux Security OverviewKernel TLV
 
Linux Kernel Security: Adapting 1960s Technology to Meet 21st Century Threats
Linux Kernel Security: Adapting 1960s Technology to Meet 21st Century ThreatsLinux Kernel Security: Adapting 1960s Technology to Meet 21st Century Threats
Linux Kernel Security: Adapting 1960s Technology to Meet 21st Century ThreatsJames Morris
 
Linux Kernel Security Overview - KCA 2009
Linux Kernel Security Overview - KCA 2009Linux Kernel Security Overview - KCA 2009
Linux Kernel Security Overview - KCA 2009James Morris
 
Lions, Tigers and Deers: What building zoos can teach us about securing micro...
Lions, Tigers and Deers: What building zoos can teach us about securing micro...Lions, Tigers and Deers: What building zoos can teach us about securing micro...
Lions, Tigers and Deers: What building zoos can teach us about securing micro...Sysdig
 
Container & kubernetes
Container & kubernetesContainer & kubernetes
Container & kubernetesTed Jung
 
Introduction to Dynamic Analysis of Android Application
Introduction to Dynamic Analysis of Android ApplicationIntroduction to Dynamic Analysis of Android Application
Introduction to Dynamic Analysis of Android ApplicationKelwin Yang
 
Factors Affecting the System Safety || Linux
Factors Affecting the System Safety || LinuxFactors Affecting the System Safety || Linux
Factors Affecting the System Safety || LinuxZain Abid
 
SELinux Kernel Internals and Architecture - FOSS.IN/2005
SELinux Kernel Internals and Architecture - FOSS.IN/2005SELinux Kernel Internals and Architecture - FOSS.IN/2005
SELinux Kernel Internals and Architecture - FOSS.IN/2005James Morris
 
Docker, Linux Containers, and Security: Does It Add Up?
Docker, Linux Containers, and Security: Does It Add Up?Docker, Linux Containers, and Security: Does It Add Up?
Docker, Linux Containers, and Security: Does It Add Up?Jérôme Petazzoni
 

Ähnlich wie System Integrity (20)

淺談探索 Linux 系統設計之道
淺談探索 Linux 系統設計之道 淺談探索 Linux 系統設計之道
淺談探索 Linux 系統設計之道
 
Hardening Linux, introducing Securix GNU/Linux
Hardening Linux, introducing Securix GNU/LinuxHardening Linux, introducing Securix GNU/Linux
Hardening Linux, introducing Securix GNU/Linux
 
Dev opsec dockerimage_patch_n_lifecyclemanagement_2019
Dev opsec dockerimage_patch_n_lifecyclemanagement_2019Dev opsec dockerimage_patch_n_lifecyclemanagement_2019
Dev opsec dockerimage_patch_n_lifecyclemanagement_2019
 
Auditing the Opensource Kernels
Auditing the Opensource KernelsAuditing the Opensource Kernels
Auditing the Opensource Kernels
 
Revolutionizing the cloud with container virtualization
Revolutionizing the cloud with container virtualizationRevolutionizing the cloud with container virtualization
Revolutionizing the cloud with container virtualization
 
Kernel security of Systems
Kernel security of SystemsKernel security of Systems
Kernel security of Systems
 
Ubuntu 16.04 LTS Security Features
Ubuntu 16.04 LTS Security FeaturesUbuntu 16.04 LTS Security Features
Ubuntu 16.04 LTS Security Features
 
Linux container & docker
Linux container & dockerLinux container & docker
Linux container & docker
 
Docker London: Container Security
Docker London: Container SecurityDocker London: Container Security
Docker London: Container Security
 
Evolution of Linux Containerization
Evolution of Linux Containerization Evolution of Linux Containerization
Evolution of Linux Containerization
 
Evoluation of Linux Container Virtualization
Evoluation of Linux Container VirtualizationEvoluation of Linux Container Virtualization
Evoluation of Linux Container Virtualization
 
Linux Security Overview
Linux Security OverviewLinux Security Overview
Linux Security Overview
 
Linux Kernel Security: Adapting 1960s Technology to Meet 21st Century Threats
Linux Kernel Security: Adapting 1960s Technology to Meet 21st Century ThreatsLinux Kernel Security: Adapting 1960s Technology to Meet 21st Century Threats
Linux Kernel Security: Adapting 1960s Technology to Meet 21st Century Threats
 
Linux Kernel Security Overview - KCA 2009
Linux Kernel Security Overview - KCA 2009Linux Kernel Security Overview - KCA 2009
Linux Kernel Security Overview - KCA 2009
 
Lions, Tigers and Deers: What building zoos can teach us about securing micro...
Lions, Tigers and Deers: What building zoos can teach us about securing micro...Lions, Tigers and Deers: What building zoos can teach us about securing micro...
Lions, Tigers and Deers: What building zoos can teach us about securing micro...
 
Container & kubernetes
Container & kubernetesContainer & kubernetes
Container & kubernetes
 
Introduction to Dynamic Analysis of Android Application
Introduction to Dynamic Analysis of Android ApplicationIntroduction to Dynamic Analysis of Android Application
Introduction to Dynamic Analysis of Android Application
 
Factors Affecting the System Safety || Linux
Factors Affecting the System Safety || LinuxFactors Affecting the System Safety || Linux
Factors Affecting the System Safety || Linux
 
SELinux Kernel Internals and Architecture - FOSS.IN/2005
SELinux Kernel Internals and Architecture - FOSS.IN/2005SELinux Kernel Internals and Architecture - FOSS.IN/2005
SELinux Kernel Internals and Architecture - FOSS.IN/2005
 
Docker, Linux Containers, and Security: Does It Add Up?
Docker, Linux Containers, and Security: Does It Add Up?Docker, Linux Containers, and Security: Does It Add Up?
Docker, Linux Containers, and Security: Does It Add Up?
 

Mehr von Vasily Sartakov

Мейнстрим технологии шифрованной памяти
Мейнстрим технологии шифрованной памятиМейнстрим технологии шифрованной памяти
Мейнстрим технологии шифрованной памятиVasily Sartakov
 
RnD Collaborations in Asia-Pacific Region
RnD Collaborations in Asia-Pacific RegionRnD Collaborations in Asia-Pacific Region
RnD Collaborations in Asia-Pacific RegionVasily Sartakov
 
Сетевая подсистема в L4Re и Genode
Сетевая подсистема в L4Re и GenodeСетевая подсистема в L4Re и Genode
Сетевая подсистема в L4Re и GenodeVasily Sartakov
 
Защита памяти при помощи NX-bit в среде L4Re
Защита памяти при помощи NX-bit в среде L4ReЗащита памяти при помощи NX-bit в среде L4Re
Защита памяти при помощи NX-bit в среде L4ReVasily Sartakov
 
Hardware Errors and the OS
Hardware Errors and the OSHardware Errors and the OS
Hardware Errors and the OSVasily Sartakov
 
Operating Systems Meet Fault Tolerance
Operating Systems Meet Fault ToleranceOperating Systems Meet Fault Tolerance
Operating Systems Meet Fault ToleranceVasily Sartakov
 
Operating Systems Hardening
Operating Systems HardeningOperating Systems Hardening
Operating Systems HardeningVasily Sartakov
 
Особенности Национального RnD
Особенности Национального RnDОсобенности Национального RnD
Особенности Национального RnDVasily Sartakov
 
Introduction to Microkernels
Introduction to MicrokernelsIntroduction to Microkernels
Introduction to MicrokernelsVasily Sartakov
 
Advanced Components on Top of L4Re
Advanced Components on Top of L4ReAdvanced Components on Top of L4Re
Advanced Components on Top of L4ReVasily Sartakov
 
Применение Fiasco.OC
Применение Fiasco.OCПрименение Fiasco.OC
Применение Fiasco.OCVasily Sartakov
 

Mehr von Vasily Sartakov (20)

Мейнстрим технологии шифрованной памяти
Мейнстрим технологии шифрованной памятиМейнстрим технологии шифрованной памяти
Мейнстрим технологии шифрованной памяти
 
RnD Collaborations in Asia-Pacific Region
RnD Collaborations in Asia-Pacific RegionRnD Collaborations in Asia-Pacific Region
RnD Collaborations in Asia-Pacific Region
 
Сетевая подсистема в L4Re и Genode
Сетевая подсистема в L4Re и GenodeСетевая подсистема в L4Re и Genode
Сетевая подсистема в L4Re и Genode
 
Защита памяти при помощи NX-bit в среде L4Re
Защита памяти при помощи NX-bit в среде L4ReЗащита памяти при помощи NX-bit в среде L4Re
Защита памяти при помощи NX-bit в среде L4Re
 
Hardware Errors and the OS
Hardware Errors and the OSHardware Errors and the OS
Hardware Errors and the OS
 
Operating Systems Meet Fault Tolerance
Operating Systems Meet Fault ToleranceOperating Systems Meet Fault Tolerance
Operating Systems Meet Fault Tolerance
 
Intro
IntroIntro
Intro
 
Genode OS Framework
Genode OS FrameworkGenode OS Framework
Genode OS Framework
 
Operating Systems Hardening
Operating Systems HardeningOperating Systems Hardening
Operating Systems Hardening
 
Особенности Национального RnD
Особенности Национального RnDОсобенности Национального RnD
Особенности Национального RnD
 
Genode Architecture
Genode ArchitectureGenode Architecture
Genode Architecture
 
Genode Components
Genode ComponentsGenode Components
Genode Components
 
Genode Programming
Genode ProgrammingGenode Programming
Genode Programming
 
Genode Compositions
Genode CompositionsGenode Compositions
Genode Compositions
 
Trusted Computing Base
Trusted Computing BaseTrusted Computing Base
Trusted Computing Base
 
Intro
IntroIntro
Intro
 
Memory, IPC and L4Re
Memory, IPC and L4ReMemory, IPC and L4Re
Memory, IPC and L4Re
 
Introduction to Microkernels
Introduction to MicrokernelsIntroduction to Microkernels
Introduction to Microkernels
 
Advanced Components on Top of L4Re
Advanced Components on Top of L4ReAdvanced Components on Top of L4Re
Advanced Components on Top of L4Re
 
Применение Fiasco.OC
Применение Fiasco.OCПрименение Fiasco.OC
Применение Fiasco.OC
 

Kürzlich hochgeladen

Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 

Kürzlich hochgeladen (20)

Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 

System Integrity

  • 1. System Integrity Sartakov A. Vasily Summer Systems School’12
  • 2. Software Hardening Methods Compile-time Run time Process Canaries Virtualization (Dalvik, Java VM) System Virtualization (KVM, Xen, L4) OS (Linux Kernel Ench.) HW support (MMU, Trust Zone)
  • 3. 1. Compiler time sw hardening 2. Linux operating system extension 1.1 Memory corruption 2.1 Container based os mitigation methods virtualization 2.2 Linux security modules 2.3 Gr security 3. Process virtualization and sandboxing 4. System virtualization 3.1 Byte-code 4.1 Hardware translation recruitment 3.2 Sandboxing 4.2 VM and VMMs untrusted native code 4.3 Use cases
  • 4. 1. Compile-time Software Hardening Memory Corruption Mitigation Methods: Code injection Arc injection Pointer Subterfuge Format String Attacks and Arithmetic Overflows
  • 5. Code Injection void f1a(void *arg, size_t len) { char buff[100]; memcpy(buff, arg, len); /* buffer overrun if len > 100 */ /* ... */ return; } void f1b(void *arg, size_t len) { char *ptr = malloc(100); if (ptr == NULL) return; memcpy(ptr, arg, len); /* buffer overrun if len >100 */ /* ... */ return; }
  • 6. Stackguard ProPolice
  • 7. Pointer Subterfuge void SomeFunc() { void SomeFunc() { // do something EncodePointer // do something } } DecodePointer typedef void (*FUNC_PTR )(void); EncodeSystemPointer typedef void (*FUNC_PTR )(void); DecodeSystemPointer int DangerousFunc(char *szString) { int DangerousFunc(char *szString) { char buf[32]; char buf[32]; strcpy(buf,szString); strcpy(buf,szString); FUNC_PTR fp = (FUNC_PTR)(&SomeFunc); FUNC_PTR fp = (FUNC_PTR)(&SomeFunc); // Other code // Other code // Other code // Other code (*fp)(); (*fp)(); return 0; return 0; } }
  • 8. Format String Attacks and Arithmetic Overflows Crispin Cowan, Steve Beattie, John Johansen, and Perry Wagle. Pointguardtm: protecting pointers from buffer overflow vulnerabilities. In Proceedings of the 12th conference on USENIX Security Symposium - Volume 12, pages 7–7, Berkeley, CA, USA, 2003. USENIX Association. Jonathan Pincus and Brandon Baker. Beyond stack smashing: Recent advances in exploiting buffer overruns. IEEE Security and Privacy, 2:20–27, July 2004. Shacham, Hovav; Buchanan, Erik; Roemer, Ryan; Savage, Stefan. "Return-Oriented Programming: Exploits Without Code Injection". Retrieved 2009-08-12. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=323c
  • 9. 2. Linux operating system extension 2.1 Container based os virtualisation Linux-vserver Virtuozzo and openvz Linux containers 2.2 Linux security modules SElinux Apparmor Smack Tomoyo Linux 2.3 Grsecurity Pax Role based access control
  • 10. 2.1 Container based os virtualisation Linux-Vserver Virtuozzo OpenVZ LXC (Linux Container Tools) The core concept of container-based operating system virtualization is to run completely isolated virtual servers sharing the same kernel. Compared to system virtualization, this reduces the required memory for additional kernels on the one hand but at the same time it might increase the vulnerability of the system. If an attacker gains full access to the kernel all virtual servers are compromised. System Virtualization would offer an additional level of isolation and therefore more security in this case.
  • 11. Linux-VServer • Security contexts • Segmented routing • Chroot • Extended quotas • Further standard tools • High-performance computing (HPC) clusters • The Grid • Distributed hosting organizations like PlanetLab and Amazon EC2 The Host kernel should be patched The system provides a Shared OS Image consisting of a root file system and a set of system libraries and executables. This Start/Stop/Resume Shared OS Image together with a privileged host VM builds the Hosting Platform.
  • 12. Virtuozzo and OpenVZ OpenVZ is operating system virtualization based on the Linux kernel. It is very similar to Linux-VServer. Like Linux- VServer it requires a patched Linux kernel. Here likewise Debian ships prebuilt kernel images. Unfortunately, the patches are not provided for each Linux kernel release. OpenVZ is the basis for Parallels Virtuozzo Containers, which is a commercial product by Parallels. Usage scenarios and evaluation are basically the same as for the Linux-VServer project.
  • 13. Linux Containers (LXC) • Namespace isolation • Linux kernel control groups (cgroups) • PID namespace • Network namespace • UTS namespace (hostname) • Mount namespace • IPC namespace • Control (Restart, Freeze, etc.) • Resource limiting (Memory) • Priorization (CPU, I/O) • Accounting The best solution for lightweight isolation of Linux processes without much inter-process communication.
  • 14. Terminology 1. Access control models * Discretionary access control * Mandatory access control * Role-based access control Subject -- Object
  • 15. 2.2 Linux security modules The Linux Security Modules (LSM) framework is part of the Linux Kernel. It provides lightweight, general support for access control by allowing modules to define security hooks: • Task Hooks • Program Loading Hooks • IPC Hooks • Filesystem Hooks • Network Hooks • Module hooks (e.g. module initialization) • System hooks (e.g. hostname setting) • AppArmor • SELinux • Smack • TOMOYO Linux
  • 16. Security-Enhanced Linux MAC Part of Linux
  • 17. Smack TOMOYO Linux TOMOYO Linux is another pathname-based Smack is the abbreviation for access control system for Linux. It also Simplified Mandatory Access implements Mandatory Access Control, but Control Kernel for Linux. It is part of additionally it is stated to be useful as a pure the MeeGo Security Architecture, system analysis tool. Like e.g. AppArmor, but not exclusively dedicated to it. TOMOYO Linux also provides tools for automatic policy generation and it is designed As the name already suggest, to be easy to use with a simple syntax for Smack provides Mandatory Access policies. Control in a simpler way than e.g. SELinux. The author states that simplicity is the primary design goal AppArmor of Smack. AppArmor is an alternative to SELinux. It is a Like AppArmor, Smack requires pathname-based access control system and extended file attributes. There it requires a file system with extended attributes stores labels for files which must support. The originally goal was to provide a match labels associated with SELinux like Mandatory Access Control processes to grant access. mechanism, which is simpler to manage for Additionally, special rules can be the typical user. Therefore, AppArmor added for file labels and process implements a learning mode to create profiles of the typical programs behavior. labels that do not match. While AppArmor is a simple and powerful solution for end-users, it seems that SELinux is more powerful to implement advanced security concepts on top of it.
  • 18. 2.3 Grsecurity GrSecurity is a set of security related patches for the Linux kernel. Some major security enhancements are: • Stack and Heap modification protection (PaX) • Role-based Access Control (RBAC) • Chroot restrictions • Auditing Pax RBAC PaX is a major component of GrSecurity. Amongst other things, the patch adds three While PaX implements the principle memory protection mechanisms: of least privileges for memory • Data memory is flagged as non-executable (NX management, another component of bit) GrSecurity (RBAC) implements it for • Program memory is flagged as non-writable users and processes. This means • Program memory is randomly arranged, known that users and processes get only as address space layout randomization (ASLR) the privileges which are required to Recent mainline kernel versions added some work correctly. It should be noted, similar protection mechanisms for suitable that besides this implementation memory regions on x86 systems. aspect, the RBAC concept can be applied in very different fields of applications.
  • 19. 3. Process virtualization and sandboxing Skip
  • 20. 4. System Virtualization 4.1 Hardware recruitment 4.2 VM and VMMs Linux KVM Hypervisor Xen Hypervisor L4 Microkernel based 4.3 Use cases
  • 21. 4.1 Hardware recruitment * HW support: Johannes Winter. Trusted computing building blocks for embedded linux-based arm trustzone platforms. In Proceedings of the 3rd ACM workshop on Scalable trusted computing, STC’08, pages 21–30, New York, NY, USA, 2008. ACM. * Intel VT-x * AMD-V * ARM TrustZone * ARM Cortex-A15 including full hardware virtualization * DMA and IOMMU
  • 22. Terminology 2. Virtualization, Virtual machines * System virtualization or hardware virtualization allows to run multiple operating systems on one physical machine. * Guest and Host OS * VMM / hypervisor * Type 1 / Native – Bare Metal * Type 2 / Hosted – on top of OS * Paravirtualization – VMM doesn't provide an interface that is identical to real hardware
  • 23. Linux KVM Hypervisor * Part of Linux kernel * QEMU * VT-x AMD-V extension * Big trusted computing base (TCB) * Low overhead
  • 24. Xen hypervisor Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, and Andrew Warfield. Xen and the art of virtualization. In Proceedings of the nineteenth ACM symposium on Operating systems principles, SOSP ’03, pages 164–177, New York, NY, USA, 2003. ACM. Muli Ben-Yehuda, Jon Mason, Orran Krieger, Jimi Xenidis, Leendert Van Doorn, Asit Mallick, Jun Nakajima, and Elsie Wahlig. Utilizing iommus for virtualization in linux and xen. In Proceedings of the 2006 Ottawa Linux Symposium (OLS 2006), 2006. Jonathan M. McCune, Trent Jaeger, Stefan Berger, Ramon Caceres, and Reiner Sailer. Shamon: A system for distributed mandatory access control. In Proceedings of the 22nd Annual Computer Security Applications Conference, pages 23–32, Washington, DC, USA, 2006. IEEE Computer Society.
  • 25. L4 microkenel * User-level components * Address spaces (tasks) * Threads * Scheduling * Inter-process communication * Reusing * TCB L4Linux L4Linux app Moe Mag Ned IO Fiasco.OC
  • 26. 4.3 Use Case Crypto L4Linux L4Linux (eth0) (eth1) app Moe Mag Ned IO Fiasco.OC