मुझे लगता है एक समर्पित और साधन संपन्न हमलावर एक MITM हमले करते हैं और सार्वजनिक Maven खजाने के लिए सभी अनुरोधों को रोक, ध्यान से दुर्भावनापूर्ण इंजेक्शन लगाने सकता है जेएआर कलाकृतियों में बाइटकोड, फिर एसएचए 1 हैश का पुनर्मूल्यांकन और आपूर्ति।
क्लाइंट के लिए, यह एक वैध आर्टिफैक्ट के रूप में दिखाई देगा: बाइनरी जेएआर और एसएचए 1 मैच और वैकल्पिक मिरर की जांच करने के बावजूद भी वही होगा।
मुझे लगता है कि एकमात्र असली समाधान केंद्रीय रिपोज़ को HTTPS का समर्थन करने का अनुरोध करना है (और विश्वास है कि टीएलएस स्वयं टूट नहीं गया है)।
वैकल्पिक रूप से, एक व्यावहारिक दृष्टिकोण एक मैवेन प्रॉक्सी (आर्टिफैक्टरी या नेक्सस) स्थापित करना हो सकता है जो आंतरिक ग्राहकों को HTTPS पर सेवा प्रदान करता है। इससे हमले की सतह कम हो जाती है और इसका मतलब है कि आपको उस सर्वर से बाहरी दुनिया में संचार लाइनों को सुरक्षित करना होगा। मैं समय-समय पर जांच करूँगा कि प्रॉक्सी पर जेएआरएस और हैश उन लोगों से मिलते हैं जो पूरी तरह से स्वतंत्र, भरोसेमंद नेटवर्क का उपयोग करते हुए सार्वजनिक दर्पणों पर मेल खाते हैं।
तुम सच में, वास्तव में आप पर भरोसा नहीं किया जाएगा सुरक्षित करना चाहते हैं बाइनरी-बजाय, आप सभी स्रोत कोड डाउनलोड हो चाहते हैं और उन्हें हाथ द्वारा की समीक्षा कर उन्हें संकलन से पहले अपने आप को-लेकिन यह है कि मान लिया गया तुम हो समीक्षा करने के लिए पर्याप्त योग्य संसाधन और समय और आरंभ करने के लिए अपनी संपूर्ण बिल्ड टूल श्रृंखला पर भरोसा करें।
ठीक है, परतों में सुरक्षा जैसा कि वे हमेशा कहते हैं।
स्रोत
2011-08-17 14:18:48
मैंने इसे हल करने के लिए एक सामान्य उद्देश्य Enforcer प्लगइन नियम लिखा है: https://github.com/gary-rowe/BitcoinjEnforcerRules –
@GaryRowe ऐसा लगता है कि आपकी प्लगइन बाद के डाउनलोड को रोकती है जो रिकॉर्ड किए गए चेकसम से मेल नहीं खाती निर्माण में चेकसम को बेकिंग (जो हमले की सतह को कम करता है, जो अच्छा है), लेकिन जब निर्माण पहली बार बनाया गया है और चेकसम सूची लिखी जाती है (या जेनरेट की जाती है) में यह सुरक्षा नहीं होती है। असल में आप जहर से निर्माण को रोकते हैं * किसी और को * सही? क्या यह आपकी प्लगइन की उचित समझ है? – Gus