10 års sikkerhed

Det er ti år siden Microsoft begyndte at (lade som om) de tog computersikkerhed alvorligt.

At sige det er blevet bedre er at sige ingenting: Der var ingen sikkerhed at blive bedre end.

Men giv dem ti år mere, så begynder det måske at ligne noget.

phk

Kommentarer (53)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Tommy Kobberøe

Kære Poul-Henning.
Mon ikke du ramte forkert på "send til" knappen? Det ligner mere en Facebook-kommentar end en artikel på forsiden af version2.dk. Når du får tid kunne det være rart med en uddybning af din mening, og måske kunne du inddrage Adobe, Oracle og andre, som konstant leverer sikkerhedsrettelser til deres "små" uundværlige programmer

  • 23
  • 6
Thomas Knudsen

Hvem snakker du om Martin? PHK har mig bekendt aldrig udtalt sig specielt positivt om Linux (men ofte udtalt sig decideret negativt om den licens Linux distribueres under).

Så med mindre din definition af begrebet "fanatiker" er orthogonal på de fleste andre menneskers, så synes jeg du skal spare dine tsk tsk til du en dag har en mere velunderbygget sag at brokke dig over.

  • 12
  • 0
Johan RB

Hvis man følger din argumentation, så vil vi også om 10 år kunne sige "ingenting", da der på dette tidpunkt er gået 20 år siden der ikke var noget at blive bedre end.

Men det du siger er altså at f.eks. Windows 7 SP1, er ligeså usikkert som Windows XP SP1 (SP2 kom i 2004)... Det er vidst ikke andet end trolling - og jeg bed på :/

  • 9
  • 2
Poul-Henning Kamp Blogger

Hvis man følger din argumentation, så vil vi også om 10 år kunne sige "ingenting", da der på dette tidpunkt er gået 20 år siden der ikke var noget at blive bedre end.

Nej, så har man ikke forstået at læse indenad.

For 10 år siden havde Microsofts operativsystemer ingen sikkerhed af relevant styrke.

Idag har de en lille smule, men det er stadig baseret på en helt forkert tankegang og tilgang og derfor er det ikke ret meget værd.

Når Microsoft engang kan finde ud af at lave operativsystemer der ikke har brug for "virusscanning" og andre sikkerheds-cirkus manøvrer, så holder jeg op med at brokke mig over deres ringe sikkerhed.

