ช่องโหว่ในเครื่องสแกนความปลอดภัยสำหรับอิมเมจคอนเทนเนอร์ Docker

ที่ตีพิมพ์ ผลลัพธ์จากเครื่องมือทดสอบเพื่อระบุช่องโหว่ที่ไม่ได้รับการติดตั้งและระบุปัญหาด้านความปลอดภัยในอิมเมจคอนเทนเนอร์ Docker ที่แยกออกมา การตรวจสอบพบว่าเครื่องสแกนอิมเมจ Docker ที่รู้จัก 4 ใน 6 เครื่องมีช่องโหว่ร้ายแรงซึ่งทำให้สามารถโจมตีเครื่องสแกนได้โดยตรงและดำเนินการโค้ดบนระบบได้สำเร็จ ในบางกรณี (เช่น เมื่อใช้ Snyk) ด้วยสิทธิ์รูท

ในการโจมตี ผู้โจมตีเพียงแค่ต้องเริ่มต้นการตรวจสอบ Dockerfile หรือ manifest.json ของเขา ซึ่งรวมถึงเมตาดาต้าที่ออกแบบมาเป็นพิเศษ หรือวางไฟล์ Podfile และ gradlew ไว้ภายในรูปภาพ ใช้ประโยชน์จากต้นแบบ จัดการเพื่อเตรียมความพร้อม สำหรับระบบ
ไวท์ซอร์ส, สนุ๊ก,
แอ่ง и
แองเคอเร่. แพ็คเกจแสดงความปลอดภัยที่ดีที่สุด ชัดเจนเดิมเขียนโดยคำนึงถึงความปลอดภัย ไม่พบปัญหาในแพ็คเกจเช่นกัน เรื่องไม่สำคัญ. ด้วยเหตุนี้ จึงสรุปได้ว่าเครื่องสแกนคอนเทนเนอร์ Docker ควรทำงานในสภาพแวดล้อมที่แยกจากกัน หรือใช้เพื่อตรวจสอบอิมเมจของตนเองเท่านั้น และควรใช้ความระมัดระวังดังกล่าวเมื่อเชื่อมต่อเครื่องมือดังกล่าวกับระบบบูรณาการต่อเนื่องอัตโนมัติแบบอัตโนมัติ

ใน FOSSA, Snyk และ WhiteSource ช่องโหว่นี้เกี่ยวข้องกับการเรียกตัวจัดการแพ็คเกจภายนอกเพื่อพิจารณาการขึ้นต่อกัน และอนุญาตให้คุณจัดระเบียบการดำเนินการโค้ดของคุณโดยระบุคำสั่งระบบสัมผัสและคำสั่งในไฟล์ ค่อยเป็นค่อยไป и พอดไฟล์.

Snyk และ WhiteSource ก็มีเช่นกัน พบ ช่องโหว่, ที่เกี่ยวข้อง ด้วยการจัดระเบียบในการเรียกใช้คำสั่งระบบเมื่อแยกวิเคราะห์ Dockerfile (ตัวอย่างเช่นใน Snyk ผ่าน Dockefile มันเป็นไปได้ที่จะแทนที่ยูทิลิตี้ /bin/ls ที่ถูกเรียกโดยสแกนเนอร์และใน WhiteSurce มันเป็นไปได้ที่จะแทนที่โค้ดผ่านอาร์กิวเมนต์ใน รูปแบบ “echo ';touch /tmp/hacked_whitesource_pip;=1.0 ′")

จุดอ่อนของจุดยึด ถูกเรียก โดยใช้ยูทิลิตี้ สโคปีโอ สำหรับการทำงานกับอิมเมจนักเทียบท่า การดำเนินการต้มลงไปเพื่อเพิ่มพารามิเตอร์เช่น '"os": "$(touch hacked_anchore)"' ลงในไฟล์ manifest.json ซึ่งจะถูกแทนที่เมื่อเรียก skopeo โดยไม่มีการหลบหนีที่เหมาะสม (เฉพาะอักขระ ";&<>" เท่านั้นที่ถูกตัดออก แต่การก่อสร้าง "$( )")

ผู้เขียนคนเดียวกันได้ทำการศึกษาประสิทธิผลของการระบุช่องโหว่ที่ไม่ได้รับการติดตั้งโดยใช้เครื่องสแกนความปลอดภัยของคอนเทนเนอร์ Docker และระดับของผลบวกลวง (ส่วนหนึ่งของ 1, ส่วนหนึ่งของ 2, ส่วนหนึ่งของ 3). ด้านล่างนี้คือผลลัพธ์ของการทดสอบอิมเมจ 73 รายการที่มีช่องโหว่ที่ทราบ และยังประเมินประสิทธิภาพของการพิจารณาการมีอยู่ของแอปพลิเคชันทั่วไปในอิมเมจ (nginx, tomcat, haproxy, gunicorn, redis, ruby, node)

ช่องโหว่ในเครื่องสแกนความปลอดภัยสำหรับอิมเมจคอนเทนเนอร์ Docker

ช่องโหว่ในเครื่องสแกนความปลอดภัยสำหรับอิมเมจคอนเทนเนอร์ Docker

ที่มา: opennet.ru

เพิ่มความคิดเห็น