บทความจาก Intruder เผยกรณีศึกษาจริงที่โค้ดที่สร้างโดย AI อาจนำไปสู่ช่องโหว่ด้านความปลอดภัยที่ละเอียดอ่อนได้ กรณีนี้เกิดขึ้นเมื่อ Intruder ใช้ AI ช่วยเขียน Honeypot ซึ่งถูกตั้งใจให้มีช่องโหว่ แต่ AI ได้เพิ่มตรรกะที่ดึง IP header ที่จัดหาโดยไคลเอนต์และถือว่าเป็น IP ของผู้เยี่ยมชมโดยไม่มีการตรวจสอบ ทำให้ผู้โจมตีสามารถฉีดเพย์โหลดเข้าไปได้ แม้ว่าผลกระทบในกรณีนี้จะต่ำและไม่นำไปสู่การโจมตีแบบเต็มรูปแบบ แต่แสดงให้เห็นถึงความเสี่ยงของการเชื่อใจโค้ดที่สร้างโดย AI มากเกินไป ซึ่งสามารถนำไปสู่ช่องโหว่ที่รุนแรงกว่า เช่น Local File Disclosure หรือ Server-Side Request Forgery ได้ นอกจากนี้ยังมีการเน้นย้ำว่าเครื่องมือวิเคราะห์โค้ดแบบ Static Analysis (SAST) อาจพลาดช่องโหว่ประเภทนี้ได้เนื่องจากขาดความเข้าใจในบริบท และ AI ยังคงต้องมีการกำกับดูแลจากมนุษย์อย่างใกล้ชิดเพื่อป้องกันการสร้างโค้ดที่มีช่องโหว่
Severity: สูง
System Impact:
- Honeypot (ที่พัฒนาขึ้นเองโดย Intruder)
- โค้ดที่สร้างโดย AI ทั่วไปในการพัฒนาซอฟต์แวร์
- AWS IAM roles (ในกรณีศึกษาเพิ่มเติม)
Technical Attack Steps:
- AI สร้างโค้ดสำหรับ Honeypot โดยมีฟังก์ชันที่ดึง IP header ที่จัดหาโดยไคลเอนต์ (client-supplied IP headers) เช่น ‘X-Forwarded-For’ หรือ ‘X-Real-IP’
- ฟังก์ชันนี้ถูกเขียนขึ้นโดยถือว่า IP header ดังกล่าวมาจากพร็อกซีที่เชื่อถือได้ ซึ่งในความเป็นจริงแล้วสามารถควบคุมได้โดยไคลเอนต์
- ผู้โจมตีใช้ประโยชน์จากช่องโหว่นี้โดยการแทรกเพย์โหลดที่เป็นอันตรายเข้าไปใน IP header
- Honeypot บันทึกข้อมูลและจัดเก็บไฟล์โดยใช้สตริงเพย์โหลดจาก IP header เป็นชื่อไดเรกทอรี ทำให้ผู้โจมตีมีอิทธิพลต่อพฤติกรรมของโปรแกรม
Recommendations:
Short Term:
- ทบทวนกระบวนการตรวจสอบโค้ด (code review) สำหรับโค้ดที่สร้างโดย AI อย่างละเอียด เพื่อหาช่องโหว่ที่อาจเกิดขึ้นจากความเชื่อมั่นใน AI ที่มากเกินไป
- ตรวจสอบความสามารถในการตรวจจับของเครื่องมือ CI/CD (Continuous Integration/Continuous Delivery) เพื่อระบุและแก้ไขปัญหาด้านความปลอดภัยที่เกิดจากโค้ดที่สร้างโดย AI
Long Term:
- จำกัดการใช้ AI ในการเขียนโค้ดสำหรับบุคลากรที่ไม่ใช่ผู้พัฒนาหรือผู้เชี่ยวชาญด้านความปลอดภัย
- สำหรับผู้เชี่ยวชาญที่ใช้เครื่องมือ AI ควรมีการฝึกอบรมด้านความปลอดภัยเพิ่มเติม เพื่อให้ตระหนักถึงข้อจำกัดของ AI และความจำเป็นในการตรวจสอบอย่างเข้มงวด
- พัฒนาหรือปรับปรุงเครื่องมือวิเคราะห์ความปลอดภัยให้สามารถตรวจจับช่องโหว่ที่ละเอียดอ่อนและเกี่ยวข้องกับบริบทที่ AI อาจสร้างขึ้นได้
- ตระหนักว่า AI สามารถสร้างโค้ดที่ไม่ปลอดภัยได้อย่างมั่นใจ และจำเป็นต้องมีการกำกับดูแลและแก้ไขโดยมนุษย์ตลอดกระบวนการพัฒนา
Share this content: