Auch in diesem Jahr gibt es wieder Top 10 Sicherheitslücken. Hierfür wird die Common Weakness Enumeration (CWE) verwendet. Die CWE ermittelt jährlich eine Top 25 Liste, aus der wir jetzt die 10 Top Sicherheitslücken vorstellen.
Was ist CWE?
Die Common Weakness Enumeration (CWE) ist eine offene Auflistung typischer Schwachstellen in Hard- und Software. Die CWE soll eine gemeinsame Basis zur Identifizierung sicherheitsrelevanter Schwächen bilden. Eine Community pflegt die Liste und die MITRE Corporation veröffentlicht diese Liste dann. Die MITRE betreibt Forschungsinstitutionen im Auftrag der Vereinigten Staaten. Sie ist eine Non-Profit Organisation, die aus dem Massachussets Institute of Technology (MIT) hervorgegangen. Die komplette Liste und auch die Methodik der Berechnung, kann hier eingesehen werden.
Top 10 Sicherheitslücken 2021
In der folgenden Tabelle werden die Top 10 Sicherheitslücken aus dem Jahr 2021 beschrieben. Wir werden uns im Folgenden einzelne CWEs im Detail anschauen.
Rang | CWE-ID | Beschreibung |
---|---|---|
1 | CWE-787 | Unerlaubtes Schreiben |
2 | CWE-79 | Unsachgemäße Neutralisierung von Eingaben bei der Generierung von Webseiten ('Cross-Site Scripting') |
3 | CWE-125 | Unerlaubtes Lesen |
4 | CWE-20 | Unsachgemäße Eingabevalidierung |
5 | CWE-78 | Unsachgemäße Neutralisierung von speziellen Elementen, die in einem Betriebssystem-Befehl verwendet werden ("OS Command Injection") |
6 | CWE-89 | Unsachgemäße Neutralisierung von speziellen Elementen, die in einem SQL-Befehl verwendet werden ('SQL Injection') |
7 | CWE-416 | Use After Free |
8 | CWE-22 | Unzulässige Beschränkung eines Pfadnamens auf ein eingeschränktes Verzeichnis ('Path Traversal') |
9 | CWE-352 | Cross-Site Request Forgery (CSRF) |
10 | CWE-434 | Uneingeschränkter Upload von Dateien eines gefährlcichen Typs |
Die Schwachstelle an der Nummer eins ist das Schreiben außerhalb eines bestimmten Bereichs. Software reserviert einen bestimmten Speicherbereich und über diesen kann ein Angreifer dann hinausschreiben. Dies führt dann meist zu unvorhergesehenem Verhalten des Programms oder der Applikation, beispielsweise zu einem Absturz oder der Beschädigung von Daten. Unter Umständen kann sogar Code ausgeführt werden. Dies kann dann zu schweren Risiken für den Einsatz von Software führen.
Unsachgemäße Neutralisierung und Risiken
Eine ganze Batterie an Schwachstellen in der Top 10 Liste ist die “Unsachgemäße Neutralisierung”. Dies bedeutet das Eingaben durch den:die Nutzer:in nicht sachgemäß gefiltert werden durch das Programm. Dies kann beispielsweise bei einem Kontaktformular passieren, bei dem der:die Nutzer:in Eingaben machen kann. Die folgende Eingabe kann beispielsweise zu einer XSS-Schwachstelle führen, wenn Eingaben des Nutzers nicht gefiltert werden.
<script>alert(1);</script>
Dies funktioniert auch mit Betriebssystem-Befehlen (OS-Injection) oder mit Datenbank-Befehlen(SQL-Injection). Die Software neutralisiert in allen Fällen die vom Benutzer kontrollierbaren Eingaben nicht oder falsch, bevor sie in die Ausgabe eingefügt werden. Dies passt auch zu Platz vier. Hier empfängt die Applikation ebenfalls nicht validierte oder falsche Daten und die Daten können in Folge dessen nicht korrekt verarbeitet werden. Der Unterschied ist, dass nicht zwingend Datenbank oder Betriebssystem Zugriff erscheint, sondern beispielsweise ein Name falsch gespeichert wird oder anderweitig Daten manipuliert werden.