Linus Torvalds heeft vorige week heel stilletjes een beveiligingsprobleem opgelost in Linux. Het ging om een gat waardoor een aanvaller code kon uitvoeren met root-rechten, vanuit een willekeurige applicatie met grafische userinterface. Dat gebeurde twee maanden nadat de kwetsbaarheid was gerapporteerd op 17 juni, en SUSE engineers zeggen zelfs dat ze de bug oorspronkelijk in september 2004 hebben gerapporteerd en gepatcht. De patch heeft het alleen nooit tot de kernel gebracht.

Opnieuw aan het licht

En zo bleef het gat in de kernel open tot Rafal Wojtczuk, een onderzoeker van Invisible Things Lab, het weer tegenkwam toen hij bezig was met het Qubes project, een open source desktop virtialisatie tool. Daar komt nog bovenop dat de fix die Linus Torvalds op 13 augustus de deur uit deed nogal buggy bleek, waardoor er nog meer fixes nodig waren.

En alsof dat nog niet genoeg is, is de deadline voor disclosure steeds opgeschoven. Eigenlijk zou het lek per 1 augustus al openbaar worden gemaakt, ongeveer een maand nadat men de informatie van X.org had gekregen. De kernel groep zegt dat de bug nu is opgelost in versies 2.6.27.52, 2.6.32.19, 2.6.34.4 en 2.6.35.2. En nu is het aan de verschillende distributies om de fix naar de gebruikers door te geven.

Een paar dagen nadat de patches in de nieuwe kernelrelease waren verschenen, konden de onderzoekers van Invisible Things het probleem eindelijk openbaar maken. Joanna Rutkowska schreef vorige week op haar blog: “De aanval laat een gebruikersproces zonder privileges met toegang tot de X server (dus elke GUI applicatie) zonder voorwaarden escaleren tot root (maar nogmaals, het maakt geen gebruik van een bug in de X server!). Met andere woorden: elke GUI applicatie (denk daarbij bijvoorbeeld aan een sandboxed PDF viewer), kan, als die besmet is (bijvoorbeeld met een kwaadaardig PDF document), alle mooie beveiligingsmechanismen van Linux omzeilen, en zichzelf opwaarderen tot root, en zo het hele systeem besmetten. Met de aanval kan zelfs ‘sandbox-X’ jail van SELinux worden omzeild. En om het nog erger te maken, is de aanval al zeker een aantal jaar mogelijk, waarschijnlijk sinds de introductie van kernel 2.6.”

Niet makkelijk te misbruiken

Maar de beveiligingsonderzoekers hebben er natuurlijk baat bij om de bugs die ze vinden wat aan te dikken, dus heb ik een onafhankelijke partij om commentaar gevraagd: kernelexpert Jonathon Corbet. Hij was het met me eens dat een vertraging van twee maanden niet best is, en zes jaar is dat al helmaal niet. Maar in onze mailwisseling relativeerde hij de ernst van het lek.

“Ik geloof dat twee maanden langer is dan we eigenlijk over het fixen van zo’n type kwetsbaarheid moeten doen. Maar ik weet echt niet waarom het zo lang duurde en ik wil niet te veel kritiek hebben op mensen. Ik wil er wel op wijzen dat dit een soort bugs is, waarvoor aanvallers de systemen al zover moeten hebben besmet dat ze lokaal code kunnen uitvoeren; deze kwetsbaarheid zelf kan een aanvaller op afstand geen toegang tot een kwetsbaar systeem geven. Daarom wordt in het artikel ook gesproken over dingen als PDF exploits.”

Hij legt verder uit: “Om misbruik te maken van de bug moet een aanvaller (1) een systeem met deze kwetsbaarheid vinden – de meeste servers draaien waarschijnlijk helemaal geen X – (2) nog een bruikbare kwetsbaarheid vinden op dat systeem, dat bijvoorbeeld is te misbruiken via een kwaadaardig PDF bestand, (3) dat bestand naar het beoogde slachtoffer sturen en (4) de gebruiker zover krijgen dat hij of zij het bestand bekijkt op het beoogde systeem. Dit is geen onwaarschijnlijk scenario. De aanvallen op Google China zijn ook ongeveer op deze manier uitgevoerd. Maar het is zeker geen makkelijke aanval, die niet leidt tot een grootschalige toegang over het net.”

Ondanks de geruststelling van Corbet lopen de meningen onder experts uiteen over hoe gevaarlijk dit lek is (getuige de commentaren op de post van Rutkowska en op een artikel op LWN.net). Red Hat heeft er hoge prioriteit aan gegeven en kernelontwikkelaar Greg Kroah-Hartman heeft Linuxgebruikers in niet mis te verstane woorden op het hart gedrukt: “Alle gebruikers van de 2.6.35 kernel serie moeten upgraden.”

Briljante hackers

Bugs zijn nou eenmaal niet te vermijden, zelfs bugs op root-level niet. Maar eerlijk is eerlijk, Microsoft krijgt er regelmatig van langs als ze er twee maanden over doen om een bekende kritieke bug op te lossen. En zelfs als je het de ontwikkelaars van de kernel zou vergeven dat ze dat bugreport van SUSE over het hoofd hebben gezien, dan blijkt uit de paper van Wojtczuk dat een andere onderzoeker er al in 2005 een presentatie over heeft gegeven. Die PDF staat nog steeds op internet en daarin staat duidelijk dat Linux 2.6 kwetsbaar is. En nu staat daar de paper van Wojtczuk dus naast, inclusief proof-of-concept.

Torvalds staat erom bekend dat hij niet beschrijft wat de impact is van patches op Linux. Een bug wordt ‘openbaar gemaakt’ door het publiceren van de code, maar niet door uitleg in een bericht. Hij is van mening dat de uitleg ‘script kiddies’ kan helpen bij het misbruiken van de zwakke plekken. Misschien heeft hij daar gelijk in, maar de wereld van hackers is de laatste tijd erg veranderd. Er zit groot geld in, en tegenwoordig zijn het niet alleen script kiddies die machines hacken. De aanvallers zijn tegenwoordig zeker zo briljant als de mensen die de machines verdedigen.

Dat betekent dat de gebruikers de enigen zijn die niets afweten van de gaten in hun machines.

Corbet verdedigt die richtlijn niet. Hij legt alleen maar uit waar die vandaan komt. Hij zegt dat er veel kritiek is op de stille patchstrategie. “Daar hebben ze helemaal ongelijk in, maar de kenelontwikkelaars staan op het standpunt dat (1) een groot deel van de kernelbugs over het algemeen impact hebben op de veiligheid, en dat ze niet iedere keer groot alarm kunnen slaan, en (2) dat het aan de distributies is om de oplossingen naar hun gebruikers door te geven. In dit geval zullen de distributies al lang bekend zijn geweest met het probleem, voordat de oplossing werd doorgegeven. Dus het was ook niet echt nodig om alarm te slaan.

Dunne scheidslijn

Nu Linux is doorgedrongen tot productiemachines van zowat ieder groot bedrijf in de westerse wereld, wordt Linux een belangrijker doelwit voor professionele hackers, niet alleen voor script kiddies. Het wordt tijd dat de beheerders van de kernel hun disclosure policies herzien. Er is namelijk een dunne scheidslijn tussen aan de ene kant het weghouden van informatie van de slechteriken, en aan de andere kant die richtlijn misbruiken om de eigen fouten onder het tapijt te vegen.

Bron: Techworld