เราจำเป็นต้องตรวจสอบความสมบูรณ์ของไฟล์ที่ดาวน์โหลดหรือไม่? [ซ้ำ]


9

ฉันดาวน์โหลดไฟล์จำนวนมาก แต่ค้นพบการใช้ md5 และ sha เป็นตัวตรวจสอบความสมบูรณ์เมื่อไม่นานมานี้ จากนั้นฉันมักจะตรวจสอบไฟล์ที่มีขนาดใหญ่แม้ว่าฉันจะไม่เคยพบว่าไฟล์เหล่านั้นเสียหาย

เราจำเป็นต้องตรวจสอบความสมบูรณ์ของไฟล์ที่ดาวน์โหลดหรือไม่?

เลือกตัวอย่างการกระจาย Linux ที่ฉันเพิ่งดาวน์โหลดซึ่งก็คือ 1GB ถ้าคุณต้องการ

ขอบคุณ


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

5
จุดเปรียบเทียบแฮชอาจเป็น "มีใครบางคนเปลี่ยนไฟล์ (โดยเจตนา)" กว่า "ดาวน์โหลดไฟล์อย่างถูกต้อง" ตัวอย่างสำคัญอย่างหนึ่งคือการดาวน์โหลด windows ISO จากแหล่งข้อมูลที่ไม่ใช่เป็นทางการ / ไม่น่าเชื่อถือและตรวจสอบความสมบูรณ์ของไฟล์โดยการเปรียบเทียบแฮช MD5 กับ Microsoft ที่เผยแพร่บน MSDN
TheUser1024

1
@ TheUser1024 นี่ถือว่าทั้งสองแหล่งเหมือนกันเวอร์ชั่น MSDN อาจแตกต่างกัน
Eric G

1
คำถามนี้อาจได้รับคำตอบเพิ่มเติมเกี่ยวกับความปลอดภัย
SE

3
จริงๆแล้วมันเป็นเรื่องของความซื่อสัตย์มากกว่าความปลอดภัยเนื่องจากฉันดาวน์โหลดจากแหล่งที่เชื่อถือได้เท่านั้นแม้ว่ามันจะเป็นจุดสำคัญในการดาวน์โหลดไฟล์
maxpesa

คำตอบ:


6

ขึ้นอยู่กับปัจจัยบางประการ

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

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

โดยรวมแล้วทั้ง 2 นี้จะไม่ให้คนส่วนใหญ่ ถ้าไม่ใช่สำหรับคุณแน่นอนว่าขึ้นอยู่กับคุณแน่นอน


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

6
การตรวจสอบไฟล์ไม่ใช่การตรวจสอบความปลอดภัยเนื่องจากผู้โจมตีที่สามารถแก้ไขไฟล์อาจมีการเปลี่ยนแปลงการตรวจสอบด้วย
จอห์นนี่

1
ถ้าฉันจะแฮ็คไซต์และแทนที่ไฟล์ด้วยไฟล์ที่เป็นอันตรายฉันคิดว่าฉันฉลาดพอที่จะรู้ว่าเปลี่ยนแฮชที่ปรากฏ
โคลจอห์นสัน

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

ฉันคิดว่าความคิดของแฮชคือเมื่อไฟล์ที่ให้มาโฮสต์บนไซต์อื่นเพื่อแฮช เช่นไซต์ของผู้พัฒนาที่มีแฮชลิงก์ไปยัง Sourceforge หรือที่อื่น
Matthew Lock

6

คำตอบและตัวเลือกที่เลือกจะขึ้นอยู่กับการยอมรับความเสี่ยงและการพิจารณาเวลาและความพยายามในการตรวจสอบ

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

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

ในที่สุดคุณต้องทำด้วยความขยันของคุณเองเพื่อตรวจสอบว่าคุณต้องการที่จะเชื่อถือบางสิ่งบางอย่างจากนั้นดำเนินการตอบโต้ (เรียกใช้ในกล่องทรายเครื่องเสมือน ฯลฯ ) เพื่อลดปัจจัยที่ไม่ทราบหรือการคำนวณผิดที่คุณตัดสินใจเมื่อตัดสินใจว่าจะเชื่อถือหรือไม่ .


4

เพื่อเหตุผลด้านความปลอดภัยใช่ พิจารณาว่าพบโหนดออกจาก Tor ว่ากำลังทำการปรับปรุงไบนารีระหว่างการดาวน์โหลดจากนั้นโปรดจำไว้ว่า ISP ของคุณอาจมีหรือไม่มีจริยธรรมเล็กน้อยและพวกเขาสามารถควบคุมการเชื่อมต่ออินเทอร์เน็ตของคุณได้อย่างสมบูรณ์


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

@maxpesa - พวกเขาสามารถปรับเปลี่ยนกระแสได้หากต้องการ ไฟล์จะไม่เสียหายเพียงแค่แก้ไข
Ramhound

@maxpesa - ฉันกำลังชี้ให้เห็นว่า ISP ของคุณอยู่ในตำแหน่งเดียวกับโหนดทางออก Tor ในบทความที่เชื่อมโยง - มันมีความสามารถในการควบคุมสิ่งที่เกิดขึ้นกับสายของคุณ หากพวกเขาต้องการพวกเขาจะสามารถแก้ไขไบนารีที่คุณดาวน์โหลดได้ทันที
Michael Kohne

2
หากผู้โจมตีสามารถแก้ไขไบนารีผู้โจมตีสามารถ likley ส่วนใหญ่ยังแก้ไขแฮ นั่นจะต้องมีการโจมตีที่ตรงเป้าหมายมากกว่าการแพตช์ไบนารีทั้งหมด แต่ก็ยังเป็นไปได้มาก ขณะตรวจสอบแฮชสามารถหลีกเลี่ยงความเสียหายได้ไม่มีการรับประกันใด ๆ หากคุณใส่ใจเรื่องความปลอดภัยขั้นตอนแรกคือดาวน์โหลดเฉพาะ HTTPS เท่านั้น - โดยเฉพาะอย่างยิ่งเมื่อคุณใช้พร็อกซีอย่าง tor
kapex

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

4

สำหรับไฟล์ที่มีความสำคัญอย่างยิ่งใช่

ฉันมักจะพบว่าจำเป็นเมื่อฉันทำบางสิ่งที่มันสำคัญมากที่ไฟล์มีความสมบูรณ์สูง

ตัวอย่างหนึ่งกำลังกระพริบเราเตอร์ด้วย OpenWRT หากไฟล์เสียหายเราเตอร์นั้นก็จะถูกบล็อกและฉันก็ต้อง:

  • แทนที่ (แพง)
  • แก้ไข (เสียเวลาโดยเฉพาะถ้าฉันต้องบัดกรีสายเคเบิลอนุกรม / JTAG)

ทั้งสองนี้ไม่สะดวกเมื่อเทียบกับความง่ายในการตรวจสอบแฮช ดังนั้นฉันขอแนะนำให้ทำสำหรับไฟล์สำคัญ


0

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

ในหลายกรณีการดาวน์โหลดเป็นไฟล์บีบอัดที่จะไม่ขยายขนาดหากไฟล์เสียหาย หากไม่ใช่ในกรณีนี้การตรวจสอบไม่ใช่ความคิดที่ผิด ฉันอาจตรวจสอบ ISO ก่อนที่จะเขียนลงในสื่อบันทึกที่เขียนครั้งเดียว

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

ประเด็นก็คือการเผยแพร่แฮชจะมีประโยชน์สำหรับกรณีพิเศษมากมายนอกเหนือจากการดาวน์โหลดไฟล์จากไซต์เดียวกันที่โฮสต์แฮช

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.