แอปพลิเคชันที่ยุติกระบวนการสุ่มบนเครื่องคอมพิวเตอร์จะปรากฏขึ้นอีกครั้ง และอาจทำให้ระบบเสียหายได้

computador travado

computador travado - Ei Ywet/Shutterstock.com

ประเภทของแอปพลิเคชันที่เป็นอันตรายซึ่งออกแบบมาเพื่อยุติกระบวนการแบบสุ่มบนคอมพิวเตอร์ ได้รับความสนใจอีกครั้งบนอินเทอร์เน็ต รู้จักกันในชื่อ “กระบวนการรูเล็ต” โปรแกรมเหล่านี้ทำงานต่อจนระบบปฏิบัติการล่มอย่างสมบูรณ์ ส่งผลให้เกิดการล่มโดยสิ้นเชิงหรือ “หน้าจอสีน้ำเงิน” ยอดนิยม

แนวคิดนี้ไม่ใช่เรื่องใหม่และมีการเผยแพร่ในชุมชนนักพัฒนามาหลายปีแล้ว ถือเป็นความท้าทายทางเทคนิคที่มีความเสี่ยง อย่างไรก็ตาม เวอร์ชันใหม่ที่พัฒนาด้วยความช่วยเหลือของปัญญาประดิษฐ์ได้จุดชนวนการถกเถียงเกี่ยวกับขีดจำกัดของการทดลองซอฟต์แวร์และความเสี่ยงที่เกี่ยวข้องกับเครื่องมือเหล่านี้ ซึ่งพร้อมใช้งานสำหรับ Windows, macOS และ Linux

แม้ว่าจะถูกสร้างมาโดยไม่มีเจตนาที่จะเป็นมัลแวร์ แต่ผลกระทบในทางปฏิบัติก็สามารถสร้างความเสียหายให้กับผู้ใช้ที่ไม่สงสัยได้ ส่งผลให้ข้อมูลที่ยังไม่ได้บันทึกสูญหายและไฟล์อาจเสียหายได้ ผู้สร้างเองเตือนว่าการดำเนินการจะต้องเกิดขึ้นเฉพาะในสภาพแวดล้อมที่มีการควบคุม เช่น เครื่องเสมือน เพื่อหลีกเลี่ยงความเสียหายถาวรต่อระบบหลัก

มาร์เซโล คามาร์โก/เอเจนเซีย บราซิล

กระบวนการรูเล็ตคืออะไร

แนวคิดของ “กระบวนการรูเล็ต” กลายเป็นเรื่องตลกทางเทคนิคและการทดสอบความเครียดที่รุนแรงสำหรับระบบปฏิบัติการ แนวคิดหลักนั้นเรียบง่ายและอันตราย: สร้างสคริปต์ที่สุ่มเลือกกระบวนการที่ทำงานบนคอมพิวเตอร์และยุติกระบวนการนั้นโดยเด็ดขาด โดยทำซ้ำการกระทำในรอบต่อเนื่อง

ความไม่แน่นอนเป็นองค์ประกอบสำคัญ โปรแกรมสามารถยุติทุกสิ่งตั้งแต่งานที่ไม่เป็นอันตรายเช่น Notepad ไปจนถึงบริการระบบที่สำคัญเช่นตัวจัดการหน้าต่าง (explorer.exe บน Windows) ซึ่งนำไปสู่การหยุดทำงานทันทีและจำเป็นต้องบังคับให้รีสตาร์ทคอมพิวเตอร์

