Soft ham o‘ldiradi: tarixdagi eng mashhur xatoliklar va ulardan olinadigan saboqlar

Tarjima. Original maqolaga manba.

Zamonaviy texnologiyalar hayotimizning barcha jabhalariga chuqur singib ketgan. Iste’mol elektronikasidan tortib kosmik apparatlarga, tibbiyotdan aviatsiyaga qadar – hammasi millionlab qatordan iborat kodlarga tayangan. Ko‘pincha xatolar kichik ko‘rinadi: bir nechta shart noto‘g‘ri yozilgan, jadvalda biror qiymat o‘rin almashgan yoki datatip talabi e’tibordan chetda qolgan.

Ammo ba’zan aynan shu “kichik” baglar:

  • milliardlab dollar zarar,
  • o‘nlab yillar davomida shakllangan obro‘ning qulashi,
  • va eng achinarlisi — insonlar hayotining yo‘qotilishiga

olib kelgan.

Quyida tarixdagi eng mashhur, texnologiyalar rivojiga kuchli ta’sir ko‘rsatgan xatoliklar haqida batafsil hikoya qilamiz.


1. Pentium FDIV xatosi — Intel uchun yarim milliard dollarlik saboq

1994 yilda matematika professori Tomas Naysli Pentium protsessorlarida vergulli sonlarni bo‘lish jarayonida kichik, lekin aniq xatolik borligini aniqladi.

Muammo nimada edi?

Pentium’da bo‘lish operatsiyalari SRT algoritmi yordamida bajarilgan. Ushbu algoritm uchun kremniy chipiga o‘rnatilgan maxsus jadval ishlatilardi. 1000 dan ortiq qiymatlardan 5 tasi ishlab chiqarish jarayonidagi xato tufayli bo‘sh qolgan.

Agar hisob-kitob aynan shu qiymatlarga duch kelgan bo‘lsa, protsessor noto‘g‘ri natija qaytargan.

Nega bu muammo portladi?

Dastlab Intel xatoni arzimas deb baholadi. Ammo ilmiy, moliyaviy va injiniring sohalarida aniq hisob-kitob juda muhim. IBM Pentium yetkazib berishini to‘xtatdi, matbuot esa bu holatni keng muhokama qila boshladi.

FDIV muammosi bor Intel Pentium. Manba.

Oqibat:

  • Intel barcha xohlagan mijozlarga protsessorlarni bepul almashtirdi
  • Xarajat: 475 million dollardan ortiq
  • Chip sanoatida testlash va validatsiya jarayonlari tubdan qayta ko‘rib chiqildi

Bu voqea shuni ko‘rsatdiki: hardware-dagi mikroskopik xato global masshtabda muammoga aylanadi.


2. Spectre va Meltdown — protsessor arxitekturasi ildizidan bo‘shashganda

2018 yil boshida axborot xavfsizligi olamida yirik zarba yuz berdi: mutaxassislar Spectre va Meltdown nomli zaifliklarni oshkor qilishdi.

Muammo nimada edi?

Zamonaviy protsessorlar samaradorlikni oshirish uchun spekulyativ bajarish texnikasidan foydalanadi — ya’ni CPU ehtimoliy kelajak buyruqlarini oldindan bajaradi va kerak bo‘lmasa ularni “bekor qiladi”.

Ammo bekor qilingan operatsiyalar ham keshda iz qoldiradi. Spectre/Meltdown ana shu yonkanal (side-channel) izlar orqali boshqa dasturlarning himoyalangan xotirasidan ma’lumot o‘qishga imkon berardi.

Xavf darajasi:

  • Parollar
  • Shifrlash kalitlari
  • Brauzer sessiyalari

Hammasi potentsial o‘g‘irlanishi mumkin edi.

Natija:

  • Butun sanoat bo‘ylab favqulodda patchlar
  • Ba’zi tizimlarda samaradorlik 5–30% gacha pasaydi
  • Arxitektura darajasidagi xavfsizlik masalalari qaytadan ko‘rib chiqildi

Bu voqea “tezlikka intilish” ko‘pincha “xavfsizlik evaziga” bo‘lishini yana bir bor tasdiqladi.


3. Mars Climate Orbiter — metrik va imperial birliklarni adashtirishning kosmik narxi

1999 yil NASA 327 million dollarlik Mars Climate Orbiter apparatini yo‘qotdi.

Asosiy sabab — oddiy, ammo halokatli xato:

  • Lockheed Martin tomonidan yuborilgan ma’lumotlar funt-sekund (imperial tizim)da hisoblangan
  • Aparatning marshrut tizimi esa nyuton-sekund (SI tizimi)ni kutgan

Shunday qilib, barcha manevrlar 4,45 baravar noto‘g‘ri talqin qilingan.

Traektoriya asta-sekin sarqib, kosmik apparat Mars atmosferasiga juda past balandlikdan kirib, parchalanib ketdi.

Mars Climate Orbiter. Manba.

Qo‘shimcha omillar:

  • Navigatorlar og‘ishlarni ko‘rgan, lekin e’tirozlari rasmiy jarayonda inobatga olinmagan
  • Kerakli manevr o‘z vaqtida bajarilmagan

Xulosa:

Texnik jamoalar o‘rtasida notog‘ri standartlar ishlatilishi — butun missiyani halokatga olib kelishi mumkin.


4. Ariane-5 portlashi — qayta ishlatilgan kodning fojiaviy oqibati

