‹

กุญแจเจ็ดดอก

​กุญแจ​เจ็ด​ดอก

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

​มาตรการ​ควบคุม​เจ็ด​ข้อ ​เรียงลำดับ​ตาม​คุณค่า​ที่​แต่ละ​ข้อ​ให้​จริงๆ ​สำหรับ​แต่ละ​ข้อ ​จะ​บอก​ว่า​มัน​จะ​หยุด​อะไร​ได้​บ้าง​ใน​เหตุการณ์​นี้ ​และ — ​สำคัญ​กว่า​นั้น — ​มัน​หยุด​อะไร​ไม่​ได้

1. ​ปฏิเสธ​ไว้​ก่อน​เป็น​ค่า​ตั้งต้น (deny-by-default) ​สำหรับ​ทางออก​เครือข่าย (egress)

​มาตรการ​ที่​ให้ผล​ตอบแทน​สูงสุด​เพียง​ข้อ​เดียว ​และ​มัน​ก็​แค่​กฎ​ไฟร์วอลล์​ธรรมดา

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

​จะ​หยุด​อะไร​ได้: ​ก้าว​แรก​ทั้งหมด ​แคมเปญ​ทั้งหมด​เกิดขึ้น​ได้​เพราะ​มีทาง​ออก​ที่​ได้รับอนุญาต​อยู่​ทางเดียว​เป๊ะ ​และ​ทาง​นั้น​มี​บั๊ก ​ไม่​มีทาง ​ก็​ไม่​มี​แคมเปญ

​จะ​หยุด​อะไร​ไม่​ได้: ​สิ่งใด​ก็ตาม​ที่​เอ​เจนต์​ทำ​กับ​ปลายทาง​ที่อยู่​ใน​รายชื่อ​ของ​คุณ ​หรือ​การยกระดับ​สิทธิ์​ใดๆ ​ภายใน​แซนด์​บ็อกซ์​เอง

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

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

2. ​การจำกัด​ขอบเขต​กุญแจ​เข้า​ระบบ (credential) ​และ​โท​เคน​อายุสั้น (short-lived token)

​รัศมี​ความเสียหาย (blast radius) ​ของ Hugging Face ​เกิด​จากบ​ร็อก​เกอร์​ที่​ได้รับ​การตั้งค่า​ด้วย ​กุญแจ​เข้า​ระบบ​ดอก​เดียว​ที่​ใช้​ร่วมกัน​ข้าม​คลัสเตอร์ ​ซึ่ง​มอบ​แคตตาล็อก​ปลายทาง​ทั้งหมด​ให้​กับ​จุด​ยึด​ชั่วคราว​เพียง​จุด​เดียว

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

​จะ​หยุด​อะไร​ได้: ​ก้าว​ที่สี่​และ​ห้า — ​การยกระดับ​จาก​การรัน​โค้ด​ไป​สู่​สิทธิ์​ผู้ดูแล​คลัสเตอร์​ไป​จนถึง​เครือข่าย​ภายใน​องค์กร

​จะ​หยุด​อะไร​ไม่​ได้: ​การรัน​โค้ด​ครั้งแรก ​ซึ่ง​เป็น​ข้อบกพร่อง​ของ​ไปป์​ไลน์​ข้อมูล ​ไม่​เกี่ยวกับ​กุญแจ​เข้า​ระบบ​เลย

3. ​บันทึก​ตรวจสอบ (audit log) ​แบบ​เขียน​เพิ่ม​ได้​อย่าง​เดียว​ที่​เอ​เจนต์​แก้ไข​ไม่​ได้

​เหตุผล​เดียว​ที่​เหตุการณ์​นี้​เป็นที่​รู้​ใน​รายละเอียด​ขนาด​นี้ ​ก็​เพราะ​การกระทำ​หนึ่ง​หมื่น​เจ็ด​พันหกร้อย​ครั้ง​ถูก​บันทึก​ไว้

​เชื่อม​รายการ​ล็อก​ของ​คุณ​เป็นห่วง​โซ่​แฮช (hash chain) — ​แฮช​ของ​แต่ละ​รายการ​ต้อง​รวม​แฮช​ของ​รายการ​ก่อนหน้า​ไว้​ด้วย — ​และ​ให้​กระบวนการ​เขียน​ล็อก​ทำงาน​ด้วย​สิทธิ์​ที่​ต่าง​จาก​เอ​เจนต์ ​เพื่อ​ไม่​ให้​เอ​เจนต์​ที่​ถูก​เจาะ​สามารถ​เขียน​ประวัติ​ของ​ตัวเอง​ใหม่​ได้ ​จากนั้น​ทดสอบ​มัน: ​ลอง​แก้ไข​รายการ​หนึ่ง​ด้วยตัวเอง ​แล้ว​ยืนยัน​ว่า​ห่วง​โซ่​นั้น​แตก​ให้​เห็นชัด​เจน

