189 research outputs found
Foundations and Practice of Security : 10th International Symposium, FPS 2017, Nancy, France, October 23-25, 2017, revised selected papers
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
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
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
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
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
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
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
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
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
- …