szerző:
techline.hu
Tetszett a cikk?

A bug, azaz a szoftverhiba rengeteg formában megjelenhet: lehet teljes lefagyás, idegesítő kis apróság, hibás függvény...

A bug, azaz a szoftverhiba rengeteg formában megjelenhet: lehet teljes lefagyás, idegesítő kis apróság, hibás függvény vagy memória címzés, gonoszul elrejtőzve a sok százezer soros programkódban… A programozók úgy tartják, hogy a bug „millió arccal” rendelkezik, és ugyanennyi jelenséget produkálhat. Egyvalami közös csak mindegyikben: kivétel nélkül idegesítőek és nehéz őket előre megjósolni.  

 A szó eredete az angol bogár (bug) szóra vezethető vissza. 1945-ben született a kifejezés, amikor az egyik első kezdetleges számítógépben, a Harvard Mark II belsejébe  molylepkék fészkelték be magukat. A bogarak pontos helye az F panel 70-es relay volt, s bármi is  volt az - ennyi év távlatából ugye- , annyi biztos, hogy elég eldugott helyen volt. A bogarak a kábelek szigetelésének megrágcsálásával hibás működést generáltak, a mérnökök pedig megőszültek mire egyáltalán eszükbe jutott, hogy bekukkantsanak az „F-panel” alá. El is neveztek minden idegesítő és nehezen visszakövethető hibát „bogárnak”, hogy miért nem inkább molylepkének (angolul „moth”) az rejtély.

Harvard MKII - benne volt az első bug - szó szerint

 Napjainkban persze a bugok már nem rágcsálnak semmit, jóval „kifinomultabbak”. Mennyire komoly dolog ez? Nos, ha az otthoni XP lefagy, mert a Windows „bugos” (és hát az), az sem kellemes. Az igazi bugok azonban dollármilliók (milliárdok) elvesztését okozhatják, sőt, sajnos néha emberéleteket is követelhetnek. Lássuk a legszörnyűbb bugokat az IT-világ eddigi történelmében!

 10. A lista legfiatalabb helyezettje alig pár hónapos történet. A Toyota kénytelen volt visszahívni a kereskedelmi forgalomból a legyártott Prius típusú autók nagy részét. Ennek eddig még semmi köze a szoftverekhez, máskor is előfordult már, hogy egy nagy autógyártó visszahívott szériákat ilyen-olyan mechanikai, vagy tervezési hiba miatt. A Prius esete azért érdekes, mert ez volt az első (bizonyítható, és a cég által is elismert) eset a világon, amikor a visszahívást (és a sok millió dolláros veszteséget) egy szoftverhiba, azaz bug okozta.
A hibajelenségek ráadásul elég széles spektrumon mozogtak, és eredetüket is nehéz volt felderíteni (ugye? Az igazi bug ismérvei…). Az autók figyelmeztető lámpái sorra jeleztek, holott minden tökéletesen működött, sőt sokszor a motor is leállt, holott mechanikailag minden rendben volt. A hibákat az ún. „smart car embedded code”, azaz a számítógéppel vezérelt „okos-autó” operációs rendszerében találták meg, egy sima bug formájában - később kiderült, a hiba nem csak a Prius szériát érinti. A Toyotákat nem olyan egyszerű a neten keresztül „peccselni”, mint a Windowst, így a dolog végül több mint negyvenmillió gépjárművet érintett.

09. Következő helyezés a Mariner I űrszonda hibája, még 1962-ből.  A rakéta fellövés után egyáltalán nem arra indult  amerre tervezték. Ez nem egy veszélytelen dolog, még akkor sem, ha a rakéta nem tartalmaz robbanófejet. Főleg nem a hidegháború éveiben. Az irányítóközpont végül az óceán felett megsemmisítette az elszabadult szondát. Az utólagos vizsgálat kiderítette, hogy a papíron helyes formulát rosszul fordította le a vezérlő számítógép (vagy helytelenül tápláltak be), így született az egyik első, ám annál veszélyesebb bug. 

Mariner 1 - rossz irányba indult...

 08. Még mindig a hidegháború és ezúttal egy olyan bug, amelyet szándékosan építettek a szoftverbe. Szomorú módon az emberiség történelmének legnagyobb, nem nukleáris eredetű robbanását okozta.  A CIA egy szándékos hibát csempészett az Oroszok által a transz-szibériai gázvezeték vezérléséhez szánt (mellesleg kanadai fejlesztésű) szoftverbe.  A történet a mai napig homályos, mivel mindkét fél (a KGB és a CIA) másképpen emlékszik, és persze minden verzióban más a hibás. Az egyetlen ismert - és némileg hitelesnek mondható - forrás az ún. „Farewell” dosszié, Vladimir Vetrov ügynök után, akinek fedőneve „farewell” volt.  A történetből film is készült,  persze nem Orosz, hanem hollywoodi mozi.   

Farewell ügynök

