International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 & TECHNOLOGY (IJCET) PROCESS BEHAVIOUR MODELLING USING LSM

Size: px
Start display at page:

Download "International Journal of Computer Engineering and Technology (IJCET), ISSN 0976 & TECHNOLOGY (IJCET) PROCESS BEHAVIOUR MODELLING USING LSM"

Transcription

1 INTERNATIONAL 6367(Print), ISSN (Online) JOURNAL Volume OF 3, Issue COMPUTER 3, October-December ENGINEERING (2012), IAEME & TECHNOLOGY (IJCET) ISSN (Print) ISSN (Online) Volume 3, Issue 3, October - December (2012), pp IAEME: Journal Impact Factor (2012): (Calculated by GISI) IJCET I A E M E PROCESS BEHAVIOUR MODELLING USING LSM S. Ravi Sankar 1, Y. Swapna 2 1 (Faculty, CSE Department, National Institute of Technology, Goa, India, srs@nitgoa.ac.in) 2 (Faculty, CSE Department, National Institute of Technology, Goa, India, spr@nitgoa.ac.in) ABSTRACT Computer security is a chronic and growing problem, even for Linux, as evidenced by the seemingly endless stream of software security vulnerabilities. Security research has produced numerous access control mechanisms that help improve system security; however, there is little consensus on the best solution. Because of this lack of consensus, there are many patches to the Linux kernel that provide enhanced access controls but none of them are a standard part of the Linux kernel. The Linux Security Modules (LSM) seeks to solve this by providing a general purpose framework for security policy modules. This allows many different access control models to be implemented as loadable kernel modules. Just before the kernel would access the internal object, an LSM hook makes an out-call to the module posing the question Is this access ok with you? The module processes this policy question and returns either yes or no. In this paper we are modeling process behaviour using LSM, a brief overview of existing security modules. The behaviour of process is checked with LSM Hooks and functions, right before kernel tries to access/take up the task. If it matches the expected operation, then it returns success and task will be continued. If an error value is returned, the task will not start. Keywords: Security, LSM, SELinux, LSM Hook 1. INTRODUCTION Security is a chronic and growing problem, as more systems (and more money) go on line, the motivation to attack rises. Linux is not immune to this threat, Linux systems do experience a large number of software vulnerabilities. At the 2001 Linux Kernel Summit, NSA developers presented their work on Security-Enhanced Linux (SELinux) [3] and emphasized the need for enhanced security support in the main Linux kernel. In the ensuing discussion, a consensus was reached that a general access-control framework for the Linux kernel was needed. This approach would allow different security models to work without modifying the main kernel code. 369

2 Out of this discussion grew the Linux Security Module (LSM) Project [6, 4, 7]. A number of developers worked together to create a framework of kernel hooks that would allow many security models to work as loadable kernel modules. This allows many different access control models to be implemented as loadable kernel modules, enabling multiple threads of security policy engine development to proceed independently of the main Linux kernel. A number of existing enhanced access control implementations, including POSIX.1e capabilities [5], SELinux [3], Domain and Type Enforcement (DTE)[1] and Linux Intrusion Detection System (LIDS)[9] have already been adapted to use the LSM framework. During the 2002 Linux Kernel Summit, the technical description of the project was presented, and the first portion of the LSM framework appeared in the kernel release. Further kernel releases contained more portions of the LSM framework. 2. RELATED WORK This section provides an overview of the Linux Security Modules (LSM) framework. The LSM framework adds security fields to kernel data structures and inserts calls to hook functions at critical points in the kernel code to manage the security fields and to perform access control. It also adds functions for registering and unregistering security modules. Extended attribute handlers for a new security namespace were added to file systems to support new file security attributes, and a /proc/pid/attr subdirectory was introduced to provide user space access to new process security attributes. The LSM security fields are simply void* pointers. For process and program execution security information, security fields were added to struct task_struct and struct linux_binprm. For file system security information, a security field was added to struct super_block [2]. Each LSM hook is a function pointer in a global table, security_ops. This table is a security_operations structure as defined by include/linux/security.h. Detailed documentation for each hook is included in this header file. The hooks are grouped into logical sets based on the kernel object (e.g. task, inode, file, sock, etc) as well as some miscellaneous hooks for system operations[4]. A register_security function (in security/security.c) is provided to allow a security module to set security_ops to refer to its own hook functions, and an unregister_security function is provided to revert security_ops to the dummy module hooks[2]. Most of its functionality can now be implemented using the extended attribute support and /proc/pid/attrinterface, as mentioned above LSM Architecture This section provides an overview of the SELinux security module internal architecture as shown in the fig.1. The module code is located within the security/selinux subdirectory of the kernel tree. The security server provides general interfaces for obtaining security policy decisions, enabling the rest of the module to remain independent of the specific security policies used. These interfaces are defined in the include/security.h header file under the SELinux module directory. 370

