De 20 alvorligste Internet sikkerhedssårbarheder (del 2 - Windows)

Artiklen blev oprindeligt publiceret den 11/10/2001

The SANS institute og FBI har opdateret og udvidet deres liste over alvorlige sikkerhedssårbarheder. Listen er nu oppe på 20 sårbarheder, fordelt på Generelle, Windows- og UNIX specifikke.
Listen er værdifuld, da størsteparten af succesfulde angreb på computersystemer kan henføres til sikkerhedshullerne på denne liste. DKoCERT har udarbejdet en forkortet oversættelse.

Windows:

8. Unicode sårbarhed.

Unicode forsyner ethvert tegn med et nummer og er således uafhængig af platform, program og sprog. Denne standard er adopteret af de fleste softwareudbydere, heriblandt Microsoft. Hvis en omhyggeligt opbygget URL med en ugyldig Unicode UTF-8 sekvens sendes til en IIS-server, kan uvedkommende tvinge serveren til bogstaveligt talt at 'gå op og ud' af den forudbestemte folder og køre sine egne scripts på serveren. Denne type angreb kendes derfor som 'Directory Traversal'

Upatchede IIS-servere er sårbare. En opsamlingspatch til IIS findes i Microsoft's Security Bulletin MS01-044.

9. ISAPI Extension Buffer Overflows

Når man installerer IIS på en Windows server, følger en del ISAPI extensions med. ISAPI er Internet Services Application Programming Interface, der giver udviklere mulighed for at udvide funktionerne i IIS vha. .dll'er. Flere af disse .dll'er indeholder fejl, der (vigtigst af alle) betyder at input, der overskrider den fastsatte længde, ikke bliver sorteret fra. Uvedkommende kan sende data til disse .dll'er, i hvad der kaldes 'buffer overflow' angreb, og få fuld kontrol over en IIS-server.

Microsoft har lavet et redskab, hfnetchk, der kan afgøre, om man er sårbar

10. IIS RDS exploit

Ved at udnytte en programmeringsfejl i IIS's RDS (Remote Data Services) kan en uautoriseret bruger afvikle kommandoer med administrator rettigheder.

Man kan fjerne problemet ved at opgradere MDAC til en version efter 2.1.

11. NetBIOS - ubeskyttede Windows netværksdrev.

Man kan dele filer over netværk vha. SMB (Server Message Block) (også kendt som CIFS - Common Internet File System). Hvis det er konfigureret forkert kan det blive misbrugt til at få adgang til kritiske systemfiler eller hele computerens indhold via Internettet.

Mange deler ud af deres computers ressourcer for at lette arbejdet for kolleger eller andre, uden at være fuldstændig klar over konsekvenserne. Aktiverer man fildeling, er man sårbar både over for tyveri af indhold og specielle vira. NetBios kan også bruges til at hente bruger-, gruppe-, system- og visse registreringsdatabaseoplysninger vha. en 'null session', alt sammen nyttig information for uvedkommende.

Microsoft Personal Security Advisor (en web-baseret tjeneste) kan afgøre om systemet er sårbart og kan afhjælpe problemet. Dertil kan følgende anbefales:


  1. Når data deles, del kun de nødvendige foldere.

  2. Del kun data med specifikke IP-adresser (DNS-navne kan spoof'es).

  3. Brug rettighedstildeling i filsystemet til sikre, at kun brugere med behov for adgang, får adgang.

  4. Forebyg anonym registrering af bruger-, gruppe-, system- og registreringsdatabaseinformationer via 'null session' forbindelse (Se afsnit 12).

  5. Bloker for indgående forbindelser til NetBIOS Session Service (TCP 139) og Microsoft CIFS (TCP/UDP 445) i routeren eller host'en.

  6. Anvend RestrictAnonymous registreringsdatabasenøgle på servere forbundet til Internettet.


12. Informationslækage via 'null session' forbindelser.

En 'null session' - også kendt som Anonymt Logon - er en facilitet, der tillader anonyme at indhente oplysninger via netværket, eller tillader en forbindelse uden autentifikation. Funktionaliteten kendes fra Explorer, der kan browse i netværket uden at logge på de forskellige maskiner. Dette skyldes at mange services kører under en SYSTEM-konto.
Når en maskine vil vide noget om en anden maskine åbner SYSTEM en 'null session' forbindelse til denne. SYSTEM har næsten ubegrænsede rettigheder og den har intet password, så man kan ikke logge på som SYSTEM. Derimod kan SYSTEM åbne 'null session' forbindelser for at få adgang til de nødvendige informationer.
Desværre kan uvedkommende også bruge en sådan forbindelse.

Prøv at forbinde til computeren via en 'null session' forbindelse med følgende kommando i et DOS-vindue:

net use \w.x.y.z\ipc$ "" /user:"" (w.x.y.z er IP-adressen)

Er resultatet 'connection failed' er computeren ikke sårbar.
Er der intet 'svar' , betyder det at kommandoen lykkedes og computeren er derfor sårbar.

Domain controllere bruger 'null session' forbindelser til at kommunikere, og således kan man kun begrænse den information uvedkommende kan opnå, ikke helt lukke for den.
På NT 4.0 kan man begrænse uvedkommendes mulighed for at indhente information ved at ændre registreringsdatabasenøglen

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\RestrictAnonymous

til at være '1'. Gøres dette vil det stadig være muligt at få nogen information som anonym. På Windows 2000 kan værdien sættes til '2' i stedet, det bevirker at brugere med eksplicitte rettigheder eller medlemmer af gruppen 'Alle' (der omfatter 'null session' brugere) alene får adgang.

Bemærk at ændringer i registreringsdatabasen kan resultere i et system, der ikke fungerer! Ligeledes kan denne ændring bevirke utilsigtet adfærd i et netværk, så det anbefales kun at foretage den på maskiner med adgang fra Internettet - anvend hellere en firewall, konfigureret så den blokerer for SMB og CIFS. Internetbrugere udefra skal aldrig have adgang til en intern domail controller, der ikke specifikt er til eksternt brug. Denne trafik kan standses i router eller firewall ved at blokere for TCP og UDP 135-139 og 445

13. Svag password kryptering i LAN Manager

Til trods for at de færreste Windows brugere har brug for LAN Manager (LM), gemmer LM krypterede passwords som standard på NT og 2000 maskiner. Da LM anvender en svag kryptering er disse passwords nemme at knække. LM's kommunikation kan tilmed opsnappes, hvilket gør den sårbar overfor uvedkommende. Løsningen er enten at bruge NTLMv2 (NT LAN Manager version 2) i stedet, eller forhindre maskiner i at gemme (og dermed kommunikere) oplysningerne.

På maskiner med NT 4.0 SP 4 og nyere (inklusive 2000) kontrolleres brugen af LM i følgende registreringsdatabasenøgle:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\LMCompatibilityLevel.

Sættes værdien til '3' bruges NTLMv2 - der har en stærkere kryptering. Sættes den til '5' vil enhver domain controller afvise LM og NTLM autentifikation og kun acceptere NTLMv2. Begge ændringer vil påvirke Win9x/ME-maskiners muligheder på netværket.

På Windows 2000 kan det forhindres at LM gemmer oplysningerne ved at tilføje en nøgle i registreringsdatabasen på dette sted:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA
Tilføj en nøgle der hedder 'NoLMHash' og genstart maskinen. I fremtiden, når en bruger skifter password, vil det ikke blive gemt af LM.

Microsoft har publiceret en samling artikler om emnet - se artikler.

Links