image

"Nog honderden lekken in Windows-kernel"

donderdag 28 juli 2011, 06:39 door Redactie, 18 reacties

Microsoft dichtte de afgelopen maanden tientallen beveiligingslekken in de Windows-kernel, maar de kans is groot dat er nog veel meer lekken aanwezig zijn. Dat zegt Tarjei Mandt, die zelf een groot aantal lekken in de Windows-kernel ontdekte. De problemen die de onderzoeker aantrof bevinden zich in het 15-jaar oude Win32.sys bestand. Tijdens de BlackHat conferentie zal hij een lezing over de problemen in het hart van Windows geven.

Complex
Op dit moment schat Mandt dat er mogelijk nog honderden lekken verstopt zitten. In de meeste gevallen zit het probleem in de Win32k grafische gebruikersinterfacemode genaamd callbacks. Dit mechanisme laat de kernel 'calls' naar user-mode maken, waardoor het besturingssysteem tal van taken kan uitvoeren. Volgens de onderzoeker is het eenvoudig om exploits voor deze functie te maken, hoewel er op dit moment geen aanvallen bekend zijn.

Het probleem wordt nog eens vergroot door de essentiële rol die de kernel in alle Windows operaties speelt. "Een lek in de kernel kan een aanvaller toegang tot mogelijkheden geven die op applicatieniveau niet mogelijk zijn." Microsoft is goed bezig om de lekken te verhelpen, maar dit is lastig, merkt de onderzoeker op. "De problemen zijn vrij complex. Er zullen waarschijnlijk meer lekken zin, maar het is lastig om te vertellen hoeveel."

Reacties (18)
28-07-2011, 08:49 door Anoniem
Vervang "Windows-" met "Linux-" en je bent nog steeds net zo juist...
28-07-2011, 10:03 door Anoniem
Uiteraard zitten er nog duizenden lekken in Windows.
Je kan een grove schatting maken door het aantal regels code te vermenigvuldigen met een bepaalde foutfactor.
Deze foutfacter is wel omlaag gegaan met allerlei extra interne checks door Microsoft.
28-07-2011, 11:08 door meeuw
Wat is win32.sys? Ik kan het niet als bestand vinden in mijn Windows XP directory...
28-07-2011, 11:15 door SirDice
Dat komt omdat het Win32k.sys is. Is fout overgenomen.
28-07-2011, 13:13 door Anoniem
"Op dit moment schat Mandt dat er mogelijk nog honderden lekken verstopt zitten."
"Er zullen waarschijnlijk meer lekken zin, maar het is lastig om te vertellen hoeveel."

Zo kan ik ook schattingen afgeven.
28-07-2011, 14:01 door Mysterio
Als dit enorme risico zo eenvoudig te misbruiken is en er al 15 jaar inzit, dan vraag ik me af waarom het niet misbruikt is. Ik vermoed dat het in theorie een mooi plaatje is, maar dat het in de praktijk een stuk minder eenvoudig te misbruiken is.
28-07-2011, 14:09 door SirDice
Door Mysterio: Als dit enorme risico zo eenvoudig te misbruiken is en er al 15 jaar inzit, dan vraag ik me af waarom het niet misbruikt is.
Dat win32k.sys al 15 jaar in Windows zit betekent niet dat er in de tussentijd niets aan dat bestand is veranderd ;)