3 Fig.1: LSM Architecture Having discussed the high-level design philosophies of LSM we now turn to the implementation of the LSM interface. At the core, the LSM interface is a large table of functions, which by default are populated with calls that implement the traditional super user Discretionary Access Control (DAC) policy. The module writer is then responsible for providing implementations of the functions that they care about. In [8], the different types of hooks which LSM provides have been explained. 3. METHODOLOGY One of the most interesting applications of LSM appears when process permissions are based on the process behaviour profile. In this paper we are modelling the behaviour of a process using LSM. For this, in order to implement the LSM module and use the security structure, we have to disable the NSA security flag after the kernel is compiled and configuring the modules. By this we can implement our own security Module with the help of the structure Linux security plug-in located in /usr /src /linux /include /linux /security.h. At first we insert a module to the kernel which checks the file permissions and the behaviour of the user application or process with a demon which holds the execution behaviour of that particular process. The module consists of the struct security_operations structure which checks the file permissions and socket operation of our particular application. File permission function detects our present running application and traces the behaviour like open, read etc. System calls which will be checked with the demon continually and the status is returned to the module for every system call. If the call is matched demon will return yes to continue the process and keeps on checking remaining calls. Suppose the call is not matched with the one in demon it returns NO to the module and informs there is some deviation or abnormal behaviour of process, immediately the module will terminate the process from executing. In order to show the process behaviour we used the open system calls and a socket to model it. Here we treat socket call as abnormal behaviour, as in most cases malfunctioning processes try to communicate, and terminate the process whenever this call is made. Remaining for the open calls the process should run normally and module allows it execute. 371

4 The user application or the process which we are modelling first opens a file, create a socket, then close the file and socket. The demon consists of a while loop which continually checks the calls which are sent by module and returns the status accordingly. This function is called whenever the kernel wants to determine if a specific file can be accessed at this moment in time. A security module can look at the file, check whether the current user has proper authority and possibly refuse to grant it. int f_socket(int family, int type, int protocol, int kern) if( strcmp(current->comm,"app")==0 ) printk(kern_alert"in socket create function after strcmp\n"); strcpy(kbuf,"socket"); up(&semr); down_interruptible(&semw); if(status=='n') printk("process behaviour is suspicious, will be aborted\n"); return -1; return 0; Fig.2: Flow chart of Process Behaviour Modelling 372

5 4. IMPLEMENTATION An implementation of flexible access control architecture in the Linux kernel has been developed. It is useful and effective for developing Linux security enhancements. int reg,ureg; int f_per (struct file *file,int mask); int f_ioctl (struct file * file, unsigned int cmd,unsigned long arg); //extern int register_security (struct security_operations *ops); //extern int unregister_security (struct security_operations *ops); //int char_ioctl(struct inode *, struct file *, unsigned int, unsigned long); //int (*file_ioctl) (struct file * file, unsigned int cmd,unsigned long arg): struct security_operations secop=.file_permission = f_per,.file_ioctl = f_ioctl, ; int init_module(void) printk(kern_alert"in init function\n"); reg = register_security(&secop); if(reg!=0) printk(kern_alert"register security failed\n"); return -1; return 0; void cleanup_module(void) printk(kern_alert"in exit function\n"); ureg=unregister_security(&secop); if(ureg!=0) printk(kern_alert"unregister security failed\n"); int f_per (struct file *file,int mask) if( strcmp(current->comm,"app")==0 ) printk(kern_alert"in file permission function after strcmp\n"); printk(kern_alert"path =%s\n",file->f_dentry->d_iname); return 0; int f_ioctl(struct file * file, unsigned int cmd,unsigned long arg) 373

6 int number=10,ret; if( strcmp(current->comm,"app")==0 ) switch(cmd) case readioctl: ret=copy_to_user((int *)arg,&number,sizeof(number)); if(ret!=0) printk("no of bytes not copied is %d\n",ret); printk("the number sent to demon is %d \n",number); break; default: printk("invalid choice \n"); return 0; 5. RESULTS Experiments were conducted to test and evaluate the effectiveness of the proposed approach to provide security. This section presents and details the experiments undertaken and the results achieved. Fig. 3: Inserting LSM Module Fig.4: Running Daemon Process 374

7 Fig.5: Running Application Fig.6: Status Info from Daemon to LSM Module Fig. 7: Intercepting System calls to monitor process behavior In the above fig.3, using insmod command LSM module has been added to the kernel. Before adding LSM module, we have to disable the NSA security flag after the kernel is compiled and configuring the modules. By this we can implement our own security Module with the help of the structure Linux security plug-in located in /usr /src /linux /include /linux /security.h. 375

8 Now the inserted module to the kernel checks the file permissions and the behaviour of the user application (fig.5) with a demon process (fig.4) which holds the execution behaviour of that particular process. File permission function detects our present running application and traces the behaviour like open, read etc. System calls which will be checked with the demon continually and the status is returned to the module for every system call as shown in the fig. 6 and 7.If the process is suspicious then terminate it from running state or else continue the process execution. 6. CONCLUSION There are probably other methods of taking an existing running program and spawning a root process that this module does not catch. The proposed approach would be useful for researchers in this area. Anybody who depends on a Linux security module (such as SELinux) is depending on comprehensive checking within the kernel. Some work in this area could do a lot to increase the level of trust which can be placed in LSM-based modules. The implemented LSM meets these criteria. The patch is relatively small, and the performance data in shows that the LSM patch imposes nearly zero overhead. The broad suite of security products from around the world that have been implemented for LSM shows that the LSM API is useful and effective for developing Linux security enhancements. REFERENCES [1] Serge Hallyn and Phil Kearns. Domain and Type Enforcement for Linux. In Proceedings of the 4th Annual Linux Showcase and Conference, October [2] Stephen Smalley, Wayne Salamon, and Chris Vance. Implementing SELinux as a Linux Security Module. December [3] Peter Loscocco and Stephen Smalley. Integrating Flexible Support for Security Policies into the Linux Operating System. In Proceedings of the FREENIX Track: 2001 USENIX Annual Technical Conference (FREENIX 01), June [4] Stephen Smalley, Timothy Fraser, and Chris Vance. Linux Security Modules: General Security Hooks for Linux. September [5] Winfried Trumper. Summary about POSIX.1e. July [6] WireX Communications. Linux Security Module. April [7] Chris Wright, Crispin Cowan, Stephen Smalley, James Morris, and Greg Kroah-Hartman. Linux Security Modules: General Security Support for the Linux Kernel. In USENIX Security Symposium, San Francisco, CA, August [8] Chris Wright and Crispin Cowan, Stephen Smalley, James Morris and Greg Kroah-Hartman, Linux Security Module Framework DARPA [9] Linux Intrusion Detection System. World-wide web page available at 376

