Code gegen Cyberattacken

Code gegen Cyberattacken

Pufferüberlauf verhindern

Vernetzte Systeme machen den Angriff auf Embedded Systeme attraktiv. Die Folgen reichen von Programmabstürzen bis zum unberechtigten Zugriff auf das Betriebssystem. Chris Adlard, Senior Manager Global Communications & Customer Advocacy bei Coverity, Anbieter von Testlösungen für Source-Code erklärt, warum es wichtig ist, Sicherheitsaspekte früh im Softwareentwicklungsprozess einzubinden.

„Haben Angreifer die Embedded Systeme erst einmal geknackt, können sie auf sensible Daten zugreifen oder Rechner für ihre Zwecke instrumentalisieren“, Chris Adlard. (Bild: Coverity, Inc.)

Auf die Frage, warum er Banken überfalle, antwortete der US-amerikanische Bankräuber Willie Sutton: „I rob banks because that’s where the money is.“ An Geld kommen auch Cyberkriminelle bei Attacken auf Embedded Systeme. Ein besonders attraktives Ziel stellen sie als Kern von Cloud-Infrastrukturen dar, die zur Bereitstellung von Software benötigt werden. Haben Angreifer die Embedded Systeme erst einmal geknackt, können sie auf sensible Daten zugreifen oder Rechner für ihre Zwecke instrumentalisieren, für Denial-of-Services-Attacken. Dabei sind Cyber-Kriminellen Exploits von Pufferüberlaufdefekten was Bankräubern die Pistole ist. Bei einem Pufferüberlauf werden durch Fehler im Programm zu große Datenmengen in einen zu kleinen Puffer geschrieben. Dies geschieht, indem Verwaltungsinformationen mit Nutzdaten des Programms vermischt werden. Dadurch belegen die Daten mehr Platz als die Programmierer für sie eingeplant haben. In Folge überschreiben sie Speicherstellen an falsche Stellen. Gelingt es den Angreifern dabei, ihren eigenen Maschinencode in den Programmablauf zu integrieren, können sie beliebige Befehle mit den Privilegien des für den Pufferüberlauf anfälligen Prozesses ausführen. Die möglichen Schäden reichen von unsinnigen