Ik vermoed dat het in theorie een mooi plaatje is, maar dat het in de praktijk een stuk minder eenvoudig te misbruiken is.
Hij spreekt zichzelf ook een klein beetje tegen. Aan de ene kant zegt hij dat er "mogelijk nog honderden lekken in zitten" maar aan de andere kant zegt hij ook "het is lastig om te vertellen hoeveel". Met andere woorden hij gist maar wat. En vermoedelijk dikt hij de getallen een beetje aan, da's mooie reclame voor zijn presentatie.
28-07-2011, 15:33 door Anoniem
Door Mysterio: Als dit enorme risico zo eenvoudig te misbruiken is en er al 15 jaar inzit, dan vraag ik me af waarom het niet misbruikt is. Ik vermoed dat het in theorie een mooi plaatje is, maar dat het in de praktijk een stuk minder eenvoudig te misbruiken is.
Mmm.. Het is inderdaad vaak niet lastig. het feit dat er een fout in softwarecode zit, houdt niet automatisch in dat het te misbruiken is. Het was beter om te spreken over fouten in plaats van over lekken. Een lek is immers te misbruiken, een fout niet noodzakelijk. Bovendien is het niet altijd makkelijk om een lek te misbruiken door additionele beveiliginsmaatregelen.
28-07-2011, 17:48 door Anoniem
Door Anoniem: Vervang "Windows-" met "Linux-" en je bent nog steeds net zo juist...
alleen jammer dat je altijd een wachtwoord nodig hebt he.
29-07-2011, 08:21 door Anoniem
Wat voegt dit stuk toe? Er zitten waarschijnlijk nog fouten in Windows. En waarschijnlijk zitten ze ergens in een bepaald bestand . Maar we hebben geen bewijs.
Wat heeft deze meneer te winnen hierbij. Verkoopt hij iets?
29-07-2011, 08:51 door Bitwiper
Door Anoniem:
Door Mysterio: Als dit enorme risico zo eenvoudig te misbruiken is en er al 15 jaar inzit, dan vraag ik me af waarom het niet misbruikt is. Ik vermoed dat het in theorie een mooi plaatje is, maar dat het in de praktijk een stuk minder eenvoudig te misbruiken is.
Mmm.. Het is inderdaad vaak niet lastig. het feit dat er een fout in softwarecode zit, houdt niet automatisch in dat het te misbruiken is. Het was beter om te spreken over fouten in plaats van over lekken. Een lek is immers te misbruiken, een fout niet noodzakelijk. Bovendien is het niet altijd makkelijk om een lek te misbruiken door additionele beveiliginsmaatregelen.
In de basis zijn er 2 soorten fouten:

I) Functionele fouten waar gebruikers in de praktijk tegen aanlopen: die zijn er ondertussen wel uit;
II) Onbedoeld gedrag als gevolg van ongebruikelijke/onverwachte omstandigheden.

Die 2e soort kun je in 3 subcateroriën opdelen:
a) Als de fout optreedt doet het niets (noemenswaardigs);
b) Het leidt tot een crash (DoS);
c) Er wordt onbedoelde code uitgevoerd.

Subcategorie c kent effectief 2 varianten:
1) Remotely exploitable;
2) Privilege escalation.

Bij variant 1 kun je denken aan een gemanipuleerd plaatje in een webpage welke code bevat die uitgevoerd wordt door GDI (of een grafische schermdriver en eventueel GPU), of een gemanipuleerd netwerkpakket. Dit type fouten/lekken verwacht ik niet zoveel meer.

Onderzoek naar variant 2 loopt nog niet zo lang enerzijds omdat pas sinds Vista de bulk van de gebruikers niet meer met admin rechten werkt, en anderzijds omdat variant 1 lekken niet meer zo makkelijk te vinden zijn.

Botnetbeheerders willen bij voorkeur full control over hun zombies. Als een gebruiker dat niet heeft, zijn er 2 stappen nodig: een trojan of webbased exploit die gebruikersrechten krijgt en daarna een privilige escalation om systeemrechten te verkrijgen (bijv. om antivirus/firewalls grondig uit te kunnen schakelen/manipuleren, DNS settings wijzigen, services installeren, ook bij andere gebruikers dan zoonlief het internetbankieren kunnen "meebeleven" etc).

Een toename in privilege escalation kwetsbaarheden en exploits wordt allang door velen (waaronder door mij) voorspeld; iedereen die zich met serieus systeembeheer en het dichttimmeren van NT++ computers (en vooral terminal services) heeft beziggehouden, kon dit aan zien komen. Als Tarjei Mandt niet met concrete nieuwe voorbeelden komt is er niets nieuws onder de zon.
29-07-2011, 10:38 door SirDice
Door Bitwiper:
Subcategorie c kent effectief 2 varianten:
1) Remotely exploitable;
2) Privilege escalation.

Er is er nog een. Namelijk een "gewone" code execution die geen privilege escalation oplevert en alleen lokaal te misbruiken is.

Botnetbeheerders willen bij voorkeur full control over hun zombies.
Niet noodzakelijkerwijs. De betreffende zombie-code kan over het algemeen prima z'n werk doen zonder admin rechten.
29-07-2011, 10:50 door Anoniem
Door Anoniem: Vervang "Windows-" met "Linux-" en je bent nog steeds net zo juist...
Wat een kennis en wijsheid, verlicht ons een met je expertise, wat is er zo onveilig aan "Linux"?
29-07-2011, 14:58 door Bitwiper
Door SirDice:
Door Bitwiper:
Subcategorie c kent effectief 2 varianten:
1) Remotely exploitable;
2) Privilege escalation.

