← नवीनतम पेपर
💻 computer science

Policy Description Language for Authorization using Logic-Based Programming

यह शोध पत्र एक डैटलॉग-आधारित (Datalog-based) नीति विवरण भाषा प्रस्तावित करता है जो गतिशील एप्लिकेशन प्रक्रिया अवस्थाओं (dynamic application process states) को शामिल करके सूक्ष्म-स्तरीय एक्सेस कंट्रोल सक्षम करती है, और डिफेंस-इन-डेप्थ रणनीति के भीतर SELinux नीतियों के सफल संयोजन और मूल्यांकन के माध्यम से इसकी प्रभावशीलता को प्रदर्शित करता है।

मूल लेखक: Masaki Hashimoto, Mira Kim, Hidenori Tsuji, Hidehiko Tanaka

प्रकाशित 2026-06-09
📖 5 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Masaki Hashimoto, Mira Kim, Hidenori Tsuji, Hidehiko Tanaka

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

कल्पना कीजिए कि आप एक विशाल, हाई-टेक किले के सुरक्षा प्रमुख हैं। आपका लक्ष्य अंदर मौजूद सबसे मूल्यवान खजानों की रक्षा करना है। अतीत में, सुरक्षा गार्ड (नीतियां/policies) हर एक दरवाजे पर खड़े होते थे और प्रवेश करने वाले हर व्यक्ति के लिए नियमों की एक लंबी, हस्तलिखित सूची की जांच करते थे।

समस्या: "कागज की दीवार" की समस्या
इस शोध पत्र के लेखक तर्क देते हैं कि आधुनिक कंप्यूटर सिस्टम उन किलों की तरह हैं जो इतने विशाल और जटिल हो गए हैं कि हर एक दरवाजे और हर एक व्यक्ति के लिए एक अनूिक नियम लिखना असंभव है।

  • पुराना तरीका (जैसे SELinux): कल्पना कीजिए कि एक सुरक्षा गार्ड के पास 40,000 व्यक्तिगत इंडेक्स कार्डों का एक ढेर है। प्रत्येक कार्ड कहता है, "व्यक्ति A, चाबी C के साथ दरवाजा B खोल सकता है।" यदि आप लोगों के एक पूरे समूह के लिए नियम बदलना चाहते हैं, तो आपको हजारों कार्डों को फिर से लिखना होगा। यह अव्यवस्थित, पढ़ने में कठिन और गलती करने में आसान है।
  • लक्ष्य: लेखक इन 40,000 अलग-अलग कार्डों को लिखने के बजाय एक एकल, स्मार्ट "निर्देश पुस्तिका" (instruction manual) लिखना चाहते हैं जो उन सभी को कवर करे।

समाधान: एक "स्मार्ट रेसिपी बुक" (लॉजिक-आधारित प्रोग्रामिंग)
लेखक एक नई भाषा प्रस्तावित करते हैं जो एक स्मार्ट रेसिपी बुक या सुरक्षा नियमों के लिए एक कंप्यूटर प्रोग्राम की तरह काम करती है। प्रत्येक अनुमति को सूचीबद्ध करने के बजाय, आप "रेसिपी" (लॉजिक प्रोग्राम) लिखते हैं जो समझाती है कि अनुमतियाँ कैसे काम करती हैं।

