20 ก.ค. เวลา 02:09 • วิทยาศาสตร์ & เทคโนโลยี

Therac-25 “บั๊ก” คอมพิวเตอร์ ที่แพงที่สุดในประวัติศาสตร์วิศวกรรมซอฟต์แวร์

ผมว่าคนส่วนใหญ่มักจะมีความเชื่ออยู่เสมอนะครับว่า ยิ่งเทคโนโลยีมีความล้ำสมัยมากเท่าไร มันก็น่าจะยิ่งมีความปลอดภัยและแม่นยำมากขึ้นเท่านั้น…
ในยุคปัจจุบันที่เรากำลังก้าวเข้าสู่ยุคของ AI และระบบอัตโนมัติ เราแทบจะฝากชีวิตไว้กับบรรทัดโค้ดนับล้านบรรทัดโดยไม่ตั้งคำถาม
ระบบอัลกอริทึมเข้ามามีบทบาทในทุกแง่มุมของการใช้ชีวิต ตั้งแต่เรื่องเล็กๆ ไปจนถึงเรื่องความเป็นความตาย
แต่หากเรามองย้อนกลับไปในอดีต มีบทเรียนนึงที่แลกมาด้วยชีวิต บทเรียนที่วงการวิศวกรรมซอฟต์แวร์และการแพทย์ทั่วโลกไม่มีวันลืม
มันคือเรื่องราวของนวัตกรรมที่ถูกสร้างขึ้นมาเพื่อช่วยชีวิตคน แต่กลับกลายเป็นเครื่องจักรปลิดชีพที่ไม่มีใครคาดคิด
ย้อนกลับไปในช่วงต้นศตวรรษที่ 20 หลังจากที่ Marie Curie ได้ค้นพบธาตุเรเดียมและเปิดประตูสู่ความเข้าใจเรื่องกัมมันตภาพรังสี
มนุษยชาติก็ได้เรียนรู้ว่ารังสีเป็นเหมือนดาบสองคม ในแง่หนึ่งมันคืออาวุธทำลายล้างที่น่ากลัวที่สุดหลังเหตุการณ์สงครามโลกครั้งที่สอง
แต่อีกแง่หนึ่ง นักวิทยาศาสตร์ค้นพบว่า หากเราสามารถควบคุมรังสีในรูปแบบของอนุภาคและโฟตอนพลังงานสูงได้
เราสามารถนำมันมาใช้ทำลายเซลล์ที่แบ่งตัวอย่างควบคุมไม่ได้ อย่างเช่นเซลล์มะเร็งได้
รังสีเหล่านี้มีพลังทำลายล้างในระดับที่สามารถเข้าไปเปลี่ยนแปลงโครงสร้างและทำลายสายพันธุกรรมภายในเซลล์ที่กำลังกลายพันธุ์ได้…
แนวคิดนี้เรียบง่ายแต่ทรงพลัง รังสีสามารถทะลุผ่านเนื้อเยื่อร่างกายมนุษย์เข้าไปจัดการเซลล์กลายพันธุ์เหล่านั้นได้โดยตรง
ไม่จำเป็นต้องพึ่งพามีดหมอ ไม่ต้องมีการผ่าตัดที่เสี่ยงอันตราย
สิ่งนี้ถูกเรียกว่ารังสีรักษา ซึ่งต่อมากลายเป็นความหวังใหม่ของผู้ป่วยมะเร็งทั่วโลก
เมื่อความต้องการเครื่องมือทางการแพทย์ที่ล้ำสมัยเพิ่มสูงขึ้น ในปี 1976 บริษัท AECL Medical ได้เปิดตัวนวัตกรรมใหม่ที่สร้างความฮือฮา
พวกเขาพัฒนาเครื่องเร่งอนุภาคเชิงเส้นแบบผ่านสองรอบ ซึ่งใช้แม่เหล็กไฟฟ้าส่งลำแสงผ่านเป้าหมายสองครั้ง
เทคโนโลยีนี้ทำให้ตัวเครื่องมีประสิทธิภาพสูงขึ้นและมีขนาดเล็กลงอย่างมาก ประหยัดพื้นที่ในโรงพยาบาล เจ้าเครื่องจักรสุดล้ำเครื่องนี้มีชื่อว่า Therac-25…
สิ่งที่ทำให้เจ้า Therac-25 แตกต่างจากเครื่องรุ่นเก่าอย่างสิ้นเชิงคือ มันถูกออกแบบมาให้ควบคุมด้วยระบบคอมพิวเตอร์และ “ซอฟต์แวร์” เป็นหลัก
ในอดีต เครื่องมือเหล่านี้จะมีระบบความปลอดภัยเชิงกลไก หรือฮาร์ดแวร์คอยป้องกันข้อผิดพลาด หากมีสิ่งผิดปกติ กลไกจะล็อกตัวเองทันที
แต่ทาง AECL มั่นใจในเทคโนโลยีคอมพิวเตอร์มาก จนตัดสินใจถอดระบบความปลอดภัยทางฮาร์ดแวร์ออกเกือบทั้งหมด
พวกเขาปล่อยให้ทุกอย่างถูกควบคุมด้วยบรรทัดโค้ดเพียงอย่างเดียว เพราะเชื่อว่าคอมพิวเตอร์ไม่มีวันทำพลาด…
ในปี 1983 เครื่อง Therac-25 เริ่มถูกส่งมอบให้กับโรงพยาบาลต่างๆ ทั่วอเมริกาเหนือ มันกลายเป็นอุปกรณ์ที่ทันสมัยที่สุดและขายดีมาก
แต่สิ่งที่ไม่มีใครรู้เลยก็คือ โค้ดที่ใช้ควบคุมเครื่องจักรสุดซับซ้อนนี้ ถูกคัดลอกมาจากรุ่นเก่าอย่าง Therac-20
และถูกเขียนขึ้นโดยโปรแกรมเมอร์เพียงคนเดียว ซึ่งต่อมาได้ลาออกจากบริษัทไป และจนถึงปัจจุบันก็ยังไม่มีใครทราบตัวตนของเขาด้วยซ้ำ
ยิ่งไปกว่านั้น ในรายงานการประเมินความปลอดภัยก่อนวางจำหน่าย บริษัทไม่ได้ทำการตรวจสอบซอฟต์แวร์ละเอียดมากพอ
พวกเขาเชื่อมั่นอย่างสุดหัวใจว่า ซอฟต์แวร์ไม่มีวันสึกหรอหรือพังทลายเหมือนเฟืองหรือคานเหล็กตามธรรมชาติ
นี่คือจุดสูงสุดของนวัตกรรม และเป็นจุดเริ่มต้นของหายนะระดับโลก…
วันที่อากาศแจ่มใสในเดือนมิถุนายน ปี 1985 Katie Yarborough ช่างทำเล็บวัย 61 ปี เดินทางไปที่โรงพยาบาลในรัฐ Georgia
เธอมาเพื่อรับการฉายรังสีรักษามะเร็งครั้งที่ 12 ตามปกติแล้วเธอจะได้รับรังสีประมาณ 200 rads
ปริมาณรังสีระดับนี้ได้รับการคำนวณมาแล้วว่าเป็นปริมาณที่ปลอดภัยและไม่ก่อให้เกิดความเจ็บปวดใดๆ
แต่วันนั้นมันต่างออกไป…
ทันทีที่เครื่องทำงาน Katie Yarborough รู้สึกแสบร้อนอย่างรุนแรงบริเวณหน้าอก จนต้องตะโกนบอกนักเทคนิคผู้ควบคุมเครื่องว่าเธอกำลังถูกลวก
นักเทคนิคตอบกลับทันทีว่ามันเป็นไปไม่ได้ เครื่องจักรทำงานปกติ ไม่มีข้อผิดพลาดใดๆ แสดงขึ้นมาบนหน้าจอ
แต่ร่างกายของมนุษย์ไม่เคยโกหก ในเวลาต่อมา รอยแดงขนาดเท่าเหรียญบนหน้าอกของเธอเริ่มกลายเป็นรูกลวง…
เนื้อเยื่อของเธอเน่าเปื่อยจนการปลูกถ่ายผิวหนังล้มเหลว เธอต้องสูญเสียเต้านมซ้ายไปทั้งหมด และแขนซ้ายกลายเป็นอัมพาต
นักฟิสิกส์การแพทย์ประเมินในภายหลังว่า สิ่งที่ทะลุผ่านร่างของเธอไม่ใช่รังสี 200 rads อย่างที่ตั้งค่าไว้
แต่มันน่าจะสูงถึง 20,000 rads ซึ่งเป็นปริมาณมหาศาลมากกว่ารังสีที่รั่วไหลออกมาในแกนกลางของเครื่องปฏิกรณ์นิวเคลียร์เสียอีก
เมื่อทางโรงพยาบาลติดต่อไปยัง AECL สิ่งที่พวกเขาได้รับกลับมาคือคำปฏิเสธอย่างสิ้นเชิง
บริษัทอ้างว่าเรื่องแบบนี้เป็นไปไม่ได้ และบอกให้โรงพยาบาลหยุดปล่อยข่าวลือที่ไม่มีหลักฐาน
ความเย่อหยิ่งและการเพิกเฉยของบริษัทนำไปสู่โศกนาฏกรรมครั้งต่อไป…
เจ็ดสัปดาห์ต่อมา ที่ศูนย์มะเร็งใน Ontario ผู้ป่วยมะเร็งปากมดลูกวัย 40 ปีคนหนึ่งได้รับรังสีเกินขนาดเช่นเดียวกัน
ผู้ควบคุมเครื่องทำงานพลาด ปล่อยปริมาณรังสีสูงถึง 17,000 rads ทะลุเข้าที่กระดูกสะโพกของเธอ
รังสีนั้นค่อยๆ ทำลายเนื้อเยื่อและกระดูกของเธออย่างช้าๆ จนผู้ป่วยรายนี้เสียชีวิตในเวลาต่อมา
เมื่อเกิดเหตุซ้ำสอง ทาง AECL จึงเริ่มรู้สึกตัวและส่งวิศวกรไปตรวจสอบเครื่องดังกล่าวทันที
พวกเขาสรุปแบบขอไปทีว่าปัญหาน่าจะเกิดจากสวิตช์ฮาร์ดแวร์บางตัวที่ควบคุมแท่นหมุนทำงานผิดปกติ
บริษัททำการอัปเดตซอฟต์แวร์เพียงเล็กน้อย พร้อมกับออกจดหมายประกาศว่า เครื่องจักรมีความปลอดภัยเพิ่มขึ้นถึงหลายเท่า
แต่นั่นเป็นเพียงการแก้ปัญหาที่ปลายเหตุ โค้ดมรณะที่แท้จริงยังคงแฝงตัวอยู่เงียบๆ…
ความน่ากลัวของซอฟต์แวร์ Therac-25 ไม่ใช่แค่มันมีข้อบกพร่อง แต่มันคือการออกแบบที่ขาดความเข้าใจในหลักพฤติกรรมมนุษย์
หน้าจอของเครื่องมักจะแสดงข้อความแจ้งเตือนที่เขียนสั้นๆ ง่ายๆ ว่า “Malfunction” ตามด้วยตัวเลข 1 ถึง 64
ข้อความเหล่านี้ไม่มีคำอธิบายใดๆ ในคู่มือว่าหมายถึงอะไร ผู้ควบคุมเครื่องต้องเจอกับมันวันละหลายครั้งจนกลายเป็นความเคยชิน
พวกเขารู้แค่ว่าหากกดปุ่มเพื่อดำเนินการต่อ เครื่องก็จะทำงานต่อไปได้โดยไม่มีปัญหาอะไร
ความคุ้นชินนี้เองที่นำไปสู่หายนะครั้งใหญ่ที่สุดของเครื่อง Therac-25…
ที่ศูนย์มะเร็งใน Texas ชายชื่อ Voyne Ray Cox เข้ารับการรักษาด้วยเครื่อง Therac-25 ตามกำหนดการ
นักเทคนิคที่ควบคุมเครื่องป้อนคำสั่งผิด โดยเลือกพิมพ์ตัว X แทนที่จะเป็น E บนคีย์บอร์ด
เมื่อรู้ตัวว่าพิมพ์ผิด เธอจึงใช้ปุ่มลูกศรเลื่อนเคอร์เซอร์กลับไปแก้ไขอย่างรวดเร็ว และกดปุ่มให้เครื่องทำงานตามสัญชาตญาณ
หน้าจอแสดงข้อความ “Malfunction 54”
ด้วยความเคยชินและคิดว่าเป็นบั๊กทั่วไป เธอจึงกดปุ่มดำเนินการต่อ ทันใดนั้น Voyne Ray Cox รู้สึกเหมือนถูกไฟฟ้าแรงสูงช็อต…
เขาพยายามจะลุกหนี แต่ระบบสื่อสารอินเตอร์คอมในห้องพัง นักเทคนิคจึงไม่ได้ยินเสียงร้องของเขา
เธอเห็นเครื่องหยุดทำงานจึงกดเครื่องให้ทำงานซ้ำอีกครั้ง รังสีมหาศาลพุ่งทะลุร่างของเขาอีกหน
เขาต้องทุบประตูหนีออกมาอย่างสุดชีวิต พร้อมกับร่างกายที่บอบช้ำจากรังสีทำลายล้าง
แม้จะมีการสอบสวน แต่ก็ไม่มีใครสามารถจำลองข้อผิดพลาดนี้ขึ้นมาได้อีกเลยบนเครื่องจริง
AECL ยังคงยืนยันคำเดิมอย่างหนักแน่นว่าเครื่องจักรของตนปลอดภัย และอนุญาตให้โรงพยาบาลต่างๆ ใช้งานต่อไป
เพียงหนึ่งเดือนต่อมา ที่โรงพยาบาลเดียวกัน Vernon Kidd คนขับรถบัสวัย 66 ปี เข้ารับการรักษาที่ใบหน้า
นักเทคนิคคนเดิมเป็นผู้ควบคุมเครื่อง เธอพิมพ์คำสั่ง เลื่อนเคอร์เซอร์แก้ไขอย่างรวดเร็ว และกดทำงานเหมือนเคย
หน้าจอคอมพิวเตอร์แสดงข้อความ “Malfunction 54” ขึ้นมาอีกครั้ง…
แต่ครั้งนี้ รังสีมหาศาลพุ่งตรงเข้าที่ใบหน้าและสมองของ Vernon Kidd โดยตรง เขาร้องลั่นด้วยความเจ็บปวดทรมาน
เขาเสียชีวิตในอีกหนึ่งเดือนต่อมา กลายเป็นผู้เสียชีวิตจากการรักษาด้วยรังสีอย่างเป็นทางการรายแรกในประวัติศาสตร์การแพทย์
ส่วน Voyne Ray Cox ที่โดนรังสีมหาศาลไปก่อนหน้านี้ ก็ทนพิษบาดแผลไม่ไหวและเสียชีวิตตามไปในเวลาไล่เลี่ยกัน
การสูญเสียอย่างต่อเนื่องในครั้งนี้ ทำให้ Dr. Fritz Hager นักฟิสิกส์ประจำโรงพยาบาล ทนไม่ไหวและตัดสินใจว่าต้องทำอะไรซักอย่างแล้ว
เขาและนักเทคนิคใช้เวลาช่วงวันหยุดพยายามจำลองสถานการณ์การพิมพ์บนคีย์บอร์ดทุกรูปแบบ
จนในที่สุดพวกเขาก็สามารถสร้างข้อผิดพลาดนั้นขึ้นมาได้ และไขปริศนาสุดอันตรายนี้ได้สำเร็จ
ความลับที่ซ่อนอยู่ในโค้ดมรณะนั้นคือสิ่งที่วิศวกรคอมพิวเตอร์เรียกว่า “Race Condition”…
เครื่อง Therac-25 ต้องใช้เวลา 8 วินาทีเพื่อหมุนแม่เหล็กเปลี่ยนชนิดของรังสี
ในช่วงแรกที่เครื่องออกมาใหม่ๆ ผู้ควบคุมเครื่องยังพิมพ์สัมผัสไม่เก่ง ระบบจึงทำงานสอดคล้องกับจังหวะของฮาร์ดแวร์พอดี
แต่เมื่อเวลาผ่านไป ผู้ควบคุมเครื่องเริ่มมีความชำนาญ พวกเขาพิมพ์คำสั่งและแก้ไขอย่างรวดเร็วภายในเวลาไม่ถึง 8 วินาที
ซอฟต์แวร์ตัวนี้ไม่ได้ถูกเขียนโค้ดเผื่อไว้รองรับการแก้ไขข้อมูลที่รวดเร็วเกินไป เมื่อนักเทคนิคเลื่อนเคอร์เซอร์ขึ้นไปแก้คำสั่ง
ระบบแสดงผลบนหน้าจอเปลี่ยนไปแล้ว แต่ระบบกลไกแม่เหล็กข้างในยังคงทำงานตามคำสั่งแรกที่ผิดพลาดอยู่
และเนื่องจากบริษัทถอดระบบล็อกทางฮาร์ดแวร์ออกทั้งหมด ลำแสงพลังงานสูงสุดจึงถูกยิงตรงเข้าสู่ร่างกายผู้ป่วยเต็มๆ
แม้ว่าปริศนาของ “Malfunction 54” จะถูกเปิดเผย และ FDA จะเข้ามาแทรกแซงอย่างเด็ดขาดแล้วก็ตาม
แต่ฝันร้ายของเครื่อง Therac-25 ก็ยังไม่ยอมจบลงง่ายๆ
หกสัปดาห์หลังจากที่เครื่องจักรถูกประกาศว่าได้รับการแก้ไขจนปลอดภัยและนำกลับมาใช้งานใหม่
Glenn Dodd ชายวัย 65 ปี เดินเข้ามารับการรักษาที่โรงพยาบาลในรัฐ Washington อย่างมีความหวัง
แต่เขาถูกเครื่องระดมยิงรังสีเข้าที่หน้าอกถึง 10,000 rads จนเสียชีวิตอย่างน่าสลดใจในเวลาต่อมา…
คราวนี้มันไม่ใช่ข้อผิดพลาดจากการเลื่อนเคอร์เซอร์บนคีย์บอร์ดแบบเดิม แต่เป็นข้อบกพร่องที่ซ่อนอยู่ลึกกว่านั้น
ในซอฟต์แวร์ของเครื่องมีระบบตรวจสอบความปลอดภัยตัวหนึ่งที่ทำหน้าที่เช็กความเรียบร้อยของเครื่องจักร
ระบบจะรีเซ็ตค่าเป็น 0 เสมอ หากค่าในระบบไม่ใช่ 0 เครื่องจะมองว่ามีข้อผิดพลาดและไม่ยอมทำงาน
แต่ระบบนี้ถูกเขียนโค้ดและจำกัดหน่วยความจำไว้ที่ 1 ไบต์ ซึ่งมีค่าสูงสุดที่สามารถนับได้คือ 256
ลองจินตนาการถึงหน้าปัดเลขกิโลเมตรของรถยนต์รุ่นเก่าที่วิ่งไปจนถึงเลขสูงสุดของหน้าปัด
พอรถวิ่งต่อไปอีกเพียงแค่หนึ่งกิโลเมตร หน้าปัดทั้งหมดจะตีกลับมาเริ่มต้นใหม่เป็นศูนย์ทั้งหมด…
สิ่งนี้ในทางวิทยาการคอมพิวเตอร์และวิศวกรรมซอฟต์แวร์เรียกว่า “Arithmetic Overflow”
เมื่อพนักงานกดปุ่มให้เครื่องทำงานในเสี้ยววินาทีเดียวกับที่หน่วยความจำนับถึง 256 และตีกลับมาเป็น 0 พอดี
คอมพิวเตอร์จึงเข้าใจผิดว่าระบบมีค่าเป็นศูนย์ แปลว่าไม่มีข้อผิดพลาดใดๆ และปล่อยรังสีมรณะออกมาสังหารผู้ป่วย
ในที่สุด FDA ก็ตระหนักได้ว่าซอฟต์แวร์ตัวนี้อันตรายเกินไป พวกเขาประกาศให้ Therac-25 เป็นอุปกรณ์ที่บกพร่องร้ายแรง
บริษัทถูกสั่งถอดเครื่องทั้งหมดออกจากการใช้งานตามโรงพยาบาลต่างๆ จนกว่าจะมีการรื้อระบบโครงสร้างใหม่ทั้งหมด
เหตุการณ์นี้กลายเป็นจุดเปลี่ยนครั้งยิ่งใหญ่ที่ทำให้ FDA ต้องออกกฎหมายเข้ามาควบคุมอุตสาหกรรมนี้อย่างเข้มงวด…
ผู้ผลิตอุปกรณ์การแพทย์ทุกรายต้องมีเอกสารการตรวจสอบ การประเมินความเสี่ยง และการทดสอบซอฟต์แวร์อย่างละเอียด
หลังจากเผชิญกับคดีฟ้องร้องเรียกค่าเสียหายมหาศาลและการสูญเสียความน่าเชื่อถืออย่างย่อยยับจนไม่สามารถกู้คืนได้
ในปี 1988 บริษัท AECL ตัดสินใจยุบแผนกการแพทย์ของตนลงอย่างถาวร ปิดตำนานเครื่องเร่งอนุภาคนี้ไปตลอดกาล
เรื่องราวการรุ่งเรืองและล่มสลายของ Therac-25 ให้บทเรียนไว้ให้กับวงการคอมพิวเตอร์ในยุคหลังมากมาย…
มันสอนให้เรารู้ว่า นวัตกรรมที่ก้าวล้ำแต่ขาดการตรวจสอบอย่างรอบคอบและเป็นกลาง คือหายนะที่รอเวลาปะทุ
วิศวกรและโปรแกรมเมอร์ที่สร้างเครื่องจักรนี้ขึ้นมาล้วนเป็นคนอัจฉริยะขั้งเทพที่ต้องการเปลี่ยนโลกการแพทย์
แต่ความเย่อหยิ่ง การเชื่อมั่นในเทคโนโลยีอย่างหลับหูหลับตา และการเพิกเฉยต่อเสียงเตือนเล็กๆ น้อยๆ นำไปสู่ราคาที่ต้องจ่ายด้วยชีวิต
ปัจจุบัน Therac-25 ไม่ได้เป็นเพียงแค่เศษเหล็ก แต่ได้กลายเป็นกรณีศึกษาภาคบังคับในชั้นเรียนวิทยาการคอมพิวเตอร์ทั่วโลก
เพื่อย้ำเตือนผู้สร้างและพัฒนาเทคโนโลยีทุกคนว่า ในโลกที่หมุนไปอย่างรวดเร็วและขับเคลื่อนด้วยบรรทัดโค้ด
สิ่งที่สำคัญพอๆ กับความก้าวหน้าทางเทคโนโลยีอันไร้ขีดจำกัด ก็คือความรับผิดชอบและจริยธรรมต่อชีวิตมนุษย์
เพราะท้ายที่สุดแล้ว ไม่ว่าเทคโนโลยีหรือ AI มันจะล้ำหน้าไปไกลมากแค่ไหน มันก็ยังคงต้องการสามัญสำนึกของมนุษย์ในการควบคุมมันอยู่เสมอ
References : [ieee, fda, hackaday, wikipedia, medium]
=========================
😴 นอนไม่หลับ? 😴 หลับไม่สนิท?
=========================
ใครที่มีปัญหานอนไม่สนิท ตื่นมาแล้วเพลียเหมือนผมบ้างครับ ผมอยากแนะนำ Diip CBD ที่มีทั้งแบบกัมมี่และแคปซูล
พอดีผมได้ลองใช้เองมาเพียงแค่อาทิตย์แรก บอกเลยว่าชีวิตเปลี่ยน ปัญหาเรื่องการนอนหมดไปเลยครับ สนใจแอดไลน์ @diipgeek มีผู้เชี่ยวชาญดูแลคอยปรึกษาตลอด 24 ชั่วโมง
The original article appeared here https://www.tharadhol.com/therac-25-computer-bug/
ติดตามสาระดี ๆ อัพเดททุกวันผ่าน Line OA ด.ดล Blog
คลิกเลย --> https://lin.ee/aMEkyNA
——————————————––
ติดตาม ด.ดล Blog เพิ่มเติมได้ที่
=========================
โฆษณา