Er is er nog een. Namelijk een "gewone" code execution die geen privilege escalation oplevert en alleen lokaal te misbruiken is.
Klopt, je hebt gelijk!

Botnetbeheerders willen bij voorkeur full control over hun zombies.
Niet noodzakelijkerwijs. De betreffende zombie-code kan over het algemeen prima z'n werk doen zonder admin rechten.
Op PC's met één gebruiker die continu is ingelogd kan er nog steeds gespammed en ge-DDoS-ed worden, maar sommige hardcore netwerk aanvallen zoals ARP-spoofing kunnen dan bij mijn weten niet. Bij PC's met meerdere gebruikers is, zonder privilege escalation, de malware slechts bij het geïnfecteerde gebruikersaccount actief. Het uitschakelen van goede beveiligingssoftware is, zonder admin rechten, ook veel lastiger (zeker als er een wachtwoord op is gezet). Kortom zonder adminrechten kan malware nog wel wat, maar lang niet alles wat een aanvaller kan wensen.
29-07-2011, 16:51 door SirDice
Door Bitwiper:
Door SirDice:
Door Bitwiper:
Subcategorie c kent effectief 2 varianten:
1) Remotely exploitable;
2) Privilege escalation.

Er is er nog een. Namelijk een "gewone" code execution die geen privilege escalation oplevert en alleen lokaal te misbruiken is.
Klopt, je hebt gelijk!

Botnetbeheerders willen bij voorkeur full control over hun zombies.
Niet noodzakelijkerwijs. De betreffende zombie-code kan over het algemeen prima z'n werk doen zonder admin rechten.
Op PC's met één gebruiker die continu is ingelogd kan er nog steeds gespammed en ge-DDoS-ed worden, maar sommige hardcore netwerk aanvallen zoals ARP-spoofing kunnen dan bij mijn weten niet.
ARP spoofing over internet werkt sowieso niet. En aangezien eigenlijk alle zombies worden gebruikt om via het internet iets aan te vallen is dat geen probleem dus.

Bij PC's met meerdere gebruikers is, zonder privilege escalation, de malware slechts bij het geïnfecteerde gebruikersaccount actief.
Helemaal mee eens, maar hoeveel thuisgebruikers ken jij die aparte accounts hebben? Bijna overal waar ik kom logt 't ding automatisch in op een vast account. Zelfs op bedrijfscomputers zit eigenlijk altijd dezelfde persoon achter dezelfde computer.

Het uitschakelen van goede beveiligingssoftware is, zonder admin rechten, ook veel lastiger (zeker als er een wachtwoord op is gezet).
Dat zou onmogelijk moeten zijn, anders is het bagger beveiligingssoftware.

Kortom zonder adminrechten kan malware nog wel wat, maar lang niet alles wat een aanvaller kan wensen.
Mee eens maar er is niet veel nodig. Een simpele TCP connectie waar je wat data over stuurt is feitelijk genoeg. Daarmee kun je spammen en DoS'sen. En als je meerdere zombies onder controle hebt wordt dat vanzelf een DDoS.
29-07-2011, 18:30 door Anoniem
Door Anoniem: "Op dit moment schat Mandt dat er mogelijk nog honderden lekken verstopt zitten."
"Er zullen waarschijnlijk meer lekken zin, maar het is lastig om te vertellen hoeveel."

Zo kan ik ook schattingen afgeven.


Wanneer jij een programma voor 1% gechecked hebt op lekken en al 2 hebt gevonden.
Dan kun je er vanuit gaan dat in de overige 99% ook 2 fouten per % zitten , dus dat je mag verwachten nog 99x2 = 198 lekken te tegen te komen.
Tenzij de eerste gechechte 1% niet representatief is voor de overige 99% , in dat geval zal je het geschatte aantal naar onder of naar boven bij moeten stellen.
31-07-2011, 23:52 door Bitwiper
Door SirDice: ARP spoofing over internet werkt sowieso niet. En aangezien eigenlijk alle zombies worden gebruikt om via het internet iets aan te vallen is dat geen probleem dus.
ARP spoofing kan door aanvallers gebruikt worden om in het lokale netwerk andere PC's en/of servers te compromitteren (ik heb dit zien gebeuren).

