crocs-muni / sec-certs

Tool for analysis of security certificates and their security targets (Common Criteria, NIST FIPS140-2...).
https://sec-certs.org
MIT License
13 stars 9 forks source link

Improve CPE matching (again) and add SAR processing #188

Closed adamjanovsky closed 2 years ago

adamjanovsky commented 2 years ago

Finnish research of CVEs and present the results.

The list below represents current state:

SARs and correlations

Note: Level checks on SARs were discarded due to older versions of common criteria. It is insufficient to rewrite the newest CC specification into the form of regular expressions that are enforced. We must count also for older versions of security assurance components. We should not mind false positive as long as we compute correlations and enforce large support.

Further improvement of CVE matching

adamjanovsky commented 2 years ago

Comment on recent CPE matching advances

I did four things:

Implementing lemmatization brings certificate product names into canonical form which simplifies the comparison with CPE strings. It would be time consuming to standardize all CPEs but I assume that they are mostly in the standard form. This is surely not the case for certificate names. Consider

"Infineon Security Controller M7892 B11 with optional RSA2048/4096 v1.02.013, EC v1.02.013, SHA-2 v1.01, SCL v2.02.012, Base v1.02.013, and Toolbox v1.02.013 libraries and with specific IC dedicated software (firmware)"

Direct comparison with CPE "Infineon RSA Library 1.02.013" yields 72 similarity score (due to libraries and library mismatch). We treat this by lemmatization that returns

'infineon security controller m7892 b11 with optional rsa2048/4096 1.02.013 , ec 1.02.013 , sha-2 1.01 , scl 2.02.012 , base 1.02.013 , and toolbox 1.02.013 library and with specific ic dedicated software ( firmware )'

that gets ~92 similarity score.

All improvements yield the following results in comparison to previous version:

adamjanovsky commented 2 years ago

@J08nY, prior to running sec-certs, a Spacy language model must be downloaded with python -m spacy download en_core_web_sm.

adamjanovsky commented 2 years ago

@J08nY I implemented some SAR inference and EAL cleaning. May be of interest for you:

adamjanovsky commented 2 years ago

@J08nY merged, feel free to update the web. Note the two comments above.