यहाँ उनका "रेसिपी बुक" कैसे काम करता है, सरल उपमाओं का उपयोग करते हुए:

  1. समूहीकरण (द "यूनिफॉर्म" उपमा):
    यह कहने के बजाय कि "बॉब तिजोरी खोल सकता है," "एलिस तिजोरी खोल सकती है," और "चार्ली तिजोरी खोल सकता है," आप एक नियम लिखते हैं: "कोई भी व्यक्ति जो मैनेजर की यूनिफॉर्म पहने हुए है, वह तिजोरी खोल सकता है।"
    शोध पत्र में, इसे पदानुक्रमित उत्तराधिकार (hierarchical inheritance) कहा गया है। यदि आप बॉब को "मैनेजर की यूनिफफॉर्म" पहना देते हैं, तो उसे स्वचालित रूप से प्रबंधकों के सभी नियम मिल जाते हैं। आपको उसके लिए नया नियम लिखने की आवश्यकता नहीं है; सिस्टम जानता है कि वह उस समूह से संबंधित है।

  2. सबरूटीन (द "असेंबली लाइन" उपमा):
    कल्पना कीजिए कि एक फैक्ट्री है जहाँ एक उत्पाद तीन चरणों से गुजरता है: तैयारी (Prep), पकाना (Cook), और पैकिंग (Pack)। हर स्टेशन पर काम करने वाले हर कर्मचारी के लिए नया नियम लिखने के बजाय, आप "तैयारी स्टेशन" के लिए एक नियम और "पकाने के स्टेशन" के लिए एक नियम लिखते हैं।
    लेखक इसे सबरूटीन (subroutinization) कहते हैं। आप एक प्रक्रिया (जैसे एक लेनदेन) के एक "चरण" को परिभाषित कर सकते हैं और कह सकते हैं, "एक बार 'तैयारी' का चरण पूरा हो जाने के बाद, कार्यकर्ता स्वचालित रूप से 'पकाने' के चरण में चला जाता है।" यह आपको हजारों नियमों के बजाय कुछ ही लाइनों के टेक्स्ट के साथ जटिल, बहु-चरणीय सुरक्षा प्रक्रियाओं का वर्णन करने की अनुमति देता है।

  3. गतिशील स्थिति (द "ट्रैफिक लाइट" उपमा):
    कभी-कभी, एक नियम इस बात पर निर्भर करता है कि अभी क्या हो रहा है। उदाहरण के लिए, "आप रसोई में तभी प्रवेश कर सकते हैं जब 'फायर अलार्म' बंद हो।"
    नई भाषा इन बदलती स्थितियों को संभाल सकती है। यह कह सकती है, "यदि सिस्टम वर्तमान में 'दूषित' (tainted) है (जैसे कि लाल ट्रैफिक लाइट), तो कोई भी प्रवेश नहीं कर सकता।" यह सिस्टम को केवल स्थिर सूचियों के बजाय कंप्यूटर की वर्तमान स्थिति के प्रति प्रतिक्रिया करने की अनुमति देता है।

प्रयोग: नए सिस्टम का परीक्षण
लेखकों ने केवल रेसिपी बुक नहीं लिखी; उन्होंने वास्तविक चीज़ के विरुद्ध इसका परीक्षण किया।

  • परीक्षण: उन्होंने SELinux (जो लिनक्स का एक वास्तविक, व्यापक रूप से उपयोग किया जाने वाला सुरक्षा सिस्टम है) की विशाल सुरक्षा नीति को अपनी नई "रेसिपी बुक" भाषा में अनुवादित किया।
  • परिणाम (सटीकता): उन्होंने पुराने और नए सिस्टम दोनों से एक ही 15 मिलियन प्रश्न पूछे (जैसे, "क्या उपयोगकर्ता X, क्रिया Y कर सकता है?")। उनके उत्तर 99% बार मेल खाते थे। यह साबित करता है कि नई भाषा उतनी ही सटीक है जितनी कि पुरानी, जटिल प्रणाली।
  • परिणाम (दक्षता): यहीं पर जादू हुआ। मूल SELinux नीति के लिए 6,524 पंक्तियों का कोड (और 133 पृष्ठों का कागज) लगा था। नई भाषा ने ठीक उसी सुरक्षा नियमों को केवल 335 पंक्तियों में वर्णित किया (95 पृष्ठ)। उन्होंने नीति को लगभग 95% तक सिकोड़ दिया।

यह क्यों मायने रखता है
लेखक निष्कर्ष निकालते हैं कि जबकि पुराना तरीका (प्रत्येक नियम को व्यक्तिगत रूप से लिखना) केवल एक नियम को देखने के लिए आसान है, यह पूरे सिस्टम को देखने पर एक दुःस्वप्न बन जाता है।

नई भाषा एक शब्दकोश में 40,000 व्यक्तिगत शब्दों को लिखने के बजाय एक व्याकरण पुस्तक लिखने जैसा है।

  • पक्ष (Pros): यह इसे पूरा सिस्टम छोटा, प्रबंधनीय और "बड़ी तस्वीर" को देखना आसान बनाता है। यह सुरक्षा को अधिक लचीला और अनुकूलन योग्य होने की अनुमति देता है।
  • विपक्ष (Cons): यदि आप केवल एक एकल नियम को देखते हैं, तो नई प्रणाली में यह थोड़ा अमूर्त (जैसे कि एक गणितीय सूत्र) लग सकता है। लेकिन एक विशाल, जटिल सिस्टम को प्रबंधित करने के लिए, "व्याकरण पुस्तक" वाला दृष्टिकोण कहीं अधिक श्रेष्ठ है।

संक्षेप में, लेखकों ने एक ऐसा टूल बनाया है जो सुरक्षा विशेषज्ञों को दोहराव वाले, व्यक्तिगत नियमों के समुद्र में डूबने के बजाय स्मार्ट, पुन: प्रयोज्य लॉजिक का उपयोग करके जटिल, बहु-स्तरीय सुरक्षा का वर्णन करने की अनुमति देता है।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →