นักวิจัยเผยผู้บุกรุก AWS ได้รับสิทธิ์ admin ภายในเวลาไม่ถึง 10 นาที ด้วยความช่วยเหลือจาก AI
ผู้บุกรุกใช้ AI เจาะระบบคลาวด์ AWS ได้สิทธิ์แอดมินภายในเวลาไม่ถึง 10 นาที โดยขโมย credentials จาก S3 buckets สาธารณะ ยกระดับสิทธิ์ผ่าน Lambda function และเข้าถึงทรัพยากร AI ของเหยื่อ กรณีนี้แสดงให้เห็นถึงภัยคุกคามใหม่ที่ใช้ AI ช่วยโจมตี
Key takeaway
- ผู้บุกรุกสามารถเจาะระบบ AWS และยกระดับสิทธิ์เป็นแอดมินภายในเวลาไม่ถึง 10 นาที โดยใช้ AI ช่วยในการโจมตีแทบทุกขั้นตอน ตั้งแต่การสำรวจ การยกระดับสิทธิ์ ไปจนถึงการเขียนโค้ดอันตราย
- การโจมตีเริ่มจากการขโมย credentials จาก S3 buckets สาธารณะ จากนั้นใช้การฉีดโค้ดเข้า Lambda function เพื่อยกระดับสิทธิ์ โดยมีหลักฐานบ่งชี้การใช้ AI เช่น คอมเมนต์ภาษาเซอร์เบีย, AWS account IDs ที่เป็น hallucination และการอ้างอิง GitHub repository ที่ไม่มีอยู่จริง
- การป้องกันที่แนะนำคือการใช้หลักการสิทธิ์น้อยที่สุด (least privilege) กับผู้ใช้และบทบาท IAM ทั้งหมด จำกัดสิทธิ์ UpdateFunctionCode และ PassRole ใน Lambda และตรวจสอบให้แน่ใจว่า S3 buckets ที่มีข้อมูลละเอียดอ่อนไม่สามารถเข้าถึงได้จากสาธารณะ
ผู้บุกรุกไซเบอร์สามารถเจาะระบบคลาวด์ AWS และยกระดับสิทธิ์จนได้รับสถานะแอดมินใช้เวลาเพียงไม่ถึง 10 นาที โดยอาศัย AI เร่งกระบวนการโจมตี
ทีมวิจัยด้านความปลอดภัย Sysdig Threat Research Team รายงานว่าพวกเขาตรวจพบการบุกรุกเมื่อวันที่ 28 พฤศจิกายนที่ผ่านมา และพบว่านอกจากความรวดเร็วในการโจมตีแล้ว ยังมี "ตัวบ่งชี้หลายประการ" ที่แสดงให้เห็นว่าผู้โจมตีใช้ Large Language Models (LLMs) เพื่อทำให้การโจมตีเป็นอัตโนมัติในเกือบทุกขั้นตอน ตั้งแต่การสำรวจ การยกระดับสิทธิ์ การเคลื่อนย้ายแนวนอน การเขียนโค้ดอันตราย ไปจนถึงการทำ LLMjacking - การใช้บัญชีคลาวด์ที่ถูกบุกรุกเพื่อเข้าถึง LLMs บนคลาวด์
"ผู้โจมตีได้รับสิทธิ์ระดับแอดมินภายในเวลาไม่ถึง 10 นาที บุกรุก AWS principals 19 รายการ และใช้ทั้งโมเดล Bedrock และทรัพยากร GPU compute" Michael Clark ผู้อำนวยการฝ่ายวิจัยภัยคุกคามของ Sysdig และนักวิจัย Alessandro Brucato กล่าวในบล็อกโพสต์เกี่ยวกับการบุกรุกนี้ "โค้ดที่สร้างโดย LLM ที่มีคอมเมนต์เป็นภาษาเซอร์เบีย, AWS account IDs ที่เป็น hallucination และการอ้างอิง GitHub repository ที่ไม่มีอยู่จริง ล้วนเป็นหลักฐานบ่งชี้ถึงการใช้ AI ช่วยในการโจมตี"
วิธีการเข้าถึงเริ่มต้น
ผู้โจมตีได้รับการเข้าถึงครั้งแรกโดยการขโมย credentials ที่ใช้ทดสอบจาก Amazon S3 buckets สาธารณะ credentials เหล่านี้เป็นของผู้ใช้ Identity and Access Management (IAM) ที่มีสิทธิ์อ่านและเขียนหลายอย่างบน AWS Lambda และมีสิทธิ์จำกัดบน AWS Bedrock นอกจากนี้ S3 bucket ยังมีข้อมูล Retrieval-Augmented Generation (RAG) สำหรับโมเดล AI ซึ่งเป็นประโยชน์ในระหว่างการโจมตีในภายหลัง
เพื่อป้องกันการขโมย credentials ประเภทนี้ ไม่ควรเก็บ access keys ไว้ใน buckets สาธารณะ Sysdig แนะนำให้ใช้ credentials ชั่วคราวสำหรับ IAM roles และสำหรับองค์กรที่จำเป็นต้องใช้ credentials ระยะยาวสำหรับผู้ใช้ IAM ควรตรวจสอบให้แน่ใจว่ามีการหมุนเวียน credentials อย่างสม่ำเสมอ
การยกระดับสิทธิ์
หลังจากพยายามใช้ชื่อผู้ใช้อย่าง "sysadmin" และ "netadmin" ที่มักเกี่ยวข้องกับสิทธิ์ระดับแอดมินไม่สำเร็จ ผู้โจมตีสามารถยกระดับสิทธิ์ผ่านการฉีดโค้ดเข้าไปใน Lambda function โดยใช้ประโยชน์จากสิทธิ์ UpdateFunctionCode และ UpdateFunctionConfiguration ของผู้ใช้ที่ถูกบุกรุก:
พวกเขาแทนที่โค้ดของ Lambda function ที่มีอยู่ชื่อ EC2-init สามครั้ง โดยปรับเปลี่ยนเป้าหมายผู้ใช้ ความพยายามครั้งแรกมุ่งเป้าไปที่ adminGH ซึ่งแม้จะมีชื่อที่บ่งบอก แต่ไม่มีสิทธิ์แอดมิน ความพยายามครั้งต่อมาประสบความสำเร็จในการบุกรุกผู้ใช้แอดมินชื่อ frick
นักวิเคราะห์ด้านความปลอดภัยพบว่าความเห็นในโค้ดเขียนเป็นภาษาเซอร์เบีย - ซึ่งอาจบ่งชี้ถึงแหล่งที่มาของผู้บุกรุก - ส่วนตัวโค้ดนั้นแสดงรายการผู้ใช้ IAM ทั้งหมดพร้อม access keys ของพวกเขา สร้าง access keys สำหรับผู้ใช้ frick และแสดงรายการ S3 buckets พร้อมเนื้อหา
การเขียนโค้ดด้วย LLMs
นอกจากนี้ โค้ดของผู้โจมตีมีการจัดการข้อยกเว้นที่ "ครอบคลุม" ตามที่นักวิเคราะห์ระบุ รวมถึงตรรกะในการจำกัดการแสดงรายการ S3 bucket และการเพิ่ม Lambda execution timeout จาก 3 วินาทีเป็น 30 วินาที
ปัจจัยเหล่านี้ ประกอบกับระยะเวลาอันสั้นจากการขโมย credentials ไปจนถึงการเรียกใช้ Lambda "บ่งชี้อย่างชัดเจน" ว่าโค้ดถูกเขียนโดย LLM ตามที่ทีมวิจัยระบุ
การเก็บรวบรวมข้อมูลและการเข้าถึงทรัพยากร
ต่อมา ผู้โจมตีได้รวบรวม account IDs และพยายามสวมบทบาท OrganizationAccountAccessRole ในสภาพแวดล้อม AWS ทั้งหมด ที่น่าสนใจคือ พวกเขารวม account IDs ที่ไม่ได้เป็นขององค์กรเหยื่อ: สองรายการที่มีตัวเลขเรียงลำดับ (123456789012 และ 210987654321) และหนึ่ง ID ที่ดูเหมือนจะเป็นของบัญชีภายนอกที่มีอยู่จริง
"พฤติกรรมนี้สอดคล้องกับรูปแบบที่มักเกิดจาก AI hallucinations ซึ่งเป็นหลักฐานเพิ่มเติมที่บ่งชี้ถึงกิจกรรมที่ใช้ LLM ช่วย" Clark และ Brucato เขียน
โดยรวมแล้ว ผู้โจมตีได้เข้าถึง AWS identities 19 รายการ รวมถึง IAM roles 6 รายการต่างๆ ใน 14 เซสชัน บวกกับผู้ใช้ IAM อีก 5 ราย และจากนั้น ด้วยบัญชีผู้ใช้แอดมินใหม่ที่พวกเขาสร้างขึ้น ผู้โจมตีได้ขโมยข้อมูลที่ละเอียดอ่อนจำนวนมาก: secrets จาก Secrets Manager, SSM parameters จาก EC2 Systems Manager, CloudWatch logs, Lambda function source code, ข้อมูลภายในจาก S3 buckets และ CloudTrail events
การโจมตีแบบ LLMjacking
จากนั้นพวกเขาหันไปใช้การโจมตีแบบ LLMjacking เพื่อเข้าถึง LLMs บนคลาวด์ของเหยื่อ โดยใช้ประโยชน์จากการเข้าถึง Amazon Bedrock เพื่อเรียกใช้โมเดลหลายตัว รวมถึง Claude, DeepSeek, Llama, Amazon Nova Premier, Amazon Titan Image Generator และ Cohere Embed
Sysdig หมายเหตุว่า "การเรียกใช้โมเดล Bedrock ที่ไม่มีใครในบัญชีใช้เป็นสัญญาณเตือนภัย" และองค์กรสามารถสร้าง Service Control Policies (SCPs) เพื่ออนุญาตให้เรียกใช้เฉพาะโมเดลบางตัวเท่านั้น
หลังจาก Bedrock ผู้บุกรุกมุ่งเน้นไปที่ EC2 โดยสืบค้น machine images ที่เหมาะสำหรับแอปพลิเคชัน deep learning พวกเขายังเริ่มใช้ S3 bucket ของเหยื่อสำหรับการจัดเก็บ และหนึ่งในสคริปต์ที่เก็บไว้ในนั้นดูเหมือนจะออกแบบมาสำหรับการฝึก ML - แต่มันอ้างอิง GitHub repository ที่ไม่มีอยู่จริง ซึ่งบ่งชี้ว่า LLM อาจ hallucinate repository ในการสร้างโค้ด
แม้ว่านักวิจัยจะบอกว่าพวกเขาไม่สามารถระบุเป้าหมายของผู้โจมตีได้ - อาจเป็นการฝึกโมเดลหรือขายต่อการเข้าถึง compute - พวกเขาสังเกตว่าสคริปต์เปิด JupyterLab server ที่เข้าถึงได้จากสาธารณะบนพอร์ต 8888 ซึ่งเป็นการสร้าง backdoor ไปยัง instance โดยไม่ต้องใช้ AWS credentials
อย่างไรก็ตาม ผู้โจมตียุติ instance หลังจากผ่านไป 5 นาทีด้วยเหตุผลที่ไม่ทราบ
การป้องกัน
นี่เป็นตัวอย่างล่าสุดของผู้โจมตีที่พึ่งพา AI มากขึ้นเพื่อช่วยในเกือบทุกขั้นตอนของห่วงโซ่การโจมตี และผู้เชี่ยวชาญด้านความปลอดภัยบางคนได้เตือนว่าเป็นเพียงเรื่องของเวลาก่อนที่อาชญากรจะสามารถทำให้การโจมตีเป็นอัตโนมัติอย่างเต็มรูปแบบในระดับใหญ่
องค์กรสามารถทำหลายสิ่งเพื่อป้องกันการบุกรุกลักษณะนี้ โดยส่วนใหญ่เกี่ยวข้องกับการเสริมความแข็งแกร่งให้กับความปลอดภัยด้านตัวตนและการจัดการการเข้าถึง ประการแรก: ใช้หลักการสิทธิ์น้อยที่สุด (least privilege) กับผู้ใช้และบทบาท IAM ทั้งหมด
Sysdig ยังแนะนำให้จำกัดสิทธิ์ UpdateFunctionConfiguration และ PassRole ใน Lambda จำกัดสิทธิ์ UpdateFunctionCode เฉพาะฟังก์ชันที่กำหนด และมอบสิทธิ์เฉพาะให้ตัวตนที่ต้องใช้ความสามารถในการ deploy code เท่านั้น
นอกจากนี้ ควรตรวจสอบให้แน่ใจว่า S3 buckets ที่มีข้อมูลที่ละเอียดอ่อน รวมถึงข้อมูล RAG และ artifacts ของโมเดล AI ไม่สามารถเข้าถึงได้จากสาธารณะ
และเป็นการดีที่จะเปิดใช้งานการบันทึกการเรียกใช้โมเดลสำหรับ Amazon Bedrock เพื่อตรวจจับการใช้งานที่ไม่ได้รับอนุญาต
การตอบสนองจาก AWS
"บริการและโครงสร้างพื้นฐานของ AWS ไม่ได้รับผลกระทบจากปัญหานี้ และทำงานตามที่ออกแบบไว้ตลอดเหตุการณ์ที่อธิบาย" บริษัทแจ้งทางอีเมล "รายงานอธิบายถึงบัญชีที่ถูกบุกรุกผ่าน S3 buckets ที่กำหนดค่าไม่ถูกต้อง เราแนะนำให้ลูกค้าทั้งหมดรักษาความปลอดภัยทรัพยากรคลาวด์ของตนโดยปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย ตัวตน และการปฏิบัติตามข้อกำหนด รวมถึงไม่เปิดการเข้าถึงสาธารณะไปยัง S3 buckets หรือบริการจัดเก็บใดๆ การเข้าถึงแบบสิทธิ์น้อยที่สุด การจัดการ credentials อย่างปลอดภัย และการเปิดใช้งานบริการตรวจสอบเช่น GuardDuty เพื่อลดความเสี่ยงของกิจกรรมที่ไม่ได้รับอนุญาต"
ยักษ์ใหญ่ด้านคลาวด์ยังต้องการให้ลูกค้าที่สงสัยหรือรับทราบถึงกิจกรรมที่เป็นอันตรายภายในบัญชี AWS ของตนตรวจสอบคำแนะนำสำหรับการแก้ไข credentials ที่อาจถูกบุกรุกหรือติดต่อ AWS Support เพื่อขอความช่วยเหลือ
Why it matters
💡 ข่าวนี้เป็นกรณีศึกษาสำคัญที่ทุกคนในวงการไอทีควรติดตาม เพราะแสดงให้เห็นถึงภัยคุกคามรูปแบบใหม่ที่ใช้ AI เร่งการโจมตีระบบคลาวด์ได้อย่างรวดเร็วน่าตกใจ เพียงไม่ถึง 10 นาที ผู้บุกรุกสามารถยกระดับสิทธิ์จนได้รับสถานะแอดมินใน AWS โดยมีหลักฐานชัดเจนว่าใช้ LLMs ช่วยในทุกขั้นตอน ตั้งแต่การเขียนโค้ดจนถึงการทำ LLMjacking ข่าวนี้เตือนให้องค์กรต้องทบทวนมาตรการรักษาความปลอดภัยคลาวด์อย่างเร่งด่วน โดยเฉพาะการจัดการ credentials และการใช้หลักการสิทธิ์น้อยที่สุด
ข้อมูลอ้างอิงจาก https://www.theregister.com/2026/02/04/aws_cloud_breakin_ai_assist/