เวิร์กสเตชันออนไลน์ของ OnWorks Linux และ Windows

โลโก้

ฟรีโฮสติ้งออนไลน์สำหรับเวิร์กสเตชัน

<ก่อนหน้านี้ | เนื้อหา | ถัดไป>

แพ็คเกจการตรวจสอบด้วย dpkg -- ตรวจสอบ


dpkg --verify (หรือ dpkg -V) เป็นเครื่องมือที่น่าสนใจเนื่องจากมันแสดงไฟล์ระบบที่ได้รับการแก้ไข (อาจเป็นไปได้โดยผู้โจมตี) แต่ผลลัพธ์นี้ควรใช้เม็ดเกลือ ถึง

ทำงานของมัน dpkg อาศัย checksums ที่เก็บไว้ในฐานข้อมูลของตัวเองซึ่งจัดเก็บไว้ในฮาร์ดดิสก์ (พบได้ใน /var/lib/dpkg/info/แพ็คเกจ.md5sums) ผู้โจมตีอย่างถี่ถ้วนจะแก้ไขไฟล์เหล่านี้เพื่อให้มีเช็คซัมใหม่สำหรับไฟล์ที่ถูกโค่นล้ม มิฉะนั้นผู้โจมตีขั้นสูงจะประนีประนอมแพ็คเกจบนมิเรอร์เดเบียนของคุณ เพื่อป้องกันการโจมตีประเภทนี้ ให้ใช้ระบบตรวจสอบลายเซ็นดิจิทัลของ APT (ดูหัวข้อ 8.3.6, “ตรวจสอบแพ็คเกจ ของแท้” [หน้า 202]) เพื่อตรวจสอบแพ็คเกจอย่างถูกต้อง


ไฟล์คืออะไร เพื่อเป็นการเตือนความจำ: ลายนิ้วมือคือค่า ซึ่งมักจะเป็นตัวเลข (แม้ว่าจะอยู่ในเลขฐานสิบหก ลายนิ้วมือ? tation) ที่มีชนิดของลายเซ็นสำหรับเนื้อหาของไฟล์ ลายเซ็นนี้คำนวณด้วยอัลกอริธึม (MD5 หรือ SHA1 เป็นตัวอย่างที่รู้จักกันดี) ที่มากกว่า

หรือรับประกันน้อยกว่าว่าการเปลี่ยนแปลงเพียงเล็กน้อยในเนื้อหาไฟล์จะส่งผลให้เกิดการเปลี่ยนแปลงของลายนิ้วมือ สิ่งนี้เรียกว่า "เอฟเฟกต์หิมะถล่ม" จากนั้นใช้ลายนิ้วมือที่เป็นตัวเลขอย่างง่ายเพื่อทดสอบว่าเนื้อหาของไฟล์มีการเปลี่ยนแปลงหรือไม่ อัลกอริทึมเหล่านี้ไม่สามารถย้อนกลับได้ กล่าวอีกนัยหนึ่ง สำหรับคนส่วนใหญ่ การรู้ลายนิ้วมือไม่อนุญาตให้ค้นหาเนื้อหาที่เกี่ยวข้อง ความก้าวหน้าทางคณิตศาสตร์เมื่อเร็วๆ นี้ดูเหมือนจะบั่นทอนความสมบูรณ์ของหลักการเหล่านี้ แต่การใช้หลักการเหล่านี้ยังไม่ถูกตั้งคำถาม เนื่องจากการสร้างเนื้อหาที่แตกต่างกันซึ่งมีลายนิ้วมือเหมือนกันยังคงดูเหมือนเป็นงานที่ค่อนข้างยาก

ไฟล์คืออะไร เพื่อเป็นการเตือนความจำ: ลายนิ้วมือคือค่า ซึ่งมักจะเป็นตัวเลข (แม้ว่าจะอยู่ในเลขฐานสิบหก ลายนิ้วมือ? tation) ที่มีชนิดของลายเซ็นสำหรับเนื้อหาของไฟล์ ลายเซ็นนี้คำนวณด้วยอัลกอริธึม (MD5 หรือ SHA1 เป็นตัวอย่างที่รู้จักกันดี) ที่มากกว่า

หรือรับประกันน้อยกว่าว่าการเปลี่ยนแปลงเพียงเล็กน้อยในเนื้อหาไฟล์จะส่งผลให้เกิดการเปลี่ยนแปลงของลายนิ้วมือ สิ่งนี้เรียกว่า "เอฟเฟกต์หิมะถล่ม" จากนั้นใช้ลายนิ้วมือที่เป็นตัวเลขอย่างง่ายเพื่อทดสอบว่าเนื้อหาของไฟล์มีการเปลี่ยนแปลงหรือไม่ อัลกอริทึมเหล่านี้ไม่สามารถย้อนกลับได้ กล่าวอีกนัยหนึ่ง สำหรับคนส่วนใหญ่ การรู้ลายนิ้วมือไม่อนุญาตให้ค้นหาเนื้อหาที่เกี่ยวข้อง ความก้าวหน้าทางคณิตศาสตร์เมื่อเร็วๆ นี้ดูเหมือนจะบั่นทอนความสมบูรณ์ของหลักการเหล่านี้ แต่การใช้หลักการเหล่านี้ยังไม่ถูกตั้งคำถาม เนื่องจากการสร้างเนื้อหาที่แตกต่างกันซึ่งมีลายนิ้วมือเหมือนกันยังคงดูเหมือนเป็นงานที่ค่อนข้างยาก


เล่น ดีพีกก. -V จะตรวจสอบแพ็คเกจที่ติดตั้งทั้งหมดและจะพิมพ์บรรทัดสำหรับแต่ละไฟล์ที่ไม่ผ่านการตรวจสอบ อักขระแต่ละตัวแสดงถึงการทดสอบข้อมูลเมตาเฉพาะบางรายการ น่าเสียดาย, dpkg ไม่ได้จัดเก็บข้อมูลเมตาที่จำเป็นสำหรับการทดสอบส่วนใหญ่ และจะส่งออกเครื่องหมายคำถามสำหรับการทดสอบเหล่านี้ ปัจจุบันมีเพียงการทดสอบเช็คซัมเท่านั้นที่สามารถให้ผล 5 กับอักขระตัวที่สาม (เมื่อล้มเหลว)


# ดีพีกก. -V

??5???????? /lib/systemd/system/ssh.service

??5???????? c /etc/libvirt/qemu/networks/default.xml

??5???????? c /etc/lvm/lvm.conf

??5???????? c /etc/salt/roster

# ดีพีกก. -V

??5???????? /lib/systemd/system/ssh.service

??5???????? c /etc/libvirt/qemu/networks/default.xml

??5???????? c /etc/lvm/lvm.conf

??5???????? c /etc/salt/roster


ในตัวอย่างข้างต้น dpkg รายงานการเปลี่ยนแปลงไฟล์บริการของ SSH ที่ผู้ดูแลระบบทำกับไฟล์แพ็กเกจแทนที่จะใช้ไฟล์ที่เหมาะสม /etc/systemd/system/ssh.service แทนที่ (ซึ่งจะเก็บไว้ด้านล่าง / ฯลฯ เช่นเดียวกับการเปลี่ยนแปลงการกำหนดค่าใด ๆ ที่ควรจะเป็น) นอกจากนี้ยังแสดงรายการไฟล์การกำหนดค่าหลายไฟล์ (ระบุด้วยตัวอักษร "c" ในช่องที่สอง) ที่ได้รับการแก้ไขอย่างถูกต้อง


ระบบปฏิบัติการคลาวด์คอมพิวติ้งยอดนิยมที่ OnWorks: