1,721,006 research outputs found
Friendly Fire: Cross-App Interactions in IoT Platforms
IoT platforms enable users to connect various smart devices and online services viareactive apps running on the cloud. These apps, often developed by third-parties, performsimple computations on data triggered by external information sources and actuate theresults of computation on external information sinks. Recent research shows that unin-tended or malicious interactions between the dierent (even benign) apps of a user cancause severe security and safety risks. These works leverage program analysis techniquesto build tools for unveiling unexpected interference across apps for specic use cases.We propose a calculus that models the behavioral semantics of a system of apps ex-ecuting concurrently, and use it to dene desirable semantic policies in the security andsafety context of IoT apps. To demonstrate the usefulness of our framework, we denestatic mechanisms for enforcing cross-app security and safety, and prove them sound withrespect to our semantic conditions. Finally, we leverage real-world apps to validate thepractical benets of our policy framework.QC 20200319</p
Friendly Fire: Cross-App Interactions in IoT Platforms
IoT platforms enable users to connect various smart devices and online services via reactive apps running onthe cloud. These apps, often developed by third-parties, perform simple computations on data triggered byexternal information sources and actuate the results of computations on external information sinks. Recentresearch shows that unintended or malicious interactions between the different (even benign) apps of a usercan cause severe security and safety risks. These works leverage program analysis techniques to build toolsfor unveiling unexpected interference across apps for specific use cases. Despite these initial efforts, we arestill lacking a semantic framework for understanding interactions between IoT apps. The question of whatsecurity policy cross-app interference embodies remains largely unexplored.This paper proposes a semantic framework capturing the essence of cross-app interactions in IoT platforms.The framework generalizes and connects syntactic enforcement mechanisms to bisimulation-based notionsof security, thus providing a baseline for formulating soundness criteria of these enforcement mechanisms.Specifically, we present a calculus that models the behavioral semantics of a system of apps executingconcurrently, and use it to define desirable semantic policies targeting the security and safety of IoT apps.To demonstrate the usefulness of our framework, we define and implement static analyses for enforcingcross-app security and safety, and prove them sound with respect to our semantic conditions. We also leveragereal-world apps to validate the practical benefits of our tools based on the proposed enforcement mechanisms.QC 20210105JointForceTrustFul
Securing Cross-App Interactions in IoT Platforms
IoT platforms enable users to connect various smart devices and online services via reactive apps running on the cloud. These apps, often developed by third-parties, perform simple computations on data triggered by external information sources and actuate the results of computation on external information sinks. Recent research shows that unintended or malicious interactions between the different (even benign) apps of a user can cause severe security and safety risks. These works leverage program analysis techniques to build tools for unveiling unexpected interference across apps for specific use cases. Despite these initial efforts, we are still lacking a semantic framework for understanding interactions between IoT apps. The question of what security policy cross-app interference embodies remains largely unexplored. This paper proposes a semantic framework capturing the essence of cross-app interactions in IoT platforms. The framework generalizes and connects syntactic enforcement mechanisms to bisimulation-based notions of security, thus providing a baseline for formulating soundness criteria of these enforcement mechanisms. Specifically, we present a calculus that models the behavioral semantics of a system of apps executing concurrently, and use it to define desirable semantic policies in the security and safety context of IoT apps. To demonstrate the usefulness of our framework, we define static mechanisms for enforcing crossapp security and safety, and prove them sound with respect to our semantic conditions. Finally, we leverage real-world apps to validate the practical benefits of our policy framework.QC 20190514Part of ISBN 9781728114064</p
A Logic for Information Flow Analysis of Distributed Programs
Securing communication in large scale distributed systems is an open problem. When multiple principals exchange sensitive information over a network, security and privacy issues arise immediately. For instance, in an online auction system we may want to ensure that no bidder knows the bids of any other bidder before the auction is closed. Such systems are typically interactive/reactive and communication is mostly asynchronous, lossy or unordered. Language-based security provides language mechanisms for enforcing end-to-end security. However, with few exceptions, previous research has mainly focused on relational or synchronous models, which are generally not suitable for distributed systems. This paper proposes a general knowledge-based account of possibilistic security from a language perspective and shows how existing trace-based conditions fit in. A syntactic characterization of these conditions, given by an epistemic temporal logic, shows that existing model checking tools can be used to enforce security.QC 20131219</p
Logics for Information Flow Security:From Specification to Verification
Software is becoming increasingly ubiquitous and today we find software running everywhere. There is software driving our favorite game application or inside the web portal we use to read the morning news, and when we book a vacation. Being so commonplace, software has become an easy target to compromise maliciously or at best to get it wrong. In fact, recent trends and highly-publicized attacks suggest that vulnerable software is at the root of many security attacks. Information flow security is the research field that studies methods and techniques to provide strong security guarantees against software security attacks and vulnerabilities. The goal of an information flow analysis is to rigorously check how sensitive information is used by the software application and ensure that this information does not escape the boundaries of the application, unless it is properly granted permission to do so by the security policy at hand. This process can be challenging asit first requires to determine what the applications security policy is and then to provide a mechanism to enforce that policy against the software application. In this thesis we address the problem of (information flow) policy specification and policy enforcement by leveraging formal methods, in particular logics and language-based analysis and verification techniques. The thesis contributes to the state of the art of information flow security in several directions, both theoretical and practical. On the policy specification side, we provide a framework to reason about information flow security conditions using the notion of knowledge. This is accompanied by logics that can be used to express the security policies precisely in a syntactical manner. Also, we study the interplay between confidentiality and integrity to enforce security in presence of active attacks. On the verification side, we provide several symbolic algorithms to effectively check whether an application adheres to the associated security policy. To achieve this, we propose techniques based on symbolic execution and first-order reasoning (SMT solving) to first extract a model of the target application and then verify it against the policy. On the practical side, we provide tool support by automating our techniques and thereby making it possible to verify programs written in Java or ARM machine code. Besides the expected limitations, our case studies show that the tools can be used to verify the security of several realistic scenarios. More specifically, the thesis consists of two parts and six chapters. We start with an introduction giving an overview of the research problems and the results of the thesis. Then we move to the specification part which relies on knowledge-based reasoning and epistemic logics to specify state-based and trace-based information flow conditions and on the weakest precondition calculus to certify security in presence of active attacks. The second part of the thesis addresses the problem of verification of the security policies introduced in the first part. We use symbolic execution and SMT solving techniques to enable model checking of the security properties. In particular, we implement a tool that verifies noninterference and declassification policies for Java programs. Finally, we conclude with relational verification of low level code, which is also supported by a tool.QC 20140908</p
A Logic for Information Flow Analysis of Distributed Programs [Elektronisk resurs] : (Extended Abstract)
Securing communication in large scale distributed systems is an open problem. When multiple principals exchange sensitive information over a network, security and privacy issues arise immediately. For instance, in an online auction system we may want to ensure that no bidder knows the bids of any other bidder before the auction is closed. Such systems are typically interactive/reactive and communication is mostly asynchronous, lossy or unordered. Language-based security provides language mechanisms for enforcing end-to-end security. However, with few exceptions, previous research has mainly focused on relational or synchronous models, which are generally not suitable for distributed systems.This paper proposes a general knowledge-based account of possibilistic security from a language perspective and shows how existing trace-based conditions fit in. A syntactic characterization of these conditions, given by an epistemic temporal logic, shows that existing model checking tools can be used to enforce security.</p
A Logic for Information Flow Analysis of Distributed Programs : (Extended Abstract)
Securing communication in large scale distributed systems is an open problem. When multiple principals exchange sensitive information over a network, security and privacy issues arise immediately. For instance, in an online auction system we may want to ensure that no bidder knows the bids of any other bidder before the auction is closed. Such systems are typically interactive/reactive and communication is mostly asynchronous, lossy or unordered. Language-based security provides language mechanisms for enforcing end-to-end security. However, with few exceptions, previous research has mainly focused on relational or synchronous models, which are generally not suitable for distributed systems. This paper proposes a general knowledge-based account of possibilistic security from a language perspective and shows how existing trace-based conditions fit in. A syntactic characterization of these conditions, given by an epistemic temporal logic, shows that existing model checking tools can be used to enforce security.QC 20130710</p
Dynamic Policies Revisited
Information flow control and dynamic policies is a difficult relationship yet to be fully understood. While dynamic policies are a natural choice in many real-world applications that downgrade and upgrade the sensitivity of information, understanding the meaning of security in this setting is challenging. In this paper we revisit the knowledge-based security conditions to reinstate a simple and intuitive security condition for dynamic policies: A program is secure if at any point during the execution the attacker's knowledge is in accordance with the active security policy at that execution point. Our key observation is the new notion of policy consistency to prevent policy changes whenever an attacker is already in possession of the information that the new policy intends to protect. We use this notion to study a range of realistic attackers including the perfect recall attacker, bounded attackers, and forgetful attackers, and their relationship. Importantly, our new security condition provides a clean connection between the dynamic policy and the underlying attacker model independently of the specific use case. We illustrate this by considering the different facets of dynamic policies in our framework. On the verification side, we design and implement DynCoVer, a tool for checking dynamic information-flow policies for Java programs via symbolic execution and SMT solving. Our verification operates by first extracting a graph of program dependencies and then visiting the graph to check dynamic policies for a range of attackers. We evaluate the effectiveness and efficiency of DyncoVeron a benchmark of use cases from the literature and designed by ourselves, as well as the case study of a social network. The results show that DynCoVer can analyze small but intricate programs indicating that it can help verify security-critical parts of Java applications. We release Dyncover publicly to support open science and encourage researchers to explore the topic further.QC 20220927Part of proceedings: ISBN 978-166541614-6JointForceInferVizTrustFul
Going Beyond Counting First Authors in Author Co-citation Analysis
The present study examines one of the fundamental aspects of author co-citation analysis (ACA) - the way co-citation
counts are defined. Co-citation counting provides the data on which all subsequent statistical analyses and mappings
are based, and we compare ACA results based on two different types of co-citation counting - the traditional type that
only counts the first one among a cited work's authors on the one hand and a non-traditional type that takes into
account the first 5 authors of a cited work on the other hand. Results indicate that the picture produced through this non-traditional author co-citation counting contains more coherent author groups and is therefore considerably clearer. However, this picture represents fewer specialties in the research field being studied than that produced through the traditional first-author co-citation counting when the same number of top-ranked authors is selected and analyzed. Reasons for these effects are discussed
- …
