518 research outputs found

    Enforcing security policies with runtime monitors

    Get PDF
    Le monitorage (monitoring) est une approche pour la sĂ©curisation du code qui permet l'exĂ©cution d’un code potentiellement malicieux en observant son exĂ©cution, et en intervenant au besoin pour Ă©viter une violation d’une politique de sĂ©curitĂ©. Cette mĂ©thode a plusieurs applications prometteuses, notamment en ce qui a trait Ă  la sĂ©curisation du code mobile. Les recherches acadĂ©miques sur le monitorage se sont gĂ©nĂ©ralement concentrĂ©es sur deux questions. La premiĂšre est celle de dĂ©limiter le champ des politiques de sĂ©curitĂ© applicables par des moniteurs opĂ©rant sous diffĂ©rentes contraintes. La seconde question est de construire des mĂ©thodes permettant d’insĂ©rer un moniteur dans un programme, ce qui produit un nouveau programme instrumentĂ© qui respecte la politique de sĂ©curitĂ© appliquĂ©e par ce moniteur. Mais malgrĂ© le fait qu’une vaste gamme de moniteurs a Ă©tĂ© Ă©tudiĂ©e dans la littĂ©rature, les travaux sur l’insertion des moniteurs dans les programmes se sont limitĂ©s Ă  une classe particuliĂšre de moniteurs, qui sont parmi les plus simples et les plus restreint quant Ă  leur champ de politiques applicables. Cette thĂšse Ă©tend les deux avenues de recherches mentionnĂ©es prĂ©cĂ©demment et apporte un Ă©clairage nouveau Ă  ces questions. Elle s’attarde en premier lieu Ă  Ă©tendre le champ des politiques applicables par monitorage en dĂ©veloppabt une nouvelle approche pour l’insertion d’un moniteur dans un programme. En donnant au moniteur accĂšs Ă  un modĂšle du comportement du programme, l’étude montre que le moniteur acquiert la capacitĂ© d’appliquer une plus vaste gamme de politiques de sĂ©curitĂ©. De plus, les recherches ont aussi dÂŽemontrĂ© qu’un moniteur capable de transformer l’exĂ©cution qu’il surveille est plus puissant qu’un moniteur qui ne possĂšde pas cette capacitĂ©. Naturellement, des contraintes doivent ĂȘtre imposĂ©es sur cette capacitĂ© pour que l’application de la politique soit cohĂ©rente. Autrement, si aucune restriction n’est imposĂ©e au moniteur, n’importe quelle politique devient applicable, mais non d’une maniĂšre utile ou dĂ©sirable. Dans cette Ă©tude, nous proposons deux nouveaux paradigmes d’application des politiques de sĂ©curitĂ© qui permettent d’incorporer des restrictions raisonnables imposĂ©es sur la capacitĂ© des moniteurs de transformer les exĂ©cutions sous leur contrĂŽle. Nous Ă©tudions le champ des politiques applicables avec ces paradigmes et donnons des exemples de politiques rĂ©elles qui peuvent ĂȘtre appliquĂ©es Ă  l’aide de notre approche.Execution monitoring is an approach that seeks to allow an untrusted code to run safely by observing its execution and reacting if need be to prevent a potential violation of a user-supplied security policy. This method has many promising applications, particularly with respect to the safe execution of mobile code. Academic research on monitoring has generally focused on two questions. The first, relates to the set of policies that can be enforced by monitors under various constraints and the conditions under which this set can be extended. The second question deals with the way to inline a monitor into an untrusted or potentially malicious program in order to produce a new instrumented program that provably respects the desired security policy. This study builds on the two strands of research mentioned above and brings new insights to this study. It seeks, in the first place, to increase the scope of monitorable properties by suggesting a new approach of monitor inlining. By drawing on an a priori model of the program’s possible behavior, we develop a monitor that can enforce a strictly larger set of security properties. Furthermore, longstanding research has showed that a monitor that is allowed to transform its input is more powerful than one lacking this ability. Naturally, this ability must be constrained for the enforcement to be meaningful. Otherwise, if the monitor is given too broad a leeway to transform valid and invalid sequences, any property can be enforced, but not in a way that is useful or desirable. In this study, we propose two new enforcement paradigms which capture reasonable restrictions on a monitor’s ability to alter its input. We study the set of properties enforceable if these enforcement paradigms are used and give examples of real-life security policies that can be enforced using our approach

    Retrofitting privacy controls to stock Android

    Get PDF
    Android ist nicht nur das beliebteste Betriebssystem fĂŒr mobile EndgerĂ€te, sondern auch ein ein attraktives Ziel fĂŒr Angreifer. Um diesen zu begegnen, nutzt Androids Sicherheitskonzept App-Isolation und Zugangskontrolle zu kritischen Systemressourcen. Nutzer haben dabei aber nur wenige Optionen, App-Berechtigungen gemĂ€ĂŸ ihrer BedĂŒrfnisse einzuschrĂ€nken, sondern die Entwickler entscheiden ĂŒber zu gewĂ€hrende Berechtigungen. Androids Sicherheitsmodell kann zudem nicht durch Dritte angepasst werden, so dass Nutzer zum Schutz ihrer PrivatsphĂ€re auf die GerĂ€tehersteller angewiesen sind. Diese Dissertation prĂ€sentiert einen Ansatz, Android mit umfassenden PrivatsphĂ€reeinstellungen nachzurĂŒsten. Dabei geht es konkret um Techniken, die ohne Modifikationen des Betriebssystems oder Zugriff auf Root-Rechte auf regulĂ€ren Android-GerĂ€ten eingesetzt werden können. Der erste Teil dieser Arbeit etabliert Techniken zur Durchsetzung von Sicherheitsrichtlinien fĂŒr Apps mithilfe von inlined reference monitors. Dieser Ansatz wird durch eine neue Technik fĂŒr dynamic method hook injection in Androids Java VM erweitert. Schließlich wird ein System eingefĂŒhrt, das prozessbasierte privilege separation nutzt, um eine virtualisierte App-Umgebung zu schaffen, um auch komplexe Sicherheitsrichtlinien durchzusetzen. Eine systematische Evaluation unseres Ansatzes konnte seine praktische Anwendbarkeit nachweisen und mehr als eine Million Downloads unserer Lösung zeigen den Bedarf an praxisgerechten Werkzeugen zum Schutz der PrivatsphĂ€re.Android is the most popular operating system for mobile devices, making it a prime target for attackers. To counter these, Android’s security concept uses app isolation and access control to critical system resources. However, Android gives users only limited options to restrict app permissions according to their privacy preferences but instead lets developers dictate the permissions users must grant. Moreover, Android’s security model is not designed to be customizable by third-party developers, forcing users to rely on device manufacturers to address their privacy concerns. This thesis presents a line of work that retrofits comprehensive privacy controls to the Android OS to put the user back in charge of their device. It focuses on developing techniques that can be deployed to stock Android devices without firmware modifications or root privileges. The first part of this dissertation establishes fundamental policy enforcement on thirdparty apps using inlined reference monitors to enhance Android’s permission system. This approach is then refined by introducing a novel technique for dynamic method hook injection on Android’s Java VM. Finally, we present a system that leverages process-based privilege separation to provide a virtualized application environment that supports the enforcement of complex security policies. A systematic evaluation of our approach demonstrates its practical applicability, and over one million downloads of our solution confirm user demand for privacy-enhancing tools

    AppGuard — fine-grained policy enforcement for untrusted android applications

    Get PDF
    Android’s success makes it a prominent target for malicious software. However, the user has very limited control over security-relevant operations. This work presents AppGuard, a powerful and flexible security system that overcomes these deficiencies. It enforces user-defined security policies on untrusted Android applications without requiring any changes to a smartphone’s firmware, root access, or the like. Finegrained and stateful security policies are expressed in a formal specification language, which also supports secrecy requirements. Our system offers complete mediation of security-relevant methods based on calleesite inline reference monitoring and supports widespread deployment. In the experimental analysis we demonstrate the removal of permissions for overly curious apps as well as how to defend against several recent real-world attacks on Android phones. Our technique exhibits very little space and runtime overhead. The utility of AppGuard has already been demonstrated by more than 1,000,000 downloads

    Formal Enforcement of Security Policies : An Algebraic Approach

    Get PDF
    La sĂ©curitĂ© des systĂšmes d’information est l’une des prĂ©occupations les plus importantes du domaine de la science informatique d’aujourd’hui. Les particuliers et les entreprises sont de plus en plus touchĂ©s par des failles de sĂ©curitĂ© et des milliards de dollars ont Ă©tĂ© perdus en raison de cyberattaques. Cette thĂšse prĂ©sente une approche formelle basĂ©e sur la rĂ©Ă©criture de programmes permettant d’appliquer automatiquement des politiques de sĂ©curitĂ© sur des programmes non sĂ©curitaires. Pour un programme P et une politique de sĂ©curitĂ© Q, nous gĂ©nĂ©rons un autre programme P’ qui respecte une politique de sĂ©curitĂ© Q et qui se comporte comme P, sauf si la politique est sur le point d’ĂȘtre violĂ©e. L’approche prĂ©sentĂ©e utilise l’algĂšbre [symbol] qui est une variante de [symbol] (Basic Process Algebra) Ă©tendue avec des variables, des environnements et des conditions pour formaliser et rĂ©soudre le problĂšme. Le problĂšme de trouver la version sĂ©curitaire P’ Ă  partir de P et de Q se transforme en un problĂšme de rĂ©solution d’un systĂšme linĂ©aire pour lequel nous savons dĂ©jĂ  comment extraire la solution par un algorithme polynomial. Cette thĂšse prĂ©sente progressivement notre approche en montrant comment la solution Ă©volue lorsqu’on passe de l’algĂšbre de [symbol] Ă  [symbol].The security of information systems is one of the most important preoccupations of today’s computer science field. Individuals and companies are more and more affected by security flaws and billions of dollars have been lost because of cyber-attacks. This thesis introduces a formal program-rewriting approach that can automatically enforce security policies on non-trusted programs. For a program P and a security policy Q, we generate another program P’ that respects the security policy Q and behaves like P except when the enforced security policy is about to be violated. The presented approach uses the [symbol] algebra that is a variant of the BPA (Basic Process Algebra) algebra extended with variables, environments and conditions to formalize and resolve the problem. The problem of computing the expected enforced program [symbol] is transformed to a problem of resolving a linear system for which we already know how to extract the solution by a polynomial algorithm. This thesis presents our approach progressively and shows how the solution evolves when we move from the [symbol] algebra to the [symbol] algebra

    On the Security of Software Systems and Services

    Get PDF
    This work investigates new methods for facing the security issues and threats arising from the composition of software. This task has been carried out through the formal modelling of both the software composition scenarios and the security properties, i.e., policies, to be guaranteed. Our research moves across three different modalities of software composition which are of main interest for some of the most sensitive aspects of the modern information society. They are mobile applications, trust-based composition and service orchestration. Mobile applications are programs designed for being deployable on remote platforms. Basically, they are the main channel for the distribution and commercialisation of software for mobile devices, e.g., smart phones and tablets. Here we study the security threats that affect the application providers and the hosting platforms. In particular, we present a programming framework for the development of applications with a static and dynamic security support. Also, we implemented an enforcement mechanism for applying fine-grained security controls on the execution of possibly malicious applications. In addition to security, trust represents a pragmatic and intuitive way for managing the interactions among systems. Currently, trust is one of the main factors that human beings keep into account when deciding whether to accept a transaction or not. In our work we investigate the possibility of defining a fully integrated environment for security policies and trust including a runtime monitor. Finally, Service-Oriented Computing (SOC) is the leading technology for business applications distributed over a network. The security issues related to the service networks are many and multi-faceted. We mainly deal with the static verification of secure composition plans of web services. Moreover, we introduce the synthesis of dynamic security checks for protecting the services against illegal invocations

    CEEME: compensating events based execution monitoring enforcement for Cyber-Physical Systems

    Get PDF
    Fundamentally, inherently observable events in Cyber-Physical Systems with tight coupling between cyber and physical components can result in a confidentiality violation. By observing how the physical elements react to cyber commands, adversaries can identify critical links in the system and force the cyber control algorithm to make erroneous decisions. Thus, there is a propensity for a breach in confidentiality leading to further attacks on availability or integrity. Due to the highly integrated nature of Cyber-Physical Systems, it is also extremely difficult to map the system semantics into a security framework under existing security models. The far-reaching objective of this research is to develop a science of selfobfuscating systems based on the composition of simple building blocks. A model of Nondeducibility composes the building blocks under Information Flow Security Properties. To this end, this work presents fundamental theories on external observability for basic regular networks and the novel concept of event compensation that can enforce Information Flow Security Properties at runtime --Abstract, page iii

    Predictive runtime enforcement

    Get PDF
    International audienceRuntime enforcement (RE) is a technique to ensure that the (untrustworthy) output of a black-box system satisfies some desired properties. In RE, the output of the running system, modeled as a sequence of events, is fed into an enforcer. The enforcer ensures that the sequence complies with a certain property, by delaying or modifying events if necessary. This paper deals with predictive runtime enforcement, where the system is not entirely black-box, but we know something about its behavior. This a priori knowledge about the system allows to output some events immediately, instead of delaying them until more events are observed, or even blocking them permanently. This in turn results in better enforcement policies. We also show that if we have no knowledge about the system, then the proposed enforcement mechanism reduces to standard (non-predictive) runtime enforcement. All our results related to predictive RE of untimed properties are also formalized and proved in the Isabelle theorem prover. We also discuss how our predictive runtime enforcement framework can be extended to enforce timed properties

    Formal Approaches to Control System Security From Static Analysis to Runtime Enforcement

    Get PDF
    With the advent of Industry 4.0, industrial facilities and critical infrastructures are transforming into an ecosystem of heterogeneous physical and cyber components, such as programmable logic controllers, increasingly interconnected and therefore exposed to cyber-physical attacks, i.e., security breaches in cyberspace that may adversely affect the physical processes underlying industrial control systems. The main contributions of this thesis follow two research strands that address the security concerns of industrial control systems via formal methodologies. As our first contribution, we propose a formal approach based on model checking and statistical model checking, within the MODEST TOOLSET, to analyse the impact of attacks targeting nontrivial control systems equipped with an intrusion detection system (IDS) capable of detecting and mitigating attacks. Our goal is to evaluate the impact of cyber-physical attacks, i.e., attacks targeting sensors and/or actuators of the system with potential consequences on the safety of the inner physical process. Our security analysis estimates both the physical impact of the attacks and the performance of the IDS. As our second contribution, we propose a formal approach based on runtime enforcement to ensure specification compliance in networks of controllers, possibly compromised by colluding malware that may tamper with actuator commands, sensor readings, and inter-controller communications. Our approach relies on an ad-hoc sub-class of Ligatti et al.’s edit automata to enforce controllers represented in Hennessy and Regan’s Timed Process Language. We define a synthesis algorithm that, given an alphabet P of observable actions and a timed correctness property e, returns a monitor that enforces the property e during the execution of any (potentially corrupted) controller with alphabet P, and complying with the property e. Our monitors correct and suppress incorrect actions coming from corrupted controllers and emit actions in full autonomy when the controller under scrutiny is not able to do so in a correct manner. Besides classical requirements, such as transparency and soundness, the proposed enforcement enjoys deadlock- and diverge-freedom of monitored controllers, together with compositionality when dealing with networks of controllers. Finally, we test the proposed enforcement mechanism on a non-trivial case study, taken from the context of industrial water treatment systems, in which the controllers are injected with different malware with different malicious goals
    • 

    corecore