2 คะแนน โดย GN⁺ 2024-10-08 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • คำเตือนสปอยล์: "ได้"
  • หัวข้อ: เมื่อไม่มีบั๊ก ก็ต้องใช้วิธีที่สร้างสรรค์ และการฉีดข้อบกพร่องให้ฮาร์ดแวร์อาจเป็นคำตอบ ซึ่งรวมถึงการทำให้ข้อมูลควบคุมของซอฟต์แวร์เสียหาย, power glitching, clock glitching, electromagnetic pulse และเลเซอร์
  • การฉีดข้อบกพร่องให้ฮาร์ดแวร์: โดยทั่วไปต้องใช้อุปกรณ์ราคาแพง แต่มีวิธีประหยัด เช่น ใช้ตัวจุดเตา BBQ แบบ piezoelectric ร่วมกับตัวเหนี่ยวนำเพื่อทำเป็นเครื่องมือ electromagnetic fault injection (EMFI)

เป้าหมายการทดสอบ

  • อุปกรณ์: โน้ตบุ๊ก Samsung S3520, CPU Intel i3-2310M, RAM DDR3 1GB
  • เป้าหมาย: เขียน local privilege escalation exploit ที่อาศัยข้อบกพร่องของฮาร์ดแวร์
  • วิธีการ: ฉีดข้อบกพร่องไปที่หนึ่งในขา DQ ของบัส DDR เพื่อทำให้เกิดข้อผิดพลาดในหน่วยความจำ

Bit flip exploit ใน CPython

  • เป้าหมาย: เขียน exploit สำหรับ "หลบหนี sandbox" ใน CPython
  • กลยุทธ์: สร้างโครงสร้าง bytearray ปลอมภายในอ็อบเจ็กต์ bytes แล้วทำให้ CPython ส่งต่อการอ้างอิงไปยังอ็อบเจ็กต์ปลอมนั้น

Bit flip exploit บน Linux

  • เป้าหมาย: ได้สิทธิ์ root จากผู้ใช้ Linux ที่ไม่มีสิทธิ์พิเศษ
  • แนวคิดหลัก: memory caching, virtual memory และ page table, translation lookaside buffer (TLB)
  • กลยุทธ์: แมป page table เข้ากับหน่วยความจำที่ผู้ใช้เข้าถึงได้ เพื่อให้สามารถเข้าถึงหน่วยความจำกายภาพใดก็ได้

การใช้งานจริง

  • การประยุกต์ใช้: ใช้ EMFI ทำ Windows LPE เพื่อช่วยให้เกมเมอร์ยึดการควบคุมพีซีกลับคืนมาได้
  • ความเป็นไปได้ในอนาคต: อาจติดตั้ง RP2040 บน "gaming RAM" เพื่อทำ exploit แบบอัตโนมัติได้

สรุปโดย GN⁺

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

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

 
mammal 2024-10-08

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

 
GN⁺ 2024-10-08
ความเห็นจาก Hacker News
  • ได้แรงบันดาลใจมาจากการได้สิทธิ์ root บน Switch 2 และใช้การได้สิทธิ์ root บน Linux เป็น POC เป้าหมายคือการทวงคืนความเป็นเจ้าของฮาร์ดแวร์โดยไม่ทำลาย TPM หรือ anti-cheat ระดับ ring 0 ของเกม

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

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

  • จุดประสงค์ของ "_" ใน "0x100_0000" คือไม่เปลี่ยนอะไรเลย ไม่มีผลต่อค่าตัวเลข

  • ทำให้นึกถึงการ exploit ตู้เกมอาร์เคดในซิดนีย์ช่วงยุค 80 และ 90 ซึ่งสามารถใช้ตัวจุดระเบิด piezoelectric เพื่อเพิ่มเครดิตในเกมได้

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

  • ไม่ใช่แค่ exploit ที่สนุกเท่านั้น แต่ยังเป็นบทเกริ่นนำสั้น ๆ ที่ยอดเยี่ยมเกี่ยวกับวิธีการทำงานของ CPU caching ด้วย สงสัยว่ามีใครจำเว็บไซต์ที่อธิบายว่าคอมพิวเตอร์ทำงานอย่างไรโดยเริ่มจาก logic gate ได้ไหม

  • "ต้องใช้เพียงตัวต้านทาน 15 โอห์มหนึ่งตัวกับสายไฟหนึ่งเส้นที่บัดกรีเข้ากับ DQ26 สายไฟจะทำหน้าที่เหมือนเสาอากาศและทุ่มสัญญาณรบกวน EM ที่อยู่ใกล้ลงบน data bus โดยตรง"

    • เป็นแฮ็กที่เท่มากในการใช้ไฟแช็กสร้างสัญญาณรบกวน EM
  • ฉันติดตามเขาใน Mastodon และโพสต์นั้นก็เจ๋งมาก มีวิดีโอบน Mastodon ที่แสดงการเข้าถึง root ด้วย