Paul Fiterau-Brostean

dblp:150/7924 · DBLP profile ↗
← Back
13ranked-venue papers
7as first author
7since 2021 · last 2026
0000-0002-5185-0035ORCID · reported

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 7 · 5 first-author · 4 since 2021Security and privacy · 3 · 2 first-author · 2 since 2021Theory of computation · 3 · 1 first-authorArtificial intelligence and machine learning · 1 · 1 since 2021
YearPublicationVenuePosition
2026 SLλ : A Scalable Algorithm for Register Automata Learning
abstract
Abstract Existing active automata learning (AAL) algorithms have demonstrated their potential in capturing the behavior of complex systems (e.g., in analyzing network protocol implementations). The most widely used AAL algorithms generate finite state machine models, such as Mealy machines or deterministic finite automata. For many analysis tasks, however, it is crucial to generate richer classes of models that also show how relations between data parameters affect system behavior. Such models have shown potential to uncover critical bugs, but their learning algorithms do not scale beyond small and well curated experiments. In this article, we present $${SL}^{\lambda }$$ SL λ , an effective and scalable register automata (RA) learning algorithm that significantly reduces the number of membership queries required for inferring models. It achieves this by combining a tree-based cost-efficient data structure with mechanisms for computing short and restricted tests. We prove that $${SL}^{\lambda }$$ SL λ is guaranteed to learn an acceptor, in the form of a register automaton with n locations and t transitions, for a given data language of finite index, and that it can do so with at most $$O(t^2 \, (2n)^n + m t^2 \, m^m)$$ O ( t 2 ( 2 n ) n + m t 2 m m ) membership queries and O ( t ) equivalence queries, where m is the length of the longest counterexample received during learning. We have implemented $${SL}^{\lambda }$$ SL λ as a new algorithm in RALib. We evaluate its performance by comparing it against $${SL}^{*}$$ SL ∗ , the current state-of-the-art RA learning algorithm. Experiments on a series of benchmarks show that it reduces the number of membership queries by up to an order of magnitude, and also shows substantial asymptotic improvements in bigger systems.
Simon Dierl, Paul Fiterau-Brostean, Falk Howar, Bengt Jonsson 0001, Konstantinos Sagonas, Fredrik Tåquist
J. Autom. Reason.2
2024 Monitor-based Testing of Network Protocol Implementations Using Symbolic Execution
abstract
Implementations of network protocols must conform to their specifications in order to avoid security vulnerabilities and interoperability issues. To detect errors, testing must investigate an implementation’s response to a wide range of inputs, including those that could be supplied by an attacker. This can be achieved by symbolic execution, but its application in testing network protocol implementations has so far been limited. One difficulty when testing such implementations is that the inputs and requirements for processing a packet depend on the sequence of previous packets. We present a novel technique to encode protocol requirements by monitors, and then employ symbolic execution to detect violations of these requirements in protocol implementations. A monitor is a component external to the SUT, that observes a sequence of packets exchanged between protocol parties, maintains information about the state of the interaction, and can thereby detect requirement violations. Using monitors, requirements for stateful network protocols can be tested with a wide variety of inputs, without intrusive modifications in the source code of the SUT. We have applied our technique on the most recent versions of several widely-used DTLS and QUIC protocol implementations, and have been able to detect twenty two previously unknown bugs in them, twenty one of which have already been fixed and the remaining one has been confirmed.
Hooman Asadian, Paul Fiterau-Brostean, Bengt Jonsson 0001, Konstantinos Sagonas
ARES2
2024 SMBugFinder: An Automated Framework for Testing Protocol Implementations for State Machine Bugs
abstract
Implementations of stateful network protocols must keep track of the presence, order and type of exchanged messages. Any errors, so-called state machine bugs, can compromise security. SMBugFinder provides an automated framework for detecting these bugs in network protocol implementations using black-box testing. It takes as input a state machine model of the protocol implementation which is tested and a catalogue of bug patterns for the protocol conveniently specified as finite automata. It then produces sequences that expose the catalogued bugs in the tested implementation. Connection to a harness allows SMBugFinder to validate these sequences. The technique behind SMBugFinder has been evaluated successfully on DTLS and SSH in prior work. In this paper, we provide a user-level view of the tool using the EDHOC protocol as an example.
Paul Fiterau-Brostean, Bengt Jonsson 0001, Konstantinos Sagonas, Fredrik Tåquist
ISSTA1
2024 Scalable Tree-based Register Automata Learning
abstract
Abstract Existing active automata learning (AAL) algorithms have demonstrated their potential in capturing the behavior of complex systems (e.g., in analyzing network protocol implementations). The most widely used AAL algorithms generate finite state machine models, such as Mealy machines. For many analysis tasks, however, it is crucial to generate richer classes of models that also show how relations between data parameters affect system behavior. Such models have shown potential to uncover critical bugs, but their learning algorithms do not scale beyond small and well curated experiments. In this paper, we present $${SL}^{\lambda }$$ SL λ , an effective and scalable register automata (RA) learning algorithm that significantly reduces the number of tests required for inferring models. It achieves this by combining a tree-based cost-efficient data structure with mechanisms for computing short and restricted tests. We have implemented $${SL}^{\lambda }$$ SL λ as a new algorithm in RALib. We evaluate its performance by comparing it against $${SL}^{*}$$ SL ∗ , the current state-of-the-art RA learning algorithm, in a series of experiments, and show superior performance and substantial asymptotic improvements in bigger systems.
Simon Dierl, Paul Fiterau-Brostean, Falk Howar, Bengt Jonsson 0001, Konstantinos Sagonas, Fredrik Tåquist
TACAS (2)2
2023 Automata-Based Automated Detection of State Machine Bugs in Protocol Implementations
Paul Fiterau-Brostean, Bengt Jonsson 0001, Konstantinos Sagonas, Fredrik Tåquist
NDSS1
2022 Applying Symbolic Execution to Test Implementations of a Network Protocol Against its Specification
abstract
Implementations of network protocols must conform to their specifications in order to avoid security vulnerabilities and interoperability issues. We describe our experiences using symbolic execution to thoroughly test several implementations of a network security protocol against its specification. We employ a methodology in which we first extract requirements from the protocol's RFC and turn them into formulas. These formulas are then utilized by symbolically executing the protocol implementation to explore code paths that can be traversed on packet sequences that violate a requirement. When this exploration exposes a bug, corresponding input values are produced and turned into test cases that can validate the bug in the original implementation. Since we let symbolic execution be guided by requirements, it can naturally produce a wide variety of requirement-violating input sequences, which is difficult to achieve with existing techniques for protocol testing. We applied this methodology to test four different implementations of DTLS against the protocol's RFC. We were able to quickly expose a known CVE in an older version of OpenSSL, and to discover numerous previously unknown vulnerabilities and nonconformance issues in DTLS implementations, which have by now been confirmed and fixed by their implementors.
Hooman Asadian, Paul Fiterau-Brostean, Bengt Jonsson 0001, Konstantinos Sagonas
ICST2
2022 DTLS-Fuzzer: A DTLS Protocol State Fuzzer
abstract
DTLS-Fuzzer is a protocol state fuzzer for imple-mentations of DTLS clients and servers. DTLS-Fuzzer uses model learning to generate a state machine model of a DTLS implementation, capturing its input/output behavior. This model can be used for model-based testing or can be analyzed for security vulnerabilities and specification violations. This demo abstract overviews the architecture, API, and usage of the tool.
Paul Fiterau-Brostean, Bengt Jonsson 0001, Konstantinos Sagonas, Fredrik Tåquist
ICST1
2020 Analysis of DTLS Implementations Using Protocol State Fuzzing
Paul Fiterau-Brostean, Bengt Jonsson 0001, Robert Merget, Joeri de Ruiter, Konstantinos Sagonas, Juraj Somorovsky
USENIX Security Symposium1
2018 Model Learning as a Satisfiability Modulo Theories Problem
Rick Smetsers, Paul Fiterau-Brostean, Frits W. Vaandrager
LATA2
2017 Model learning and model checking of SSH implementations
abstract
We apply model learning on three SSH implementations to infer state machine models, and then use model checking to verify that these models satisfy basic security properties and conform to the RFCs. Our analysis showed that all tested SSH server models satisfy the stated security properties, but uncovered several violations of the standard.
Paul Fiterau-Brostean, Toon Lenaerts, Erik Poll, Joeri de Ruiter, Frits W. Vaandrager, Patrick Verleg
SPIN1
2016 Combining Model Learning and Model Checking to Analyze TCP Implementations
Paul Fiterau-Brostean, Ramon Janssen, Frits W. Vaandrager
CAV (2)1
2015 Learning Register Automata with Fresh Value Generation
Fides Aarts, Paul Fiterau-Brostean, Harco Kuppens, Frits W. Vaandrager
ICTAC2
2014 Learning Fragments of the TCP Network Protocol
Paul Fiterau-Brostean, Ramon Janssen, Frits W. Vaandrager
FMICS1