image

Microsoft waarschuwt voor omvangrijk DLL-lek

dinsdag 24 augustus 2010, 10:32 door Redactie, 11 reacties

Microsoft heeft een advisory uitgegeven waarin het waarschuwt voor een omvangrijk beveiligingslek in talloze Windows applicaties. De advisory is niet alleen op Microsoft software gericht, omdat de "DLL preloading" of "binary planting" aanvallen alle Windows software kunnen treffen. Hoewel de softwaregigant nog onderzoekt wel Microsoft producten precies kwetsbaar zijn, heeft het wel een 'defense-in-depth update' uitgebracht die klanten tegen misbruik van kwetsbare applicaties beschermt.

"Daarnaast gebruiken we onze sterke banden met onderzoekers en partners in de industrie om dit nieuwe soort beveiligingslek te verhelpen", zegt Christopher Budd van het Microsoft Security Response Center (MSRC)

UNIX
Budd merkt op dat de DLL preloading-aanvallen niet nieuw of uniek voor het Windows platform zijn. PATH-aanvallen, één van de eerste problemen waarmee UNIX mee te maken kreeg, lijken erg op dit probleem. De aanval richt zich op het misleiden van een applicatie om een kwaadaardige library te laden, terwijl het eigenlijk denkt een betrouwbare library te laden. De aanval werkt alleen als de applicatie de library bij naam aanroept en niet het volledige path gebruikt. Bij eerdere path en preloading-aanvallen moest een aanvaller een kwaadaardige library op het client systeem krijgen. Het nieuwe onderzoek beschrijft een manier om een kwaadaardige library in een gedeelde netwerkmap te plaatsen

In dit scenario maakt de aanvaller een bestand dat de kwetsbare applicatie zal openen en een kwaadaardige library die de kwetsbare applicatie zal gebruiken. Hij plaatst ze beide in de gedeelde netwerkmap waar de gebruiker toegang toe heeft en laat die het bestand openen. Op dat moment opent de applicaties de kwaadaardige library en wordt de code van de aanvaller op het systeem uitgevoerd.

Tool
"Omdat dit een nieuwe vector is, in plaats van een nieuw soort kwetsbaarheid, beschermen de best practices tegen dit soort lekken ook tegen deze nieuwe vector", aldus Budd. Hoewel leveranciers en ontwikkelaars hun applicaties zo moeten maken dat ze het volledige path gebruiken, heeft Microsoft een tool beschikbaar gesteld die het laden van libraries van gedeelde netwerkmappen voorkomt.

Reacties (11)
24-08-2010, 10:50 door SirDice
In dit scenario maakt de aanvaller een bestand dat de kwetsbare applicatie zal openen en een kwaadaardige library die de kwetsbare applicatie zal gebruiken. Hij plaatst ze beide in de gedeelde netwerkmap waar de gebruiker toegang toe heeft en laat die het bestand openen. Op dat moment opent de applicaties de kwaadaardige library en wordt de code van de aanvaller op het systeem uitgevoerd.
Ook dit is niet echt "nieuw" volgens mij. Ik meen me nog een worm te herinneren die riched20.dll misbruikte en zich kon verspreiden door een RTF bestand inclusief lekke riched20.dll in netwerkmappen te droppen.

Edit: Oh. Duh. Dat was Nimda.

