सैंडबॉक्स (कंप्यूटर सुरक्षा)
कंप्यूटर सुरक्षा में, एक सैंडबॉक्स चल रहे प्रोग्राम को अलग करने के लिए एक सुरक्षा तंत्र है, आमतौर पर सिस्टम विफलताओं और/या सॉफ़्टवेयर भेद्यता (कंप्यूटिंग) को फैलने से रोकने के प्रयास में। अलगाव का रूपक उन बच्चों के विचार से लिया गया है जो एक साथ अच्छा नहीं खेलते हैं, इसलिए प्रत्येक को अकेले खेलने के लिए अपना स्वयं का सैंडपिट दिया जाता है। यह अक्सर मेजबान मशीन या ऑपरेटिंग सिस्टम को नुकसान पहुंचाए बिना, असत्यापित या अविश्वसनीय तृतीय पक्षों, आपूर्तिकर्ताओं, उपयोगकर्ताओं या वेबसाइटों से, बिना जांचे या अविश्वसनीय प्रोग्राम या कोड को निष्पादित करने के लिए उपयोग किया जाता है।[1] एक सैंडबॉक्स आमतौर पर अतिथि कार्यक्रमों को चलाने के लिए संसाधनों का एक कसकर नियंत्रित सेट प्रदान करता है, जैसे भंडारण और मेमोरी खरोंच की जगह। नेटवर्क एक्सेस, होस्ट सिस्टम का निरीक्षण करने की क्षमता, या इनपुट डिवाइस से पढ़ने की क्षमता आमतौर पर अस्वीकृत या भारी प्रतिबंधित होती है।
अत्यधिक नियंत्रित वातावरण प्रदान करने के अर्थ में, सैंडबॉक्स को वर्चुअलाइजेशन के विशिष्ट उदाहरण के रूप में देखा जा सकता है। सैंडबॉक्सिंग का उपयोग अक्सर असत्यापित प्रोग्रामों का परीक्षण करने के लिए किया जाता है जिसमें सॉफ़्टवेयर को होस्ट डिवाइस को नुकसान पहुँचाने की अनुमति के बिना कंप्यूटर वायरस या अन्य मैलवेयर हो सकते हैं।[2]
कार्यान्वयन
एक प्रतिबंधित ऑपरेटिंग सिस्टम वातावरण में सॉफ़्टवेयर को निष्पादित करके एक सैंडबॉक्स कार्यान्वित किया जाता है, इस प्रकार उन संसाधनों (जैसे फाइल डिस्क्रिप्टर, मेमोरी, फ़ाइल सिस्टम स्पेस, आदि) को नियंत्रित किया जा सकता है जो एक प्रक्रिया का उपयोग कर सकते हैं।[3] सैंडबॉक्स कार्यान्वयन के उदाहरणों में निम्नलिखित शामिल हैं:
- Linux अनुप्रयोग सैंडबॉक्सिंग, Seccomp, cgroups और Linux नाम स्थान पर निर्मित। विशेष रूप से Systemd, Google Chrome, Firefox, Firejail द्वारा उपयोग किया जाता है।
- Android_(ऑपरेटिंग_सिस्टम) पूर्ण एप्लिकेशन सैंडबॉक्सिंग को लागू करने वाला पहला मुख्यधारा का ऑपरेटिंग सिस्टम था, जिसे प्रत्येक एप्लिकेशन को अपना लिनक्स यूजर आईडी निर्दिष्ट करके बनाया गया था।[4]
- Apple Inc. ऐप सैंडबॉक्स Apple के Mac ऐप स्टोर और iOS/iPadOS ऐप स्टोर (iOS/iPadOS) के माध्यम से वितरित ऐप्स के लिए आवश्यक है, और अन्य हस्ताक्षरित ऐप्स के लिए अनुशंसित है।[5][6]
- विंडोज विस्टा और बाद के संस्करणों में एक निम्न मोड प्रक्रिया चल रही है, जिसे उपयोगकर्ता खाता नियंत्रण के रूप में जाना जाता है उपयोगकर्ता खाता नियंत्रण (UAC), जो केवल एक विशिष्ट निर्देशिका और रजिस्ट्री कुंजियों में लिखने की अनुमति देता है। विंडोज 10 प्रो, संस्करण 1903 से, विंडोज सैंडबॉक्स के रूप में जानी जाने वाली सुविधा प्रदान करता है।[7]
- गूगल सैंडबॉक्स्ड एपीआई।[8]
- आभासी मशीन एमुलेटर एक पूर्ण होस्ट कंप्यूटर है, जिस पर एक पारंपरिक ऑपरेटिंग सिस्टम बूट हो सकता है और वास्तविक हार्डवेयर के रूप में चल सकता है। अतिथि ऑपरेटिंग सिस्टम इस अर्थ में सैंडबॉक्स में चलता है कि यह होस्ट पर मूल रूप से कार्य नहीं करता है और केवल एमुलेटर के माध्यम से होस्ट संसाधनों तक ही पहुंच सकता है।
- एक ऑपरेटिंग-सिस्टम-स्तरीय वर्चुअलाइजेशन: नेटवर्क-एक्सेस प्रतिबंध, और एक प्रतिबंधित फाइल सिस्टम नेमस्पेस। वर्चुअल होस्टिंग में जेल का सबसे ज्यादा इस्तेमाल होता है।[9]
- नियम-आधारित निष्पादन उपयोगकर्ताओं को इस बात पर पूर्ण नियंत्रण देता है कि कौन सी प्रक्रियाएँ शुरू की गई हैं, (अन्य अनुप्रयोगों द्वारा) उत्पन्न की गई हैं, या अन्य अनुप्रयोगों में कोड इंजेक्ट करने की अनुमति दी गई है और सिस्टम के अनुसार उपयोगकर्ताओं या कार्यक्रमों के लिए पहुँच स्तर निर्दिष्ट करके नेट तक पहुँच है। निर्धारित नियमों का एक सेट।[10] यह फ़ाइल/रजिस्ट्री सुरक्षा को भी नियंत्रित कर सकता है (फ़ाइल सिस्टम/रजिस्ट्री को कौन से प्रोग्राम पढ़ और लिख सकते हैं)। ऐसे वातावरण में, वायरस और ट्रोजन वायरस के पास कंप्यूटर को संक्रमित करने के कम अवसर होते हैं। SELinux और Apparmor सुरक्षा ढाँचे Linux कर्नेल के लिए दो ऐसे कार्यान्वयन हैं।
- सुरक्षा शोधकर्ता मैलवेयर व्यवहार का विश्लेषण करने के लिए सैंडबॉक्सिंग तकनीकों पर बहुत अधिक निर्भर करते हैं। एक ऐसा वातावरण बनाकर जो लक्षित डेस्कटॉप की नकल या नकल करता है, शोधकर्ता यह मूल्यांकन कर सकते हैं कि मैलवेयर कैसे लक्षित होस्ट को संक्रमित और समझौता करता है। कई मैलवेयर विश्लेषण सेवाएँ सैंडबॉक्सिंग तकनीक पर आधारित हैं।[11]
- Google नेटिव क्लाइंट उपयोगकर्ता के ऑपरेटिंग सिस्टम से स्वतंत्र, कुशलतापूर्वक और सुरक्षित रूप से ब्राउज़र में संकलित C और C++ कोड चलाने के लिए एक सैंडबॉक्स है।[12]
- क्षमता-आधारित सुरक्षा प्रणालियों को एक सूक्ष्म सैंडबॉक्सिंग तंत्र के रूप में माना जा सकता है, जिसमें कार्यक्रमों को उत्पन्न होने पर अपारदर्शी टोकन दिए जाते हैं और उनके पास मौजूद टोकन के आधार पर विशिष्ट चीजें करने की क्षमता होती है। क्षमता-आधारित कार्यान्वयन विभिन्न स्तरों पर काम कर सकते हैं, कर्नेल से लेकर यूजर-स्पेस तक। क्षमता-आधारित उपयोगकर्ता-स्तरीय सैंडबॉक्सिंग के एक उदाहरण में वेब ब्राउज़र में HTML रेंडरिंग शामिल है।
- seccomp|सिक्योर कंप्यूटिंग मोड (seccomp) सख्त मोड, seccomp केवल अनुमति देता है
write()
,read()
,exit()
, औरsigreturn()
सिस्टम कॉल। - HTML5 में iframes के साथ उपयोग के लिए एक सैंडबॉक्स विशेषता है।[13]
- जावा आभासी मशीनों में अविश्वसनीय कोड की क्रियाओं को प्रतिबंधित करने के लिए एक सैंडबॉक्स शामिल है, जैसे कि जावा एप्लेट।
- .NET सामान्य भाषा रनटाइम अविश्वसनीय कोड पर प्रतिबंध लागू करने के लिए कोड एक्सेस सुरक्षा प्रदान करता है।
- सॉफ्टवेयर फॉल्ट आइसोलेशन (SFI),[14] सभी स्टोर को सैंडबॉक्सिंग करके अविश्वसनीय देशी कोड चलाने की अनुमति देता है, असेंबली निर्देशों को मेमोरी के पृथक सेगमेंट में पढ़ता है और कूदता है।
सैंडबॉक्स के कुछ उपयोग मामलों में निम्नलिखित शामिल हैं:
- प्रोग्रामिंग प्रतियोगिताओं में कार्यक्रमों का परीक्षण करने के लिए ऑनलाइन न्यायाधीश सिस्टम।
- नई पीढ़ी के हम समीक्षा करेंगे उपयोगकर्ताओं को पास्टबिन के सर्वर पर पेस्ट किए गए कोड के टुकड़े को निष्पादित करने की अनुमति देते हैं।
यह भी देखें
- सैंडबॉक्सी
- सेकंड कॉम्प
- शेड सैंडबॉक्स
- परीक्षण बेंच
- टो (गुमनामी नेटवर्क)
संदर्भ
- ↑ Goldberg, Ian; Wagner, David; Thomas, Randi & Brewer, Eric (1996). "A Secure Environment for Untrusted Helper Applications (Confining the Wily Hacker)" (PDF). Proceedings of the Sixth USENIX UNIX Security Symposium. Retrieved 25 October 2011.
- ↑ Geier, Eric (2012-01-16). "How to Keep Your PC Safe With Sandboxing". TechHive. Retrieved 2014-07-03.
- ↑ "Sandboxing Applications" (PDF). 2001. Retrieved 7 May 2013.
- ↑ "Application Sandbox - Android Open Source Project". Retrieved 2021-04-02.
- ↑ "About App Sandbox". developer.apple.com. Retrieved 2020-12-09.
- ↑ "Security of runtime process in iOS and iPadOS". Apple Support (in English). Retrieved 2021-04-04.
- ↑ "Windows Sandbox". 2018-12-18. Retrieved 2010-01-07.
- ↑ google/sandboxed-api, Google, 2020-12-08, retrieved 2020-12-09
- ↑ "Auto-Sandboxing secure system". Retrieved 2015-01-30.
- ↑ "Computer System Security and Access Controls". 1991. Archived from the original on 28 May 2013. Retrieved 17 May 2013.
- ↑ "Native Client Sandbox – Untrusted x86 Native Code" (PDF). Retrieved 2015-01-03.
- ↑ Welcome to Native Client
- ↑ Internet Explorer Team Blog. "Defense in Depth: Locking Down Mash-Ups with HTML5 Sandbox". IEBlog.
- ↑ Wahbe, Robert (1993). "Efficient Software-Based Fault Isolation" (PDF).
बाहरी संबंध
- Security In-Depth for Linux Software: Preventing and Mitigating Security Bugs
- Sandbox – The Chromium Projects
- FreeBSD capsicum(4) man page – a lightweight OS capability and sandbox framework
- OpenBSD pledge(2) man page – a way to restrict system operations
- Sandbox testing importance{sandbox} Importance of sandbox in zero day flaw