அங்கீகாரக் குறைபாடுகளைக் (Authorization Bugs) கண்டறிய AI-ஐப் பயன்படுத்துதல்
பக் பவுண்டி (Bug bounty) திட்டங்கள் மாறி வருகின்றன. சில திட்டங்கள் வெகுமதிகளை வழங்குவதை நிறுத்திவிட்டன. மற்றவை கொடுப்பனவுகளை 80% வரை குறைத்துள்ளன. இதற்குக் காரணம் AI அதிகப்படியான பிழைகளைக் கண்டறிவது அல்ல. மாறாக, AI தவறான பிழைகளை அதிக அளவில் கண்டறிவதே இதற்குக் காரணம். தரம் குறைந்த அறிக்கைகளால் (reports) வகைப்படுத்தும் குழுக்கள் (Triage teams) திணறுகின்றன.
இத்தகைய சூழலில், மிக முக்கியமான திறன் பிழைகளைக் கண்டறிவது அல்ல. ஒரு பிழை இல்லை என்பதை நிரூபிப்பதே மிக முக்கியமானது. நீங்கள் சரியான எதிர்மறைகளை (negatives) கண்டறிய வேண்டும்.
மூலக் குறியீடு கிடைக்கக்கூடிய (source-available) இலக்குகளுக்கு நான் இரண்டு கட்ட முறையைப் பயன்படுத்துகிறேன்.
Stage 1: Fan-out குறியீட்டைப் படிக்க மலிவான AI மாதிரிகளைப் பயன்படுத்துங்கள். இலக்கைச் சிறிய துண்டுகளாகப் பிரிக்கவும். மீறப்பட்ட மாறிலிகளை (broken invariants) கண்டறிய மாதிரியிடம் கேட்கவும். ஒரு பொருள் உரிமையாளர் சரிபார்ப்பு (owner check) இன்றி ஏற்றப்படும் இடங்கள் அல்லது பாதுகாப்பு வாயில் (security gate) தவிர்க்கப்படும் இடங்களைத் தேடுங்கள். அதிக அளவிலான முடிவுகளைப் (high recall) பெறுவதை நோக்கமாகக் கொள்ளுங்கள். பல தவறுகள் நடக்கும் என்று எதிர்பார்க்கவும்.
Stage 2: Adversarial Verification சாத்தியமான பிழைகளைத் தள்ளுபடி செய்ய அதிகச் செலவுமிக்க, உயர் தர்க்கத் திறன் கொண்ட (high-reasoning) மாதிரியைப் பயன்படுத்துங்கள். ஒவ்வொரு சாத்தியமான பிழையும் நிரூபிக்கப்பட்டதாகவே கருதுங்கள். குறியீட்டின் குறிப்பிட்ட வரிகளைக் குறிப்பிட முடிந்தால் மட்டுமே ஒரு பிழை நிலைத்திருக்கும். அந்தப் பாதை சென்றடையக்கூடியது என்பதையும், வேறு எந்தச் சரிபார்ப்பும் அதைத் தடுப்பதில்லை என்பதையும் நீங்கள் நிரூபிக்க வேண்டும்.
மிகவும் மதிப்புமிக்க வெளியீடு என்பது மறுப்புகளின் (refutations) பட்டியல் ஆகும். இந்த பட்டியல் வகைப்பகுப்பாளர்களுடன் (triagers) நம்பிக்கையை உருவாக்குகிறது.
நான் Ory Kratos என்ற திறந்த மூல அடையாள சேவையகத்தை (open-source identity server) சோதித்தேன். அதன் அமைப்புகள் மாற்றும் முறையை (settings flow) நான் பார்த்தேன். இந்த பகுதி கடவுச்சொல் மாற்றங்கள் மற்றும் மின்னஞ்சல் புதுப்பிப்புகளைக் கையாள்கிறது. இதில் ஏற்படும் ஒரு சிறிய தவறு கூட கணக்கைக் கைப்பற்ற (account takeover) வழிவகுக்கும்.
முதல் கட்டத்தில் ஒரு கவர்ச்சிகரமான பிழை கண்டறியப்பட்டது. OIDC உத்தியில் (strategy), ஒரு குறிப்பிட்ட கொள்கலனுக்கு (container) அடையாள இணைப்பு (identity binding) இல்லை. நீங்கள் விடுபட்ட சரிபார்ப்புகளை மட்டும் தேடினால், இதை ஒரு உயர்-தீவிரத்தன்மை கொண்ட (high-severity) பிழையாக நீங்கள் அறிக்கை செய்வீர்கள்.
அது ஒரு தவறாக இருக்கும்.
விடுபட்ட அந்த இணைப்பு பயன்படுத்தத்தக்கது அல்ல (not exploitable). கணினி நேரடி அமர்வு குக்கீ (live session cookie) அல்லது கையொப்பமிடப்பட்ட டோக்கன் (signed token) மூலம் இலக்கு அடையாளத்தைப் பெறுகிறது. கொள்கலன் பண்புகள் (container traits) உண்மையான எழுதும் இலக்கிற்கு (write target) ஒருபோதும் பொருந்தாது. வடிவமைப்பு சரியாக உள்ளது.
இதைப் பற்றி அறிக்கை செய்வது நேரத்தை வீணடிக்கும் மற்றும் உங்கள் நம்பகத்தன்மையைக் குறைக்கும். நான் வழங்கிய மதிப்பு என்பது, அறிக்கை சமர்ப்பிக்காமல் இருக்கத் தேவையான தன்னம்பிக்கை ஆகும்.
இதே முறையை வேறொரு இலக்கில் பயன்படுத்தியபோது, நான் ஒரு உண்மையான பிழையைக் கண்டறிந்தேன். முக்கியப் பாதை நடைமுறைப்படுத்தும் அங்கீகாரச் சரிபார்ப்பை (authorization check), ஒரு மாற்று நுழைவுப் புள்ளி தவறவிட்டது. ரத்து செய்யப்பட்ட பயனரால் கூட ஒரு பக்கவாட்டு வாயில் (side door) வழியாக நுழைய முடிந்தது. இந்த பிழை அதிகத் தாக்கத்தை ஏற்படுத்தக்கூடியது மற்றும் சாதாரண ஸ்கேனர்களால் கண்டறிய முடியாதது.
கட்டுப்பாட்டாளர்கள் (Gatekeepers) அதிகப்படியான அறிக்கைகளுக்கு எதிராகச் சுவர்களை எழுப்பிக் கொண்டிருக்கிறார்கள். வெற்றி பெற, உங்கள் AI வேலை மிகவும் துல்லியமானதாக இருக்க வேண்டும். ஒரு மனிதனால் படிக்க முடியாத அளவுக்கு அதிக குறியீட்டைப் படிக்க AI-ஐப் பயன்படுத்துங்கள். பின்னர், நீங்கள் அறிக்கையைச் சமர்ப்பிக்கும் முன், நீங்கள் சொல்வது தவறு என்பதை நிரூபிக்க AI-ஐப் பயன்படுத்துங்கள்.
அளவை விடத் தரத்தில் (signal) கவனம் செலுத்துங்கள்.
