10 epikus hiba a számítógépes programokban

A legtöbb hibát a szoftver okozó kis kényelmetlenséget, hogy a felhasználó kap körül, de voltak alkalmak, amikor a szokásos hiba emberek millióit érinti az adott terv vagy akár hitbizományi sérülést vagy halált okozhat.

Az alábbiakban tíz példát találunk arra az esetre, amikor a hibák hatása óriási volt az egyik vagy másik módon:

10. TERAK-25 (Therac-25)

10 epikus hiba a számítógépes programokban

A Terak-25 a sugárkezelésre szolgáló eszköz, amelyet leggyakrabban rákbetegek kezelésére használnak. A készüléknek két üzemmódja van. Az első módban a készülék az elektronsugarat közvetlenül a beteg számára kis adagokban és rövid ideig irányította. Második módban a készülék egy intenzív elektronsugarat irányított egy fémes "célra", ami lehetővé tette a gerenda röntgensugárzásba történő átalakítását, amely ezután elérte a pácienst.

A Terak korábbi modelljei a második üzemmódban fizikai biztosítékokkal rendelkeztek, ami fémes reflektor jelenlétét biztosították, amely nélkül a nagy energiájú sugárzás közvetlenül a betegen tévedhetett volna. Az új modellben a fizikai biztosítékokat a szoftverben található "biztosítékok" váltotta fel.

Sajnos a programnak hibája volt: néha az automatikus biztonsági ellenőrzések során "aritmetikai túlcsordulás" volt. Egy ilyen hiba esetén a rendszer túlságosan nagy számot használ olyan számításokban, amelyeket nem tud feldolgozni. Ha ezen a ponton a gépkezelő felállította a gépet, a biztosítékok nem működtek, és a fémlemez nem illeszkedett a megfelelő helyre. Ennek eredményeként a páciens sugárzásnak volt kitéve, amelynek intenzitása 100-szor nagyobb volt, mint a kívánt. Hat esetben a betegek túladagolták a sugárzást, közülük 4 esetben az áldozat halála következett be.

A fejlesztők nem adtak egy dolgot: a fertőzött játékosok teleportálhattak a játék más helyszíneire, és átadhatják ezt a betegséget más játékosoknak - ami történt. Hány karaktert halt meg ez a betegség ismeretlen, de teljes játékvárosokat ürítenek ki - mindenütt a város utcáin a játék szereplői holtteste feküdt. Szerencsére a World of Warcraft karakterének halála nem meggyőző, és hamarosan a "pestis" véget ért - a játék adminisztrátorai újraindították a szervert és alkalmaztak egy szoftveres "javítást", amely rögzítette a hibát. Érdekes, hogy a játékosoknak a fertőzésre és a fertőzöttekre gyakorolt ​​reakciója hasonló volt a hasonló helyzetben lévő emberek reakciójához a való életben.

Mert a baleset semmi köze a hiba a szoftver, de ez megelőzhető lett volna, ha nem lett volna egy hiba a programban, felelős a figyelmeztető rendszer a villamosenergia-rendszer irányító központ. A két rész „versengő” Egyetlen forrás, és nem tudja megoldani a konfliktust (a tervezési hiba az úgynevezett „race condition”) rendszer, mert ez a figyelmeztető rendszer lefagy, és nem kezeli a riasztásokat. Sajnos a figyelmeztető rendszer leállása "csendes" volt, azaz nem értesített bárkit a bontásáról. Nem hallható és nem látható figyelmeztető jelzések történtek, amelyek figyelmeztették a munkavállalókat arra, hogy állítsák le a rendszert, amelyet teljes mértékben támogatnak az ilyen riasztások, hogy információt szerezzenek az energiarendszer állapotáról. A balesetek következményeit széles körben lefedték a médiában: sok terület napközben villamosenergia nélkül maradt, ami érintette az iparágat, a közszolgáltatásokat és a kommunikációt. Úgy gondolják, hogy még néhány haláleset is baleset eredménye.

7. Incidens a USS Yorktown repülőgép-hordozóra

10 epikus hiba a számítógépes programokban

