Sie sind an Cloud Computing interessiert? Legen Sie jetzt los

Rails ohne Fails: Abwehr von Code-Injection-Angriffen

Akamai Wave Blue

Verfasser

Sam Tinklenberg, Maxim Zavodchik, und Aparna Mandal

November 06, 2024

Sam Tinklenberg

Verfasser

Sam Tinklenberg

Sam Tinklenberg ist Senior Security Researcher in der Apps & APIs Threat Research Group bei Akamai. Sam verfügt über Erfahrung im Bereich Penetrationstests für Webanwendungen und arbeitet mit großem Engagement daran, kritische Schwachstellen zu finden und Schutz vor entsprechenden Bedrohungen zu entwickeln. Wenn er nicht gerade Webanwendungen knackt, spielt Sam Video- und Brettspiele, ist gerne draußen in der Natur und verbringt Zeit mit seinen Freunden und seiner Familie.

Maxim Zavodchik

Verfasser

Maxim Zavodchik

Maxim Zavodchik ist Senior Manager von Apps & APIs Threat Research bei Akamai.

Aparna Mandal

Verfasser

Aparna Mandal

Aparna Mandal is the Lead Product Manager for Akamai Adaptive Security Engine, the core web application firewall engine for Akamai's web application and API security solution. She has more than a decade of experience in building and implementing innovative and efficient solutions.

Unsere neue spezielle Rails-Regel erkennt täglich Zehntausende von Code-Injection-Versuchen in Rails weltweit.
Unsere neue spezielle Rails-Regel erkennt täglich Zehntausende von Code-Injection-Versuchen in Rails weltweit.

Wir bei Akamai sind bestrebt, unsere Web Application Firewall (WAF) kontinuierlich zu verbessern, um unseren Kunden ein Höchstmaß an Sicherheit zu bieten. Im Rahmen dieses Engagements freuen wir uns, die Veröffentlichung einer neuen dedizierten Erkennungsfunktion für Code-Injection-Angriffe bekanntzugeben, die im Speziellen auf Rails-Anwendungen (Ruby on Rails) abzielen.

Warum ist es wichtig, „Ruby on Rails“-Anwendungen zu schützen?

Ruby on Rails ist aufgrund seiner Nutzerfreundlichkeit, Flexibilität und zuverlässigen Ökosysteme zu einem beliebten Framework für die Entwicklung von Webanwendungen geworden. Die Fähigkeit von Rails, die Entwicklungszeit zu verkürzen und gleichzeitig eine saubere Codebasis mit vielen Support-Möglichkeiten zu erhalten, hat das Framework für Entwickler in Unternehmen jeder Größe sehr attraktiv gemacht. Viele bekannte Marken wie GitHub, Shopify, Airbnb und Basecamp haben ihre Plattformen mit Ruby on Rails erstellt, was seine Bedeutung in der Technologiebranche unterstreicht.

Rails ist jedoch aus denselben Gründen, aus denen es Entwickler anzieht, zu einem attraktiveren Ziel für Cyberangreifer geworden. Die stärker automatisierten Prozesse und der ständig zunehmende Bedarf an interoperablen Anwendungen schaffen neue Versteckmöglichkeiten für Angreifer. Das Sichern von Rails-Anwendungen ist für den Schutz sensibler Daten und Geschäftsabläufe dieser kritischen Plattformen unerlässlich.

Wachsende Bedrohungen gegen Ruby on Rails

Im Laufe der Jahre war Rails mit mehreren bemerkenswerten Sicherheitslücken und Angriffsvektoren konfrontiert. Das Open Worldwide Application Security Project (OWASP) hat ein Cheat-Sheet zur Sicherung von Rails veröffentlicht. Es verdeutlicht, wie wichtig es für Entwickler und Sicherheitsteams ist, wachsam zu sein und zu bleiben.

Während die meisten kritischen Sicherheitsanfälligkeiten in Rails mit der unsicheren Deserialisierung der Datenformate JSON und YAML zusammenhängen, könnten Entwickler die Anwendung und die Nutzerdaten versehentlich zusätzlichen Angriffsarten, wie z. B. Code-Injection, aussetzen. Dies gilt insbesondere für die Funktion „eval“ in der Sprache Ruby. Diese Funktion erstellt Ruby-Code dynamisch aus einer Zeichenfolgeneingabe. Wenn die vom Angreifer gesteuerte Eingabe innerhalb dieser Funktion endet, kann der Angreifer jeden beliebigen Ruby-Code ausführen.

Hier ein Beispiel für einen solchen Fall:

def calculate

  calc = params[:calc]

  result = eval(calc)

  render plain: result

End

 In diesem äußerst naiven Beispiel nimmt die Aktion calculate einen Parameter calc aus der Nutzereingabe, der eine mathematische Operation wie „1+2“ enthält und benutzt die Methode eval in Ruby, die wiederum das Ergebnis der mathematischen Operation zurückgibt. Dadurch entsteht eine Sicherheitslücke durch Code-Injection, da ein Angreifer beliebigen Ruby-Code zum Ausführen bereitstellen kann.

Wie der Angreifer diese Schwachstelle ausnutzen kann

Ein Angreifer kann diese Sicherheitsanfälligkeit ausnutzen, indem er eine manipulierte Anfrage mit schädlichem Ruby-Code sendet, z. B.:

  POST /calculate?ip=IO.popen('cat%20%2Fetc%2Fpasswd').read%20%23

Oder in dekodierter Form:

  IO.popen('cat /etc/passwd').read #

