Sicherheitslücken in Programmiersprachen machen Apps angreifbar

Betroffen sind die Sprachen JavaScript, Perl, Ruby und Python. Bestimmte Funktionen erlauben unter Umständen ein anderes Verhalten einer App. Die Schwachstellen findet ein Forscher durch den Einsatz eines Fuzzing-Tools gegen diverse Interpreter.

Fernando Arnaboldi, Sicherheitsforscher bei IOActive, hat auf der Konferenz Black Hat Europe schwerwiegende Sicherheitslücken in fünf Programmiersprachen vorgestellt. Sie sollen auch sicher entwickelte Apps unsicher machen, weil Angreifer in der Lage sein sollen, diese Schwachstellen zu nutzen, um das Verhalten der Anwendung zu verändern. „Das bedeutet, dass Anwendungen nur so sicher sind wie die Programmiersprachen, die ihren Code verarbeiten“, heißt es in der Einleitung von Arnaboldis White Paper.

Bug entdeckt (Bild: Shutterstock)Darin widmet sich Arnaboldi den Programmiersprachen JavaScript, PHP, Ruby, Perl und Python. In Python entdeckte er „undokumentierte Methoden und lokale Umgebungsvariablen, die für die Ausführung von OS-Befehlen benutzt werden können“. JRuby, die Java-Implementierung von Ruby, „lädt und führt Remote Code aufgrund einer Funktion aus, die nicht für die Ausführung von Remote Code gedacht ist“.

In PHP wiederum soll es möglich sein, mit bestimmten nativen Funktionen Konstanten zu verarbeiten, um ebenfalls aus der Ferne Code auszuführen. JavaScript soll indes Dateiinhalte durch Fehlermeldungen preisgeben.

Die Bugs entdeckte der Forscher mithilfe eines „differential Fuzzer“. Als Fuzzing bezeichnet man eine Technik, bei der durch die Eingabe großer Mengen zufälliger Daten in einem System Abstürze ausgelöst werden sollen, um Programmierfehler zu finden. Den Fuzzer setzte er jedoch nicht gegen die Programmiersprachen, sondern gegen ihre Interpreter ein.

Für JavaScript kamen unter anderem die JavaScript-Engines V8, ChakraCore und Spider Monkey von Google, Microsoft und Mozilla sowie NodeJS zum Einsatz. PHP testete er mit PHP und HHVM, Ruby mit Ruby und JRuby, Perl mit Perl und ActivePerl sowie Python mit CPython, PyPy und Jython.

„Letztlich betreffen die Anfälligkeiten reguläre Anwendungen, die von den betroffenen Interpretern verarbeitet werden. Allerdings sollten die Fixes auf die Interpreter angewendet werden“, ergänzte der Forscher. „In Bezug auf die Programmiersprachen, können Softwareentwickler unwissend Code in eine Anwendung einfügen, der auf eine andere Art genutzt wird, als es der Entwickler vorgesehen hat. Einige dieser Verhaltensweisen können ein Sicherheitsrisiko für Anwendungen darstellen, die gemäß den Richtlinien sicher entwickelt wurden.“

WEBINAR

Ransomware Protection: Praxisleitfaden für den Schutz ihres Unternehmens

Helge Husemann, Product Marketing Manager EMEA von Malwarebytes, stellt in dem 60-minütigen Webinar die neue Sicherheitslösung Malwarebytes Endpoint Protection vor, die ein mehrstufiges Sicherheitskonzept enthält und damit einen effektiven Schutz vor modernen Bedrohungen wie WannaCry, Petya und anderen Angriffen bietet.

[mit Material von Liam Tung, ZDNet.com]

Tipp: Was wissen Sie über Mobile Apps? Überprüfen Sie Ihr Wissen – mit 15 Fragen auf silicon.de.

Themenseiten: Anwendungsentwicklung, Apps, IOActive, Security, Sicherheit

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

1 Kommentar zu Sicherheitslücken in Programmiersprachen machen Apps angreifbar

Kommentar hinzufügen
  • Am 12. Dezember 2017 um 14:51 von SVL

    Fehler in Programmiersprachen gab es schon immer. Fehler in den Klassen auch schon immer. Fehler in den Intepreteren und Compilern auch schon immer. Heute wird noch eine große Show daraus gemacht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *