mbedtls icon indicating copy to clipboard operation
mbedtls copied to clipboard

Bignum and ECC API evolution: study fuzzers

Open gilles-peskine-arm opened this issue 9 months ago • 0 comments

OSS-Fuzz runs three differential fuzzers that access low-level APIs in Mbed TLS:

  • cryptofuzz: high level APIs (we're in the process of adding PSA), many bignum functions, some ECC functions.
  • bignum-fuzzer: many bignum functions. I'm not sure if it's still relevant as cryptofuzz (by the same maintainer) is meant to eventually replace bignum-fuzzer.
  • ecc-diff-fuzzer: ECC functions. I'm not sure if it's still relevant as cryptofuzz (by a diffferent maintainer) is has similar functionality.

We are likely to remove bignum and ECC APIs from the public interface in Mbed TLS 4.0 and TF-PSA-Crypto 1.0. The goal of this issue is to design how we will fuzz bignum and ECC. Definition of done: there is a documented design (in a document or on GitHub) and issues to implement that design have been filed and scheduled.

Plausible solution: we edit the build scripts in OSS-Fuzz to access internal headers, and we build the fuzzer(s) in our CI to ensure that we preserve the APIs that they use.

gilles-peskine-arm avatar Apr 29 '24 18:04 gilles-peskine-arm