Dieser Befehl würde dazu führen, dass der Inhalt der Systemdatei /etc/passwd (die vertrauliche Informationen über Systemnutzer enthält) ausgelesen wird. Das #-Symbol am Ende ist ein Ruby-Kommentar, der alles danach ignoriert und Syntaxfehler im restlichen Code verhindert.

Abwehr mit Adaptive Security Engine von Akamai

Angesichts der zunehmenden Verbreitung komplexer Cyberbedrohungen ist es unerlässlich, über leistungsstarke Sicherheitsmaßnahmen zu verfügen. Unsere neueste Adaptive Security Engine-Regel – 3000404 Ruby on Rails Sensitive Operation Injection Attack Detected – bietet ein höheres Maß an Genauigkeit und Abdeckung bei der Erkennung und Abwehr von Code-Injection-Angriffen auf Rails-Anwendungen (Abbildung 1).

Unsere neueste Adaptive Security Engine-Regel – 3000404 Ruby on Rails Sensitive Operation Injection Attack Detected – bietet ein höheres Maß an Genauigkeit und Abdeckung bei der Erkennung und Abwehr von Code-Injection-Angriffen auf Rails-Anwendungen (Abbildung 1). Abb. 1: „Ruby on Rails“-Code-Injection-Angriff blockiert durch Regel 3000404 der Adaptive Security Engine

Wichtigste Vorteile

  • Verbesserte Genauigkeit: Fortschrittliche Erkennungstechniken identifizieren und blockieren Code-Injection-Versuche, minimieren Fehlalarme und stellen sicher, dass legitimer Traffic nicht beeinträchtigt wird

  • Umfassende Abdeckung: Umfangreiche Abdeckung für eine Vielzahl von Code-Injection-Vektoren bietet leistungsstarken Schutz für Ihre Rails-Anwendungen

„Ruby on Rails“-Code-Injection-Angriffe auf unsere Kunden

Unsere neue spezielle Rails-Regel erkennt täglich Zehntausende von Code-Injection-Versuchen in Rails weltweit. In den letzten Wochen hat diese Regel für die Adaptive Security Engine mit fast 250.000 Erkennungen an einem einzigen Tag ihren Höchststand erreicht und durchschnittlich etwa 70.000 Angriffe pro Tag abgewehrt (Abbildung 2).

 In den letzten Wochen hat diese Regel der Adaptive Security Engine mit fast 250.000 Erkennungen an einem einzigen Tag ihren Höchststand erreicht und durchschnittlich etwa 70.000 Angriffe pro Tag abgewehrt (Abbildung 2). Abb. 2: Erkennungen durch Regel 3000404 der Adaptive Security Engine pro Tag

Bisher haben wir mehr als 3.000 einzigartige Angriffs-IPs und über 21.000 Hosts beobachtet, die von diesen Angriffsversuchen betroffen waren. Diese Versuche kommen aus der ganzen Welt, die meisten haben ihren Ursprung aber in Deutschland (Abbildung 3).

Diese Versuche kommen aus der ganzen Welt, die meisten haben ihren Ursprung aber in Deutschland (Abbildung 3). Abb. 3: Karte der beobachteten Versuche von Rails-Code-Injection

Ausblick

Sicherheit ist ein wichtiger Aspekt Ihres Unternehmens. Daher sind wir bestrebt, Lösungen anzubieten, die Ihre Erwartungen nicht nur erfüllen, sondern sogar übertreffen. Unsere WAF wurde entwickelt, um umfassenden Schutz zu bieten – und die zusätzliche Regel zur Erkennung von Code-Injection-Angriffen in Rails stärkt unsere Abwehrmechanismen zum Schutz Ihrer Anwendungen und Daten.

Beim von Innovationen getriebenen Ausbau unserer WAF-Funktionen konzentrieren wir uns weiterhin darauf, unseren Kunden die effektivsten und zuverlässigsten Sicherheitslösungen zu bieten. Bleiben Sie auf dem Laufenden für weitere Updates. In der Zwischenzeit arbeiten wir unermüdlich weiter daran, unser Produktangebot zu verbessern und unsere Vorreiterposition in Bezug auf die Sicherheit von Webanwendungen zu halten.

Wenn Sie mehr über die Adaptive Security Engine und die Akamai-Sicherheitslösungen für Webanwendungen und APIs erfahren möchten, kontaktieren Sie Ihren Akamai-Ansprechpartner.



Akamai Wave Blue

Verfasser

Sam Tinklenberg, Maxim Zavodchik, und Aparna Mandal

November 06, 2024

Sam Tinklenberg

Verfasser

Sam Tinklenberg

Sam Tinklenberg ist Senior Security Researcher in der Apps & APIs Threat Research Group bei Akamai. Sam verfügt über Erfahrung im Bereich Penetrationstests für Webanwendungen und arbeitet mit großem Engagement daran, kritische Schwachstellen zu finden und Schutz vor entsprechenden Bedrohungen zu entwickeln. Wenn er nicht gerade Webanwendungen knackt, spielt Sam Video- und Brettspiele, ist gerne draußen in der Natur und verbringt Zeit mit seinen Freunden und seiner Familie.

Maxim Zavodchik

Verfasser

Maxim Zavodchik

Maxim Zavodchik ist Senior Manager von Apps & APIs Threat Research bei Akamai.

Aparna Mandal

Verfasser

Aparna Mandal

Aparna Mandal is the Lead Product Manager for Akamai Adaptive Security Engine, the core web application firewall engine for Akamai's web application and API security solution. She has more than a decade of experience in building and implementing innovative and efficient solutions.