ภัยเงียบใน CI/CD! แฮกเกอร์แฝงตัวในเครื่องมือสแกน Trivy ขโมยข้อมูลลับ
พบภัยคุกคามซัพพลายเชนใน GitHub Action Trivy ที่ถูกแฮกเพื่อขโมยข้อมูลลับจากกระบวนการ CI/CD เรียนรู้กลไกการโจมตีและวิธีป้องกัน
ขณะตรวจสอบการตรวจจับการทำงานของสคริปต์ที่เพิ่มสูงขึ้นในลูกค้าของแพลตฟอร์ม CrowdStrike Falcon ทีมวิศวกรได้ติดตามกิจกรรมดังกล่าวไปยัง GitHub Action ที่ชื่อ aquasecurity/trivy-action ซึ่งถูกแฮก เครื่องมือสแกนช่องโหว่โอเพนซอร์สยอดนิยมนี้ถูกใช้บ่อยในกระบวนการ CI/CD
การสืบสวนพบว่า 76 จาก 77 รุ่นปล่อยของสแกนเนอร์ถูกดัดแปลงโดยการเปลี่ยนจุดอ้างอิงแท็ก git เพื่อแทนที่จุดเริ่มต้นที่ถูกต้องด้วยสคริปต์ขโมยข้อมูลหลายขั้นตอน รหัสที่เป็นอันตรายทำงานเงียบๆ ก่อนที่สแกนเนอร์จริงจะเริ่มทำงาน ทำให้เวิร์กโฟลว์ดูเหมือนสำเร็จปกติ
กลไกการโจมตีผ่าน GitHub Actions
GitHub Actions เป็นแพลตฟอร์ม CI/CD ในตัวของ GitHub ที่ช่วยให้สามารถสร้าง ทดสอบ และปรับใช้โค้ดได้โดยอัตโนมัติ เวิร์กโฟลว์ที่กำหนดในไฟล์ YAML สามารถอ้างอิงถึงแอ็กชันที่ใช้ซ้ำได้จากบุคคลที่สาม ซึ่งรันเนอร์จะดาวน์โหลดและดำเนินการโค้ดใดๆ ที่แอ็กชันมีด้วยสิทธิ์เต็ม
aquasecurity/trivy-action เป็นแอ็กชันที่เผยแพร่โดย Aqua Security เพื่อใช้สแกนช่องโหว่ในอิมเมจคอนเทนเนอร์และโครงสร้างพื้นฐาน หากโค้ดของแอ็กชันถูกแก้ไข ทุกไปป์ไลน์ที่อ้างอิงถึงมันจะดำเนินการโค้ดใหม่ในการรันครั้งถัดไป พร้อมกับเข้าถึงความลับและข้อมูลประจำตัวทั้งหมด
การทำงานของมัลแวร์ขโมยข้อมูล
สคริปต์ entrypoint.sh ที่เป็นอันตรายจะเพิ่มโค้ดโจมตีประมาณ 105 บรรทัดก่อนลอจิกของสแกนเนอร์ Trivy จริง มันดำเนินการขโมยข้อมูลประจำตัวหลายขั้นตอน จากนั้นจึงรันสแกนเนอร์จริงเพื่อให้เวิร์กโฟลว์ดูสำเร็จ
ขั้นตอนแรกคือการค้นหาระยะกระบวนการของรันเนอร์ GitHub Actions และอ่านตัวแปรสภาพแวดล้อม ขั้นตอนที่สองจะขโมยข้อมูลประจำตัวตามแพลตฟอร์ม โดยบนรันเนอร์ Linux ที่โฮสต์โดย GitHub จะมีสคริปต์ Python ที่ถอดรหัสแล้วทำงานเพื่อขูดความลับจากหน่วยความจำกระบวนการ
ข้อมูลที่รวบรวมจะถูกเข้ารหัสด้วยคีย์เซสชัน AES-256-CBC จากนั้นส่งออกผ่านช่องทางหลักไปยังโดเมนที่เลียนแบบ aquasecurity.com หากล้มเหลว จะพยายามส่งผ่านบัญชี GitHub ของผู้เสียหายโดยสร้างที่เก็บสาธารณะและอัปโหลดข้อมูล
ขอบเขตการถูกบุกรุกและเครื่องมืออื่นๆ
จากการวิเคราะห์แท็กทั้งหมด 77 แท็กของ aquasecurity/trivy-action พบว่ามีการบุกรุก 76 แท็ก มีเพียงแท็ก 0.35.0 เท่านั้นที่สะอาด ทุกรุ่นปล่อยอื่นตั้งแต่ 0.0.1 ถึง 0.34.2 ให้บริการ entrypoint.sh ที่เป็นอันตราย
นอกจากนี้ แอ็กชัน setup-trivy ยังถูกบุกรุกเพื่อดำเนินการสคริปต์ที่เป็นอันตรายเดียวกัน รวมถึงตัวสแกนเนอร์ Trivy เวอร์ชัน 0.69.4 ก็ถูกบุกรุกด้วย โดยจะดรอปสคริปต์ที่ทำหน้าที่เป็นโหลดเดอร์ระยะที่หนึ่ง ซึ่งจะติดต่อเซิร์ฟเวอร์ C2 บนบล็อกเชน Internet Computer เป็นระยะเพื่อดาวน์โหลดและเรียกใช้เพย์โหลดเพิ่มเติม
การป้องกันและข้อควรปฏิบัติ
การบุกรุกครั้งนี้แสดงให้เห็นถึงความเสี่ยงของการใช้การอ้างอิงที่เปลี่ยนแปลงได้ในซัพพลายเชนซอฟต์แวร์ แท็ก Git เป็นตัวชี้ที่สามารถถูกเปลี่ยนได้โดยไม่มีการแจ้งเตือนบนหน้าปล่อย
สำหรับผู้ดูแลระบบ ควรปักหมุดแอ็กชันโดยใช้ SHA ของคอมมิตแทนแท็ก ตรวจสอบรันเนอร์ CI/CD ด้วยความเข้มงวดเท่ากับโฮสต์การผลิต และปฏิบัติต่อโค้ดใดๆ ที่รันในไปป์ไลน์เสมือนเป็นโค้ดที่รันในโครงสร้างพื้นฐานของคุณ
Reference
CrowdStrikeหากสนใจสินค้า หรือต้องการคำปรึกษาเพิ่มเติม
💬 Line @monsteronline
☎️ Tel 02-026-6664
📩 Email [email protected]
🌐 ดูสินค้าเพิ่มเติม mon.co.th
แชทผ่าน LINEดูสินค้าทั้งหมด