AI-સહાયિત AuthZ રિવ્યુ: Ory Kratos માં પરમિશન બાઉન્ડ્રીઝ (Permission Boundaries) વાંચવી

AI બગ્સ શોધવામાં નબળું છે પરંતુ શંકા પેદા કરવામાં ઉત્તમ છે.

સુરક્ષામાં, AI જે સૌથી સસ્તું કામ કરી શકે છે તે છે ખોટા રિપોર્ટ્સનો પૂર લાવવો. આ જ કારણ છે કે બગ બાઉન્ટી પ્રોગ્રામ્સ નિયમોને સ્થગિત કરી રહ્યા છે અથવા કડક બનાવી રહ્યા છે.

હું AI નો ઉપયોગ અલગ રીતે કરું છું. હું મારા AuthZ Smell Catalog ના આધારે AI ને વધુ પડતા અનુમાનો (hypotheses) બનાવવા દઉં છું. પછી, હું અઘરું કામ કરું છું. મારું કામ તે અનુમાનોને ખોટા સાબિત કરવાનું છે.

સફળ રિવ્યુ એ બગ્સની યાદી નથી. તે એવા વિચારોનું 'કિલ ટેબલ' (kill table) છે જે પરીક્ષણમાં નિષ્ફળ ગયા હોય.

મેં Ory Kratos ના સોર્સ કોડનું રિવ્યુ કર્યું. Kratos ઓળખ (identity) અને યુઝર મેનેજમેન્ટ સંભાળે છે. તે ઉચ્ચ-જોખમ ધરાવતું ક્ષેત્ર છે કારણ કે તે બહુવિધ ઓળખ અને પબ્લિક APIs નો ઉપયોગ કરે છે.

મેં પાંચ અનુમાનોનું પરીક્ષણ કર્યું:

  • H1: કોડમાં Admin API પાસે કોઈ ઓથોરાઈઝેશન નથી.
  • H2: ક્રોસ-આઈડેન્ટિટી અથવા ક્રોસ-ટેનન્ટ ડેટા લીક.
  • H3: રિકવરી ફ્લોમાં ટોકનનો પુનઃઉપયોગ.
  • H4: સેટિંગ્સ ફ્લોમાં આઈડેન્ટિટી કન્ફ્યુઝન.
  • H5: રિક્વેસ્ટ પેલોડ્સ દ્વારા ટેનન્ટ એસાઇનમેન્ટ.

પરિણામો:

  • H1: નકારવામાં આવ્યું (KILLED). ઓથોરાઈઝેશન નેટવર્ક બાઉન્ડ્રી પર છે, કોડ હેન્ડલર પર નહીં. આ ડિઝાઇન મુજબ જ છે.
  • H2: નકારવામાં આવ્યું (KILLED). એક સેન્ટ્રલ ડેટા-એક્સેસ લેયર ટેનન્ટ ID દ્વારા તમામ ક્વેરીઝને ફિલ્ટર કરે છે. યુઝર્સ તેને બાયપાસ કરી શકતા નથી.
  • H3: નકારવામાં આવ્યું (KILLED). ટોકન્સ સિંગલ-યુઝ અને સમય મર્યાદિત (time-boxed) હોય છે.
  • H4: નકારવામાં આવ્યું (KILLED). ફ્લો સેશન સાથે જોડાયેલા હોય છે, યુઝર ઇનપુટ સાથે નહીં.
  • H5: નકારવામાં આવ્યું (KILLED). ટેનન્ટ ID સિસ્ટમ કોન્ટેક્સ્ટમાંથી આવે છે, રિક્વેસ્ટ બોડીમાંથી નહીં.

પાંચ અનુમાનો રજૂ કરવામાં આવ્યા હતા. શૂન્ય પરિણામો મળ્યા. આ એક સફળ રિવ્યુ છે.

તમારા સુરક્ષા કાર્ય માટે બે પાઠ:

  1. ડિપ્લોયમેન્ટ-લેયર સુરક્ષા એ સુરક્ષાનો અભાવ હોય તેવું લાગે છે. જો ગાર્ડ નેટવર્ક લેવલ પર હોય, તો કોડ નગ્ન (naked) દેખાશે. જ્યાં સુધી તમે આર્કિટેક્ચર તપાસ ન લો ત્યાં સુધી તેને રિપોર્ટ કરશો નહીં.

  2. ચોકપોઈન્ટ (chokepoint) શોધો. જો સિસ્ટમ ડેટા લેયર પર મર્યાદાઓ લાગુ કરે છે, તો વ્યક્તિગત હેન્ડલર્સને ચેક કરવાની જરૂર નથી. "શું આ હેન્ડલર પરમિશન તપાસે છે?" તે પૂછવાને બદલે, "શું કોઈ ચોકપોઈન્ટ વગર ડેટા સુધી પહોંચી શકે છે?" તે પૂછો.

ઉમેદવારોને નકારવા માટે AI નો ઉપયોગ કરો. બચેલા ઉમેદવારોને ચકાસવા માટે માણસોનો ઉપયોગ કરો. મૂલ્ય નકારવામાં જ છે.

સ્ત્રોત: https://dev.to/fdjedkdlsspec/ai-assisted-authz-review-reading-permission-boundaries-in-ory-kratos-31cg

વૈકલ્પિક લર્નિંગ કોમ્યુનિટી: https://t.me/GyaanSetuAi