AI-सहायता प्राप्त AuthZ समीक्षा: Ory Kratos में Permission Boundaries को समझना
AI बग खोजने में बुरा है लेकिन संदेह पैदा करने में बहुत अच्छा है।
सुरक्षा के क्षेत्र में, AI जो सबसे सस्ता काम कर सकता है वह है गलत रिपोर्टों की बाढ़ लाना। यही कारण है कि बग बाउंटी प्रोग्राम नियमों को रोक रहे हैं या उन्हें सख्त कर रहे हैं।
मैं AI का उपयोग अलग तरह से करता हूँ। मैं अपने AuthZ Smell Catalog के आधार पर AI को अत्यधिक परिकल्पनाएं (hypotheses) उत्पन्न करने देता हूँ। फिर, मैं कठिन काम करता हूँ। मेरा काम उन परिकल्पनाओं को खारिज करना है।
एक सफल समीक्षा बगों की सूची नहीं है। यह उन विचारों की एक 'किल टेबल' (kill table) है जो परीक्षण में विफल रहे।
मैंने Ory Kratos के सोर्स कोड की समीक्षा की। Kratos आइडेंटिटी और यूजर मैनेजमेंट को संभालता है। यह एक उच्च-जोखिम वाला क्षेत्र है क्योंकि यह कई आइडेंटिटीज़ और पब्लिक APIs का उपयोग करता है।
मैंने पांच परिकल्पनाओं का परीक्षण किया:
- H1: कोड में Admin API के पास कोई ऑथोराइजेशन नहीं है।
- H2: क्रॉस-आइडेंटिटी या क्रॉस-टेनेंट डेटा लीक।
- H3: रिकवरी फ्लो में टोकन का पुन: उपयोग।
- H4: सेटिंग्स फ्लो में आइडेंटिटी कन्फ्यूजन।
- H5: रिक्वेस्ट पेलोड के माध्यम से टेनेंट असाइनमेंट।
परिणाम:
- H1: खारिज (KILLED)। ऑथोराइजेशन नेटवर्क बाउंड्री पर मौजूद है, कोड हैंडलर पर नहीं। यह डिज़ाइन के अनुसार ही है।
- H2: खारिज (KILLED)। एक सेंट्रल डेटा-एक्सेस लेयर टेनेंट ID के आधार पर सभी क्वेरीज़ को फ़िल्टर करती है। उपयोगकर्ता इसे बायपास नहीं कर सकते।
- H3: खारिज (KILLED)। टोकन सिंगल-यूज़ और टाइम-बॉक्स्ड हैं।
- H4: खारिज (KILLED)। फ्लो सेशन से जुड़े होते हैं, यूजर इनपुट से नहीं।
- H5: खारिज (KILLED)। टेनेंट ID सिस्टम कॉन्टेक्स्ट से आती है, रिक्वेस्ट बॉडी से नहीं।
पांच परिकल्पनाएं डाली गईं। शून्य निष्कर्ष निकले। यह एक सफल समीक्षा है।
आपके सुरक्षा कार्य के लिए दो सबक:
डिप्लॉयमेंट-लेयर सुरक्षा, सुरक्षा की कमी जैसी लग सकती है। यदि गार्ड नेटवर्क स्तर पर तैनात है, तो कोड 'नग्न' (naked) दिखाई देगा। जब तक आप आर्किटेक्चर की जांच न कर लें, तब तक इसकी रिपोर्ट न करें।
चोकपॉइंट (chokepoint) खोजें। यदि कोई सिस्टम डेटा लेयर पर सीमाओं को लागू करता है, तो व्यक्तिगत हैंडलर्स को चेक की आवश्यकता नहीं होती है। यह पूछने के बजाय कि "क्या यह हैंडलर अनुमतियों की जांच करता है," यह पूछें कि "क्या कोई चोकपॉइंट के बिना डेटा तक पहुँच सकता है?"
उम्मीदवारों को खारिज करने के लिए AI का उपयोग करें। जीवित बचे लोगों को सत्यापित करने के लिए मनुष्यों का उपयोग करें। असली मूल्य अस्वीकृति (rejection) में है।
वैकल्पिक लर्निंग कम्युनिटी: https://t.me/GyaanSetuAi
