Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Je kunt ook een cookievrije versie van de website bezoeken met minder functionaliteit. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , reacties: 29, views: 30.559 •

Op internet is een exploit verschenen voor een ernstig Ruby on Rails-lek dat afgelopen dinsdag aan het licht is gekomen. Het gaat om een van de twee beveiligingsproblemen die de Nederlandse overheid ertoe noopten om DigiD gedurende een dag offline te halen.

Ruby on RailsVoor een van de twee beveiligingsproblemen in het websiteframework Ruby on Rails die dinsdag aan het licht kwamen, en waarvoor de ontwikkelaars op dezelfde dag een patch uitbrachten, is een exploit verschenen. Dat schrijft Threatpost. Het gaat om de ernstigste van de twee lekken, die het een aanvaller onder meer mogelijk maken om de authenticatie te omzeilen, sql-queries te injecteren, op afstand eigen code uit te voeren en een applicatie op afstand offline te halen.

Het feit dat er nu een kant-en-klare exploit beschikbaar is, maakt het voor beheerders van Ruby on Rails-installaties nog harder nodig om te updaten: het beveiligingsprobleem is nu eenvoudig te misbruiken. Een exploit is bovendien ook opgenomen in Metasploit, een softwarepakket waarmee beveiligingsexperts de beveiliging van hun systemen kunnen testen, maar waarmee dus ook problemen in andermans systemen kunnen worden opgespoord.

Het beveiligingsprobleem in Ruby on Rails zorgde ervoor dat DigiD woensdag niet te gebruiken was. De Nederlandse overheid vond het beveiligingsprobleem zo ernstig, dat het authenticatieplatform offline werd gehaald. "Met de downtime willen we misbruik voorkomen en de patch kunnen uitrollen en testen", zei een woordvoerder woensdag tegen Tweakers. Inmiddels is DigiD weer te gebruiken.

Reacties (29)

De kwetsbaarheid zit in Rails, het framework. Niet in Ruby, de programmeertaal.

[Reactie gewijzigd door Kanarie op 10 januari 2013 16:59]

Of op elk ander framework
Ik vraag me af of je de andere artikelen gelezen hebt over dit lek en DigiD, en eigenlijk nog belangrijker of je de reacties daaronder ook gelezen hebt.

Zie bijvoorbeeld deze reacties om een wat genuanceerder beeld te krijgen van deze beveiligingsproblemen:

berkes in 'nieuws: Overheid haalt DigiD offline vanwege ernstig beveiligingsprobleem - update'
NovapaX in 'nieuws: Overheid haalt DigiD offline vanwege ernstig beveiligingsprobleem - update'
Nou volgens mij was het niet heel complex om een exploit te maken. Ik heb de details even doorgenomen. Het vinden van de attack vector was misschien wel tricky, maar het misbruiken niet zo.
http://www.insinuator.net/2013/01/rails-yaml/ (link gevonden)
Een kwestie van een XML naar de server sturen met een bepaalde payload.

Dat het lek behoorlijk wat publiciteit heeft gekregen zal ook wel geholpen hebben met de ontwikkeling van de exploit. Je kan willekeurige code uitvoeren, dus ook wel de moeite waard om dat te misbruiken voordat alles gepatched is.

edit: link opgezocht

[Reactie gewijzigd door Flight77 op 10 januari 2013 17:04]

Deze exploits zijn gewoon ontwikkeld op basis van de gemelde kwetsbaarheden. Hoe jij er bij komt dat het al een tijd een probleem zou zijn begrijp ik niet.
Dat het al een tijd een probleem was heeft hij gewoon gelijk in, alle eerdere versies van rails waren kwetsbaar. Het is alleen deze week pas bekend geworden. Als een kwaatwillende hacker dit al een tijdje wist kon hij er al die tijd gewoon gebruik van maken.
Vanaf versie 2.0 (al een tijdje inderdaad maar niet alle eerdere versies)