Using the Kernel Security Module Interface

Using the Kernel Security Module Interface Using the Kernel Security Module Interface Greg shows how to create a simple kernel module that uses the LSM framework. by Greg Kroah-Hartman At the 2001 Linux Kernel Summit, NSA developers presented their

More information

CS 378 (Spring 2003)

CS 378 (Spring 2003) Department of Computer Sciences THE UNIVERSITY OF TEXAS AT AUSTIN CS 378 (Spring 2003) Linux Kernel Programming Yongguang Zhang (ygz@cs.utexas.edu) Copyright 2003, Yongguang Zhang Linux Security (kernel)

More information

Secureworld Conference

Secureworld Conference P14 Emily Ratliff Advances in Linux Security: The Linux Security Modules Project Secureworld Conference 1 n Legal Statement This work represents the views of the author and does not necessarily reflect

More information

Distribution Kernel Security Hardening with ftrace

Distribution Kernel Security Hardening with ftrace Distribution Kernel Security Hardening with ftrace Because sometimes your OS vendor just doesn't have the security features that you want. Written by: Corey Henderson Exploit Attack Surface Hardening system

More information

The need for setuid style functionality in SELinux environments

The need for setuid style functionality in SELinux environments The need for setuid style functionality in SELinux environments Fernando Vázquez University of Vigo Department of Electronic Technology email: flvazquez@uvigo.es Takashi Horie, Toshiharu Harada NTT DATA

More information

Fall 2014:: CSE 506:: Section 2 (PhD) Securing Linux. Hyungjoon Koo and Anke Li

Fall 2014:: CSE 506:: Section 2 (PhD) Securing Linux. Hyungjoon Koo and Anke Li Securing Linux Hyungjoon Koo and Anke Li Outline Overview Background: necessity & brief history Core concepts LSM (Linux Security Module) Requirements Design SELinux Key elements Security context: identity

More information

CSE Computer Security

CSE Computer Security CSE 543 - Computer Security Lecture 15 - Linux Security October 18, 2007 URL: http://www.cse.psu.edu/~tjaeger/cse543-f07/ 1 Retrofit Security in Existing Systems Upside Operating systems are costly to

More information

Security Enhanced Linux

Security Enhanced Linux Security Enhanced Linux Bengt Nolin beno9295@student.uu.se October 13, 2004 Abstract A very brief introduction to SELinux; what it is, what is does and a little about how it does it. 1 1 Background 1.1

More information

Module: Operating System Security. Professor Trent Jaeger. CSE543 - Introduction to Computer and Network Security

Module: Operating System Security. Professor Trent Jaeger. CSE543 - Introduction to Computer and Network Security CSE543 - Introduction to Computer and Network Security Module: Operating System Security Professor Trent Jaeger 1 OS Security So, you have built an operating system that enables user-space processes to

More information

Towards Automated Authorization Policy Enforcement

Towards Automated Authorization Policy Enforcement Towards Automated Authorization Policy Enforcement Vinod Ganapathy Univ. of Wisconsin-Madison vg@cs.wisc.edu Trent Jaeger Pennsylvania State Univ. tjaeger@cse.psu.edu Somesh Jha Univ. of Wisconsin-Madison

More information

How Linux Capability Works in

How Linux Capability Works in Laboratory for Computer Security Education 1 1 Overview How Linux Capability Works in 2.6.25 by Jinkai Gao (Syracuse University) One aspect of security is user privileges. UNIX-style user privileges come

More information

Using GConf as an Example of How to Create an Userspace Object Manager

Using GConf as an Example of How to Create an Userspace Object Manager Using GConf as an Example of How to Create an Userspace Object Manager James Carter National Security Agency Abstract GConf is a configuration system for GNOME. It does not provide adequate security controls

More information

PREVENTING EXPLOITS WITH SECURITY ENHANCED LINUX

PREVENTING EXPLOITS WITH SECURITY ENHANCED LINUX PREVENTING EXPLOITS WITH SECURITY ENHANCED LINUX Final Report 12/10/09 Mike Detwiler UMBC Student CMSC Course 426 Baltimore, MD Det1@umbc.edu Peter Coddington UMBC Student CMSC Course 626 Baltimore, MD

More information

SE Linux Implementation LINUX20

SE Linux Implementation LINUX20 SE Linux Implementation LINUX20 Russell Coker IBM eserver pseries, Linux, Grid Computing and Storage Technical University 7/7/2004 Licensed under the GPL Topic Objectives In this topic students will learn

More information

SELinux. Don Porter CSE 506

SELinux. Don Porter CSE 506 SELinux Don Porter CSE 506 MAC vs. DAC By default, Unix/Linux provides Discretionary Access Control The user (subject) has discretion to set security policies (or not) Example: I may chmod o+a the file

More information

The Case for Security Enhanced (SE) Android. Stephen Smalley Trusted Systems Research National Security Agency

The Case for Security Enhanced (SE) Android. Stephen Smalley Trusted Systems Research National Security Agency The Case for Security Enhanced (SE) Android Stephen Smalley Trusted Systems Research National Security Agency Background / Motivation Increasing desire to use mobile devices throughout the US government.

More information

Linux Kernel Modules & Device Drivers April 9, 2012

