2005
DOI: 10.1007/978-3-540-30579-8_24
|View full text |Cite
|
Sign up to set email alerts
|

Cryptographic Protocol Analysis on Real C Code

Abstract: Abstract. Implementations of cryptographic protocols, such as OpenSSL for example, contain bugs affecting security, which cannot be detected by just analyzing abstract protocols (e.g., SSL or TLS). We describe how cryptographic protocol verification techniques based on solving clause sets can be applied to detect vulnerabilities of C programs in the Dolev-Yao model, statically. This involves integrating fairly simple pointer analysis techniques with an analysis of which messages an external intruder may collec… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

2
65
0
1

Year Published

2005
2005
2022
2022

Publication Types

Select...
7
2

Relationship

1
8

Authors

Journals

citations
Cited by 85 publications
(68 citation statements)
references
References 17 publications
2
65
0
1
Order By: Relevance
“…Rather, the size of the model seems to be correlated to its logical complexity. In particular, we have observed, reproducing an experiment by Koen Claessen, that some safe C implementations of roles in the Needham-Schroeder asymmetric key protocol [36] only required models with 3 elements. It remains to be examined whether scaling up is necessary, or is in fact a non-problem.…”
Section: Resultssupporting
confidence: 69%
“…Rather, the size of the model seems to be correlated to its logical complexity. In particular, we have observed, reproducing an experiment by Koen Claessen, that some safe C implementations of roles in the Needham-Schroeder asymmetric key protocol [36] only required models with 3 elements. It remains to be examined whether scaling up is necessary, or is in fact a non-problem.…”
Section: Resultssupporting
confidence: 69%
“…The closest work related to our approach is by Bhargavanet al [1] and by Goubault-Larrecq and Parrennes [4]. Bhargavanet al [1] present an approach for verifying protocol implementations written in F# using ProVerif [2], a theorem prover as the underlying mechanism.…”
Section: Related Workmentioning
confidence: 99%
“…Goubault-Larrecq and Parrennes [4] present an approach for verifying protocol implementations in C. Their approach models secrecy properties as reachability properties of the C implementation and analyzes these properties. Unlike our approach that provides support for the entire nesC language, this approach is useful only for C implementations; however, the insights described by Goubault-Larrecq and Parrennes could be used to enhance the underlying verification technique for our framework.…”
Section: Related Workmentioning
confidence: 99%
“…Closest to ours is [14], where an executable implementation is instrumented (hence, it is not really a black box) to detect violations of security properties. In other works [15,16], various sourcecode verification techniques have been applied to source-code implementations.…”
Section: Introductionmentioning
confidence: 99%