AI-आधारित AuthZ रिव्ह्यू: Ory Kratos मधील Permission Boundaries समजून घेणे

AI बग्स शोधण्यात कच्चे असले तरी संशय निर्माण करण्यात उत्तम आहे.

सुरक्षेच्या बाबतीत, AI सर्वात स्वस्त गोष्ट म्हणजे खोट्या रिपोर्टचा पूर आणू शकते. म्हणूनच बग बाउंटी प्रोग्राम्स आता नियम थांबवत आहेत किंवा अधिक कडक करत आहेत.

मी AI चा वापर वेगळ्या पद्धतीने करतो. मी माझ्या AuthZ Smell Catalog वर आधारित अनेक गृहितके (hypotheses) तयार करण्यासाठी AI चा वापर करतो. त्यानंतर, मी कष्टाचे काम करतो. त्या गृहितकांना चुकीचे ठरवणे हे माझे काम आहे.

यशस्वी रिव्ह्यू म्हणजे केवळ बग्सची यादी नव्हे. तर, चाचणीत अपयशी ठरलेल्या कल्पनांची ती एक 'किल टेबल' (kill table) असते.

मी Ory Kratos चा सोर्स कोड रिव्ह्यू केला. Kratos ओळख (identity) आणि युजर मॅनेजमेंट हाताळते. हे एक उच्च-जोखीम असलेले क्षेत्र आहे कारण ते अनेक आयडेंटिटीज आणि पब्लिक APIs वापरते.

मी पाच गृहितकांची चाचणी घेतली:

  • H1: कोडमध्ये Admin API साठी कोणतेही ऑथोरायझेशन नाही.
  • H2: क्रॉस-आयडेंटिटी किंवा क्रॉस-टेनंट डेटा लीक.
  • H3: रिकव्हरी फ्लोमध्ये टोकनचा पुनर्वापर.
  • H4: सेटिंग्स फ्लोमध्ये आयडेंटिटी संभ्रम (confusion).
  • H5: रिक्वेस्ट पेलोडद्वारे टेनंट असाइनमेंट.

निकाल:

  • H1: बाद (KILLED). ऑथोरायझेशन नेटवर्क बाउंड्रीवर आहे, कोड हँडलरमध्ये नाही. हे मुद्दाम असेच डिझाइन केलेले आहे.
  • H2: बाद (KILLED). एक सेंट्रल डेटा-ॲक्सेस लेयर टेनंट ID नुसार सर्व क्वेरीज फिल्टर करते. युजर्स हे बायपास करू शकत नाहीत.
  • H3: बाद (KILLED). टोकन्स सिंगल-युज आणि ठराविक वेळेसाठी (time-boxed) असतात.
  • H4: बाद (KILLED). फ्लो हे सेशनशी जोडलेले असतात, युजर इनपुटशी नाही.
  • H5: बाद (KILLED). टेनंट IDs सिस्टम कॉन्टेक्स्टमधून येतात, रिक्वेस्ट बॉडीमधून नाही.

पाच गृहितके तपासली गेली. एकही निष्कर्ष (finding) आढळला नाही. हा एक यशस्वी रिव्ह्यू आहे.

तुमच्या सुरक्षा कामासाठी दोन धडे:

  1. डिप्लॉयमेंट-लेयर सुरक्षा म्हणजे सुरक्षा नसणे असे वाटू शकते. जर रक्षक नेटवर्क लेव्हलवर असेल, तर कोड 'नग्न' (naked) वाटेल. आर्किटेक्चर तपासल्याशिवाय ते रिपोर्ट करू नका.

  2. चोकपॉइंट (chokepoint) शोधा. जर एखादी सिस्टम डेटा लेयरवर मर्यादा (boundaries) लागू करत असेल, तर वैयक्तिक हँडलर्सना तपासणीची गरज नसते. "हा हँडलर परवानग्या तपासतो का?" असे विचारण्याऐवजी, "कोणीही चोकपॉइंटशिवाय डेटापर्यंत पोहोचू शकते का?" असे विचारा.

उमेदवारांना नाकारण्यासाठी AI वापरा. टिकून राहिलेल्यांची पडताळणी करण्यासाठी मानवांचा वापर करा. खरे मूल्य नाकारण्यात आहे.

स्त्रोत: https://dev.to/fdjedkdlsspec/ai-assisted-authz-review-reading-permission-boundaries-in-ory-kratos-31cg

ऐच्छिक लर्निंग कम्युनिटी: https://t.me/GyaanSetuAi