A szoftverfejlesztés világában számos jól ismert hiba található, amelyet a programozók találkoznak, és amelyeket mindig figyelembe kell venniük a kód írásakor. Az egyik ilyen hiba a "zéróosztás" - amikor olyan számítás történik, amelyben bármelyik szám nulla. Egy ilyen számítás nem lehet, legalábbis, ha nem használja a fejlett matematika, ezért a legtöbb program telepítve a szuperszámítógépek vagy akár zsebszámológépeket, vannak írva, oly módon, hogy figyelembe veszik ezt a lehetőséget.

Ahhoz, hogy a szégyen a vezetési rendszer programozók USS Yorktown teljesen leállt, így a hordozó tehetetlen a vízben 3 órán keresztül, amikor a személyzet egyik tagja belépett nullát a fedélzeti adatbázis-kezelő rendszer, valamint a rendszer megpróbálta a működését nullával osztani. A szoftvert a projekt során telepítették számítógép használatára, hogy csökkentse a szükséges számú embert a hajók legénységében. Szerencsére a hajó ebben az időben volt a képzésben részt vevő manőverek, és nem volt a csata hevében, különben a következmények a hiba katasztrofális lenne.

6. A szibériai gázvezeték robbanása

10 epikus hiba a számítógépes programokban

Ezt a pontot szkepticizmussal kell megtenni, mivel lehetséges pletykák, de ha ez igaz - ez egy tökéletes példa egy szándékosan elhagyott hibára, ami nagy balesetet okozott.

A hidegháború idején, amikor a kapcsolat az USA és a Szovjetunió volt, enyhén szólva, feszült, a CIA állítólag szándékosan bevezetett néhány hibát a szoftver által értékesített a kanadai cég, amely már használt, hogy ellenőrizzék a gázvezeték Szibériában. A CIA úgy döntött, hogy Oroszország megvette a szoftvert egy kanadai cég arra törekszik, hogy szerezzen amerikai technológiával, és lenne egy nagy lehetőséget, hogy a Szovjetunió gyengébb technológiát.

Az ilyen műveleteket később felfedezték a megszüntetett "Farewell Dossier" -nek köszönhetően, ahol többek között azt állították, hogy hibás turbinákat építettek be a gázvezetékbe. Thomas Reed korábbi amerikai légierő titkára azt állítja, hogy több olyan hibát vezettek be a rendszerbe, amely nem bizonyult a tesztelés során, de közvetlen használat során balesetet okozna. A szivattyúk és a szelepek beállítása megváltozott, ami szabad gáznyomáshoz vezetett a gázvezetéken, ami viszont a világ legnagyobb, nem nukleáris robbanásához vezetett.

A KGB veteránja, Anatoly Medetsky tagadja a szabotázs lehetőségét, véleménye szerint a robbanás az építés során elkövetett hibák miatt következett be. Szerencsére senki sem sérült meg a robbanás miatt, mivel egy távoli területen történt a civilizáció területéről.

5. A nukleáris háború potenciális kezdete a hidegháború idején

10 epikus hiba a számítógépes programokban

Stanislav Petrov - egy tiszt, aki Moszkvában egy titkos parancsnokságon szolgált, ahol a korai figyelmeztető rendszert találta. Egyik éjjel, amikor Petrov szolgálatban volt, figyelmeztetett arra, hogy az USA öt interkontinentális ballisztikus rakétát indított, Minuteman. A hidegháborúban uralkodó kölcsönös pusztítás doktrínája szerint az USA támadására válaszul a Szovjetuniónak ugyanarra a támadásra kellett bosszút állnia.

Ha a támadás valóságos, akkor a tisztnek gyorsan reagálnia kellett. Azonban Petrov furcsának, hogy az Egyesült Államok megtámadja egy ilyen kis számú robbanófej: bár ezek a rakéták okoztak hatalmas károkat és nagy veszteség az élet, nem tudták helyrehozhatatlan károkat okozhat a Szovjetunióba. Ezen túlmenően, a radar, a földön fekszik, nem mutat semmit, annak ellenére, hogy nem lehetett látni semmit a horizonton túl, mert a Föld görbületét, ami megmagyarázza a késedelmet szárazföldi radarok.