Linux Kernel Modules & Device Drivers April 9, 2012 Linux Kernel Modules & Device Drivers April 9, 2012 Pacific University 1 Resources Linux Device Drivers,3rd Edition, Corbet, Rubini, Kroah- Hartman; O'Reilly kernel 2.6.10 we will use 3.1.9 The current

More information

RCU. ò Walk through two system calls in some detail. ò Open and read. ò Too much code to cover all FS system calls. ò 3 Cases for a dentry:

RCU. ò Walk through two system calls in some detail. ò Open and read. ò Too much code to cover all FS system calls. ò 3 Cases for a dentry: Logical Diagram VFS, Continued Don Porter CSE 506 Binary Formats RCU Memory Management File System Memory Allocators System Calls Device Drivers Networking Threads User Today s Lecture Kernel Sync CPU

More information

VFS, Continued. Don Porter CSE 506

VFS, Continued. Don Porter CSE 506 VFS, Continued Don Porter CSE 506 Logical Diagram Binary Formats Memory Allocators System Calls Threads User Today s Lecture Kernel RCU File System Networking Sync Memory Management Device Drivers CPU

More information

CS2028 -UNIX INTERNALS

CS2028 -UNIX INTERNALS DHANALAKSHMI SRINIVASAN INSTITUTE OF RESEARCH AND TECHNOLOGY,SIRUVACHUR-621113. CS2028 -UNIX INTERNALS PART B UNIT 1 1. Explain briefly details about History of UNIX operating system? In 1965, Bell Telephone

More information

Linux-CR: Transparent Application Checkpoint-Restart in Linux

Linux-CR: Transparent Application Checkpoint-Restart in Linux Linux-CR: Transparent Application Checkpoint-Restart in Linux Oren Laadan Columbia University orenl@cs.columbia.edu Serge E. Hallyn IBM serge@hallyn.com Linux Symposium, July 2010 1 orenl@cs.columbia.edu

More information

seven Virtual Memory Introduction

seven Virtual Memory Introduction Virtual Memory seven Exercise Goal: You will study how Linux implements virtual memory. A general architecture-independent memory model is the basis of all Linux virtual memory implementations, though

More information

Reference Policy for Security Enhanced Linux Christopher J. PeBenito, Frank Mayer, Karl MacMillan Tresys Technology

Reference Policy for Security Enhanced Linux Christopher J. PeBenito, Frank Mayer, Karl MacMillan Tresys Technology Reference Policy for Security Enhanced Linux Christopher J. PeBenito, Frank Mayer, Karl MacMillan Tresys Technology Abstract The Reference Policy project is an effort to restructure the NSA example policy

More information

1 Do not confuse the MPU with the Nios II memory management unit (MMU). The MPU does not provide memory mapping or management.

1 Do not confuse the MPU with the Nios II memory management unit (MMU). The MPU does not provide memory mapping or management. Nios II MPU Usage March 2010 AN-540-1.0 Introduction This application note covers the basic features of the Nios II processor s optional memory protection unit (MPU), describing how to use it without the

More information

INTERNAL REPRESENTATION OF FILES:

INTERNAL REPRESENTATION OF FILES: INTERNAL REPRESENTATION OF FILES: Every file on a UNIX system has a unique inode. The inode contains the information necessary for a process to access a file, such as file ownership, access rights, file

More information

On Supporting Per-Process based System Call Vectors in Linux Kernel

On Supporting Per-Process based System Call Vectors in Linux Kernel On Supporting Per-Process based System Call Vectors in Linux Kernel Mallesham Dasari, Erez Zadok Stony Brook University, Stony Brook, USA Abstract Linux has a single global system call vector which is

More information

AC72/AT72/AC117/AT117 LINUX INTERNALS DEC 2015

AC72/AT72/AC117/AT117 LINUX INTERNALS DEC 2015 Q.2 a. Provide a list of 14 main characteristics of LINUX (no description required) (7) 1. Multitasking 2. Multi-user access 3. Multi-processing 4. Architecture independence 5. Demand load executables

More information

Open Source support for OSD

Open Source support for OSD Open Source support for OSD IBM Haifa Research Lab IBM Labs in Haifa 2006 IBM Corporation Outline IBM Labs in Haifa Object Based Storage (OSD) OSD Initiator Past Going forward OSD Simulator on AlphaWorks

More information

CSE Group 13 Project Report LSM for Enhanced Access Control

CSE Group 13 Project Report LSM for Enhanced Access Control CSE 508 - Group 13 Project Report LSM for Enhanced Access Control Ana Centeno, Kiran-Kumar Muniswamy-Reddy and Charles Wright {ana, kiran}@cs.sunysb.edu, cwright@ic.sunysb.edu Computer Science Department

More information

IBM Research Report. Leveraging IPSec for Mandatory Access Control of Linux Network Communications

IBM Research Report. Leveraging IPSec for Mandatory Access Control of Linux Network Communications RC23642 (W0506-109) June 28, 2005 Computer Science IBM Research Report Leveraging IPSec for Mandatory Access Control of Linux Network Communications Trent R. Jaeger IBM Research Division Thomas J. Watson

More information

Landlock LSM: toward unprivileged sandboxing

Landlock LSM: toward unprivileged sandboxing Landlock LSM: toward unprivileged sandboxing Mickaël Salaün ANSSI September 14, 2017 1 / 21 Secure user-space software How to harden an application? secure development follow the least privilege principle

More information

Executing Legacy Applications on a Java Operating System

Executing Legacy Applications on a Java Operating System Executing Legacy Applications on a Java Operating System Andreas Gal, Michael Yang, Christian Probst, and Michael Franz University of California, Irvine {gal,mlyang,probst,franz}@uci.edu May 30, 2004 Abstract

