सेकॉम्प
This article needs to be updated.May 2012) ( |
Original author(s) | Andrea Arcangeli |
---|---|
Initial release | March 8, 2005 |
Written in | C |
Operating system | Linux |
Type | Sandboxing |
License | GNU General Public License |
Website | code |
seccomp (सिक्योर कंप्यूटिंग मोड के लिए छोटा) लिनक्स कर्नेल में एक कंप्यूटर सुरक्षा सुविधा है। seccomp एक प्रक्रिया (कंप्यूटिंग) को एक सुरक्षित स्थिति में एक तरफ़ा संक्रमण करने की अनुमति देता है जहाँ यह किसी भी सिस्टम कॉल को छोड़कर नहीं कर सकता है exit()
, sigreturn()
, read()
और write()
पहले से खुले फाइल डिस्क्रिप्टर के लिए। क्या इसे किसी अन्य सिस्टम कॉल का प्रयास करना चाहिए, कर्नेल या तो केवल घटना को लॉग करेगा या SIGKILL या SIGSYS के साथ प्रक्रिया को समाप्त कर देगा।[1][2] इस अर्थ में, यह सिस्टम के संसाधनों को आभासी मशीन नहीं करता है बल्कि प्रक्रिया को पूरी तरह से अलग करता है।
seccomp मोड के माध्यम से सक्षम किया गया है PR_SET_SECCOMP
तर्क, या (लिनक्स कर्नेल 3.17[3]) के माध्यम से सिस्टम कॉल।[4] फ़ाइल में लिखकर seccomp मोड को सक्षम किया जाता था, /proc/self/seccomp
, लेकिन इस पद्धति के पक्ष में हटा दिया गया था prctl()
.[5] कुछ कर्नेल संस्करणों में, seccomp अक्षम करता है RDTSC
x86 निर्देश, जो पावर-ऑन के बाद से बीता हुआ प्रोसेसर चक्रों की संख्या लौटाता है, उच्च-सटीक समय के लिए उपयोग किया जाता है।[6]
seccomp-bpf, seccomp का एक विस्तार है[7] जो बर्कले पैकेट फ़िल्टर नियमों का उपयोग करके कार्यान्वित एक विन्यास योग्य नीति का उपयोग करके सिस्टम कॉल को फ़िल्टर करने की अनुमति देता है। इसका उपयोग OpenSSH द्वारा किया जाता है[8]और vsftpd के साथ-साथ Google Chrome वेब ब्राउज़र|ChromeOS और Linux पर Chrome/Chromium वेब ब्राउज़र।[9] (इस संबंध में seccomp-bpf समान कार्यक्षमता प्राप्त करता है, लेकिन अधिक लचीलेपन और उच्च प्रदर्शन के साथ, पुराने सिस्ट्रेस के लिए - जो अब लिनक्स के लिए समर्थित नहीं लगता है।)
कुछ लोग seccomp को OpenBSD प्रतिज्ञा(2) और FreeBSD Capsicum (Unix)(4) के बराबर मानते हैं।[citation needed].
इतिहास
seccomp को पहली बार सार्वजनिक ग्रिड कंप्यूटिंग में उपयोग के लिए जनवरी 2005 में Andrea Arcangeli द्वारा तैयार किया गया था और मूल रूप से अविश्वसनीय कोड कंप्यूट-बाउंड प्रोग्राम को सुरक्षित रूप से चलाने के साधन के रूप में अभिप्रेत था। इसे कर्नेल संस्करण 2.6.12 में लिनक्स कर्नेल मेनलाइन में मिला दिया गया था, जिसे 8 मार्च, 2005 को जारी किया गया था।[10]
== seccomp या seccomp-bpf == का प्रयोग करने वाला सॉफ्टवेयर
- Android (ऑपरेटिंग सिस्टम) Android 8.0 Oreo के बाद से युग्मज में एक seccomp-bpf फ़िल्टर का उपयोग करता है।[11]
- systemd के सैंडबॉक्स (कंप्यूटर सुरक्षा) विकल्प seccomp पर आधारित हैं।[12]
- QEMU, क्विक एम्यूलेटर, कर्नेल वर्चुअल मशीन के साथ मिलकर आधुनिक वर्चुअलाइजेशन का मुख्य घटक पैरामीटर पर seccomp का उपयोग करता है
--sandbox
[13] - डॉकर (सॉफ्टवेयर) - सॉफ्टवेयर जो अनुप्रयोगों को पृथक कंटेनरों के अंदर चलाने की अनुमति देता है। डॉकर एक seccomp प्रोफ़ाइल को कंटेनर के साथ संबद्ध कर सकता है
--security-opt
पैरामीटर। - अर्कांगेली का CPUShare कुछ समय के लिए seccomp का एकमात्र ज्ञात उपयोगकर्ता था।[14] फरवरी 2009 में लिखते हुए, लिनस टोरवाल्ड्स ने संदेह व्यक्त किया कि क्या वास्तव में seccomp का उपयोग किसी के द्वारा किया जाता है।[15] हालांकि, एक Google इंजीनियर ने उत्तर दिया कि Google अपने Google Chrome वेब ब्राउज़र में सैंडबॉक्स (कंप्यूटर सुरक्षा) के लिए seccomp का उपयोग करके अन्वेषण कर रहा है। रेफरी>Gutschke, Markus (2009-05-06). "पुन: [पैच 2/2] x86-64: seccomp: 32/64 syscall छेद को ठीक करें". Retrieved 2013-08-02.</ref>[16]
- फिरिजैल एक ओपन सोर्स लिनक्स सैंडबॉक्स प्रोग्राम है जो सैंडबॉक्स लिनक्स और शराब (सॉफ्टवेयर) अनुप्रयोगों के लिए लिनक्स नामस्थान , सेकॉम्प और अन्य कर्नेल-स्तरीय सुरक्षा सुविधाओं का उपयोग करता है।
रेफरी>"फिरिजैल". फिरिजैल (in English). Retrieved 2016-11-26.</ref>
- क्रोम संस्करण 20 के अनुसार, seccomp-bpf का उपयोग Adobe Flash Player को सैंडबॉक्स करने के लिए किया जाता है।
रेफरी>Evans, Chris (2012-07-04). "लिनक्स पर क्रोम 20 और फ्लैश सैंडबॉक्सिंग". Retrieved 2013-08-02.</ref>
- क्रोम संस्करण 23 के अनुसार, रेंडरर्स को सैंडबॉक्स करने के लिए seccomp-bpf का उपयोग किया जाता है।
रेफरी>Tinnes, Julien (2012-09-06). "पेश है Chrome की अगली पीढ़ी का Linux सैंडबॉक्स". cr0 blog. Retrieved 2013-08-02.</ref>
- स्नैपी (पैकेज मैनेजर) इंटरफ़ेस का उपयोग करके अपने एप्लिकेशन सैंडबॉक्स के आकार को निर्दिष्ट करता है जो स्नैपड को seccomp, AppArmor और अन्य सुरक्षा निर्माणों में अनुवादित करता है
रेफरी>"स्नैप सुरक्षा नीति". Archived from the original on 2017-02-04. Retrieved 2017-02-03.</ref>
- vsftpd संस्करण 3.0.0 के अनुसार seccomp-bpf सैंडबॉक्सिंग का उपयोग करता है।
रेफरी>Evans, Chris (2012-04-09). "vsftpd-3.0.0 और seccomp फ़िल्टर सैंडबॉक्सिंग यहाँ है!". Retrieved 2013-08-02.</ref>
- OpenSSH ने 6.0 संस्करण के बाद से seccomp-bpf का समर्थन किया है।
रेफरी नाम = ओपनएसएसएच 6.0>"Opensh 6.0 रिलीज़ नोट". Retrieved 2013-10-14.</ref>
- Mbox अकेले ptrace की तुलना में कम ओवरहेड के साथ एक सुरक्षित सैंडबॉक्स बनाने के लिए seccomp-bpf के साथ ptrace का उपयोग करता है।
रेफरी>"एम बॉक्स". Retrieved 2014-05-20.</ref>
- एलएक्सडी, कंटेनरों के लिए एक उबंटू (ऑपरेटिंग सिस्टम) सूत्र
रेफरी>"LXD कंटेनरों के लिए एक "हाइपरविजर" है (liblxc पर आधारित)". 4 November 2014. Retrieved 2014-11-08.</ref>[17]
- फ़ायरफ़ॉक्स और फ़ायरफ़ॉक्स ओएस, जो seccomp-bpf का उपयोग करते हैं[18][19]
- Tor (गुमनामी नेटवर्क) 0.2.5.1-अल्फा के बाद से seccomp का समर्थन करता है[20]
- लेप्टन, ड्रॉपबॉक्स (सेवा) द्वारा विकसित एक जेपीईजी कम्प्रेशन टूल seccomp का उपयोग करता है[21]
- काफेल एक विन्यास भाषा है, जो पठनीय नीतियों को seccompb-bpf bytecode में परिवर्तित करती है[22]
- सबग्राफ (ऑपरेटिंग सिस्टम) seccomp-bpf का उपयोग करता है[23][24]
- Flatpak प्रक्रिया अलगाव के लिए seccomp का उपयोग करता है[25]
- बबलरैप फ्लैटपैक से विकसित एक हल्का सैंडबॉक्स एप्लिकेशन है[26]
- मिनिजेल[27] प्रक्रिया अलगाव के लिए seccomp का उपयोग करता है[28]
- SydBox seccomp-bpf का उपयोग करता है[29] Exherbo Linux वितरण पर सैंडबॉक्स पैकेज बनाने के लिए उपयोग किए जाने वाले ptrace सैंडबॉक्सिंग के रनटाइम और सुरक्षा में सुधार करने के लिए।
- फ़ाइल, फ़ाइल प्रकार निर्धारित करने के लिए एक यूनिक्स प्रोग्राम, अपने रनटाइम वातावरण को प्रतिबंधित करने के लिए seccomp का उपयोग करता है[30]
- Zathura_(document_viewer), एक न्यूनतर दस्तावेज़ दर्शक, विभिन्न सैंडबॉक्स मोड को लागू करने के लिए seccomp फ़िल्टर का उपयोग करता है[31]
- गनोम ट्रैकर, गनोम डेस्कटॉप पर्यावरण के लिए एक अनुक्रमण और पूर्वावलोकन अनुप्रयोग, मीडिया फ़ाइलों में कमजोरियों को पार्स करने के स्वचालित शोषण को रोकने के लिए seccomp का उपयोग करता है।[32]
संदर्भ
- ↑ Corbet, Jonathan (2015-09-02). "एक सेकेंड अवलोकन". lwn. Retrieved 2017-10-05.
- ↑ "Documentation/prctl/seccomp_filter.txt". Retrieved 2017-10-05.
- ↑ "Linux kernel 3.17, Section 11. Security". kernelnewbies.org. 2013-10-05. Retrieved 2015-03-31.
- ↑ "seccomp: add "seccomp" syscall". kernel/git/torvalds/linux.git - Linux kernel source tree. kernel.org. 2014-06-25. Retrieved 2014-08-22.
- ↑ Arcangeli, Andrea (2007-06-14). "[PATCH 1 of 2] move seccomp from /proc to a prctl". Retrieved 2013-08-02.
- ↑ Tinnes, Julien (2009-05-28). "लिनक्स कर्नेल में विषमताओं को अक्षम करने वाला टाइम-स्टैम्प काउंटर". cr0 blog. Retrieved 2013-08-02.
- ↑ Corbet, Jonathan (2012-01-11). "फिर भी seccomp के लिए एक और नया दृष्टिकोण". lwn. Retrieved 2013-08-02.
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedOpenSSH 6.0
- ↑ Tinnes, Julien (2012-11-19). "आपके Linux और Chrome OS रेंडरर्स के लिए एक सुरक्षित खेल का मैदान". The Chromium Blog. Retrieved 2013-08-02.
- ↑ "[PATCH] seccomp: secure computing support". Linux kernel history. Kernel.org git repositories. 2005-03-08. Archived from the original on 2013-04-15. Retrieved 2013-08-02.
- ↑ "Android O में Seccomp फ़िल्टर". Android Developers Blog.
- ↑ "systemd.exec — Execution environment configuration". freedesktop.org. Retrieved 2017-10-14.
- ↑ Otubo, Eduardo (2017-09-15). "QEMU सैंडबॉक्सिंग नया मॉडल पुल अनुरोध". qemu-devel mailing list archive.
- ↑ {{cite web | url = https://lkml.org/lkml/2009/2/28/141 | title = पुन: [स्थिर] [पैच 2/2] x86-64: सेकम्प: 32/64 सिस्कल छेद को ठीक करें| access-date = 2013-08-02 | last = van de Ven | first = Arjan | date = 2009-02-28 | work = Linux Kernel Mailing List}
- ↑ {{cite web | url = https://lkml.org/lkml/2009/2/28/129 | title = पुन: [पैच 2/2] x86-64: seccomp: 32/64 syscall छेद को ठीक करें| access-date = 2013-08-02 | last = Torvalds | first = Linus | date = 2009-02-28 | work = Linux Kernel Mailing List}
- ↑ Gutschke, Markus (2009-05-06). "पुन: [पैच 2/2] x86-64: seccomp: 32/64 syscall छेद को ठीक करें". Linux Kernel Mailing List. Retrieved 2013-08-02.
- ↑ "हम एलएक्सडी के साथ कहां जा रहे हैं". Retrieved 2014-11-08.
- ↑ Destuynder, Guillaume (2012-09-13). "फ़ायरफ़ॉक्स Seccomp सैंडबॉक्स". Mozilla Bugzilla. Retrieved 2015-01-13.
- ↑ Destuynder, Guillaume (2012-09-13). "फ़ायरफ़ॉक्स Seccomp सैंडबॉक्स". Mozilla Wiki. Retrieved 2015-01-13.
- ↑ "Tor ChangeLog".
- ↑ "Lepton image compression: saving 22% losslessly from images at 15MB/s". Dropbox Tech Blog. Retrieved 2016-07-15.
- ↑ "Kafel: A language and library for specifying syscall filtering policies".
- ↑ "सबग्राफ ओएस". Subgraph. Retrieved 2016-12-18.
- ↑ "LoganCIJ16: Future of OS". YouTube. Archived from the original on 2021-12-21. Retrieved 2016-12-18.
- ↑ "The flatpak security model – part 1: The basics". Retrieved 2017-01-21.
- ↑ "बबल रैप". Retrieved 2018-04-14.
- ↑ "Chromium OS Sandboxing - the Chromium Projects".
- ↑ "Minijail [LWN.net]". lwn.net. Retrieved 2017-04-11.
- ↑ "core/trace/use_seccomp". dev.exherbo.org. Retrieved 2021-05-31.
- ↑ "फ़ाइल आवेदन सैंडबॉक्सिंग". GitHub.
- ↑ "Zathura seccomp implementation".
- ↑ "Gnome tracker seccomp implementation".
बाहरी संबंध
- Official website (Archived)
- Google's Chromium sandbox, LWN.net, August 2009, by Jake Edge
- seccomp-nurse, a sandboxing framework based on seccomp
- Documentation/prctl/seccomp_filter.txt, part of the Linux kernel documentation
- Security In-Depth for Linux Software: Preventing and Mitigating Security Bugs