Der Entwickler von curl hat die Sicherheitsprobleme, die in der Vergangenheit entdeckt wurden, sich genauer angesehen: »half of curl’s vulnerabilities are C mistakes«. Interessant bei der Analyse finde ich:
- 42 von 51 Problemen (82 %) haben mit der Überschreitung von Puffergrenzen zu tun; Pointer-Arithmetik
- Fehler werden auch mit zunehmendem Alter des Projekts weiterhin eingebaut – Fehler machen auch erfahrene Entwickler: »I think it shows quite clearly that age hasn’t prevented C related mistakes to slip in. Even if we are experienced C programmers and aged developers, we still let such flaws slip in.«
- Fehler werden durchschnittlich erst nach 6 Jahren (2000 Tagen) oder noch später gefunden und mit dem Alter des Projekts werden die Fehler nicht schneller entdeckt: »Or at least we don’t find old such mistakes that went in a long time ago – as the reported vulnerabilities in the project have usually been present in the source code for many years at the time of the finding.«
Analyse von Google
Von Google gibt es eine Reihe von Analysen, die zu ähnlichen Ergebnissen kommen:
- Google Online Security Blog: Data Driven Security Hardening in Android
- Google now supports Rust for Android OS development
- Google Online Security Blog: Rust in the Android platform
Android Developers Blog: Queue the Hardening Enhancements
- 59 % der Fehler sind Speicherfehler (1); in (2) wird sogar von 70 % gesprochen: »memory safety bugs continue to be a top contributor of stability issues, and consistently represent ~70 % of Android’s high severity security vulnerabilities.«
- »memory bugs occur in new or recently modified code, with about 50 % being less than a year old« (1) und (3)
- »Use-after-free (UAF), integer overflows, and out of bounds (OOB) reads/writes comprise 90 % of vulnerabilities with OOB being the most common.« (4)
Analyse von Microsoft
Microsoft kommt in einer Untersuchung auch zu diesen Ergebnissen:
- seit 2006 sind jährlich etwa 70 % der Sicherheitsfehler auf Speicherfehler zurückzuführen »~70 % of the vulnerabilities Microsoft assigns a CVE each year continue to be memory safety issues«