Ubuntu पैकेज (डिब-फाइल्स) केवल md5sum सुरक्षित हैं?


13

### नीचे प्रश्न के लिए परिचयात्मक पृष्ठभूमि

(ताकि प्रश्न अधिक लोगों के लिए अधिक उपयोगी है)
एक के अंदर Ubuntu / डेबियन-शैली पैकेज (* .deb फ़ाइल) वहाँ नाम की एक फ़ाइल है /DEBIAN/md5sumsजो इस फॉर्म की एक सामग्री है:

212ee8d0856605eb4546c3cff6aa6d35 usr / bin / file1
4131b66dc3913fcbf795159df912809f पथ / to / file2
8c21de23b7c25c9d1a093607fc27656a पथ / से / फ़ाइल 3
c6d010a475366e0644f3bf77d7f922fd पथ / के / जगह / के / file4

जैसा कि मुझे लगता है कि इस फाइल का उपयोग यह जांचने के लिए किया जाएगा कि पैकेज के साथ आने वाली फाइलें किसी तरह दूषित नहीं हुई हैं। चूंकि फ़ाइल को `/ DEBIAN / md5sums 'कहा जाता है, इसलिए मुझे लगता है कि पथ के पहले हेक्सेनंबर + फ़ाइल नाम पैकेज की फ़ाइलों का MD5 संदेश-डाइजेस्ट एल्गोरिथम हैश है।

अब हर कोई दिलचस्पी रखता है कि एमडी 5 हैश बहुत पहले ही टूट चुका है। इसलिए पैकेज में फ़ाइल की सामग्री को बदलना पूरी तरह से संभव है (उदाहरण के लिए दुर्भावनापूर्ण रूप से) और अभी भी एक ही MD5-Hash वाली फ़ाइल है (उदाहरण के लिए देखें अवधारणा की अवधारणा "विजेता की भविष्यवाणी करना ..." )।

सवाल

उपरोक्त जानकारी को ध्यान में रखते हुए मैं निम्नलिखित जानना चाहता हूं:

** मान लें कि मैं अपने उबंटू प्रणाली में एक पैकेज स्थापित करता हूं। क्या DEBIAN/md5sumsयह सुनिश्चित करने का एकमात्र साधन है कि डेटा से छेड़छाड़ नहीं की गई है? **

प्रश्न का उत्तर देते हुए मुझे लगता है कि यह निम्नलिखित का पता लगाने में मदद कर सकता है:

  • क्या संपूर्ण रूप से हैशेड (हैशवेल्स के लिए) के रूप में डेब्यू पैकेज हैं, ताकि प्राप्त फ़ाइलों को सुरक्षित बनाने का एक और तरीका "सुरक्षित" / "अपरिचित" हो
  • यदि अन्य तरीके हैं, तो DEBIAN/md5sumsअखंडता सुनिश्चित करने के लिए फ़ाइल, * .deb पैकेज में किसी भी तरह से शामिल फ़ाइल क्या है?
  • क्या उबंटू रिपोजिटरी / पैकेज-सिस्टम के लिए हैश का उपयोग करता है जो SHA-1 और MD5 की तुलना में "कम टूटे हुए" हैं?

जो दुर्भाग्य से मैं नहीं जानता।

कोई भी रिपॉजिट जो प्रश्न पर प्रकाश डाल सकता है (या केवल एक उपशमन) बहुत स्वागत है

अपडेट करें

(1) https://help.ubuntu.com/community/Repositories/Ubuntu#Authentication_Tab लगता है कि वहाँ है (जैसा कि मुझे उम्मीद थी) कुछ सार्वजनिक / निजी gpg कुंजी चल रही है (रेपो और पैकेज सिस्टम को सुरक्षित रखने के लिए) हमलों से। लिंक किए गए स्थान पर जानकारी बहुत अधिक नहीं है। यह पैकेज-सिस्टम के सुरक्षा पहलू के बारे में लगभग कुछ भी नहीं बताता है। किसी भी तरह मुझे लगता है कि लिंक पहले से ही इंगित करता है कि प्रश्न का उत्तर "रेपो से कम से कम डेबिट पैकेज - द्वारा सुरक्षित हैं ..." होगा। आशा है कि किसी को यहाँ जवाब के लिए उपयोग करने के लिए कुछ अंतर्दृष्टि है।

(२) यह सवाल उबंटू पैकेज सिस्टम में "सुरक्षा" विषय के बारे में भी लगता है। इसलिए मैं इसे यहाँ जोड़ रहा हूँ ताकि अगर कोई व्यक्ति इस सवाल का पता लगाने का प्रयास करे: प्रस्तावित BADSIG (apt-get update पर) क्यों सुरक्षित है?


1
debian.org/doc/debian-policy/… SHA-1 और SHA256 प्रति-फ़ाइल चेकसम के लिए समर्थन को इंगित करता है, हालांकि मुझे नहीं पता कि aptचेकसम पॉलिसी क्या है।
क्रोनिटिस

1
@ लिंक वहाँ के लिए धन्यवाद। वास्तव में SHA- * हैश का उल्लेख किया जाता है, मुझे अभी भी यह पता लगाना है कि वे पैकेज में कैसे दिखाई देते हैं (जो मैंने अभी तक नहीं देखा था) या पैकेज सिस्टम। क्या आप अधिक जानते हैं? वैसे संकेत पहले से ही एक अच्छा कदम है
मानवतावाद

जवाबों:


21

उबंटू एक प्रकट प्रकाशित करता है जो एक आरएसए कुंजी के साथ हस्ताक्षरित है। मेनिफ़ेस्ट व्यक्तिगत Packagesइंडेक्स फ़ाइलों को सूचीबद्ध करता है, जिनमें प्रत्येक MD5, SHA-1 और SHA-256 हैश के साथ है। प्रत्येक Packagesफ़ाइल .debMD5, SHA-1 और SHA-256 हैश के साथ अलग-अलग फ़ाइलों को सूचीबद्ध करती है ।

सत्यापन के लिए, apt उस सर्वश्रेष्ठ हैश का उपयोग करता है जिसे वह समर्थन करता है और संग्रह से प्रकाशित होता है जिसे वह डाउनलोड कर रहा है। उबंटू संग्रह के मामले में, यह SHA-256 है।

तो आपके उबंटू सिस्टम पर पैकेज स्थापित करने की पूरी श्रृंखला RSA और SHA-256 द्वारा सुरक्षित है।

Dpkg में मौजूद MD5 सुरक्षा वास्तव में केवल आकस्मिक भ्रष्टाचार के लिए उपयोगी है, और स्थापना पथ की सुरक्षा के लिए आवश्यक नहीं है।

आपको debsumsपैकेज में दिलचस्पी हो सकती है , लेकिन चूंकि यह एमडी 5 का उपयोग करता है, इसलिए यह केवल आकस्मिक भ्रष्टाचार के लिए जाँच के लिए भी उपयोगी है।

यदि आप दुर्भावनापूर्ण सिस्टम संशोधन की जांच करना चाहते हैं, तो ये आपके लिए उपयुक्त उपकरण नहीं हैं। आपको सिस्टम को ऑफ़लाइन लेने और पिछले रिकॉर्ड, मूल पैकेज फ़ाइलों या इन से उत्पन्न सुरक्षित हैश के खिलाफ जांच करने की आवश्यकता होगी।

ध्यान दें कि चूंकि एक सफल दुर्भावनापूर्ण संशोधन एक सुरक्षा अद्यतन से पहले एक पैकेज को केवल डाउनग्रेड करने के लिए हो सकता है, यह जांच कर कि सभी स्थापित पैकेज फाइलें उनके मूल के खिलाफ मेल नहीं खाती हैं।


1
मैंने कुछ स्पष्ट अंतर्दृष्टि प्राप्त की है। आपको यह सब जानकारी कहां से मिली, जो मुझे खोजने में इतनी भिन्नता है? क्या आपके पास उपयोग किए गए कुछ docus / लिंक हैं? इसके अलावा, मैंने आपके द्वारा उल्लिखित "डाउनग्रेड-डेंजर" के उल्लेख की सराहना की है, इसलिए मुझे अभी तक यह समझ में नहीं आया है कि यह कैसे शोषण किया जा सकता है। महान! धन्यवाद
मानवतावादी

मुझे विश्वास नहीं है कि उपयुक्त रिपॉजिटरी प्रारूप कहीं भी ठीक से निर्दिष्ट या प्रलेखित है। यह बुरा है, लेकिन यह है कि यह कैसे है। सबसे अच्छा (और केवल मेरे ज्ञान के लिए) सच्चा प्रलेखन स्रोत है। मुझे विवरण पता है क्योंकि मैंने स्रोत में काम किया है। दूसरी ओर, डेबियन नीति में dpkg प्रारूप बहुत अच्छी तरह से निर्दिष्ट है। यह कवर करता है कि आपके सिस्टम पर पैकेज खत्म होने के बाद क्या होता है, लेकिन यह नहीं कि वे वहां कैसे पहुंचते हैं। उत्तरार्द्ध हिस्सा उपयुक्त द्वारा किया जाता है।
रॉबी बसाक

डाउनग्रेड जोखिम: यह एक तरफ है और वास्तव में आपके मूल प्रश्न से सीधे जुड़ा नहीं है। यदि शोषण ए को संस्करण ए में खोजा गया है, तो आपको संस्करण बी के लिए एक सुरक्षा अद्यतन मिलता है, जहां भेद्यता तय हो जाती है। यदि कोई हमलावर ए संस्करण में एक्स का शोषण कर सकता है, तो आप सुरक्षित हैं, चूंकि आप बी में अपग्रेड किए गए हैं। लेकिन अगर हमलावर आपको ए में अपग्रेड भी कर सकता है, तो आप फिर से असुरक्षित हैं। यदि आपके सभी सुरक्षित हैश पैकेज आपके द्वारा स्थापित किए गए पैकेज से मेल खाते हैं, तो भी आप इसे नोटिस नहीं करेंगे, क्योंकि आपका पैकेज डेटाबेस कहेगा कि आपको ए स्थापित होना चाहिए और बी नहीं
रॉबी बसाक

2
@RobieBasak "मुझे विश्वास नहीं है कि उपयुक्त रिपॉजिटरी प्रारूप कहीं भी ठीक से निर्दिष्ट या प्रलेखित है।" जाहिर है कि यह सच नहीं है। तुम्हें सिर्फ उसे ढूँढना है। डेबियन विकी: रिपोजिटरीफ़ॉर्मैट
गर्टवडिज्क

6

मैं चाहता था कि यह एक टिप्पणी हो, लेकिन मैं इसे बॉक्स में फिट नहीं कर सका इसलिए मैं इसे यहां रख रहा हूं।

हां, md5 को क्रिप्टोलॉजिकली तोड़ दिया गया है, लेकिन इसका मतलब यह नहीं है कि यह एक खराब सामान्य उद्देश्य हैशिंग एल्गोरिदम है। एक फाइल को संशोधित करना ताकि उसमें समान हैश अविश्वसनीय रूप से कठिन है, और एक विशेष दुर्भावनापूर्ण परिवर्तन के साथ ऐसा करना असंभव पर शून्य है। आपके द्वारा संदर्भित उदाहरण को देखने से , ( विजेता की भविष्यवाणी करना ) इसे देखें:

"दस्तावेजों को पहले वैध पीडीएफ दस्तावेजों के रूप में सावधानीपूर्वक तैयार किया गया था, जिसमें एक छिपी हुई छवि वस्तु शामिल है, जिसमें पर्याप्त मात्रा में यादृच्छिक बिट्स शामिल हैं। फिर, ऊपर दिखाए गए हीरे की संरचना के अनुसार, ग्यारह चुने-उपसर्ग टकराव की गणना की गई, और छिपे हुए अंदर रखा गया। छवि को उचित स्थानों पर चित्रित किया गया। इस तरह से बारह दस्तावेजों को एमडी 5 बहु-टकराव में बदल दिया गया। "

जो किया गया था वह हैश मैच करने के लिए रैंडम डेटा के साथ फाइलों को भर रहा था । तकनीक कहीं भी किसी फाइल में विशेष रूप से दुर्भावनापूर्ण कोड जोड़ने में सक्षम नहीं है और हैश लाइन को बिना तोड़े या इसे स्पष्ट किए हुए है कि फ़ाइल को बदल दिया गया है (मुझे नहीं पता कि क्या उपयुक्त है, लेकिन कई फ़ाइल हैश हैं एक undetectable हैश टक्कर की कठिनाई को बढ़ाने के लिए उनके फ़ाइल आकार के साथ)।


3
जवाब के लिए धन्यवाद। मुझे लगता है कि यह एक अच्छा उत्तर है, इस अर्थ में कि यह पूरी पृष्ठभूमि को अधिक प्रकाश देता है :) Unfortunatelly "Stack ... Ask Ubuntu" कभी-कभी "केवल प्रश्न का सख्ती से उत्तर" के साथ कठिन होता है और इसलिए इसके महान आपने साहस किया विषय पर विस्तार से बताने के लिए।
मानवतावादपीस

तैयार पीडीएफ फ़ाइलों में यादृच्छिक डेटा होता है और इस सारे प्रयास के साथ केवल 104kb हैं। आप यह क्यों कहेंगे कि यह असंभव है? डिब पैकेज में टन फाइलें होनी चाहिए> 200kb जहां ऐसा होना संभव है। मैं अवधारणा के प्रमाण को देखने के बाद इतना सुरक्षित महसूस नहीं कर रहा हूं, जिसने मुझे आश्चर्यचकित कर दिया और मुझे झकझोर दिया
मानवता

वैध फ़ाइलों में बहुत सारी जगह होती हैं, जहां एक सूक्ष्म परिवर्तन अजीब नहीं दिखाई देता है, उदाहरण के लिए पाठ फ़ाइल में मामूली व्हाट्सएप अंतर। आपको केवल दुर्भावनापूर्ण फ़ाइल बनाने के लिए पर्याप्त स्थान होने के लिए इनमें से लगभग 128 स्थानों को खोजने की आवश्यकता है, जो दोनों वैध प्रतीत होते हैं और आपके वांछित लक्ष्य 5 से मेल खाते हैं। मुझे यकीन नहीं है कि इस विशेष हमले को इस स्थिति पर लागू किया जा सकता है या नहीं।
रॉबी बसक

@RobieBasak, आप हमले को गलत समझते हैं। आप बस एक फाइल में 128 बाइट्स में बदलाव नहीं कर सकते हैं और md5sum को संरक्षित कर सकते हैं। आपको फ़ाइल के दो प्रतियों में यादृच्छिक डेटा के दो सेट प्रतीत होने वाले चीज़ का एक हिस्सा सम्मिलित करना होगा, और उनके पास एक दूसरे के समान md5sum होगा, इस तथ्य के बावजूद कि "यादृच्छिक" डेटा के दो टुकड़े अलग-अलग हैं।
Psusi

1

md5 "टूटा हुआ" नहीं था। उन्हें जो मिला, वह मूल संदेश को ध्यान से देखने का एक तरीका था, और एक संशोधित संदेश जिसमें वही हैश था। मूल संदेश को (सही फ़ाइल) के साथ छेड़छाड़ करने के उद्देश्य से विशेष रूप से तैयार नहीं किया जाना संभव नहीं है, और इसे इस तरह से संशोधित करें जैसे कि इसके md5sum को संरक्षित करना।


ठीक। लेकिन एमडी 5 सुरक्षा की वर्तमान स्थिति को संदर्भित करने का इससे अच्छा तरीका क्या होगा, अगर "टूटा नहीं"? मैं समझ सकता हूं कि आप क्या कहते हैं और मैं इसे इंगित करने के लिए धन्यवाद देता हूं। मुझे अभी भी आश्चर्य है कि एमडी 5 आदि द्वारा वर्तमान सुरक्षा का मूल्यांकन कैसे किया जाता है
मानवता

@humanityandpeace, "बस ठीक है"।

मुझे आशावादी रवैया पसंद है। मैं अभी भी अवधारणा के प्रमाण से चकित था। धन्यवाद!
मानवतावादी

1
"क्रिप्टो विशेषज्ञ एमडी 5 को टूटा हुआ मानते हैं। इसलिए इसे टूटा हुआ माना जाना चाहिए।" जिस तरह से दुनिया @RobieBasak काम करती है वह एक क्रिप्टो उत्साही के रूप में नहीं है (खुद को एक "विशेषज्ञ" नहीं कह सकते हैं, लेकिन मुझे इसे कुछ साल पहले खोदना था) मैं खुद एमडी 5 नहीं टूटा है। केवल इतना है कि वहाँ एक दिलचस्प मामला है की जाँच के लायक है, लेकिन यह प्रमेय atm लगता है। ); 0 psusi को) वापस, लेकिन यह उबंटू की पैकेजिंग टूट जाएगा नहीं
Rinzwind

1
@jackweirdy, वास्तव में, वहाँ है, और यही कारण है कि उन्होंने ऐसा नहीं किया। उनकी विधि बहुत विशिष्ट गुणों वाले डेटा के दोनों सेटों पर निर्भर करती है। यह एक सार्वजनिक कीपर की तरह है। आप एक-दूसरे से मेल खाने वाली कुंजियों की एक जोड़ी उत्पन्न कर सकते हैं, लेकिन केवल एक को दिए जाने पर, आप दूसरे का पता नहीं लगा सकते।
psusi
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.