Forscher der Boston University und des Research-&-Development-Spezialisten Draper haben ein System entwickelt, mit dessen Hilfe potenzielle Schwachstellen in Software künftig deutlich schneller und effizienter aufgespürt werden können. [...]
Das neuartige Tool setzt dabei auf maschinelles Lernen und Neuro-linguistisches Programmieren (NLP), um automatisch verschiedene für Hacker leicht angreifbare Stellen im Quellcode von C- und C++-Software ausfindig zu machen. Die Methode, die später auch auf weitere Programmiersprachen erweitert werden soll, lieferte in ersten Tests „vielversprechende Ergebnisse“.
Tausende neue Schwachstellen jedes Jahr
„Cyber-Kriminelle erfinden ständig neue Wege, um IT-Systeme und Applikationen zu kompromittieren. Dabei geht es typischerweise darum, neue Möglichkeiten zu finden, bestehende Schwachstellen in Software auszunutzen“, zitiert „TechXplore“ aus dem Projektbericht der Forscher aus Boston und Cambridge. Diese seien kleine Fehler, die von den Entwicklern der entsprechenden Programme gemacht wurden. „Solche Fehler können sich sehr schnell weiter ausbreiten, insbesondere durch die Verwendung von Open-Source-Software oder der mehrfachen Nutzung eines Codes“, betonen die Experten.
Jedes Jahr würden tausende neue Schwachstellen bekannt und in der Common Vulnerabilities and Exposures (CVE)-Datenbank öffentlich gemacht. Viele der Anfälligkeiten würden aber auch nach ihrem Aufdecken gleich intern von Entwicklern wieder behoben. „Wenn das nicht gründlich genug gemacht wird, können diese verwundbaren Stellen von Angreifern missbraucht werden. Das kann manchmal verheerende Folgen haben“, so die Forscher, die in diesem Zusammenhang auf jüngste Attacken à la „Heartbleed“ oder „WannaCry“.
„Vielversprechende Ergebnisse“
Um ihrem Analyse–Tool das selbständige Aufspüren von Schwachstellen anzutrainieren, haben die Wissenschaftler das System zunächst mit einem großen Datensatz gefüttert, der Millionen von Open-Source-Funktionen enthält. Diese wurden anschließend mithilfe von drei statischen Analyse-Werkzeugen nach potenziellen Problemen durchleuchtet und in unterschiedliche Gefahrenkategorien einteilt. „Auf Basis dieses Datensatzes haben wir dann ein schnelles und skalierbares Such-Tool entwickelt, das selbst dazulernen und den Quellcode direkt interpretieren kann“, schildern die Forscher.
Bei ersten Testläufen mit verschiedenen echten Softwarepaketen und dem aktuellen Benchmark-Datenset des National Institute of Standards and Technology lieferte das neue Suchwerkzeug dabei den Angaben seiner Entwickler zufolge durchwegs „vielversprechende Ergebnisse“. „Die Resultate zeigen, dass unser Ansatz auch in der Praxis sehr gut geeignet ist, um Schwachstellen in Software aufzuspüren“, resümieren die Wissenschaftler, die künftig neben C und C++ auch noch andere Programmiersprachen für ihr Analyse–Tool anbieten wollen.
Be the first to comment