وقتی باگ نرم‌افزاری جان انسان‌ها را گرفت؛ داستان هولناک دستگاه Therac-25

دیجیاتو دوشنبه 31 شهریور 1404 - 16:02
تقریباً ۴۰ سال پیش یک باگ نرم‌افزاری در دستگاه پرتودرمانی Therac-25 باعث مرگ حداقل سه بیمار شد. The post وقتی باگ نرم‌افزاری جان انسان‌ها را گرفت؛ داستان هولناک دستگاه Therac-25 appeared first on دیجیاتو.

چهل سال پیش یک باگ نرم‌افزاری در دستگاه پرتودرمانی Therac-25، جان چند انسان را گرفت. این نقص فنی باعث شد حداقل شش بیمار دوزهای پرتویی ۱۰۰ برابر قوی‌تر از حد مجاز دریافت کنند و درنهایت حداقل سه نفر جان باختند. این فاجعه به یکی از مهم‌ترین داستان‌های هولناک در تاریخ مهندسی نرم‌افزار تبدیل شد.

دستگاه Therac-25 در زمان خود یک نوآوری بزرگ محسوب می‌شد. این دستگاه می‌توانست دو نوع پرتودرمانی کاملاً متفاوت انجام دهد: یکی پرتودرمانی با الکترون برای تومورهای سطحی و دیگری پرتودرمانی با اشعه ایکس قدرتمند برای تومورهای عمیق. اما بزرگ‌ترین نوآوری و درعین‌حال، پاشنه آشیل آن، حذف قفل‌های ایمنی سخت‌افزاری بود. در مدل‌های قدیمی‌تر مانند Therac-20، حتی اگر نرم‌افزار دچار خطا می‌شد، مکانیسم‌های فیزیکی از فعال‌شدن پرتو خطرناک در شرایط ناامن جلوگیری می‌کردند. اما در Therac-25 تمام کنترل‌ها به نرم‌افزار واگذار شده بود و این یعنی یک باگ کوچک می‌توانست فاجعه به بار آورد. 

باگ نرم‌افزاری مرگبار در دستگاه Therac-25

به گزارش Tom's Hardware، این فاجعه ناشی از یک نوع باگ نرم‌افزاری پیچیده به نام «شرایط مسابقه» (Race Condition) بود. این باگ فقط تحت شرایطی خاص و توسط اپراتورهای باتجربه و سریع فعال می‌شد. سناریوی مرگبار زمانی به‌وجود می‌آمد که اپراتور به اشتباه حالت درمانی اشعه ایکس (حالت پرقدرت) را انتخاب می‌کرد. سپس، قبل از اینکه سیستم به‌طور کامل آماده شود، اپراتور به سرعت متوجه اشتباه خود می‌شد و حالت را به پرتو الکترونی (حالت کم‌قدرت) تغییر می‌داد.

باگ نرم‌افزاری و مرگ چند نفر

از آنجایی که اپراتور بسیار سریع خطای خود را اصلاح می‌کرد، نرم‌افزار دچار سردرگمی می‌شد. در این حالت، بخش کنترلر ورودی دستور جدید (حالت کم‌قدرت) را ثبت می‌کرد، اما بخش کنترلر پرتو، هنوز درحال آماده‌سازی برای حالت پرقدرت قبلی بود. در نتیجه این تداخل زمانی، دستگاه پرتو الکترونی پرقدرت را بدون فعال‌کردن سپر محافظ لازم، شلیک و دوز کشنده‌ای از تشعشع را مستقیماً به بیمار منتقل می‌کرد.

بین ژوئن ۱۹۸۵ تا ژانویه ۱۹۸۷، حداقل شش حادثه مستند از این نوع رخ داد که منجر به جراحات شدید و مرگ سه بیمار شد. در ابتدا، شرکت سازنده (AECL) هرگونه نقص در سیستم خود را انکار می‌کرد، اما با افزایش تعداد قربانیان و شروع تحقیقات سازمان غذا و داروی آمریکا (FDA) سرانجام مجبور به پذیرش مسئولیت و بازبینی کامل سیستم خود شد.

تاریخ حادثهمکان حادثهشدت جراحات بیمار
۳ ژوئن ۱۹۸۵ماریتا، جورجیابرداشتن سینه، از کار افتادن بازو
۲۶ ژوئیه ۱۹۸۵انتاریو، کانادانیاز به تعویض کامل مفصل ران
۲۱ مارس ۱۹۸۶تایلر، تگزاسمرگ
۱۱ آوریل ۱۹۸۶تایلر، تگزاسمرگ
۱۷ ژانویه ۱۹۸۷یاکیما، واشنگتنمرگ

از آن زمان تاکنون، فاجعه Therac-25 به یک نمونه کلاسیک در مطالعات علوم کامپیوتر و مهندسی نرم‌افزار تبدیل شد. این حادثه بر اهمیت آزمایش‌های دقیق، مستندسازی کامل و وجود سیستم‌های ایمنی چندلایه (سخت‌افزاری و نرم‌افزاری) تأکید می‌کند.

منبع خبر "دیجیاتو" است و موتور جستجوگر خبر تیترآنلاین در قبال محتوای آن هیچ مسئولیتی ندارد. (ادامه)
با استناد به ماده ۷۴ قانون تجارت الکترونیک مصوب ۱۳۸۲/۱۰/۱۷ مجلس شورای اسلامی و با عنایت به اینکه سایت تیترآنلاین مصداق بستر مبادلات الکترونیکی متنی، صوتی و تصویری است، مسئولیت نقض حقوق تصریح شده مولفان از قبیل تکثیر، اجرا و توزیع و یا هرگونه محتوای خلاف قوانین کشور ایران بر عهده منبع خبر و کاربران است.