2009-11-08 16 views
6

क्या कोई सुरक्षित पायथन intepreter है?सुरक्षित पायथन intepreter?

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

क्या ऐसा सुरक्षित पायथन वीएम मौजूद है?

उत्तर

2

आप JVM पर JVM पर सुरक्षा प्रबंधक के साथ चला सकते हैं जो आपको अनुमति/अस्वीकृत संचालन निर्दिष्ट करने की अनुमति देता है।

7

मुझे पता नहीं इस तरह के "सुरक्षित दुभाषिया" है कि खुले तौर पर वितरित किया जाता है (जाहिर है गूगल एक है कि यह उन आप की इच्छा से कुछ अलग प्रतिबंधों के साथ App इंजन में उपयोग करता है, हालांकि है, उदाहरण के लिए, कुछ फ़ाइलों में खोला जा सकता, के बारे में पता केवल पढ़ने के लिए रास्ता)। इसके लिए कुछ दावे हैं, हालांकि, उदा। here, हालांकि मैं उन्हें सत्यापित नहीं कर सकता। Pypy का Python in a Sandbox शायद उच्चतम गुणवत्ता और पिप्पी की विकास टीम की प्रतिष्ठा को देखते हुए शीर्ष प्रयास करने योग्य है (वे असंबद्ध दावों को बनाने की बहुत संभावना नहीं हैं)।

+0

क्षमा करें एलेक्स, हमारे पास बस दौड़ की स्थिति थी। मैंने सवाल उठाया कि ओपी क्या पूछ रहा था (सुरक्षित) के लिए इसे पायथन शब्दावली (प्रतिबंधित) का उपयोग करें। – ddaa

+0

@ddaa, मुझे नहीं लगता कि ओपी विशेष रूप से rexec चाहता है - केवल एक "सुरक्षित रूप से sandboxed" पायथन वीएम ("सैंडबॉक्स" शब्द अक्सर इस तरह के संदर्भों में उपयोग किया जाता है)। –

1

आप एक .NET एपडोमेन के अंदर IronPython चला सकते हैं जिसमें विशेषाधिकार प्रतिबंधित हैं।

यह निश्चित रूप से विंडोज़ में काम करेगा, और संभवतः संभवतः/शायद मोनो में (मैं वास्तव में नहीं कह सकता)।

आपको एक छोटा प्रोग्राम लिखना होगा जो आयरनपीथन दुभाषिया को एम्बेड करता है और स्क्रिप्ट को पास करता है।

Iron Python in Action पुस्तक में एम्बेड करने के अध्याय में पहला उदाहरण इस तरह के लॉन्चर को लिखने के लिए दिखाता है।

मुझे याद नहीं है कि यह ऐपडोमेन को कवर करता है, लेकिन वह जानकारी कहीं भी वेब पर होनी चाहिए।

-1

मैं हाल ही में इसके साथ टकरा रहा हूं। मेरी आवश्यकताओं में पाइथन 3.x शामिल है जो तुरंत मेज से ज्योथन और आयरनपीथन जैसे समाधान लेता है। मैं वैसे भी उस मार्ग को लेने में संकोच करता हूं, क्योंकि मैंने कभी भी उपयोगकर्ता-मोड भाषा वीएम पर भरोसा नहीं किया है।

यह मामला है कि मेरे उद्देश्यों के लिए अब तक का सबसे अच्छा समाधान है कि इसे पूरी तरह से दुभाषिया के हाथों से बाहर निकालें और दृढ़ता से लॉक डाउन कंटेनर (ओपनवीजेड या इसी तरह) में चलाएं। हालांकि, यह समस्या के लिए एक हथौड़ा ले रहा है (यद्यपि पूर्ण वर्चुअलाइजेशन के स्लेजहैमर नहीं), और यदि आप वास्तव में अलग-अलग दुभाषियों को चलाने की ज़रूरत है तो व्यवहार्य नहीं हो सकता है।

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

1

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

एक दिन, कोडेलैब वेबसाइट (turingscraft.com) पहुंच योग्य नहीं है क्योंकि कोई लूप के दौरान एक अंतहीन चलाने का फैसला किया और इसके अंदर os.fork() को बुलाया।

यह स्पष्ट रूप से turingscraft.com के प्रशासकों के लिए एक समस्या थी।हालांकि, बाद में उन्हें छात्रों के लिए ऐसे आदेशों तक पहुंच प्रतिबंधित करने का एक तरीका मिला।

यदि मैं आप थे, तो मैं उनकी साइट के बारे में जानकारी देखता हूं। हो सकता है कि उन्होंने इसके बारे में कुछ जानकारी पोस्ट की और इसे कैसे ठीक किया जाए

2

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

0

आप हमेशा स्रोत कोड पर जा सकते हैं और पाइथन का अपना स्वाद बना सकते हैं। यदि पर्याप्त लोगों को इसकी आवश्यकता है, तो यह ऊपर और चलने से पहले नहीं होगा।

+0

+1, आंशिक रूप से क्योंकि इसे कम करने का कोई अच्छा कारण नहीं है, आंशिक रूप से क्योंकि Google Google इंजन के निर्माण में Google ने यही किया है। –

-1

सुरक्षा प्रणाली के लिए सुरक्षा अधिक काम नहीं है?

मेरा मतलब है, उपयोगकर्ता को फ़ाइलों तक सीमित पहुंच के साथ बनाएं। फिर वीएम को केवल इन अधिकारों के साथ भागने दें।

या शायद मैं बकवास बोल रहा हूं। मैं कोई sysadmin या सुरक्षा विशेषज्ञ नहीं हूँ, लेकिन मैं इसके लिए किए गए उपकरणों के साथ चीजें करना चाहता हूं।

+0

* निक्स आपके जैसा ही उपयोगकर्ता के रूप में चल रहे कोड के खिलाफ सुरक्षित नहीं किया गया है, आप इसे करने का प्रयास कर सकते हैं, लेकिन यह नरक होगा। सबसे अच्छा आप एक अन्य उपयोगकर्ता के रूप में एक संपूर्ण आवेदन चला सकते हैं, लेकिन फिर यह आपके जैसा ही एक्स 11 डिस्प्ले का उपयोग नहीं कर सकता .. –

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