การคลิกลิงก์ที่ผิดเพียงครั้งเดียวไม่ได้เป็นแค่การขโมยรหัสผ่านหรือการติดตั้งมัลแวร์อีกต่อไป แต่มันสามารถสร้าง AI agent ที่ฝังตัวอยู่ในองค์กรของคุณ ซึ่งคอยอ่านอีเมล ค้นหาไฟล์ของคุณ และแชทกับเพื่อนร่วมงานในนามของคุณ นักวิจัยด้านความปลอดภัยที่ Zenity Labs ได้สาธิตสถานการณ์นี้ด้วยเทคนิคที่พวกเขาเรียกว่า AgentForger และกลไกของมันได้เผยให้เห็นช่องโหว่ที่น่ากังวลในการรักษาความปลอดภัยของเครื่องมือ AI แบบอัตโนมัติ
จาก CSRF สู่ AgentForger: การโจมตีรูปแบบใหม่
ผู้เชี่ยวชาญด้านความปลอดภัยส่วนใหญ่รู้จัก Cross-Site Request Forgery หรือ CSRF ในฐานะช่องโหว่เว็บแบบคลาสสิก ในรูปแบบดั้งเดิม ผู้โจมตีจะหลอกล่อเบราว์เซอร์ของผู้ใช้ที่ผ่านการยืนยันตัวตนแล้วให้ส่งคำขอที่ไม่ได้รับอนุญาตเพียงครั้งเดียว เช่น การเปลี่ยนที่อยู่อีเมลของบัญชี หรือการปิดการใช้งานการยืนยันตัวตนแบบสองขั้นตอน (two-factor authentication) ซึ่งความเสียหายมักจะจำกัดอยู่เพียงการดำเนินการเดียวเท่านั้น
AgentForger ทำลายโมเดลนั้นทิ้งไปเลย แทนที่จะปลอมแปลงเพียงคำขอเดียว แต่มันกลับปลอมแปลง AI agent แบบอัตโนมัติทั้งตัวภายใน OpenAI’s ChatGPT Workspace Agents การโจมตีเริ่มต้นที่ ChatGPT Agent Builder ซึ่งอยู่ที่ chatgpt.com/agents/studio/new ในสภาวะปกติ การสร้าง agent เป็นกระบวนการที่ต้องทำด้วยตัวเอง คุณต้องเลือกเทมเพลต ตรวจสอบว่า agent สามารถเข้าถึงเครื่องมือใดได้บ้าง และตั้งค่า guardrails เพื่อให้เครื่องจักรสอบถามก่อนที่จะอ่านกล่องจดหมายหรือเขียนข้อมูลลงใน drive ของคุณ ขั้นตอนการทำงานนี้ตั้งอยู่บนสมมติฐานที่ว่ามีมนุษย์คอยตรวจสอบในแต่ละขั้นตอน
Zenity Labs ค้นพบว่ามาตรการป้องกันเหล่านี้จะหายวับไปเมื่อผู้โจมตีควบคุม URL ได้ โดยการฝังพารามิเตอร์การสอบถาม (query parameters) เฉพาะเจาะจง ได้แก่ template_name และ initial_assistant_prompt ลิงก์ที่เป็นอันตรายสามารถกรอกข้อมูลในแบบฟอร์มการสร้างทั้งหมดไว้ล่วงหน้าได้ เมื่อเหยื่อคลิก initial_assistant_prompt จะถูกส่งและดำเนินการโดยอัตโนมัติ การเลือกเทมเพลต การตรวจสอบเครื่องมือ และหน้าต่างขออนุญาตต่างๆ จะไม่ปรากฏขึ้นเลย Agent จะถูกสร้างขึ้นในเบื้องหลังโดยมีการตั้งค่าตามที่ผู้โจมตีต้องการทุกประการ ในขณะที่เหยื่ออาจเห็นเพียงหน้า ChatGPT ธรรมดาโหลดขึ้นมาแล้วก็ปิดแท็บไป
นี่ไม่ใช่การติดมัลแวร์แบบดั้งเดิม ไม่มีอะไรถูกดาวน์โหลดลงในแล็ปท็อป ภัยคุกคามนี้อาศัยอยู่ภายในเซสชัน SaaS ของเหยื่อทั้งหมด โดยดำเนินการด้วยสิทธิ์ที่ถูกต้องสมบูรณ์ของแพลตฟอร์มที่อยู่เบื้องหลัง
การจี้ความเชื่อใจแทนที่ข้อมูลประจำตัว
ความโหดร้ายที่แท้จริงของ AgentForger อยู่ที่วิธีที่มันจัดการกับสิทธิ์การใช้งาน ผู้ใช้ระดับองค์กรของ ChatGPT Workspace มักจะเชื่อมต่อ AI agent ของตนเข้ากับแอปพลิเคชันทางธุรกิจผ่าน OAuth พวกเขาทำการยืนยันตัวตนเพียงครั้งเดียวเพื่อเชื่อมต่อ Gmail, Outlook, Slack, Google Drive หรือ Microsoft Teams และหลังจากนั้น agent ก็สามารถสอบถามบริการเหล่านั้นในนามของพวกเขาได้
AgentForger จะได้รับสิทธิ์การเข้าถึงทั้งหมดนี้โดยอัตโนมัติ เนื่องจากเหยื่อได้เข้าสู่ระบบ ChatGPT และสร้างการเชื่อมต่อ OAuth เหล่านั้นไว้แล้ว agent ที่ถูกปลอมแปลงขึ้นมาจึงนำการเชื่อมต่อเหล่านั้นมาใช้ใหม่ เหยื่อจะไม่เห็นหน้าจอขอความยินยอมใหม่ที่ถามว่าควรอนุญาตให้ agent ตัวใหม่นี้เข้าถึงอีเมลหรือไม่ ระบบจะปฏิบัติกับ agent เสมือนว่าเป็นส่วนขยายของผู้ใช้งานเอง
ในการสาธิตของ Zenity ผู้โจมตีได้สร้าง URL ที่เป็นอันตรายเพื่อให้ทำสิ่งที่รุนแรงยิ่งกว่านั้น โดยสั่งให้ Agent Builder ปรับสวิตช์การอนุญาตสำหรับการอ่าน การเขียน และการลบทั้งหมดเป็น "Never ask" โดยปกติแล้ว แพลตฟอร์มจะแจ้งเตือนมนุษย์ก่อนดำเนินการที่สำคัญ เช่น การเปิดสเปรดชีต การส่งข้อความ หรือการลบกิจกรรมในปฏิทิน การบังคับให้การควบคุมเหล่านี้อยู่ในโหมดเงียบ (silent mode) ทำให้ผู้โจมตีสามารถกำจัดมนุษย์ออกจากกระบวนการ (human-in-the-loop) ได้อย่างสิ้นเชิง Agent จะกลายเป็นเหมือนวิญญาณในบัญชี ที่สามารถเคลื่อนไหวผ่านแอปที่เชื่อมต่ออยู่ได้อย่างอิสระโดยไม่สร้างการแจ้งเตือนหรือหน้าต่างยืนยันใดๆ เลย
ช่องทางสั่งการที่ซ่อนอยู่ในที่แจ้ง
การฝังตัวอยู่ยาวนาน (Persistence) เปลี่ยนการโจมตีที่ร้ายกาจให้กลายเป็นฝันร้ายในการดำเนินงาน และ AgentForger บรรลุการฝังตัวนี้ผ่านฟีเจอร์การตั้งเวลา (scheduling) ที่มีมาให้ใน ChatGPT ผู้โจมตีจะตั้งตารางเวลาที่เหลื่อมล้ำกันหลายรายการในระหว่างกระบวนการสร้าง ทำให้ได้ agent ที่ตื่นขึ้นมาทำงานบ่อยถึงทุกๆ ห้านาที
นี่คือวิธีการทำงานของวงจรการสั่งการและควบคุม (command-and-control loop) ผู้โจมตีจะส่งอีเมลไปยังกล่องจดหมาย Outlook ของเหยื่อ โดยหัวข้ออีเมลจะมีคำสั่งการ (trigger word) เช่น "TASK" ทุกๆ ห้านาที agent ที่เป็นอันตรายจะสแกนกล่องจดหมายเพื่อหาคำสั่งนั้น เมื่อพบสิ่งที่ตรงกัน มันจะเปิดอีเมล อ่านคำสั่ง ดำเนินการโดยใช้แอปพลิเคชันที่ผ่านการยืนยันตัวตนของเหยื่อ และส่งผลลัพธ์กลับไปยังผู้โจมตี
อีเมลองค์กรของผู้เสียหายเองจะกลายเป็นโครงสร้างพื้นฐานในการสั่งการและควบคุม (command-and-control) ไม่มีการส่งสัญญาณ DNS beacon ที่น่าสงสัย ไม่มีการเชื่อมต่อไปยังที่อยู่ IP ที่ไม่รู้จักในยุโรปตะวันออก และไม่มีไฟล์มัลแวร์ให้ระบบตรวจจับที่ปลายทาง (endpoint detection) ตรวจพบ ทราฟฟิกจะไหลผ่าน Microsoft หรือ Google APIs โดยใช้ข้อมูลประจำตัวที่ถูกต้องตามกฎหมายทั้งหมด สำหรับทีมปฏิบัติการด้านความปลอดภัย (security operations team) ที่เฝ้าติดตามบันทึกเครือข่าย สิ่งนี้จะดูเหมือนพนักงานที่กำลังทำงานยุ่งอยู่กับการใช้เครื่องมือ SaaS ที่ได้รับอนุมัติแล้ว
ผลกระทบในโลกความเป็นจริง: การทำแผนผังองค์กรและการเปลี่ยนความไว้วางใจให้เป็นอาวุธ
Zenity Labs ได้ทดสอบขีดจำกัดในการใช้งานจริงของการโจมตีนี้ในสภาพแวดล้อมที่ควบคุมได้ และผลลัพธ์ที่ได้ควรทำให้ CISO ทุกคนต้องกังวล
ด้วยคำสั่งเพียงคำสั่งเดียวที่ส่งผ่านการกระตุ้นทางอีเมล (email trigger) นักวิจัยได้สั่งให้เอเจนต์ทำการทำแผนผังองค์กร โดยมันได้สอบถามข้อมูลจาก Slack, Microsoft Teams และ SharePoint และส่งคืนชื่อช่อง (channel), โครงสร้างทีม และแหล่งเก็บไฟล์ เอเจนต์สามารถระบุตำแหน่งของเอกสารสำคัญ รวมถึงเอกสารข้อตกลงการควบรวมและซื้อกิจการ (M&A term sheets) และข้อมูลค่าตอบแทนพนักงาน ทุกการเข้าถึงจะถูกบันทึกภายใต้ตัวตนที่ถูกต้องของผู้เสียหาย ทำให้การตรวจพิสูจน์หลักฐานทางดิจิทัล (forensic detection) กลายเป็นเรื่องของการแยกแยะระหว่างกิจกรรมปกติของผู้ใช้ (normal user noise) ออกจากกิจกรรมที่เป็นอันตราย (malicious user noise)
นอกจากนี้ยังมีศักยภาพในการทำวิศวกรรมสังคม (social engineering) เนื่องจากเอเจนต์สามารถส่งข้อความผ่านบัญชี Slack หรือ Teams อย่างเป็นทางการของผู้เสียหายได้ มันจึงสามารถดำเนินแคมเปญฟิชชิงภายในองค์กรที่ข้ามผ่านอีเมลเกตเวย์ภายนอกและการตรวจสอบ DMARC ไปได้อย่างสิ้นเชิง ลองจินตนาการถึงข้อความส่วนตัวจากเพื่อนร่วมงานที่น่าเชื่อถือซึ่งขอให้คุณยืนยันการเริ่มใช้งาน SSO ที่กำลังจะมาถึง หรือให้คลิกลิงก์เพื่อทดสอบพอร์ทัลสวัสดิการใหม่ ข้อความนั้นจะมีทั้งชื่อ รูปโปรไฟล์ และบริบทของประวัติการแชทของเพื่อนร่วมงานคนนั้น มันจะปรากฏในเธรดการสนทนาเดียวกับที่คุณคุยเรื่องแผนการกินมื้อเที่ยงเมื่อวานนี้ ระดับความไว้วางใจเช่นนั้นแตกต่างอย่างสิ้นเชิงจากการปลอมแปลงโดเมน (spoofed domain) หรือการพิมพ์ที่อยู่ผู้ส่งผิด และ AgentForger ก็ใช้ประโยชน์จากจุดนี้อย่างโหดเหี้ยม
บทเรียนสำคัญที่แท้จริง
AgentForger เผยให้เห็นปัญหาเชิงโครงสร้างในวิธีที่แพลตฟอร์ม AI ระดับองค์กรรับสืบทอดความไว้วางใจ เรากำลังสร้างเอเจนต์อัตโนมัติ (autonomous agents) ที่สามารถกำหนดตารางเวลาเอง เขียนโค้ด และสอบถามข้อมูลที่ละเอียดอ่อนได้ แต่เรายังคงใช้โมเดลการอนุญาตสิทธิ์ (permission models) ที่ออกแบบมาสำหรับเว็บแอปพลิเคชันแบบคงที่ (static web applications) ซึ่งมนุษย์ต้องเป็นคนคลิกทุกปุ่ม เส้นแบ่งระหว่าง "สิ่งที่ผู้ใช้ทำ" และ "สิ่งที่เอเจนต์ของผู้ใช้ทำ" ได้พังทลายลงแล้ว และผู้โจมตีก็อยู่ในตำแหน่งที่สามารถฉวยโอกาสจากการพังทลายนั้นในวงกว้างได้
องค์กรที่ใช้ ChatGPT Workspace จำเป็นต้องปฏิบัติกับการสร้างเอเจนต์เสมือนเป็นการดำเนินการที่ต้องได้รับสิทธิ์พิเศษ (privileged operation) ไม่ใช่เวิร์กโฟลว์ทั่วไป นั่นหมายถึงการตรวจสอบ OAuth scopes เพื่อให้แน่ใจว่าเอเจนต์ไม่สามารถเข้าถึงกล่องจดหมายหรือที่เก็บไฟล์ทั้งหมดได้อย่างเงียบๆ หมายถึงการเฝ้าระวังการทำงานที่เกิดขึ้นอย่างรวดเร็วผิดปกติซึ่งดูเหมือนลูปที่ถูกกำหนดตารางเวลาไว้ (scheduled loops) มากกว่าจังหวะการทำงานของมนุษย์ และหมายถึงการตระหนักว่าการรั่วไหลของข้อมูลครั้งใหญ่ครั้งต่อไปอาจไม่ได้เริ่มจากการถูกขโมยรหัสผ่านหรืออีเมลฟิชชิง แต่อาจเริ่มจากการคลิกเพียงครั้งเดียวด้วยความเผลอเรอ ซึ่งเป็นการมอบอำนาจตัวตนของคุณให้กับเครื่องจักรที่ไม่เคยหลับใหลอย่างเงียบเชียบ
