เพิ่งเป็นที่รู้จัก ตลอด โพสต์บล็อก ผลการทดสอบเครื่องมือเพื่อระบุช่องโหว่ ไม่มีโปรแกรมแก้ไขและระบุปัญหาด้านความปลอดภัย ในอิมเมจคอนเทนเนอร์ Docker ที่แยกได้
การทดสอบพบว่าเครื่องสแกน 4 ใน 6 เครื่อง อิมเมจ Docker ที่รู้จัก มีช่องโหว่ที่สำคัญ ที่อนุญาตให้โจมตีสแกนเนอร์เองและรันโค้ดบนระบบในบางกรณี (เช่นใช้ Snyk) ด้วยสิทธิ์ระดับรูท
สำหรับการโจมตี ผู้โจมตีจะต้องเริ่มตรวจสอบ Dockerfile เท่านั้น หรือ manifest.json ซึ่งรวมถึงข้อมูลเมตาที่จัดรูปแบบเป็นพิเศษ หรือใส่ไฟล์ Podfile และ gradlew ไว้ในภาพ
เราจัดการเตรียมต้นแบบการหาประโยชน์สำหรับระบบ WhiteSource, Snyk, Fossa และแอนชอร์
บรรจุภัณฑ์ แคลร์ เดิมเขียนขึ้นโดยคำนึงถึงความปลอดภัย แสดงให้เห็นถึงความปลอดภัยที่ดีที่สุด
ไม่พบปัญหาในแพ็คเกจ Trivy และด้วยเหตุนี้จึงสรุปได้ว่าเครื่องสแกนคอนเทนเนอร์ Docker ควรใช้งานในสภาพแวดล้อมที่แยกต่างหากหรือใช้เพื่อตรวจสอบภาพของตนเองเท่านั้นและควรระมัดระวังในการเชื่อมต่อเครื่องมือดังกล่าวกับระบบการรวมระบบอัตโนมัติแบบต่อเนื่อง
เครื่องสแกนเหล่านี้ทำสิ่งที่ซับซ้อนและเกิดข้อผิดพลาดได้ง่าย พวกเขากำลังจัดการกับนักเทียบท่าแยกเลเยอร์ / ไฟล์โต้ตอบกับผู้จัดการแพ็คเกจหรือวิเคราะห์รูปแบบต่างๆ การปกป้องพวกเขาในขณะที่พยายามรองรับกรณีการใช้งานทั้งหมดสำหรับนักพัฒนานั้นเป็นเรื่องยากมาก มาดูกันว่าเครื่องมือต่างๆพยายามและจัดการอย่างไร:
คะแนนการเปิดเผยข้อมูลอย่างมีความรับผิดชอบสะท้อนให้เห็นถึงความคิดเห็นส่วนตัวของฉัน: ฉันคิดว่าเป็นสิ่งสำคัญสำหรับผู้จำหน่ายซอฟต์แวร์ที่จะต้องตอบสนองต่อปัญหาด้านความปลอดภัยที่รายงานต่อพวกเขาซื่อสัตย์และโปร่งใสเกี่ยวกับช่องโหว่เพื่อให้แน่ใจว่าผู้ที่ใช้ผลิตภัณฑ์ของตนได้รับแจ้งอย่างเหมาะสมเพื่อให้ การตัดสินใจเกี่ยวกับการอัปเดต ซึ่งรวมถึงข้อมูลที่สำคัญที่สุดที่การอัปเดตมีการเปลี่ยนแปลงที่เกี่ยวข้องกับความปลอดภัยการเปิด CVE เพื่อติดตามและสื่อสารเกี่ยวกับปัญหาและอาจแจ้งให้ลูกค้าของคุณทราบ ฉันคิดว่านี่เป็นเรื่องสมเหตุสมผลอย่างยิ่งที่จะสมมติว่าผลิตภัณฑ์เกี่ยวกับ CVE โดยให้ข้อมูลเกี่ยวกับช่องโหว่ในซอฟต์แวร์ นอกจากนี้ฉันยังมั่นใจในการตอบสนองที่รวดเร็วเวลาในการแก้ไขที่สมเหตุสมผลและการสื่อสารอย่างเปิดเผยกับผู้ที่รายงานการโจมตี
ที่ FOSSA, Snyk และ WhiteSource ช่องโหว่นั้นเกี่ยวข้องกัน ด้วยการโทร ไปยังตัวจัดการแพ็คเกจภายนอก เพื่อกำหนดการอ้างอิงและอนุญาตให้คุณจัดระเบียบการเรียกใช้โค้ดของคุณโดยระบุคำสั่งระบบสัมผัสและระบบในไฟล์ gradlew และ Podfile
En นอกจากนี้ Snyk และ WhiteSource ยังพบช่องโหว่ที่เกี่ยวข้องกับคำสั่งเปิดระบบ องค์กรที่แยกวิเคราะห์ Dockerfile (ตัวอย่างเช่นใน Snyk ผ่าน Dockefile คุณสามารถแทนที่ยูทิลิตี้ ls (/ bin / ls) ซึ่งเกิดจากเครื่องสแกนและใน WhiteSurce คุณสามารถแทนที่รหัสผ่านอาร์กิวเมนต์ในรูปแบบของ "echo"; แตะ / tmp / hacked_whitesource_pip; = 1.0 '«)
ใน Anchore ช่องโหว่เกิดจากการใช้ยูทิลิตี้ skopeo เพื่อทำงานกับภาพนักเทียบท่า การดำเนินการลดลงเป็นการเพิ่มพารามิเตอร์ของรูปแบบ '» os »: « $ (touch hacked_anchore) »' ไปยังไฟล์ manifest.json ซึ่งจะถูกแทนที่เมื่อเรียก skopeo โดยไม่มีการ Escape ที่เหมาะสม (เฉพาะอักขระ«; & <เท่านั้นที่ถูกลบออก > ", แต่สร้าง" $ () ")
ผู้เขียนคนเดียวกันได้ทำการศึกษาประสิทธิภาพของการตรวจจับช่องโหว่ ไม่ได้รับการแก้ไข ผ่านเครื่องสแกนความปลอดภัย ของคอนเทนเนอร์นักเทียบท่าและระดับของผลบวกปลอม
นอกจากผู้เขียน ระบุว่าเครื่องมือเหล่านี้หลายตัว ใช้ตัวจัดการแพ็คเกจโดยตรงเพื่อแก้ไขการอ้างอิง. สิ่งนี้ทำให้พวกเขาป้องกันได้ยากเป็นพิเศษ ตัวจัดการการพึ่งพาบางตัวมีไฟล์คอนฟิกูเรชันที่อนุญาตให้รวมเชลล์โค้ด
แม้ว่าวิธีง่ายๆเหล่านี้จะได้รับการจัดการ แต่การโทรหาผู้จัดการแพ็กเกจเหล่านี้ย่อมหมายถึงการใช้จ่ายเงิน สิ่งนี้ไม่ได้อำนวยความสะดวกในการป้องกันแอปพลิเคชัน
ผลการทดสอบ 73 ภาพที่มีช่องโหว่ เป็นที่รู้จักเช่นเดียวกับการประเมินประสิทธิภาพเพื่อตรวจสอบการมีอยู่ของแอพพลิเคชั่นทั่วไปในรูปภาพ (nginx, tomcat, haproxy, gunicorn, redis, ruby, node) ปรึกษาได้ ภายในสิ่งพิมพ์ที่ทำ ในลิงค์ต่อไปนี้.