Bij PC's met meerdere gebruikers is, zonder privilege escalation, de malware slechts bij het geïnfecteerde gebruikersaccount actief.
Helemaal mee eens, maar hoeveel thuisgebruikers ken jij die aparte accounts hebben? Bijna overal waar ik kom logt 't ding automatisch in op een vast account.
Dat is niet mijn ervaring, maar het kan zijn dat ik goede invloed op mensen in m'n omgeving heb gehad ;)

Zelfs op bedrijfscomputers zit eigenlijk altijd dezelfde persoon achter dezelfde computer.
Klopt, maar ik ken best veel mensen die uitloggen, waarbij de PC vaak wel aan blijft staan (helaas, want da's energieverspilling, het vormt een -welliswaar klein- brandrisico en, last but not least, het maakt de PC interessanter voor botnetbeheerders dan eentje diet niet 24x7 aan staat).

Het uitschakelen van goede beveiligingssoftware is, zonder admin rechten, ook veel lastiger (zeker als er een wachtwoord op is gezet).
Dat zou onmogelijk moeten zijn, anders is het bagger beveiligingssoftware.
Ik vrees dat heel veel beveiligingssoftware updates downloadt ergens onder C:\Documents and Settings\All Users\ waarbij alle gebruikers schrijfrechten hebben gekregen in zo'n map. Onbegrijpelijk, onnodig maar gangbaar. Vaak zitten daar dan wel wat checks op maar zoiets is vragen om ellende (denk aan een kwaadwillende die een map aanmaakt met dezelfde naam als een bestand wat normaal gesproken gedownload wordt).

Kortom zonder adminrechten kan malware nog wel wat, maar lang niet alles wat een aanvaller kan wensen.
Mee eens maar er is niet veel nodig. Een simpele TCP connectie waar je wat data over stuurt is feitelijk genoeg. Daarmee kun je spammen en DoS'sen. En als je meerdere zombies onder controle hebt wordt dat vanzelf een DDoS.
Ik ben het met je eens dat om te spammen en DDoSen een permanent ingelogde ordinary user net zo goed is als een admin account, maar niet elke user is permanent ingeloged en lokale aanvallen zijn lastiger. Bewijzen heb ik niet maar ik vermoed dat een zombie PC met full control meer waard is voor een botnetbeheerder dan eentje met slechts toegang tot een oprdinary user account.
01-08-2011, 12:00 door SirDice
Door Bitwiper:
Door SirDice: ARP spoofing over internet werkt sowieso niet. En aangezien eigenlijk alle zombies worden gebruikt om via het internet iets aan te vallen is dat geen probleem dus.
ARP spoofing kan door aanvallers gebruikt worden om in het lokale netwerk andere PC's en/of servers te compromitteren (ik heb dit zien gebeuren).
Dat klopt maar ARP spoofing over het internet werkt niet.

Zelfs op bedrijfscomputers zit eigenlijk altijd dezelfde persoon achter dezelfde computer.
Klopt, maar ik ken best veel mensen die uitloggen, waarbij de PC vaak wel aan blijft staan (helaas, want da's energieverspilling, het vormt een -welliswaar klein- brandrisico en, last but not least, het maakt de PC interessanter voor botnetbeheerders dan eentje diet niet 24x7 aan staat).
Het boeit ze totaal niet of de machine wel of niet 24 uur per dag aan staat. Met die aantallen die ze infecteren zijn er ten alle tijden meer dan genoeg online.

Kortom zonder adminrechten kan malware nog wel wat, maar lang niet alles wat een aanvaller kan wensen.
Mee eens maar er is niet veel nodig. Een simpele TCP connectie waar je wat data over stuurt is feitelijk genoeg. Daarmee kun je spammen en DoS'sen. En als je meerdere zombies onder controle hebt wordt dat vanzelf een DDoS.
Ik ben het met je eens dat om te spammen en DDoSen een permanent ingelogde ordinary user net zo goed is als een admin account, maar niet elke user is permanent ingeloged en lokale aanvallen zijn lastiger. Bewijzen heb ik niet maar ik vermoed dat een zombie PC met full control meer waard is voor een botnetbeheerder dan eentje met slechts toegang tot een oprdinary user account.
Ook dat maakt ze totaal niet uit. Het gaat alleen om de aantallen, niet wat ze per machine kunnen.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.