7 คะแนน โดย GN⁺ 2025-03-04 | 4 ความคิดเห็น | แชร์ทาง WhatsApp
  • ผู้ชื่นชอบวิดีโอเกมหลายพันคนกำลังสั่งสมประสบการณ์ในอุตสาหกรรมความมั่นคงไซเบอร์โดยไม่รู้ตัว
  • พวกเขามีงานอดิเรกคือการวิเคราะห์รายละเอียดของเกม ซึ่งคล้ายกับการเป็นนักวิจัยช่องโหว่

Speedrun คืออะไร? :

  • ทันทีที่วิดีโอเกมวางจำหน่าย ผู้คนก็พยายามเล่นให้จบเร็วกว่าคนอื่นหรือเร็วกว่ากลุ่มเพื่อน
  • เกมที่ได้รับความนิยมมากหรือมีความสำคัญทางวัฒนธรรมมักก่อให้เกิดการแข่งขันที่เข้มข้น
  • นักสปีดรันจะเล่นเกมเดิมซ้ำหลายร้อยหรือหลายพันครั้งเพื่อทำเวลาที่เร็วที่สุดบนลีดเดอร์บอร์ดที่ขับเคลื่อนโดยชุมชน
  • การสปีดรันแบบ "Any%" คือหมวดหมู่ที่แทบไม่สนกติกาใด ๆ โดยมีเป้าหมายคือเล่นให้จบให้เร็วที่สุดผ่านการใช้บั๊กของเกมโดยเจตนา

การล่ากลิทช์คือการทำ Reverse Engineering

  • ภายในคอมมูนิตี้สปีดรันของเกม ได้เกิดกลุ่มที่นำแนวทางเชิงวิศวกรรมมาใช้เพื่อค้นพบกลิทช์ใหม่ ๆ
  • พวกเขาไม่ได้อาศัยแค่การลองซ้ำ ๆ เท่านั้น แต่ยังใช้เครื่องมือมาตรฐานของวงการความมั่นคงไซเบอร์อย่าง IDA Pro หรือ Ghidra เพื่อวิเคราะห์การทำงานภายในของซอฟต์แวร์
  • อีกทั้งยังใช้เครื่องมืออย่าง memory viewer ของ Dolphin Emulator หรือ Cheat Engine สำหรับการวิเคราะห์แบบไดนามิก เพื่อทำความเข้าใจโครงสร้างข้อมูลภายในของโปรแกรมและวิธีที่มันบันทึกข้อมูล
  • บางคอมมูนิตี้ถึงขั้นทำ reverse engineering กับฟอร์แมตไฟล์ของเกม แล้วสร้าง Ghidra program loader ขึ้นมาเอง หรือเอาโค้ดที่ disassemble จาก Ghidra มาเขียนใหม่เป็นภาษา C เพื่อนำไปใช้กับ fuzzer

การวิจัยช่องโหว่

  • กลุ่มเหล่านี้ไม่ได้ทำแค่ reverse engineering แต่ยังทำวิจัยช่องโหว่อีกด้วย
  • พวกเขาไม่ได้หยุดอยู่แค่การทำความเข้าใจว่าเกมทำงานอย่างไร แต่ยังพยายามหาทางทำให้เกมพังในรูปแบบต่าง ๆ
  • กลิทช์เหล่านี้ทำงานคล้ายกับ memory corruption exploit อย่างมาก และนำไปสู่การค้นพบ buffer overflow, use-after-free, การเปลี่ยนสถานะของ state machine ที่ไม่ถูกต้อง และอื่น ๆ
  • สิ่งที่น่าประทับใจเป็นพิเศษคือพวกเขาทำให้ exploit เหล่านี้ใช้งานได้จริงในระดับผลิตภัณฑ์
  • คอมมูนิตี้สปีดรันสามารถฝ่าข้อจำกัดที่เข้มงวดมากเพื่อใช้กลิทช์เหล่านี้ได้จริง ซึ่งคล้ายกับงานที่นักวิจัยช่องโหว่ในอุตสาหกรรมความมั่นคงไซเบอร์ทำ
  • บางคอมมูนิตี้เกมใช้ tool-assisted speedrun (TAS) เพื่อทำกลิทช์ที่ต้องอาศัยความแม่นยำเกินกว่ามนุษย์จะทำได้ โดยบันทึกอินพุตระดับเฟรมเพื่อควบคุมมุมได้อย่างแม่นยำ
  • TAS ใช้ memory debugger เพื่อสร้าง heap spray ที่สมบูรณ์แบบ หรือเขียน shellcode payload ลงในอินเวนทอรีของผู้เล่น