More information

Operating system security models

Operating system security models Operating system security models Unix security model Windows security model MEELIS ROOS 1 General Unix model Everything is a file under a virtual root diretory Files Directories Sockets Devices... Objects

More information

Trustworthy Whole-System Provenance for the Linux Kernel

Trustworthy Whole-System Provenance for the Linux Kernel Trustworthy Whole-System Provenance for the Linux Kernel Adam Bates, Dave (Jing) Tian, Thomas Moyer, and Kevin R. B. Butler In association with USENIX Security Symposium, Washington D.C., USA 13 August,

More information

ExecVus. Alexandru Totolici

ExecVus. Alexandru Totolici ExecVus Alexandru Totolici a way to visualize control-flow in! software execution 2 planned for: code collapse code reordering improved selection of exec. path zoom in/out of control flow scented graph

More information

Buffer overflow background

Buffer overflow background and heap buffer background Comp Sci 3600 Security Heap Outline and heap buffer Heap 1 and heap 2 3 buffer 4 5 Heap Outline and heap buffer Heap 1 and heap 2 3 buffer 4 5 Heap Address Space and heap buffer

More information

Fundamentals of Computer Security

Fundamentals of Computer Security Fundamentals of Computer Security Spring 2015 Radu Sion Software Errors Buffer Overflow TOCTTOU 2005-15 Portions copyright by Bogdan Carbunar and Wikipedia. Used with permission Why Security Vulnerabilities?

More information

Tutorial 2. Linux networking, sk_buff and stateless packet filtering. Roei Ben-Harush Check Point Software Technologies Ltd.

Tutorial 2. Linux networking, sk_buff and stateless packet filtering. Roei Ben-Harush Check Point Software Technologies Ltd. Tutorial 2 Linux networking, sk_buff and stateless packet filtering Agenda 1 Linux file system - networking 2 3 4 sk_buff Stateless packet filtering About next assignment 2 Agenda 1 Linux file system -

More information

Meeting Critical Security Objectives with Security-Enhanced Linux

Meeting Critical Security Objectives with Security-Enhanced Linux Meeting Critical Security Objectives with Security-Enhanced Linux Peter A. Loscocco Information Assurance Research Group National Security Agency Co-author: Stephen D. Smalley, NAI Labs Information Assurance

More information

An Overview of Security in the FreeBSD Kernel. Brought to you by. Dr. Marshall Kirk McKusick

An Overview of Security in the FreeBSD Kernel. Brought to you by. Dr. Marshall Kirk McKusick An Overview of Security in the FreeBSD Kernel Brought to you by Dr. Marshall Kirk McKusick 2013 BSDCan Conference May 17, 2013 University of Ottawa Ottawa, Canada Copyright 2013 Marshall Kirk McKusick.

More information

How to Sandbox IIS Automatically without 0 False Positive and Negative

How to Sandbox IIS Automatically without 0 False Positive and Negative How to Sandbox IIS Automatically without 0 False Positive and Negative Professor Tzi-cker Chiueh Computer Science Department Stony Brook University chiueh@cs.sunysb.edu 1/10/06 Blackhat Federal 2006 1

More information

Disclaimer. This talk vastly over-simplifies things. See notes for full details and resources.

Disclaimer. This talk vastly over-simplifies things. See notes for full details and resources. Greg Kroah-Hartman Disclaimer This talk vastly over-simplifies things. See notes for full details and resources. https://github.com/gregkh/presentation-spectre Spectre Hardware bugs Valid code can be tricked

More information

Operating System Modifications for User-Oriented Addressing Model

Operating System Modifications for User-Oriented Addressing Model Operating System Modifications for User-Oriented Addressing Model Dong Zhou and Taoyu Li Department of Electronic Engineering, Tsinghua University Tsinghua University, Beijing, 100084, P R China zhoud@mails.tsinghua.edu.cn,

More information

Alternative Approaches for Deduplication in Cloud Storage Environment

Alternative Approaches for Deduplication in Cloud Storage Environment International Journal of Computational Intelligence Research ISSN 0973-1873 Volume 13, Number 10 (2017), pp. 2357-2363 Research India Publications http://www.ripublication.com Alternative Approaches for

More information

SELinux type label enforcement

SELinux type label enforcement SELinux type enforcement -Demonstration -General description David Morgan Demonstration Trying to access a resource (permissions vs SELinux) permissions system cares which user account SELinux cares which

More information

VFS Interceptor: Dynamically Tracing File System Operations in real. environments

VFS Interceptor: Dynamically Tracing File System Operations in real. environments VFS Interceptor: Dynamically Tracing File System Operations in real environments Yang Wang, Jiwu Shu, Wei Xue, Mao Xue Department of Computer Science and Technology, Tsinghua University iodine01@mails.tsinghua.edu.cn,

More information

Xen Security Modules (XSM)

Xen Security Modules (XSM) Xen Security Modules (XSM) George Coker National Information Assurance Research Lab National Security Agency (NSA) gscoker@alpha.ncsc.mil National Information Assurance Research Lab UNCLASSIFIED 1 What

More information

Disclaimer. This talk vastly over-simplifies things. See notes for full details and resources.

Disclaimer. This talk vastly over-simplifies things. See notes for full details and resources. Greg Kroah-Hartman Disclaimer This talk vastly over-simplifies things. See notes for full details and resources. https://github.com/gregkh/presentation-spectre Spectre Hardware bugs Valid code can be tricked

More information

File System Definition: file. File management: File attributes: Name: Type: Location: Size: Protection: Time, date and user identification:

File System Definition: file. File management: File attributes: Name: Type: Location: Size: Protection: Time, date and user identification: File System Definition: Computer can store the information on different storage media such as magnetic disk, tapes, etc. and for convenience to use the operating system provides the uniform logical view

More information

VIRTUAL FILE SYSTEM AND FILE SYSTEM CONCEPTS Operating Systems Design Euiseong Seo

VIRTUAL FILE SYSTEM AND FILE SYSTEM CONCEPTS Operating Systems Design Euiseong Seo VIRTUAL FILE SYSTEM AND FILE SYSTEM CONCEPTS 2016 Operating Systems Design Euiseong Seo (euiseong@skku.edu) File Layout An entity that separates and isolates data Files have meanings only to applications

More information

Secure Software Programming and Vulnerability Analysis

Secure Software Programming and Vulnerability Analysis Secure Software Programming and Vulnerability Analysis Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Race Conditions Secure Software Programming 2 Overview Parallel execution

More information

Access Control. CMPSC Spring 2012 Introduction Computer and Network Security Professor Jaeger.

Access Control. CMPSC Spring 2012 Introduction Computer and Network Security Professor Jaeger. Access Control CMPSC 443 - Spring 2012 Introduction Computer and Network Security Professor Jaeger www.cse.psu.edu/~tjaeger/cse443-s12/ Access Control Describe the permissions available to computing processes

More information

An Architecture for On-the-fly File Integrity Checking

An Architecture for On-the-fly File Integrity Checking An Architecture for On-the-fly File Integrity Checking Mauro Borchardt, Carlos Maziero, and Edgard Jamhour Graduate Program in Applied Computer Science Pontifical Catholic University of Paraná 80.215-901

More information

What's New with SELinux

What's New with SELinux What's New with SELinux Stephen D. Smalley sds@tycho.nsa.gov National Information Assurance Research Laboratory National Security Agency National Information Assurance Research Laboratory 1 Advances in

More information

Linux Kernel Security Overview

Linux Kernel Security Overview Linux Kernel Security Overview Linux Security Summit Europe 2018 Edinburgh, UK James Morris jmorris@namei.org $ whoami Linux kernel security subsystem maintainer Linux kernel engineer at Microsoft Previously

More information

Securing Inter-process Communications in SELinux Spencer Shimko, Joshua Brindle Tresys Technology, LLC

Securing Inter-process Communications in SELinux Spencer Shimko, Joshua Brindle Tresys Technology, LLC Securing Inter-process Communications in SELinux Spencer Shimko, Joshua Brindle Tresys Technology, LLC Abstract In the modern computing world, a secure system is best implemented with mandatory access

More information

Exploring the file system. Johan Montelius HT2016

Exploring the file system. Johan Montelius HT2016 1 Introduction Exploring the file system Johan Montelius HT2016 This is a quite easy exercise but you will learn a lot about how files are represented. We will not look to the actual content of the files

More information

libnetfilter_log Reference Manual

libnetfilter_log Reference Manual libnetfilter_log Reference Manual x.y Generated by Doxygen 1.4.6 Tue Mar 21 13:47:12 2006 CONTENTS 1 Contents 1 libnetfilter_log File Index 1 2 libnetfilter_log File Documentation 1 1 libnetfilter_log

More information

Modern Buffer Overflow Prevention Techniques: How they work and why they don t

Modern Buffer Overflow Prevention Techniques: How they work and why they don t Modern Buffer Overflow Prevention Techniques: How they work and why they don t Russ Osborn CS182 JT 4/13/2006 1 In the past 10 years, computer viruses have been a growing problem. In 1995, there were approximately

More information

Toward a Common Host Interface for Network Processors

Toward a Common Host Interface for Network Processors Appearing in: Proceedings of the 2003 IASTED International Conference on Communications, Internet, & Information Technology (CIIT), Scottsdale, Arizona, November, 2003. Toward a Common Host Interface for

More information

Unix (Linux) Device Drivers

Unix (Linux) Device Drivers Unix (Linux) Device Drivers Kernel module that handles the interaction with an specific hardware device, hiding its operational details behind a common interface Three basic categories Character Block

More information

Operating System Project / Lecture 1 Tasks and scheduling. Bon Keun Seo

Operating System Project / Lecture 1 Tasks and scheduling. Bon Keun Seo Operating System Project / Lecture 1 Tasks and scheduling Bon Keun Seo Program: executable code Program and process Process: a running instance of a program /bin/bash Program (bash) Process 1 (bash) Process

More information

Filesystem. Disclaimer: some slides are adopted from book authors slides with permission 1

Filesystem. Disclaimer: some slides are adopted from book authors slides with permission 1 Filesystem Disclaimer: some slides are adopted from book authors slides with permission 1 Storage Subsystem in Linux OS Inode cache User Applications System call Interface Virtual File System (VFS) Filesystem

More information

1. Overview This project will help you understand address spaces and virtual memory management.

1. Overview This project will help you understand address spaces and virtual memory management. Project 2--Memory Worth: 12 points Assigned: Due: 1. Overview This project will help you understand address spaces and virtual memory management. In this project, you will implement an external pager,

More information

New Approach towards Covert Communication using TCP-SQN Reference Model

New Approach towards Covert Communication using TCP-SQN Reference Model ISSN 2278 0211 (Online) New Approach towards Covert Communication using TCP-SQN Reference Model Dhananjay M. Dakhane Department of Computer science & Engineering Sipna College of Engineering & Technology,

More information

Linux drivers - Exercise

Linux drivers - Exercise Embedded Realtime Software Linux drivers - Exercise Scope Keywords Prerequisites Contact Learn how to implement a device driver for the Linux OS. Linux, driver Linux basic knowledges Roberto Bucher, roberto.bucher@supsi.ch