Egy másik tényező, amely befolyásolta Petrov döntését, az volt, hogy maga a korai figyelmeztető rendszer még mindig "nyers" volt, és néha tévedett. A tiszt mérlegelte az összes tényezőt, és úgy döntött, hogy a riasztás hamis. Annak ellenére, hogy maga Petrov nem tudott megtorló nukleáris sztrájkot indítani, ha elbúcsúzott volna a magasabb vezetés elleni támadás ellen, akkor ez pusztító nukleáris háborút váltott ki. Petrov döntése helyes volt, függetlenül attól, hogy elfogadott-e, tapasztalat, intuíció vagy egyszerű szerencséje alapján.

Később megállapították, hogy a korai figyelmeztető szoftver reagál a napfényre, amely a nagy magasságú felhőkből tükröződik, amit rakéták indításaként érzékeltek.

4. Rosszindulatú másolásvédelem a Sony lemezeken

10 epikus hiba a számítógépes programokban

A kereskedelmi társaságok és a kalózok közötti háború nem áll meg. Amint a multimédia másolása és biztonságos elosztása elleni védelem új módjait kigondolják, az ilyen védelmi módszerek kijátszásának új módjai jelennek meg.

A rootkit elérte célját, de mivel megpróbálta elrejteni a felhasználótól, más rosszindulatú szoftvereket is lehetővé tette, hogy elrejtse jelenlétét a felhasználók számítógépein. A rosszul átgondolt végrehajtás és a felhasználók növekvő bizalma, hogy a Sony BMG-nek nem volt joga megpróbálni számítógépét lopakodva kezelni, a rendszer kudarcához vezetett. Számos számítógépbiztonsági cég minősítette a rootkit rosszindulatú kódként, és a Sony BMG-nek válaszolnia kellett a bírósági eljárásairól, és sok audio CD-t kellett rootkit-del visszavonni.

3. Bug a Patriot rakéta-komplexumban

10 epikus hiba a számítógépes programokban

Az Operation Desert Shield alatt az Egyesült Államok elfogadta a Patriot rakétavédelmi rendszert, amely védelmet nyújt a rakéták és az ellenséges repülőgépek ellen, ebben az esetben az iraki SCUD rakétákkal szemben. A Patriot rakéták ellenőrzési szoftvere a céljuk gyorsaságát és a cél mozgásának pályájának előrejelzését jelenti. Mivel a célok elérhetik az 1,5 km / s sebességet, ezeknek a számításoknak nagyon pontosnak kell lenniük.

A cél fenntartásáért felelős szoftver abban az időben hiba volt, amely idővel a belső óra fokozatosan eltért az idő valós értékétől. A hiba már ismert volt, és rendszeres rendszer-túlterheléssel oldható meg, valamint a rendszeróra értékének visszaállításával.

Az erre felelős emberek nem értették meg, mi volt a "rendszeres" újraindítás, és a rendszer 100 órán át dolgozott. Amikor Irak elindította a rakétáját az amerikai Dhahran-i repülőtéren (Dhahran), a Patriot rendszer meghatározták a bevezetést. Azonban abban az időben, a belső óra tolódott 0,34 másodperc tehát által kiszámított pályája rossz volt, és a rendszer úgy vélte, hogy az ellenséges rakéták már nem létezik, és a törölt kísérlet, hogy lő le rakéták. A rakéta repült a rendeltetési helyre, ami 28 amerikai katona ölt meg és 98 sérült.

Nehéz megmondani, hogy a probléma sikeres megoldása az elvégzett munka eredménye volt-e, vagy a probléma kezdettől fogva eltúlzott - valószínűleg mindkettő.

A hiba hozhat sokkal több kárt, mivel a UNIX használják a beágyazott rendszerek, amelyekben a kapcsolat a „vas”, és a szoftver része egy sokkal erősebb - például robotok használnak összeszerelő sorok, órában, routerek, stb

Tetszett? Ossza meg a híreket a barátaival. )