การมีอยู่ของอุตสาหกรรมนี้

  • เป็นเรื่องน่าประหลาดที่คนซึ่งมีทักษะทางเทคนิคสูงเหล่านี้ยังขาดการเชื่อมต่อกับอุตสาหกรรมความมั่นคงไซเบอร์
  • นักล่ากลิทช์ในวงการสปีดรันพัฒนา heap use-after-free exploit และเขียนบทความเชิงเทคนิค แต่เรียกมันว่าเป็นกลิทช์แบบ ‘item storage’
  • พวกเขาไม่ตระหนักว่างานอดิเรกของตัวเองเกี่ยวข้องอย่างใกล้ชิดกับการวิจัยช่องโหว่ในอุตสาหกรรมความมั่นคงไซเบอร์
  • น่าเสียดายที่คนซึ่งมีทักษะแบบนี้ไม่ได้สมัครงานในสายอย่างการวิจัยช่องโหว่หรือ reverse engineering
  • การวิจัยช่องโหว่ต้องอาศัยความเข้าใจเชิงลึกต่อวิธีการทำงานของโปรแกรม ซึ่งคล้ายกับการค้นหากลิทช์ในเกม
  • การวิเคราะห์กลิทช์เชิงเทคนิคของคอมมูนิตี้สปีดรันก็ได้รับความนิยมในอุตสาหกรรมความมั่นคงไซเบอร์เช่นกัน เพราะพวกเขาสำรวจภายในของโปรแกรมอย่างลึกซึ้งและใช้ประโยชน์จากช่องโหว่อย่างสร้างสรรค์

4 ความคิดเห็น

 
firea32 2025-03-10

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

 
rlaehdus2003 2025-03-04

