189 research outputs found

    Foundations and Practice of Security : 10th International Symposium, FPS 2017, Nancy, France, October 23-25, 2017, revised selected papers

    No full text
    International audienceThis book constitutes revised selected papers from the 10th International Symposium on Foundations and Practice of Security, FPS 2017, held in Nancy, France in October 2017. The 20 papers presented in this volume were carefully reviewed and selected from 53 submissions. The papers were organized in topical sections named: access control; formal verification; privacy; physical security; network security, encrypted DBs and blockchain; vulnerability analysis and deception systems; and defence against attacks and anonymit

    Machine learning approaches for enhancing smart contracts security: A systematic literature review

    Get PDF
    Smart contracts offer automation for various decentralized applications but suffer from vulnerabilities that cause financial losses. Detecting vulnerabilities is critical to safeguarding decentralized applications before deployment. Automatic detection is more efficient than manual auditing of large codebases. Machine learning (ML) has emerged as a suitable technique for vulnerability detection. However, a systematic literature review (SLR) of ML models is lacking, making it difficult to identify research gaps. No published systematic review exists for ML approaches to smart contract vulnerability detection. This research focuses on ML-driven detection mechanisms from various databases. 46 studies were selected and reviewed based on keywords. The contributions address three research questions: vulnerability identification, machine learning model approaches, and data sources. In addition to highlighting gaps that require further investigation, the drawbacks of machine learning are discussed. This study lays the groundwork for improving ML solutions by mapping technical challenges and future directions

    Mining app reviews to support software engineering

    Get PDF
    The thesis studies how mining app reviews can support software engineering. App reviews —short user reviews of an app in app stores— provide a potentially rich source of information to help software development teams maintain and evolve their products. Exploiting this information is however difficult due to the large number of reviews and the difficulty in extracting useful actionable information from short informal texts. A variety of app review mining techniques have been proposed to classify reviews and to extract information such as feature requests, bug descriptions, and user sentiments but the usefulness of these techniques in practice is still unknown. Research in this area has grown rapidly, resulting in a large number of scientific publications (at least 182 between 2010 and 2020) but nearly no independent evaluation and description of how diverse techniques fit together to support specific software engineering tasks have been performed so far. The thesis presents a series of contributions to address these limitations. We first report the findings of a systematic literature review in app review mining exposing the breadth and limitations of research in this area. Using findings from the literature review, we then present a reference model that relates features of app review mining tools to specific software engineering tasks supporting requirements engineering, software maintenance and evolution. We then present two additional contributions extending previous evaluations of app review mining techniques. We present a novel independent evaluation of opinion mining techniques using an annotated dataset created for our experiment. Our evaluation finds lower effectiveness than initially reported by the techniques authors. A final part of the thesis, evaluates approaches in searching for app reviews pertinent to a particular feature. The findings show a general purpose search technique is more effective than the state-of-the-art purpose-built app review mining techniques; and suggest their usefulness for requirements elicitation. Overall, the thesis contributes to improving the empirical evaluation of app review mining techniques and their application in software engineering practice. Researchers and developers of future app mining tools will benefit from the novel reference model, detailed experiments designs, and publicly available datasets presented in the thesis

    Uncertainty in runtime verification : a survey

    Get PDF
    Runtime Verification can be defined as a collection of formal methods for studying the dynamic evaluation of execution traces against formal specifications. Aside from creating a monitor from specifications and building algorithms for the evaluation of the trace, the process of gathering events and making them available for the monitor and the communication between the system under analysis and the monitor are critical and important steps in the runtime verification process. In many situations and for a variety of reasons, the event trace could be incomplete or could contain imprecise events. When a missing or ambiguous event is detected, the monitor may be unable to deliver a sound verdict. In this survey, we review the literature dealing with the problem of monitoring with incomplete traces. We list the different causes of uncertainty that have been identified, and analyze their effect on the monitoring process. We identify and compare the different methods that have been proposed to perform monitoring on such traces, highlighting the advantages and drawbacks of each method

    Post-Quantum Authenticated Encryption against Chosen-Ciphertext Side-Channel Attacks

    Get PDF
    Over the last years, the side-channel analysis of Post-Quantum Cryptography (PQC) candidates in the NIST standardization initiative has received increased attention. In particular, it has been shown that some post-quantum Key Encapsulation Mechanisms (KEMs) are vulnerable to Chosen-Ciphertext Side-Channel Attacks (CC-SCA). These powerful attacks target the re-encryption step in the Fujisaki-Okamoto (FO) transform, which is commonly used to achieve CCA security in such schemes. To sufficiently protect PQC KEMs on embedded devices against such a powerful CC-SCA, masking at increasingly higher order is required, which induces a considerable overhead. In this work, we propose to use a conceptually simple construction, the ΕtS KEM, that alleviates the impact of CC-SCA. It uses the Encrypt-then-Sign (EtS) paradigm introduced by Zheng at ISW ’97 and further analyzed by An, Dodis and Rabin at EUROCRYPT ’02, and instantiates a postquantum authenticated KEM in the outsider-security model. While the construction is generic, we apply it to the CRYSTALS-Kyber KEM, relying on the CRYSTALSDilithium and Falcon signature schemes. We show that a CC-SCA-protected EtS KEM version of CRYSTALS-Kyber requires less than 10% of the cycles required for the CC-SCA-protected FO-based KEM, at the cost of additional data/communication overhead. We additionally show that the cost of protecting the EtS KEM against fault injection attacks, necessarily due to the added signature verification, remains negligible compared to the large cost of masking the FO transform at higher orders. Lastly, we discuss relevant embedded use cases for our EtS KEM construction

    Enforcing information-flow policies by combining static and dynamic analyses

    Get PDF
    Tableau d'honneur de la Faculté des études supérieures et postdoctorales, 2018-2019Le contrôle de flot d’information est une approche prometteuse permettant aux utilisateurs decontrôler comment une application utilise leurs informations confidentielles. Il reste toutefois plusieurs défis à relever avant que cette approche ne puisse être utilisée par le grand public. Plus spécifiquement, il faut que ce soit efficace, facile à utiliser, que ça introduise peu de surcharge à l’exécution, et que ça fonctionne sur des applications et langages réels. Les contributions présentées dans cette thèse nous rapprochent de ces buts. Nous montrons qu’une combinaison d’analyse statique et dynamique permet d’augmenter l’efficacité d’un mécanisme de contrôle de flot d’information tout en minimisant la surcharge introduite. Notre méthode consiste en trois étapes : (1) à l’aide d’analyse statique, vérifier que le programme ne contient pas de fuites d’information évidentes; (2) instrumenter l’application (c.-à-d., insérer des commandes) pour prévenir les fuites d’information confidentielles à l’exécution; (3) évaluer partiellement le programme pour diminuer l’impact de l’instrumentation sur le temps d’exécution. Pour aider les utilisateurs à identifier les applications qui sont les plus susceptibles de faire fuirde l’information confidentielle (c.à.d., les applications malicieuses), nous avons développé un outil de détection de maliciel pour Android. Il a une précision de 94% et prend moins d’une seconde pour effectuer son analyse.Pour permettre aux utilisateurs de prioriser l’utilisation de ressources pour protéger l’information provenant de certaines sources, nous introduisons le concept defading labels. Pour permettre aux chercheurs de développer plus facilement et rapidement des mécanismes de contrôle de flot d’informations fiables, nous avons développé un outil permettant de générer automatiquement la spécification d’un mécanisme à partir de la spécification d’un langage de programmation. Pour permettre aux chercheurs de plus facilement communiquer leurs preuves écrites en Coq, nous avons développé un outil permettant de générer des versions en langue naturelle de preuves Coq.Information-flow control is a promising approach that enables users to track and control how applications use their sensitive information. However, there are still many challenges to be addressed before it can be used by mainstream users. Namely, it needs to be effective, easy to use, lightweight, and support real applications and languages. The contributions presented in this thesis aim to bring us closer to these goals. We show that a combination of static and dynamic analysis can increase the overall effectiveness of information-flow control without introducing too much overhead. Our method consists of three steps: (1) using static analysis, we verify that the program does not contain anyobvious information leaks; (2) we instrument the program to prevent less obvious leaks from occurring at runtime; (3) we partially evaluate the program to minimize the instrumentation’simpact on execution time. We present a static-based malware detection tool for Android that allows users to easily identify the applications that are most likely to leak sensitive information (i.e., maliciousapplications). It boasts an accuracy of 94% and takes less than a second to perform its analysis. We introduce the concept of fading-labels, which allows information-flow control mechanisms to prioritize the usage of resources to track information from certain sources. We present a tool that can, given a programming language’s specification, generate information-flow control mechanism specifications. This should allow researchers to more easily develop information-flow control mechanisms. Finally, we present a tool that can generate natural-language versions of Coq proofs so that researchers may more easily communicate their Coq proofs

    Analysis of web3 solution development principles

    Get PDF
    In the master's thesis, we researched the principles of Web3 solution development. We studied the blockchain and blockchain-related technology, development of the Web including all versions of the Web and the differences between them. We presented the popular technologies for Web3 development and the most common Web3 solutions with examples. With help of systematic literature review we explored the state-of-art technologies for Web3 solution development and proposed a full-stack for Web3. In the final part we implemented a proof-of-concept Ethereum decentralized application and compared it with equivalent concept of Web2 application. We proposed future work of researching other popular blockchain protocols like Solana or Polygon

    Format and Order Revealing Encryption

    Get PDF
    As more and more cloud services emerge so does the need for new methods for securing the data these services consume, especially since data leaks have become the norm rather than the exception. Since most cloud services require some kind of access to our private data in order to perform searches and provide services, new ways of securing our data in the cloud is needed. This dissertation examines the current state of the cryptographic world in order to try to and understand and resume what solutions currently exist for this particular type of problem. This work is motivated by a particular problem of data delegation to a cloud infrastructure. This problem involves the protection of sensitive data whilst it’s analysed by a third party. While there is no simple approach to solve this particular problem, this dissertation discusses three main approaches to tackle this problem. One approach attempts to define a new cryptographic scheme with a leakage profile that would allow a third party to only have access to some information of the plaintext but, at the same time, keep the plaintext safe from attackers. Another approach attempts to use already existing cryptographic schemes, such as, Format Preserving Encryption and Order Revealing Encryption to solve this particular problem. A final approach tries to solve this problem by utilising cryptographic tools, such as hash-functions and hash-based message authentication codes. An extended study was also conducted in many cryptographic schemes, both current and old cryptographic schemes. This study allowed for a better view of the cryptographic world and how these schemes could help us achieve a solution. For this dissertation, a prototype was also implemented of some recent cryptographic schemes. These prototype implementations allowed for a deeper understanding of how these schemes work and also allowed us to conduct some experiments while trying to combine two cryptographic schemes. The results of this dissertation show that that trying to solve a problem via creating a new cryptographic scheme is not an easy feat especially when one wants to define correctly the strict security requirements and also the work needed to understand the mathematical workings of similar schemes. Lastly we conclude that solving the problem with the help of already existing tools may be the easiest solution, but, it may also only work for a specific scenario and hence is of no use in other similar situations. A solution to the particular problem studied in this thesis is also presented at the end of this dissertation, although, it only applies to this specific problem and does not solve the more general problem of privacy of data delegation to the cloud.Com a explosão de serviços baseados na nuvem que ocorre nos dias de hoje, torna-se imperativo que os dados que são consumidos por este tipo de serviços sejam de alguma forma protegidos contra ataques ou roubos[Cen18]. O principal problema com este tipo de serviços é que, normalmente, estes serviços precisam de acesso aos dados para conseguirem fazer pesquisas e correlacionar dados de forma a que seja possível fornecer diversos serviços. Esta dissertação tem como objetivo estudar o mundo da criptografia de forma a perceber que tipo de garantias são oferecidas pelos esquemas criptográficos existentes nos dias de hoje para serviços baseados na nuvem. Este trabalho é motivado por um problema real de delegação de dados para a nuvem. Este problema envolve a proteção de dados sensíveis que precisam de ser analisados por entidades externas. Embora não haja uma abordagem simples para resolver este tipo de problemas, nesta dissertação iremos discutir três abordagens que, potencialmente, poderão resolver este problema. Uma abordagem tenta definir o que poderia ser a estrutura geral de um novo esquema criptográfico que pudesse lidar com o problema específico em análise. Numa outra abordagem iremos utilizar ferramentas existentes para tentar resolver o problema em questão. Iremos também tentar unir dois esquemas criptográficos existentes, de forma a tentar combater este problema em específico. Foi também realizado um estudo a vários esquemas criptográficos de forma a perceber quais as soluções que existem hoje em dia para problemas relacionados com a delegação de dados para entidades externas, como também, tentar perceber que esquemas criptográficos que ainda são resultados meramente teóricos mas que possam vir, no futuro, a ser úteis para combater esta problemática. Os resultados desta dissertação mostram que resolver um problema relacionado com criptografia nem sempre é fácil, uma vez que, a má utilização destes esquemas poderá levar a uma falha grave de segurança. Por fim, concluímos que, resolver um problema desta natureza através de ferramentas existentes é bastante mais fácil do que tentar desenvolver esquemas criptográficos novos, mas que irá perder o poder de poder ser aplicado a outros problemas semelhantes

    Machine-Checked Formalisation and Verification of Cryptographic Protocols

    Get PDF
    PhD ThesisAiming for strong security assurance, researchers in academia and industry focus their interest on formal verification of cryptographic constructions. Automatising formal verification has proved itself to be a very difficult task, where the main challenge is to support generic constructions and theorems, and to carry out the mathematical proofs. This work focuses on machine-checked formalisation and automatic verification of cryptographic protocols. One aspect we covered is the novel support for generic schemes and real-world constructions among old and novel protocols: key exchange schemes (Simple Password Exponential Key Exchange, SPEKE), commitment schemes (with the popular Pedersen scheme), sigma protocols (with the Schnorr’s zero-knowledge proof of knowledge protocol), and searchable encryption protocols (Sophos). We also investigated aspects related to the reasoning of simulation based proofs, where indistinguishability of two different algorithms by any adversary is the crucial point to prove privacy-related properties. We embedded information-flow techniques into the EasyCrypt core language, then we show that our effort not only makes some proofs easier and (sometimes) fewer, but is also more powerful than other existing techniques in particular situations
    • …
    corecore