Therac-25 — เมื่อซอฟต์แวร์ที่ไม่มีการทดสอบกลายเป็นอาวุธร้ายในโรงพยาบาล
ย้อนกลับไปในยุค 80s เครื่อง Therac-25 ถูกออกแบบมาเพื่อใช้ในการรักษามะเร็งด้วยรังสี โดยสามารถเลือกได้ว่าจะใช้ลำอิเล็กตรอนโดยตรง หรือเปลี่ยนเป็นรังสีเอกซ์ผ่านแผ่นโลหะ เครื่องนี้ควบคุมด้วยคอมพิวเตอร์ PDP-11 และเป็นเครื่องแรกที่ยกเลิกระบบป้องกันแบบฮาร์ดแวร์ แล้วใช้ซอฟต์แวร์แทนทั้งหมด
ในปี 1986 ที่ศูนย์มะเร็ง East Texas Cancer Center (ETCC) เกิดเหตุการณ์ที่ผู้ป่วยได้รับรังสีเกินขนาดถึง 25,000 rads ทั้งที่ระบบรายงานว่าไม่ได้ฉายรังสีเลย ความผิดพลาดเกิดจาก race condition ในซอฟต์แวร์ เมื่อเจ้าหน้าที่พิมพ์ข้อมูลเร็วเกินไป ระบบไม่ได้ recalibrate คำสั่งใหม่ ทำให้ลำอิเล็กตรอนพุ่งเข้าใส่ผู้ป่วยโดยไม่มีการกรองหรือควบคุม
ผู้ป่วยรู้สึกเหมือนถูกน้ำร้อนราดหลัง และแม้จะร้องขอความช่วยเหลือ แต่ intercom และกล้องก็เสีย เจ้าหน้าที่จึงกดปุ่ม “unpause” โดยไม่รู้ว่าเกิดอะไรขึ้น ผลคือผู้ป่วยได้รับรังสีเกินขนาดอย่างรุนแรง และเสียชีวิตในเวลาต่อมา
AECL ผู้ผลิตเครื่อง Therac-25 ปฏิเสธว่าเป็นไปไม่ได้ที่จะเกิด overdose และไม่มีการทดสอบซอฟต์แวร์อย่างเป็นระบบ เพราะเชื่อว่า “ซอฟต์แวร์ไม่เสื่อม” และ “ใช้มานานแล้วจึงปลอดภัย” แม้จะมีผู้ป่วยเสียชีวิตหลายราย ก็ยังไม่มีการแก้ไขอย่างจริงจัง จน FDA ต้องเข้ามากดดันให้จัดทำ Corrective Action Plan (CAP)
ในที่สุดพบว่าไม่ใช่แค่ race condition เท่านั้น แต่ยังมี bug ที่ทำให้ตัวแปรควบคุมการตรวจสอบตำแหน่ง turntable กลับเป็นศูนย์ทุก 256 ครั้ง ซึ่งทำให้ลำแสงถูกยิงออกไปโดยไม่มีการตรวจสอบตำแหน่งเลย
สรุปเนื้อหาเป็นหัวข้อ
Therac-25 เป็นเครื่องฉายรังสีที่ควบคุมด้วยซอฟต์แวร์ทั้งหมด โดยไม่มีระบบป้องกันแบบฮาร์ดแวร์
เกิดอุบัติเหตุที่ ETCC ในปี 1986 ผู้ป่วยได้รับรังสีเกินขนาดถึง 25,000 rads
สาเหตุหลักคือ race condition เมื่อเจ้าหน้าที่พิมพ์ข้อมูลเร็วเกินไป
ระบบไม่ได้ recalibrate คำสั่งใหม่ ทำให้ลำอิเล็กตรอนถูกยิงโดยไม่มีการกรอง
AECL ปฏิเสธว่า overdose เป็นไปไม่ได้ และไม่มีการทดสอบซอฟต์แวร์อย่างเป็นระบบ
FDA เข้ามากดดันให้จัดทำ Corrective Action Plan (CAP)
พบ bug เพิ่มเติมที่ทำให้ตัวแปรควบคุมตำแหน่ง turntable กลับเป็นศูนย์ทุก 256 ครั้ง
AECL แก้ไขโดยแนะนำให้ผู้ใช้ “ถอดปุ่ม UP” และใช้เทปพันไว้เพื่อป้องกันการกด
มีผู้เสียชีวิตและบาดเจ็บจาก Therac-25 อย่างน้อย 6 รายระหว่างปี 1985–1987
บทเรียนสำคัญคือการพึ่งพาซอฟต์แวร์โดยไม่มีการทดสอบที่เข้มงวดในระบบที่มีความเสี่ยงสูง
ข้อมูลเสริมจากภายนอก
Therac-25 กลายเป็นกรณีศึกษามาตรฐานในวิชาวิศวกรรมซอฟต์แวร์และจริยธรรมคอมพิวเตอร์
Race condition คือการที่หลาย process เข้าถึงข้อมูลร่วมกันโดยไม่มีการจัดลำดับที่แน่นอน
PDP-11 เป็นคอมพิวเตอร์ขนาดเล็กที่นิยมใช้ในงานอุตสาหกรรมในยุคนั้น
FDA ปรับปรุงกฎระเบียบด้านการทดสอบซอฟต์แวร์หลังเหตุการณ์นี้
เหตุการณ์นี้ส่งผลให้วงการแพทย์ระแวงการใช้คอมพิวเตอร์ในระบบรักษาไปอีกหลายปี
https://thedailywtf.com/articles/the-therac-25-incident
ย้อนกลับไปในยุค 80s เครื่อง Therac-25 ถูกออกแบบมาเพื่อใช้ในการรักษามะเร็งด้วยรังสี โดยสามารถเลือกได้ว่าจะใช้ลำอิเล็กตรอนโดยตรง หรือเปลี่ยนเป็นรังสีเอกซ์ผ่านแผ่นโลหะ เครื่องนี้ควบคุมด้วยคอมพิวเตอร์ PDP-11 และเป็นเครื่องแรกที่ยกเลิกระบบป้องกันแบบฮาร์ดแวร์ แล้วใช้ซอฟต์แวร์แทนทั้งหมด
ในปี 1986 ที่ศูนย์มะเร็ง East Texas Cancer Center (ETCC) เกิดเหตุการณ์ที่ผู้ป่วยได้รับรังสีเกินขนาดถึง 25,000 rads ทั้งที่ระบบรายงานว่าไม่ได้ฉายรังสีเลย ความผิดพลาดเกิดจาก race condition ในซอฟต์แวร์ เมื่อเจ้าหน้าที่พิมพ์ข้อมูลเร็วเกินไป ระบบไม่ได้ recalibrate คำสั่งใหม่ ทำให้ลำอิเล็กตรอนพุ่งเข้าใส่ผู้ป่วยโดยไม่มีการกรองหรือควบคุม
ผู้ป่วยรู้สึกเหมือนถูกน้ำร้อนราดหลัง และแม้จะร้องขอความช่วยเหลือ แต่ intercom และกล้องก็เสีย เจ้าหน้าที่จึงกดปุ่ม “unpause” โดยไม่รู้ว่าเกิดอะไรขึ้น ผลคือผู้ป่วยได้รับรังสีเกินขนาดอย่างรุนแรง และเสียชีวิตในเวลาต่อมา
AECL ผู้ผลิตเครื่อง Therac-25 ปฏิเสธว่าเป็นไปไม่ได้ที่จะเกิด overdose และไม่มีการทดสอบซอฟต์แวร์อย่างเป็นระบบ เพราะเชื่อว่า “ซอฟต์แวร์ไม่เสื่อม” และ “ใช้มานานแล้วจึงปลอดภัย” แม้จะมีผู้ป่วยเสียชีวิตหลายราย ก็ยังไม่มีการแก้ไขอย่างจริงจัง จน FDA ต้องเข้ามากดดันให้จัดทำ Corrective Action Plan (CAP)
ในที่สุดพบว่าไม่ใช่แค่ race condition เท่านั้น แต่ยังมี bug ที่ทำให้ตัวแปรควบคุมการตรวจสอบตำแหน่ง turntable กลับเป็นศูนย์ทุก 256 ครั้ง ซึ่งทำให้ลำแสงถูกยิงออกไปโดยไม่มีการตรวจสอบตำแหน่งเลย
สรุปเนื้อหาเป็นหัวข้อ
Therac-25 เป็นเครื่องฉายรังสีที่ควบคุมด้วยซอฟต์แวร์ทั้งหมด โดยไม่มีระบบป้องกันแบบฮาร์ดแวร์
เกิดอุบัติเหตุที่ ETCC ในปี 1986 ผู้ป่วยได้รับรังสีเกินขนาดถึง 25,000 rads
สาเหตุหลักคือ race condition เมื่อเจ้าหน้าที่พิมพ์ข้อมูลเร็วเกินไป
ระบบไม่ได้ recalibrate คำสั่งใหม่ ทำให้ลำอิเล็กตรอนถูกยิงโดยไม่มีการกรอง
AECL ปฏิเสธว่า overdose เป็นไปไม่ได้ และไม่มีการทดสอบซอฟต์แวร์อย่างเป็นระบบ
FDA เข้ามากดดันให้จัดทำ Corrective Action Plan (CAP)
พบ bug เพิ่มเติมที่ทำให้ตัวแปรควบคุมตำแหน่ง turntable กลับเป็นศูนย์ทุก 256 ครั้ง
AECL แก้ไขโดยแนะนำให้ผู้ใช้ “ถอดปุ่ม UP” และใช้เทปพันไว้เพื่อป้องกันการกด
มีผู้เสียชีวิตและบาดเจ็บจาก Therac-25 อย่างน้อย 6 รายระหว่างปี 1985–1987
บทเรียนสำคัญคือการพึ่งพาซอฟต์แวร์โดยไม่มีการทดสอบที่เข้มงวดในระบบที่มีความเสี่ยงสูง
ข้อมูลเสริมจากภายนอก
Therac-25 กลายเป็นกรณีศึกษามาตรฐานในวิชาวิศวกรรมซอฟต์แวร์และจริยธรรมคอมพิวเตอร์
Race condition คือการที่หลาย process เข้าถึงข้อมูลร่วมกันโดยไม่มีการจัดลำดับที่แน่นอน
PDP-11 เป็นคอมพิวเตอร์ขนาดเล็กที่นิยมใช้ในงานอุตสาหกรรมในยุคนั้น
FDA ปรับปรุงกฎระเบียบด้านการทดสอบซอฟต์แวร์หลังเหตุการณ์นี้
เหตุการณ์นี้ส่งผลให้วงการแพทย์ระแวงการใช้คอมพิวเตอร์ในระบบรักษาไปอีกหลายปี
https://thedailywtf.com/articles/the-therac-25-incident
⚠️ Therac-25 — เมื่อซอฟต์แวร์ที่ไม่มีการทดสอบกลายเป็นอาวุธร้ายในโรงพยาบาล
ย้อนกลับไปในยุค 80s เครื่อง Therac-25 ถูกออกแบบมาเพื่อใช้ในการรักษามะเร็งด้วยรังสี โดยสามารถเลือกได้ว่าจะใช้ลำอิเล็กตรอนโดยตรง หรือเปลี่ยนเป็นรังสีเอกซ์ผ่านแผ่นโลหะ เครื่องนี้ควบคุมด้วยคอมพิวเตอร์ PDP-11 และเป็นเครื่องแรกที่ยกเลิกระบบป้องกันแบบฮาร์ดแวร์ แล้วใช้ซอฟต์แวร์แทนทั้งหมด
ในปี 1986 ที่ศูนย์มะเร็ง East Texas Cancer Center (ETCC) เกิดเหตุการณ์ที่ผู้ป่วยได้รับรังสีเกินขนาดถึง 25,000 rads ทั้งที่ระบบรายงานว่าไม่ได้ฉายรังสีเลย ความผิดพลาดเกิดจาก race condition ในซอฟต์แวร์ เมื่อเจ้าหน้าที่พิมพ์ข้อมูลเร็วเกินไป ระบบไม่ได้ recalibrate คำสั่งใหม่ ทำให้ลำอิเล็กตรอนพุ่งเข้าใส่ผู้ป่วยโดยไม่มีการกรองหรือควบคุม
ผู้ป่วยรู้สึกเหมือนถูกน้ำร้อนราดหลัง และแม้จะร้องขอความช่วยเหลือ แต่ intercom และกล้องก็เสีย เจ้าหน้าที่จึงกดปุ่ม “unpause” โดยไม่รู้ว่าเกิดอะไรขึ้น ผลคือผู้ป่วยได้รับรังสีเกินขนาดอย่างรุนแรง และเสียชีวิตในเวลาต่อมา
AECL ผู้ผลิตเครื่อง Therac-25 ปฏิเสธว่าเป็นไปไม่ได้ที่จะเกิด overdose และไม่มีการทดสอบซอฟต์แวร์อย่างเป็นระบบ เพราะเชื่อว่า “ซอฟต์แวร์ไม่เสื่อม” และ “ใช้มานานแล้วจึงปลอดภัย” แม้จะมีผู้ป่วยเสียชีวิตหลายราย ก็ยังไม่มีการแก้ไขอย่างจริงจัง จน FDA ต้องเข้ามากดดันให้จัดทำ Corrective Action Plan (CAP)
ในที่สุดพบว่าไม่ใช่แค่ race condition เท่านั้น แต่ยังมี bug ที่ทำให้ตัวแปรควบคุมการตรวจสอบตำแหน่ง turntable กลับเป็นศูนย์ทุก 256 ครั้ง ซึ่งทำให้ลำแสงถูกยิงออกไปโดยไม่มีการตรวจสอบตำแหน่งเลย
📌 สรุปเนื้อหาเป็นหัวข้อ
➡️ Therac-25 เป็นเครื่องฉายรังสีที่ควบคุมด้วยซอฟต์แวร์ทั้งหมด โดยไม่มีระบบป้องกันแบบฮาร์ดแวร์
➡️ เกิดอุบัติเหตุที่ ETCC ในปี 1986 ผู้ป่วยได้รับรังสีเกินขนาดถึง 25,000 rads
➡️ สาเหตุหลักคือ race condition เมื่อเจ้าหน้าที่พิมพ์ข้อมูลเร็วเกินไป
➡️ ระบบไม่ได้ recalibrate คำสั่งใหม่ ทำให้ลำอิเล็กตรอนถูกยิงโดยไม่มีการกรอง
➡️ AECL ปฏิเสธว่า overdose เป็นไปไม่ได้ และไม่มีการทดสอบซอฟต์แวร์อย่างเป็นระบบ
➡️ FDA เข้ามากดดันให้จัดทำ Corrective Action Plan (CAP)
➡️ พบ bug เพิ่มเติมที่ทำให้ตัวแปรควบคุมตำแหน่ง turntable กลับเป็นศูนย์ทุก 256 ครั้ง
➡️ AECL แก้ไขโดยแนะนำให้ผู้ใช้ “ถอดปุ่ม UP” และใช้เทปพันไว้เพื่อป้องกันการกด
➡️ มีผู้เสียชีวิตและบาดเจ็บจาก Therac-25 อย่างน้อย 6 รายระหว่างปี 1985–1987
➡️ บทเรียนสำคัญคือการพึ่งพาซอฟต์แวร์โดยไม่มีการทดสอบที่เข้มงวดในระบบที่มีความเสี่ยงสูง
✅ ข้อมูลเสริมจากภายนอก
➡️ Therac-25 กลายเป็นกรณีศึกษามาตรฐานในวิชาวิศวกรรมซอฟต์แวร์และจริยธรรมคอมพิวเตอร์
➡️ Race condition คือการที่หลาย process เข้าถึงข้อมูลร่วมกันโดยไม่มีการจัดลำดับที่แน่นอน
➡️ PDP-11 เป็นคอมพิวเตอร์ขนาดเล็กที่นิยมใช้ในงานอุตสาหกรรมในยุคนั้น
➡️ FDA ปรับปรุงกฎระเบียบด้านการทดสอบซอฟต์แวร์หลังเหตุการณ์นี้
➡️ เหตุการณ์นี้ส่งผลให้วงการแพทย์ระแวงการใช้คอมพิวเตอร์ในระบบรักษาไปอีกหลายปี
https://thedailywtf.com/articles/the-therac-25-incident
0 ความคิดเห็น
0 การแบ่งปัน
35 มุมมอง
0 รีวิว