EDBT 2026 Demo / reviewers in the wild / expert
Riccardo Focardi
dblp:f/RiccardoFocardi
· DBLP profile ↗
73ranked-venue papers
25as first author
10since 2021 · last 2026
0000-0003-0101-0692ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Security and privacy · 44 · 15 first-author · 6 since 2021Software engineering, systems software and programming languages · 15 · 4 first-author · 1 since 2021Theory of computation · 10 · 6 first-authorSystems, architecture and hardware · 2 · 1 since 2021Databases, data management, data science and information retrieval · 2 · 1 first-author · 1 since 2021Computer networks · 1 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | A Formally Verified Secure Caching Mechanism on TrustZone-enabled MicrocontrollersabstractTrusted Execution Environments (TEEs) on resource-constrained microcontrollers are an emerging area of interest, yet they present unique security challenges, particularly in managing encrypted code execution through limited secure memory. This paper presents a formal verification approach for Umbra, a TEE framework for ARM TrustZone-M, currently under development, that implements secure caching mechanisms to execute encrypted enclaves from flash memory. We employ model checking techniques to formally analyze critical security properties, including data isolation between secure and non-secure worlds, integrity of the Enclave Flash Block Cache (EFBC), and resilience against identified threats such as Direct Memory Access (DMA) handover attacks and timing-based side channels. Our threat model considers privileged attackers in the non-secure world and compromised host operating systems, analyzing vulnerabilities in DMA reconfiguration windows and context switch dependencies. Through formal modeling, we identify replay and timing side-channel attacks; by introducing countermeasures, these guarantees are restored in the model. Salvatore Bramante, Matteo Busi 0001, Alessandro Cilardo, Riccardo Focardi, Flaminia L. Luccio, Stefano Mercogliano |
DATE | 4 |
| 2025 | EUAS-GAN: Enhancing User Authentication on Smartphones Through GAN-Based Swiping Data Augmentation
Attaullah Buriro, Flaminia L. Luccio, Riccardo Focardi |
AINA (3) | 3 |
| 2025 | Z-MDZS: Zero-day Malware Detection using Zero-Shot Machine Learning SchemesabstractZero-day malware is a serious cybersecurity concern since it can evade detection techniques using trained and expert systems. In this paper, we propose Z-MDZS - a scheme to effectively identify zero-day malware using a zero-shot1 machine learning approach. Our objective is to detect previously unseen malware based on its properties and relationships to known malware variants, by applying zero-shot learning methods. We evaluate the effectiveness of Z-MDZS, using different machine learning methods, including Random Forest, Deep Neural Networks, and Convolutional Neural Networks. Our results demonstrate that even with smaller feature sets, the zero-shot ML strategy yields solid results, particularly when Random Forest is used as the classifier. Furthermore, we discovered that balancing class samples using Generative Adversarial Network greatly increases classifier accuracy. highlighting its signnificance. Attaullah Buriro, Flaminia L. Luccio, Gabriele Costa 0001, Riccardo Focardi |
CCNC | 4 |
| 2025 | Strands Rocq: Why is a Security Protocol Correct, Mechanically?abstractStrand spaces are a formal framework for symbolic protocol verification that allows for pen-and-paper proofs of security [1]. While extremely insightful, pen-and-paper proofs are error-prone, and it is hard to gain confidence on their correctness. To overcome this problem, we developed StrandsRocq, a full mechanization of the strand spaces in Coq (soon to be renamed Rocq). The mechanization was designed to be faithful to the original pen-and-paper development, and it was engineered to be modular and extensible. StrandsRocq incorporates new original proof techniques, a novel notion of maximal penetrator that enables protocol compositionality, and a set of Coq tactics tailored to the domain, facilitating proof automation and reuse, and simplifying the work of protocol analysts. To demonstrate the versatility of our approach, we modelled and analyzed a family of authentication protocols, drawing inspiration from ISO/IEC 9798–2 two-pass authentication, the classical Needham-Schroeder-Lowe protocol, as well as a recently-proposed static analysis for a key management API. The analyses in StrandsRocq confirmed the high degree of proof reuse, and enabled us to distill the minimal requirements for protocol security. Through mechanization, we identified and addressed several issues in the original proofs and we were able to significantly improve the precision of the static analysis for the key management API. Moreover, we were able to leverage the novel notion of maximal penetrator to provide a compositional proof of security for two simple authentication protocols. Matteo Busi 0001, Riccardo Focardi, Flaminia L. Luccio |
CSF | 2 |
| 2025 | Dynamic Security Analysis of JavaScript: Are We There Yet?abstractIn this paper, we systematically evaluate the effectiveness of existing tools for the dynamic security analysis of client-side JavaScript, focusing in particular on information flow control. Each tool is evaluated in terms of: (i) compatibility, i.e., the ability to process and analyze existing scripts without breaking; (ii) transparency, i.e., the ability to preserve the original script semantics when security enforcement is not necessary; (iii) coverage, i.e., the effectiveness in terms of number of detected information flows; (iv) performance, i.e., the computational overhead introduced by the analysis. Our investigation shows that most of the existing analysis tools are incompatible with the modern Web and the compatibility issues affecting them are not easily fixed. Moreover, transparency issues abound and make us question analysis correctness. This is also confirmed by our coverage evaluation, showing that some tools are unable to detect any information flow on real-world websites, while the remaining tools report significantly different outputs. Finally, we observe that the computational overhead of analysis tools may be significant and can exceed 30x. In the end, out of all the evaluated tools, just one of them (Project Foxhound) is effective enough for practical adoption at scale. Stefano Calzavara, Samuele Casarin, Riccardo Focardi |
WWW | 3 |
| 2024 | Bridging the Gap: Automated Analysis of SancusabstractTechniques for verifying or invalidating the security of computer systems have come a long way in recent years. Extremely sophisticated tools are available to specify and for-mally verify the behavior of a system and, at the same time, attack techniques have evolved to the point of questioning the possibility of obtaining adequate levels of security, especially in critical applications. In a recent paper, Bognar et al. [1] have clearly highlighted this inconsistency between the two worlds: on one side, formal verification allows writing irrefutable proofs of the security of a system, on the other side concrete attacks make these proofs waver, exhibiting a gap between models and implementations which is very complex to bridge. In this paper, we propose a new method to reduce this gap in the Sancus embedded security architecture, by exploiting some peculiarities of both approaches. Our technique first extracts a behavioral model by directly interacting with the real Sancus system and then analyzes it to identify attacks and anomalies. Given a threat model, our method either finds attacks in the given threat model or gives probabilistic guarantees on the security of the system. We implement our method and use it to systematically rediscover known attacks and uncover new ones. Matteo Busi 0001, Riccardo Focardi, Flaminia L. Luccio |
CSF | 2 |
| 2022 | The Revenge of Password Crackers: Automated Training of Password Cracking Tools
Alessia Michela Di Campi, Riccardo Focardi, Flaminia L. Luccio |
ESORICS (2) | 2 |
| 2022 | A Fast and Cost-effective Design for FPGA-based Fuzzy Rainbow TradeoffsabstractTime/memory tradeoffs are general techniques used in cryptanalysis that aim at reducing the computational effort in exchange for a higher memory usage. Among these techniques, one of the most modern algorithms is the fuzzy-rainbow tradeoff, which has notably been used in 2010 to attack the GSM A5/1 cipher. Most of the existing analyses of tradeoff algorithms only take into account the main-memory model, which does not reflect the hierarchical (external) storage model of real world systems. Moreover, to the best of our knowledge, there are no publicly available implementations or designs that show the performance level that can be achieved with modern off-the-shelf hardware. In this paper, we propose a reference hardware and software design for the cryptanalysis of ciphers and one-way functions based on FPGAs, SSDs and the fuzzy rainbow tradeoff algorithm. We evaluate the performance of our design by extending an existing analytical model to account for the actual storage hierarchy, and we estimate an attack time for DES and A5/1 ciphers of less than one second, demonstrating that these ciphers can be cracked in real-time with a budget under 6000e. Leonardo Veronese, Francesco Palmarini, Riccardo Focardi, Flaminia L. Luccio |
ICISSP | 3 |
| 2021 | A Formally Verified Configuration for Hardware Security Modules in the CloudabstractHardware Security Modules (HSMs) are trusted machines that perform sensitive operations in critical ecosystems. They are usually required by law in financial and government digital services. The most important feature of an HSM is its ability to store sensitive credentials and cryptographic keys inside a tamper-resistant hardware, so that every operation is done internally through a suitable API, and such sensitive data are never exposed outside the device. HSMs are now conveniently provided in the cloud, meaning that the physical machines are remotely hosted by some provider and customers can access them through a standard API. The property of keeping sensitive data inside the device is even more important in this setting as a vulnerable application might expose the full API to an attacker. Unfortunately, in the last 20+ years a multitude of practical API-level attacks have been found and proved feasible in real devices. The latest version of PKCS#11, the most popular standard API for HSMs, does not address these issues leaving all the flaws possible. In this paper, we propose the first secure HSM configuration that does not require any restriction or modification of the PKCS#11 API and is suitable to cloud HSM solutions, where compliance to the standard API is of paramount importance. The configuration relies on a careful separation of roles among the different HSM users so that known API flaws are not exploitable by any attacker taking control of the application. We prove the correctness of the configuration by providing a formal model in the state-of-the-art Tamarin prover and we show how to implement the configuration in a real cloud HSM solution. Riccardo Focardi, Flaminia L. Luccio |
CCS | 1 |
| 2021 | FWS: Analyzing, maintaining and transcompiling firewallsabstractFirewalls are essential for managing and protecting computer networks. They permit specifying which packets are allowed to enter a network, and also how these packets are modified by IP address translation and port redirection. Configuring a firewall is notoriously hard, and one of the reasons is that it requires using low level, hard to interpret, configuration languages. Equally difficult are policy maintenance and refactoring, as well as porting a configuration from one firewall system to another. To address these issues we introduce a pipeline that assists system administrators in checking if: (i) the intended security policy is actually implemented by a configuration; (ii) two configurations are equivalent; (iii) updates have the desired effect on the firewall behavior; (iv) there are useless or redundant rules; additionally, an administrator can (v) transcompile a configuration into an equivalent one in a different language; and (vi) maintain a configuration using a generic, declarative language that can be compiled into different target languages. The pipeline is based on IFCL, an intermediate firewall language equipped with a formal semantics, and it is implemented in an open source tool called FWS. In particular, the first stage decompiles real firewall configurations for iptables, ipfw, pf and (a subset of) Cisco IOS into IFCL. The second one transforms an IFCL configuration into a logical predicate and uses the Z3 solver to synthesize an abstract specification that succinctly represents the firewall behavior. System administrators can use FWS to analyze the firewall by posing SQL-like queries, and update the configuration to meet the desired security requirements. Finally, the last stage allows for maintaining a configuration by acting directly on its abstract specification and then compiling it to the chosen target language. Tests on real firewall configurations show that FWS can be fruitfully used in real-world scenarios. Chiara Bodei, Lorenzo Ceragioli, Pierpaolo Degano, Riccardo Focardi, Letterio Galletta, Flaminia L. Luccio, Mauro Tempesta, Lorenzo Veronese |
J. Comput. Secur. | 4 |
| 2020 | Language-Based Web Session IntegrityabstractSession management is a fundamental component of web applications: despite the apparent simplicity, correctly implementing web sessions is extremely tricky, as witnessed by the large number of existing attacks. This motivated the design of formal methods to rigorously reason about web session security which, however, are not supported at present by suitable automated verification techniques. In this paper we introduce the first security type system that enforces session security on a core model of web applications, focusing in particular on server-side code. We showcase the expressiveness of our type system by analyzing the session management logic of HotCRP, Moodle, and phpMyAdmin, unveiling novel security flaws that have been acknowledged by software developers. Stefano Calzavara, Riccardo Focardi, Niklas Grimm, Matteo Maffei, Mauro Tempesta |
CSF | 2 |
| 2020 | Automated Analysis of PUF-based ProtocolsabstractPhysical Unclonable Functions (PUFs) are a promising technology to secure low-cost devices. A PUF is a function whose values depend on the physical characteristics of the underlying hardware: the same PUF implemented on two identical integrated circuits will return different values. Thus, a PUF can be used as a unique fingerprint identifying one specific physical device among (apparently) identical copies that run the same firmware on the same hardware. PUFs, however, are tricky to implement, and a number of attacks have been reported in the literature, often due to wrong assumptions about the provided security guarantees and/or the attacker model. In this paper, we present the first mechanized symbolic model for PUFs that allows for precisely reasoning about their security with respect to a variegate set of attackers. We consider mutual authentication protocols based on different kinds of PUFs and model attackers that are able to access PUF values stored on servers, abuse the PUF APIs, model the PUF behavior and exploit error correction data to reproduce the PUF values. We prove security properties and we formally specify the capabilities required by the attacker to break them. Our analysis points out various subtleties, and allows for a systematic comparison between different PUF-based protocols. The mechanized models are easily extensible and can be automatically checked with the Tamarin prover. Riccardo Focardi, Flaminia L. Luccio |
CSF | 1 |
| 2019 | Mitch: A Machine Learning Approach to the Black-Box Detection of CSRF VulnerabilitiesabstractCross-Site Request Forgery (CSRF) is one of the oldest and simplest attacks on the Web, yet it is still effective on many websites and it can lead to severe consequences, such as economic losses and account takeovers. Unfortunately, tools and techniques proposed so far to identify CSRF vulnerabilities either need manual reviewing by human experts or assume the availability of the source code of the web application. In this paper we present Mitch, the first machine learning solution for the black-box detection of CSRF vulnerabilities. At the core of Mitch there is an automated detector of sensitive HTTP requests, i.e., requests which require protection against CSRF for security reasons. We trained the detector using supervised learning techniques on a dataset of 5,828 HTTP requests collected on popular websites, which we make available to other security researchers. Our solution outperforms existing detection heuristics proposed in the literature, allowing us to identify 35 new CSRF vulnerabilities on 20 major websites and 3 previously undetected CSRF vulnerabilities on production software already analyzed using a state-of-the-art tool. Stefano Calzavara, Mauro Conti, Riccardo Focardi, Alvise Rabitti, Gabriele Tolomei |
EuroS&P | 3 |
| 2019 | Postcards from the Post-HTTP World: Amplification of HTTPS Vulnerabilities in the Web EcosystemabstractHTTPS aims at securing communication over the Web by providing a cryptographic protection layer that ensures the confidentiality and integrity of communication and enables client/server authentication. However, HTTPS is based on the SSL/TLS protocol suites that have been shown to be vulnerable to various attacks in the years. This has required fixes and mitigations both in the servers and in the browsers, producing a complicated mixture of protocol versions and implementations in the wild, which makes it unclear which attacks are still effective on the modern Web and what is their import on web application security. In this paper, we present the first systematic quantitative evaluation of web application insecurity due to cryptographic vulnerabilities. We specify attack conditions against TLS using attack trees and we crawl the Alexa Top 10k to assess the import of these issues on page integrity, authentication credentials and web tracking. Our results show that the security of a consistent number of websites is severely harmed by cryptographic weaknesses that, in many cases, are due to external or related-domain hosts. This empirically, yet systematically demonstrates how a relatively limited number of exploitable HTTPS vulnerabilities are amplified by the complexity of the web ecosystem. Stefano Calzavara, Riccardo Focardi, Matús Nemec, Alvise Rabitti, Marco Squarcina |
IEEE Symposium on Security and Privacy | 2 |
| 2019 | Usable security for QR code
Riccardo Focardi, Flaminia L. Luccio, Heider A. M. Wahsheh |
J. Inf. Secur. Appl. | 1 |
| 2019 | Gathering of robots in a ring with mobile faults
Shantanu Das 0001, Riccardo Focardi, Flaminia L. Luccio, Euripides Markou, Marco Squarcina |
Theor. Comput. Sci. | 2 |
| 2018 | Language-Independent Synthesis of Firewall PoliciesabstractConfiguring and maintaining a firewall configuration is notoriously hard. Policies are written in low-level, platform-specific languages where firewall rules are inspected and enforced along non trivial control flow paths. Further difficulties arise from Network Address Translation (NAT), since filters must be implemented with addresses translations in mind. In this work, we study the problem of decompiling a real firewall configuration into an abstract specification. This abstract version throws the low-level details away by exposing the meaning of the configuration, i.e., the allowed connections with possible address translations. The generated specification makes it easier for system administrators to check if: (i) the intended security policy is actually implemented; (ii) two configurations are equivalent; (iii) updates have the desired effect on the firewall behavior. The peculiarity of our approach is that is independent of the specific target firewall system and language. This independence is obtained through a generic intermediate language that provides the typical features of real configuration languages and that separates the specification of the rulesets, determining the destiny of packets, from the specification of the platform-dependent steps needed to elaborate packets. We present a tool that decompiles real firewall configurations from different systems into this intermediate language and uses the Z3 solver to synthesize the abstract specification that succinctly represents the firewall behavior and the NAT. Tests on real configurations show that the tool is effective: it synthesizes complex policies in a matter of minutes and, and it answers to specific queries in just a few seconds. The tool can also point out policy differences before and after configuration updates in a simple, tabular form. Chiara Bodei, Pierpaolo Degano, Letterio Galletta, Riccardo Focardi, Mauro Tempesta, Lorenzo Veronese |
EuroS&P | 4 |
| 2018 | Mind Your Keys? A Security Evaluation of Java Keystores
Riccardo Focardi, Francesco Palmarini, Marco Squarcina, Graham Steel, Mauro Tempesta |
NDSS | 1 |
| 2018 | WPSE: Fortifying Web Protocols via Browser-Side Security Monitoring
Stefano Calzavara, Riccardo Focardi, Matteo Maffei, Clara Schneidewind, Marco Squarcina, Mauro Tempesta |
USENIX Security Symposium | 2 |
| 2017 | Run-Time Attack Detection in Cryptographic APIsabstractCryptographic APIs are often vulnerable to attacks that compromise sensitive cryptographic keys. In the literature we find many proposals for preventing or mitigating such attacks but they typically require to modify the API or to configure it in a way that might break existing applications. This makes it hard to adopt such proposals, especially because security APIs are often used in highly sensitive settings, such as financial and critical infrastructures, where systems are rarely modified and legacy applications are very common. In this paper we take a different approach. We propose an effective method to monitor existing cryptographic systems in order to detect, and possibly prevent, the leakage of sensitive cryptographic keys. The method collects logs for various devices and cryptographic services and is able to detect, offline, any leakage of sensitive keys, under the assumption that a key fingerprint is provided for each sensitive key. We define key security formally and we prove that the method is sound, complete and efficient. We also show that without key fingerprinting completeness is lost, i.e., some attacks cannot be detected. We discuss possible practical implementations and we develop a proof-of-concept log analysis tool for PKCS#11 that is able to detect, on a significant fragment of the API, all key-management attacks from the literature. Riccardo Focardi, Marco Squarcina |
CSF | 1 |
| 2016 | Localizing Firewall Security PoliciesabstractIn complex networks, filters may be applied at different nodes to control how packets flow. In this paper, we study how to locate filtering functionality within a network. We show how to enforce a set of security goals while allowing maximal service subject to the security constraints. To implement our results we present a tool that given a network specification and a set of control rules automatically localizes the filters and generates configurations for all the firewalls in the network. These configurations are implemented using an extension of Mignis - an open source tool to generate firewalls from declarative, semantically explicit configurations. Our contributions include a way to specify security goals for how packets traverse the network, an algorithm to distribute filtering functionality to different nodes in the network to enforce a given set of security goals, and a proof that the results are compatible with a Mignis-based semantics for network behavior. Pedro Adão, Riccardo Focardi, Joshua D. Guttman, Flaminia L. Luccio |
CSF | 2 |
| 2016 | Micro-policies for Web Session SecurityabstractMicro-policies, originally proposed to implement hardware-level security monitors, constitute a flexible and general enforcement technique, based on assigning security tags to system components and taking security actions based on dynamic checks over these tags. In this paper, we present the first application of micro-policies to web security, by proposing a core browser model supporting them and studying its effectiveness at securing web sessions. In our view, web session security requirements are expressed in terms of a simple, declarative information flow policy, which is then automatically translated into a micro-policy enforcing it. This leads to a browser-side enforcement mechanism which is elegant, sound and flexible, while being accessible to web developers. We show how a large class of attacks against web sessions can be uniformly and effectively prevented by the adoption of this approach. We also develop a proof-of-concept implementation of a significant core of our proposal as a Google Chrome extension, Michrome: our experiments show that Michrome can be easily configured to enforce strong security policies without breaking the functionality of websites. Stefano Calzavara, Riccardo Focardi, Niklas Grimm, Matteo Maffei |
CSF | 2 |
| 2016 | APDU-Level Attacks in PKCS#11 Devices
Claudio Bozzato, Riccardo Focardi, Francesco Palmarini, Graham Steel |
RAID | 2 |
| 2015 | Getting to know your Card: Reverse-Engineering the Smart-Card Application Protocol Data UnitabstractSmart-cards are considered to be one of the most secure, tamper-resistant, and trusted devices for implementing confidential operations, such as authentication, key management, encryption and decryption for financial, communication, security and data management purposes. The commonly used RSA PKCS#11 standard defines the Application Programming Interface for cryptographic devices such as smart-cards. Though there has been work on formally verifying the correctness of the implementation of PKCS#11 in the API level, little attention has been paid to the low-level cryptographic protocols that implement it. Andriana Gkaniatsou, Fiona McNeill, Alan Bundy, Graham Steel, Riccardo Focardi, Claudio Bozzato |
ACSAC | 5 |
| 2015 | CookiExt: Patching the browser against session hijacking attacksabstractAbstract Session cookies constitute one of the main attack targets against client authentication on the Web. To counter these attacks, modern web browsers implement native cookie protection mechanisms based on the HttpOnly and Secure flags. While there is a general understanding about the effectiveness of these defenses, no formal result has so far been proved about the security guarantees they convey. With the present paper we provide the first such result, by presenting a mechanized proof of noninterference assessing the robustness of the HttpOnly and Secure cookie flags against both web and network attackers with the ability to perform arbitrary XSS code injection. We then develop CookiExt , a browser extension that provides client-side protection against session hijacking, based on appropriate flagging of session cookies and automatic redirection over HTTPS for HTTP requests carrying these cookies. Our solution improves over existing client-side defenses by combining protection against both web and network attacks, while at the same time being designed so as to minimise its effects on the user’s browsing experience. Finally, we report on the experiments we carried out to practically evaluate the effectiveness of our approach. Michele Bugliesi, Stefano Calzavara, Riccardo Focardi, Wilayat Khan |
J. Comput. Secur. | 3 |
| 2014 | Mignis: A Semantic Based Tool for Firewall ConfigurationabstractThe management and specification of access control rules that enforce a given policy is a non-trivial, complex, and time consuming task. In this paper we aim at simplifying this task both at specification and verification levels. For that, we propose a formal model of Net filter, a firewall system integrated in the Linux kernel. We define an abstraction of the concepts of chains, rules, and packets existent in Net filter configurations, and give a semantics that mimics packet filtering and address translation. We then introduce a simple but powerful language that permits to specify firewall configurations that are unaffected by the relative ordering of rules, and that does not depend on the underlying Net filter chains. We give a semantics for this language and show that it can be translated into our Net filter abstraction. We then present Mignis, a publicly available tool that translates abstract firewall specifications into real Net filter configurations. Mignis is currently used to configure the whole firewall of the DAIS Department of Ca' Foscari University. Pedro Adão, Claudio Bozzato, G. Dei Rossi, Riccardo Focardi, Flaminia L. Luccio |
CSF | 4 |
| 2014 | Provably Sound Browser-Based Enforcement of Web Session IntegrityabstractAbstract—Enforcing protection at the browser side has recently become a popular approach for securing web authentication. Though interesting, existing attempts in the literature only address specific classes of attacks, and thus fall short of providing robust foundations to reason on web authentication security. In this paper we provide such foundations, by introducing a novel notion of web session integrity, which allows us to capture many existing attacks and spot some new ones. We then propose FF+, a security-enhanced model of a web browser that provides a full-fledged and provably sound enforcement of web session integrity. We leverage our theory to develop SESSINT, a prototype extension for Google Chrome implementing the security mechanisms formalized in FF+. SESSINT provides a level of security very close to FF+, while keeping an eye at usability and user experience. I. Michele Bugliesi, Stefano Calzavara, Riccardo Focardi, Wilayat Khan, Mauro Tempesta |
CSF | 3 |
| 2013 | Type-Based Analysis of Generic Key Management APIsabstractIn the past few years, cryptographic key management APIs have been shown to be subject to tricky attacks based on the improper use of cryptographic keys. In fact, real APIs provide mechanisms to declare the intended use of keys but they are not strong enough to provide key security. In this paper, we propose a simple imperative programming language for specifying strongly-typed APIs for the management of symmetric, asymmetric and signing keys. The language requires that type information is stored together with the key but it is independent of the actual low-level implementation. We develop a type-based analysis to prove the preservation of integrity and confidentiality of sensitive keys and we show that our abstraction is expressive enough to code realistic key management APIs. Pedro Adão, Riccardo Focardi, Flaminia L. Luccio |
CSF | 2 |
| 2013 | Type-based analysis of key management in PKCS#11 cryptographic devicesabstractPKCS#11, is a security API for cryptographic tokens. It is known to be vulnerable to attacks which can directly extract, as cleartext, the value of sensitive keys. In particular, the API does not impose any limitation on the different roles a key can assume, and it permits to perform conflicting op erations such as asking the token to wrap a key with another one and then to decrypt it. Fixes proposed in the literature, or implemented in real devices, impose policies restricting key roles and token functionalities. In this paper we define a simple imperative programming language, suitable to code PKCS#11 symmetric key management, and we develop a type-based analysis to prove that the secrecy of sensitive keys is preserved under a certain policy. We formally analyse existing fixes for PKCS#11 and we propose a new one, which is type-checkable and prevents conflicting roles by deriving different keys for different roles. We develop a prototype type-checker for a software token emulator written in C and we experiment on various working configurations. Matteo Centenaro, Riccardo Focardi, Flaminia L. Luccio |
J. Comput. Secur. | 2 |
| 2012 | Efficient Padding Oracle Attacks on Cryptographic Hardware
Romain Bardou, Riccardo Focardi, Yusuke Kawamoto 0001, Lorenzo Simionato, Graham Steel, Joe-Kai Tsay |
CRYPTO | 2 |
| 2012 | Gran: Model Checking Grsecurity RBAC PoliciesabstractRole-based Access Control (RBAC) is one of the most widespread security mechanisms in use today. Given the growing complexity of policy languages and access control systems, verifying that such systems enforce the desired invariants is recognized as a security problem of crucial importance. In the present paper, we develop a framework for the formal verification of grsecurity, an access control system developed on top of Unix/Linux systems. The verification problem in grsecurity presents much of the complexity of modern RBAC systems, due to the presence of policy state changes that may arise both from explicit administrative primitives supported by grsecurity, and as the result of the interaction with the underlying operating system facilities. We develop a formal semantics for grsecurity's RBAC system, based on a labelled transition system, and a sound abstraction of that semantics providing a bounded approximation, amenable to model checking. We report on the result of the experimental analysis conducted with gran, the model checker we implemented based on our abstract semantics, on existing public servers running grsecurity to implement their RBAC systems. Michele Bugliesi, Stefano Calzavara, Riccardo Focardi, Marco Squarcina |
CSF | 3 |
| 2012 | Guessing Bank PINs by Winning a Mastermind Game
Riccardo Focardi, Flaminia L. Luccio |
Theory Comput. Syst. | 1 |
| 2010 | Attacking and fixing PKCS#11 security tokensabstractWe show how to extract sensitive cryptographic keys from a variety of commercially available tamper resistant cryptographic security tokens, exploiting vulnerabilities in their RSA PKCS#11 based APIs. The attacks are performed by Tookan, an automated tool we have developed, which reverse-engineers the particular token in use to deduce its functionality, constructs a model of its API for a model checker, and then executes any attack trace found by the model checker directly on the token. We describe the operation of Tookan and give results of testing the tool on 17 commercially available tokens: 9 were vulnerable to attack, while the other 8 had severely restricted functionality. One of the attacks found by the model checker has not previously appeared in the literature. We show how Tookan may be used to verify patches to insecure devices, and give a secure configuration that we have implemented in a patch to a software token simulator. This is the first such configuration to appear in the literature that does not require any new cryptographic mechanisms to be added to the standard. We comment on lessons for future key management APIs. Matteo Bortolozzo, Matteo Centenaro, Riccardo Focardi, Graham Steel |
CCS | 3 |
| 2010 | Editorialabstractin the Theory of Security (WITS'07) held on 24-25 March 2007 in Braga, Portugal. WITS is the official workshop organized by the IFIP Working Group 1.7 on "Theoretical Foundations of Security Analysis and Design", established to promote investigation of the theoretical foundations of security, discovering and promoting new areas of application of theoretical techniques in computer security, and supporting the systematic use of formal techniques in the development of security-related applications. The members of the Working Group hold their annual workshop as an open event to which all researchers working on the theory of computer security are invited. WITS'07 has been organized in cooperation with ACM SIGPLAN and the German Computer Society (GI) working group FoMSESS. Riccardo Focardi |
J. Comput. Secur. | 1 |
| 2010 | Channel abstractions for network securityabstractProcess algebraic techniques for distributed systems are increasingly being targeted at identifying abstractions that are adequate for both high-level programming and specification and security analysis and verification. Drawing on our earlier work in Bugliesi and Focardi, (2008), we investigate the expressive power of a core set of security and network abstractions that provide high-level primitives for specifying the honest principals in a network, while at the same time enabling an analysis of the network-level adversarial attacks that may be mounted by an intruder. We analyse various bisimulation equivalences for security that arise from endowing the intruder with: (i) different adversarial capabilities; and (ii) increasingly powerful control over the interaction among the distributed principals of a network. By comparing the relative strength of the bisimulation equivalences, we obtain a direct measure of the intruder's discriminating power, and hence of the expressiveness of the corresponding intruder model. Michele Bugliesi, Riccardo Focardi |
Math. Struct. Comput. Sci. | 2 |
| 2009 | Type-Based Analysis of PIN Processing APIs
Matteo Centenaro, Riccardo Focardi, Flaminia L. Luccio, Graham Steel |
ESORICS | 2 |
| 2008 | Language Based Secure CommunicationabstractSecure communication in distributed systems is notoriously hard to achieve due to the variety of attacks an adversary can mount, based on message interception, modification, redirection, eavesdropping or, even more subtly, on traffic analysis. In the literature on process calculi, traditional solutions to the problem either draw on low-level cryptographic primitives, as in the spi or applied-pi calculi, or rely on very abstract, and hard-to-implement, mechanisms to hide communication by means of private channels, as in the pi-calculus. A more recent line of research follows a different approach, aimed at identifying security primitives adequate as high-level programming abstractions, and at the same time well-suited for security analysis and verification in adversarial settings. The present paper makes a step further in that direction. We develop a calculus of secure communication based on core abstractions that support concise, high-level programming idioms for distributed, security-sensitive applications, and at the same time are powerful enough to express a full-fledged adversarial setting. Drawing on this calculus, we investigate reasoning methods for security based on the long-established practice by which security properties are defined in terms of behavioral equivalences. We give a co-inductive characterization of behavioral equivalence, in terms of bisimulation, and develop powerful up-to techniques to provide simple co-inductive proofs. We illustrate the adequacy of the model with several security laws for secrecy and authentication. Michele Bugliesi, Riccardo Focardi |
CSF | 2 |
| 2008 | Information flow security in Boundary Ambients
Chiara Braghin, Agostino Cortesi, Riccardo Focardi |
Inf. Comput. | 3 |
| 2007 | Dynamic types for authenticationabstractWe propose a type and effect system for authentication protocols built upon a tagging scheme that formalizes the intended semantics of ciphertexts. The main result is that the validation of each component in isolation is provably sound and fully compositional: if all the protocol participants are i ndependently validated, then the protocol as a whole guarantees authentication in the presence of Dolev–Yao intruders possibly sharing long term keys with honest principals. Protocols are thus validated in the presence of both malicious outsiders and compromised insiders. The highly compositional nature of the analysis makes it suitable for multi-protocol systems, where different protocols might be executed concurrently. Michele Bugliesi, Riccardo Focardi, Matteo Maffei |
J. Comput. Secur. | 2 |
| 2006 | Prefaceabstractat the Asilomar Conference Center in Pacific Grove, California.The workshop aims at bringing together researchers in computer science to examine foundational issues and open questions in many computer security fields such as access control, database security, anonymity, security protocols, information flow, authentication, intrusion detection, data and system integrity and formal methods for security.The three papers contained in this issue have been extended and revised for journal publication, following the normal reviewing process of the Journal of Computer Security.The papers investigate foundational issues related to access control, security protocols and information flow security with declassification. Riccardo Focardi |
J. Comput. Secur. | 1 |
| 2006 | Information flow security in dynamic contextsabstractWe study information flow security in the setting of mobile agents. We propose a sufficient condition to security named Persistent_BNDC. A process is Persistent_BNDC when every of its reachable states satisfies a basic Non-Interference property called BNDC. By imposing that security persists during process execution, one is guaranteed that every potential migration is performed in a stable, secure state. We define a suitable bisimulation-based equivalence relation among processes, that allows us to express the new property as a single equivalence check, thus avoiding the universal quantifications over all the reachable states (required by Persistent_BNDC) and over all the possible hostile environments (implicit in the basic Non-Interference property BNDC). We prove that Persistent_BNDC is a sufficient condition to the security of mobile agents by (i) giving a sound and complete characterization of Persistent_BNDC in terms of dynamic contexts, i.e., execution contexts that can non-deterministically change at run-time, abstractly modelling arbitrary migrations; (ii) showing that Persistent_BNDC implies information flow security when agent mobility is explicitly expressed in the calculus. Riccardo Focardi, Sabina Rossi |
J. Comput. Secur. | 1 |
| 2006 | Secure shared data-space coordination languages: A process algebraic survey
Riccardo Focardi, Roberto Lucchi, Gianluigi Zavattaro |
Sci. Comput. Program. | 1 |
| 2006 | Guest editor's introduction: Special issue on security issues in coordination models, languages, and systems
Riccardo Focardi, Gianluigi Zavattaro |
Sci. Comput. Program. | 1 |
| 2005 | Analysis of Typed Analyses of Authentication ProtocolsabstractThis paper contrasts two existing type-based techniques for the analysis of authentication protocols. The former, proposed by Gordon and Jeffrey, uses dependent types for nonces and cryptographic keys to statically regulate the way that nonces are created and checked in the authentication exchange. The latter, proposed by the authors, relies on a combination of static and dynamic typing to achieve similar goals. Specifically, the type system employs dependent ciphertext types to statically define certain tags that determine the typed structure of the messages circulated in the authentication exchange. The type tags are then checked dynamically to verify that each message has the format expected at the corresponding step of the authentication exchange. This paper compares the two approaches, drawing on a translation of tagged protocols, validated by our system, into protocols that type check with Gordon and Jeffrey's system. This translation gives new insight into the tradeoffs between the two techniques, and on their relative expressiveness and precision. In addition, it allows us to port verification techniques from one setting to the other. Michele Bugliesi, Riccardo Focardi, Matteo Maffei |
CSFW | 2 |
| 2005 | Bridging Language-Based and Process Calculi Security
Riccardo Focardi, Sabina Rossi, Andrei Sabelfeld |
FoSSaCS | 1 |
| 2005 | Authentication primitives for secure protocol specifications
Chiara Bodei, Pierpaolo Degano, Riccardo Focardi, Corrado Priami |
Future Gener. Comput. Syst. | 3 |
| 2005 | Guest editor's prefaceabstractat the Asilomar Conference Center in Pacific Grove, California.The workshop aims to bring together researchers in computer science to examine foundational issues and open questions in many computer security fields, such as access control, database security, anonymity, security protocols, information flow, authentication, intrusion detection, data and system integrity and formal methods for security.The six papers contained in this issue have been extended and revised for journal publication, following the normal review process of the Journal of Computer Security.They reflect the topics covered by this 16th workshop edition: from the theory of information flow, information hiding and anonymity, to protocol analyses based on logics, on static and symbolic techniques and on computational models. Riccardo Focardi |
J. Comput. Secur. | 1 |
| 2004 | Compositional Analysis of Authentication Protocols
Michele Bugliesi, Riccardo Focardi, Matteo Maffei |
ESOP | 2 |
| 2004 | Verifying persistent security properties
Annalisa Bossi, Riccardo Focardi, Carla Piazza, Sabina Rossi |
Comput. Lang. Syst. Struct. | 2 |
| 2004 | Nesting analysis of mobile ambients
Chiara Braghin, Agostino Cortesi, Riccardo Focardi, Flaminia L. Luccio, Carla Piazza |
Comput. Lang. Syst. Struct. | 3 |
| 2004 | A modular approach to Sprouts
Riccardo Focardi, Flaminia L. Luccio |
Discret. Appl. Math. | 1 |
| 2003 | Refinement Operators and Information Flow SecurityabstractThe systematic development of complex systems usually relies on a stepwise refinement procedure from an abstract specification to a more concrete one that can finally be implemented. The use of refinement operators preserving system properties is clearly essential since it avoids properties to be re-investigated at each development step. In this paper, we formalize the notion of refinement for processes described as terms of the security process algebra (SPA). We consider several information flow security properties and provide sufficient conditions under which our refinement operators preserve such security properties. Finally, we study how refinements can be composed still preserving the security of the system. Annalisa Bossi, Riccardo Focardi, Carla Piazza, Sabina Rossi |
SEFM | 2 |
| 2003 | BANANA - A Tool for Boundary Ambients Nesting ANAlysis
Chiara Braghin, Agostino Cortesi, Stefano Filippone, Riccardo Focardi, Flaminia L. Luccio, Carla Piazza |
TACAS | 4 |
| 2003 | Bisimulation and Unwinding for Verifying Possibilistic Security Properties
Annalisa Bossi, Riccardo Focardi, Carla Piazza, Sabina Rossi |
VMCAI | 2 |
| 2003 | Complexity of Nesting Analysis in Mobile Ambients
Chiara Braghin, Agostino Cortesi, Riccardo Focardi, Flaminia L. Luccio, Carla Piazza |
VMCAI | 3 |
| 2003 | Real-time information flow analysisabstractIn previous work, we studied some noninterference properties for information flow analysis in computer systems on classic (possibilistic) labeled transition systems. In this paper, some of these properties, notably bisimulation-based nondeducibility on compositions (BNDC), are reformulated in a real-time setting. This is done by first enhancing the security process algebra proposed by two of the authors with some extra constructs to model real-time systems (in a discrete time setting), and then by studying the natural extension of these properties in this enriched setting. We prove essentially the same results known for the untimed case: ordering relation among properties, compositionality aspects, partial model checking techniques. Finally, we illustrate the approach through two case studies, where in both cases the untimed specification is secure, while the timed specification may show up interesting timing covert channels. Riccardo Focardi, Roberto Gorrieri, Fabio Martinelli |
IEEE J. Sel. Areas Commun. | 1 |
| 2003 | A comparison of three authentication properties
Riccardo Focardi, Roberto Gorrieri, Fabio Martinelli |
Theor. Comput. Sci. | 1 |
| 2002 | Information Flow Security in Dynamic Contexts
Riccardo Focardi, Sabina Rossi |
CSFW | 1 |
| 2002 | Security boundaries in mobile ambients
Chiara Braghin, Agostino Cortesi, Riccardo Focardi |
Comput. Lang. Syst. Struct. | 3 |
| 2002 | Computer languages and security
Agostino Cortesi, Riccardo Focardi |
Comput. Lang. Syst. Struct. | 2 |
| 2002 | Primitives for authentication in process algebras
Chiara Bodei, Pierpaolo Degano, Riccardo Focardi, Corrado Priami |
Theor. Comput. Sci. | 3 |
| 2000 | Information Flow Analysis in a Discrete-Time Process AlgebraabstractSome of the non-interference properties studied in (Focardi, 1998; Focardi and Gorrieri, 1995) for information flow analysis in computer systems, notably BNDC, are reformulated in a real-time setting. This is done by enhancing the Security Process Algebra of (Focardi and Gorrieri, 1997; Focardi and Martinelli, 1999) with some extra constructs to model real-time systems (in a discrete time setting); and then by studying the natural extensions of those properties in this enriched setting. We prove essentially the same results known for the untimed case: ordering relation among properties, compositionality aspects, partial model checking techniques. Finally, we illustrate a case study of a system that presents no information flows when analyzed without considering timing constraints. When the specification is refined with time, some interesting information flows are detected. Riccardo Focardi, Roberto Gorrieri, Fabio Martinelli |
CSFW | 1 |
| 2000 | Non Interference for the Analysis of Cryptographic Protocols
Riccardo Focardi, Roberto Gorrieri, Fabio Martinelli |
ICALP | 1 |
| 2000 | Feedback vertex set in hypercubes
Riccardo Focardi, Flaminia L. Luccio, David Peleg |
Inf. Process. Lett. | 1 |
| 2000 | A compiler for analyzing cryptographic protocols using noninterferenceabstractThe Security Process Algebra (SPA) is a CCS-like specification languag e where actions belong to two different levels of confidentiality. It has been used to define several noninterference-like security properties whose verification has been automated by the tool CoSeC. In recent years, a method for analyzing security protocols using SPA and CoSeC has been developed. Even if it has been useful in analyzing small security protocols, this method has shown to be error-prone, as it requires the protocol description and its environment to be written by hand. This problem has been solved by defining a protocol specification language more abstract than SPA, called VSP, and a compiler CVS that automatically generates the SPA specification for a given protocol described in VSP. The VSP/CVS technology is very powerful, and its usefulness is shown with some case studies: the Woo-Lam one-way authentication protocol, for which a new attack to authentication is found, and the Wide Mouthed Frog protocol, where different kinds of attack are detected and analyzed. Antonio Durante, Riccardo Focardi, Roberto Gorrieri |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 1999 | Authentication via Localized NamesabstractWe address the problem of message authentication using the /spl pi/-calculus, which has been given an operational semantics that provides each sequential process of a system with its own local space of names. We exploit here that semantics and its localized names to guarantee by construction that a message has been generated by a given entity. Therefore, our proposal can be seen as a reference for the analysis of "real" protocols. As an example, we study the way authentication is ensured by encrypting messages in the spi-calculus. Chiara Bodei, Pierpaolo Degano, Riccardo Focardi, Corrado Priami |
CSFW | 3 |
| 1999 | CVS: A Compiler for the Analysis of Cryptographic ProtocolsabstractThe Security Process Algebra (SPA) is a CCS-like specification language where actions belong to two different levels of confidentiality. It has been used to define several non-interference-like security properties whose verification has been automatized by means of the tool CoSeC. In recent years, a method for analyzing security protocols using SPA and CoSeC has been developed. Even if it has been useful in analyzing small security protocols, this method has shown to be error-prone as it requires the description by hand of the protocol and of the environment in which it will execute. This problem has been solved by defining a protocol specification language more abstract than SPA, called VSP and a compiler CVS that generates in an automatic way the SPA specification for a given protocol described in VSP. The VSP/CVS technology is very powerful and its usefulness is shown with the case-study of the Woo-Lam one-way authentication protocol, for which an attack undocumented in the literature is found. Antonio Durante, Riccardo Focardi, Roberto Gorrieri |
CSFW | 2 |
| 1998 | Panel Introduction: Varieties of Authentication
Roberto Gorrieri, Paul F. Syverson, Martín Abadi, Riccardo Focardi, Dieter Gollmann, Gavin Lowe, Catherine Meadows 0001 |
CSFW | 4 |
| 1997 | The Compositional Security Checker: A Tool for the Verification of Information Flow Security PropertiesabstractThe Compositional Security Checker (CoSeC for short) is a semantic-based tool for the automatic verification of some compositional information flow properties. The specifications given as inputs to CoSeC are terms of the Security Process Algebra, a language suited for the specification of concurrent systems where actions belong to two different levels of confidentiality. The information flow security properties which can be verified by CoSeC are some of those classified in (Focardi and Gorrieri, 1994). They are derived from some classic notions, e.g., noninterference. The tool is based on the same architecture as the Concurrency Workbench, from which some modules have been imported unchanged. The usefulness of the tool is tested with the significant case-study of an access-monitor, presented in several versions in order to illustrate the relative merits of the various information flow properties that CoSeC can check. Finally, we present an application in the area of network security: we show that the theory (and the tool) can be reasonably applied also for singling out security flaws in a simple, yet paradigmatic, communication protocol. Riccardo Focardi, Roberto Gorrieri |
IEEE Trans. Software Eng. | 1 |
| 1996 | Comparing Two Information Flow Security PropertiesabstractIn this paper we compare two information flow security properties: the lazy security (L-Sec) by A.W. Roscoe et al. (1994) and the bisimulation non-deducibility on compositions (BNDC) by R. Focardi and R. Gorrieri (1996). To make this we define the failure non-deducibility on compositions, a failure semantics version of the BNDC. The common specification language used for the comparison is the Security Process Algebra, an extension of CCS which permits to describe systems where actions belong to two different levels of confidentiality. We prove that BNDC applied to a restricted class of systems, the low-deterministic and non-divergent ones, is equal to L-Sec. So these two properties, which are based on quite different underlying intuitions, become the same if we add some conditions to BNDC. Riccardo Focardi |
CSFW | 1 |
| 1995 | The security checker: a semantics-based tool for the verification of security propertiesabstractThe security checker (SC for short) is a semantic tool for the automatic verification of some information flow properties. The specifications given as inputs to SC are terms of the security process algebra (SPA for short), a language suited for the specification of systems where actions belong to two different levels of confidentiality. The information flow security properties which can be verified by SC are some of those classified in previous papers. They are derivations of some classic notions, e.g. non interference. The tool is based on the same architecture of the concurrency workbench, from which some modules have been integrally imported. The usefulness of the tool is tested with the significative case-study of an access monitor. Riccardo Focardi, Roberto Gorrieri, V. Panini |
CSFW | 1 |
| 1995 | A Taxonomy of Security Properties for Process AlgebrasabstractSeveral information flow security definitions, proposed in the literature, are generalized and adapted to the model of labelled transition systems. This very general model has been widely used as a semantic domain for many process algebras, e.g. CCS. Riccardo Focardi, Roberto Gorrieri |
J. Comput. Secur. | 1 |
| 1994 | A Taxonomy of Security Properties for CCSabstractSeveral information flow security definitions, proposed in the literature, are generalized and adapted to the model of labelled transition systems. This very general model has been widely used as a semantic domain for process algebras, such as Milner's CCS. As a by-product, we provide CCS with a set of security notions, hence relating these two areas of concurrency research. A classification of these generalised security definitions is presented, taking into account also some additional properties, such as input totality, which can influence this taxonomy. We also show that some of these security properties are composable w.r.t. the operators of parallellism and action restriction.> Riccardo Focardi, Roberto Gorrieri |
CSFW | 1 |