Leo Freitas | Newcastle University (original) (raw)
Papers by Leo Freitas
ArXiv, 2020
To counteract the lack of competition and innovation in the financial services industry, the EU h... more To counteract the lack of competition and innovation in the financial services industry, the EU has issued the Second Payment Services Directive (PSD2) encouraging account servicing payment service providers to share data. The UK, similarly to other European countries, has promoted a standard API for data sharing:~the Open Banking Standard. We present a formal security analysis of its APIs, focusing on the correctness of the Account and Transaction API protocol. The work relies on a previously proposed methodology, which provided a practical approach to protocol modelling and verification.
This position paper outlines the background and current approaches taken within AI4FM, a 4-year r... more This position paper outlines the background and current approaches taken within AI4FM, a 4-year research project aimed at combining AI methodologies to aid proof discovery of certain families of interest. Namely, those repeated proofs often appearing in the application of verification to industrial applications. 1
Rigorous State-Based Methods, 2020
This paper reports on ongoing work towards verifying the FreeRTOS real-time operating system kern... more This paper reports on ongoing work towards verifying the FreeRTOS real-time operating system kernel. We discuss tools and techniques currently employed and outline future directions of research.
This paper reports on ongoing work towards verifying the FreeRTOS real-time operating system kern... more This paper reports on ongoing work towards verifying the FreeRTOS real-time operating system kernel. We discuss tools and techniques currently em- ployed and outline future directions of research. FreeRTOS (Bar11) is an operating system (OS) kernel for embedded real-time applications. It has recently been proposed as case study in the context of the grand challenge on software verific- ation (JOW06). For this purpose, FreeRTOS is particularly interesting because it is open-source, reasonably small in size, yet relatively complex with respect to the functionality it provides. It features memory management, I/O-device control, tasks management and scheduling, commu- nication and synchronisation directives, and real-time event handling. FreeRTOS has been ported to a range of computing platforms and compilers. The kernel comprises of roughly 3,000 lines of C code with a small fraction of assembly code. The core of FreeRTOS is its scheduler. It implements different policies for schedulin...
When people solve a challenging problem they often “polish” the solution to make it easier to und... more When people solve a challenging problem they often “polish” the solution to make it easier to understand and communicate. This happens in all technical fields but in this talk I focus on its occurrence in formal verification, largely by way of an example problem solved interactively with students in one of my classes. Examples from industrial applications of formal methods include revisions to models to eliminate unnecessary complexity, revisions to variable orderings to shorten state space exploration, and the process by which a key inductively provable lemma was discovered. I claim that while this natural urge to polish is important to publication it is detrimental to progress: how do we automate the creative steps in verification? Event-B and cloud provers Alexei Iliasov, Paulius Stankaitis, David Adjepon-Yamoah Newcastle University, UK Abstract. We discuss the whys and hows of remotely managing a collection of automated theorem provers supporting verification of Event-B models i...
Formal Methods: Foundations and Applications, 2018
The EMVCo 3 organisation (i.e. MasterCard, Visa, etc.) protocols facilitate worldwide interoperab... more The EMVCo 3 organisation (i.e. MasterCard, Visa, etc.) protocols facilitate worldwide interoperability of secure electronic payments. Despite recent advances, it has proved difficult for academia to provide an acceptable solution to construction of secure applications within industry's constraints. In this paper, we describe a methodology we have applied to EMV1. It involves domain specific languages and verification tools targeting different analysis of interest. We are currently collaborating with EMVCo on their upcoming EMV R 2 nd Generation (EMV2) specifications.
Lecture Notes in Computer Science, 2006
Lecture Notes in Computer Science, 2005
13th IEEE International Conference on Engineering of Complex Computer Systems (iceccs 2008), 2008
We present a research roadmap for the second pilot project in the Verified Software Grand Challen... more We present a research roadmap for the second pilot project in the Verified Software Grand Challenge on formally verified POSIX file stores. The work is inspired by the requirements for NASA's forthcoming Mars Rover missions. The roadmap describes an integrated and comprehensive body of work, including current work, as well as further opportunities for collaboration.
EMV is the contactless payment protocol supported worldwide by the major credit card companies in... more EMV is the contactless payment protocol supported worldwide by the major credit card companies in countries outside the USA. This paper presents a hybrid formal/non-formal design and implementation process for high integrity protocol emulators as well as a corresponding implementation of the EMV protocol and point of sale terminal. The objective of the EMV emulator is to test new cards and applications and to experiment with protocol attack and failure scenarios. The proposed design and implementation process includes a systemic inspection of the EMV natural language specification, the generation of a formal abstract model that represents the EMV protocol, the generation of test cases from the formal abstract model, continuous feedback from the implementation and the systemic documentation of the emulator code. We have applied the design and implementation process to the development of emulator code for Chip & PIN transactions, Visa contactless transactions and MasterCard contactles...
The EMVCoorganisation (i.e. MasterCard, Visa, etc.) protocols facilitate worldwide interoperabili... more The EMVCoorganisation (i.e. MasterCard, Visa, etc.) protocols facilitate worldwide interoperability of secure electronic payments. Despite recent advances, it has proved difficult for academia to provide an acceptable solution to construction of secure applications within industry’s constraints. In this paper, we describe a methodology we have applied to EMV1. It involves domain specific languages and verification tools targeting different analysis of interest. We are currently collaborating with EMVCo on their upcoming EMV R ©2nd Generation (EMV2) specifications.
International Conference on Rigorous State-Based Methods, 2020
To counteract the lack of competition and innovation in the financial services industry, the EU h... more To counteract the lack of competition and innovation in the financial services industry, the EU has issued the Second Payment Services Directive (PSD2) encouraging account servicing payment service providers to share data. The UK, similarly to other European countries, has promoted a standard API for data sharing: the Open Banking Standard. We present an overview of the result of a formal security analysis of the Account and Transaction API protocol.
Lecture Notes in Computer Science, 2017
The Unifying Theories of Programming (UTP) is a mathematical framework to define, examine and lin... more The Unifying Theories of Programming (UTP) is a mathematical framework to define, examine and link program semantics for a large variety of computational paradigms. Several mechanisations of the UTP in HOL theorem provers have been developed. All of them, however, succumb to a trade off in how they encode the value model of UTP theories. A deep and unified value model via a universal (data)type incurs restrictions on permissible value types and adds complexity; a value model directly instantiating HOL types for UTP values retains simplicity, but sacrifices expressiveness, since we lose the ability to compositionally reason about alphabets and theories. We here propose an alternative solution that axiomatises the value model and retains the advantages of both approaches. We carefully craft a definitional mechanism in the Isabelle/HOL prover that guarantees soundness.
Number of words = 45327, as counted by detex <report.tex> | wc-w. This report consists of 9... more Number of words = 45327, as counted by detex <report.tex> | wc-w. This report consists of 98 pages in total. This includes the body of the report (without blank pages) and Appendix A, but not Appendices B, C, D, E and F. 1Updated transactional operation proofs, 21st September 2009. A separation kernel is an architecture for secure applications, which benefits from inherent security of distributed systems. Due to its small size and usage in high-integrity environments, it makes a good target for formal modelling and verification. This project presents results from mechanisation and modelling of separation kernel components: a process table, a process queue and a scheduler. The results have been developed as a part of the pilot project within the international Grand Challenge in Verified Software. This thesis covers full development life-cycle from project initiation through design and evaluation to successful completion. Important findings about kernel properties, formal modell...
The EMV® (EMV® is a registered trademark or trademark of EMVCo, LLC in the US and other countries... more The EMV® (EMV® is a registered trademark or trademark of EMVCo, LLC in the US and other countries.) organisation specify payment protocols to facilitate worldwide interoperability of secure electronic payments. This paper is about the application and scalability of formal methods to a current and complex industry application. We describe the use of VDM to model EMV® \(2^{nd}\) Generation Kernel (A preliminary version of this paper was presented at the \(16^{th}\) Overture Workshop, Oxford July 2018, where papers became a Newcastle Technical Report.). VDM is useful for both formal specification, as well as simulation, test coverage, and proof obligation generation for functional correctness.
Science of Computer Programming
SBMF 2018: Formal Methods: Foundations and Applications, 2018
The EMVCo (EMV® is a registered trademark or trademark of EMVCo, LLC in the US and other countrie... more The EMVCo (EMV® is a registered trademark or trademark of EMVCo, LLC in the US and other countries.) organisation (i.e. MasterCard, Visa, etc.) protocols facilitate worldwide interoperability of secure electronic payments. Despite recent advances, it has proved difficult for academia to provide an acceptable solution to construction of secure applications within industry’s constraints. In this paper, we describe a methodology we have applied to EMV1. It involves domain specific languages and verification tools targeting different analysis of interest. We are currently collaborating with EMVCo on their upcoming EMV® 2nd Generation (EMV2) specifications.
ArXiv, 2020
To counteract the lack of competition and innovation in the financial services industry, the EU h... more To counteract the lack of competition and innovation in the financial services industry, the EU has issued the Second Payment Services Directive (PSD2) encouraging account servicing payment service providers to share data. The UK, similarly to other European countries, has promoted a standard API for data sharing:~the Open Banking Standard. We present a formal security analysis of its APIs, focusing on the correctness of the Account and Transaction API protocol. The work relies on a previously proposed methodology, which provided a practical approach to protocol modelling and verification.
This position paper outlines the background and current approaches taken within AI4FM, a 4-year r... more This position paper outlines the background and current approaches taken within AI4FM, a 4-year research project aimed at combining AI methodologies to aid proof discovery of certain families of interest. Namely, those repeated proofs often appearing in the application of verification to industrial applications. 1
Rigorous State-Based Methods, 2020
This paper reports on ongoing work towards verifying the FreeRTOS real-time operating system kern... more This paper reports on ongoing work towards verifying the FreeRTOS real-time operating system kernel. We discuss tools and techniques currently employed and outline future directions of research.
This paper reports on ongoing work towards verifying the FreeRTOS real-time operating system kern... more This paper reports on ongoing work towards verifying the FreeRTOS real-time operating system kernel. We discuss tools and techniques currently em- ployed and outline future directions of research. FreeRTOS (Bar11) is an operating system (OS) kernel for embedded real-time applications. It has recently been proposed as case study in the context of the grand challenge on software verific- ation (JOW06). For this purpose, FreeRTOS is particularly interesting because it is open-source, reasonably small in size, yet relatively complex with respect to the functionality it provides. It features memory management, I/O-device control, tasks management and scheduling, commu- nication and synchronisation directives, and real-time event handling. FreeRTOS has been ported to a range of computing platforms and compilers. The kernel comprises of roughly 3,000 lines of C code with a small fraction of assembly code. The core of FreeRTOS is its scheduler. It implements different policies for schedulin...
When people solve a challenging problem they often “polish” the solution to make it easier to und... more When people solve a challenging problem they often “polish” the solution to make it easier to understand and communicate. This happens in all technical fields but in this talk I focus on its occurrence in formal verification, largely by way of an example problem solved interactively with students in one of my classes. Examples from industrial applications of formal methods include revisions to models to eliminate unnecessary complexity, revisions to variable orderings to shorten state space exploration, and the process by which a key inductively provable lemma was discovered. I claim that while this natural urge to polish is important to publication it is detrimental to progress: how do we automate the creative steps in verification? Event-B and cloud provers Alexei Iliasov, Paulius Stankaitis, David Adjepon-Yamoah Newcastle University, UK Abstract. We discuss the whys and hows of remotely managing a collection of automated theorem provers supporting verification of Event-B models i...
Formal Methods: Foundations and Applications, 2018
The EMVCo 3 organisation (i.e. MasterCard, Visa, etc.) protocols facilitate worldwide interoperab... more The EMVCo 3 organisation (i.e. MasterCard, Visa, etc.) protocols facilitate worldwide interoperability of secure electronic payments. Despite recent advances, it has proved difficult for academia to provide an acceptable solution to construction of secure applications within industry's constraints. In this paper, we describe a methodology we have applied to EMV1. It involves domain specific languages and verification tools targeting different analysis of interest. We are currently collaborating with EMVCo on their upcoming EMV R 2 nd Generation (EMV2) specifications.
Lecture Notes in Computer Science, 2006
Lecture Notes in Computer Science, 2005
13th IEEE International Conference on Engineering of Complex Computer Systems (iceccs 2008), 2008
We present a research roadmap for the second pilot project in the Verified Software Grand Challen... more We present a research roadmap for the second pilot project in the Verified Software Grand Challenge on formally verified POSIX file stores. The work is inspired by the requirements for NASA's forthcoming Mars Rover missions. The roadmap describes an integrated and comprehensive body of work, including current work, as well as further opportunities for collaboration.
EMV is the contactless payment protocol supported worldwide by the major credit card companies in... more EMV is the contactless payment protocol supported worldwide by the major credit card companies in countries outside the USA. This paper presents a hybrid formal/non-formal design and implementation process for high integrity protocol emulators as well as a corresponding implementation of the EMV protocol and point of sale terminal. The objective of the EMV emulator is to test new cards and applications and to experiment with protocol attack and failure scenarios. The proposed design and implementation process includes a systemic inspection of the EMV natural language specification, the generation of a formal abstract model that represents the EMV protocol, the generation of test cases from the formal abstract model, continuous feedback from the implementation and the systemic documentation of the emulator code. We have applied the design and implementation process to the development of emulator code for Chip & PIN transactions, Visa contactless transactions and MasterCard contactles...
The EMVCoorganisation (i.e. MasterCard, Visa, etc.) protocols facilitate worldwide interoperabili... more The EMVCoorganisation (i.e. MasterCard, Visa, etc.) protocols facilitate worldwide interoperability of secure electronic payments. Despite recent advances, it has proved difficult for academia to provide an acceptable solution to construction of secure applications within industry’s constraints. In this paper, we describe a methodology we have applied to EMV1. It involves domain specific languages and verification tools targeting different analysis of interest. We are currently collaborating with EMVCo on their upcoming EMV R ©2nd Generation (EMV2) specifications.
International Conference on Rigorous State-Based Methods, 2020
To counteract the lack of competition and innovation in the financial services industry, the EU h... more To counteract the lack of competition and innovation in the financial services industry, the EU has issued the Second Payment Services Directive (PSD2) encouraging account servicing payment service providers to share data. The UK, similarly to other European countries, has promoted a standard API for data sharing: the Open Banking Standard. We present an overview of the result of a formal security analysis of the Account and Transaction API protocol.
Lecture Notes in Computer Science, 2017
The Unifying Theories of Programming (UTP) is a mathematical framework to define, examine and lin... more The Unifying Theories of Programming (UTP) is a mathematical framework to define, examine and link program semantics for a large variety of computational paradigms. Several mechanisations of the UTP in HOL theorem provers have been developed. All of them, however, succumb to a trade off in how they encode the value model of UTP theories. A deep and unified value model via a universal (data)type incurs restrictions on permissible value types and adds complexity; a value model directly instantiating HOL types for UTP values retains simplicity, but sacrifices expressiveness, since we lose the ability to compositionally reason about alphabets and theories. We here propose an alternative solution that axiomatises the value model and retains the advantages of both approaches. We carefully craft a definitional mechanism in the Isabelle/HOL prover that guarantees soundness.
Number of words = 45327, as counted by detex <report.tex> | wc-w. This report consists of 9... more Number of words = 45327, as counted by detex <report.tex> | wc-w. This report consists of 98 pages in total. This includes the body of the report (without blank pages) and Appendix A, but not Appendices B, C, D, E and F. 1Updated transactional operation proofs, 21st September 2009. A separation kernel is an architecture for secure applications, which benefits from inherent security of distributed systems. Due to its small size and usage in high-integrity environments, it makes a good target for formal modelling and verification. This project presents results from mechanisation and modelling of separation kernel components: a process table, a process queue and a scheduler. The results have been developed as a part of the pilot project within the international Grand Challenge in Verified Software. This thesis covers full development life-cycle from project initiation through design and evaluation to successful completion. Important findings about kernel properties, formal modell...
The EMV® (EMV® is a registered trademark or trademark of EMVCo, LLC in the US and other countries... more The EMV® (EMV® is a registered trademark or trademark of EMVCo, LLC in the US and other countries.) organisation specify payment protocols to facilitate worldwide interoperability of secure electronic payments. This paper is about the application and scalability of formal methods to a current and complex industry application. We describe the use of VDM to model EMV® \(2^{nd}\) Generation Kernel (A preliminary version of this paper was presented at the \(16^{th}\) Overture Workshop, Oxford July 2018, where papers became a Newcastle Technical Report.). VDM is useful for both formal specification, as well as simulation, test coverage, and proof obligation generation for functional correctness.
Science of Computer Programming
SBMF 2018: Formal Methods: Foundations and Applications, 2018
The EMVCo (EMV® is a registered trademark or trademark of EMVCo, LLC in the US and other countrie... more The EMVCo (EMV® is a registered trademark or trademark of EMVCo, LLC in the US and other countries.) organisation (i.e. MasterCard, Visa, etc.) protocols facilitate worldwide interoperability of secure electronic payments. Despite recent advances, it has proved difficult for academia to provide an acceptable solution to construction of secure applications within industry’s constraints. In this paper, we describe a methodology we have applied to EMV1. It involves domain specific languages and verification tools targeting different analysis of interest. We are currently collaborating with EMVCo on their upcoming EMV® 2nd Generation (EMV2) specifications.