เอไอเพิ่งค้นพบบั๊กที่ซ่อนตัวอยู่ 271 รายการใน Firefox แต่คลังเก็บข้อมูลรับรองตัวตนของคุณต่างหากที่เป็นเป้าหมายซึ่งเจาะได้ง่ายกว่า
Mozilla ปล่อยเอไอเอเจนต์เข้าไปทดสอบ Firefox และมันพบช่องโหว่ที่ไม่เคยรู้จักถึง 271 รายการในรอบเดียว ถ้าเอเจนต์ของฝ่ายป้องกันทำได้ขนาดนั้น เอเจนต์ของฝ่ายโจมตีก็หันความสามารถเดียวกันนั้นมาที่คลังเก็บข้อมูลรับรองตัวตนของคุณได้ ซึ่งเป็นเป้าหมายที่อ่อนกว่าและรวมศูนย์มากกว่า
เมื่อไม่นานมานี้ Mozilla ปล่อยเอไอเอเจนต์เข้าไปทดสอบ Firefox โดยรัน Claude Mythos ของ Anthropic อยู่ในแฮร์เนสของตัวเอง แล้วพบช่องโหว่ที่ไม่เคยรู้จักมาก่อนถึง 271 รายการในแคมเปญเดียว ทั้งบั๊กอายุราว 20 ปีในเอนจิน XSLT บั๊กการแยกวิเคราะห์ข้อมูลอายุ 15 ปี และช่องทางหลุดออกจากแซนด์บ็อกซ์ของเบราว์เซอร์อีกหลายวิธี Mozilla ทำเช่นนี้เพื่อแก้ไขช่องโหว่เหล่านั้น และตรงนี้เองที่ควรหยุดคิดสักครู่ ถ้าเอเจนต์ของฝ่ายป้องกันพบบั๊กที่แฝงอยู่ 271 รายการในโค้ดเบสที่ถูกตรวจสอบมากที่สุดแห่งหนึ่งบนโลกได้ เอเจนต์ของฝ่ายโจมตีก็ทำแบบเดียวกันกับโค้ดเบสของคุณได้ ความสามารถนี้มีอยู่จริงแล้วตอนนี้ และไม่สนว่าใครจะเป็นคนชี้มันไปที่ไหน
งั้นก็ชี้มันไปที่ที่คุณเก็บความลับไว้เสีย
สมการเพิ่งกลับด้าน
คลังเก็บข้อมูลแบบรวมศูนย์ทุกเจ้า ทั้ง CyberArk, HashiCorp และผู้เล่นรุ่นเดิมทั้งหมด ล้วนตั้งอยู่บนสมมติฐานที่เคยเป็นจริงมาสามสิบปีและหยุดเป็นจริงในปีนี้ นั่นคือคีย์หลักที่อยู่ในหน่วยความจำของโพรเซสนั้นปลอดภัย เพราะการเข้าถึงมันต้องอาศัยคนที่มีทักษะ เวลา และโชค เอเจนต์ระดับแนวหน้าที่รันโค้ดได้ไม่ต้องใช้ปัจจัยเหล่านั้นเลย มันไม่ได้เจาะกำแพงให้แตก มันอ่านคีย์ออกจากหน่วยความจำทันทีที่คลังถูกเปิดผนึก แล้วถอดรหัสทุกอย่างพร้อมกันในคราวเดียว
และความเหลื่อมล้ำนั้นรุนแรง ฝ่ายป้องกันต้องถูกทุกครั้ง บนพื้นผิวการโจมตีที่ขยายใหญ่ขึ้นเรื่อย ๆ เอเจนต์ต้องถูกแค่ครั้งเดียว มันสำรวจอย่างไม่เหน็ดเหนื่อย ทำแบบขนาน และฉลาดขึ้นทุกไตรมาส Salt Typhoon แฝงตัวอยู่ในเครือข่ายโทรคมนาคมเฉลี่ย 393 วันกว่าจะลงมือ ความอดทนแบบนั้น เมื่อถูกทำให้เป็นอัตโนมัติและมีต้นทุนถูก หันไปที่ระบบที่เก็บทุกอย่างไว้ที่เดียว
สมมติว่าเอเจนต์เข้าถึงได้แล้ว
นี่คือสมมติฐานที่ผู้เล่นรุ่นเดิมไม่พูดออกมาตรง ๆ ดังนั้นเราจะพูดเอง ในองค์กรจริง เอเจนต์จะเข้าถึงเครื่องที่เก็บข้อมูลรับรองตัวตนได้ในที่สุด ไม่ว่าจะโดยอุบัติเหตุ จากการตั้งค่าที่ผิดพลาด หรือจากความสามารถของมันเอง เลิกออกแบบราวกับว่าคุณจะป้องกันไม่ให้สิ่งนั้นเกิดขึ้นได้ คุณป้องกันไม่ได้ และเหตุผลอยู่ที่ว่าคลังนั้นอยู่ตรงไหน มันอยู่ในเครือข่ายของคุณเอง แบ่งโดเมนความเสียหายร่วมกับเอเจนต์ทุกตัวและเครื่องทุกเครื่องที่คุณรันอยู่ ความผิดพลาดเพียงเล็กน้อย การละเมิดเพียงครั้งเดียว การเคลื่อนที่ข้างเพียงก้าวเดียว เอเจนต์ก็เข้ามาถึงแล้ว นั่นเป็นคุณสมบัติของทำเลที่ตั้ง ไม่ใช่ของวินัย โครงสร้างพื้นฐานที่ไม่ใช่ของคุณไม่ต้องเผชิญชะตาเดียวกัน
คำถามเดียวที่สำคัญคืออะไรจะเกิดขึ้น ณ ขณะนั้น กับ CyberArk หรือ HashiCorp เครื่องเดียวกับที่เอเจนต์เข้าถึงได้นั้นสามารถถอดรหัสสตอร์จได้ ศึกนี้แพ้ไปตั้งแต่ตอนที่การเข้าถึงเกิดขึ้น และเพราะระบบเหล่านี้รวมศูนย์โดยการออกแบบ ทั้งความลับ ทั้งคีย์ ทั้งการควบคุมกำกับอยู่ในคลัสเตอร์เดียว มันจึงเป็น honeypot โดยตัวโครงสร้างเอง ที่มั่นที่แฝงอยู่เพียงจุดเดียวก็ให้ความลับทั้งองค์กรมา
ข้อมูลรับรองตัวตนที่อายุสั้นและแบบยืมใช้ช่วยได้ แต่ไม่ได้เปลี่ยนรูปทรงของปัญหา มันลดรัศมีความเสียหายที่ตัวเอเจนต์ แต่ไม่ได้ทำอะไรกับโครงสร้างพื้นฐานของผู้ให้บริการเอง ซึ่งยังคงถือคีย์ที่ถอดรหัสสตอร์จได้อยู่ ตราบใดที่คีย์เหล่านั้นอยู่บนเซิร์ฟเวอร์ เอเจนต์ที่เข้าถึงเซิร์ฟเวอร์ก็ชนะ
สถาปัตยกรรมเดียวที่รอด
มีสถาปัตยกรรมแบบเดียวเท่านั้นที่รอดจากผู้โจมตีซึ่งจะเข้ามาได้ในที่สุด นั่นคือคีย์ถอดรหัสไม่ได้อยู่บนเซิร์ฟเวอร์เลยตั้งแต่แรก แม้จะยึดแบ็กเอนด์ทั้งหมดได้ สิ่งที่ได้ก็เป็นแค่ ciphertext คีย์ถูกวางไว้ในระยะเอื้อมไม่ถึง บนฮาร์ดแวร์ที่เอเจนต์เข้าไม่ถึง
นี่ไม่ใช่ความปรารถนาสำหรับเรา แต่เป็นอินวเรียนต์ที่ Clavitor ถูกสร้างขึ้นบนนั้น ตัวคลังเองไม่สามารถถอดรหัสข้อมูลรับรองตัวตนของคุณได้ คีย์ระดับฟิลด์ถูกแบ่งมาจากความลับที่มีเพียงฮาร์ดแวร์คีย์ของคุณเท่านั้นที่ประกอบกลับคืนได้ ดังนั้นเซิร์ฟเวอร์ แม้จะถูกยึดทั้งหมด ก็ให้ผู้โจมตีได้เพียงไบต์ที่ถูกเข้ารหัส เอกสารออกแบบของเราเขียนไว้ตรงไปตรงมาว่า ผู้โจมตีได้ทุกไบต์ที่เซิร์ฟเวอร์มี และผลลัพธ์คือ ciphertext ที่ไร้ค่า
ข้อแย้งที่พบบ่อยเรื่องระยะห่างคือความเร็ว คลังที่คุณไม่ได้โฮสต์เองจะต้องช้าเกินไปแน่ ๆ คุณจึงดึงมันเข้ามาไว้ในปริมณฑล แล้วมันก็กลับไปอยู่ในรัศมีความเสียหายอีกครั้ง ส่วนที่เหลือของสถาปัตยกรรมตอบคำถามนี้ไว้แล้ว:
- ไม่มีการแคช ข้อมูลรับรองตัวตนถูกดึงมาใหม่ทุกคำขอและถูกทิ้งเมื่อส่งคำตอบกลับ จึงไม่มีสำเนาที่ถอดรหัสได้ค้างอยู่ให้อ่านจากหน่วยความจำ
- คนแปลกหน้าเชื่อมต่อเข้ามาไม่ได้ ทุกการเรียกใช้ Noise handshake ที่ยืนยันตัวตนและผูกกับ allowlist ยื่นคีย์ที่ไม่ได้ลงทะเบียนมา แฮนด์เชกจะไม่มีวันเสร็จสมบูรณ์ allowlist ไม่ใช่ตัวกรองที่ติดตั้งเสริมที่ขอบระบบ แต่มันคือตัวระบบเข้ารหัสเอง
- เอเจนต์ที่ถูกโจมตีจะดูดข้อมูลทั้งหมดไม่ได้ rate limit และโควตาต่อเอเจนต์จำกัดปริมาณที่ผู้เล่นรายเดียวจะดึงได้ และการอ่านครั้งใหญ่จะส่งสัญญาณเตือน
- เร็วได้โดยไม่ต้องอยู่ใกล้ ระนาบข้อมูลรับรองตัวตนรันบนฟลีตของตัวเองที่กระจายอยู่ทั่วโลก มีจุดให้บริการบนทุกทวีป จุดที่ใกล้ที่สุดจะตอบกลับในระดับมิลลิวินาที เร็วพอที่คุณจะไม่ต้องเอาเข้ามาไว้ในเครือข่ายของตัวเองเลย และเป็นโดเมนความเสียหายแยกต่างหาก ดังนั้นการถูกโจมตีของคุณจึงไม่ใช่ของเรา
โครงสร้างพื้นฐานต่างกัน โดเมนความล้มเหลวต่างกัน ไม่มีคีย์ร่วม ยึดได้ทั้งองค์กร คุณก็ยังเอาความลับของเขาไปไม่ได้ เพราะสิ่งที่คุ้มค่าต่อการขโมยไม่เคยอยู่ในที่ที่เอเจนต์จะเอื้อมถึง
ข้อจำกัดที่ต้องพูดตรง ๆ
ทั้งหมดนี้ไม่ได้ทำให้เอเจนต์เจาะไม่ได้ เอเจนต์ที่ถูกโจมตียังสามารถทำสิ่งที่ได้รับอนุญาตให้ทำ ณ ขณะนั้นได้ แต่สิ่งที่ทำไม่ได้คือการอ่านคีย์ คัดลอกสตอร์จ หรือเดินจากไปพร้อมทั้งองค์กร เพราะสิ่งเหล่านั้นไม่เคยอยู่ในเอื้อมของมันเลย เราขยับเส้นไปไว้ที่เดียวที่ผู้โจมตีซึ่งเก่งพอจะตามไม่ถึง นั่นคือออกจากเซิร์ฟเวอร์ทั้งหมด
ผู้เล่นรุ่นเดิมถูกสร้างมาเพื่อโลกที่ผู้โจมตีเป็นมนุษย์ โลกนั้นกำลังจะจบลง เราเขียนกฎที่เราคิดว่าระบบข้อมูลรับรองตัวตนต้องรักษาไว้เมื่อผู้โจมตีเป็นเอเจนต์ โดยเริ่มจากความลับไม่เคยอยู่ที่เดียวกับที่โค้ดรัน: clavitor.ai/rules
เอเจนต์ต้องถูกแค่ครั้งเดียว ดังนั้นเลิกเก็บคีย์ไว้ในที่ที่มันเอื้อมถึง
Clavitor (@clavitorai) คือคลังเก็บข้อมูลรับรองตัวตนที่สร้างมาเพื่อเอไอเอเจนต์ และเพื่อรับมือกับมัน clavitor.ai
แหล่งอ้างอิง
[1] ไปป์ไลน์แบบ agentic ของ Mozilla รัน Claude Mythos แล้วพบช่องโหว่ที่ไม่เคยรู้จักใน Firefox 271 รายการ (รวมบั๊ก XSLT อายุราว 20 ปี บั๊กการแยกวิเคราะห์อายุ 15 ปี และช่องทางหลุดแซนด์บ็อกซ์): https://the-decoder.com/mozillas-agentic-ai-pipeline-turns-claude-mythos-preview-loose-and-finds-271-unknown-firefox-vulnerabilities/
[2] Salt Typhoon: ระยะเวลาแฝงตัวเฉลี่ย 393 วันในเครือข่ายโทรคมนาคมก่อนลงมือ: https://www.picussecurity.com/resource/blog/salt-typhoon-telecommunications-threat