2011-02-23 21 views
8

this page के अनुसार:NuGet आधिकारिक पैकेज स्रोत: क्या मुझे पैकेज की सुरक्षा के बारे में चिंतित होना चाहिए?

संकुल जोड़ने के लिए कोई केंद्रीय अनुमोदन प्रक्रिया। जब आप NuGet पैकेज गैलरी (जो अभी तक मौजूद नहीं है) में कोई पैकेज अपलोड करते हैं, तो आपको किसी दिन की समीक्षा करने और इसे स्वीकृति देने के लिए इंतजार करने के लिए दिन या सप्ताह के लिए इंतजार नहीं करना पड़ेगा। इसके बजाए, जब हम फ़ीड की बात करते हैं तो हम समुदाय पर मध्यम और पुलिस के लिए भरोसा करेंगे। यह CodePlex.com और RubyGems.org कैसे काम करता है इस भावना में है।

इससे मुझे असहज महसूस होता है। फ़ायरफ़ॉक्स ऐड-ऑन डाउनलोड करने से पहले, मुझे पता है कि इसमें दुर्भावनापूर्ण कोड नहीं होना चाहिए, क्योंकि AFAIK addons.mozilla.org पर सभी एड-ऑन की समीक्षा मोज़िला द्वारा की जाती है। Codeplex.com या code.google.com से ओपन सोर्स प्रोजेक्ट डाउनलोड करने से पहले, मुझे पता है कि यह सुरक्षित होना चाहिए क्योंकि कोई भी इसका स्रोत कोड देख सकता है। और मैं इस परियोजना के बारे में अन्य लोगों के बारे में सोचने के लिए WOT (ट्रस्ट का वेब) भी उपयोग कर सकता हूं।

लेकिन इससे पहले कि मैं NuGet आधिकारिक पैकेज स्रोत से पैकेज डाउनलोड करता हूं। उदाहरण के लिए this one लें। मुझे नहीं पता कि यह पैकेज किसने बनाया है, न ही पैकेज में क्या शामिल है। ऐसा लगता है कि कोई भी पैकेज में कुछ भी पैक कर सकता है, उसे वह नाम दे सकता है (जैसे "माइक्रोसॉफ्ट प्रिज्म", जब तक नाम नहीं लिया जाता है), फिर इसे आधिकारिक पैकेज स्रोत पर अपलोड करें।

क्या मुझे NuGet आधिकारिक पैकेज स्रोत पर पैकेज की सुरक्षा के बारे में चिंतित होना चाहिए?

उत्तर

8

आपका uneasyness सॉफ्टवेयर आप किसी भी स्रोत से प्राप्त करने के लिए आवेदन करना चाहिए:

  1. बाइनरी Sourceforge.net, Codeplex.com, आदि से डाउनलोड feasibly दुर्भावनापूर्ण कोड हो सकते हैं (या तो मूल सबमिटर या अधिक होने की संभावना द्वारा लगाए , वेबसाइट में एक हैकर द्वारा डाला गया) जो अनजान हो सकता है जब तक कि कोई (आप?) काटा जाता है और अलार्म उठाता है।
  2. भले ही आप अपनी वेबसाइटों में से किसी एक से डाउनलोड स्रोत से अपनी बाइनरी संकलित करते हैं, फिर भी यह दुर्भावनापूर्ण कृत्यों को तब तक कर सकता है जब तक कि आप सभी स्रोत कोड पर न जाएं और समझें कि यह क्या करता है।
  3. 'ऐप स्टोर' से डाउनलोड किए गए सॉफ़्टवेयर (जैसे ऐप्पल आईट्यून्स, एंड्रॉइड मार्केट) में दुर्भावनापूर्ण कोड हो सकता है; इनमें से कुछ समीक्षा प्रक्रियाएं आंशिक रूप से स्वचालित हैं लेकिन अभी भी अचूक नहीं हैं, और मानव समीक्षा जो भी होती है वह निश्चित रूप से अचूक नहीं है!
  4. मैलवेयर वाले बॉक्स किए गए सॉफ़्टवेयर के अतीत में उदाहरण रहे हैं!

शायद ट्रस्ट की निरंतरता है जो आपके पास सॉफ़्टवेयर (द्विआधारी या स्रोत कोड के रूप में वितरित) में हो सकती है, और Nuget पैकेज गैलरी (और CodePlex.com और RubyGems, आदि) जैसे कुछ शायद कम पर निर्भर हैं निरंतरता का अविश्वसनीय अंत।

इस तरह की समस्या के संभावित समाधान हैं, जैसे कि विश्वसनीय कंप्यूटिंग प्लेटफार्म गठबंधन द्वारा प्रस्तावित, हालांकि वे उन स्वतंत्रताओं पर भारी प्रतिबंध लगाते हैं जिन्हें हम वर्तमान में सॉफ्टवेयर विकसित करने और हमारे द्वारा विकसित सॉफ्टवेयर को साझा करने में आनंद लेते हैं फिट, बिना किसी खर्च के केंद्रीय अधिकारियों से प्राप्त लाइसेंस या क्रिप्टोग्राफिक कुंजी की आवश्यकता के बिना।

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

-1

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

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

+0

"... वह मिलेगा, उजागर होगा और यहां तक ​​कि मुकदमा चलाया जाएगा।" इनमें से अधिकांश प्रॉक्सी के परतों के माध्यम से बनाए गए नकली खातों के साथ होता है। हां, यह पाया जाएगा लेकिन किसी पर भी मुकदमा चलाया जाएगा। – ConfusedDeer

1

NuGet ट्रस्ट का प्रबंधन नहीं करता है। यहां तक ​​कि अगर ऐसा हुआ, तो आपको अभी भी NuGet ट्रस्ट पर भरोसा करने के बारे में चिंतित होना होगा।

आपको पूरी तरह से NuGet पैकेज में कोड की सुरक्षा के बारे में चिंतित होना चाहिए। आपको किसी ऐसे कोड की सुरक्षा के बारे में चिंतित होना चाहिए जिसके बारे में आप परिचित नहीं हैं।

दृष्टिकोण मैं, संकुल का उपयोग कर दोनों व्यक्तिगत रूप से और पेशेवर, NuGet और NPM के माध्यम से करने के लिए ले नीचे हैं:

  1. अर्थ संस्करण संख्या में ताला पूरी तरह से। स्पष्ट रूप से प्रमुख, मामूली, और पैच संख्या निर्दिष्ट करें। यह न मानें कि नए अपडेट सुरक्षित होंगे या उनका अर्थपूर्ण संस्करण सटीक होगा।
  2. उत्पादन के लिए केवल प्रसिद्ध ज्ञात वर्तमान संस्करणों का उपयोग करें।
  3. सीमित पहुंच के साथ परीक्षण वातावरण में कुछ भी के साथ प्रयोग एक ऐसे खाते के तहत जो स्थानीय प्रशासक नहीं है, अत्यधिक विशेषाधिकार प्राप्त प्रमाण-पत्रों तक कोई स्थानीय पहुंच नहीं है, परीक्षण मशीन के आईपी को दिए गए विशेषाधिकार प्राप्त संसाधनों तक पहुंच अधिकार नहीं है।
  4. विक्रेता की जांच करें। उदाहरण के लिए यदि पैकेज अमेज़ॅन द्वारा जारी किया गया है और यह एक एडब्ल्यूएस एसडीके है, तो यदि आप अमेज़ॅन पर भरोसा करते हैं तो वह पैकेज शायद उपयोग करने के लिए सुरक्षित है।

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

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

संबंधित मुद्दे