सैंडबॉक्स (कंप्यूटर सुरक्षा): Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Software security mechanism}} {{About|the computer security mechanism|the software testing environment|Sandbox (software development)}} <!--Please, do NOT...")
 
No edit summary
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Short description|Software security mechanism}}
{{Short description|Software security mechanism}}
{{About|the computer security mechanism|the software testing environment|Sandbox (software development)}}
{{About|कंप्यूटर सुरक्षा तंत्र|सॉफ्टवेयर परीक्षण वातावरण|सैंडबॉक्स (सॉफ्टवेयर विकास)}}
<!--Please, do NOT edit this article for testing purposes as this is not Wikipedia's testing sandbox; that is located at "Wikipedia:Sandbox", without the quotes. Thank you.
[[कंप्यूटर सुरक्षा]] में, '''सैंडबॉक्स''' संचालित हो रहे प्रोग्रामों को, सामान्यतः सिस्टम विफलताओं और/या सॉफ़्टवेयर [[भेद्यता (कंप्यूटिंग)|कमजोरियों]] को फैलने से रोकने के प्रयास में अलग करने के लिए एक सुरक्षा तंत्र है। पृथक्करण रूपक उन बच्चों के विचार से लिया गया है जो एक साथ अच्छा नहीं खेलते हैं, इसलिए प्रत्येक को अकेले खेलने के लिए स्वयं का सैंडबॉक्स दिया जाता है। इसका उपयोग होस्ट मशीन या [[ऑपरेटिंग सिस्टम]] को हानि पहुँचाये बिना, प्रायः असत्यापित या अविश्वसनीय तृतीय पक्ष, आपूर्तिकर्ताओं, उपयोगकर्ताओं या वेबसाइटों से संभवतः असत्यापित या अविश्वसनीय प्रोग्रामों या कोड को निष्पादित करने के लिए किया जाता है।<ref>{{cite web |url=http://www.usenix.org/publications/library/proceedings/sec96/full_papers/goldberg/goldberg.pdf |title=A Secure Environment for Untrusted Helper Applications (Confining the Wily Hacker)|first1=Ian |last1=Goldberg |first2=David |last2=Wagner |first3=Randi |last3=Thomas |first4=Eric  |last4=Brewer  |name-list-style=amp |work=Proceedings of the Sixth USENIX UNIX Security Symposium|year=1996|access-date=25 October 2011}}</ref> सैंडबॉक्स सामान्यतः गेस्ट प्रोग्रामों को संचालित करने के लिए भंडारण और मेमोरी [[खरोंच की जगह|स्क्रैच स्पेस]] जैसे संसाधनों का एक दृढ़ नियंत्रित समूह प्रदान करता है। नेटवर्क पहुँच, होस्ट सिस्टम के निरीक्षण की क्षमता, या इनपुट उपकरणों से पाठन की क्षमता सामान्यतः अस्वीकृत या दृढ़ प्रतिबंधित होती है।
-->
[[कंप्यूटर सुरक्षा]] में, एक सैंडबॉक्स चल रहे प्रोग्राम को अलग करने के लिए एक सुरक्षा तंत्र है, आमतौर पर सिस्टम विफलताओं और/या सॉफ़्टवेयर [[भेद्यता (कंप्यूटिंग)]] को फैलने से रोकने के प्रयास में। अलगाव का रूपक उन बच्चों के विचार से लिया गया है जो एक साथ अच्छा नहीं खेलते हैं, इसलिए प्रत्येक को अकेले खेलने के लिए अपना स्वयं का सैंडपिट दिया जाता है। यह अक्सर मेजबान मशीन या [[ऑपरेटिंग सिस्टम]] को नुकसान पहुंचाए बिना, असत्यापित या अविश्वसनीय तृतीय पक्षों, आपूर्तिकर्ताओं, उपयोगकर्ताओं या वेबसाइटों से, बिना जांचे या अविश्वसनीय प्रोग्राम या कोड को निष्पादित करने के लिए उपयोग किया जाता है।<ref>{{cite web |url=http://www.usenix.org/publications/library/proceedings/sec96/full_papers/goldberg/goldberg.pdf |title=A Secure Environment for Untrusted Helper Applications (Confining the Wily Hacker)|first1=Ian |last1=Goldberg |first2=David |last2=Wagner |first3=Randi |last3=Thomas |first4=Eric  |last4=Brewer  |name-list-style=amp |work=Proceedings of the Sixth USENIX UNIX Security Symposium|year=1996|access-date=25 October 2011}}</ref> एक सैंडबॉक्स आमतौर पर अतिथि कार्यक्रमों को चलाने के लिए संसाधनों का एक कसकर नियंत्रित सेट प्रदान करता है, जैसे भंडारण और मेमोरी [[खरोंच की जगह]]नेटवर्क एक्सेस, होस्ट सिस्टम का निरीक्षण करने की क्षमता, या इनपुट डिवाइस से पढ़ने की क्षमता आमतौर पर अस्वीकृत या भारी प्रतिबंधित होती है।


अत्यधिक नियंत्रित वातावरण प्रदान करने के अर्थ में, सैंडबॉक्स को [[वर्चुअलाइजेशन]] के विशिष्ट उदाहरण के रूप में देखा जा सकता है। सैंडबॉक्सिंग का उपयोग अक्सर असत्यापित प्रोग्रामों का परीक्षण करने के लिए किया जाता है जिसमें सॉफ़्टवेयर को होस्ट डिवाइस को नुकसान पहुँचाने की अनुमति के बिना [[कंप्यूटर वायरस]] या अन्य [[मैलवेयर]] हो सकते हैं।<ref>{{cite web|last=Geier |first=Eric |url=http://www.techhive.com/article/247416/how_to_keep_your_pc_safe_with_sandboxing.html |title=How to Keep Your PC Safe With Sandboxing |publisher=TechHive |date=2012-01-16 |access-date=2014-07-03}}</ref>
सैंडबॉक्स को अत्यधिक नियंत्रित वातावरण प्रदान करने के अर्थ में [[वर्चुअलाइजेशन|वर्चुअलाइजेशन (आभासीकरण)]] के विशिष्ट उदाहरण के रूप में देखा जा सकता है। सैंडबॉक्सिंग का उपयोग प्रायः ऐसे असत्यापित प्रोग्रामों का परीक्षण करने के लिए किया जाता है जिसमें सॉफ़्टवेयर को होस्ट उपकरण को हानि पहुँचाने की अनुमति दिए बिना [[कंप्यूटर वायरस|वायरस]] या अन्य [[मैलवेयर]] सम्मिलित हो सकते हैं।<ref>{{cite web|last=Geier |first=Eric |url=http://www.techhive.com/article/247416/how_to_keep_your_pc_safe_with_sandboxing.html |title=How to Keep Your PC Safe With Sandboxing |publisher=TechHive |date=2012-01-16 |access-date=2014-07-03}}</ref>
== कार्यान्वयन ==
एक प्रतिबंधित ऑपरेटिंग सिस्टम वातावरण में सॉफ़्टवेयर को निष्पादित करके एक सैंडबॉक्स कार्यान्वित किया जाता है, और इस प्रकार यह एक प्रक्रिया द्वारा उपयोग किये जा सकने वाले संसाधनों (जैसे [[फाइल डिस्क्रिप्टर]], मेमोरी, फाइल सिस्टम स्पेस इत्यादि) को नियंत्रित करता है।<ref>{{cite web |url=http://www.dmst.aueb.gr/dds/pubs/conf/2001-Freenix-Sandbox/html/sandbox32final.pdf |title=Sandboxing Applications|year=2001|access-date=7 May 2013}}</ref>


 
सैंडबॉक्स कार्यान्वयन के उदाहरणों में निम्न उदाहरण सम्मिलित हैं:
== कार्यान्वयन ==
* [[Seccomp|सेककॉम्प]], [[cgroups|सीग्रुप्स]] और लिनक्स नेमस्पेसेस पर निर्मित लिनक्स अनुप्रयोग सैंडबॉक्सिंग। विशेष रूप से [[Systemd|सिस्टेम्ड]], [[Google Chrome|गूगल क्रोम]], [[Firefox|फ़ायरफ़ॉक्स]], फायरजेल द्वारा उपयोग किया जाता है।
एक प्रतिबंधित ऑपरेटिंग सिस्टम वातावरण में सॉफ़्टवेयर को निष्पादित करके एक सैंडबॉक्स कार्यान्वित किया जाता है, इस प्रकार उन संसाधनों (जैसे [[फाइल डिस्क्रिप्टर]], मेमोरी, फ़ाइल सिस्टम स्पेस, आदि) को नियंत्रित किया जा सकता है जो एक प्रक्रिया का उपयोग कर सकते हैं।<ref>{{cite web |url=http://www.dmst.aueb.gr/dds/pubs/conf/2001-Freenix-Sandbox/html/sandbox32final.pdf |title=Sandboxing Applications|year=2001|access-date=7 May 2013}}</ref>
*एंड्रॉइड, पूर्ण एप्लिकेशन सैंडबॉक्सिंग को प्रयुक्त करने वाला प्रथम मुख्यधारा ऑपरेटिंग सिस्टम था, जिसे प्रत्येक एप्लिकेशन को स्वयं का [[लिनक्स]] उपयोगकर्ता आईडी निर्दिष्ट करके निर्मित किया गया था।<ref>{{Cite web|title=Application Sandbox - Android Open Source Project|url=https://source.android.com/security/app-sandbox|access-date=2021-04-02}}</ref>
सैंडबॉक्स कार्यान्वयन के उदाहरणों में निम्नलिखित शामिल हैं:
*एप्पल ऐप सैंडबॉक्स, एप्पल के मैक ऐप स्टोर और [[iOS|आईओएस]]/[[iPadOS|आईपैडओएस]] ऐप स्टोर के माध्यम से वितरित ऐपों के लिए आवश्यक, और अन्य चिह्नित ऐपों के लिए अनुशंसित है।<ref>{{Cite web|title=About App Sandbox|url=https://developer.apple.com/library/archive/documentation/Security/Conceptual/AppSandboxDesignGuide/AboutAppSandbox/AboutAppSandbox.html|access-date=2020-12-09|website=developer.apple.com}}</ref><ref>{{Cite web|title=Security of runtime process in iOS and iPadOS|url=https://support.apple.com/guide/security/security-of-runtime-process-sec15bfe098e/web|access-date=2021-04-04|website=Apple Support|language=en}}</ref>
* Linux अनुप्रयोग सैंडबॉक्सिंग, [[Seccomp]], [[cgroups]] और Linux नाम स्थान पर निर्मित। विशेष रूप से [[Systemd]], [[Google Chrome]], [[Firefox]], Firejail द्वारा उपयोग किया जाता है।
*[[विंडोज विस्टा]] और बाद के संस्करणों में "निम्न" मोड प्रक्रिया संचालन समाहित है, जिसे "उपयोगकर्ता अकाउंट नियंत्रण" (यूएसी) के रूप में जाना जाता है, जो केवल एक विशिष्ट निर्देशिका और रजिस्ट्री कुंजियों में लेखन की अनुमति प्रदान करता है। [[विंडोज 10 प्रो]], संस्करण वर्ष 1903 से विंडोज सैंडबॉक्स के नाम से प्रचलित एक सुविधा प्रदान करता है।<ref>{{Cite web|url=https://techcommunity.microsoft.com/t5/windows-kernel-internals/windows-sandbox/ba-p/301849|title=Windows Sandbox|date=2018-12-18|access-date=2010-01-07}}</ref>
* Android_(ऑपरेटिंग_सिस्टम) पूर्ण एप्लिकेशन सैंडबॉक्सिंग को लागू करने वाला पहला मुख्यधारा का ऑपरेटिंग सिस्टम था, जिसे प्रत्येक एप्लिकेशन को अपना [[लिनक्स]] यूजर आईडी निर्दिष्ट करके बनाया गया था।<ref>{{Cite web|title=Application Sandbox - Android Open Source Project|url=https://source.android.com/security/app-sandbox|access-date=2021-04-02}}</ref>
* Apple Inc. ऐप सैंडबॉक्स Apple के Mac ऐप स्टोर और [[iOS]]/[[iPadOS]] ऐप स्टोर (iOS/iPadOS) के माध्यम से वितरित ऐप्स के लिए आवश्यक है, और अन्य हस्ताक्षरित ऐप्स के लिए अनुशंसित है।<ref>{{Cite web|title=About App Sandbox|url=https://developer.apple.com/library/archive/documentation/Security/Conceptual/AppSandboxDesignGuide/AboutAppSandbox/AboutAppSandbox.html|access-date=2020-12-09|website=developer.apple.com}}</ref><ref>{{Cite web|title=Security of runtime process in iOS and iPadOS|url=https://support.apple.com/guide/security/security-of-runtime-process-sec15bfe098e/web|access-date=2021-04-04|website=Apple Support|language=en}}</ref>
* [[विंडोज विस्टा]] और बाद के संस्करणों में एक निम्न मोड प्रक्रिया चल रही है, जिसे उपयोगकर्ता खाता नियंत्रण के रूप में जाना जाता है उपयोगकर्ता खाता नियंत्रण (UAC), जो केवल एक विशिष्ट निर्देशिका और रजिस्ट्री कुंजियों में लिखने की अनुमति देता है। [[विंडोज 10 प्रो]], संस्करण 1903 से, विंडोज सैंडबॉक्स के रूप में जानी जाने वाली सुविधा प्रदान करता है।<ref>{{Cite web|url=https://techcommunity.microsoft.com/t5/windows-kernel-internals/windows-sandbox/ba-p/301849|title=Windows Sandbox|date=2018-12-18|access-date=2010-01-07}}</ref>
* [[गूगल]] सैंडबॉक्स्ड एपीआई।<ref>{{Citation|title=google/sandboxed-api|date=2020-12-08|url=https://github.com/google/sandboxed-api|publisher=Google|access-date=2020-12-09}}</ref>
* [[गूगल]] सैंडबॉक्स्ड एपीआई।<ref>{{Citation|title=google/sandboxed-api|date=2020-12-08|url=https://github.com/google/sandboxed-api|publisher=Google|access-date=2020-12-09}}</ref>
* [[आभासी मशीन]] एमुलेटर एक पूर्ण होस्ट कंप्यूटर है, जिस पर एक पारंपरिक ऑपरेटिंग सिस्टम बूट हो सकता है और वास्तविक हार्डवेयर के रूप में चल सकता है। अतिथि ऑपरेटिंग सिस्टम इस अर्थ में सैंडबॉक्स में चलता है कि यह होस्ट पर मूल रूप से कार्य नहीं करता है और केवल एमुलेटर के माध्यम से होस्ट संसाधनों तक ही पहुंच सकता है।
*[[आभासी मशीन|आभासी मशीनें]] एक ऐसे पूर्ण होस्ट कंप्यूटर का अनुकरण करती हैं, जिस पर एक पारंपरिक ऑपरेटिंग सिस्टम बूट हो सकता है और वास्तविक हार्डवेयर के रूप में संचालित हो सकता है। गेस्ट ऑपरेटिंग सिस्टम सैंडबॉक्स्ड को इस अर्थ में संचालित करता है कि यह होस्ट पर स्वाभाविक रूप से कार्य नहीं करता है और केवल एमुलेटर के माध्यम से होस्ट संसाधनों तक ही पहुँच प्राप्त कर सकता है।
* एक [[ऑपरेटिंग-सिस्टम-स्तरीय वर्चुअलाइजेशन]]: नेटवर्क-एक्सेस प्रतिबंध, और एक प्रतिबंधित फाइल सिस्टम नेमस्पेस। [[वर्चुअल होस्टिंग]] में जेल का सबसे ज्यादा इस्तेमाल होता है।<ref>{{cite web |url=https://enterprise.comodo.com/security-solutions/endpoint-protection/auto-sandboxing.php |title=Auto-Sandboxing secure system |access-date=2015-01-30}}</ref>
*एक [[ऑपरेटिंग-सिस्टम-स्तरीय वर्चुअलाइजेशन]] (जेल): नेटवर्क-पहुँच प्रतिबंध, और एक प्रतिबंधित फाइल सिस्टम नेमस्पेस। जेल का सर्वाधिक उपयोग [[वर्चुअल होस्टिंग]] में किया जाता है।<ref>{{cite web |url=https://enterprise.comodo.com/security-solutions/endpoint-protection/auto-sandboxing.php |title=Auto-Sandboxing secure system |access-date=2015-01-30}}</ref>
* नियम-आधारित निष्पादन उपयोगकर्ताओं को इस बात पर पूर्ण नियंत्रण देता है कि कौन सी प्रक्रियाएँ शुरू की गई हैं, (अन्य अनुप्रयोगों द्वारा) उत्पन्न की गई हैं, या अन्य अनुप्रयोगों में कोड इंजेक्ट करने की अनुमति दी गई है और सिस्टम के अनुसार उपयोगकर्ताओं या कार्यक्रमों के लिए पहुँच स्तर निर्दिष्ट करके नेट तक पहुँच है। निर्धारित नियमों का एक सेट।<ref>{{cite web | url=http://oreilly.com/catalog/csb/chapter/ch03.html | title=Computer System Security and Access Controls | year=1991 | access-date=17 May 2013 | url-status=dead | archive-url=https://web.archive.org/web/20130528005443/http://oreilly.com/catalog/csb/chapter/ch03.html | archive-date=28 May 2013 }}</ref> यह फ़ाइल/रजिस्ट्री सुरक्षा को भी नियंत्रित कर सकता है (फ़ाइल सिस्टम/रजिस्ट्री को कौन से प्रोग्राम पढ़ और लिख सकते हैं)। ऐसे वातावरण में, वायरस और [[ट्रोजन वायरस]] के पास कंप्यूटर को संक्रमित करने के कम अवसर होते हैं। [[SELinux]] और [[Apparmor]] सुरक्षा ढाँचे Linux कर्नेल के लिए दो ऐसे कार्यान्वयन हैं।
*नियम-आधारित निष्पादन उपयोगकर्ताओं को इस तथ्य पर पूर्ण नियंत्रण प्रदान करता है कि कौन सी प्रक्रियाएँ प्रारंभ की गई हैं, (अन्य अनुप्रयोगों द्वारा) उत्पन्न की गई हैं, या किन प्रक्रियाओं को अन्य अनुप्रयोगों में कोड इंजेक्ट करने की अनुमति प्रदान की गई है और इनके पास निर्धारित नियमों के एक सेट के अनुसार उपयोगकर्ताओं या प्रोग्रामों के लिए सिस्टम द्वारा पहुँच स्तर निर्दिष्ट करके नेट तक पहुँच होती है।[[:en:Sandbox_(computer_security)#cite_note-10|<sup>[10]</sup>]] यह फ़ाइल/रजिस्ट्री सुरक्षा को भी नियंत्रित कर सकता है (कौन-से प्रोग्राम फ़ाइल सिस्टम/रजिस्ट्री को पढ़ और लिख सकते हैं)। ऐसे वातावरण में, वायरस और [[ट्रोजन वायरस|ट्रोजन]] के पास कंप्यूटर को संक्रमित करने के कम अवसर होते हैं। [[SELinux|एसईलिनक्स]] और [[Apparmor|एपआर्मर]] सुरक्षा संरचनाएँ लिनक्स के लिए दो ऐसे कार्यान्वयन हैं।
* सुरक्षा शोधकर्ता मैलवेयर व्यवहार का विश्लेषण करने के लिए सैंडबॉक्सिंग तकनीकों पर बहुत अधिक निर्भर करते हैं। एक ऐसा वातावरण बनाकर जो लक्षित डेस्कटॉप की नकल या नकल करता है, शोधकर्ता यह मूल्यांकन कर सकते हैं कि मैलवेयर कैसे लक्षित होस्ट को संक्रमित और समझौता करता है। कई [[मैलवेयर विश्लेषण]] सेवाएँ सैंडबॉक्सिंग तकनीक पर आधारित हैं।<ref>{{cite web |url=http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/34913.pdf |title=Native Client Sandbox – Untrusted x86 Native Code |access-date=2015-01-03}}</ref>
*सुरक्षा शोधकर्ता मैलवेयर व्यवहार का विश्लेषण करने के लिए सैंडबॉक्सिंग तकनीकों पर अत्यधिक निर्भर करते हैं। लक्षित डेस्कटॉप की नकल या पुनरावृत्ति करने वाले वातावरण का निर्माण करके, शोधकर्ता यह मूल्यांकन कर सकते हैं कि मैलवेयर लक्षित होस्ट को कैसे संक्रमित और इसके साथ कैसे समझौता करता है। कई [[मैलवेयर विश्लेषण]] सेवाएँ सैंडबॉक्सिंग तकनीक पर आधारित हैं।<ref>{{cite web |url=http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/34913.pdf |title=Native Client Sandbox – Untrusted x86 Native Code |access-date=2015-01-03}}</ref>
* Google नेटिव क्लाइंट उपयोगकर्ता के ऑपरेटिंग सिस्टम से स्वतंत्र, कुशलतापूर्वक और सुरक्षित रूप से ब्राउज़र में संकलित C और C++ कोड चलाने के लिए एक सैंडबॉक्स है।<ref>[https://developer.chrome.com/native-client Welcome to Native Client]</ref>
*उपयोगकर्ता के ऑपरेटिंग सिस्टम से स्वतंत्र गूगल नेटिव क्लाइंट, ब्राउज़र में संकलित (कम्पाइल्ड) C और C++ कोड को कुशलतापूर्वक और सुरक्षित रूप से संचालित करने वाला एक सैंडबॉक्स है।<ref>[https://developer.chrome.com/native-client Welcome to Native Client]</ref>
* [[क्षमता-आधारित सुरक्षा]] प्रणालियों को एक सूक्ष्म सैंडबॉक्सिंग तंत्र के रूप में माना जा सकता है, जिसमें कार्यक्रमों को उत्पन्न होने पर अपारदर्शी टोकन दिए जाते हैं और उनके पास मौजूद टोकन के आधार पर विशिष्ट चीजें करने की क्षमता होती है। क्षमता-आधारित कार्यान्वयन विभिन्न स्तरों पर काम कर सकते हैं, कर्नेल से लेकर यूजर-स्पेस तक। क्षमता-आधारित उपयोगकर्ता-स्तरीय सैंडबॉक्सिंग के एक उदाहरण में [[वेब ब्राउज़र]] में HTML रेंडरिंग शामिल है।
*[[क्षमता-आधारित सुरक्षा]] प्रणालियों को एक सूक्ष्म सैंडबॉक्सिंग तंत्र के रूप में माना जा सकता है, जिसमें प्रोग्राम उत्पन्न होने पर अपारदर्शी टोकन दिए जाते हैं और इनके पास टोकन के आधार पर विशिष्ट कार्यों को करने की क्षमता होती है। क्षमता-आधारित कार्यान्वयन कर्नेल से लेकर उपयोगकर्ता-स्थान तक विभिन्न स्तरों पर कार्य कर सकते हैं। [[वेब ब्राउज़र]] में एचटीएमएल प्रतिपादन, क्षमता-आधारित उपयोगकर्ता-स्तरीय सैंडबॉक्सिंग का एक उदाहरण है।
* seccomp|सिक्योर कंप्यूटिंग मोड (seccomp) सख्त मोड, seccomp केवल अनुमति देता है <code>write()</code>, <code>read()</code>, <code>exit()</code>, और <code>sigreturn()</code> सिस्टम कॉल।
*सुरक्षित कंप्यूटिंग मोड (सेककॉम्प) सख्त मोड, सेककॉम्प केवल <code>write()</code>, <code>read()</code>, <code>exit()</code>, और <code>sigreturn()</code> सिस्टम कॉल की अनुमति प्रदान करता है।
* [[HTML5]] में [[iframes]] के साथ उपयोग के लिए एक सैंडबॉक्स विशेषता है।<ref>{{cite web |author1=Internet Explorer Team Blog |title=Defense in Depth: Locking Down Mash-Ups with HTML5 Sandbox |url=https://blogs.msdn.microsoft.com/ie/2011/07/14/defense-in-depth-locking-down-mash-ups-with-html5-sandbox/ |website=IEBlog}}</ref>
*[[HTML5|एचटीएमएल5]] में [[iframes|आईफ्रेम्स]] के साथ प्रयोग के लिए एक "सैंडबॉक्स" विशेषता है।<ref>{{cite web |author1=Internet Explorer Team Blog |title=Defense in Depth: Locking Down Mash-Ups with HTML5 Sandbox |url=https://blogs.msdn.microsoft.com/ie/2011/07/14/defense-in-depth-locking-down-mash-ups-with-html5-sandbox/ |website=IEBlog}}</ref>
* जावा आभासी मशीनों में अविश्वसनीय कोड की क्रियाओं को प्रतिबंधित करने के लिए एक सैंडबॉक्स शामिल है, जैसे कि [[जावा एप्लेट]]।
*जावा आभासी मशीनों में [[जावा एप्लेट]] जैसे अविश्वसनीय कोड की क्रियाओं को प्रतिबंधित करने के लिए एक सैंडबॉक्स सम्मिलित है।
* .NET [[सामान्य भाषा रनटाइम]] अविश्वसनीय कोड पर प्रतिबंध लागू करने के लिए [[कोड एक्सेस सुरक्षा]] प्रदान करता है।
*डॉटनेट (.NET) [[सामान्य भाषा रनटाइम]], अविश्वसनीय कोड पर प्रतिबंध लागू करने के लिए [[कोड एक्सेस सुरक्षा|कोड पहुँच सुरक्षा]] प्रदान करता है।
* सॉफ्टवेयर फॉल्ट आइसोलेशन (SFI),<ref>{{Cite web|url=https://courses.cs.washington.edu/courses/cse551/15sp/papers/sfi-sosp93.pdf|title=Efficient Software-Based Fault Isolation|last=Wahbe|first=Robert|date=1993}}</ref> सभी स्टोर को सैंडबॉक्सिंग करके अविश्वसनीय देशी कोड चलाने की अनुमति देता है, असेंबली निर्देशों को मेमोरी के पृथक सेगमेंट में पढ़ता है और कूदता है।
*सॉफ़्टवेयर त्रुटि पृथक्करण (एसएफआई),<ref>{{Cite web|url=https://courses.cs.washington.edu/courses/cse551/15sp/papers/sfi-sosp93.pdf|title=Efficient Software-Based Fault Isolation|last=Wahbe|first=Robert|date=1993}}</ref> सभी स्टोरों की सैंडबॉक्सिंग करके अविश्वसनीय प्राकृतिक कोड संचालन की अनुमति प्रदान करता है, असेंबली निर्देशों का पाठन करके इन्हें मेमोरी के अलग-अलग हिस्सों में भेजता है।
सैंडबॉक्स के कुछ उपयोग मामलों में निम्नलिखित शामिल हैं:
सैंडबॉक्स की कुछ उपयोग की स्थितियों में निम्नलिखित सम्मिलित हैं:
* प्रोग्रामिंग प्रतियोगिताओं में कार्यक्रमों का परीक्षण करने के लिए [[ऑनलाइन न्यायाधीश]] सिस्टम।
*प्रोग्रामिंग प्रतियोगिताओं में प्रोग्रामों का परीक्षण करने के लिए [[ऑनलाइन न्यायाधीश|ऑनलाइन निर्णय प्रणाली]]
* नई पीढ़ी के [[हम समीक्षा करेंगे]] उपयोगकर्ताओं को पास्टबिन के सर्वर पर पेस्ट किए गए [[कोड के टुकड़े]] को निष्पादित करने की अनुमति देते हैं।
*नई पीढ़ी के [[हम समीक्षा करेंगे|पेस्टबिन]] उपयोगकर्ताओं को पेस्टबिन के सर्वर पर पेस्ट किए गए [[कोड के टुकड़े|कोड स्निपेट्स]] को निष्पादित करने की अनुमति प्रदान करते हैं।


== यह भी देखें ==
== यह भी देखें ==
* [[सैंडबॉक्सी]]
* [[सैंडबॉक्सी]]
* सेकंड कॉम्प
* सेककॉम्प
* [[शेड सैंडबॉक्स]]
* [[शेड सैंडबॉक्स]]
* [[परीक्षण बेंच]]
* [[परीक्षण बेंच]]
* टो (गुमनामी नेटवर्क)
* टोर (अज्ञात नेटवर्क)


== संदर्भ ==
== संदर्भ ==
Line 43: Line 40:


== बाहरी संबंध ==
== बाहरी संबंध ==
* [https://www.cr0.org/paper/jt-ce-sid_linux.pdf Security In-Depth for Linux Software: Preventing and Mitigating Security Bugs]
* [https://www.cr0.org/paper/jt-ce-sid_linux.pdf Security In-Depth for लिनक्स Software: Preventing and Mitigating Security Bugs]
* [https://www.chromium.org/developers/design-documents/sandbox Sandbox{{snd}} The Chromium Projects]
* [https://www.chromium.org/developers/design-documents/sandbox Sandbox{{snd}} The Chromium Projects]
* [https://www.freebsd.org/cgi/man.cgi?query=capsicum&sektion=4 FreeBSD capsicum(4) man page]{{snd}} a lightweight OS capability and sandbox framework
* [https://www.freebsd.org/cgi/man.cgi?query=capsicum&sektion=4 FreeBSD capsicum(4) man page]{{snd}} a lightweight OS capability and sandbox framework
* [https://man.openbsd.org/pledge.2 OpenBSD pledge(2) man page]{{snd}} a way to restrict system operations
* [https://man.openbsd.org/pledge.2 OpenBSD pledge(2) man page]{{snd}} a way to restrict system operations
* [https://sarkarynaukary.in/google-chrome/praju/2021/en/  Sandbox testing importance]{sandbox} Importance of sandbox in zero day flaw[[Category: ऑपरेटिंग सिस्टम सुरक्षा]] [[Category: वर्चुअलाइजेशन]]
* [https://sarkarynaukary.in/google-chrome/praju/2021/en/  Sandbox testing importance]{sandbox} Importance of sandbox in zero day flaw
 
 


[[Category: Machine Translated Page]]
[[Category:Articles with hatnote templates targeting a nonexistent page]]
[[Category:CS1 English-language sources (en)]]
[[Category:Created On 17/02/2023]]
[[Category:Created On 17/02/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Pages with script errors]]
[[Category:Short description with empty Wikidata description]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:ऑपरेटिंग सिस्टम सुरक्षा]]
[[Category:वर्चुअलाइजेशन]]

Latest revision as of 16:13, 2 March 2023

कंप्यूटर सुरक्षा में, सैंडबॉक्स संचालित हो रहे प्रोग्रामों को, सामान्यतः सिस्टम विफलताओं और/या सॉफ़्टवेयर कमजोरियों को फैलने से रोकने के प्रयास में अलग करने के लिए एक सुरक्षा तंत्र है। पृथक्करण रूपक उन बच्चों के विचार से लिया गया है जो एक साथ अच्छा नहीं खेलते हैं, इसलिए प्रत्येक को अकेले खेलने के लिए स्वयं का सैंडबॉक्स दिया जाता है। इसका उपयोग होस्ट मशीन या ऑपरेटिंग सिस्टम को हानि पहुँचाये बिना, प्रायः असत्यापित या अविश्वसनीय तृतीय पक्ष, आपूर्तिकर्ताओं, उपयोगकर्ताओं या वेबसाइटों से संभवतः असत्यापित या अविश्वसनीय प्रोग्रामों या कोड को निष्पादित करने के लिए किया जाता है।[1] सैंडबॉक्स सामान्यतः गेस्ट प्रोग्रामों को संचालित करने के लिए भंडारण और मेमोरी स्क्रैच स्पेस जैसे संसाधनों का एक दृढ़ नियंत्रित समूह प्रदान करता है। नेटवर्क पहुँच, होस्ट सिस्टम के निरीक्षण की क्षमता, या इनपुट उपकरणों से पाठन की क्षमता सामान्यतः अस्वीकृत या दृढ़ प्रतिबंधित होती है।

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

कार्यान्वयन

एक प्रतिबंधित ऑपरेटिंग सिस्टम वातावरण में सॉफ़्टवेयर को निष्पादित करके एक सैंडबॉक्स कार्यान्वित किया जाता है, और इस प्रकार यह एक प्रक्रिया द्वारा उपयोग किये जा सकने वाले संसाधनों (जैसे फाइल डिस्क्रिप्टर, मेमोरी, फाइल सिस्टम स्पेस इत्यादि) को नियंत्रित करता है।[3]

सैंडबॉक्स कार्यान्वयन के उदाहरणों में निम्न उदाहरण सम्मिलित हैं:

  • सेककॉम्प, सीग्रुप्स और लिनक्स नेमस्पेसेस पर निर्मित लिनक्स अनुप्रयोग सैंडबॉक्सिंग। विशेष रूप से सिस्टेम्ड, गूगल क्रोम, फ़ायरफ़ॉक्स, फायरजेल द्वारा उपयोग किया जाता है।
  • एंड्रॉइड, पूर्ण एप्लिकेशन सैंडबॉक्सिंग को प्रयुक्त करने वाला प्रथम मुख्यधारा ऑपरेटिंग सिस्टम था, जिसे प्रत्येक एप्लिकेशन को स्वयं का लिनक्स उपयोगकर्ता आईडी निर्दिष्ट करके निर्मित किया गया था।[4]
  • एप्पल ऐप सैंडबॉक्स, एप्पल के मैक ऐप स्टोर और आईओएस/आईपैडओएस ऐप स्टोर के माध्यम से वितरित ऐपों के लिए आवश्यक, और अन्य चिह्नित ऐपों के लिए अनुशंसित है।[5][6]
  • विंडोज विस्टा और बाद के संस्करणों में "निम्न" मोड प्रक्रिया संचालन समाहित है, जिसे "उपयोगकर्ता अकाउंट नियंत्रण" (यूएसी) के रूप में जाना जाता है, जो केवल एक विशिष्ट निर्देशिका और रजिस्ट्री कुंजियों में लेखन की अनुमति प्रदान करता है। विंडोज 10 प्रो, संस्करण वर्ष 1903 से विंडोज सैंडबॉक्स के नाम से प्रचलित एक सुविधा प्रदान करता है।[7]
  • गूगल सैंडबॉक्स्ड एपीआई।[8]
  • आभासी मशीनें एक ऐसे पूर्ण होस्ट कंप्यूटर का अनुकरण करती हैं, जिस पर एक पारंपरिक ऑपरेटिंग सिस्टम बूट हो सकता है और वास्तविक हार्डवेयर के रूप में संचालित हो सकता है। गेस्ट ऑपरेटिंग सिस्टम सैंडबॉक्स्ड को इस अर्थ में संचालित करता है कि यह होस्ट पर स्वाभाविक रूप से कार्य नहीं करता है और केवल एमुलेटर के माध्यम से होस्ट संसाधनों तक ही पहुँच प्राप्त कर सकता है।
  • एक ऑपरेटिंग-सिस्टम-स्तरीय वर्चुअलाइजेशन (जेल): नेटवर्क-पहुँच प्रतिबंध, और एक प्रतिबंधित फाइल सिस्टम नेमस्पेस। जेल का सर्वाधिक उपयोग वर्चुअल होस्टिंग में किया जाता है।[9]
  • नियम-आधारित निष्पादन उपयोगकर्ताओं को इस तथ्य पर पूर्ण नियंत्रण प्रदान करता है कि कौन सी प्रक्रियाएँ प्रारंभ की गई हैं, (अन्य अनुप्रयोगों द्वारा) उत्पन्न की गई हैं, या किन प्रक्रियाओं को अन्य अनुप्रयोगों में कोड इंजेक्ट करने की अनुमति प्रदान की गई है और इनके पास निर्धारित नियमों के एक सेट के अनुसार उपयोगकर्ताओं या प्रोग्रामों के लिए सिस्टम द्वारा पहुँच स्तर निर्दिष्ट करके नेट तक पहुँच होती है।[10] यह फ़ाइल/रजिस्ट्री सुरक्षा को भी नियंत्रित कर सकता है (कौन-से प्रोग्राम फ़ाइल सिस्टम/रजिस्ट्री को पढ़ और लिख सकते हैं)। ऐसे वातावरण में, वायरस और ट्रोजन के पास कंप्यूटर को संक्रमित करने के कम अवसर होते हैं। एसईलिनक्स और एपआर्मर सुरक्षा संरचनाएँ लिनक्स के लिए दो ऐसे कार्यान्वयन हैं।
  • सुरक्षा शोधकर्ता मैलवेयर व्यवहार का विश्लेषण करने के लिए सैंडबॉक्सिंग तकनीकों पर अत्यधिक निर्भर करते हैं। लक्षित डेस्कटॉप की नकल या पुनरावृत्ति करने वाले वातावरण का निर्माण करके, शोधकर्ता यह मूल्यांकन कर सकते हैं कि मैलवेयर लक्षित होस्ट को कैसे संक्रमित और इसके साथ कैसे समझौता करता है। कई मैलवेयर विश्लेषण सेवाएँ सैंडबॉक्सिंग तकनीक पर आधारित हैं।[10]
  • उपयोगकर्ता के ऑपरेटिंग सिस्टम से स्वतंत्र गूगल नेटिव क्लाइंट, ब्राउज़र में संकलित (कम्पाइल्ड) C और C++ कोड को कुशलतापूर्वक और सुरक्षित रूप से संचालित करने वाला एक सैंडबॉक्स है।[11]
  • क्षमता-आधारित सुरक्षा प्रणालियों को एक सूक्ष्म सैंडबॉक्सिंग तंत्र के रूप में माना जा सकता है, जिसमें प्रोग्राम उत्पन्न होने पर अपारदर्शी टोकन दिए जाते हैं और इनके पास टोकन के आधार पर विशिष्ट कार्यों को करने की क्षमता होती है। क्षमता-आधारित कार्यान्वयन कर्नेल से लेकर उपयोगकर्ता-स्थान तक विभिन्न स्तरों पर कार्य कर सकते हैं। वेब ब्राउज़र में एचटीएमएल प्रतिपादन, क्षमता-आधारित उपयोगकर्ता-स्तरीय सैंडबॉक्सिंग का एक उदाहरण है।
  • सुरक्षित कंप्यूटिंग मोड (सेककॉम्प) सख्त मोड, सेककॉम्प केवल write(), read(), exit(), और sigreturn() सिस्टम कॉल की अनुमति प्रदान करता है।
  • एचटीएमएल5 में आईफ्रेम्स के साथ प्रयोग के लिए एक "सैंडबॉक्स" विशेषता है।[12]
  • जावा आभासी मशीनों में जावा एप्लेट जैसे अविश्वसनीय कोड की क्रियाओं को प्रतिबंधित करने के लिए एक सैंडबॉक्स सम्मिलित है।
  • डॉटनेट (.NET) सामान्य भाषा रनटाइम, अविश्वसनीय कोड पर प्रतिबंध लागू करने के लिए कोड पहुँच सुरक्षा प्रदान करता है।
  • सॉफ़्टवेयर त्रुटि पृथक्करण (एसएफआई),[13] सभी स्टोरों की सैंडबॉक्सिंग करके अविश्वसनीय प्राकृतिक कोड संचालन की अनुमति प्रदान करता है, असेंबली निर्देशों का पाठन करके इन्हें मेमोरी के अलग-अलग हिस्सों में भेजता है।

सैंडबॉक्स की कुछ उपयोग की स्थितियों में निम्नलिखित सम्मिलित हैं:

यह भी देखें

संदर्भ

  1. 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.
  2. Geier, Eric (2012-01-16). "How to Keep Your PC Safe With Sandboxing". TechHive. Retrieved 2014-07-03.
  3. "Sandboxing Applications" (PDF). 2001. Retrieved 7 May 2013.
  4. "Application Sandbox - Android Open Source Project". Retrieved 2021-04-02.
  5. "About App Sandbox". developer.apple.com. Retrieved 2020-12-09.
  6. "Security of runtime process in iOS and iPadOS". Apple Support (in English). Retrieved 2021-04-04.
  7. "Windows Sandbox". 2018-12-18. Retrieved 2010-01-07.
  8. google/sandboxed-api, Google, 2020-12-08, retrieved 2020-12-09
  9. "Auto-Sandboxing secure system". Retrieved 2015-01-30.
  10. "Native Client Sandbox – Untrusted x86 Native Code" (PDF). Retrieved 2015-01-03.
  11. Welcome to Native Client
  12. Internet Explorer Team Blog. "Defense in Depth: Locking Down Mash-Ups with HTML5 Sandbox". IEBlog.
  13. Wahbe, Robert (1993). "Efficient Software-Based Fault Isolation" (PDF).


बाहरी संबंध