Mickaël Salaün Intégration De L'utilisateur Au Contrôle D'accès

Total Page:16

File Type:pdf, Size:1020Kb

Mickaël Salaün Intégration De L'utilisateur Au Contrôle D'accès THÈSE DE DOCTORAT DE TÉLÉCOM SUDPARIS Spécialité Informatique École doctorale Informatique, Télécommunications et Électronique (Paris) Présentée par Mickaël Salaün Pour obtenir le grade de DOCTEUR de TÉLÉCOM SUDPARIS Sujet de la thèse : Intégration de l’utilisateur au contrôle d’accès : du processus cloisonné à l’interface homme-machine de confiance Soutenue le 2 mars 2018 devant le jury composé de : Président : Gaël Thomas Télécom SudParis Rapporteurs : Michaël Hauspie Université Lille 1, Sciences et Technologies Valérie Viet Triem Tong CentraleSupélec Examinateur : Roland Groz Grenoble INP, Ensimag Directeur de thèse : Hervé Debar Télécom SudParis Co-encadrante : Marion Daubignard ANSSI Invités : Mathieu Blanc CEA Benjamin Morin ANSSI NNT : 2018TELE0006 c 2018 Mickaël Salaün Ce document est placé sous la « Licence Ouverte » publiée par la mission Etalab. Mise à jour du 6 avril 2018 Résumé Cette thèse souhaite fournir des outils pour qu’un utilisateur puisse contribuer activement à la sécurité de son usage d’un système informatique. Les activités de sensibilités différentes d’un utilisateur nécessitent tout d’abord d’être cloisonnées dans des domaines dédiés, par un contrôle d’accès s’ajustant aux besoins de l’utilisateur. Afin de conserver ce cloisonnement, celui-ci doit être en mesure d’identifier de manière fiable les domaines avec lesquels il interagit, à partir de l’interface de sa machine. Dans une première partie, nous proposons un nouveau mécanisme de cloisonnement qui peut s’adapter de manière transparente aux changements d’activité de l’utilisateur, sans altérer le fonctionnement des contrôles d’accès existants, ni dégrader la sécurité du système. Nous en décrivons une première implémentation, nommée StemJail, basée sur les espaces de noms de Linux. Nous améliorons ce cloisonnement en proposant un nouveau module de sécurité Linux, baptisé Landlock, utilisable sans nécessiter de privilèges. Dans un second temps, nous identifions et modélisons les propriétés de sécurité d’une interface homme-machine (IHM) nécessaires à la compréhension fiable et sûre du système par l’utilisateur. En particulier, il s’agit d’établir un lien entre les entités avec lesquelles l’utilisateur pense communiquer, et celles avec lesquelles il communique vraiment. Cette modélisation permet d’évaluer l’impact de la compromission de certains composants d’IHM et d’aider à l’évaluation d’une architecture donnée. Mots-clefs : sécurité, système d’exploitation, contrôle d’accès, activité utilisateur, cloison- nement, interface homme-machine (IHM), serveur d’affichage, chemin de confiance Involving the end user in access control: from confined processes to trusted human-computer interface Abstract This thesis aims to provide end users with tools enhancing the security of the system they use. First, user activities of different sensitivities require to be confined in dedicated domains by an access control fitting the user’s needs. Next, in order to maintain this confinement, users must be able to reliably identify the domains they interact with, from their machine’s interface. In the first part, we present a new confinement mechanism that seamlessly adapts to user activity changes, without altering the behavior of existing access controls nor degrading the security of the system. We also describe a first implementation named StemJail, based on Linux namespaces. We improve this confinement tool by creating a new Linux security module named Landlock which can be used without requiring privileges. In a second step, we identify and model the security properties a human-computer interface (HCI) requires for the reliable and secure understanding of the system by the user. Precisely, the goal is to establish a link between the entities with which the users think they communicate, and those with which they actually communicate. This model enables to evaluate the impact of HCI components jeopardization and helps assessing a given architecture. Keywords: security, operating system, access control, user activity, confinement, sandbox- ing, human-computer interface (HCI), display server, trusted path i ii Table des matières Introduction 1 Protection des données utilisateur par le système . .1 Interaction de confiance entre l’utilisateur et le système . .2 Contributions et contenu de la thèse . .3 I Protection des données utilisateur par le système 7 1 État de l’art du contrôle d’accès 9 1.1 Modèles communs de contrôle d’accès . 10 1.2 Contrôle d’accès fournis par l’OS . 11 1.3 Comparaison des mises en œuvre de contrôles d’accès . 13 2 Contrôle d’accès adapté aux activités utilisateur 17 2.1 Scénario d’exemple . 18 2.2 Définitions formelles . 19 2.3 Politique de sécurité pour l’utilisateur . 20 2.4 Découverte automatisée de rôles . 22 2.5 Formalisation et garanties du modèle . 25 2.6 Limitations du modèle de contrôle d’accès . 28 2.7 Conclusion . 29 3 StemJail : contrôle d’accès dynamique pour Linux 31 3.1 Besoins fonctionnels et de sécurité . 32 3.2 Implémentation de StemJail ........................... 33 3.3 Évaluation . 41 3.4 Conclusion . 48 4 Landlock : cloisonnement programmable non privilégié 49 4.1 Objectif . 50 4.2 Propriétés du contrôle d’accès Landlock .................... 51 4.3 Implémentation et application des règles . 53 4.4 Évaluation . 64 4.5 Conclusion . 70 II Interaction de confiance entre l’utilisateur et le système 71 5 État de l’art de la sécurité des interfaces homme-machine 73 5.1 Vue d’ensemble des composants d’une IHM . 74 5.2 Critères de sécurité de l’IHM . 75 iii iv TABLE DES MATIÈRES 5.3 Techniques de défense pour l’IHM . 77 5.4 Aperçu de différents systèmes d’IHM . 80 5.5 Conclusion . 86 6 Sécurité de l’interface utilisateur 89 6.1 Modélisation des entités d’une IHM visuelle . 90 6.2 Propriétés de sécurité d’une IHM . 95 6.3 Mise en place d’une IHM de confiance . 102 6.4 Mise en pratique . 106 6.5 Conclusion . 110 Conclusion 111 Problématique et solutions apportées . 111 Discussion et travaux futurs . 112 Bibliographie 115 Table des figures 2.1 Exemple de spécialisation de domaine par transition . 23 2.2 Treillis de transitions de domaine . 24 3.1 Aperçu d’une instanciation de StemJail .................... 33 3.2 Détails d’une instanciation de StemJail .................... 39 3.3 Exemple de fichier de configuration pour le profil GoodGuy ......... 41 4.1 Vue macroscopique du contrôle d’accès d’une ouverture de fichier . 51 4.2 Évolution de l’application de programmes Landlock sur une hiérarchie de processus . 54 4.3 Exemple de définition de métadonnées d’un programme Landlock ..... 58 4.4 Étapes de sandboxing d’un processus . 59 4.5 Exemple de séquence de programmes fs_walk et fs_pick_write ....... 60 4.6 Programme Landlock pour le parcours de dossiers . 61 4.7 Exemple de parcours d’un chemin avec un retour arrière . 62 4.8 Programme Landlock pour valider l’écriture dans un fichier . 62 5.1 Liens entre le matériel et les applications utilisateur . 75 6.1 Exemple simple de hiérarchie d’agents utilisateur avec un navigateur . 93 6.2 Exemple complexe de hiérarchie d’agents utilisateur avec deux clients VNC et un navigateur . 93 6.3 Graphe d’agents et de domaines pour Clip OS du point de vue du système 98 6.4 Graphe d’agents et de domaines pour Clip OS du point de vue de l’utilisateur 99 6.5 Captures d’écran de Clip OS lors de l’utilisation du domaine Bas ou Haut 106 6.6 Captures d’écran de Clip OS lors de la configuration du domaine Socle .. 107 6.7 Capture d’écran lors de l’utilisation de plusieurs domaines avec Qubes OS . 109 v vi TABLE DES FIGURES Remerciements Tout d’abord, je remercie Hervé Debar, Benjamin Morin et Marion Daubignard pour leur encadrement. Ensuite, je souhaite remercier Michaël Hauspie et Valérie Viet Triem Tong qui m’ont fait l’honneur de rapporter cette thèse, ainsi que l’ensemble des membres du jury. Je tiens notamment à remercier Loïc et Yves-Alexis pour m’avoir permis de travailler sur cette thèse au sein du Laboratoire architectures matérielles et logicielles (LAM) de l’Agence nationale de la sécurité des systèmes d’information (ANSSI). Je souhaite également remercier Vincent pour son travail impressionnant qui a insufflé les principes fondateurs de mes travaux. La rédaction d’article demande de nombreuses relectures et les commentaires qui en résultent forgent le document final. Je remercie toutes les personnes qui ont ainsi participé à ce manuscrit, ce qui inclut Alain, Anaël, Anne-Marie, Arnaud E., Arnaud F., François, Fred, Guillaume, Johan, Nico, Philippe, Ryad, Sylvie et Thomas. Merci aux personnes qui ont bien voulu m’accorder de leur temps et me permettre de préparer ma soutenance de thèse, notamment Corentin, Frédéric, Nicolas B., Nicolas G., Rémi, Sébastien, Timothée et Tony. Je remercie également celles et ceux qui me font le plaisir d’assister à ma soutenance et qui m’ont encouragé (et diverti) pendant ces quelques années. Enfin, je tiens à dire un grand merci à Marion, pour son soutien, son enseignement et son aide inestimable durant cette longue période de doctorat. vii viii REMERCIEMENTS Introduction Le contrôle d’accès d’un ordinateur protège des données qui peuvent provenir de dif- férentes sources comme le système de fichiers, le réseau, mais également l’utilisateur de la machine. La catégorisation de ces données par le système est nécessaire à la bonne application d’une politique de sécurité qui est chargée de restreindre leur accès. Que ce soit la rédaction d’un document ou la saisie d’un mot de passe, les entrées utilisateur peuvent correspondre à différents niveaux de sensibilité ainsi qu’à de multiples cercles de diffusion de l’information. Lorsqu’une politique de sécurité prend en compte ces différentes catégories, l’utilisateur est alors responsable de la différenciation des données qu’il fournit au système.
Recommended publications
  • Guidelines and Strategies for Secure Interaction Design
    ,ch13.10831 Page 253 Friday, August 5, 2005 10:12 PM Chapter 13 CHAPTER THIRTEEN Guidelines and Strategies for Secure Interaction Design KA-PING YEE ALTHOUGH A RELIABLE, USABLE AUTHENTICATION METHOD IS ESSENTIAL, it is far from the only human interface concern. After a user signs in to a system, the system has to carry out the user’s wishes correctly in order to be considered secure. The question of secure inter- action design, addressed in this and the other chapters in this part of the book, is: How can we design a computer system to protect the interests of its legitimate user? To give you a sense of how important it is to look beyond authentication, consider some of today’s most serious security problems. Viruses are a leading contender, with email viruses making up a large part. Spyware is growing into a nightmare for home users and IT staff. Identity theft is becoming widespread, perpetrated in part through “phishing” scams in which forged email messages entice people to give away private information. None of these problems is caused by defeating a login mechanism. They would be better described as failures of computers to behave as their users expect. This chapter suggests some guidelines for designing and evaluating usable secure software and proposes two strategies for getting security and usability to work in harmony: security by designation and user-assigned identifiers. I’ll begin by providing a little background for our discussion, then present the guidelines and strategies, and finally look at real design problems to show how these strategies can be applied in practice.
    [Show full text]
  • Linux Kernel Contributions by ANSSI
    Linux kernel contributions by ANSSI Yves-Alexis Perez ANSSI LSS-EU 2018 Introduction Who am I? Yves-Alexis Perez ANSSI head of software and hardware architectures lab I OS security (Linux, micro-kernels) I mobile and embedded device security I CLIP OSa development Debian developer I security team I Linux kernel packaging I Xfce, strongSwan, imobiledevice packaging Mostly interested in low-level security and hardening a. https://www.clip-os.org [email protected] Linux kernel contributions by ANSSI LSS-EU 2018 3/28 ANSSI Missions I not an intelligence agency I protect French administration & industry networks I defensive only Labs I pool of expertise on relevant area: cryptography, network, OS, … I research & development I academic publications I free-software contributions [email protected] Linux kernel contributions by ANSSI LSS-EU 2018 4/28 French government & free software User I Large user of free software I Linux distributions widely used accross the whole government I cost reason, sometime about control Contributor I some large projects (SPIP, …) I DINSIC maintains a repository list[8] I 2016 Digital Republic law[11] introduced open-data by default I including code [email protected] Linux kernel contributions by ANSSI LSS-EU 2018 5/28 Current situation with Linux Linux usage quite diverse I Linux servers from various distribution I Linux-based appliances (firewalls, IDS, VPN…) I some Linux workstations ANSSI can’t secure everything downstream I upstream work benefits more people I Linux distributions
    [Show full text]
  • Capabilities
    CS 261, Fall 2015 Scribe notes September 8: Capabilities Scribe: Riyaz Faizullabhoy 1 Motivation for Capabilities In The Confused Deputy, the compiler had two sets of rights: one from the user to access user files such as source code to compile, and another set granted to the compiler intended to access a special statistics file that would collect information about language feature usage. The compiler was installed in the SYSX directory, where it was granted access to write to any file in this directory. Naturally, the statistics file SYSX/STAT was also located in this directory such that the compiler (SYSX/FORT) could add language feature information. To achieve this, the compiler's privileges were set with a home files license that was allowed by the operating system to write to any file in the SYSX directory. A billing information file SYSX/BILL was also stored in SYSX { due to its sensitive nature, this billing file was not directly accessible to users. However, since the compiler was granted access to the entire SYSX directory, users could subvert their access restrictions on the billing information file by using the compiler like so: SYSX/FORT foo.f -o SYSX/BILL The above user-invoked command to the compiler would allow the compiler to first read the user's source code in foo.f, but then the compiler's privilege to SYSX would cause the SYSX/BILL file to be overwritten with the user's binary. In effect, the compiler is the confused deputy having to reconcile both its own and the user's set of privileges, but unfortunately allows for unintended behavior.
    [Show full text]
  • Operating Systems & Virtualisation Security Knowledge Area
    Operating Systems & Virtualisation Security Knowledge Area Issue 1.0 Herbert Bos Vrije Universiteit Amsterdam EDITOR Andrew Martin Oxford University REVIEWERS Chris Dalton Hewlett Packard David Lie University of Toronto Gernot Heiser University of New South Wales Mathias Payer École Polytechnique Fédérale de Lausanne The Cyber Security Body Of Knowledge www.cybok.org COPYRIGHT © Crown Copyright, The National Cyber Security Centre 2019. This information is licensed under the Open Government Licence v3.0. To view this licence, visit: http://www.nationalarchives.gov.uk/doc/open-government-licence/ When you use this information under the Open Government Licence, you should include the following attribution: CyBOK © Crown Copyright, The National Cyber Security Centre 2018, li- censed under the Open Government Licence: http://www.nationalarchives.gov.uk/doc/open- government-licence/. The CyBOK project would like to understand how the CyBOK is being used and its uptake. The project would like organisations using, or intending to use, CyBOK for the purposes of education, training, course development, professional development etc. to contact it at con- [email protected] to let the project know how they are using CyBOK. Issue 1.0 is a stable public release of the Operating Systems & Virtualisation Security Knowl- edge Area. However, it should be noted that a fully-collated CyBOK document which includes all of the Knowledge Areas is anticipated to be released by the end of July 2019. This will likely include updated page layout and formatting of the individual Knowledge Areas KA Operating Systems & Virtualisation Security j October 2019 Page 1 The Cyber Security Body Of Knowledge www.cybok.org INTRODUCTION In this Knowledge Area, we introduce the principles, primitives and practices for ensuring se- curity at the operating system and hypervisor levels.
    [Show full text]
  • Runtime Data Driven Partitioning of Linux Code
    This is the author's version of an article that has been published in this journal. Changes were made to this version by the publisher prior to publication. The final version of record is available at http://dx.doi.org/10.1109/TDSC.2017.2745574 1 How to Fillet a Penguin: Runtime Data Driven Partitioning of Linux Code Oliver Schwahn, Stefan Winter, Nicolas Coppik, and Neeraj Suri Abstract—In many modern operating systems (OSs), there exists no isolation between different kernel components, i.e., the failure of one component can affect the whole kernel. While microkernel OSs introduce address space separation for large parts of the OS, their improved fault isolation comes at the cost of performance. Despite significant improvements in modern microkernels, monolithic OSs like Linux are still prevalent in many systems. To achieve fault isolation in addition to high performance and code reuse in these systems, approaches to move only fractions of kernel code into user mode have been proposed. These approaches solely rely on static code analyses for deciding which code to isolate, neglecting dynamic properties like invocation frequencies. We propose to augment static code analyses with runtime data to achieve better estimates of dynamic properties for common case operation. We assess the impact of runtime data on the decision what code to isolate and the impact of that decision on the performance of such “microkernelized” systems. We extend an existing tool chain to implement automated code partitioning for existing monolithic kernel code and validate our approach in a case study of two widely used Linux device drivers and a file system.
    [Show full text]
  • Human Factors and Usability Issues Have Traditionally Played a Limited Role in Security Research and Secure Systems Development
    Security and Usability By Lorrie Faith Cranor, Simson Garfinkel ............................................... Publisher: O'Reilly Pub Date: August 2005 ISBN: 0-596-00827-9 Pages: 738 Table of Contents | Index Human factors and usability issues have traditionally played a limited role in security research and secure systems development. Security experts have largely ignored usability issues--both because they often failed to recognize the importance of human factors and because they lacked the expertise to address them. But there is a growing recognition that today's security problems can be solved only by addressing issues of usability and human factors. Increasingly, well-publicized security breaches are attributed to human errors that might have been prevented through more usable software. Indeed, the world's future cyber-security depends upon the deployment of security technology that can be broadly used by untrained computer users. Still, many people believe there is an inherent tradeoff between computer security and usability. It's true that a computer without passwords is usable, but not very secure. A computer that makes you authenticate every five minutes with a password and a fresh drop of blood might be very secure, but nobody would use it. Clearly, people need computers, and if they can't use one that's secure, they'll use one that isn't. Unfortunately, unsecured systems aren't usable for long, either. They get hacked, compromised, and otherwise rendered useless. There is increasing agreement that we need to design secure systems that people can actually use, but less agreement about how to reach this goal. Security & Usability is the first book-length work describing the current state of the art in this emerging field.
    [Show full text]
  • Capsicum Slides
    Capsicum Capability-Based Sandboxing David Drysdale Google UK Features Current LXC uses the following kernel features to contain processes: ● Kernel namespaces (ipc, uts, mount, pid, network and user) ● Apparmor and SELinux profiles ● Seccomp policies ● Chroots (using pivot_root) ● Kernel capabilities ● CGroups (control groups) Agenda ● Ideas ○ Privilege Separation ○ Capabilities ● Capsicum ○ Hybrid with POSIX ○ Application changes ● Linux container features ● Status/Outlook Check Your Privileges ● Drop unnecessary privileges ○ Just because a process starts as root, doesn't have to stay that way Check Your Privileges ● Drop unnecessary privileges ○ Just because a process starts as root, doesn't have to stay that way ● Divide up software according to what privileges are needed ○ E.g. separate media processing from credentials processing Check Your Privileges ● Drop unnecessary privileges ○ Just because a process starts as root, doesn't have to stay that way ● Divide up software according to what privileges are needed ○ E.g. separate media processing from credentials processing ● Examples: ○ OpenSSH: credential checking process ○ Chrome: renderer processes ● Design impact: ○ Do privileged operations first ○ Pass resources down a privilege gradient Capability-Based Security ● Make the privileges that a process holds more explicit Capability-Based Security ● Make the privileges that a process holds more explicit ● Access objects via unforgeable token: the capability ○ Identifies the object ○ Accompanying rights give allowed operations ○ Can only reduce, not increase rights ○ Can pass capabilities around Capability-Based Security ● Make the privileges that a process holds more explicit ● Access objects via unforgeable token: the capability ○ Identifies the object ○ Accompanying rights give allowed operations ○ Can only reduce, not increase rights ○ Can pass capabilities around ● Remove other ways of accessing objects ○ No access by name, i.e.
    [Show full text]
  • Semperos: a Distributed Capability System
    SemperOS: A Distributed Capability System Matthias Hille† Nils Asmussen† ∗ Pramod Bhatotia‡ Hermann Härtig† ∗ †Technische Universität Dresden ‡The University of Edinburgh ∗ Barkhausen Institut Abstract systems have received renewed attention recently to provide Capabilities provide an efficient and secure mechanism for an efficient and secure mechanism for resource management fine-grained resource management and protection. However, in modern hardware architectures [5, 24, 30, 36, 44, 64, 67]. as the modern hardware architectures continue to evolve Today the main improvements in compute capacity with large numbers of non-coherent and heterogeneous cores, are achieved by either adding more cores or integrating we focus on the following research question: can capability accelerators into the system. However, the increasing core systems scale to modern hardware architectures? counts exacerbate the hardware complexity required for global In this work, we present a scalable capability system to drive cache coherence. While on-chip cache coherence is likely to future systems with many non-coherent heterogeneous cores. remain a feature of future hardware architectures [45], we see More specifically, we have designed a distributed capability characteristics of distributed systems added to the hardware system based on a HW/SW co-designed capability system. by giving up on global cache coherence across a whole We analyzed the pitfalls of distributed capability operations machine [6, 28]. Additionally, various kinds of accelerators running concurrently and built the protocols in accordance are added like the Xeon Phi Processor, the Matrix-2000 accel- with the insights. We have incorporated these distributed erator, GPUs, FPGAs, or ASICs, which are used in numerous capability management protocols in a new microkernel-based application fields [4,21,32,34,43,60].
    [Show full text]
  • Le Rapport Au Format
    N° 7 SÉNAT SESSION ORDINAIRE DE 2019-2020 Rapport remis à M. le Président du Sénat le 1er octobre 2019 Enregistré à la Présidence du Sénat le 1er octobre 2019 RAPPORT FAIT au nom de la commission d’enquête (1) sur la souveraineté numérique, Président M. Franck MONTAUGÉ, Rapporteur M. Gérard LONGUET, Sénateurs Tome I : Rapport (1) Cette commission est composée de : M. Franck Montaugé, président ; M. Gérard Longuet, rapporteur ; M. Patrick Chaize, Mmes Sylvie Robert, Catherine Morin-Desailly, MM. Yvon Collin, M. André Gattolin, MM. Pierre Ouzoulias et Jérôme Bignon, vice-présidents ; Mme Viviane Artigalas, MM. Jérôme Bascher, Bernard Bonne, Mme Martine Filleul, MM. Christophe-André Frassa, Loïc Hervé, Laurent Lafon, Rachel Mazuir, Stéphane Piednoir, Mmes Sophie Primas, Frédérique Puissat et M. Hugues Saury. - 3 - SOMMAIRE Pages PRINCIPALES RECOMMANDATIONS ............................................................................ 7 AVANT-PROPOS .................................................................................................................13 I. QUELS SCÉNARII FACE AUX MENACES PESANT SUR NOTRE SOUVERAINETÉ ? ..........................................................................................................17 A. LA COMPÉTITION INTENSE ENTRE ÉTATS DANS LE CYBERESPACE ..................17 1. La politique américaine : la recherche d’un leadership incontesté .......................................18 a) Des relations complexes entre les Gafam et l’État américain .................................18 b) Une politique de la
    [Show full text]
  • SENG, the SGX-Enforcing Network Gateway
    SENG, the SGX-Enforcing Network Gateway: Authorizing Communication from Shielded Clients Fabian Schwarz and Christian Rossow, CISPA Helmholtz Center for Information Security https://www.usenix.org/conference/usenixsecurity20/presentation/schwarz This paper is included in the Proceedings of the 29th USENIX Security Symposium. August 12–14, 2020 978-1-939133-17-5 Open access to the Proceedings of the 29th USENIX Security Symposium is sponsored by USENIX. SENG, the SGX-Enforcing Network Gateway: Authorizing Communication from Shielded Clients Fabian Schwarz and Christian Rossow CISPA Helmholtz Center for Information Security Saarbrücken, Germany {fabian.schwarz,rossow}@cispa.saarland Abstract almost impossible. On the one hand, network administrators Network administrators face a security-critical dilemma. deploy firewalls and Intrusion Detection Systems (IDS) to While they want to tightly contain their hosts, they usually tightly control and contain information flows. On the other have to relax firewall policies to support a large variety of hand, they have to support a vast diversity of applications applications. However, liberal policies like this enable data and access methods and lack a mapping between which ap- exfiltration by unknown (and untrusted) client applications. plication causes which traffic. This enables internal clients An inability to attribute communication accurately and reli- to (possibly unknowingly) leak data by executing untrusted ably to applications is at the heart of this problem. Firewall or even malicious software. Furthermore, companies opening policies are restricted to coarse-grained features that are easy their servers to partners lack control over which remote client to evade and mimic, such as protocols or port numbers. applications are used to access these servers.
    [Show full text]
  • Improvement of the Virtualization Support in the Fiasco.OC Microkernel
    Technische Universität Berlin Master’s Thesis Chair for Security in Telecommunications (SecT) School IV — Electrical Engineering and Computer Science Technische Universität Berlin Improving Virtualization Support in the Fiasco.OC Microkernel Author: Julius Werner (#310341) Major: Computer Science (Informatik) Email: [email protected] Primary Advisor: Prof. Dr. Jean-Pierre Seifert Secondary Advisor: Prof. Dr. Hans-Ulrich Heiß Tutor: Dipl.-Inf. Matthias Lange April – August 2012 Abstract This thesis aims to improve the memory virtualization efficiency of the Fiasco.OC mi- crokernel on processors with the Intel VMX hardware-assisted virtualization architecture, which is plagued by severe performance degradation. After discussing possible approaches, this goal is accomplished by implementing support for Intel’s nested paging mechanism (EPT). Fiasco.OC’s memory management system is enhanced to allow a new kind of task whose address space is stored in the EPT page attribute format while staying compati- ble with the existing shared memory mapping interface through dynamic page attribute translation. This enhancement is complemented with support for tagged TLB entries (VPIDs), independently providing another minor performance increase. The kernel’s external virtualization API and the experimental userland VMM Karma are adapted to support these changes. The final implementation is evaluated and analyzed in the context of several benchmarks, achieving near-native performance on real-world workloads while only constituting a minor increase in complexity for the microkernel. Zusammenfassung Diese Arbeit zielt darauf ab die Speichervirtualisierungseffizienz des Fiasco.OC Mikro- kerns auf Prozessoren mit der hardwareunterstützten Virtualisierungsarchitektur Intel VMX zu verbessern, welche von schweren Performanzverlusten geplagt wird. Nach der Diskussion möglicher Lösungsansätze wird dieses Ziel mit der Unterstützung von Intels Mechanismus für verschachtelte Seitentabellen (EPT) umgesetzt.
    [Show full text]
  • Capsicum on Linux
    Capsicum on Linux David Drysdale 18 Aug 2014 Linux Security Summit Capsicum ● Pragmatic application ● of object-capability principles ● to UNIX ● and Linux in particular Google Confidential and Proprietary Capability-Based Security ● All object access needs a token: the capability ○ identifies the object ○ accompanying rights give allowed operations Google Confidential and Proprietary Capability-Based Security ● All object access needs a token: the capability ○ identifies the object ○ accompanying rights give allowed operations ● Avoid object naming & ambient authority ○ Prevent confused deputy attacks ○ Acquire capabilities ■ by inheritance ■ by creation (with subset of rights) ■ by passing Google Confidential and Proprietary Capability-Based Security ● All object access needs a token: the capability ○ identifies the object ○ accompanying rights give allowed operations ● Avoid object naming & ambient authority ○ Prevent confused deputy attacks ○ Acquire capabilities ■ by inheritance ■ by creation (with subset of rights) ■ by passing ● Note: completely different than POSIX.1e capabilities Google Confidential and Proprietary Capsicum Principles ● POSIX File Descriptor Behaviour Google Confidential and Proprietary Capsicum Principles ● POSIX File Descriptor Behaviour ● Hence Capsicum: ○ file descriptors as capabilities ○ with (new) fine-grained rights ■ policy co-located with code (ENOTCAPABLE) Google Confidential and Proprietary Capsicum Principles ● POSIX File Descriptor Behaviour ● Hence Capsicum: ○ file descriptors as capabilities ○
    [Show full text]