Experience Report: How to Extract Security Protocols' Specifications from C Libraries
Title | Experience Report: How to Extract Security Protocols' Specifications from C Libraries |
Publication Type | Conference Paper |
Year of Publication | 2018 |
Authors | Vazquez Sandoval, Itzel, Lenzini, Gabriele |
Conference Name | 2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC) |
Date Published | jul |
Publisher | IEEE |
ISBN Number | 978-1-5386-2667-2 |
Keywords | automatic tools, C libraries, C programming language, codelevel reverse engineering, composability, Documentation, extract security protocols, formal model, formal specification, formal verification, human-dependent approach, Libraries, Metrics, object oriented security, object-oriented languages, object-oriented programming, Protocols, pubcrawl, resilience, Resiliency, reverse engineering, security, security of data, security protocol specifications, security protocols, Software, Task Analysis, Tools |
Abstract | Often, analysts have to face a challenging situation when formally verifying the implementation of a security protocol: they need to build a model of the protocol from only poorly or not documented code, and with little or no help from the developers to better understand it. Security protocols implementations frequently use services provided by libraries coded in the C programming language; automatic tools for codelevel reverse engineering offer good support to comprehend the behavior of code in object-oriented languages but are ineffective to deal with libraries in C. Here we propose a systematic, yet human-dependent approach, which combines the capabilities of state-of-the-art tools in order to help the analyst to retrieve, step by step, the security protocol specifications from a library in C. Those specifications can then be used to create the formal model needed to carry out the analysis. |
URL | https://ieeexplore.ieee.org/document/8377953 |
DOI | 10.1109/COMPSAC.2018.10325 |
Citation Key | vazquez_sandoval_experience_2018 |
- object-oriented languages
- tools
- Task Analysis
- Software
- security protocols
- security protocol specifications
- security of data
- security
- reverse engineering
- Resiliency
- resilience
- pubcrawl
- Protocols
- object-oriented programming
- automatic tools
- object oriented security
- Metrics
- Libraries
- human-dependent approach
- formal verification
- Formal Specification
- formal model
- extract security protocols
- documentation
- composability
- codelevel reverse engineering
- C programming language
- C libraries