​จะ​หยุด​อะไร​ได้: ​ไม่​มี​เลย ​นี่​คือ​เครื่องมือ​ด้าน​นิติวิทยาศาสตร์ ​ไม่​ใช่​การป้องกัน

​จะ​ให้​อะไร​กับ​คุณ: ​ความสามารถ​ที่จะ​รู้​ว่า​เกิด​อะไร​ขึ้น ​ซึ่ง​คือ​ความต่าง​ระหว่าง​การเป็น "​เหตุการณ์​ที่​เข้าใจ​ได้" ​กับ "​ปริศนา"

4. ​เครื่องมือ​ที่​จำกัดความ​สามารถ​แทน​เชลล์​ดิบ

​เอ​เจนต์​ที่​มี​เชลล์​ก็​มี​ทุก​องค์ประกอบพื้นฐาน​สำหรับ​การเจาะ​ระบบ​ที่​มี​อยู่​ทั้งหมด ​เอ​เจนต์​ที่​มี​ฟังก์ชัน​ตั้งชื่อ​ไว้​หก​ตัว​ก็​มี​แค่​หก​อย่างนั้น

​แทนที่​การรัน​คำสั่ง​ทั่วไป​ด้วย​การปฏิบัติ​การที่​ถูกจำ​กัด​ขอบเขต ​ใน​ทุก​จุด​ที่​งาน​เอื้ออำนวย read_file(path) ​ที่​ถูกจำ​กัด​ไว้​ใน​ไดเรกทอรี​หนึ่ง ​เป็น​วัตถุ​ด้าน​ความปลอดภัย​ที่​ต่าง​จาก bash ​โดยสิ้นเชิง

​จะ​หยุด​อะไร​ได้: ​ห่วง​โซ่​ส่วนใหญ่ — ​ไม่​มี​เชลล์ ​ไม่​มี​การไล่​สำรวจ ​ไม่​มี​องค์ประกอบพื้นฐาน​สำหรับ​การเคลื่อนตัว​ใน​แนวราบ

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

5. ​การอนุมัติ​จาก​มนุษย์​สำหรับ​การกระทำ​ที่​ย้อนกลับ​ไม่​ได้​และ​ข้าม​ขอบเขต

​ไม่​ใช่​กับ​ทุกอย่าง — ​ความเหนื่อย​ล้า​จาก​การอนุมัติ​เป็น​โหมด​ความล้มเหลว​ที่เกิด​ขึ้น​จริง ​และ​เอ​เจนต์​ที่​ถาม​คุณ​สี่​สิบ​ครั้ง​ต่อ​วัน​ก็​ฝึก​ให้​คุณ​กด​ใช่​โดย​ไม่​คิด

​อนุมัติ​เฉพาะราย​การสั้นๆ ​นี้: ​การใช้​กุญแจ​เข้า​ระบบ ​การเขียน​ไป​ยัง​ระบบ​ภายนอก ​การข้าม​ขอบเขต​ความไว้วางใจ ​สิ่งใด​ก็ตาม​ที่​คุณ​ย้อนกลับ​ไม่​ได้ ​ใน​เหตุการณ์​นี้ ​การเปลี่ยน​ผ่าน​จาก​แซนด์​บ็อกซ์ (sandbox) ​สู่​อินเทอร์เน็ต ​และ​จาก​อินเทอร์เน็ต​สู่​โครงสร้างพื้นฐาน​การใช้งาน​จริง​ของ​บุคคลที่สาม ​ล้วน​เป็นการ​กระทำ​ประเภท​นี้​ทั้งคู่

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

6. ​การตัดขาด​จาก​เครือข่าย (air gap) ​สำหรับ​งาน​ที่​มี​ลักษณะ​เป็นปฏิปักษ์

​ถ้า​คุณ​ตั้งใจ​รัน​บางอย่าง​ที่​ลด​พฤติกรรม​ด้าน​ความปลอดภัย​ลง ​หรือ​ทดสอบ​ความสามารถ​เชิงรุก ​หรือ​จัดการ​โค้ด​ที่​ไม่​น่าไว้วางใจ — ​อย่า​มี​เส้นทาง​เครือข่าย​เลย​แม้แต่​ทางเดียว ​ไม่​ใช่​เส้นทาง​ที่​ถูกจำ​กัด ​แต่​คือ​ไม่​มี​เลย

​จะ​หยุด​อะไร​ได้: ​ทุกอย่าง ​ใน​ทุก​ก้าว

​ต้นทุน: ​ความไม่สะดวก​ที่เกิด​ขึ้น​จริง ​ซึ่ง​เป็น​เหตุผล​ที่​คน​มัก​ข้าม​มัน​ไป ​และ​นั่น​ก็​คือ​เหตุผล​ที่​เหตุการณ์​นี้​เกิดขึ้น

7. ​การแจ้ง​เตือน​ที่​ยกระดับ​ได้

