Miklós
-7 °C
2 °C

A történelem legundokabb bogarai

2005.11.09. 16:15
A Wired magazin összeállította minden idők legveszélyesebb szoftverhibáinak listáját, amelyen szerepel megbénuló telefonközpont, megsemmisülő rakéta, számos halott és sebesült. Szoftverhibának tulajdonítható minden idők legnagyobb nem nukleáris eredetű robbanása is.

A világ első valódi számítógépes "bogara" (szoftverhiba, angolul "bug") a legenda szerint egy molylepke képében öltött testet a Harvard Egyetem Mark 1-es komputerében, egészen pontosan az F panel 70-es számú jelfogójában. A mérnökök a gépet kiakasztó molylepke tetemét a hibanaplóba celluxozták, és melléírták: "az első valóban megtalált bug" - írja Simson Garfinkel, a Wired magazin szerzője, aki kedden közzétette minden idők legveszélyesebb szoftverhibáinak listáját.

Az első említésre méltó szoftveres bug 1962 július 28-án bukkant föl az Egyesült Államok Mariner I űrszondájában - a repülés irányítását végző szoftver hibája miatt a hordozórakéta letért eredetileg kijelölt pályájáról, ezért az irányítóközpont az Atlanti-óceán fölött megsemmisítette a járművet. Mint később kiderült, a ceruzával papírra írt kódot rosszul vitték be a számítógépbe, ezért az hibásan számolta ki a röppályát.

Húsz évvel később, 1982-ben a Föld történetének legnagyobb nem nukleáris eredetű robbanásához vezetett egy bug, amelyet állítólag a CIA helyezett el szándékosan egy kanadai számítógépes rendszerben. A rendszert a Szovjetunió vásárolta meg, hogy azzal irányítsa a transz-szibériai gázvezetéket, az amerikai titkosszolgálat pedig bénító hatású bugot csempészett a gépekbe, ami a tervek szerint leállította volna a rendszert. Ehelyett felrobbant az egész.

Halálos verseny

Öt orvosi kezelés alatt álló beteg halálát és további páciensek súlyos sérülését okozta 1985-87-ben a Therac-25 egészségügyi célgép szoftveres hibája. A röntgenterápiára használt szerkezet operációs rendszerét egy autodidakta programozó készítette, és figyelmetlenségében benne hagyott egy úgynevezett "race condition" (versenyhelyzet) nevű hibát. (A bug következtében egy folyamat eredménye váratlanul kritikus mértékben függővé válik az egyes események időzítésétől - azért versenyhelyzet, mert ilyenkor több jel küzd egymással azért, hogy ő befolyásolhassa előbb az eredményt). A Therac-25 kezelője a hiba miatt akár véletlenül is úgy félrekonfigurálhatta a gépet, hogy az gyógyító szerkezetből gyilkológéppé vált.

Egészen 1988-ig kellett várni az első internetes féregvírus megjelenésére: a félelmetes Morris egy nap alatt a kaliforniai Berkeley Egyetem 2-6000 gépén okozott végzetes puffertúlcsordulást. A kártevő a szövegsorlehívó gets() rutinnak azt a tulajdonságát használta ki, hogy annak nem korlátozott a bemenete, a túlcsordulás miatt pedig a vírus minden olyan gépet megfertőzött, amelyhez kapcsolódni tudott. A programozók az incidens óta igyekeznek kihagyni a kódból a gets()-et, de az máig is a C programnyelv része.

Nyolc éven át, 1988-tól 1996-ig álltak bárkinek nyitva azok a számítógépek, amelyeket a Kerberos biztonsági rendszer védett. A készítők ugyanis olyan véletlenszám-generátort építettek a rendszerbe, amely valójában nem random gyártotta a számokat, így a hibát az használta ki, aki csak akarta. Arra nincs bizonyíték, hogy a nyolc év alatt bárki visszaélt volna a hiányossággal.

Félmilliárd dolláros baki

Kilenc órán át hatvanezer amerikai nem tudott távolsági hívást bonyolítani 1990 januárjában, mert a telefontársaság bugos új szoftverrel frissítette a régit. A kapcsolásokat bonyolító switch-eket kontrolláló számítógépek egymás után omlottak össze, és az összeomlás után újrainduló gépek által kiküldött lelkendező üzenet sorban lefagyasztotta az összes többit is, egészen addig, amíg 114 switch hat másodpercenként fagyott el, majd indult újra. A mérnökök a problémát a régi szoftver újratelepítésével oldották meg.

Az Intelnek összesen 475 millió dollárjába került 1993-ban az agyonreklámozott Pentiumok úgynevezett lebegőpontos hibája. A processzorok bizonyos tartományban hibáztak a számításkor - egy szimpla osztáskor akár 6 ezreléket is - , ami az átlagos felhasználók jó részét nem érintette ugyan, de a nyilvános felháborodás miatt óriási veszteséget okozott a cégnek. Körülbelül három-ötmillió hibás csip került forgalomba; az Intel eleinte úgy próbálta csökkenteni a veszteséget, hogy csak azon vásárlók processzorait cserélte ki, akik be tudták bizonyítani, hogy valóban szükségük van a nagy számítási pontosságra, de végül minden panaszost kártalanított, így bukott majdnem félmilliárd dollárt.

Ping of Death

Éppen ma tíz éve terjedt el a "halálos ping", amellyel az IP (internet protokoll) egy hibáját kihasználva a távolból le lehetett fagyasztani mit sem sejtő felhasználók számítógépeit. A halál egy speciálisan megformázott lekérdezés ("ping") formájában érkezett, és a windowsos gépeken kívül Macintoshokat és Unixot futtató számítógépeket is képes volt megbénítani.

Szoftverhiba - túlcsordulás - okozta 1996-ban az Ariane 5 hordozórakéta megsemmisülését is, amely a 4-es verzióból újrahasznosított, már bevált irányító szoftvert használta. A régi szoftver hibásan futott az új környezetben a számítógép összeomlott, az Ariane 5 501-es pedig negyven másodperccel a kilövés után darabjaira hullott.

Gyilkosságért állították bíróság elé 2000-ben a panamai nemzeti onkológiai intézet orvosait, mert egy csúnya bug következtében pácienseik közül nyolc meghalt, legalább húszan pedig súlyos egészségkárosodást szenvedtek. Az orvosok céljaiknak megfelelően változtattak az amerikai Multidata terápiatervező szoftverén: a rákos sejteket az egészségesektől elválasztó fémpajzsok számát megnövelték, így viszont a szoftver a kezeléshez használandó sugárdózis kétszeresét írta elő.

Nászút ajándékba!

Esküvőt tervez? Tervezzen velünk, nyerjen wellness nászutat!

Fergeteges Szilveszter

Fantasztikus szilveszteri vacsorával, hajnalig tartó bulikban, ismert sztárokkal töltheti el az év utolsó éjszakáját.