Hoe voel je je over een tien jaar oude kwetsbaarheid in een reeks van Unix-gebaseerde besturingssystemen, zoals Linux, OpenBSD, NetBSF, FreeBSD en Solaris? Helaas, Deze vraag is geen theoretisch als dergelijke kwetsbaarheid (geïdentificeerd als CVE-2017-1000364) is ontdekt, laten aanvallers voeren escalatie van privileges aanvallen waarbij root-toegang wordt verleend en een volledige systeemscan overname is op zijn plaats.
CVE-2017-1000364 is wel Stack Slash en werd ontdekt in de manier waarop het geheugen werd op de stapel voor de gebruiker ruimte binaries worden toegewezen, zoals door de onderzoekers die ontdekt.
CVE-2017-1000364 Stack Slash Flaw Technische Resume
Hoe wordt de bug uitgelegd? Het is heel simpel - programma's gebruiken speciale herinnering regio bekend als stapels, gebruikt voor korte termijn opslaan. De stapel kan uitzetten en krimpen op een automatische basis tijdens de uitvoering van het programma, in verband met de behoeften van de gegeven programma.
Qualys onderzoekers blijkt dat een kwaadwillig vervaardigd programma kan proberen om meer geheugen dan de beschikbare gebruiken op de stapel. Dit kan gemakkelijk leiden tot geheugenoverloop, waardoor de stapel te botsen met nabijgelegen geheugen regio's en hun inhoud te overschrijven.
Naast de bovengenoemde, de fout kan de stapel guard-pagina omzeilen. Dit is een memory management bescherming tegen 2010 die werd ingevoerd nadat de fout werd uitgebuit in de voorgaande jaren. Zoals beschreven door Qualys onderzoekers in hun adviserende:
Helaas, een stapel guard-pagina van een paar kilobytes is onvoldoende: als de stack-pointer ‘springt’ via guard-page-als het beweegt van de stapel in een geheugengebied zonder toegang tot guard-page-dan niet uitzonderingspagina-fout is opgeheven en de stapel uitstrekt in het andere geheugengebied.
CVE-2017-1000364 vereist ook de lokale toegang tot het kwetsbare systeem. Echter, het kan ook op afstand worden benut volgens de betrokken toepassingen.
Eigenlijk, CVE-2017-1000364 samen konden worden benut met andere kritieke gebreken, zoals de Sudo kwetsbaarheid die onlangs werd gepatcht. De Sudo kwetsbaarheid, CVE-2017-1000367, is een ernstige wortel Linux kwetsbaarheid opnieuw ontdekt door Qualys onderzoekers. De fout werd gevonden in Sudo “get_process_ttyname te verblijven()”-functie voor Linux en kan leiden tot een gebruiker met Sudo bevoegdheden om opdrachten uit te voeren als root of verheffen privileges naar root.
Helaas, het slechte nieuws komt hier niet eindigen 7 proof-of-concept exploits zijn gemaakt voor de kwetsbaarheid die geschikt zijn voor Linux, OpenBSD, NetBSD, FreeBSD, Solaris op beide 32- en 64-bits processors. De onderzoekers waren aanvankelijk attent genoeg om niet te duwen hun proof-of-concept waarmee zowel gebruikers als beheerders om het gebrek aan te pakken door het patchen van hun kwetsbare systemen. Deze werden echter openbaar gemaakt na updates door Fedora en Slackware werden gepubliceerd. FreeBSD en NetBSD ook uitgegeven vlekken.
De proof-of-concept omvat vier stappen - botst de stapel met een ander geheugengebied, het uitvoeren van de stack pointer naar start van de stapel, springen over de stapel guard-pagina, en tenslotte, inslaan van de stapel of andere geheugengebieden.
Mitigation tegen CVE-2017-1000364
Op basis van hun onderzoek, Qualys onderzoekers bevelen aan dat de getroffen besturingssystemen doet u het volgende:
Verhoog de grootte van de stack guard-pagina om tenminste 1MB, en laat systeembeheerders om deze waarde eenvoudig wijzigen (bijvoorbeeld, grsecurity / PaX geïntroduceerd / proc / sys / vm / heap_stack_gap in 2010). deze eerste, oplossing op korte termijn is goedkoop, maar het kan worden verslagen door een
zeer grote stack gebaseerde buffer.Opnieuw compileren userland code (ld.so, bibliotheken, binaries) met GCC “-fstack-check” optie, die verhindert dat de stack-pointer bewegen in een andere geheugengebied zonder toegang tot stack guard-pagina (schrijft er één woord aan elke 4KB pagina op de stapel toegewezen). deze tweede, oplossing voor de lange termijn is duur, maar het kan niet worden verslagen (zelfs als de stack guard-pagina is alleen 4KB, een pagina) — tenzij er een kwetsbaarheid is ontdekt in de uitvoering van de stapel guard-pagina of de “-fstack-check” optie.
Andere besturingssystemen (Windows, Android, Mac) Ook kwetsbaar voor CVE-2017-1000364
Misschien dingen zullen hier niet eindigen als de onderzoekers geloven ook dat andere besturingssystemen zoals Windows en MacOS en zelfs Android ook kwetsbaar voor deze fout zou kunnen zijn. Dit moet echter bovendien worden bevestigd.
Niettemin, betrokken partijen worden aangespoord om zo snel mogelijk te updaten.
Als er geen patches zijn beschikbaar Er zijn nog voor een bepaald OS, gebruikers en admins kunnen proberen om hun systemen te herstarten of handmatig stack grenzen aan apps lokale gebruikers om exploits te voorkomen toe te passen. Een andere handige tip is om alle userland code met de -fstack-check-functie opnieuw te compileren, zoals weergegeven in de bovenstaande tips.