07. A „Therac-25 medical accelerator” esete. 1985 és 1987 közé tehető az időpont. A Therac 25 funkcója az lett volna, mint minden radioaktív (besugárzásos) alapon működő kórházi készüléknek: a gyógyítás és a terápia. Sajnos a műszer operációs rendszerét fejlesztő mérnök semmilyen kórházi (főleg nem sugárzással kapcsolatos) tapasztalattal nem rendelkezett, így a rendszerben volt egy bug – nem is akármilyen programozók mint „race condition bug” ismerik. A történet sajnos nagyon tragikus véget ért: a Therac 25 visszavonásáig legkevesebb öt páciens halt meg a túlzottan erős elektronbombázás miatt.

 06. 1988 - Robert T. Morris, és a világ első számítógépes férge, ami tulajdonképpen egy bugra (buffer overflow) épült. Morrisról, a világ első féreg-vírusáról és a régi idők hackereiről már részletesen megemlékeztünk itt.   

 05. Kerberos véletlenszám generátor. 1988 és 1996 között használta a Kerberos: ez a '80-as évek közepén kifejlesztett egyik legszélesebb körben elterjedt általános célú hitelesítési protokoll. A dolog lényege a biztonság lett volna, de a véletlenszám generátor hibája miatt a rendszer nagyon egyszerűen kijátszható volt. Tulajdonképpen még egy gyerek is be tudott volna törni a Kerberos alapú rendszerekbe. A hibát csak 1996-ban találták meg és javították ki, dokumentált eset azonban nincs róla, hogy bárki kihasználta volna a majdnem egy évtizedig a kódban bujkáló hiányosságot. (Vagy csak nem tudunk róla…)

 04. 1995-ben történt a világ legnagyobb telefonszolgáltatójának, az AT&T-nek hálózatán. Tulajdonképpen a történelem egyik legnevetségesebb „bugja”. A telefontársaság új szoftvereket telepített, kicsivel később azonban a távolsági hívásokat kezelő vadonatúj rendszer szupergépei végleg lefagytak, amikor egy bizonyos üzenetet (kódcsomagot) kaptak a többi mamut géptől. A dologban az a vicces, hogy ez az üzenet akkor került elküldésre, ha az egyik gép lefagyott… Ekkor szólt a másiknak, hogy vegye át a feladatokat, azonban maga az üzenet volt az, amitől lefagyott… Így megint ment tovább az üzenet, a végtelenségig.
1990 január 15-én, 114 gép fagyott le sorban, kb. hatvenezer ember nem tudott távolsági hívásokat bonyolítani. Hogyan oldották meg végül? Nos, az AT&T alig kilenc óra leforgása alatt javította a hibát, mégpedig úgy, hogy visszatelepítették a rendszer előző verzióját. A régi, jól bevált módszer… 

Nem biztos, hogy az új verzió jobb - az AT&T megtanulta ezt...

 03. Az Intel Pentium hiba. Ezt a történetet mindenki ismeri: nem a világ legnagyobb hibája, mégis a legtöbb nyilvánosságot ez kapta (talán mert ez már az otthoni felhasználókat is érintette). Az óriási reklámhadjárattal beharangozott új chip, lebegőpontos számítási műveletekben nem remekelt. Konkrétan: nem jól számolt, ami egy processzor esetében eléggé nagy hátrány. 475 millió dollárjába került az Intelnek a mintegy ötmillió hibás chip visszahívása. 

 02. A halál pingje (Ping of Death) 1995-96 tájékán híresült el, a  bug lényege röviden: egy megfelelő ping paranccsal  a neten keresztül kék-halált lehetett okozni a megtámadott Windowsos gépben, de néhány Mac és Linuxos gép esetében is működött a trükk. Elég volt az IP címet tudni, vagy IRC-n, (akkoriban ez volt a csevegő) „megpingelni” a megfelelő helyen, és máris kapkodhatott a reset gomb után. A bug elég mélyen volt, magában az IP-csomagellenőrző kódban rejtőzött.

 01. Az Ariane ötös rövid repülése. 1996. A repülés egészen pontosan 37 másodpercig tartott:  a rakéta a start után letért a kijelölt pályáról, majd az önmegsemmisítő szerkezet beindult és tette a dolgát… 370 millió dolláros kár, egy apró szoftverhiba miatt: a 64 bites lebegőpontos számokat 16 bites integer-re átszámoló kódrészlet hibás volt. (Teljes, hivatalos vizsgálati jelentés itt).

Ariane 5 - 37 másodperc repülés

[Források: Wired, Wiki, prwatcher] 

VELETEK VAGYUNK – OLVASÓKKAL, ÚJSÁGÍRÓKKAL!

A hatalomtól független szerkesztőségek száma folyamatosan csökken, a még létezők pedig napról napra erősödő ellenszélben próbálnak talpon maradni. A HVG-ben kitartunk, nem engedünk a nyomásnak, és minden nap elhozzuk a hazai és nemzetközi híreket.

Ezért kérünk titeket, olvasóinkat, hogy tartsatok ki mellettünk, támogassatok bennünket, csatlakozzatok pártolói tagságunkhoz, illetve újítsátok meg azt!

Mi pedig azt ígérjük, hogy továbbra is minden körülmények között a tőlünk telhető legtöbbet nyújtjuk a számotokra!
techline.hu Tech

A Mac OS X történelme

Jövő héten ismét nagy bejelentésre készül az Apple – érkezik az OS X 10.7, azaz az oroszlán (Lion).

techline.hu Tech

Amit nem tudunk a monitorokról

Szinte minden fantasztikus filmben és könyvben láthatunk és olvashatunk víziókat és elképzeléseket arról, hogy a...

techline.hu Tech

Ki találta fel a linket?

,Az USB-s kulcsot Dov Moran találta ki, a spameket Gery Thuerk vezette be (bár ne tette volna…), az iPod-ot pedig Tony...