Og hvis jeg bliver kaldt fanatiker, mens jeg har opfundet og skrevet et antal af de forebyggende sikkerhedsforanstaltninger der holder UNIX/*BSD/Linux verdenen sikker, så siger det egentlig mere om den der kalder mig det, end det siger om mig.

Poul-Henning

  • 14
  • 0
Ejnar Hultesøm

PHK er jo manden som gik i retten for at købe en Lenovo uden Windows, netop får at få Linux (FreeBSD) på den...

Fanatiker - yes sir


Jeg har dog aldrig hørt noget så idiotisk. Manden gik i retten for at skabe fokus på problemet, således at vi andre ville stå bedre hvis vi skulle komme i samme situation.
Så vidt jeg husker blev det endda også muligt at få 850 kroner refunderet for en ubrugt Vista-licens som følge af retssagen.

Når Microsoft engang kan finde ud af at lave operativsystemer der ikke har brug for "virusscanning" og andre sikkerheds-cirkus manøvrer, så holder jeg op med at brokke mig over deres ringe sikkerhed.


Så længe eksekverbare programmer/scripts har skriveadgang til ens filer (og dermed også til "rm -rf ~"), vil jeg nu stadig føle mig mest tryg med en virusscanner - og hvis ikke programmer skal have adgang til dette, tror jeg hurtigt at "sikkerhed" kan udvikle sig til UAC^10 hvad angår irritationsmomenter for den gennemsnitlige Windows-bruger...

  • 2
  • 0
Johan RB

Jeg er sådan set ikke uenig i at Microsoft havde utilgiveligt ringe sikkerhed i 2001. Men i lyset af dit oprindelige indlæg, så orkede jeg ikke rigtig at hive det tunge argumentatoriske skyts frem.

Jeg er uenig i at det ikke er blevet bedre, men man er også nødt til at se på det marked Microsoft opererer i. De havde f.eks. fat i noget af det rigtige med UAC, men se på den shitstorm der kom fra både brugere og udviklere over det. Jeg er sikker på at Microsoft ikke hyrer hr. hvemsomhelst til at hacke i deres sourcecode, men hver gang der ændres på de mindste ting, eller ofres bagudkompatibilitet, så følger en sværm af kritik fra mere eller mindre selvbestaltede eksperter (og her mener jeg ikke PHK, men Slashdot, EkstraBladet m.fl.).

Det ændrer selvfølgelig ikke på at der stadig er problemer med sikkerheden, men jeg tror ikke det skyldes hverken manglende vilje eller kompetence fra Microsoft.

Iøvrigt har jeg ikke kaldt dig fanatisk, PHK, som man kunne få indtryk af, da du citerer mit indlæg.

  • 1
  • 1
Martin Poulsen

Når Microsoft engang kan finde ud af at lave operativsystemer der ikke har brug for "virusscanning" og andre sikkerheds-cirkus manøvrer, så holder jeg op med at brokke mig over deres ringe sikkerhed.

Det gør de allerede. Problemet er at Windows ikke er secure by default, og at man derfor selv skal gøre en aktiv indsats. Det hjælper heller ikke når medierne ukritisk citerer såkaldte sikkerhedseksperter, der bilder folk ind, at de bare skal installere en virusscanner, en spywarescanner og en firewall og så er man "sikker".

I stedet burde de sige: luk de programmer og services du ikke bruger, lad være med at logge ind som administrator og brug software restriction policies. Men hvornår har vi nogensinde hørt det?

Folk bliver ret lange i ansigtet, når de spørger hvilken virusscanner de skal bruge, og jeg siger "ved det ikke, jeg bruger ikke den slags".

Hænderne op - hvor mange herinde er logget ind som administrator på deres Windows-maskine?

  • 1
  • 0
Baldur Norddahl

Og hvis jeg bliver kaldt fanatiker, mens jeg har opfundet og skrevet et antal af de forebyggende sikkerhedsforanstaltninger der holder UNIX/*BSD/Linux verdenen sikker, så siger det egentlig mere om den der kalder mig det, end det siger om mig.

Nu vi er ved det, så mener jeg at den generelle sikkerhedsmodel i Linux (jeg kender ikke FreeBSD) også er forældet.

Sådan noget som NemIDs indsamling af data ved at smugle binære kode ind, burde slet ikke kunne lade sig gøre. Programmerne burde ikke have adgang til at se, endvidere læse, filsystemet ud over hvad der er nødvendigt for programmets funktion.

Adgang er idag primært styret ud for brugerens rettigheder, men for de fleste programmer burde det være programmets rettigheder. Noget i stil med det man ser på smartphones, hvor hver programpakke skal have godkendt specifikke rettigheder.

Jeg ved godt at vi har diverse forsøg på noget i den stil. Capabilities, AppArmor og SELinux men det er ligesom ikke slået igennem. Standarden for et program jeg selv har oversat, og som er i mit homedir, er fuld adgang til hele systemet, kun begrænset af hvad min bruger kan.

  • 4
  • 0
Jesper Lund Stocholm Blogger

Når Microsoft engang kan finde ud af at lave operativsystemer der ikke har brug for "virusscanning" og andre sikkerheds-cirkus manøvrer


Men Poul-Henning - det har Windows vel heller ikke som udgangspunkt? Sidst mine egne maskiner med Windows på (også XP) havde et AV-program installeret var vist i slutningen af 90'erne, og de har aldrig siden haft virus eller lignende på sig. Jeg er med på, at en stor mængde brugere af Windows har en adfærd, der fordrer en eller anden form for ekstra beskyttelse, men ifht skriveadgang til egne filer, mulighed for at installere bagdøre etc, så er der vel i dag ikke væsensforskel på *nix-varianterne (incl MacOSX) og Windows(7)?

  • 4
  • 0
Poul-Henning Kamp Blogger

@Jesper:

Men Poul-Henning - det har Windows vel heller ikke som udgangspunkt?

Hvis ikke Windows har brug for det som udgangspunkt, hvorfor bliver brugere af nye Windows maskine så overfaldet med dialog-bokse indtil de installerer en ?

@Sune:

Hvornår har en *nix bruger sidst mistet kontrollen med sin maskine fordi der ankom en email ?

@Baldur:

Capabilities, AppArmor og SELinux men det er ligesom ikke slået igennem.

Den primære grund til at de ikke er slået så meget igennem, er at sikkerheden i forvejen er så høj at det er uattraktive mål.

Et godt eksempel på at den slags forskning faktisk nytter, er at kigge på Apples OSX, her er "Parental Controls" f.eks implementeret baseret på de Mandator Access Controls der oprindeligt er udviklet i FreeBSD, i stedet for via en stak ad-hoc hooks ind i kernen der i sig selv er en sikkerhedsrisiko.

  • 4
  • 1
Jesper Lund Stocholm Blogger

Hvis ikke Windows har brug for det som udgangspunkt, hvorfor bliver brugere af nye Windows maskine så overfaldet med dialog-bokse indtil de installerer en ?


Fordi brugerne af Windows i alt overvejende grad har en adfærd, der gør det til en god idé?

Jeg siger bestemt ikke, at der ikke er flere bugs i Microsofts implementering end i andres implementeringer, men selv Apple siger jo nu, at det kan være en god idé med en eller anden form for AV-program - uagtet at de jo iflg dig har gjort det rigtigt med eksempelvis deres parental controls (hvad det så end er)

:o)

  • 2
  • 0
Michael Rasmussen

Måske kunne det motivere til gennemgribende forandringer i sikkerhedsmodellen, hvis det ved lov blev bestemt, at såfremt man afkræver brugeren penge for anvendelsen af ens software, eller ikke vil udlevere kildekoden til sin software, så har producenten et objektivt ansvar for skader på brugeren, som følge af brugen af det pågældende software på den foreskrevne måde.

  • 7
  • 0
Henrik Mikael Kristensen

Forskellen er nok, hvor nemt og hurtigt det er at rette sikkerhedshullet, hvis der endelig opstår et. I FreeBSD kunne jeg ikke forestille mig, at der pludselig kommer en syndflod af sikkerhedshuller, der medfører et krisemøde blandt neglebidende udviklerne, som resulterer i at projektet lukker for al eksisterende udvikling i tre år, for at skrive en ny kernel. Et hul vil højst koste en analyse, en diskussion, en rettelse af nogle få linjers kode og udrulning af en patch.

Det er jo ved at være 10 år siden, MS blev begravet i sin egen syndflod af sikkerhedshuller, som de stadig er ved at grave sig ud af, pga. grundlæggende arkitekturelle problemer og medførte omfattende omskrivninger.

"Those that don't learn UNIX are doomed to reinvent it. Poorly."

  • 1
  • 0
Baldur Norddahl

Den primære grund til at de ikke er slået så meget igennem, er at sikkerheden i forvejen er så høj at det er uattraktive mål.

Sikkerheden er ok imod den gamle trussel. Det var en verden, hvor vi i bunden stoler på vores programmer, dem der har lavet dem og dem der har pakket dem. Truslen var kun at der kunne være utilsigtede fejl, som udefrakommende hackere kan udnytte.

Nu er situationen at man ikke længere kan stole på programmets gode hensigter. På trods af at man mistænker (eller ved) at programmet er rådent, så er man måske af praktiske årsager nødt til at bruge det alligevel. Eksemplet er NemID men også tonsvis af Android programmer, som laver alt muligt "ekstra" ud over programmets primærfunktion. På Windows platformen får man ofte alt muligt skidt med ind når man installerer et ellers godt program. Ekstra (og uønskede) toolbars, skift af standardside i browseren og meget andet godt fra havet.

På unix-lignende systemer er der naturligvis chroot. Og ellers er der metoden med at benytte en virtuel maskine til det ene program. Men det er nogle store og tunge våben.

Jeg bruger Ubuntu/Debian og dermed deb pakker. SELinux beskytter ikke bedre end bestemt af ham der har lavet deb pakken. Når jeg skriver "sudo apt-get install foobar" bliver jeg spurgt om mit password. I stedet burde jeg spørges om jeg vil give foobar adgang til x, y og z. Modsat Android burde jeg også have mulighed for at sige at x, y er ok, men nej til z. Eventuelt giv ham en fake (simuleret) z.

Jeg vil have mulighed for at begrænse programmers adgang til hardware (f.eks. GPS og webcam), adgang til lokalnetværket eller internet (ikke det samme!), begrænse adgang til filsystemet til det jeg mener er nødvendigt, begrænset adgang til processlisten og andre informationer om den computer, som programmet kører på, og så videre.

NemID skulle aldrig have haft muligheden for at gå på rov i /proc uden min eksplicitte tilladelse. Og det burde være operativsystemet som forhindrede det. Vi kan ikke stole på at dem som har lavet browser, Java, Flash og hvad har vi.

  • 0
  • 0
Finn Christensen

Hvis ikke Windows har brug for det som udgangspunkt, hvorfor bliver brugere af nye Windows maskine så overfaldet med dialog-bokse indtil de installerer en ?

Fordi opfattelsen af sikkerhed er virusscanner, spywarescanner og firewall, og Microsoft gav så folket hvad de ville have, i stedet for at løse de grundlæggende problemer.

Microsoft foretog alene det sædvanlige stunt. De fandt et firma med nogle stumper sikkerhed, ragede lidt i koden og satte eget navn på samt rullede det ud første gang ifm. en af de vanlige fejlrettelser.

Tror ikke Microsoft faktisk kan og vil lave et 'sikkert' OS. Det gamle OS Windows NT var ikke helt ringe, set i forhold til legetøjet i Win 3.x, 95, 98 og Me.

Windows NT var nyudviklet og primært beregnet på virksomheder, men blev (da 16-bit, DOS og ME døde) selvfølgelig fyldt med tant, fjas og alskens skrammel i løbet af 0'erne.... trist, at de med fuldt fuldt overlæg den gang valgte at ødelægge deres eget barn og et muligt bedre og sikre OS.

Hele konceptet er bygget med henblik på 3. parts leverandørerne, så hele flokken lever af og har så store egeninteresser, at det kan ligestilles med en film fra Hollywood - entre (licens) dækker kun underholdning i ca. 1½ time, derefter må du betale endnu engang - endnu engang etc.

  • 0
  • 0
Finn Christensen

Fordi brugerne af Windows i alt overvejende grad har en adfærd, der gør det til en god idé?

Jesper, børn giver man ufarlige plasticvåben, de straks kan lege med. Militær, politi etc. bliver trænet og uddannet før man giver dem våben med skarp ammunition. Man blandet det ikke sammen - aldrig. I dag er det jo rimeligt indlysende, at Microsoft ikke fatter forskellen eller konsekvenserne.

Det er vel også indlysende for enhver voksen, at børn ikke skal lege på motorveje, ej heller på informationsmotorveje :)

  • 0
  • 2
Sune Marcher

@PHK: hvornår har en ux bruger sidst [i]opdaget[/i] at vedkommende er blevet exploited igennem en flash eller java bug? Hvis vi fjerner hardcore brugere og udviklere (og derved nok 100% af BSD folkene og 90% af linux brugere - tryl evt. selv nogle bedre tal ud af den blå luft :-) ) fra, vil de fleste ikke opdage hvis det skete.

Kombinér det med, say, http://blog.zx2c4.com/749 og du ejer maskinen. Før der er nogen der kommer med "jamen fejl bliver rettet super hurtigt i open-source software", så prøv at regne på hvor lang tid der er gået siden 2.6.39, og prøv at se på hvor mange år CVE-2009-2692 tog at finde.

Og OS X er naturligvis, med alt sin BSD-baserede glory, er aldrig blevet rooted, og iOS er aldrig blevet jailbreaked. Yep, det er klart at ux modellen helt automagisk er sikkert, og bedre end alt andet :)

Oh well, i det mindste er FreeBSD sourcen rimeligt velskrevet, og styret af folk der har en god idé om hvad de laver. Men fejlfri? Den er ikke formelt matematisk bevist, og den er programmeret af mennesker.

  • 1
  • 0
Anonym

Kigger vi ud over det store IT-land, så er sikkerheden ikke fulgt med kompleksiteten.
Det har været et problem for 10 -> 20 -> 30 år siden.

For øjeblikket, så vokser problemet voldsomt, især ford at man ikke indser at mobilløsningerne, vil have det meste af markedet inden for et par år.

Det er eller sjovt at skyde ensidigt på MS, men fremtidens fokus ligger et andet sted, og så må vi i det mindste prøve, ikke at stå og glo på MS, imens tyven lister bag om ryggen på os.

For MS skyld, må vi håbe de har set lyset, at crap software, herunder mangel på sikkerhed, ikke er vejen frem. Ellers løser det sig selv, efterhånden som de nye løsninger tager over.
Problemet er, at når andre begynder at komme ind på markedet, så stiger kompleksiteten endnu mere omkring sikkerhed.

  • 0
  • 0
Poul-Henning Kamp Blogger

Her må vi lige skelne imellem hvad vi mener med "multiuser".

Et OS der bruger modellen "kun en bruger logget ind ad gangen" er bare et single-user system med nogle utilgængelige filer.

Et rigtigt multiuser system tillader flere brugere at være aktive på systemet samtidig og håndterer deres konflikter om adgang, resourcer osv.

  • 2
  • 0
Sune Marcher

Et rigtigt multiuser system tillader flere brugere at være aktive på systemet samtidig og håndterer deres konflikter om adgang, resourcer osv.

Så fordi client versionen af Windows kun supporterer én indlogget bruger ad gangen, kalder du NT som helhed single-user, og ignorerer komplet terminal services?

Vi kan hurtigt blive enige om det er lidt deprimerende at skulle betale ekstra for at fjerne et kunstigt handicap, men det betyder ikke NT ikke er flerbruger.

  • 0
  • 0
Jimmy Frydkær Dürr

Helt ærligt, Martin.
Burde du ikke undlade at blande dig i en debat af denne type, hvis ikke du kender den mest grundlæggende forskel på GNU/Linux og FreeBSD (som er en Berkley-UNIX med en speciel licens) - De to systemer har intet med hinanden at gøre ud over at de begge er *nix (eller er det for avanceret?)

  • 1
  • 0
Poul-Henning Kamp Blogger

Jeg er faktisk ikke sikker på at NT lever op til min definition af multiuser, hvad enten du bruger "terminal services" eller ej. Det gjorde det ihvertfald ikke da jeg første gang stiftede kendskab med det i 1994 og det er ikke mit indtryk at man har været istand til rette op på de problemer der var den gang.

Men du misser pointen lidt her: Microsofts problem er at de opfatter computere som enkeltbrugere, deres egen opfattelse af "terminal services" er at du bruger det på en server til at afvikle jobs der alle kommer fra den samme afdeling i det firma der ejer serveren.

Den dag de kan stille et system op hvor du kan give alle studerende på DAIMI en konto og lade dem bruge computeren samtidig, er de i mål.

Det er et helt rimeligt argument at det slet ikke er det M$ prøver på at lave, men det er der den forkerte opfattelse af sikkerhed dukker op:

I et fjendtligt miljø, som f.eks på internettet, har du altid risikoen for at have fjendtlige brugere ombord, også på UNIX, hvor det typiske er svage passwords der slipper dem ind.

Det er simpelthen ikke en trussel Microsoft nogen sinde har taget seriøst. I første omgang hed det sig at man skulle jo have fat i tastatur&mus for at kunne bruge computeren.

Da det viste sig at være noget vås, tilføjede man i hast forskellige barierrer for at holde trussler ude, men så snart disse viser sig utilstrækkelige er systemet kompromiteret, fordi der ingen væsentlige indre barierrer er.

  • 2
  • 1
Sune Marcher

Se, nu er du ude i en mere nuanceret debat, hvilket klæder dig meget bedre end den oprindelige flamebait :-)

Forstår jeg dig ret, at du definerer et 'rigtigt' multi-user system ud fra at man i princippet skal kunne lade en ondsindet bruger have en (begrænset) user account på systemet? Er ikke sikker på jeg er enig i den definition, men det er naturligvis en god egenskab at have. Og der ville jeg nok stadig stole mere på en BSD setup end NT. Men Linux vs NT? Bum bum, det bliver nok uafgjort.

At der ingen væsentligt indre barrierer er på NT er måske også lige spidst nok formuleret - der er process og user separation, og mere fintkornede privilegier end den oprindelige primitive ux model (som man heldigvis til dels er kommet videre end på de moderne systemer). At Win32 userland så er et helvedes rod, at kommunikation mellem userland subsystems (reelt set ikke plural) og kernel har nogle grimme områder og der er mulighed for privilege escalation er en anden sag.

  • 0
  • 0
Sune Marcher

Sune, det er shit som det her de gør at jeg ikke kan tage M$'s sikkerhed seriøst:

http://isc.sans.edu/diary.html?storyid=12454&rss

Det er et fint eksempel på dårlig standard-opsætning, som Windows desværre har en ganske pæn del af (personligt mener jeg det værste var at lade default-kontoen på den hjemmebruger-rettede XP have admin rettigheder). Det er ærgerligt at det tager så lang tid at udbrede sikkerhedsmentalitet i alle kroge af et stort firma (der, ganske rigtigt, er hoppet på vognen for sent).

PS: checker NT's DNS resolver ikke primary DNS suffix før den checker NetBios navn? Ikke at det hjælper folk på usikkert wifi, men det gør da en hvis forskel :-)

  • 0
  • 0
Poul-Henning Kamp Blogger

Det er ærgerligt at det tager så lang tid at udbrede sikkerhedsmentalitet i alle kroge af et stort firma [...]

Det handler ikke om at udbrede en mentalitet, det handler om at ledelsen på et eller andent niveau har besluttet at sådan skal det være, uanset hvad det betyder sikkerhedsmæssigt.

Hvis Microsoft tog sikkerhed alvorligt, ville beslutningen ikke været taget den vej.

  • 1
  • 1
Henrik Kramshøj Blogger

Når ret skal være ret, så har Microsoft over årene forbedret deres processer igen og igen.

Desværre viser det sig alt for ofte at der gemmer sig uhyggeligt mange små fejl hist og her. PHK angav en fra ISC diary, men jeg synes en anden relativt ny er helt godtnat

http://technet.microsoft.com/en-us/security/bulletin/ms11-083

The vulnerability could allow remote code execution if an attacker sends a continuous flow of specially crafted UDP packets to a closed port on a target system.

Vel og mærke er det en sårbarhed som rammer Windows Server 2008 R2 og Windows 7 som må siges at være moderne flagskibe fra Microsoft. Pinligt pinligt - og helt sikkert noget deres guruer indenfor sikker programmering græmmes over. Eksempelvis Howard LeBlanc som er forfatter af Writing Secure Code og 24 Deadly Sins of Software Security: Programming, med dagjobbet:

Michael Howard is a security program manager on the Microsoft Windows XP team, focusing on secure design, programming, and testing techniques.

Hans titel er nok opdateret siden hen, men enten har nogle udviklere siden glemt alt han fortalte dem - eller opgaven er blevet for stor. av. det må gøre lidt ondt.

Vi ser desværre, nu da snakken er faldet på Linux, at operativsystemer med ringe kvalitetssikring og manglende "secure development life cycle" også får nogle skrækkelige fejl i produktion. Læs eksempelvis den seneste Linux
Linux Local Privilege Escalation via SUID /proc/pid/mem Write http://blog.zx2c4.com/749

Moralen er for mig at se, trust nobody, backup your data, og lav flere lag af sikkerhed - så det bliver svært at komme til serverne og man kan gøre mindst muligt, hvis man får adgang til dem. Kunsten bliver dog samtidig at gøre det enkelt for administratorer, kunder og autoriserede brugere at tilgå og ændre på dem.

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