er is een fix voor de versies vanaf 2.3.
De kwetsbaarheid is inderdaad al lang aanwezig, maar Darkangle suggereert dat deze al langer bekend zou zijn dan de meldingen van eind december, waardoor de kant en klare exploit er 'nu al' zou zijn.

De exploit is dusdanig simpel dat het onnodig is om aan te nemen dat de makers hiervan langer de tijd hebben gehad.
Maar heren, geef toe. De overheid heeft goed gehandeld. Mag ook wel eens gezegd worden.
Ze hadden eigenlijk sneller moeten handelen. De aankonding op de rails security mailing list was dinsdagavond. Woensdagochtend ging DigiD op zwart.

[Reactie gewijzigd door Kanarie op 10 januari 2013 17:24]

Wellicht komt dat doordat de meesten niet in de avond werken? Vind ik toch snel: een halve dag.
Maar heren, geef toe. De overheid heeft goed gehandeld. Mag ook wel eens gezegd worden.
@Wasp
Absoluut, ik vermoed dat de heren systeembeheerders achter DigID ook erg opgelucht zijn dat de dat systeem gisteren al gepatched hebben. Goed opgelost, kan er niets anders van maken :)

[Reactie gewijzigd door plankton123 op 10 januari 2013 17:36]

Als dat zo zou zijn, vind je dat niet bezwaarlijk voor een systeem als DigiD?
Ik vind het een zeer nette actie van digid met nog vers alle diginotar en andere lekken bij de overheid...

Het is al een zeer grote vooruitgang die ze op deze wijze boeken en dat mag best eens gezegt worden.
Hierbij de originele post waarbij de exploit uit de doeken werd gedaan: Google Groups.

Belangrijk om te weten is dat de bug enkel via zogenaamde Dynamic finder (vb. find_by_foo(params[:foo])) methods misbruik kan maken. De normale finder methods (find([:param])) ondervind dus geen problemen.

En dan nog wat extra info voor diegenen die niets van rails kennen:
  • It does not mean all unupgraded Rails apps are suddenly widely vulnerable.
  • It does not mean Rails doesn’t escape SQL inputs.
  • It does not mean Rails doesn’t provide parameterized SQL APIs.
  • It does not mean Rails encourages code that are inherently prone to SQL injection. The code should be safe but due to a subtlety was not. This has been fixed.
Conclusie volgens Michael Koziarski van het Rails Security Team:
When we told people they should upgrade immediately we meant it. It *is* exploitable under some circumstances, so people should be upgrading immediately to avoid the risk.
Voor de professionals onder ons heb ik dit nog in petto.
Inderdaad prima gehandeld. Gelukkig maar
Belangrijk om te weten is dat de bug enkel via zogenaamde Dynamic finder (vb. find_by_foo(params[:foo])) methods misbruik kan maken. De normale finder methods (find([:param])) ondervind dus geen problemen.
Nee. Het gaat hier om een nieuwe vulnerability die op 8 januari is bekendgemaakt. Dit nieuwe lek is zeer gevaarlijk en maakt o.a. mogelijk om willekeurige Ruby code op betreffende server uit te voeren. Dat maakt het vervolgens mogelijk voor een aanvaller om zich shell-toegang te verschaffen.

Het probleem zit sinds 6 jaar in Rails. Alle versies sinds 6 jaar geleden zijn kwetsbaar. Alle applicaties die een Rails versie zonder update draaien zijn kwetsbaar. Het is een zeer ernstig probleem. En nu zijn er dus al exploits gepubliceerd. Deze kunnen geautomatiseerd en op grote schaal worden uitgevoerd.

[Reactie gewijzigd door molf op 10 januari 2013 18:39]

Op dit item kan niet meer gereageerd worden.



Populair: Nokia Lumia 930 Nokia Lumia Smartphones Google Laptops Sony Apple Games Politiek en recht

© 1998 - 2014 Tweakers.net B.V. onderdeel van De Persgroep, ook uitgever van Computable.nl, Autotrack.nl en Carsom.nl Hosting door True

Beste nieuwssite en prijsvergelijker van het jaar 2013