# worm looks for .DOC and .EML files on remote systems
# when it finds these files, it copies its binary image with RICHED20.DLL name with system and hidden attributes to folders where these files reside (RICHED20.DLL is used to open OLE files)
24-08-2010, 11:16 door Bitwiper
Door SirDice: Dat was Nimda.
Klopt. Later hebben we met de Safari Carpet Bomb (DLL's droppen op de dekstop) iets vergelijkbaars gezien, zie http://www.security.nl/article/18841/1/Safari-lek_eigenlijk_ontwerpfout_in_Windows.html en http://www.security.nl/artikel/18923/1/Apple_patcht_eindelijk_Safari_%27tapijtbom%27.html. Waarom kan Microsoft niet meteen 1+1 doen?

Enkele opmerkingen:

(1) Vanuit http://support.microsoft.com/kb/2264107 kun je, voor jouw OS versie, de tool downloaden, maar dat vereist wel dat je en legitieme Windows versie hebt (n.b. ik zie zo snel geen begrenzing voor SP2 gebruikers, maar die raad ik echt aan om te updaten). Opvallend: de digitale handtekening onder de XP x86 versie stamt van 5 juli 2010, en zowel ntdll.dll als mrxdav.sys zijn (na het draaien van die patch) van 30 juni 2010. Waarom wacht MS zo lang met het feitelijke beschikbaar stellen van die patch?

(2) BELANGRIJK: na het draaien van die patch ben je nog steeds niet beschermd. Je MOET de register waarde CWDIllegalInDllSearch in elk geval een andere waarde dan de default 0 geven, advies: 0xFFFFFFFF (http://support.microsoft.com/kb/2264107 beschrijft de mogelijke waardes).

(3) Aanvullende en officieele info over KB2264107 vind je hier: http://www.microsoft.com/technet/security/advisory/2269637.mspx
24-08-2010, 11:56 door [Account Verwijderd]
[Verwijderd]
24-08-2010, 12:42 door Anoniem
"Validation required"

Tuurlijk, het is belangrijker klanten lastig te vallen met gevaarlijke, op active-x gebaseerde, spionage tools dan te zorgen voor beveiliging.
24-08-2010, 20:18 door cyberpunk
Door Bitwiper:

(1) Vanuit http://support.microsoft.com/kb/2264107 kun je, voor jouw OS versie, de tool downloaden, maar dat vereist wel dat je en legitieme Windows versie hebt

Ik ben vast blind of zo, want ik kan op die site niets downloaden. Ik werk met (een legale versie van) XP Home SP3, alle essentiële updates. Met Fx zie ik niets (te verwachten zeker?), maar ook met IE 8.x zie ik nergens een download-link. Enkel een hoop tekst... :-?

Edit: Dit is opgelost. Ik heb intussen een download-link ontvangen. Het lijkt er sterk op dat mijn aangepast HOSTS-bestand de boosdoener is, want als ik via een proxy werk, dan zie ik de links wél...
24-08-2010, 20:22 door Anoniem
Ferm overdreven.

Als ancien in systeem beheer hadden we vroeger vaak last van verschillende DLL versies op verschillende plaatsen op een windows systeem. De eerste die geladen was van bvb een oude versie gaf dan problemen voor een applicatie die een nieuwere versie nodig had. En dan kone je gaan zoeken met WINDBG...

En natuurlijk kennen we officieuze uitbreidingen op sommige dll's (minder populair nu).

Waarom moeite doen om een DLL geladen te krijgen als je evengoed een exe kan starten (via een exploit van acrobat reader of de JRE)?
24-08-2010, 21:37 door Bitwiper
Door cyberpunk:
Door Bitwiper:

(1) Vanuit http://support.microsoft.com/kb/2264107 kun je, voor jouw OS versie, de tool downloaden, maar dat vereist wel dat je en legitieme Windows versie hebt

Ik ben vast blind of zo, want ik kan op die site niets downloaden. Ik werk met (een legale versie van) XP Home SP3, alle essentiële updates. Met Fx zie ik niets (te verwachten zeker?), maar ook met IE 8.x zie ik nergens een download-link. Enkel een hoop tekst... :-?
Nee, d'r is niks mis met jouw ogen! Kijk, da's het voordeel van Engelstalige software gebruiken (voor mij dan). Kennelijk heeft Microsoft er nog geen NL vertaling van die webpage gemaakt - maar zo te zien wel van de patches!

Als je letterlijk naar http://support.microsoft.com/kb/2264107 gaat en zorgt dat je niet naar een andere taal-pagina geredirect wordt, zie je de verwijzingen naar de download pagina's per OS wel (en een enorme berg update info die ontbreekt in http://support.microsoft.com/?scid=kb%3Bnl%3B2264107&x=16&y=16).

Op de Engelstalige pagina staat onder meer:
The following files are available for download from the Microsoft Download Center:

Update for Windows XP

Download the package now (http://www.microsoft.com/downloads/details.aspx?FamilyId=e8941631-fe92-47c3-8872-2814e05e1ecc)
Als je die laatste link volgt, en vervolgens de taal in NL wijzigt, dan zie je de NL download. De taal in NL wijzigen kan handmatig door "&displaylang=en" achteraan de URL te plakken, maar om het je makkelijk te maken doe ik dat voor je in de volgende URL, zie http://www.microsoft.com/downloads/details.aspx?FamilyId=e8941631-fe92-47c3-8872-2814e05e1ecc&displaylang=nl en voila...

Als test heb ik zojuist de NL en de ENU (algemeen Engelstallige) versies gedownload, bij geen van beiden hoefde ik nog m'n Windows versie te valideren (die zijn bij mij thuis overigens allemaal legaal, dus da's geen probleem).

Beide executables (WindowsXP-KB2264107-x86-NLD.exe en WindowsXP-KB2264107-x86-ENU.exe) zijn voorzien van een geldige digitale handtekening, het is extreem raadzaam die eerst te checken voordat je een downloaded executable start (rechts er op klikken, Eigenschappen, tabblad Digitale Handtekeningen, selecteer het enige item in het "lijstje" en druk de knop "Details"; er vindt dan even wat netwerk-activiteit plaats om te checken of het bij de digitale handtekening gebruikte certificaat niet is ingetrokken, waarna de digitale handtekening wordt gecontroleerd: geen foutmelding betekent alles okay).

Succes met de update, en vergeet niet na afloop de registerwaarde aan te passen!
24-08-2010, 21:54 door cyberpunk
@ Bitwiper

Oh, maar ik heb ook een UK versie van XP hoor. :-) Alleen is het bij mij zo ingesteld dat Nederlands voorrang krijgt op Engels. Raar genoeg zie ik op de Engelstalige pagina ook geen download-links. Begrijpen wie begrijpen kan. :-? Misschien zit mijn HOSTS-bestand er voor iets tussen...

Ik heb intussen op Usenet de link ook gekregen, maar toch bedankt voor de moeite. Overigens, de persoon die me op Usenet verder heeft geholpen kreeg de links naar de pagina's in het Nederlands. Digital signature is gecontroleerd, maar nu het register aanpassen. Welk pad is dat juist?
24-08-2010, 22:35 door Bitwiper
Door cyberpunk: nu het register aanpassen. Welk pad is dat juist?
Het beste kun je de aanwijzingen in de Engelstalige pagina (http://support.microsoft.com/kb/2264107) of de Nederlandstalige pagina (http://support.microsoft.com/?scid=kb%3Bnl%3B2264107&x=16&y=16) volgen. Mijn advies: volg "voorbeeld 1" maar neem als waarde FFFFFFFF (8 "effen" i.p.v. 1).

Daarmee worden DLL's die in de current directory (ook bekend als CWD of current working directory, of als working directory) staan, NIET geladen (tenzij die working directory gelijk is aan de application directory of in %PATH% voorkomt; tik in een dos box: ECHO %PATH% gevolgd door de enter toets). Dit voorkomt dat je malware op je PC laadt als je een bestand opent op een besmette netwerk drive of USB geheugenstick.

Het risico dat deze instelling ertoe leidt dat 1 of meer van je apps niet meer werkt lijkt me uiterst klein, maar ik ken natuurlijk niet alle apps van de wereld. Ik beschijf de achtergronden verder in m'n eerste bijdrage in deze pagina: https://secure.security.nl/artikel/34248/1/Hacker_publiceert_exploit_voor_Windows_DLL-lek.html.

Voor degenen die het toch te lastig vinden om instructies te volgen, je kunt - geheel op eigen risico (!) - ook onderstaande tekst naar het klembord kopieeren, notepad (kladblok) opstarten en de tekst plakken, en het bestand opslaan (type: alle soorten bestanden) met als bestandsnaam bijvoorbeeld "CWDIllegalInDllSearch.reg" (of iets als "KB2264107.reg", de bestandsnaam boeit niet). Let er op dat het icoontje van het opgeslagen bestand cyaankleurige kubusjes bevat, zo niet dan heb je het als naam.reg.txt opgeslagen en dat kun je niet in het register importeren):
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]
"CWDIllegalInDllSearch"=dword:ffffffff
Ter verduidelijking voor eventuele overtikkers: tussen "Session" en "Manager" zit 1 spatie. Als je "CWDIllegalInDllSearch" geheel met hoofdletters zou schrijven zou het "CWDILLEGALINDLLSEARCH" zijn (ik zie met Firefox in deze security.nl webpage in elk geval geen onderscheid tussen de "I" (hoofdletter i) en de "l" (kleine L). Bij twijfel: copy/paste de tekst vanaf de eerdergenoemde Microsoft webpage.

Log daarna in met een account met admin rechten, draai de patch als je dat nog niet gedaan hebt, lokaliseer het eerder opgeslagen .reg bestand en dubbel-klik er op. Er zal je worden gevraagd of je de gegevens in het register wilt inlezen, antwoord met ja.

Herstart daarna de PC (ik vermoed dat de wijziging dan pas effectief zal zijn, maar weet dat niet zeker).

Ik moet nog uitzoeken hoe je betrouwbaar kunt testen of e.e.a. werkt maar heb daar vanavond geen zin meer in (moet morgen vroeg op en moet zo nog wat opruimen in huis). Ik hou me aanbevolen als iemand een hapklare test kent!
24-08-2010, 22:41 door Bitwiper
Door cyberpunk: Ik heb intussen een download-link ontvangen. Het lijkt er sterk op dat mijn aangepast HOSTS-bestand de boosdoener is, want als ik via een proxy werk, dan zie ik de links wél...
Nee, de taal-voorkeuze-instelling wordt in een cookie opgeslagen. ALs je via je proxy surft is dat kennelijk een andere dan dat je de site direct bezoekt. Gooi maar eens alle Microsoft related cookies weg (tenzij je daar ook wachtwoorden in hebt zitten die je niet meer uit je hoofd kent ;) en probeer het opnieuw.
24-08-2010, 22:54 door cyberpunk
Nope, cookies verwijderen lost het probleem niet op, maar soit, ik heb de update nu en ik heb ze geïnstalleerd. Ook het register is nu aangepast en CWDIllegalInDllSearch is toegevoegd. (Hèhè! :-).

Nogmaals bedankt!
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.