More information

Middleware MAC for Android. Stephen Smalley Trusted Systems Research National Security Agency

Middleware MAC for Android. Stephen Smalley Trusted Systems Research National Security Agency Middleware MAC for Android Stephen Smalley Trusted Systems Research National Security Agency Motivation Many attacks on Android can occur entirely at the middleware layer. Not directly visible to kernel

More information

A Comprehensive Analysis of MAC Enhancements for Leveraging Distributed MAC

A Comprehensive Analysis of MAC Enhancements for Leveraging Distributed MAC A Comprehensive Analysis of MAC Enhancements for Leveraging Distributed MAC Shahbaz khan 1, Muhammad Amin 2, Muhammad Nauman 3, Tamleek Ali 4 Abstract Increased dependability of users, businesses and government

More information

A Survey of Access Control Policies. Amanda Crowell

A Survey of Access Control Policies. Amanda Crowell A Survey of Access Control Policies Amanda Crowell What is Access Control? Policies and mechanisms that determine how data and resources can be accessed on a system. The Players Subjects Objects Semi-objects

More information

Distributed File System

Distributed File System Distributed File System Project Report Surabhi Ghaisas (07305005) Rakhi Agrawal (07305024) Election Reddy (07305054) Mugdha Bapat (07305916) Mahendra Chavan(08305043) Mathew Kuriakose (08305062) 1 Introduction

More information

Software Development & Education Center

Software Development & Education Center Software Development & Education Center Embedded Linux & RTOS With ARM 9 µc Embedded Linux and RTOS with ARM9 µc Introduction The course is designed for those who want to pursue Linux based Embedded Systems.

More information

Using kgdb and the kgdb Internals

Using kgdb and the kgdb Internals Using kgdb and the kgdb Internals Jason Wessel jason.wessel@windriver.com Tom Rini trini@kernel.crashing.org Amit S. Kale amitkale@linsyssoft.com Using kgdb and the kgdb Internals by Jason Wessel by Tom

More information

Building a Reactive Immune System for Software Services

Building a Reactive Immune System for Software Services Building a Reactive Immune System for Software Services Tobias Haupt January 24, 2007 Abstract In this article I summarize the ideas and concepts of the paper Building a Reactive Immune System for Software

More information

Enforcing Multiple Security Policies for Android System*

Enforcing Multiple Security Policies for Android System* 2nd International Symposium on Computer, Communication, Control and Automation (3CA 2013) Enforcing Multiple Security Policies for System* Tao Guo guotao@itsec.gov.cn Puhan Zhang zhangph2008@gmail.com

More information

MP3: VIRTUAL MEMORY PAGE FAULT MEASUREMENT

MP3: VIRTUAL MEMORY PAGE FAULT MEASUREMENT MP3: VIRTUAL MEMORY PAGE FAULT MEASUREMENT University of Illinois at Urbana-Champaign Department of Computer Science CS423 Fall 2011 Keun Soo Yim GOAL A Linux kernel module to profile VM system events

More information

OPERATING SYSTEMS ASSIGNMENT 3 MEMORY MANAGEMENT

OPERATING SYSTEMS ASSIGNMENT 3 MEMORY MANAGEMENT OPERATING SYSTEMS ASSIGNMENT 3 MEMORY MANAGEMENT Introduction Memory management and memory abstraction is one of the most important features of any operating system. In this assignment we will examine

More information

Program Security and Vulnerabilities Class 2

Program Security and Vulnerabilities Class 2 Program Security and Vulnerabilities Class 2 CEN-5079: 28.August.2017 1 Secure Programs Programs Operating System Device Drivers Network Software (TCP stack, web servers ) Database Management Systems Integrity

More information

PFStat. Global notes

PFStat. Global notes PFStat Global notes Counts expand_stack returns in case of error, so the stack_low count needed to be inside transparent huge page, 2 cases : There is no PMD, we should create a transparent one (There

More information

Scamper. Matthew Luckie

Scamper.  Matthew Luckie Scamper http://www.wand.net.nz/scamper/ Matthew Luckie mjl@wand.net.nz Introduction It is coming up towards the end of a year s contract between the University of Waikato and WIDE that funded the development

More information

Design and Implementation of Views: Isolated Perspectives of a File System for Regulatory Compliance

Design and Implementation of Views: Isolated Perspectives of a File System for Regulatory Compliance Design and Implementation of Views: Isolated Perspectives of a File System for Regulatory Compliance Matthew W. Pagano Zachary N. J. Peterson The Johns Hopkins University Baltimore, Maryland, USA {mpagano,zachary}@cs.jhu.edu

More information

[537] Journaling. Tyler Harter

[537] Journaling. Tyler Harter [537] Journaling Tyler Harter FFS Review Problem 1 What structs must be updated in addition to the data block itself? [worksheet] Problem 1 What structs must be updated in addition to the data block itself?

More information

Overlayfs And Containers. Miklos Szeredi, Red Hat Vivek Goyal, Red Hat

Overlayfs And Containers. Miklos Szeredi, Red Hat Vivek Goyal, Red Hat Overlayfs And Containers Miklos Szeredi, Red Hat Vivek Goyal, Red Hat Introduction to overlayfs Union or? Union: all layers made equal How do you take the union of two files? Or a file and a directory?

More information

Introduction to TrustedBSD Audit + OpenBSM. Wayne Salamon Robert Watson

Introduction to TrustedBSD Audit + OpenBSM. Wayne Salamon Robert Watson Introduction to TrustedBSD Audit + OpenBSM Wayne Salamon (wsalamon@freebsd.org) Robert Watson (rwatson@freebsd.org) Introduction What is TrustedBSD? What is event auditing? CC + CAPP evaluation requirements

More information

PROCESS MANAGEMENT Operating Systems Design Euiseong Seo

PROCESS MANAGEMENT Operating Systems Design Euiseong Seo PROCESS MANAGEMENT 2016 Operating Systems Design Euiseong Seo (euiseong@skku.edu) Definition A process is a program in execution Context Resources Specifically, Register file state Address space File and

More information

File access-control per container with Landlock

File access-control per container with Landlock File access-control per container with Landlock Mickaël Salaün ANSSI February 4, 2018 1 / 20 Secure user-space software How to harden an application? secure development follow the least privilege principle

More information

SOCKETLIB. Requirements

SOCKETLIB. Requirements SOCKETLIB SocketLib is an event based, semi-asynchronous socket stream. It derives from standard C++ sockets, therefore, all extractors (>>) and inserters (

More information

RM0327 Reference manual

RM0327 Reference manual Reference manual Multi-Target Trace API version 1.0 Overview Multi-Target Trace (MTT) is an application instrumentation library that provides a consistent way to embed instrumentation into a software application,

More information

10/23/12. Fundamentals of Linux Platform Security. Linux Platform Security. Roadmap. Security Training Course. Module 4 Introduction to SELinux

10/23/12. Fundamentals of Linux Platform Security. Linux Platform Security. Roadmap. Security Training Course. Module 4 Introduction to SELinux Fundamentals of Linux Platform Security Security Training Course Dr. Charles J. Antonelli The University of Michigan 2012 Linux Platform Security Module 4 Introduction to SELinux Roadmap Why SELinux? Overview

More information

Windows Device Driver and API Reference Manual

Windows Device Driver and API Reference Manual Windows Device Driver and API Reference Manual 797 North Grove Rd, Suite 101 Richardson, TX 75081 Phone: (972) 671-9570 www.redrapids.com Red Rapids Red Rapids reserves the right to alter product specifications

More information

A Linux Implementation of Temporal Access Controls

A Linux Implementation of Temporal Access Controls Calhoun: The NPS Institutional Archive Center for Information Systems Security Studies and Research (CISR)Faculty and Researcher Publications Collection 2007-06-01 A Linux Implementation of Temporal Access

More information

OMNIO: A Tool for I/O Recording, Analysis and Replay

OMNIO: A Tool for I/O Recording, Analysis and Replay OMNIO: A Tool for I/O Recording, Analysis and Replay Bryan Flynt Cooperative Institute for Research in the Atmosphere Colorado State University Fort Collins, Colorado USA Mark Govett Advanced Technology

More information

Optimized Packet Filtering Honeypot with Intrusion Detection System for WLAN

Optimized Packet Filtering Honeypot with Intrusion Detection System for WLAN Amandeep Singh, Pankush Singla, Navdeep Kaur Khiva 101 Optimized Packet Filtering Honeypot with Intrusion Detection System for WLAN Amandeep Singh Pankush Sukhpreet Singla Singh Navdeep Kaur Khiva Second

More information

Machine Problem 1: A Simple Memory Allocator. 100 points Due date: To Be Announced

Machine Problem 1: A Simple Memory Allocator. 100 points Due date: To Be Announced Machine Problem 1: A Simple Memory Allocator Introduction 100 points Due date: To Be Announced In this machine problem, you are to develop a simple memory allocator that implements the functions my malloc()

More information

Android Kernel Security

Android Kernel Security Jeff Vander Stoep and Sami Tolvanen Android Kernel Security Linux Security Summit Aug 2018 Acknowledgements People who have reported security vulnerabilities to Android security: https://source.android.com/security/overview/acknowledgements

More information

Recent Researches in Engineering and Automatic Control

Recent Researches in Engineering and Automatic Control Networked control system using Linux Real Time Application Interface TOMÁŠ MURGAŠ*, PETER FODREK*, ĽUDOVÍT FARKAS** *RT Systems s.r.o. Kopčianska 14, 851 01 Bratislava SLOVAK REPUBLIC **Institute of Control

More information

Kernel Modules. Kartik Gopalan

Kernel Modules. Kartik Gopalan Kernel Modules Kartik Gopalan Kernel Modules Allow code to be added to the kernel, dynamically Only those modules that are needed are loaded. Unload when no longer required - frees up memory and other

More information

Machine Problem 1: A Simple Memory Allocator

Machine Problem 1: A Simple Memory Allocator Machine Problem 1: A Simple Memory Allocator Introduction In this machine problem, you are to develop a simple memory allocator that implements the functions my malloc() and my free(), very similarly to

More information

Locality and The Fast File System. Dongkun Shin, SKKU

Locality and The Fast File System. Dongkun Shin, SKKU Locality and The Fast File System 1 First File System old UNIX file system by Ken Thompson simple supported files and the directory hierarchy Kirk McKusick The problem: performance was terrible. Performance

More information

Last time. Security Policies and Models. Trusted Operating System Design. Bell La-Padula and Biba Security Models Information Flow Control

Last time. Security Policies and Models. Trusted Operating System Design. Bell La-Padula and Biba Security Models Information Flow Control Last time Security Policies and Models Bell La-Padula and Biba Security Models Information Flow Control Trusted Operating System Design Design Elements Security Features 10-1 This time Trusted Operating

More information

srfs kernel module Nir Tzachar September 25, 2003

srfs kernel module Nir Tzachar September 25, 2003 srfs kernel module Nir Tzachar September 25, 2003 1 Introduction 1.1 A distributed file system A distributed file system should appear to the user as a traditional file system. The user can create files,

More information