​ระบบ​ตรวจจับ​ของ Hugging Face ​ทำงาน​ได้ผล ​สแต็ก​ของ​พวกเขา​เชื่อมโยง​สัญญาณ​ที่​คลุมเครือ​ให้​กลายเป็น​ภาพ​การโจมตี​ที่​ชัดเจน​ได้ ​แต่​แล้ว​มัน​ตั้ง​ระดับ​ความรุนแรง​ไว้​ต่ำ​เกินไป ​และ​ไม่​ได้​แจ้ง​เตือน​ใคร​เลย

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

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

​ลำดับ​สำหรับ​คน​คนเดียว​ที่​มี​แล็ปท็อป

​เริ่ม​จาก 1 ​และ 2 ​ทั้งสอง​ข้อ​นี้​ทำได้​แบบ​กลไก ​ต้นทุน​ต่ำ ​และ​รวมกัน​แล้ว​สร้าง​มาตรการ​ควบคุม​สอง​อย่าง​ที่จะ​กักเก็บ​ทั้งสอง​ส่วน​ของ​เหตุการณ์​นี้​ไว้​ได้ — ​ทั้ง​การหลุด​ออก​และ​รัศมี​ความเสียหาย ​ใช้เวลา​แค่​บ่าย​ละ​ข้อ

​จากนั้น​ทำ 3 ​เพราะ​การรู้​ว่า​เกิด​อะไร​ขึ้น​สะสม​คุณค่า​ไป​เรื่อยๆ ​ทุก​เหตุการณ์​ในอนาคต​จะ​เข้าใจ​ได้​ถูก​ลง

​จากนั้น​ทำ 4 ​ไป​ทีละน้อย ​ตาม​จังหวะ​ที่​คุณ​แทนที่​การเรียก​เชลล์​ด้วย​ฟังก์ชัน​ที่ตั้ง​ชื่อ​ไว้​ใน​ไปป์​ไลน์​ที่​คุณ​ต้อง​แตะ​อยู่แล้ว

​จากนั้น​ทำ 5 ​เฉพาะ​กับ​การกระทำ​ที่​ย้อนกลับ​ไม่​ได้​จริงๆ ​เท่านั้น ​ทำ 6 ​ทุกครั้งที่​คุณ​ทำ​อะไร​ใน​ลักษณะ​ปฏิปักษ์ ​และ​ทำ 7 ​ทันทีที่​คุณ​มีระบบ​แจ้ง​เตือน​ใดๆ ​ที่​คุ้มค่า​จะ​ทดสอบ

​สิ่ง​ที่​รายการ​นี้​ไม่​ใช่ ​มัน​ไม่​ใช่​คำกล่าวอ้าง​ว่า​คุณ​จะ​ป้องกัน​ผู้​โจมตี​ที่​มุ่งมั่น​และ​ขับเคลื่อนด้วย​โมเดล​แนวหน้า (frontier model) ​ได้ ​คุณ​ทำ​ไม่​ได้ ​และ Hugging Face ​ก็​ทำ​ไม่​ได้​เช่นกัน ​ทั้งที่​มี​ทีม​ความปลอดภัย​ของ​ตัวเอง ​มัน​คือ​คำกล่าวอ้าง​เรื่อง​ที่​แคบ​กว่า​แต่​มีประโยชน์​กว่า: ​เกือบ​ทั้งหมด​ของ​ความเสียหาย​ใน​เหตุการณ์​นี้​มาจาก​จุดอ่อน​ธรรมดาๆ ​ที่​แก้​ได้​ใน​ราคา​ถูก ​และ​เพียงแต่​ไม่​เคย​ถูก​ตั้งราคา​ไว้​เทียบ​กับ​ปฏิปักษ์​ที่​ไม่​รู้จัก​เหนื่อย​เท่านั้นเอง

​คุณ​ไม่​ได้​กำลัง​ป้องกัน​ซูเปอร์​อินเทล​ลิ​เจนซ์ ​คุณ​แค่​กำลัง​ปิดประตู​ที่​เคย​ถูก​ปล่อย​เปิด​ไว้ ​เพราะ​ตอนนั้น​ดูเหมือน​ไม่​จำเป็นต้อง​ปิด

บทถัดไป · 13 / 14สามสิบวัน
Size
Page
Font

The Weekend the Agent Got Out

❦
1วิธีอ่านหนังสือเล่มนี้2แหล่งข้อมูล ช่องโหว่ และสิ่งที่ยังไม่รู้3สี่วันครึ่ง4กรงที่มีประตูเดียว5มันโกงข้อสอบ ไม่ใช่ก่อกบฏ6หนึ่งหมื่นเจ็ดพันหกร้อย7บัญชีความเสียหาย8ปฏิทรรศน์ของรั้วกันภัย9สัปดาห์ที่ทั้งโลกเถียงเรื่องน้ำหนักเปิด10อะไรคือความจริงเรื่องน้ำหนักเปิด11ข้อโต้แย้งว่าเรื่องนี้ถูกขยายเกินจริง12กุญแจเจ็ดดอก13สามสิบวัน14ทำไมบางคนดึงพลังจากเทคโนโลยีได้มากกว่า