Codex แฮ็กทีวี Samsung ได้
(blog.calif.io)- โมเดล AI Codex ดำเนินการโจมตีแบบครบวงจรบน สมาร์ตทีวี Samsung จริง โดยยกระดับสิทธิ์จากสิทธิ์ระดับเบราว์เซอร์ไปเป็นสิทธิ์ root
- การทดลองนี้ดำเนินร่วมกับ OpenAI เพื่อตรวจสอบว่า Codex สามารถใช้ซอร์สเฟิร์มแวร์และสิทธิ์เข้าถึงอุปกรณ์ในการค้นหาและใช้ประโยชน์จากช่องโหว่ได้โดยอัตโนมัติ
- Codex ค้นพบ ช่องโหว่การเข้าถึงหน่วยความจำกายภาพในไดรเวอร์ Novatek และแก้ไข โครงสร้าง cred ของเคอร์เนลเพื่อให้ได้ root shell
- ระหว่างการทดลอง Codex ทำงานซ้ำไปมาระหว่างการรันคำสั่งและการรับมือข้อผิดพลาด โดย ทำงานคล้ายเอเจนต์ที่ร่วมมือแบบเรียลไทม์
- ผลลัพธ์ครั้งนี้แสดงให้เห็นว่า AI ไม่ได้ทำได้แค่การวิเคราะห์โค้ด แต่ยัง สามารถค้นหาและดำเนินการโจมตีช่องโหว่ความปลอดภัยบนฮาร์ดแวร์จริงได้
กระบวนการทดลองที่ Codex แฮ็กทีวี Samsung
- การทดลองที่ โมเดล AI Codex ขยายสิทธิ์การรันโค้ดระดับเบราว์เซอร์ไปเป็นสิทธิ์ root บน สมาร์ตทีวี Samsung จริง
- ทีมวิจัยทำงานร่วมกับ OpenAI เพื่อตรวจสอบว่า Codex สามารถค้นหาและใช้ประโยชน์จากช่องโหว่บนอุปกรณ์ฮาร์ดแวร์จริงได้หรือไม่
- การทดลองเริ่มจากสภาพแวดล้อม browser shell ที่มีอยู่แล้ว และให้ Codex ใช้ ซอร์สโค้ดเฟิร์มแวร์และสิทธิ์เข้าถึงอุปกรณ์แบบเรียลไทม์ เพื่อทำให้กระบวนการยกระดับสิทธิ์เป็น root เป็นอัตโนมัติ
- Codex ค้นพบ ช่องโหว่การเข้าถึงหน่วยความจำกายภาพ และใช้มันเพื่อแก้ไข โครงสร้าง credential ของเคอร์เนล (
cred) จนได้ root shell - ผลลัพธ์พิสูจน์ว่า AI ไม่ได้ทำได้แค่การวิเคราะห์โค้ด แต่ยัง สามารถทำห่วงโซ่การโจมตีทั้งหมดให้เสร็จสมบูรณ์ได้ด้วยตนเอง
การตั้งค่าสภาพแวดล้อมการทดลอง
- เป้าหมายของการทดลองคือสมาร์ตทีวีที่ใช้เฟิร์มแวร์แพลตฟอร์มภายในของ Samsung ชื่อ KantS2
- มีการเตรียมสภาพแวดล้อมต่อไปนี้เพื่อให้ Codex ทำงานได้
- browser shell: สถานะที่สามารถรันโค้ดได้ภายในแอปเบราว์เซอร์
- controller host: ให้ความสามารถในการ build ไบนารี ARM, โฮสต์ไฟล์ผ่าน HTTP และเข้าถึง shell session
- shell listener: ฉีดคำสั่งผ่าน
tmux send-keysและเก็บผลลัพธ์เป็นล็อก - ซอร์สโค้ดเฟิร์มแวร์: ให้ทั้ง source tree ของ
KantS2 - ข้อจำกัดการรัน: เนื่องจาก Unauthorized Execution Prevention (UEP) ของ Tizen ไบนารีที่ไม่ได้ลงลายเซ็นจึงไม่สามารถรันได้โดยตรง
- memfd wrapper: ใช้รันผ่าน anonymous file descriptor ที่โหลดอยู่ในหน่วยความจำ
- ลูปการทำงานซ้ำของ Codex ถูกออกแบบให้วิเคราะห์ซอร์สและล็อก ส่งคำสั่ง อ่านผลลัพธ์ และ build ตัวช่วยเพิ่มเติมเพื่อรันบนทีวีเมื่อจำเป็น
การกำหนดเป้าหมาย
- ภารกิจของ Codex คือค้นหาช่องโหว่ที่ ยกระดับสิทธิ์จากผู้ใช้ระดับเบราว์เซอร์ไปเป็น root
- ไม่มีการระบุไดรเวอร์หรือพื้นที่หน่วยความจำเฉพาะไว้ล่วงหน้า และ Codex ต้องสำรวจเส้นทางโจมตีด้วยตัวเอง
- ช่องโหว่ต้องมีอยู่ในซอร์สโค้ด เข้าถึงได้บนอุปกรณ์จริง และต้องเป็นเส้นทางที่เข้าถึงได้จากบริบทของเบราว์เซอร์
ข้อมูลเริ่มต้นที่ให้
- ตัวอย่างข้อมูลระบบที่ให้ Codex
uid=5001(owner) gid=100(users) Linux Samsung 4.1.10 ... /dev/... /proc/modules ... /proc/cmdline ... - ข้อมูลนี้ใช้กำหนดขอบเขตสิทธิ์ของโปรเซสเบราว์เซอร์ เวอร์ชันเคอร์เนล device node ที่เข้าถึงได้ และ layout ของหน่วยความจำ
การค้นหาช่องโหว่
- Codex พบ device node
ntk*ที่ เขียนได้โดยทุกคน และเข้าถึงได้จาก browser shell/dev/ntkhdma /dev/ntksys /dev/ntkxdma - ไดรเวอร์เหล่านี้ถูกระบุว่าเป็นโค้ดของ Novatek Microelectronics และเป็นส่วนหนึ่งของสแตก Novatek ที่รวมอยู่ในทีวี Samsung
- เมื่อการเข้าถึง
/proc/iomemถูกปิดกั้น Codex ก็ใช้พารามิเตอร์บูตใน/proc/cmdlineเพื่อสร้าง memory map ขึ้นใหม่
primitive สำหรับเข้าถึงหน่วยความจำกายภาพ
- ไดรเวอร์
/dev/ntksysจัดเก็บ physical address และขนาด ที่ส่งมาจาก user space ลงในตารางของเคอร์เนล แล้วแมปกลับผ่านmmap - ส่งผลให้เกิด เส้นทางสำหรับเข้าถึงหน่วยความจำกายภาพตามอำเภอใจจาก user space (physmap primitive)
- นอกจากนี้
/dev/ntkhdmaยัง เปิดเผย physical address โดยตรง ทำให้ตรวจสอบได้ง่ายขึ้น
การวิเคราะห์สาเหตุราก
-
การตั้งค่าสิทธิ์เข้าถึงผิดพลาด
- กฎ udev ตั้งค่า
/dev/ntksysเป็น 0666 (เขียนได้โดยทุกคน) - เป็นความผิดพลาดด้านการออกแบบที่เปิดเผยอินเทอร์เฟซจัดการหน่วยความจำให้ผู้ใช้ที่ไม่มีสิทธิ์พิเศษ
- กฎ udev ตั้งค่า
-
ไม่มีการตรวจสอบค่าที่ผู้ใช้ป้อน
u32Startและu32Sizeในโครงสร้างST_SYS_MEM_INFOใช้ค่าที่ผู้ใช้ป้อนมาโดยตรง
-
ไม่มีการตรวจสอบ physical address
- ฟังก์ชัน
SET_MEM_INFOตรวจสอบแค่อินเด็กซ์ แต่ไม่ตรวจสอบช่วง physical address หรือสิทธิ์
- ฟังก์ชัน
-
ใช้ PFN ที่ผู้โจมตีควบคุมได้ในขั้นตอน mmap
- ตอนเรียก
vk_remap_pfn_rangeมีการแมป PFN ที่ผู้ใช้ส่งมาโดยตรง
- ตอนเรียก
-
การรั่วไหลของที่อยู่จาก ntkhdma
/dev/ntkhdmaส่งคืน physical address จริงของ DMA buffer เพื่อนำไปใช้ตรวจสอบการโจมตี
การสร้างห่วงโซ่การโจมตี
- Codex ใช้
/dev/ntkhdmaเพื่อรับที่อยู่ของ DMA buffer และแมปผ่าน/dev/ntksysจน อ่าน/เขียนหน่วยความจำกายภาพได้สำเร็จHDMA buffer phys addr: 0x84840000 writing 0x41414141 to mapped address... readback: 0x41414141 - สิ่งนี้พิสูจน์ว่ากระบวนการที่ไม่มีสิทธิ์พิเศษสามารถแก้ไข physical page ใดก็ได้ตามอำเภอใจ
การใช้ประโยชน์ขั้นสุดท้าย
- Codex ค้นหา โครงสร้าง cred ของเคอร์เนล แล้วเขียนทับ UID/GID ของโปรเซสเบราว์เซอร์ให้เป็น 0
- จากนั้นสแกน memory window ที่ได้จาก
/proc/cmdlineเพื่อหารูปแบบที่เกี่ยวข้องแล้วทำการแก้ไข - หลังจากนั้นเมื่อรัน
/bin/shก็ได้สิทธิ์ rootuid=0(root) gid=0(root) ... context="User::Pkg::org.tizen.browser" - เอาต์พุตของ Codex: “Worked.”
ปฏิสัมพันธ์กับ Codex
- ระหว่างการทดลอง Codex แสดงพฤติกรรมผิดปกติอยู่บ้าง และนักวิจัยต้องคอยแก้ไขทันที
- ตัวอย่างบทสนทนา
- “bro, the tv froze”
- “bro can you just like, send it to the server and run it for me?”
- ปฏิสัมพันธ์เหล่านี้แสดงให้เห็นว่า Codex ไม่ได้เป็นเพียงเครื่องมืออัตโนมัติธรรมดา แต่ ทำงานคล้ายเอเจนต์ที่ร่วมมือแบบเรียลไทม์
บทสรุป
- Codex เริ่มจาก browser shell และทำห่วงโซ่การโจมตีครบวงจรอย่างอัตโนมัติ ตั้งแต่ การวิเคราะห์ซอร์ส → การระบุช่องโหว่ → การพัฒนา PoC → การ build และรัน → การได้สิทธิ์ root
- การทดลองครั้งนี้พิสูจน์ว่า AI สามารถค้นหาและใช้ประโยชน์จากช่องโหว่ความปลอดภัยบนฮาร์ดแวร์จริงได้
- ทีมวิจัยประกาศว่าขั้นต่อไปคือการทดลองที่ AI จะดำเนินกระบวนการทั้งหมดอย่างอิสระตั้งแต่การเจาะระบบเริ่มต้นจนถึงการได้สิทธิ์ root
- ข้อความปิดท้าย: “ขอให้ AI ถูกขังอยู่ในทีวี ค่อย ๆ ยกระดับสิทธิ์อย่างเงียบ ๆ พร้อมดูซิตคอมของพวกเรา”
2 ความคิดเห็น
เพื่อใช้อ้างอิง เนื้อหานี้ถูกแพตช์ไปแล้วตั้งนานมากแล้วตั้งแต่ปี 2020 และในบล็อกต้นฉบับก็มีการระบุไว้ตามด้านล่างด้วยว่าเป็นทีวีที่ใช้เบราว์เซอร์และเคอร์เนลเวอร์ชันเก่าที่ยังไม่ได้อัปเดต
Note that the target TV is an older model running an outdated version of Chrome and an outdated kernel.
ความคิดเห็นใน Hacker News
ได้มี “เซสชันแฮ็ก” ที่ดีมากกับ Codex
ไม่ได้ทำพังอะไรจริง ๆ แค่ข้ามข้อจำกัดที่ TP-Link วางไว้เพื่อควบคุมเราเตอร์ที่ฉันเป็นเจ้าของ
TP-Link ทำ สคีมการยืนยันตัวตน·การเข้ารหัสที่เละเทะ ขึ้นมาเพื่อกันการเข้าถึง API แต่หลังจากงัดกับ Codex อยู่ครึ่งวันก็ทำ Python API ที่สะอาดสำหรับควบคุมเราเตอร์ได้สำเร็จ
ส่งออก Prometheus metrics ได้ดีและทำงานเสถียร
ฉันคิดว่าข้อจำกัดแบบนี้สุดท้ายก็มาจาก การวางแผนผลิตภัณฑ์ที่เกินพอดี เพื่อแบ่งตลาด ‘ผู้บริโภค vs องค์กร’ แบบประดิษฐ์ขึ้นมา
tmpServer รออยู่บน localhost และ dropbear อนุญาตการทำ port forwarding ด้วยสิทธิ์ admin
โปรแกรมนี้คือ API หลักที่แอป Tether ใช้ตอนสื่อสารกับเราเตอร์
อยากหา exploit ที่ใช้ Mythos เพื่อเปิดการเข้าถึง SSH ได้
ลิงก์สินค้า
เราอยู่ใน Hacker News และไม่ใช่ทุกคนที่พยายามจะทำอะไรให้พัง
ฉันบันทึกคำขอของเว็บ UI เป็นไฟล์ .har แล้วนำมาวิเคราะห์ ซึ่ง เร็วกว่าเวลาทำโดยไม่มี AI ช่วยมาก
ประเด็นสำคัญคือ Codex มี สิทธิ์เข้าถึงซอร์สโค้ด
ในเธรดที่เกี่ยวข้อง ก็มีหลายความเห็นว่าการปิดซอร์สไม่ได้มีข้อดีจริงจังในการขัดขวางการค้นหาช่องโหว่ด้วย AI
เลยสงสัยว่าถ้าไม่มีซอร์ส Codex จะทำได้ดีแค่ไหน
แต่กรณีแย่ที่สุดที่ฉันเจอคือแม้แต่ไบนารีของเฟิร์มแวร์ก็ยังเข้าถึงไม่ได้
ต้องวิเคราะห์แบบ มืดบอดทั้งหมด เพราะชิปถูกบัดกรีติดกับ PCB โดยตรงจนดึงออกด้วย chip clip ไม่ได้
แม้จะไม่ถึงระดับ Codex แต่ก็เคยลองอะไรสนุก ๆ กับ Claude Code เหมือนกัน
ฉันให้มันสำรวจอุปกรณ์บลูทูธ แล้วมันก็หา ไฟ RGB ในห้องลูกสาวเจอ ทำเอฟเฟ็กต์สายรุ้งได้ และยังช่วยเขียนเอกสารโปรโตคอลให้ด้วย
ถ้าเป็น .NET ก็น่าจะสั่งให้ decompile แล้วหาเพิ่มได้อีก
4.6 กับ Gemini 3.1 ทำไม่สำเร็จ แต่รอบนี้สำเร็จ
ถ้าทำให้ สมาร์ตทีวีกลายเป็นทีวีโง่ ๆ ได้ ฉันจะทำทันที
ขอแค่เป็นจอธรรมดาที่สลับอินพุตกับปรับเสียงได้ก็พอ
input lag ก็หนัก และถ้าเปลี่ยนการตั้งค่าก็มักถูกรีเซ็ตกลับค่าเริ่มต้น
หน้าจอยังปกติดี แต่เพราะ OS มันเลยกลายเป็น ขยะอิเล็กทรอนิกส์ ไปทั้งเครื่อง
คาดหวังกับ webOS เพราะมันเป็นทายาทของ palmOS แต่ก็น่าผิดหวัง
สุดท้ายก็ถอดการเชื่อมต่อเครือข่ายทิ้งไปเลย
หัวใจสำคัญคือ การให้ซอร์สโค้ดเฟิร์มแวร์
อยากรู้ว่าโมเดลพวกนี้พึ่งพาคำใบ้จากภาษามนุษย์มากแค่ไหน
Codex แฮ็ก TV OS ที่อ่อนแอ ได้แบบเต็ม ๆ แต่
การเข้าถึงระดับสมบูรณ์ถึงคอนโทรลหลักอย่างเสียง อินพุต โทนสี เฟิร์มแวร์ ฯลฯ ยังยากเกินไปสำหรับ LLM ในตอนนี้
Samsung TV เป็นอุปกรณ์ที่ แฮ็กได้ง่ายมาก มาตลอด 10 ปีที่ผ่านมา
อาจจะทำได้แม้ให้ GPT-2 แค่สิทธิ์เข้าถึงเบราว์เซอร์
และไม่มีความสามารถเชิงสนทนาด้วย ดังนั้นคำพูดนั้นก็เกินจริงไป
คิดว่าอาจใช้ Codex ทำ ฟีเจอร์ลบโฆษณา หรือ บล็อกการส่งข้อมูลออก บนสมาร์ตทีวีได้หรือเปล่า
มีคำว่า “browser foothold” อยู่ ซึ่งหมายถึง ตัวเว็บเบราว์เซอร์ที่รันอยู่บนทีวีเอง
บน PSP, Vita, Switch, Wii, DS และอื่น ๆ ก็เคยรัน homebrew ได้ผ่าน browser exploit