1996 yil Yevropa kosmik agentligi Ariane-5 raketasini birinchi marta uchirdi. Ammo uchishning 37-sekundida raketa eksplodirovka bo‘ldi.

Sabab:

Arian-4 raketasida ishlatilgan inertsiya navigatsiya modulining software’i yangi raketaga o‘zgartirishsiz qo‘llanildi.

Ariane-5’da yon yo‘nalishdagi tezlanish ancha yuqori bo‘lgani sabab:

  • 64-bit suzuvchi son
  • 16-bit signed integer ga sig‘may
  • Overflow yuz berdi
  • Istisnolarni qayta ishlash mexanizmi bu joyda o‘chirilgan edi

Zaxira kompyuter ham xuddi shu kodni qayta ishlatgani uchun bir xil vaqtda qulagan.

«Arian-5″ning havoda portlab ketishi. Manba.

Natija:

  • 370 million dollarlik yo‘qotish
  • Ariane loyihasi testlash metodologiyasini to‘liq qayta ko‘rib chiqdi
  • “Eski kod ishlaydi” degan yondashuvning xavfi isbotlandi

5. Boeing 737 MAX va MCAS — noto‘g‘ri sensor va noto‘g‘ri qarorlar oqibati

2018 va 2019 yillardagi ikki aviahalokatda jami 346 kishi halok bo‘ldi. Sababi — MCAS nomli yangi avtomatik tizim.

MCAS nima qilardi?

Dvigatellarning konstruktiv o‘zgarishi tufayli 737 MAX baland burchakda “stall”ga moyillashgan. MCAS buni oldini olish uchun samolyot burunini avtomatik pastga bosib turardi.

Kritik xato:

MCAS qaror qabul qilish uchun faqat bitta burchak sensoridan ma’lumot olgan. Sensor nosoz bo‘lib qolganida:

  • Tizim samolyot “kritik holatda” deb o‘yladi
  • Burnini qayta-qayta pastga itardi
  • Uchuvchilar tizimga qarshi kurashdi, ammo MCAS ustun keldi

Boeingning xatolari:

  • MCAS haqida uchuvchilarga yetarlicha ma’lumot berilmagan
  • Trening yetarli emas
  • Sertifikatsiya jarayoni shaffof bo‘lmagan

Natija:

  • 737 MAX butun dunyoda 20 oyga yerda turdi
  • Boeing milliardlab zarar ko‘rdi
  • MCAS qayta ishlab chiqildi va cheklovlar qo‘yildi

Ethiopian Airlines aviakompaniyaasiga tegishli Boeing 737 MAX halokatdan oldin va keyin. Manba.

6. Therac-25 — medical software tarixidagi eng dahshatli xatolik

1985–1987 yillardagi Therac-25 radioterapiya apparati kamida olti marta bemorlarni o‘ta yuqori dozada nurlantirgan. Natijada og‘ir jarohatlar va o‘lim holatlari yuz berdi.

Asosiy sababi:

Oldingi modellar hardware himoyasiga tayangan. Therac-25 esa ko‘plab mexanik blokirovkalarni olib tashlab, faqat software nazoratiga o‘tgan.

Ammo tizimda race condition mavjud edi:

  • Operator rejimlarni juda tez almashtirganda
  • Apparat holatini tekshiruvchi algoritm to‘g‘ri ishlamay qolgan
  • Filtrsizlik holatda yuqori energiyali elektronlar bemorga yo‘naltirilgan

Qo‘shimcha muammolar:

  • Diagnostika xatolari noto‘g‘ri talqin qilingan
  • Operatorlarga xatolik kodlari haqida yetarli tushuntirish berilmagan
  • Kompaniya muammoning ildizini tan olishni kechiktirgan

Therac-25: ish prinsipi. Manba.

Natija:

Therac-25 software xavfsizligi bo‘yicha butun dunyo uchun eng yirik saboq bo‘ldi:

  • Hayot-mamot tizimlarida hardware darajasidagi himoyalar majburiy
  • Software formal verifikatsiya jarayonlari joriy etilishi kerak
  • Operator xatolari va UX masalalari o‘ta muhim

Xulosa: Baglar mayda bo‘lmaydi

Bu misollar shuni ko‘rsatadiki:

1. “Arzimaydi” degan bag ham halokatga olib kelishi mumkin.

Kichik xato — yirik tizimlarda katta oqibatlarga ega.

2. Dizayn va arxitektura darajasidagi qarorlar — koddan ham muhim.

Standartlar, interfeyslar, xavfsizlik qatlamlari, testlash darajalari har doim qat’iy nazoratda bo‘lishi kerak.

3. Inson omilini e’tiborsiz qoldirib bo‘lmaydi.

Operatorlar, muhandislar yoki uchuvchilarning ogohlantirishlari eshitilishi shart.

4. Hardware + software birgalikda xavfsizlikni ta’minlaydi.

Tibbiy, aviatsiya, kosmik va energetika sohalarida software yolg‘iz ishlamasligi kerak — mexanik himoya qatlamlari har doim zarur.

Xulosa o’rnida shuni aytmoqchimanku xozirda chiqayotgan sun’iy intelektga asoslangan IDEA yoki qandaydir instrumentlarga bog’lanib qolmasdan mustaqil ishlashni o’rganishmi maslahat beraman, yoki bo’lmasa kodni siz yozsangiz u tekshirsin, u yozsa siz tekshiring.

P.S. Maqola ChatGPT pro versiyada tarjima qilindi va rasm ham xuddi shu AIda chizildi 🙂

Categorized in:

Tagged in:

,