เจ้าหญิงกระต่าย..?

 
GN⁺ 2025-03-04
ความเห็นจาก Hacker News
  • อุปมานี้ให้ความรู้สึกว่าออกจะพูดเกินจริงไปนิดเพื่อทำคอนเทนต์มาร์เก็ตติ้ง ความต่างหลักระหว่างนักวิจัยช่องโหว่กับชุมชน speedrunning คือ speedrunning มีความร่วมมือกันสูงมากและเปิดกว้างมาก แต่ละเกมจะมีชุมชน Discord สำหรับ speedrunning ขนาดใหญ่ และแม้ก่อนจะมี Discord ผู้คนจำนวนมากก็พยายามทำความเข้าใจทริกและการแฮ็กที่ถูกค้นพบโดยไม่ตั้งใจด้วยการดูการเล่นของคนอื่น

    • โดยปกติ Nintendo ไม่ค่อยสนใจเวลาผู้คนค้นพบ ACE ในเกมเก่า ๆ และโพสต์เวอร์ชัน decompile ของเกมลงบน GitHub แต่นักวิจัยช่องโหว่ทำแบบนั้นไม่ได้เพราะต้องหลีกเลี่ยงปัญหาทางกฎหมาย
    • คนที่มีส่วนร่วมอย่างจริงจังในชุมชน speedrunning น่าจะรู้เรื่องนี้กันดีอยู่แล้ว เป็นตัวอย่างเสริมที่น่าสนใจว่าเรามักเห็นพวก TAS'er พูดถึง arbitrary code execution กันบ่อย ๆ การรัน OoT ใน GDQ อันเป็นตำนานของ TASBot ที่ใช้ alternate ending นั้นน่าทึ่งจริง ๆ
  • ฉันสงสัยว่าทำไมความสนใจสองอย่างนี้ถึงไม่ทับซ้อนกัน ส่วนหนึ่งน่าจะเป็นผลแบบ “ฉันไม่อยากรักษามะเร็ง ฉันอยากเปลี่ยนคนให้เป็นไดโนเสาร์” คนที่แฮ็กเกมบางส่วนสนใจแค่สิ่งที่ทำได้กับเกมที่ตัวเองสนใจเท่านั้น มันไม่ได้ต่อยอดเป็นความสนใจที่จะใช้ทักษะเดียวกันกับทุกอย่างอื่น

    • การแฮ็กเกมอายุ 20-30 ปีง่ายกว่าซอฟต์แวร์สมัยใหม่มาก เพราะเกมพวกนั้นไม่มีมาตรการป้องกันเลย สำหรับเกมยอดนิยมก็อาศัยงาน reverse engineering ที่สั่งสมมาหลายทศวรรษ และไม่ได้เริ่มจากศูนย์ (เสมอไป) แถมยังมีชุดเครื่องมือที่ดีกว่า เช่น save state
    • ปัจจัยใหญ่ที่บล็อกโพสต์นี้พยายามจะพูดถึงคือ คนส่วนใหญ่ไม่รู้อะไรเลยเกี่ยวกับอุตสาหกรรมวิจัยช่องโหว่ ต่างจาก speedrun ที่ได้ความสนใจจากการไลฟ์การกุศลให้ผู้ชมนับล้านดู
  • ความต่างสำคัญคือแรงจูงใจ speedrunner สนุกกับมันเพราะเกมมันสนุก speedrunner สามารถเอาช่องโหว่เหล่านี้ไปใช้จริงในชีวิตของตัวเองในแบบที่มีความหมายได้ แต่นักวิจัยช่องโหว่โดยทั่วไปมักทำไม่ได้

    • เป็นข้อสังเกตทั่วไปเกี่ยวกับ cyber security การล่าบั๊กและ reverse engineering ต้องใช้ความอึดมากกว่าการเขียนซอฟต์แวร์และงานสาย IT ด้านอื่น ๆ ความอึดเป็นสิ่งที่เรียกออกมาได้ยาก เมื่อเงินเดือนเป็นแรงจูงใจเดียว ซอฟต์แวร์เป้าหมายก็น่าเบื่อโดยเนื้อแท้ และคุณก็รู้ว่าจะได้ค่าตอบแทนอยู่แล้วไม่ว่าจะหาบั๊กเจอหรือไม่
  • นี่เป็นเรื่องที่ชัดเจนอย่างยิ่ง นักวิจัยช่องโหว่อิจฉาวิดีโอ speedrun แบบ tool-assisted อนึ่ง ตอนที่ฉันเล่น Microcorruption นักพัฒนาเกมนั้นเก่งกว่าทุกคน ยกเว้นนักวิจัยช่องโหว่ระดับหัวกะทิ

  • ไม่นานมานี้ฉันดู world record speedrun ของ Subnautica แล้วมีคนใจดีคอมเมนต์ทิ้งรายการบั๊กทั้งหมดที่ถูกใช้เพื่อเคลียร์เกมใน 28 นาที

    • มันน่าทึ่งจริง ๆ ตอนเล่นเกมเองฉันแทบไม่เจอบั๊กหรือกลิทช์เลย และคิดว่าเกมขัดเกลามาดีมาก แต่ความจริงคือแม้จะผ่านมาหลายปีหลังวางขายและอัปเดตมาหลายครั้ง ก็ยังเหลือบั๊กอยู่อีกหลายร้อยตัว
  • เป็นบทความที่น่าสนใจ

    • น่าเสียดายที่ cyber security สำหรับ speedrunner หลายคนไม่ได้สนุกและน่าดึงดูดโดยเนื้อแท้เท่าวิดีโอเกม เหตุผลสำคัญที่ speedrunner สามารถใช้เวลาไปกับการหากลิทช์และแฮ็กในเกมเหล่านี้ได้ ก็เพราะพวกเขาสนุกกับมันมากจริง ๆ อีกทั้งการแฮ็กกลิทช์ในเกมอายุหลายสิบปีโดยทั่วไปก็เข้าถึงง่ายกว่า และไม่มีอุปสรรคในการเริ่มต้นสูงแบบ cyber security
  • ถ้าเอาแบบสุดโต่ง ก็สามารถทำอะไรอย่าง arbitrary code execution ใน Super Mario World ได้

    • แก้ไข: ตรงนี้ควรมีลิงก์ ลิงก์
  • สแปมบล็อกนี้เขียนโดย “Senior Cyber Engineer” ทำให้ฉันสงสัยว่าเขา (a) อายที่โฆษณาที่ตัวเองเขียนมันเหลวไหลเกินไป หรือ (b) จริง ๆ แล้วไม่ใช่วิศวกร แต่เป็นคนเขียนพรอมป์ให้ ChatGPT

  • ฉันเป็น speedrunner และมั่นใจว่านี่เป็นเรื่องที่รู้กันดีอยู่แล้ว และในบางหมวดหมู่ก็ยอมรับกันเป็นมาตรฐานด้วยซ้ำ เป็นมาตรฐานที่ยอมรับกันดีมากจนชื่อเรื่องแทบจะเป็นการดูถูกเล็กน้อย

    • พฤติกรรมซอฟต์แวร์ที่ไม่ถูกนิยามในโลกของเกมมีความสำคัญต่อเรื่องพวกนี้มาก โดยเฉพาะจะเห็นได้จากการแฮ็กระดับตำนานที่ค้นพบใน speedrun ของ Ocarina of Time
    • ใน Super Mario World นั้น SethBling เคยรัน Flappy Bird เวอร์ชันหนึ่งด้วยมือผ่าน code injection โดยไม่ใช้ save state มันใช้เวลานานมาก และกระบวนการนั้นน่าหลงใหลจริง ๆ ลิงก์
    • ฉันยัง speedrun สิ่งอื่นนอกเหนือจากเกมด้วย ดังนั้นการเหมารวมก็คือ เราไม่ใช่แค่นักวิจัยด้านความปลอดภัยเท่านั้น แต่ยังเป็นคนที่เรียนรู้ “รูปร่าง” ของสิ่งต่าง ๆ ได้เก่งมาก และใช้รูปร่างนั้นเพื่อเรียนรู้วิธีย้ายจากสถานะหนึ่งของรูปร่างนั้นไปยังอีกสถานะหนึ่ง
    • สรุปคือ ใช่ มันอาจเรียบง่ายได้ถึงระดับที่เหมือนงานวิจัยด้านความปลอดภัย แต่ความสุขและความงามของ speedrunning นั้นยิ่งใหญ่และงดงามกว่านั้นมาก แน่นอนว่านั่นก็เป็นหนึ่งในผลลัพธ์ที่เป็นไปได้