แพ็คเกจ ubuntu มีความปลอดภัยเพียง md5sum เท่านั้นหรือไม่?


13

พื้นหลังเบื้องต้นสำหรับคำถามด้านล่าง ###

(ดังนั้นคำถามนี้สามารถใช้ได้กับผู้คนมากขึ้น)
ภายในแพ็คเกจอูบุนตู / เดเบียน (ไฟล์ * .deb) มีไฟล์ชื่อ /DEBIAN/md5sumsที่มีเนื้อหาของแบบฟอร์มนี้:

212ee8d0856605eb4546c3cff6aa6d35 usr / bin / file1
4131b66dc3913fcbf795159df912809f พา ธ / ไปยัง / file2
8c21de23b7c25c9d1a093607fc27656a พา ธ / ไปยัง / file3
c6d010a475366e0644f3bf77d7f922fd พา ธ / to / place / of / file4

อย่างที่ฉันคิดว่าไฟล์นี้จะถูกใช้เพื่อตรวจสอบว่าไฟล์ที่มาพร้อมกับแพคเกจไม่ได้รับความเสียหายอย่างใด เนื่องจากไฟล์ถูกเรียกว่า `/ DEBIAN / md5sums" ฉันถือว่าเลขเลขฐานสิบหกก่อนพา ธ + ชื่อไฟล์คือMD5 Message-Digest Algorithm Hash ของไฟล์ของแพ็คเกจ

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

คำถาม

จำข้อมูลข้างต้นฉันต้องการทราบต่อไปนี้:

** สมมติว่าฉันติดตั้งแพคเกจในระบบ Ubuntu ของฉัน เป็นวิธีDEBIAN/md5sumsเดียวที่จะตรวจสอบให้แน่ใจว่าข้อมูลไม่ได้ถูกดัดแปลงหรือไม่? **

ตอบคำถามฉันคิดว่ามันจะช่วยให้คิดออกต่อไปนี้:

  • แพ็กเกจ deb ทั้งหมดยังถูกแฮช (Hashvalues ​​ทำขึ้น) เพื่อให้มีวิธีอื่นในการทำให้ปลอดภัยไฟล์ที่ได้รับจะเป็น "safe" / "untampered"
  • หากมีวิธีอื่น ๆ ดังนั้นDEBIAN/md5sumsไฟล์เพื่อให้แน่ใจว่ามีความถูกต้องไฟล์ใดที่รวมอยู่ในแพ็คเกจ * .deb แต่อย่างใด
  • Ubuntu ใช้แฮชสำหรับพื้นที่เก็บข้อมูล / แพ็คเกจระบบที่ "หักน้อย" กว่า SHA-1 และ MD5 หรือไม่

ซึ่งน่าเสียดายที่ฉันไม่รู้เหมือนกัน

การตอบสนองใด ๆ ที่สามารถทำให้กระจ่างในคำถาม (หรือแม้แต่คำถามย่อย) ยินดีอย่างมาก

ปรับปรุง

(1) https://help.ubuntu.com/community/Repositories/Ubuntu#Authentication_Tabดูเหมือนจะระบุว่ามี (ตามที่ฉันหวังไว้) คีย์ gpg สาธารณะ / ส่วนตัวบางอย่างเกิดขึ้น (เพื่อให้ระบบ repos และแพคเกจ) ปลอดภัย จากการโจมตี ข้อมูลในตำแหน่งที่เชื่อมโยงนั้นไม่มากนัก มันไม่ได้บอกอะไรเกี่ยวกับแง่มุมความปลอดภัยของระบบแพ็คเกจ อย่างไรก็ตามฉันคิดว่าลิงก์นั้นระบุว่าคำตอบสำหรับคำถามจะเป็น "ไม่ - อย่างน้อยแพ็คเกจ deb จาก repo - จะได้รับการรักษาความปลอดภัยโดย .... " หวังว่าใครบางคนมีข้อมูลเชิงลึกที่จะใช้สำหรับคำตอบที่นี่

(2) คำถามนี้ดูเหมือนจะเกี่ยวกับหัวข้อ "ความปลอดภัย" ในระบบแพ็คเกจของ Ubuntu ด้วย ดังนั้นฉันเพิ่งเพิ่มที่นี่เพื่อให้มือของโฆษณาถ้าใครบางคนพยายามที่จะคิดคำถาม: ทำไมการแก้ไข BADSIG ที่เสนอ (ในการปรับปรุง apt-get) ปลอดภัย?


1
debian.org/doc/debian-policy/…ระบุว่ารองรับการเช็คซัม SHA-1 และ SHA256 ต่อไฟล์อย่างไรก็ตามฉันไม่ทราบว่าaptนโยบายการตรวจสอบคืออะไร
chronitis

1
@ ประสานการขอบคุณสำหรับลิงค์ที่นั่น ที่จริง SHA- * hashio ถูกกล่าวถึงที่นั่นฉันยังคงต้องหาวิธีที่ปรากฏในแพ็คเกจ (ซึ่งฉันยังไม่เห็น) หรือระบบแพคเกจคุณรู้หรือไม่? การบ่งชี้เป็นขั้นตอนที่ดีอยู่แล้ว
มนุษยชาติและ

คำตอบ:


21

Ubuntu เผยแพร่รายการที่ลงชื่อด้วยคีย์ RSA ไฟล์ Manifest จะแสดงรายการPackagesไฟล์ดัชนีแต่ละไฟล์โดยแต่ละไฟล์มี MD5, SHA-1 และ SHA-256 แต่ละPackagesไฟล์แสดงรายการ.debไฟล์แต่ละไฟล์ที่มีแฮช MD5, SHA-1 และ SHA-256

สำหรับการตรวจสอบ apt ใช้แฮชที่ดีที่สุดที่รองรับและเผยแพร่โดยไฟล์เก็บถาวรที่ดาวน์โหลดมา ในกรณีของไฟล์เก็บถาวรของ Ubuntu นี่คือ SHA-256

ดังนั้นการติดตั้งแพ็คเกจทั้งหมดในระบบ Ubuntu ของคุณจึงได้รับการปกป้องโดย RSA และ SHA-256

การป้องกัน MD5 ที่มีอยู่ใน dpkg มีประโยชน์สำหรับการคอร์รัปชั่นโดยบังเอิญเท่านั้นและไม่จำเป็นต้องปกป้องพา ธ การติดตั้ง

คุณอาจสนใจdebsumsแพ็คเกจ แต่เนื่องจากใช้ MD5 มันจึงมีประโยชน์สำหรับการตรวจสอบความเสียหายจากอุบัติเหตุเท่านั้น

หากคุณต้องการตรวจสอบการดัดแปลงระบบที่เป็นอันตรายแล้วสิ่งเหล่านี้ไม่ใช่เครื่องมือที่เหมาะสมสำหรับคุณ คุณจะต้องใช้ระบบออฟไลน์และตรวจสอบกับระเบียนก่อนหน้าไฟล์แพคเกจเดิมหรือแฮชที่ปลอดภัยที่สร้างจากสิ่งเหล่านี้

โปรดทราบว่าเนื่องจากการปรับเปลี่ยนที่เป็นอันตรายที่ประสบความสำเร็จอาจเพียงแค่ลดระดับแพ็คเกจเป็นหนึ่งเดียวก่อนการอัปเดตความปลอดภัยการตรวจสอบว่าไฟล์แพคเกจที่ติดตั้งทั้งหมดตรงกับต้นฉบับอาจไม่เพียงพอ


1
ฉันได้รับข้อมูลเชิงลึกที่ชัดเจนยิ่งขึ้น คุณได้รับข้อมูลทั้งหมดนี้จากที่ไหนฉันมี dificulty ในการค้นหา? คุณมี docus / links ที่คุณใช้บ้างไหม? นอกจากนี้ฉันขอขอบคุณที่กล่าวถึง "การลดระดับอันตราย" ที่คุณกล่าวถึงดังนั้นฉันยังไม่เข้าใจว่าการใช้ประโยชน์จากข้อผิดพลาดนี้เป็นอย่างไร ที่ดี! ขอบคุณ
มนุษยชาติ

ฉันไม่เชื่อว่ารูปแบบพื้นที่เก็บข้อมูล apt มีการระบุหรือบันทึกอย่างเหมาะสมทุกที่ มันไม่ดี แต่มันเป็นอย่างไร เอกสารจริงที่ดีที่สุด (และสำหรับความรู้ของฉันเท่านั้น) คือแหล่งที่มา ฉันรู้รายละเอียดเพราะฉันทำงานในแหล่งข้อมูล ในทางกลับกันรูปแบบ dpkg ถูกระบุไว้เป็นอย่างดีในนโยบาย Debian ครอบคลุมถึงสิ่งที่เกิดขึ้นหลังจากแพ็คเกจสิ้นสุดในระบบของคุณ แต่ไม่ใช่ว่าจะไปถึงที่นั่นได้อย่างไร ส่วนหลังทำโดยฉลาด
Robie Basak

ลดระดับความเสี่ยง: สิ่งนี้เป็นสิ่งที่แยกต่างหากและไม่ได้เชื่อมโยงโดยตรงกับคำถามเดิมของคุณ หากพบการโกง X ในเวอร์ชัน A คุณจะได้รับการอัปเดตความปลอดภัยเป็นเวอร์ชัน B ซึ่งช่องโหว่นั้นได้รับการแก้ไข หากผู้โจมตีสามารถเอาเปรียบ X ในเวอร์ชั่น A คุณจะปลอดภัยเนื่องจากคุณอัปเกรดเป็น B แต่ถ้าผู้โจมตีสามารถลดระดับคุณเป็น A ได้คุณจะมีความเสี่ยงอีกครั้ง คุณจะไม่สังเกตเห็นสิ่งนี้แม้ว่าแฮชที่ปลอดภัยทั้งหมดของคุณจะตรงกับแพ็คเกจที่คุณติดตั้งเนื่องจากฐานข้อมูลแพ็คเกจของคุณจะบอกว่าคุณควรติดตั้ง A และไม่ใช่ B
Robie Basak

2
@RobieBasak "ฉันไม่เชื่อว่ารูปแบบพื้นที่เก็บข้อมูล apt นั้นถูกระบุหรือจัดทำเอกสารอย่างเหมาะสมทุกที่" เห็นได้ชัดว่านี่ไม่เป็นความจริง คุณเพียงแค่ต้องมองหามัน Debian Wiki: RepositoryFormat
gertvdijk

6

ฉันต้องการที่จะแสดงความคิดเห็น แต่ฉันไม่สามารถใส่ลงในกล่องดังนั้นฉันวางไว้ที่นี่

ใช่ md5 นั้นถูกใช้งานทาง cryptologically แต่นั่นไม่ได้หมายความว่ามันเป็นอัลกอริธึมที่ใช้งานไม่ได้ การแก้ไขไฟล์ดังนั้นจึงมีแฮชเดียวกันนั้นยากอย่างไม่น่าเชื่อและการทำเช่นนั้นเมื่อมีการเปลี่ยนแปลงที่เป็นอันตรายอยู่ใกล้จะเป็นไปไม่ได้ จากการดูตัวอย่างที่คุณอ้างอิง (การทำนายผู้ชนะ ) ดูสิ่งนี้:

"เอกสารถูกเตรียมอย่างรอบคอบเป็นเอกสาร PDF ที่ถูกต้องโดยมีวัตถุอิมเมจที่รวมอยู่ซึ่งมีบิตสุ่มเพียงพอจากนั้นตามโครงสร้างของเพชรที่แสดงด้านบนการคำนวณการชนกันของคำนำหน้าที่เลือกไว้สิบเอ็ดชุด วัตถุรูปที่จุดที่เหมาะสมอย่างแม่นยำด้วยวิธีนี้ทั้งสิบสองเอกสารกลายเป็น MD5 multi-collision "

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


3
ขอบคุณสำหรับคำตอบ ฉันคิดว่ามันเป็นคำตอบที่ดีในแง่ที่ว่ามันให้ความสว่างกับพื้นหลังทั้งหมด :) โชคไม่ดีที่ "Stack ... Ask Ubuntu" บางครั้งก็ยากด้วย "ตอบคำถามอย่างเคร่งครัดเท่านั้น" และคุณก็กล้าหาญ เพื่ออธิบายรายละเอียดในหัวข้อ
มนุษยชาติ

ไฟล์ PDf ที่เตรียมไว้มีข้อมูลแบบสุ่มและมีขนาดเพียง 104kb พร้อมความพยายามทั้งหมดนี้ ทำไมคุณถึงบอกว่าเป็นไปไม่ได้ในตอนนี้? ต้องมีไฟล์จำนวนมากในแพ็คเกจ deb ที่> 200kb ซึ่งต้องเป็นไปได้ที่จะทำสิ่งนั้น ฉันรู้สึกไม่ปลอดภัยหลังจากที่ได้เห็นการพิสูจน์แนวคิดซึ่งทำให้ฉันประหลาดใจและทำให้ตกใจ
มนุษยชาติ

มีสถานที่มากมายในไฟล์ที่ถูกกฎหมายซึ่งการเปลี่ยนแปลงที่ละเอียดอ่อนจะไม่ปรากฏขึ้นอย่างผิดปกติตัวอย่างเช่นความแตกต่างของช่องว่างเล็กน้อยในไฟล์ข้อความ คุณต้องค้นหาสถานที่เหล่านี้ประมาณ 128 แห่งเพื่อให้มีขอบเขตที่เพียงพอในการสร้างไฟล์ที่เป็นอันตรายซึ่งทั้งคู่ดูเหมือนว่าถูกต้องตามกฎหมายและตรงกับเป้าหมาย MD5 ที่คุณต้องการ ฉันไม่แน่ใจว่าการโจมตีนี้สามารถใช้กับสถานการณ์นี้ได้หรือไม่
Robie Basak

@ RobieBasak คุณเข้าใจผิดถึงการโจมตี คุณไม่สามารถเปลี่ยน 128 ไบต์ในไฟล์และเก็บ md5sum ได้ คุณต้องแทรกชุดข้อมูลสุ่มสองชุดลงในไฟล์สองชุดและจะมี md5sum เดียวกันกับอีกชุดหนึ่งแม้ว่าจะมีข้อมูล "สุ่ม" สองชุดที่แตกต่างกันก็ตาม
psusi

1

md5 ไม่ได้ "เสีย" สิ่งที่พวกเขาพบคือวิธีการสร้างข้อความต้นฉบับอย่างระมัดระวังและข้อความที่ดัดแปลงซึ่งมีแฮชเดียวกัน มันเป็นไปไม่ได้ที่จะนำข้อความต้นฉบับที่ไม่ได้สร้างขึ้นมาเป็นพิเศษเพื่อวัตถุประสงค์ในการแก้ไขดัดแปลง (ไฟล์ที่ถูกต้อง) และแก้ไขในลักษณะที่จะรักษา md5sum ไว้


ตกลง. แต่จะเป็นวิธีที่ดีในการอ้างถึงสถานะปัจจุบันของการรักษาความปลอดภัย MD5 ในขณะนี้ถ้าไม่ "เสีย"? ฉันเข้าใจสิ่งที่คุณพูดและขอบคุณที่ชี้ให้เห็น ฉันยังคงสงสัยว่าจะประเมินความปลอดภัยในปัจจุบันโดย MD5 ได้อย่างไร
มนุษยชาติมาตรฐาน

@ มนุษยชาติandpeace "ได้ดี"
psusi

ฉันชอบทัศนคติในแง่ดี ฉันยังคงประหลาดใจกับการพิสูจน์แนวคิดหลังจากนั้น ขอบคุณ!
humanityANDpeace

1
"ผู้เชี่ยวชาญ Crypto พิจารณา MD5 เสียดังนั้นจึงควรถือว่าใช้งานไม่ได้" นั่นไม่ใช่วิธีที่โลกทำงาน @RobieBasak ในฐานะนักกีฏวิทยาเข้ารหัสลับ (ไม่สามารถเรียกตัวเองว่าเป็น "ผู้เชี่ยวชาญ" แต่ฉันต้องขุดลงไปไม่กี่ปีก่อน) ตัวเองฉันจะไม่ MD5 เสีย เพียงว่ามีกรณีที่น่าสนใจน่าลอง แต่ดูเหมือนว่าทฤษฎี atm แต่มันจะไม่ทำลายบรรจุภัณฑ์ของ Ubuntu;) กลับไปที่ 0 psusi;)
Rinzwind

1
@jackweirdy จริงๆแล้วมีและนั่นคือเหตุผลที่พวกเขาไม่ได้ทำอย่างนั้น วิธีการของพวกเขาอาศัยข้อมูลทั้งสองชุดที่มีคุณสมบัติเฉพาะอย่างมาก มันเหมือนกุญแจสาธารณะ คุณสามารถสร้างคู่ของคีย์ที่จับคู่กัน แต่มีเพียงอันเดียวที่คุณไม่สามารถหาได้
psusi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.