Proceedings of the 2001 USENIX Annual Technical Conference
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
PC-BSD 9 Turns a New Page
CONTENTS Dear Readers, Here is the November issue. We are happy that we didn’t make you wait for it as long as for October one. Thanks to contributors and supporters we are back and ready to give you some usefull piece of knowledge. We hope you will Editor in Chief: Patrycja Przybyłowicz enjoy it as much as we did by creating the magazine. [email protected] The opening text will tell you What’s New in BSD world. It’s a review of PC-BSD 9 by Mark VonFange. Good reading, Contributing: especially for PC-BSD users. Next in section Get Started you Mark VonFange, Toby Richards, Kris Moore, Lars R. Noldan, will �nd a great piece for novice – A Beginner’s Guide To PF Rob Somerville, Erwin Kooi, Paul McMath, Bill Harris, Jeroen van Nieuwenhuizen by Toby Richards. In Developers Corner Kris Moore will teach you how to set up and maintain your own repository on a Proofreaders: FreeBSD system. It’s a must read for eager learners. Tristan Karstens, Barry Grumbine, Zander Hill, The How To section in this issue is for those who enjoy Christopher J. Umina experimenting. Speed Daemons by Lars R Noldan is a very good and practical text. By reading it you can learn Special Thanks: how to build a highly available web application server Denise Ebery with advanced networking mechanisms in FreeBSD. The Art Director: following article is the �nal one of our GIS series. The author Ireneusz Pogroszewski will explain how to successfully manage and commission a DTP: complex GIS project. -
Micro-Viruses for Fast and Accurate Characterization of Voltage Margins and Variations in Multicore Cpus
NATIONAL AND KAPODISTRIAN UNIVERSITY OF ATHENS SCHOOL OF SCIENCES DEPARTMENT OF INFORMATICS AND TELECOMMUNICATION COMPUTING SYSTEMS: SOFTWARE AND HARDWARE MASTER THESIS Micro-Viruses for FAst AnD AccurAte ChArActerizAtion of VoltAge MArgins And Variations in Multicore CPUs IoAnnis S. Vastakis grad1408 Supervisor: Dimitris Gizopoulos, Professor ATHENS JULY 2017 ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΠΟΛΟΓΙΣΤΙΚΑ ΣΥΣΤΗΜΑΤΑ: ΛΟΓΙΣΜΙΚΟ ΚΑΙ ΥΛΙΚΟ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΜΙΚΡΟ-ΙΟΙ ΓΙΑ ΓΡΗΓΟΡO ΚΑΙ ΑΚΡΙΒΗ ΧΑΡΑΚΤΗΡΙΣΜΟ ΤΩΝ ΠΕΡΙΘΩΡΙΩΝ ΚΑΙ ΔΙΑΚΥΜΑΝΣΕΩΝ ΤΑΣΗΣ ΣΕ ΠΟΛΥΠΥΡΗΝΟΥΣ ΕΠΕΞΕΡΓΑΣΤΕΣ Ιωάννης Σ. Βαστάκης grad1408 Επιβλέπων: Δημήτρης Γκιζόπουλος, Καθηγητής ΑΘΗΝΑ ΙΟΥΛΙΟΣ 2017 MASTER THESIS Micro-Viruses for Fast and Accurate Characterization of Voltage Margins and Variations in Multicore CPUs IoAnnis S. Vastakis grad1408 SUPERVISOR: Dimitris Gizopoulos, Professor EXAMINATION COMMITTEE: Dimitris Gizopoulos, Professor University of Athens Antonis PaschAlis, Professor University of Athens July 2017 ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Μικρό-ιοί για γρήγορo και ακριβή χαρακτηρισμό των περιθωρίων και διακυμάνσεων τάσης σε πολυπύρηνους επεξεργαστές Ιωάννης Σ. Βαστάκης grad1408 ΕΠΙΒΛΕΠΩΝ: Δημήτρης Γκιζόπουλος, Καθηγητής ΕΞΕΤΑΣΤΙΚΗ ΕΠΙΣΤΡΟΠΗ: Δημήτρης Γκιζόπουλος, Καθηγητής Πανεπιστήμιο Αθηνών Αντώνης Πασχάλης, Καθηγητής Πανεπιστήμιο Αθηνών Ιούλιος 2017 ABSTRACT Energy-efficient computing can be largely enabled by fast and accurate identification of the pessimistic voltage margins of multicore CPU designs -
Virtual Memory
M08_STAL6329_06_SE_C08.QXD 2/21/08 9:31 PM Page 345 CHAPTER VIRTUAL MEMORY 8.1 Hardware and Control Structures Locality and Virtual Memory Paging Segmentation Combined Paging and Segmentation Protection and Sharing 8.2 Operating System Software Fetch Policy Placement Policy Replacement Policy Resident Set Management Cleaning Policy Load Control 8.3 UNIX and Solaris Memory Management Paging System Kernel Memory Allocator 8.4 Linux Memory Management Linux Virtual Memory Kernel Memory Allocation 8.5 Windows Memory Management Windows Virtual Address Map Windows Paging 8.6 Summary 8.7 Recommended Reading and Web Sites 8.8 Key Terms, Review Questions, and Problems APPENDIX 8A Hash Tables 345 M08_STAL6329_06_SE_C08.QXD 2/21/08 9:31 PM Page 346 346 CHAPTER 8 / VIRTUAL MEMORY Table 8.1 Virtual Memory Terminology Virtual memory A storage allocation scheme in which secondary memory can be addressed as though it were part of main memory.The addresses a program may use to reference mem- ory are distinguished from the addresses the memory system uses to identify physi- cal storage sites, and program-generated addresses are translated automatically to the corresponding machine addresses. The size of virtual storage is limited by the ad- dressing scheme of the computer system and by the amount of secondary memory available and not by the actual number of main storage locations. Virtual address The address assigned to a location in virtual memory to allow that location to be ac- cessed as though it were part of main memory. Virtual address space The virtual storage assigned to a process. Address space The range of memory addresses available to a process. -
SLAKE: Facilitating Slab Manipulation for Exploiting
SLAKE: Facilitating Slab Manipulation for Exploiting Vulnerabilities in the Linux Kernel Yueqi Chen Xinyu Xing [email protected] [email protected] The Pennsylvania State University The Pennsylvania State University ABSTRACT 1 INTRODUCTION To determine the exploitability for a kernel vulnerability, a secu- Despite extensive code review, a Linux kernel, like all other soft- rity analyst usually has to manipulate slab and thus demonstrate ware, still inevitably contains a large number of bugs and vulnerabil- the capability of obtaining the control over a program counter or ities [42]. Compared with vulnerabilities in user-level applications, performing privilege escalation. However, this is a lengthy process a vulnerability in kernel code is generally more disconcerting be- because (1) an analyst typically has no clue about what objects cause kernel code runs with a higher privilege and the successful and system calls are useful for kernel exploitation and (2) he lacks exploitation of a kernel vulnerability could provide an attacker with the knowledge of manipulating a slab and obtaining the desired full root access. layout. In the past, researchers have proposed various techniques One straightforward solution to minimize the damage of Linux to facilitate exploit development. Unfortunately, none of them can kernel defects is to have software developers and security analysts be easily applied to address these challenges. On the one hand, this patch all the bugs and vulnerabilities immediately. However, even is because of the complexity of the Linux kernel. On the other hand, though allowing anyone to contribute to code development and this is due to the dynamics and non-deterministic of slab variations. -
End-To-End Verification of Memory Isolation
Secure System Virtualization: End-to-End Verification of Memory Isolation HAMED NEMATI Doctoral Thesis Stockholm, Sweden 2017 TRITA-CSC-A-2017:18 KTH Royal Institute of Technology ISSN 1653-5723 School of Computer Science and Communication ISRN-KTH/CSC/A--17/18-SE SE-100 44 Stockholm ISBN 978-91-7729-478-8 SWEDEN Akademisk avhandling som med tillstånd av Kungl Tekniska högskolan framlägges till offentlig granskning för avläggande av teknologie doktorsexamen i datalogi fre- dagen den 20 oktober 2017 klockan 14.00 i Kollegiesalen, Kungl Tekniska högskolan, Brinellvägen 8, Stockholm. © Hamed Nemati, October 2017 Tryck: Universitetsservice US AB iii Abstract Over the last years, security kernels have played a promising role in re- shaping the landscape of platform security on today’s ubiquitous embedded devices. Security kernels, such as separation kernels, enable constructing high-assurance mixed-criticality execution platforms. They reduce the soft- ware portion of the system’s trusted computing base to a thin layer, which enforces isolation between low- and high-criticality components. The reduced trusted computing base minimizes the system attack surface and facilitates the use of formal methods to ensure functional correctness and security of the kernel. In this thesis, we explore various aspects of building a provably secure separation kernel using virtualization technology. In particular, we examine techniques related to the appropriate management of the memory subsystem. Once these techniques were implemented and functionally verified, they pro- vide reliable a foundation for application scenarios that require strong guar- antees of isolation and facilitate formal reasoning about the system’s overall security. We show how the memory management subsystem can be virtualized to enforce isolation of system components. -
A Guide to Kernel Exploitation Attacking the Core (2011
A Guide to Kernel Exploitation This page intentionally left blank A Guide to Kernel Exploitation Attacking the Core Enrico Perla Massimiliano Oldani Technical Editor Graham Speake AMSTERDAM • BOSTON • HEIDELBERG • LONDON • • • NEW YORK OXFORD PARIS SAN DIEGO SYNGRESS SAN FRANCISCO • SINGAPORE • SYDNEY • TOKYO ® Syngress is an imprint of Elsevier Acquiring Editor: Rachel Roumeliotis Development Editor: Matthew Cater Project Manager: Julie Ochs Designer: Alisa Andreola Syngress is an imprint of Elsevier 30 Corporate Drive, Suite 400, Burlington, MA 01803, USA © 2011 Elsevier Inc. All rights reserved. No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher. Details on how to seek permission, further information about the Publisher’s permissions policies and our arrangements with organizations such as the Copyright Clearance Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/permissions. This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be noted herein). Notices Knowledge and best practice in this field are constantly changing. As new research and experience broaden our understanding, changes in research methods or professional practices, may become necessary. Practitioners and researchers must always rely on their own experience and knowledge in evaluating and using any information or methods described herein. In using such information or methods they should be mindful of their own safety and the safety of others, including parties for whom they have a professional responsibility. -
A Principled Approach to Kernel Memory Management
A Principled Approach To Kernel Memory Management A thesis submitted to the School of Computer Science and Engineering at the University of New South Wales in fulfilment of the requirements for the degree of Doctor of Philosophy. Dhammika Elkaduwe 2010 !! " #$ % & '!( )' ( ! * + "()%',(-. /0012 /!! ! ! "# $$%' -. /0032 4!! 2 ! !& '( ) ) "* " , /0032 5!! 2 ' #𐠁 &9'-./0082 :!! "! & ) '( ( "* () ) )/0082 ;!! 2 1 $! ) '( *+ < . ( )/00;2 Abstract Small kernels are a promising approach to secure and reliable system construction. These systems reduce the size of the kernel to a point where it is feasible to formally verify the implementation correctness of the kernel with respect to an abstract formal model of the kernel’s behaviour. The system is composed of user-level components, isolated from one another using the kernel-provided mechanisms. The abstract formal model facilitates the enforcement, and reasoning about the enforcement of different policies between these user-level components. However, existing formal models only capture the application-level interface of a small kernel with no clear relationship between the externally visible access control model and the kernel’s low-level management of physical memory. In this work, a model for managing the in-kernel memory of a formally verified, small kernel is designed and evaluated for its formal and empirical characteristics. The design eliminates all implicit memory allocations within the kernel by promoting all dynamically allocated kernel memory into first-class, explicitly allocated kernel objects. This reduces the problem of physical memory management within the kernel to that of controlling the authority to perform these explicit allocations and controlling the dissemination of author- ity over already allocated objects. -
UNIVERSITY of CALIFORNIA, SAN DIEGO Beneath
UNIVERSITY OF CALIFORNIA, SAN DIEGO Beneath the Attack Surface A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in Computer Science by Keaton Mowery Committee in charge: Professor Hovav Shacham, Chair Professor Sorin Lerner Professor George Papen Professor Stefan Savage Professor Geoffrey M. Voelker 2015 Copyright Keaton Mowery, 2015 All rights reserved. The Dissertation of Keaton Mowery is approved and is acceptable in quality and form for publication on microfilm and electronically: Chair University of California, San Diego 2015 iii EPIGRAPH “Time forks perpetually toward innumerable futures. In one of them I am your enemy.” —JORGE LUIS BORGES (1941) Marco Polo imagined answering (or Kublai Khan imagined his answer) that the more one was lost in unfamiliar quarters of distant cities, the more one understood the other cities he had crossed to arrive there —ITALO CALVINO (1972) iv TABLE OF CONTENTS Signature Page . iii Epigraph . ........... iv Table of Contents . v List of Figures . viii List of Tables . xi Acknowledgements . xii Vita................................................. xiv Abstract of the Dissertation . xvi Introduction . 1 Chapter 1 Fingerprinting Information in JavaScript Implementations . 3 1.1 Introduction . 4 1.2 JavaScript Performance Fingerprinting . 8 1.2.1 Methodology . 8 1.2.2 Data Collection . 10 1.2.3 Results . 13 1.2.4 JavaScript Test Selection . 21 1.3 NoScript Whitelist Fingerprinting . 22 1.3.1 Attack Methodology . 23 1.3.2 Prevalence of Testable JavaScript . 26 1.3.3 Fingerprinting Speed . 28 1.4 Conclusions . 32 Chapter 2 Pixel Perfect: Fingerprinting Canvas in HTML5 . 34 2.1 Introduction . 34 2.2 HTML5 and CSS3 . -
Dynamic and Elastic Memory Management in Virtualized Clouds
DYNAMIC AND ELASTIC MEMORY MANAGEMENT IN VIRTUALIZED CLOUDS A Dissertation Presented to The Academic Faculty By Wenqi Cao In Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy in the School of Computer Science Georgia Institute of Technology May 2019 Copyright c Wenqi Cao 2019 DYNAMIC AND ELASTIC MEMORY MANAGEMENT IN VIRTUALIZED CLOUDS Approved by: Dr. Ling Liu, Advisor Dr. David Devecsery School of Computer Science School of Computer Science Georgia Institute of Technology Georgia Institute of Technology Dr. Calton Pu, Co-Advisor Dr. Joy Arulraj School of Computer Science School of Computer Science Georgia Institute of Technology Georgia Institute of Technology Dr. Jay Lofstead Date Approved: March 26, 2019 Scalable System Software Group Sandia National Laboratories To my parents and my wife ACKNOWLEDGEMENTS I would like to express my deepest gratitude to my advisor, Dr. Ling Liu, for her guid- ance in this research and the support throughout my graduate study. She always inspires me to be a better researcher in many ways. I was especially fortunate to work with her and ben- efit from her advises. In addition to academic research, she always shares her life lessons with me and always been available whenever I need help. Her principles and dedication will have a great influence on me. I would also like to give special thanks to Dr. Calton Pu, Dr. David Devecsery, Dr. Joy Arulraj, and Dr. Jay Lofstead for their time to serve on my thesis committee and their valu- able feedback on my thesis proposal and final dissertation. Their welcome suggestions and insightful comments have greatly contributed to my thesis. -
Operating Systems in Depth This Page Intentionally Left Blank OPERATING SYSTEMS in DEPTH
This page intentionally left blank Operating Systems in Depth This page intentionally left blank OPERATING SYSTEMS IN DEPTH Thomas W. Doeppner Brown University JOHN WILEY & SONS, INC. vice-president & executive publisher Donald Fowley executive editor Beth Lang Golub executive marketing manager Christopher Ruel production editor Barbara Russiello editorial program assistant Mike Berlin senior marketing assistant Diana Smith executive media editor Thomas Kulesa cover design Wendy Lai cover photo Thomas W. Doeppner Cover photo is of Banggai Cardinalfi sh (Pterapogon kauderni), taken in the Lembeh Strait, North Sulawesi, Indonesia. This book was set in 10/12 Times Roman. The book was composed by MPS Limited, A Macmillan Company and printed and bound by Hamilton Printing Company. This book is printed on acid free paper. ϱ Founded in 1807, John Wiley & Sons, Inc. has been a valued source of knowledge and understanding for more than 200 years, helping people around the world meet their needs and fulfi ll their aspirations. Our company is built on a foundation of principles that include responsibility to the communities we serve and where we live and work. In 2008, we launched a Corporate Citizenship Initiative, a global effort to address the environmental, social, economic, and ethical challenges we face in our business. Among the issues we are addressing are carbon impact, paper specifi cations and procurement, ethical conduct within our business and among our vendors, and community and charitable support. For more information, please visit our -
Memory Management in Freebsd 12.0
Memory Management in FreeBSD 12.0 Mark Johnston BSDTW 2017 Introduction I Mark Johnston, [email protected] I OS Team at Dell EMC Isilon I FreeBSD user since 2010, committer since December 2012 I sys/vm neophyte since 2015 Responsibilities I Implementing the virtual memory abstraction I Syscalls: mmap, madvise, mprotect, minherit, mincore, msync, mlock, mlockall, munmap, munlock, munlockall I More syscalls: fork, vfork, execve, read, write, sendfile, ptrace, ... I Page fault handling Enforcing memory protection Copy-on-write Tracking page dirty state Page-in from swap, or a filesystem, or device memory Responsibilities, cont'd I Handling memory pressure Reclaiming pages, approximating LRU Page queue maintenance Laundering dirty pages I Kernel memory allocation malloc(9), free(9) Slab allocation (uma(9)) KVA allocation (vmem(9)) Physically contiguous allocations Physical address constraints (e.g., ISA DMA) I Miscellaneous tightly coupled subsystems FS buffer cache pmap(9) tmpfs(5), md(4) vmm(4), Linux drm drivers SYSV and POSIX shared memory Scalability w.r.t. CPU count and RAM size Good single-threaded performance VM Factoids I The VM is not a virtual machine I Originated from Mach, since 4.4BSD I Heavily reworked in the 1990s, dg@, dyson@, dillon@, alc@ Kernel Path Comments Code OpenBSD sys/uvm/ 7,716 13,853 FreeBSD sys/vm/ 9,246 21,468 illumos uts/common/vm/ 14,352 34,100 XNU osfmk/vm/ 17,007 52,400 Linux mm/ 28,476 78,260 Implications I The VM is complicated I Old foundations I Consistency and conceptual integrity are important I Some -
Download The
Visit : https://hemanthrajhemu.github.io Join Telegram to get Instant Updates: https://bit.ly/VTU_TELEGRAM Contact: MAIL: [email protected] INSTAGRAM: www.instagram.com/hemanthraj_hemu/ INSTAGRAM: www.instagram.com/futurevisionbie/ WHATSAPP SHARE: https://bit.ly/FVBIESHARE Contents Chapter 9 Virtual Memory . 9.1 Background 315 9.8 Allocating Kernel Memory 353 9.2 Demand Paging 319 9.9 Other Considerations 357 9.3 Copy-on-Write 325 9.10 Operating-System Examples 363 9.4 Page Replacement 327 9.11 Summary 365 9.5 Allocation of Frames 340 Exercises 366 9.6 Thrashing 343 Bibliographical Notes 370 9.7 Memory-Mapped Files 348 PART FOUR • STORAGE MANAGEMENT Chapter 10 File-System Interface 10.1 File Concept 373 10.6 Protection 402 10.2 Access Methods 382 10.7 Summary 407 10.3 Directory Structure 385 Exercises 408 10.4 File-System Mounting 395 Bibliographical Notes 409 10.5 File Sharing 397 Chapter 11 File-System Implementation 11.1 File-System Structure 411 11.8 Log-Structured File Systems 437 11.2 File-System Implementation 413 11.9 NFS 438 11.3 Directory Implementation 419 11.10 Example: The WAFL File System 444 11.4 Allocation Methods 421 11.11 Summary 446 11.5 Free-Space Management 429 Exercises 447 11.6 Efficiency and Performance 431 Bibliographical Notes 449 11.7 Recovery 435 Chapter 12 Mass-Storage Structure 12.1 Overview of Mass-Storage 12.7 RAID Structure 468 Structure 451 12.8 Stable-Storage Implementation 477 12.2 Disk Structure 454 12.9 Tertiary-Storage Structure 478 12.3 Disk Attachment 455 12.10 Summary 488 12.4 Disk Scheduling 456 Exercises 489 12.5 Disk Management 462 Bibliographical Notes 493 12.6 Swap-Space Management 466 Chapter 13 I/O Systems 13.1 Overview 495 13.6 STREAMS 520 13.2 I/O Hardware 496 13.7 Performance 522 13.3 Application I/O Interface 505 13.8 Summary 525 13.4 Kernel I/O Subsystem 511 Exercises 526 13.5 Transforming I/O Requests to Bibliographical Notes 527 Hardware Operations 518 https://hemanthrajhemu.github.io V" vCHAPTER In Chapter 8, we discussed various memory-management strategies used in computer systems.