70 likes | 172 Views
Još primjera neuspješnih projekata. (s naglaskom na softver). Therac-25 medicinski akcelerator. „poboljšani” terapijski sustav koji je mogao proizvesti dvije vrste radijacije: elektronski snop niske snage (beta čestice) ili X-zrake
E N D
Još primjera neuspješnih projekata (s naglaskom na softver)
Therac-25 medicinski akcelerator • „poboljšani” terapijski sustav koji je mogao proizvesti dvije vrste radijacije: elektronski snop niske snage (beta čestice) ili X-zrake • X-zrake su se generirale razbijanjem visokoenergetskih elektrona na metalnu metu pozicioniranu između elektronskog topa i pacijenta • Therac-20 je koristio elektromehanički sigurnosni sustav, koji je prebačen u softver u svrhu „pouzdanosti” • Ono što inženjeri nisu znali jest da je OS za oba napisao amaterski programer. • „race condition” bug u slučaju da operater brzo tipka: metal se ne bi stigao pozicionirati (5+ mrtvih, mnogo ozlijeđenih)
Preljev međuspremnika u Berkeley Unix finger daemonu • gets() funkcija u standardnoj C biblioteci dohvaća tekstualni tok preko mrežnog sučelja • gets() ne ograničava ulaz što omogućuje BO • prvi internetski crv: Morris crv, zarazio 2,000-6,000 računala u prvom danu, 02.11.1988. (10% Interneta) • crv je imao bug: zarazio bi računalo više puta i stalno ga usporavao, sve do točke neupotrebljivosti (fork bomba) • šteta: $10-100M, autor dobio 3 godine uvjetno, $10,000 kazne
pad AT&T-eve međugradske mreže • bugovit softver instaliran na #4ESS (Electronic Switching System) • stroj bi se srušio kad bi primio specifičnu poruku od nekog susjednog stroja – a to je poruka koju strojevi pošalju u slučaju obnove od pada sustava • 15.01.1990. jedan switch u NY se srušio, i lavinskim učinkom je palo oko ukupno oko 114 switcheva • šteta: oko 60k ljudi je 9 sati ostalo bez međugradskih razgovora • popravljeno restauriranjem stare verzije softvera
Ping smrti (POD) • Odsustvo provjere grešaka u kodu za reasembliranje fragmentiranih IP paketa na mnogim OS-evima • ping je normalno 32B, mnogo OS-eva nije moglo hendlati paket > maksimalne veličine IPv4 paketa (65,535B) • malformirani „ping” paket poslan iz bilo kojeg kutka Interneta • Windows, Macintosh, UNIXoidi, printeri, ruteri..
Ozonska rupa • rupa u ozonskom omotaču nad Antarktikom je dugo ostala neotkrivena zbog softverskog buga • analitički softver kojeg je NASA koristila je ignorirao vrijednosti sa prevelikim otklonom od očekivane • projekt lansiran 1978, rupa otkrivena tek 1985 od strane tima britanskog tima znanstvenika koristeći zemaljski spektrofotometar koji je izmjerio godišnje smenjenje ozonskog sloja od 40%
Y2K bug, milenijski bug • skraćivanje 4 znamenke godine na 2 znamenke: 97, 98, 99, 00.. • željelo se uštedjti na prostoru, npr. standardne IBM-ove bušene kartice od 80 stupaca gdje su polja bila fiksirana • šteta: ne zna se točno kolika jer firme nisu željele prijaviti sve padove sustava. Padovi manjih sustava u bolnicama, elektranama, telekomunikacijama itd. • Y2K38: • time_t pohranjuje broj sekundi od 1.1.1970. • taj broj će tijekom 2038. preliti 231 − 1, najveći broj predstavljen 32-bitnim integerom • rješenje: prelazak na 64 bita