Töölaud: suurem, kuid mitte parem
Microsofti töölauarakendused (nagu Word ja Excel) on suures osas Sama. Nad on funktsioonide paistetuse lõppfaasis: nad on täis vidinad, mis tegelikult ei lisa tootele midagi kasulikku, kuid mis rikuvad tootlikkust nende keerukuse tõttu, mis tekitavad rohkem vigu, suurendada ressursinõudlust ja nõuda rohkem koodi, mis omakorda viib suurenenud riskideni. Pärast aastatepikkust lappimist ja lisamist on nende koodibaas tõepoolest muutunud väga räpaseks. Turvalisus, kui see on olemas, on lisatud järelmõte ka siin. Näiteks parooliga kaitstud Wordi dokument ei ole krüpteeritud mis tahes viisil. “Kaitstud” dokumendi sisestamine teise Liikumiseks piisab kaitsmata dokumendist (nt tühi uus dokument) “kaitse”. Ja kui see ei õnnestu, piisab muutmiseks lihtsast hex-redaktorist “Muudetav parool” dokumendis. Microsoft on sellest teadlik, kuid nüüd väidab, et “Muudetav parool” on mõeldud ainult selleks, et “vältida dokumendi juhuslikud muudatused” ja mitte pakkuda kaitset pahatahtlike kolmandate isikute tehtavad muudatused. Uh-huh.
Animeeritud kirjaklambrid ei tee Wordist tegelikult paremat tekstitöötlusprogrammi. Me oleksime parem muude asjadega, näiteks automaatvormingu järjepideva käitumisega funktsioonid, võimalus vaadata märgistuskoode või täielikum õigekirjakontroll algoritm ja sõnastik. Kuid hoolimata kõigist “uutest” versioonidest Office ja püsivad funktsioonitaotlused nende kasutajatelt, Microsoft endiselt pole selleni jõudnud. Selle asemel on meil mitme keele tugi, mis kipub aeg-ajalt oma seadeid “unustama” ja “automaatselt korrigeerima” funktsioon see piirdub sellega, et see on tüütum kui kasulik. Wordi dokumendid on muutunud liiga suureks ja kohmakaks ning aeg-ajalt nad on rikutud, kui see salvestatakse kettale. Kui see juhtub, ei saa Word taastuda need dokumendid ja jooksevad kokku, kui üritavad neid avada.
Tegelikult on lõbus, et Office’i uusim versioon, mis on jõudnud 21.sajandini, ei saa ikka veel hakkama mitme kasutajaga, kes loevad ja kirjutavad samu andmeid. See on kinni kaheksakümnendates, kui mitu kasutajat võisid lugeda samasid andmeid, kuid kõik, välja arvatud parimad süsteemid, ei saanud kirjutamisega korralikult hakkama samadele failidele, rääkimata andmebaasikirjetest. See probleem, millele viidatakse kui rekordilukk, fikseeriti kaasaegses tarkvaras üle kümne aasta tagasi.
Exceli kohta võime lühidalt öelda: sellel on sarnased probleemid ja arvutusvead valemipõhistes arvutustabelites lisaks sellele. Excel on täis koristusi ja Suurepärane graafika ja animatsioonid, kuid sisuliselt on see ikkagi arvutustabel, mis ei saa loendada ja see nõuab paljude valemite ja makrode ümberkirjutamist iga uus Exceli versioon.
Office’i andmebaasikomponent Microsoft Access pole täpselt tähetöö ka. Juurdepääs, välja arvatud selle omapärane viis liidestada taustaprogrammi andmebaasidega, võib siiski lukustada terviku (võimalik, et missioonikriitiline) andmebaas, lihtsalt sellepärast, et üks kasutaja pole sulgenud rakendust, mida kasutatakse andmete kirjutamiseks või muutmiseks. Juurdepääs on tegelikult eeldatav, et oleks võimalik selle seisundiga korralikult toime tulla, kuid see ei ole nii. Ja vapustav arusaamise puudumise kuvamine, Access 2007 tutvustas mitme väärtusega andmetüüpide kasutamine SQL-andmebaasides, püüdes teha Toodet energiatarbijatel lihtsamalt juhtida. Arendusmeeskond tundis, et energiakasutajad leiavad mitmik-mitmele ühenduste loomise, kasutades kolme tabelit kontseptuaalselt väga keerulised ja leiavad mitme väärtusega andmeid kirjutab palju lihtsama lahenduse. Selles on nad õiged; kasutajad kindlasti Ärge võidelge kontseptsiooniga luua palju-mitmele ühendusi, kasutades kolme tabelit nagu on SQL-is “klassikaline” viis. Kuid põhjus, miks seda teha vanamoodsat viisi on see, et see on täiesti täpne ja prognoositav ja et iga andmebitt (iga aatomväärtus) on alati kättesaadav, mis oli üks peamisi disainipõhimõtteid (võib-olla isegi kogu punkt) SQL-i disainist aatomväärtuste ümber. Mitme väärtusega lähenemine on nagu püsikiiruse hoidja asetamine tagakäele või buldooserile, püüdes muuta kvalifitseerimata ettevõtjate jaoks kasutamine lihtsamaks ja selle tulemuseks on sarnane.
Menüüliidesed kõigis Microsofti rakendustes, isegi nendes, mis on komplekteeritud MS Office’is on ebajärjekindlad ja mitte-intuitiivsed. Näiteks menüü võimalus määrata rakenduse eelistused, mille pealkiri võib olla “Eelistused” mõned tooted, kuid teistes “Valikud”, võib leida menüüst “Fail”, menüüs “Muuda”, jaotises “Vaata” või kusagil mujal, sõltuvalt sellest, mida toode, mida praegu kasutate. Veelgi suurema segaduse tekitamiseks on samad valikud erinevates rakendustes ei tööta identselt. Näiteks ‘Sorteerimata list’ nupp (täpploendi loomiseks) käsitleb Wordis taanet õigesti, kuid ignoreerib seda PowerPointis täielikult (PowerPoint lisab täppe, kuid segab teksti vasakus kontuuris üles). Ja klahv “F3” aktiveerib otsingu jälle’ funktsioon stringiotsingute jaoks praktiliselt kõigis Microsofti toodetes, välja arvatud Internet Exploreris ja Excelis, kus see midagi esile toob täiesti erinev ilma nähtava põhjuseta.
Microsoft teeb Internetti
Microsofti kõige olulisem rakendus väljaspool MS Office’i on kahtlemata Internet Explorer. Oma esimeses kehastuses oli IE väga tähelepandamatu veebi brauser; nt versioon 2.0, kuna see tarniti koos Windows NT 4-ga, oli nii tagurlik, et sellel polnud isegi raami võimekust. See muutus peagi Microsoftiks alustas veebibrauseri integreerimist Windowsiga osana nende integreerimisest ja komplekteerimisstrateegiad (mida käsitletakse üksikasjalikult allpool).
Ausalt öeldes tuleb öelda, et IE viimased versioonid (alates versiooniga 6) ei ole tegelikult halvad veebibrauserid. Nad teevad enamasti seda, mida nad peaksid seda tegema. Tõsi, on mõned tüütud probleemid. IE-l on rohkem kui tema osa tüütuid vigu stiililehtedel ja mõned kummalised lahknevused tabelite renderdamisel. Samuti kipub see segadusse minema kui esitate rohkem kui ühte nuppu sisaldava lehe, ekslikult mitme nupu nime väärtuste tagastamine. Tal on oma ideed, kuidas domeeni objektimudel (DOM) peaks käituma, kiitleb Jscripti käitumisega, mis erineb kõigist teistest brauseritest, puudub xHTML-i korralik tugi tugi ja iseloomu kodeerivad läbirääkimised. Ja muidugi PNG tugi IE6-s on nii halb, et see on ühepoolselt edasi lükanud see pildivorming paljude aastate ja võib-olla igavesti.
Sellegipoolest teevad IE6 ja 7 tervikuna enamiku jaoks piisavalt hästi tööd Kasutajates. Vähemalt kuvavad nad standarditele vastavat HTML-i rohkem või vähem korrektselt renderdatud veebilehed kiirusega, mis on igal juhul vastuvõetav. IE varasemad versioonid ei olnud peaaegu nii head ja isegi sisaldas tahtlikke kõrvalekaldeid globaalsetest HTML-standarditest, mis olid mõeldud selleks, et takistada standardiseeritud HTML-i kasutamist Microsofti enda varalised ja piiravad ideed.
Internet Exploreri peamised puudused seisnevad selles, et see püüab olla rohkem kui lihtsalt veebibrauser. See lisab skriptimise toe (võimalusega käivitage Visual Basic või Jscripts, mis on manustatud veebilehtedele) ja see haakub otse Windowsi tuuma. Olen näinud veebilehti, mis sulgeksid Windowsi süsteem niipea, kui lehte vaadati Internet Exploreriga. Microsoft tundub, et ei ole põhiliste turvakaalutlustega väga vaeva näinud, pehmelt öeldes. Ja muidugi uue Interneti-versiooni installimine Explorer asendab (kirjutab üle) olulise osa Windowsi operatsioonist süsteem koos kõigi eespool käsitletud puudustega.
Sarnaseid probleeme leidub Outlookis, Microsofti e-posti kliendis. Outlook on tegelikult eraldi rakendus, kuid seda ei tarnita eraldi. On kaks versioonid: üks on komplekteeritud Internet Exploreriga (seda versiooni nimetatakse Outlookiks Express) ja teine on osa MS-Office’ist (selle versiooni nimi on “Outlook” ja kaasas grupivara ja planeerija võimalused). Väljavaade on iseenesest aktsepteeritav, kui see ei ole märgatav, e-posti klient; see võimaldab kasutajal lugeda ja kirjutage E-post. Kaasas mõned vastikud vaikeseaded, kuid vähemalt need saab muuta, kuigi keskmine algaja kasutaja seda muidugi kunagi ei tee. (Näiteks saadetakse sõnumeid vaikimisi mitte loetava tekstina, vaid kujul HTML-faili manused. Kui kasutaja vastab meilisõnumile, siis tsiteerimisfunktsioon mõnikord kasutab veidrat vormingut, mis ei kao ilma dünamiidita. Ja väljamineva meilisõnumiga kaasneb sageli palju rämpsu.) Tõsisem on asjaolu, et nii Outlook kui ka selle serveriotsa kaaslane Exchange kipub välju meilipäistest eemaldama, mis on tava, mis on suures osas kortsutas kulmu. See muudab ka nii võrgu haldamise kui ka tõrkeotsingu raskemaks.
Outlooki kõige murettekitavam probleem on see, et sellega kaasneb palju konksudest Internet Explorerisse. HTML-faili renderdamiseks kasutatakse IE-koodi manused, sh skriptid, mis võivad olla kaasatud HTML-vormingusse E-kiri. Jällegi näib, et Microsoft ei olnud sellest täiesti teadlik vajadus turvalisuse järele siin; sissetulevasse e-posti manustatud kood on vaikimisi teostatakse ilma kasutaja täiendava kontrolli või sekkumiseta.
MS-toodete põhiline ebakindlus
Mis toob meid kõigi Microsofti toodete teise suure nõrkuse juurde: turvalisus või pigem selle puudumine. Microsofti kurikuulus ebakindlus Tarkvara on omaette probleem.
Kõik algab Windowsi üsna nõrgast (et mitte öelda naiivsest) turvalisusest mudelitel ja see on kohutav kvaliteedikontroll.. Aruannete arv turvaaukude kohta on muutunud lausa piinlikuks, kuid siiski kasvab regulaarselt. Teisest küljest Windowsi turvaaugud on muutunud nii tavaliseks, et vaevalt nad enam tähelepanu äratavad. Tavaliselt vähendab Microsoft uusimaid turbeprobleeme ja väljaandeid teine plaaster… pärast fakti. Kui Microsoft tõesti tahaks lahendada need tarkvaraprobleemid, nad hoolitseksid selle eest rohkem probleeme lahendati enne toodete müüki jõudmist – ja seega vastupidine viis, kuidas ta traditsiooniliselt äri ajab. See tähendaks vähem ressursse, mida kliendid igal aastal lappivad ja uuesti lappivad nende süsteemid, püüdes puhastada pärast Microsofti vigu, kuid see vähendaks ka klientide sõltuvust sellest, mida Microsoft nimetab “tarkvara hooldus”.
Vahepeal on häkkeritel Microsofti värisemisega pall turvamudelid ja veelgi nõrgem parooli krüpteerimine (mis hõlmab lihtsad XOR bitflip operatsioonid, selline “krüpteerimine”, mis peaaegu iga õpilane leiutab koolis uuesti). Häkkerid, skriptilapsed ja muud wannabees saab oma valiku teha laiast elementaarsest valikust turvanõrkused, mida ära kasutada. Mõned ajaloolised ja väga virulentsed ussid, näiteks levis nii kiiresti, sest nad võisid kaugjagamist lõhkuda paroolidega umbes kahekümne sekundiga. See ei takistanud Microsofti korraldamast 2003. aasta kevadel reklaamikampaania, mis keskendus häkkerite väljasuremisele koos dodo ja dinosaurusega, kõik sellepärast, et Microsofti oh nii turvaline tarkvara. Pole üllatav, et see rikkus mõnda eeskirja tõe kohta reklaamis ja kampaania pidi olema rutakas Tühistada.
Püüdes oma pilti mõnevõrra puhastada, veendus Microsoft, et Windows Vista käivitati suure turvalisusega seotud müraga. Sest alustajad, Vistal on parem vaikimisi juurdepääsuõiguste komplekt. Hästi lõpuks! Iidsed kaubanduslikud operatsioonisüsteemid nagu Univac Exec, CDC Scope ja DEC VMS kõigil olid erikontod erinevate lubadega juba ammusest ajast muidugi ja tervet mõistust. Windowsis vajas iga kasutaja administraatoriõigusi teha põhiülesandeid. Kuid peale selle, et see on aastakümneid liiga hiljaks jäänud, on see põhinõue on täidetud tüüpilisel Microsofti viisil: see loob turvaaugu nii suure, et seda võiks õigemini tühjuseks nimetada. Windows Vistas on vajadus teatud juurdepääsuõiguste järele on nüüd seotud … programmide nimed! Sest näide, kui Vista näeb, et rakenduse arendaja on loonud Microsofti Visual C++ projekti, mille nimes on sõna “install”, siis nõuab see käivitatav fail automaatselt administraatori õigusi. Looma täpselt sama projekt, kuid nimetage seda näiteks Frediks ja vajaduseks kõrgendatud juurdepääsuõigused kaovad võluväel. Lühidalt, kõik see pahatahtlik tarkvara peab Vistale kahjutu välimusega nime esitama ja Vista laseb see läbi.
Peale selle, et oleks tulnud rakendada nõuetekohast juurdepääsukontrolli Windows NT-s kohe algusest peale ja see Microsoft pani selle siis, kui see lõpuks ilmus Vista, ülejäänud Vista turvalisus on tavaline hodge-podge kludges ja work-arounds, mis sageli üritavad ühte auku lappida ja looge selle käigus veel üks. Vaatame näiteks Vista omasid “PatchGuard” teenusel. PatchGuard jookseb arvuti kokku, kui see tuvastab, et konkreetsed sisemised andmestruktuurid on “ühendatud”, mis on levinud viis, kuidas pahatahtlik tarkvara hakkab oma kahju tegema. Mitte ainult kas see ümbertöötamine ei tähenda ikkagi operatsioonisüsteemi korralikku kaitsekoodi esiteks, kuid see takistab ka kolmandate osapoolte turvatooteid (nt viirusetõrje- ja nuhkvaratõrjeprogrammid) korrektselt töötamast. Selle parandamiseks andis Microsoft välja API-d, mis sisuliselt võimaldavad kasutajatasemel programm Vista turvakeskuse sulgemiseks. Uh-huh.
Oluline osa probleemist on Windowsi korraliku eraldamise puudumine erinevatel süsteemi- ja kasutajatasanditel töötava koodi vahel. Aknad olid projekteeritud põhieelduse ümber, et kood töötab alati kõrgeima privileegiga, nii et see võib teha peaaegu kõike, sealhulgas pahatahtlikku kavatsust. See muudab võimatuks takistada pahatahtliku koodi tungimist süsteemi. Kasutajad võivad: (tahtmatult või tahtlikult) laadida alla ja käivitage kood Internetist, kuid Süsteemi tasandi ressursse on võimatu kahjustuste eest piisavalt kaitsta kasutaja taseme koodi.
Integreeritud haavatavused
Tihe integratsioon erinevate Microsofti toodete vahel ei aita eriti kaasa parandada üldist turvalisust. Kõik tarkvarakomponendid on koormatud funktsioonidega ja kõik komponendid saavad kasutada üksteise funktsioone. Kahjuks tähendab see, et kõik turvanõrkused on samuti ühised. Näiteks Outlook Meiliklient kasutab HTML-i renderdamiseks Internet Exploreri osi, mis on manustatud meilisõnumitesse, sh skriptikoodi. Ja muidugi IE ja Outlook haakub Windowsi tuumaga, millel on käitamiseks piisavalt õigusi suvaline pahatahtlik kood, mis juhtub olema manustatud vastuvõetud Meilisõnum või vaadatud veebileht. Kuna Outlook kasutab osi IE koodil, see on haavatav ka IE vigade suhtes. Nii et skriptimine Outlookis olemasolev haavatavus avab ka IE ja vastupidi ning kui IE-l on konks teatud Windowsi kerneli funktsioonidesse, need funktsioonid võivad ka seda kasutada ära Outlooki nõrkuse tõttu. Teisisõnu, väike tagatis leke ühes komponendis paneb kohe kogu süsteemi Risk. Loe: Internet Exploreri haavatavus tähendab haavatavust Windows Server 2003! Lihtsal Visual Basicu skriptil meilisõnumis on piisavad juurdepääsuõigused poole planeedi ülekirjutamiseks, nagu on tõestanud E-posti viiruse puhangud (nt Melissa, ILOVEYOU ja sarnased ussid), millel põhjustati miljardite dollarite väärtuses kahju.
Hea näide on Wordi viirused; need on sisuliselt VBS (Visual Basic Script) rutiinid, mis on manustatud Wordi dokumentidesse makrona. See on Suhteliselt lihtsa makro loomine, mis nõuab rohkem programmeerimisoskusi kui Võib eeldada, et keskmine kontoritöötaja on, kuid samal ajal isegi põhiliste turvafunktsioonide täielik puudumine muudab Wordi kasutajad haavatavaks pahatahtlik kood Wordi dokumentides. Kuna tarkvarakomponendid, Wordi makro suudab lugeda Outlooki meile aadressiraamat ja seejärel levitage ennast süsteemi e-posti kaudu ja/või võrgustiku komponendid. Kui Windowsi turvaseaded seda takistavad, Pahatahtliku viiruse kood võib sellest kaitsemeetmest hõlpsasti mööda hiilida turvaseadete muutmise lihtne otstarbekus. Kuidas see on turvalisus?
Samamoodi võivad veebilehtedesse või e-kirjadesse manustatud VBS-skriptid ära kasutada IE või Outlooki nõrkused, nii et nakatunud veebilehe vaatamine või vastuvõtmine nakatunud e-kirjast piisab süsteemi rikkumiseks ilma edasiste toiminguteta kasutajalt (sh faili käsitsi allalaadimine või manuse avamine). Nende nõrkuste kaudu võib pahatahtlik kood pääseda juurde andmetele mujal süsteemi, muutke süsteemi konfiguratsiooni või isegi käivitage protsessid. Märtsis 2000. aastal kirjutas häkker (muidugi anonüümselt) ICQ-le:
21/03/2k: Leidsin 1. nõrkuse: Windows 2000-s […] on Telnet Daemoni teenus, mida vaikimisi ei käivitata. Seda saab kaugjuhtimisega käivitada manustades COM-objekti HTML-koodi, mida saab veebi postitada lehekülg või saadetakse Outlooki klientrakendusse. Järgmine skript käivitab Telneti teenus:
<SKRIPTIKEEL=VBScript> CreateObject("TlntSvr.EnumTelnetClientsSvr")</SCRIPT>
Oleme seda proovinud ja see tõesti töötab. Ainult probleem… oleme selle pannud html lehekülg. Lehe avamisel… meie parim sõber “IE5” näitab hoiatus msg, mis ütleb, et “käivitate mõned käsud, mis võivad olla teie arvutile ohtlik… Kas jätkata?” Me peame selle parandama! Kasutamisel pole probleeme Outlook… [sic]
Pange tähele, et pärast lappimist vähemalt seitse erinevat turvaauku Windows 2000 telneti koodis (jah, see on seitse turvaleket sisse telnet üksi!) Microsoft andis 2002. aasta veebruaris välja veel ühe plaastri, Turvaprobleemi number kaheksa lahendamiseks: veel üks puhvri ületäitumise haavatavus. Millegipärast ma ei usu, et see plaaster jääb viimaseks. Kui teil ei õnnestu Esiteks proovige veel seitse korda, proovige, proovige (ja proovige veel) uuesti. Selles on näha kerge, pole üllatav, et J.S. Wurzleri kindlustusjuhid, üks neist Esimesed ettevõtted, kes pakuvad häkkerikindlustust, on hakanud klientidelt tasu võtma 5 kuni 15 protsenti rohkem, kui nad kasutavad Microsofti Windows NT tarkvara oma Interneti-toimingud.
Microsoft teab täpselt, kui halb on nende enda tooteturve. Siiski nad vahatavad lüürikat uute funktsioonide kohta, selle asemel, et võtta oma vastutus nende tegevuse eest. Tsiteerides Tom Lehrerit:
“Raketid tõusevad üles, keda huvitab, kust nad alla tulevad?
See pole minu osakond, ütleb Werner von Braun.”
Microsoft ei saa olla teadlik riskidest ja kahjudest, mida need põhjustavad. Pealegi nad keelduvad ettevaatlikult lootmast oma toodetele turvalisuse tagamiseks, kuid kasutavad selle asemel kolmanda osapoole kaitse. (Vt eespool.) Ja kuigi nad üritavad oma kasutajaskonda võimalikult kiiresti uutele tooteversioonidele üle minema, Microsofti ei saa vaevalt nimetada varajaseks kasutuselevõtjaks. 2001. aasta sügisel ikka veel ei käivitanud Windows ja Exchange 2000 oma meiliserverites, kaua pärast nende versioonide turule laskmist. Teistel sisemistel süsteemidel (vähem nähtavad, kuid siiski olemas) võib näha sarnast vastumeelsust uuendada MS toodete uutele versioonidele. Alles pärast paljusid turvapaiku ja veaparandusi on välja antud, kas Microsoft riskib omaenda uuendamisega kriitilistes süsteemides.
Lohakus muudab probleemi hullemaks
Paljud turvaprobleemid on põhjustatud paljust leiduvast lohakast koodist Microsofti toodetel. Paljusid puhvri ületamise haavatavusi saab kombineerida skriptimise nõrkustega. Te ei pea avama meilimanuseid ega isegi lugeda sissetulevat meilisõnumit, et riskida pahatahtliku koodi sisseviimisega teie süsteemi. Lihtsalt andmete saamine (nt e-posti allalaadimine POP3-st) server või veebilehe vaatamine) piisab. Jah, sellised lood on juba ammu olnud linnalegend, kuid Outlook on selle reaalsuseks teinud. Microsoft selgitab: ” haavatavuse tagajärjed seetõttu, et komponent, mida kasutavad nii Outlook kui ka Outlook Express sisaldab e-posti tõlgendavas moodulis märkimata puhvrit päiseväljad, kui meilide allalaadimiseks kasutatakse teatud meiliprotokolle meiliserveris. See võib lubada pahatahtlikul kasutajal saata e-kirja, mis kui see tuuakse serverist mõjutatud toote abil, võib see põhjustada koodi tema valikul töötada saaja arvutis.” See haavatavus on edukalt ära kasutanud Nimda ja teised pahatahtlikud ussiprogrammid. Teised ussiprogrammid (nt Code Red) ühendavad sellised haavatavused loominguliselt koostatud URL-id, mis käivitavad puhvri ületamise IIS-is. Isegi ilma installitud Frontpage’i laiendusteta on suhteliselt lihtne krüptimata saada administreerimisparoolid ning mitteavalikud failid ja dokumendid IIS-ist veebiserverist. Lisaks see “Tuleviku e-kaubanduse lahendus” sisaldab janti (kõvakoodiga parool, mis halvustab Netscape’i arendajaid kui “weenies”) koodiosas, mis on seotud juurdepääsuga kogu süsteemi kontrollimehhanismi. Ja seal on palju rohkem Sellised nõrkused. Nimekiri jätkub ja jätkub.
IIS peaks tooma mitme miljoni dollari suuruseid e-kaubanduse saite ja sellel on selle rakenduse täitmiseks palju taustaprogrammi funktsioone. Aga iga kord ja iga kord kuuleme suurest veebipõhisest postimüügist või e-kaubanduse veebisaidist, mis on lekkinud konfidentsiaalsed kasutajaandmed (sh krediitkaardinumbrid) selgub, et veebisaidil töötab IIS operatsioonisüsteemis Windows NT või 2000. (Ja see kehtib ka täiskasvanute postimüügi kohta majad ka. Ma pole päris kindel, milline mänguasi on Tarzan II MultiSpeed Deluxe on, kuid ma võin teile ilmselt öelda, kes selle ostis ja millisele aadressile see saadeti. Paljud e-kaubanduse veebisaidid lubavad teile turvalisust ja diskreetsust, aga kui nad juhivad IIS-i, saavad nad teile lubada ainult häid kavatsusi ja mitte midagi rohkem. Hoiatus emptor!)
Code Red ja Nimda ussid pakkusid toredat ja õpetlikku demonstratsiooni sellest, kui lihtne on nakatada servereid, kus töötab IIS ja muud Microsofti tooted ja kasutada neid pahatahtlikel eesmärkidel (st pahatahtliku koodi levitamiseks ja DDoS-rünnakud ülemaailmsel tasandil). Igaüks, kes viitsib ühte paljudest ära kasutada dokumenteeritud haavatavused võivad seda teha. Mõned haavatavused, mida ära kasutati by Code Red ja Nimda olid kuude vanused, kuid paljud administraatorid lihtsalt ei suuda hoida kuni IIS-i nõutava naeruväärse hulga plaastritega. Samuti ei ole lappimine alati lahendus: plaaster, mille Microsoft Nimda vastu võitlemiseks välja andis, sisaldas vigu, mis jättis missioonikriitilised IIS-i tootmisserverid mittetöötavaks.
20. juunil 2001 kirjutas Gartneri asepresident ja analüütik John Pescatore:
IIS-i turvaaugud pole enam isegi uudisväärtuslikud, nagu nad on avastati peaaegu iga nädal. See viimane viga kordab esimest teatatud Windows 2000 turbehaavatavus indekseerimisteenuses, lisandmoodulis Windows NT Serveri komponent, mis on inkorporeeritud Windowsi koodibaasi 2000. Nagu Gartner 1999. aastal hoiatas, tõmmates keeruka rakendustarkvara sisse Operatsioonisüsteemi tarkvara kujutab endast olulist turvariski. Rohkem koodiridu tähendavad suuremat keerukust, mis tähendab rohkem turvavigu. Hullem Ometi tähendab see sageli, et ühe turvavea parandamine põhjustab ühe või mitu uut turvavead.
Asjaolu, et Windows XP beetaversioon sisaldab ka seda haavatavust, tekitab tõsist muret selle pärast, kas XP näitab mõnda turvalisuse täiustumist võrreldes Windows 2000-ga.
19. septembril 2001 jätkas Pescatore:
Code Red näitas ka seda, kui lihtne on IIS-i veebiservereid rünnata […] Seega Interneti-avatud IIS-i veebiserverite turvalisel kasutamisel on kõrge hind Omandiõiguse. Microsofti IIS-i veebiserveri tarkvara kasutavad ettevõtted peavad tegema järgmist: värskendage iga IIS-serverit iga Microsofti turvapaigaga, mis tuleb välja – peaaegu kord nädalas. Kuid Nimda (ja vähemal määral kood Blue) on taas näidanud IIS-i kasutamise suurt riski ja sellega kaasnevaid jõupingutusi Microsofti sagedaste turvapaikadega kursis olemine.
Gartner soovitab ettevõtteid, keda tabavad nii Code Red kui ka Nimda kohe uurida IIS-i alternatiive, sealhulgas liikuvat veebi rakendusi veebiserveri tarkvarale teistelt müüjatelt, näiteks iPlanet ja Apache. Kuigi need veebiserverid on nõudnud mõningaid turvapaiku, on neil palju paremad turvaandmed kui IIS-il ja nad ei ole aktiivse rünnaku all suure hulga viiruse- ja ussikirjanike poolt. Gartner on jätkuvalt mures, et viirused ja ussid jätkavad IIS-i ründamist, kuni Microsoft on välja andnud täielikult ümber kirjutatud, põhjalikult ja avalikult testitud IIS-i uus väljalase. Sellele peaksid järgnema piisavad operatiivsed katsed, tagamaks, et esialgne laine turvaaukudest, mida iga tarkvaratoode on kogenud, on olnud katmata ja fikseeritud. See käik peaks hõlmama mis tahes Microsoft .Net-i veebi teenused, mis nõuavad IIS-i kasutamist. Gartner usub, et see ümberkirjutamine ei toimu enne 2002. aasta lõppu (tõenäosus 0,8).
Nagu selgub, oli Gertneri hinnang liiga optimistlik. Nüüd mitu aastaid hiljem pole IIS-i piisavalt ümbertöötatud versiooni ikka veel välja antud.
Kui tõsine see siis on?
Ausalt öeldes tuleb öelda, et Microsoft on õppinud reageerima üldiselt hästi äsja avastatud turvaaukudele. Kuigi raskusaste Paljudel turvaprobleemidel on sageli alahinnatud ja nende algpõhjus (vigane või puuduvad turvamudelid) on läikima löödud, teave ja plaastrid üldiselt vabastatakse kohe ja on kasutajate kogukonnale tasuta kättesaadavad. See on Kiiduväärt. Kuid siis on protseduur Microsofti jaoks muutunud rutiinseks, kuna Uued lekked avastatakse sõna otseses mõttes mitu korda nädalas ja lekked on saanud osaks Microsofti põhitegevusest. Plaastrite üleujutus on muutunud nii toredaks, et sellega on peaaegu võimatu sammu pidada. See on illustreeritud asjaolust, et enamik tänastest turvarikkumistest kasutab lekkeid edukalt ära, mille jaoks plaastrid on juba vabastatud. Tegelikult on suur maht lapitekil muutumas lõpuks piisavaks, et õigustada automatiseeritud levitamist plaastritest. Windowsi viimaste versioonide puhul on automaatne teenus teavitada kasutajat nõutavatest “kriitilistest värskendustest” (loe: turvalisus patches), mida saab seejärel ühe hiireklõpsuga alla laadida. See teenus (mis töötab üsna hästi) on muutunud väga populaarseks. Ja lõplikult põhjus: ainuüksi aastal 2000 andis MS välja umbes 100 (jah, sada) Turvabülletääni – see on keskmiselt üks äsja avastatud turvalisusega seotud väljastatus iga kolme kuni nelja päeva tagant! Aukude arv Microsofti tootel paneksid Šveitsi juustu häbisse.
Ja tempo on pigem kasvanud kui aeglustunud. Näiteks kui installid “soovitatav värskendus” (nt Media Player) Windows Update’i teenus, avastate kohe pärast seda, et peate “Kriitilise värskenduse” installimist korrake kogu harjutust, et lappida uusi turvalekkeid, mis võeti kasutusele esimese allalaadimisega! Vaevalt on mõistlik eeldada, et kasutajad sellise rottide võistlusega sammu peavad ja Pole üllatav, et enamik kasutajaid ei saa seda teha. Selle tulemusena on paljud e-posti viirused ja ussid kasutavad ära kuude või aastate vanuseid turvaauke. MSBlasteri uss, mis levis 2003. aasta suvel, suutis nakatada Windows Server 2003, kasutades haavatavust, mis oli juba NT4-s olemas!
Ajastul, mil suitsetajad kaebavad tubakatööstuse miljonite dollarite eest kohtusse terviseprobleemide tõttu, oli kõigil Microsofti toodetel parem hoiatus sisse lülitatud pakend, milles on märgitud, et “See toode on ebakindel ja põhjustab teie IKT-taristu kulukat kahju, välja arvatud juhul, kui uuendate seda sageli ja Eraldage iga päev aega selle leidmiseks, allalaadimiseks, testimiseks ja installimiseks patch-du-jour”. Kahjuks nad seda ei tee ning Windowsi-põhine makro ja skriptiviirused tekivad kiirusega mitusada kuus, samas kui keskmine aeg otsese Interneti-ühendusega pakkimata Windowsi serveris Kompromiteerimine on vaid mõni minut.
Paiga vabastamine kvaliteedi asendajana
Huvitav kõrvalmõju naeruväärsele kiirusele, millega plaastrid peavad vabastama on see, et mõned kasutajad saavad nüüd mulje, et Microsoft võtab tarkvara hooldust väga tõsiselt ja et nad töötavad pidevalt parandamaks oma tooteid. See on muidugi üsna naiivne. Kui nad oleksid ostnud auto, mis vajas tõsist hooldust või remonti umbes iga kahe nädala tagant, nad ilmselt ei tunneks oma automüüjat niimoodi.
Redmond on seda eksiarvamust rohkem kui üks kord ära kasutanud. Hiljutine Windowsi ja Linuxi võrdlused tsiteeriti plaastri reageerimisaegu, proovige näidata, et Windows on turvalisem kui Linux. Neil oli muidugi kriitiliste haavatavuste ümberliigitamiseks mittekriitilisteks, tõlgendage palju valesti arvudest ja ignoreerige täielikult asjaolu, et Windows areneb mitu korda haavatavuste arvust kui ükski teine toode.
Sellegipoolest, kui Microsofti paikamispoliitika oleks tõhus, oleksime otsa saanud turvaaukudest enamikus MS-i toodetes umbes praegu, vahtides IE-ga. Ilmselt ükski lappimiskogus ei suuda parandada konstruktsiooni konstruktsioonivigu (või selle puudumine) Microsofti toodete turvalisus. Plaaster on nagu ribaabi: See aitab ravida lihtsat lõiget või hõõrdumist, kuid see ei takista haiget uuesti, samal viisil või muul viisil ja murtud jala või geneetilise puudusega see on täiesti kasutu, isegi kui rakendate neid paar tuhat. Süsteemi ilmne nõrk koht on muidugi rakendustarkvara operatsioonisüsteem. Microsoftile meeldib Windowsile helistada “funktsioonirikkana”, kuid kui nad peavad tõsise nõuande välja andma Windows Server 2003 haavatavus, mis hõlmab MIDI-faile, muutub see ilmne, et Windowsi integreeritud funktsioonide komplekt on pikka aega, kuna ületas kasulikkuse piirid.
Microsofti lahendus: turvalisus läbi hämaruse
Viimasel ajal üritavad Microsofti lobistid edendada ideed, et tasuta Äsja avastatud turvaleketest teavitamine ei ole huvides; kasutajaskonnast, kuna üldsuse teadmised nende paljude nõrkuste kohta tooted võimaldaksid ja isegi julgustaksid pahatahtlikke häkkereid neid ära kasutama Leketel. Microsofti turbereageerimiskeskuse pressiesindaja Scott Culp süüdistas turvaeksperte usside nagu Code Red ja Nimda puhangu korral ning artiklis Microsofti veebisaidil 2001. aasta oktoobris tegi ta ettepaneku piirata turvalisusega seotud teabe levitamine “valitud ringkondadele”. Ja see kõik on muidugi meie enda huvides. Lõppude lõpuks on tsensuur selline vastik sõna.
2002. aasta augustis toimunud kohtuistungil, kus arutati Microsoft ja DoJ, Windows OS-i juht Jim Allchin tunnistas, kuidas varjamised on Microsofti eelistatud (ja soovitatav) tegevussuund:
“Windowsis on protokoll, mis käsitleb tarkvara funktsionaalsust nimetatakse sõnumite järjekorda ja selles protokollis on viga. Ja see Viga, kui me selle avalikustaksime, seaks minu arvates ohtu ettevõtte, kes kasutab seda konkreetset protokolli.”
Vahepeal lähevad asjad turvalisuse puudumise tõttu ainult hullemaks Microsofti toodetes. Office’i uusim kehastus (Office XP) pakub täielikku VBA tuge Outlookile, samas kui CryptoAPI pakub krüpteerimist sõnumid ja dokumendid, sealhulgas VBS-i manused ja makrod. Teiste sõnadega, viirusetõrje tarkvara ei suuda enam tuvastada ja pealt kuulata viiruseid, mis on kaasas E-posti ja Wordi dokumentidega, renderdavad ettevõtted täiesti kaitsetu viirusrünnakute vastu.
On selge, et see on katastroofi retsept. See on nagu autotootja, kes ujutab turu üle piduriteta autodega ja üritab siis kõik maha suruda tarbijate hoiatusi, et kaitsta oma müüginumbreid.
Loendage vead: 1 + 1 = 3
Teine murettekitav areng on see, et lekkiv kood sellistest toodetest nagu IIS või muud tooted installitakse sageli koos muu tarkvaraga (ja isegi Windowsiga XP), ilma et süsteemiadministraatorid oleksid sellest teadlikud. Näiteks: SQL Server 2000 tutvustas “superpesade” tuge andmetele juurdepääsuks Dnetlib DLL. See pakub mitme protokolliga ühenduvust, krüptimist ja Autentimist; teisisõnu, erinevate rakenduste kokkuvõtmine need tehnoloogiad toote varasemates versioonides. Süsteemil oleks ainult see DLL, kui SQL Server 2000, kliendihaldustööriistad, MSDE või Karbile paigaldati hankijapõhine lahendus. Kuid XP-ga see DLL on osa vaikeinstallist – isegi koduväljaandes. Tuleb Ei tea, kuidas komponent läheb “paigaldatud ainult spetsiaalsetesse masinatesse konkreetsel platvormil” kuni “installitud vaikimisi kõikidele maitsetele OS-ist.” Millised muud komponendid ja haavatavused on nüüd automaatselt installitud, millest me ei tea?
Ja Windowsi failikomplekt muutub äärmiselt segaseks. Otsin Windows 2000 või XP süsteemi WINNT kataloogi kaudu leiate palju vanu käivitatavaid faile, mis on aegunud ja mida kunagi ei kasutata: Media Player 5, 16-bitine pärandkood eelmistest Windowsi versioonidest juba versioonist 3.10 (tegelikult on suurem osa algsest Windows 3.10 käivitatavast koodist olemas), failid, mis kuuluvad funktsioonidesse, mida enamikul juhtudel kunagi ei kasutata (nt RAS tugi) või juurdepääsetavuse valikuid, mida enamik kasutajaid õnneks ei vaja (nt jutustaja ja ekraanil kuvatava klaviatuuri funktsioonid). Uinunud kood tähendab võimalikke uinunud turvaprobleeme. Sellise roundupi tarbetu paigaldamine peegeldab Microsofti arendajate laiskust: kui te lihtsalt installite kõik peale köögivalamu, võite lihtsalt eeldada, et see on seal hiljem aega ja ei viitsi korralike kontrollidega vaeva näha. Muidugi see tava ei paranda kvaliteedikontrolli üldse, see lihtsalt lisab paistetust, et on vaevanud Windowsi esimesest päevast alates.
Järgneb…