[[MVG_PROTECTED_BLOCK_0]

แนวทางปฏิบัตินี้ช่วยให้โปรแกรมเมอร์สามารถสำรวจความยืดหยุ่นและการพึ่งพาภายในของระบบปฏิบัติการได้ โดยการสังเกตว่ากระบวนการใดที่ทำให้เกิดความล้มเหลวเมื่อยุติ คุณสามารถเข้าใจสถาปัตยกรรมซอฟต์แวร์ได้ดีขึ้น แม้ว่าจะมีลักษณะทำลายล้างสูงและไม่แนะนำก็ตาม

การเปรียบเทียบกับรูเล็ตรัสเซียนั้นโดยตรง: ในแต่ละ “รอบ” ผู้ใช้จะไม่รู้ว่ากระบวนการใดที่จะ “ถูกยิง” และเกมจะจบลงเมื่อมีการโจมตีส่วนประกอบสำคัญเท่านั้น โดยจะหยุดทั้งเครื่อง ดังนั้นคำแนะนำที่เป็นเอกฉันท์คืออย่าใช้เครื่องมือดังกล่าวบนคอมพิวเตอร์เพื่อการใช้งานส่วนตัวหรือเพื่ออาชีพ

เวอร์ชันใหม่ที่ขับเคลื่อนด้วย AI

เมื่อเร็วๆ นี้ นักพัฒนาที่รู้จักกันในชื่อ IceSolst ได้เปิดตัว Task Unmanager ซึ่งเป็นแนวคิดที่ทันสมัย ​​ซึ่งสร้างขึ้นด้วยความช่วยเหลือของแพลตฟอร์มการเข้ารหัส Cursor AI แอปพลิเคชั่นใหม่นี้ไม่เพียงแต่ทำให้การปิดกระบวนการโดยอัตโนมัติด้วย ID (ตัวระบุกระบวนการ) แต่ยังเพิ่มเลเยอร์ “gamification” ให้กับประสบการณ์ ทำให้มีการโต้ตอบและดึงดูดสายตามากขึ้น ซึ่งมีส่วนทำให้เกิดการแพร่ระบาดอย่างรวดเร็วบนโซเชียลมีเดีย

เครื่องมือนี้มีอินเทอร์เฟซแบบกราฟิกที่แสดงกระบวนการที่กำลังปิดแบบเรียลไทม์ และมีองค์ประกอบตลกๆ เช่น ร้านค้าภายในที่สมมติขึ้น ในร้านค้านี้ ผู้ใช้สามารถ “ซื้อ” มัลแวร์จำลองโดยใช้เหรียญเสมือนที่ได้รับเมื่อหมุนสำเร็จแต่ละครั้ง โปรเจ็กต์นี้ได้รับการแชร์บนแพลตฟอร์มของนักพัฒนาและแพร่กระจายอย่างรวดเร็ว ทำให้เกิดความคิดเห็นและการอภิปรายนับพันเกี่ยวกับความคิดสร้างสรรค์และการขาดความรับผิดชอบของแนวคิดนี้ ความง่ายดายที่ AI ช่วยในการสร้างโค้ดยังทำให้เกิดข้อถกเถียงเกี่ยวกับอนาคตของการพัฒนาซอฟต์แวร์และจริยธรรมที่อยู่เบื้องหลังการสร้างเครื่องมือที่อาจเป็นอันตราย แม้ว่าเพื่อความบันเทิงหรือการทดลองก็ตาม

เครื่องมือเหล่านี้ทำงานอย่างไรในทางปฏิบัติ

การทำงานทางเทคนิคเบื้องหลังแอปพลิเคชัน “กระบวนการรูเล็ต” ขึ้นอยู่กับการใช้คำสั่งดั้งเดิมและการอนุญาตระดับสูงของระบบปฏิบัติการเพื่อจัดการกระบวนการที่ทำงานอยู่ ตัวอย่างเช่น ในสภาพแวดล้อม Windows สคริปต์มักจะเรียกใช้ฟังก์ชัน API ของระบบ เช่น `TerminateProcess` ซึ่งบังคับให้ยุติงานทันทีโดยไม่อนุญาตให้บันทึกสถานะหรือรันรูทีนการล้างข้อมูล บนระบบที่ใช้ Unix เช่น Linux และ macOS คำสั่งที่เทียบเท่าคือ `kill` โดยทั่วไปใช้กับสัญญาณ `SIGTERM` (สำหรับการสิ้นสุดแบบมาตรฐาน) หรือ `SIGKILL` (สำหรับการยุติแบบทันทีและไม่มีเงื่อนไข) แกนหลักของโปรแกรมประกอบด้วยอัลกอริธึมที่ได้รับรายการ Process ID (PID) ที่ทำงานอยู่ทั้งหมดก่อน จากนั้นกรองกระบวนการที่จำเป็นบางอย่างออกเพื่อไม่ให้เกิดความผิดพลาดในทันที (ในบางเวอร์ชัน) จากนั้นเลือกเป้าหมายแบบสุ่มจากรายการนั้นเพื่อดำเนินการคำสั่งยุติ ลักษณะการสุ่มทำให้แน่ใจได้ว่าการดำเนินการแต่ละครั้งจะไม่ซ้ำกันและสามารถอยู่ได้ไม่กี่วินาทีหรือนาที ขึ้นอยู่กับโชคและกระบวนการใดที่ถูกโจมตีก่อน การใช้งานบางอย่างเพิ่มความท้าทาย โดยกำหนดให้ผู้ใช้พิมพ์วลีเฉพาะ เช่น “ฉันเป็นคนขี้ขลาด” เพื่อทำลายวงจรก่อนที่จะล่มสลายทั้งหมด

การปรับใช้ในอดีตบน GitHub

แม้จะได้รับความสนใจเมื่อเร็วๆ นี้ แต่ “process roulette” หลายเวอร์ชันก็มีให้ใช้งานบนที่เก็บข้อมูลสาธารณะ เช่น GitHub มาเกือบทศวรรษแล้ว หนึ่งในบันทึกที่เก่าแก่ที่สุดย้อนกลับไปในปี 2559 เมื่อผู้พัฒนา Jamis Buck เผยแพร่แนวคิดเวอร์ชันผู้เล่นหลายคน

ในการใช้งานนี้ ผู้เข้าร่วมหลายคนเชื่อมต่อกับเซิร์ฟเวอร์กลาง หนึ่งในนั้นทำหน้าที่เป็น “เจ้ามือการพนัน” โดยเริ่มรอบที่กระตุ้นให้เกิดการยกเลิกกระบวนการพร้อมกันบนเครื่องที่เชื่อมต่อทั้งหมด เปลี่ยนการทดสอบความเครียดให้เป็นเกมรวมที่มีความเสี่ยง

อีกตัวแปรยอดนิยมถูกสร้างขึ้นโดยผู้ใช้ Codebox เมื่อประมาณห้าปีที่แล้ว นี่เป็นเชลล์สคริปต์ที่เรียบง่ายกว่า ซึ่งช่วยให้ผู้ใช้สามารถกำหนดจำนวนรอบก่อนเริ่มกระบวนการ โดยสะสมคะแนนสำหรับแต่ละงานที่เสร็จสมบูรณ์ก่อนที่ระบบจะล่ม

อันตรายที่แท้จริงสำหรับผู้ใช้ทั่วไป

การใช้เครื่องมือเหล่านี้กับเครื่องจักรทุกวันถือเป็นความเสี่ยงที่สำคัญและเกิดขึ้นทันที อันตรายที่ชัดเจนที่สุดคือการสูญเสียข้อมูลที่ยังไม่ได้บันทึก เนื่องจากแอปพลิเคชัน เช่น โปรแกรมแก้ไขข้อความ สเปรดชีต หรือซอฟต์แวร์สร้างภาพจะถูกปิดอย่างกะทันหันโดยไม่มีการแจ้งเตือนล่วงหน้า

นอกจากการสูญเสียงานแล้ว ยังมีความเสี่ยงต่อความเสียหายของไฟล์ระบบอีกด้วย หากกระบวนการที่สำคัญถูกขัดจังหวะระหว่างการดำเนินการเขียนดิสก์ กระบวนการดังกล่าวอาจทำให้ไฟล์อยู่ในสถานะที่ไม่สอดคล้องกัน ซึ่งในบางกรณีซึ่งเกิดขึ้นไม่บ่อยนักอาจต้องใช้การกู้คืนด้วยตนเอง หรือแม้แต่การติดตั้งระบบปฏิบัติการใหม่

มุมมองของชุมชนนักพัฒนา

ความนิยมที่เกิดขึ้นซ้ำๆ ของเครื่องมือเหล่านี้สะท้อนให้เห็นถึงความเป็นคู่ในวัฒนธรรมการเขียนโปรแกรม ในด้านหนึ่ง สิ่งเหล่านี้แสดงถึงความอยากรู้อยากเห็นทางเทคนิคและความปรารถนาที่จะสำรวจขีดจำกัดของซอฟต์แวร์ในทางปฏิบัติ ในทางกลับกัน พวกเขาถูกวิพากษ์วิจารณ์ถึงการสนับสนุนแนวทางปฏิบัติที่แม้จะให้ความรู้สำหรับบางคน แต่ก็สามารถทำลายล้างได้หากใช้โดยปราศจากความรู้และการดูแลที่เหมาะสม โดยเฉพาะผู้ใช้มือใหม่ที่อาจไม่เข้าใจถึงความร้ายแรงของความเสี่ยงที่เกี่ยวข้อง

ทางเลือกที่ปลอดภัยสำหรับการทดสอบระบบ

สำหรับนักพัฒนาและผู้ที่สนใจในการทดสอบความเสถียรของระบบ มีทางเลือกอื่นที่ปลอดภัยและเป็นมืออาชีพมากกว่ามาก เครื่องมือเปรียบเทียบและเน้นย้ำ เช่น Prime95 สำหรับ CPU และ FurMark สำหรับกราฟิกการ์ด ได้รับการออกแบบมาเพื่อผลักดันฮาร์ดแวร์ให้ถึงขีดจำกัดด้วยวิธีที่ได้รับการควบคุมโดยไม่ต้องยุติกระบวนการแบบสุ่ม

สำหรับการทดลองกับซอฟต์แวร์ที่อาจไม่เสถียรหรือเป็นอันตราย การใช้สภาพแวดล้อมแบบแยกถือเป็นแนวปฏิบัติมาตรฐาน ซอฟต์แวร์การจำลองเสมือน เช่น VirtualBox และ VMware หรือเทคโนโลยีคอนเทนเนอร์ เช่น Docker สร้างพื้นที่ปลอดภัยที่ป้องกันความเสียหายต่อระบบปฏิบัติการหลัก ทำให้ทำการทดสอบได้โดยไม่มีผลกระทบที่แท้จริง