ஆதாயங்கள்:
- AI வெளியீட்டை மூன்று அடுக்குகளில் சரிபார்க்கும் திறன்: துல்லியம், பாதுகாப்பு மற்றும் மூல/உரிமம்
- பாதுகாப்பான அச்சுகள் மற்றும் கருவிகள் மூலம் ஊசி, மாயத்தோற்றம் பேக்கேஜ்கள் மற்றும் புதைக்கப்பட்ட ரகசியங்கள் போன்ற அபாயங்களை மறைக்கும் திறன்
- ஒரு திறமையான பொறியாளரின் ஒப்புதலுக்கு பாதுகாப்பு-முக்கியமான குறியீட்டை முன்வைக்கும் திறன் மற்றும் பொறுப்பை மாற்றாத தன்மையைப் புரிந்துகொள்வது
AI குறியீட்டை உருவாக்குவது எளிது; அவரை நம்புவது விலை உயர்ந்தது. இந்த அலகின் ஒரே நோக்கம், "சரிபார்த்தல்" கொள்கையை, முந்தைய அனைத்து யூனிட்களிலும் நாம் திரும்பத் திரும்பக் கூறியதை, ஒரு முறையான பொறியியல் துறையாக மாற்றுவதுதான். ஏனெனில், AI ஆல் உருவாக்கப்பட்ட குறியீடு, முதல் பார்வையில் சரியாகத் தோன்றினாலும், மூன்று தனித்தனி ஆபத்துக்களைக் கொண்டுள்ளது: வேலை செய்யாதது/தவறானது (மாயத்தோற்றம்), பாதுகாப்பற்றதாக இருப்பது (பாதிப்பு) மற்றும் சட்டப்பூர்வ/உரிம அபாயங்களைக் கொண்டது. இந்த மூன்றையும் அறிந்து, ஒவ்வொன்றிற்கும் ஒரு கதவை நிறுவுவது உங்களை ஒரு நிபுணராக்கும்.
இங்கே "சரிபார்ப்பை" மூன்று அடுக்குகளாகக் கருதுகிறோம்: சரியான தன்மை (குறியீடு உண்மையில் வேலையைச் செய்கிறதா?), பாதுகாப்பு (தீங்கிழைக்கும் உள்ளீட்டைத் தாங்குமா?), மற்றும் ஆதாரம்/உரிமம் (இந்தக் குறியீட்டைப் பயன்படுத்த எனக்கு உரிமை உள்ளதா?). ஒவ்வொரு அடுக்குக்கும் அதன் சொந்த கட்டுப்பாட்டு வழிமுறைகள் உள்ளன, மேலும் அவை எதையும் "AI சொன்னது" என்று புறக்கணிக்க முடியாது.
அபாயத்தின் மூன்று அடுக்குகள்
1. துல்லியத்தின் ஆபத்து (மாயத்தோற்றம்). மாடல் இல்லாத செயல்பாட்டை அழைக்கலாம், ஏபிஐ தவறாகப் பயன்படுத்தலாம், எட்ஜ் கேஸை அமைதியாகப் புறக்கணிக்கலாம். குறியீடு "நியாயமானதாக" தெரிகிறது ஆனால் தவறானது. மாற்று மருந்து: தொகுப்பு, சோதனை, நிலையான பகுப்பாய்வு மற்றும் காட்சி ஆய்வு.
2. பாதுகாப்பு ஆபத்து. AI ஆனது பயிற்சித் தரவில் பாதுகாப்பற்ற வடிவங்களை மீண்டும் செய்யலாம்: SQL ஊசி மூலம் பாதிக்கப்படக்கூடிய வினவல், அங்கீகரிக்கப்படாத பயனர் உள்ளீடு, பலவீனமான குறியாக்கம், பாதுகாப்பற்ற டீரியலைசேஷன், திறந்த திசைமாற்றம். குறியீடு வேலை செய்கிறது ஆனால் தாக்குதலுக்கு ஆளாகக்கூடியது. மாற்று மருந்து: பாதுகாப்பு-மையப்படுத்தப்பட்ட மதிப்பாய்வு, தானியங்கு ஸ்கேனர்கள் (SAST) மற்றும் அறியப்பட்ட பாதுகாப்பான வடிவங்களை சுமத்துதல்.
3. ஆதாரம்/உரிமம் ஆபத்து. AI ஆனது பதிப்புரிமை பெற்ற அல்லது கட்டுப்படுத்தப்பட்ட உரிமம் பெற்ற குறியீட்டை ஒத்த வெளியீட்டை உருவாக்கலாம் அல்லது பொருத்தமற்ற உரிமம் பெற்ற சார்புநிலையை பரிந்துரைக்கலாம். மாற்று மருந்து: சார்பு மற்றும் உரிமம் சரிபார்ப்பு, அசல் சரிபார்ப்பு, கார்ப்பரேட் கொள்கை.
எச்சரிக்கை: இந்த மூன்று ஆபத்துகளில் மிகவும் நயவஞ்சகமானது பாதுகாப்பு; ஏனெனில் குறியீடு சோதனையில் தேர்ச்சி பெறலாம், உற்பத்தியில் சீராக இயங்கலாம் மற்றும் தாக்குபவர் அதைக் கண்டுபிடிக்கும் போது மட்டுமே பாதிப்பு வெளிப்படும். "வேலை" என்பது "பாதுகாப்பானது" என்பதற்கு சமமானதல்ல.
படிப்படியாக: அடுக்கு அங்கீகார வாயில்
- புரிந்து கொண்டு படியுங்கள். குறியீட்டை ஏற்றுக்கொள்வதற்கு முன் உண்மையில் புரிந்து கொள்ளுங்கள்; உங்களுக்கு புரியாத குறியீட்டை ஒன்றிணைக்க வேண்டாம். "அது ஏன் வேலை செய்கிறது" என்பதை உங்களால் விளக்க முடியவில்லை என்றால், அது இன்னும் சரிபார்க்கப்படவில்லை.
- அது இருப்பதை சரிபார்க்கவும். பயன்படுத்தப்படும் ஒவ்வொரு செயல்பாடும், API மற்றும் தொகுப்பும் உண்மையில் உள்ளது மற்றும் சரியாகப் பயன்படுத்தப்படுகிறது என்பதை உறுதிப்படுத்தவும் (ஹாலுசினேஷன் கேட்).
- தானியங்கி கருவிகளை இயக்கவும். கம்பைலர், லிண்டர் (ஸ்டைல்/எரர் ஸ்கேனர்), டைப் செக்கர், யூனிட் சோதனைகள் மற்றும் முடிந்தால் SAST (நிலையான பயன்பாட்டு பாதுகாப்பு சோதனை - பாதிப்புகளுக்கான மூலக் குறியீட்டை ஸ்கேன் செய்யும் கருவி).
- பாதுகாப்புக் கண்ணோட்டத்தில் பாருங்கள். உள்ளீடு சரிபார்க்கப்பட்டதா? வினவல் அளவுருவாக உள்ளதா? ரகசியம் புதைந்ததா? அங்கீகார கட்டுப்பாடு உள்ளதா?
- ஆதாரம் மற்றும் உரிமத்தை சரிபார்க்கவும். புதிய சார்புகளுக்கு உரிமம் உள்ளதா? வெளியீடானது அறியப்பட்ட கோட்பேஸைப் போன்று அதிகமாகத் தோன்றுகிறதா?
- பாதுகாப்பு முக்கியத்துவம் வாய்ந்ததாக இருந்தால், நிபுணர்களின் ஒப்புதலைக் கேட்கவும். அங்கீகாரம், பணம் செலுத்துதல், குறியாக்கவியல், அணுகல் கட்டுப்பாடு போன்ற பகுதிகளில் திறமையான ஒரு பொறியாளரின் சுயாதீன மதிப்பாய்வு கட்டாயமாகும்.
மூன்று சிறிய வழக்குகள்
வழக்கு 1 - ஆய்வு வாயிலில் சிக்கிய SQL ஊசி. தேடல் முடிவுப்புள்ளிக்கான ("... எங்கே பெயர் = '" + q + "'") பயனர் உள்ளீட்டை SQL வினவலில் நேரடியாக இணைக்கும் AI உருவாக்கிய குறியீடு. குறியீடு வேலை செய்து தேர்வில் தேர்ச்சி பெற்றது. பாதுகாப்பு சார்ந்த ஆய்வு மற்றும் SAST ஸ்கேனிங் இதைப் பிடித்தது; இது ஒரு அளவுரு வினவலாக (தயாரிக்கப்பட்ட அறிக்கை) மாற்றப்பட்டது. இது பிடிக்கப்படாமல் இருந்திருந்தால், இது ஒரு உன்னதமான தரவு கசிவு பாதிப்பாக இருந்திருக்கும்.
வழக்கு 2 - மாயத்தோற்றம் தொகுப்பு. AI ஒரு பணிக்கு இல்லாத npm தொகுப்பை (வேகமான-பாதுகாப்பான-பகுப்பு) பரிந்துரைத்தது. டெவலப்பர் அதை நிறுவ முயற்சித்தபோது, தொகுப்பு கிடைக்கவில்லை. மோசமானது: சில சந்தர்ப்பங்களில், தாக்குபவர்கள் அத்தகைய "பேய்" தொகுப்பு பெயர்களை உண்மையான, தீங்கிழைக்கும் தொகுப்புகள் (சார்பு குழப்பம்) மூலம் நிரப்பலாம். பாடம்: உத்தியோகபூர்வ பதிவேடு மற்றும் பதிவிறக்கம்/பராமரிப்பு வரலாற்றிற்கு எதிராக பரிந்துரைக்கப்பட்ட ஒவ்வொரு தொகுப்பையும் சரிபார்க்கவும்.
வழக்கு 3 - உரிமம் பொருந்தாத தன்மை. AI ஆல் பரிந்துரைக்கப்பட்ட ஒரு நிஃப்டி துணை நூலகம் வலுவான காப்பிலெஃப்ட் உரிமத்தைக் கொண்டிருந்தது, அது நிறுவனத்தின் தயாரிப்பு உரிமத்துடன் பொருந்தவில்லை. சார்பு உரிமம் ஸ்கேன் இதைப் புகாரளித்தது; குழு உரிமத்தை பொருத்தமான மாற்றாக மாற்றியது. சரிபார்ப்பு இல்லாமல், தயாரிப்பு விநியோகத்தில் ஒரு சட்டச் சுமை எழும்.
நான்கு நகலெடுக்கக்கூடிய டெம்ப்ளேட்கள்
சேர்க்கைக்கு முன் சுய சரிபார்ப்பு:
பின்வரும் AI உருவாக்கிய குறியீட்டை ஏற்கும் முன், சரிபார்க்கவும்:1) அது பயன்படுத்தும் ஒவ்வொரு செயல்பாடும்/API/தொகுப்பும் உண்மையில் உள்ளதா? சந்தேக நபர்களைக் கொடியிடவும்.2) சரிபார்க்கப்படாத உள்ளீடு, SQL/கட்டளை இணைப்பு, புதைக்கப்பட்ட ரகசியம், பலவீனமான கிரிப்டோ உள்ளதா?3) குறிப்பிடப்படாத பிழைகள்/முனை வழக்குகள் என்ன? ஒவ்வொரு கண்டுபிடிப்பையும் "சில / சாத்தியமானது" என லேபிளிட்டு, திருத்தங்களை பரிந்துரைக்கவும்.{{code}}
பாதுகாப்பு சார்ந்த ஆய்வு:
இந்தக் குறியீட்டை ஒரு பாதுகாப்புக் கண் கொண்டு ஆராயுங்கள். பொதுவான OWASP பாணி பாதிப்புகளைக் கண்டறியவும்: ஊசி, உடைந்த அங்கீகாரம்/அங்கீகாரம், முக்கியமான தரவு வெளிப்பாடு, பாதுகாப்பற்ற டீரியலைசேஷன், அங்கீகரிக்கப்படாத திசைமாற்றம். ஒவ்வொரு கண்டுபிடிப்புக்கும்: ஆபத்து, சுரண்டல் காட்சி, சரிசெய்தல். இது ஒரு பூர்வாங்க திரையிடல்; முக்கியமான கண்டுபிடிப்புகளை மனித பாதுகாப்பு மதிப்பாய்விற்குப் பார்க்கவும்.{{code}}
சார்பு மற்றும் உரிமம் சரிபார்ப்பு:
இந்தக் குறியீட்டால் சேர்க்கப்பட்ட/பரிந்துரைக்கப்பட்ட சார்புகளைப் பட்டியலிடுங்கள். ஒவ்வொன்றிற்கும்: தொகுப்பு உண்மையில் உள்ளதா, அது பராமரிக்கப்படுகிறதா, அதன் வழக்கமான உரிமம் என்னவாக இருக்கும் (சரிபார்க்கப்பட வேண்டும்), மேலும் இது திட்டத்திற்கு உண்மையில் தேவையா அல்லது ஏற்கனவே உள்ள கருவியைக் கொண்டு செய்ய முடியுமா?{{குறியீடு அல்லது சார்பு பட்டியல்}}
பாதுகாப்பான ஃபார்ம்வொர்க் திணிப்பு (உற்பத்தியில்):
{{task}}க்கான குறியீட்டை எழுதவும். கட்டாய பாதுகாப்பு விதிகள்:- அனைத்து வெளிப்புற உள்ளீடுகளையும் சரிபார்த்தல்/சுத்திகரிப்பு செய்தல் சூழல் மாறி/ரகசிய மேலாளர் என்று கருதுங்கள் - பிழைகளை விழுங்க வேண்டாம்; அர்த்தமுள்ளதாக கருதுங்கள். 3 உருப்படிகளில் இந்த விதிகளுடன் குறியீடு எவ்வாறு இணங்குகிறது என்பதை விளக்குங்கள்.
பலவீனமான வரியில் / வலுவான வரியில்
பலவீனமானது: "பயனர் பெயர் மூலம் தேடும் வினவலை எழுதவும்." (ஊசிக்கு பாதிக்கப்படக்கூடிய குறியீடு ஏற்படலாம்.)
வலிமையானது: "பயனர்பெயர் மூலம் தேடும் செயல்பாட்டை எழுதவும். பயனர் உள்ளீட்டை வினவலில் ஒருபோதும் இணைக்க வேண்டாம்; அளவுருக் கொண்ட வினவலைப் பயன்படுத்தவும் (தயாரிக்கப்பட்ட அறிக்கை). நீளம் மற்றும் எழுத்துக்கான உள்ளீட்டைச் சரிபார்க்கவும். குறியீடு ஏன் ஊசிக்கு மூடப்பட்டுள்ளது என்பதை 2 வாக்கியங்களில் விளக்கவும்."
வலுவான பதிப்பு ஆரம்பத்தில் இருந்தே பாதுகாப்பான வடிவத்தை விதிக்கிறது; இதனால், பாதிப்பு பின்னர் பிடிப்பதை விட, அது ஏற்படாமல் இருப்பதை உறுதி செய்கிறது. இருப்பினும், உருவாக்கப்பட்ட குறியீட்டை சரிபார்ப்பு வாயில்கள் வழியாக அனுப்புவது அவசியம்.
அங்கீகார அடுக்கு
கருவி/முறை
"AI சொன்னது" போதுமா?
துல்லியம்
தொகுப்பு, சோதனை, காட்சி ஆய்வு
இல்லை
API/தொகுப்பு உண்மை
அதிகாரப்பூர்வ ஆவணம்/பதிவு கட்டுப்பாடு
இல்லை
பாதுகாப்பு
SAST, பாதுகாப்பு மதிப்பாய்வு
இல்லை
உரிமம்/ஆதாரம்
சார்பு மற்றும் உரிம சோதனை
இல்லை
பாதுகாப்பு முக்கியமான தர்க்கம்
நிபுணர் பொறியாளர் ஒப்புதல்
முற்றிலும் இல்லை
பொறுப்பை மாற்ற முடியாது
AI கருவியால் உருவாக்கப்பட்ட குறியீட்டிலிருந்து எழும் பிழைகள், பாதிப்புகள் அல்லது மீறல்களுக்கான பொறுப்பு அந்தக் குறியீட்டைச் சேகரித்து விநியோகிக்கும் குழுவிற்குச் சொந்தமானது, கருவி வழங்குநருக்கு அல்ல. இது ஒரு தொழில்முறை உண்மை மற்றும் சட்டபூர்வமான ஒன்று: நீங்கள் கையொப்பமிடுங்கள். எனவே "AI அதை உருவாக்கியது" என்பது ஒரு சாக்கு அல்ல, ஆனால் கூடுதல் எச்சரிக்கைக்கான நியாயம். குறிப்பாக பாதுகாப்பு-முக்கிய அமைப்புகளில், AI வெளியீடு எந்த சூழ்நிலையிலும் தகுதிவாய்ந்த பொறியாளரின் மதிப்பாய்வு மற்றும் ஒப்புதலுக்கு மாற்றாக இல்லை; அதிகபட்சமாக, AI ஆனது அந்த பொறியாளரை வேகப்படுத்தும் ஒரு வரைபடத்தை வழங்குகிறது.
உதவிக்குறிப்பு: உங்கள் குழுவில் ஒரு சிறிய சரிபார்ப்புப் பட்டியலை உருவாக்கவும், அதை நீங்கள் "AI-உருவாக்கிய குறியீட்டிற்கான சரிபார்ப்பு வாயில்" (உருவாக்கம் + சோதனை + பாதுகாப்பு ஸ்கேன் + காட்சி ஆய்வு) என்று அழைக்கிறீர்கள். இந்த கேட் ஒரு பழக்கமாக மாறியவுடன், வேக இழப்பு குறைவாக இருக்கும் மற்றும் ஆபத்து குறைப்பு அதிகபட்சமாக இருக்கும்.
பொதுவான தவறுகள்
- "பணிகளை" "பாதுகாப்பானது" என்று குழப்புகிறது. சோதனையில் தேர்ச்சி பெற்ற குறியீடு தாக்குதலுக்கு ஆளாகலாம்.
- சரிபார்க்காமல் தொகுப்பு/API ஐப் பயன்படுத்துதல். மாயத்தோற்றம் பொட்டலங்கள் ஊழல் மற்றும் பாதுகாப்பு ஆபத்தை ஏற்படுத்தும்.
- தானியங்கு கருவிகளை புறக்கணித்தல். லின்டர், டைப் செக்கர் மற்றும் SAST ஆகியவை மனிதர்கள் தவறவிடுவதை மலிவாகப் பிடிக்கின்றன.
- உரிமத்தைப் புறக்கணித்தல். முறையற்ற உரிமம் பெற்ற சார்பு விநியோகத்தில் சட்டச் சுமையை உருவாக்குகிறது.
- வாகனத்தின் மீது பொறுப்பை வைப்பது. உற்பத்தியில் குறியீட்டிற்கு குழு பொறுப்பு; "AI செய்தது" என்பது மன்னிக்க முடியாது.
சுருக்கமாக
AI வெளியீட்டை ஏற்றுக்கொள்வதற்கு மூன்று அடுக்கு சரிபார்ப்பு தேவைப்படுகிறது: சரியான தன்மை (தொகுத்தல், சோதனை, காட்சி ஆய்வு), பாதுகாப்பு (SAST மற்றும் பாதுகாப்பு-மையப்படுத்தப்பட்ட மதிப்பாய்வு), மற்றும் ஆதாரம்/உரிமம் (சார்பு சரிபார்ப்பு). பயன்படுத்தப்படும் ஒவ்வொரு தொகுப்பும் APIயும் உண்மையில் இருப்பதை உறுதிசெய்து, தொடக்கத்திலிருந்தே பாதுகாப்பான வடிவங்களைச் செயல்படுத்தவும், மேலும் தகுதிவாய்ந்த பொறியாளரின் ஒப்புதலுக்காக பாதுகாப்பு-முக்கியமான குறியீட்டைச் சமர்ப்பிக்கவும். "வேலைகள்" என்பது பாதுகாப்பானது அல்ல, மேலும் "AI தயாரித்தது" என்பது பொறுப்பை நீக்காது. சரிபார்ப்பு வாயில் என்பது தொழில்முறையின் விலை, வேகம் அல்ல.
விண்ணப்ப பணி
வேண்டுமென்றே AIக்கு ஒரு பாதுகாப்பு-உணர்திறன் பணியை வழங்கவும் (எ.கா. “பயனர் உள்ளீட்டுடன் தரவுத்தளத்தைத் தேடும் செயல்பாடு”), இந்த முறை பாதுகாப்பான வடிவத்தை விதிக்காமல். உள்வரும் குறியீட்டை "முன்-அட்மிஷன் சுய-தணிக்கை" மற்றும் "பாதுகாப்பு-மையப்படுத்தப்பட்ட மதிப்பாய்வு" டெம்ப்ளேட்கள் மூலம் அனுப்பவும்: ஏதேனும் ஊசி, புதைக்கப்பட்ட ரகசியம், மாயத்தோற்றப்பட்ட பாக்கெட் அல்லது அங்கீகரிக்கப்படாத உள்ளீடு உள்ளதா? பின்னர் "பாதுகாப்பான முறை சுமத்துதல்" டெம்ப்ளேட்டுடன் அதே பணியை மீண்டும் கேட்டு இரண்டு வெளியீடுகளையும் ஒப்பிடவும். முடிந்தால், ஒரு லிண்டர்/SAST கருவியை இயக்கவும் மற்றும் கண்டுபிடிப்புகளை AI இன் சுய ஒழுங்குமுறையுடன் ஒப்பிடவும்.
சரிபார்ப்பு பட்டியல்
- AI வெளியீட்டை மூன்று அடுக்குகளில் சரிபார்க்கிறேன்: துல்லியம், பாதுகாப்பு மற்றும் உரிமம்.
- [ ] பயன்படுத்தப்படும் ஒவ்வொரு செயல்பாடும், API மற்றும் தொகுப்பும் உண்மையில் இருப்பதை உறுதி செய்கிறேன்.
- [ ] நான் தொகுத்தல், சோதனை, லின்டர் மற்றும் முடிந்தால், SAST கருவிகளை இயக்குகிறேன்.
- [ ] நான் ஆரம்பத்திலிருந்தே பாதுகாப்பான வடிவங்களை (அளவுருப்படுத்தப்பட்ட வினவல், உள்ளீட்டு சரிபார்ப்பு, ரகசிய மேலாண்மை) விதிக்கிறேன்.
- [ ] புதிய சார்புகளின் உரிமம் மற்றும் தேவைகளை நான் சரிபார்க்கிறேன்.
- [ ] நான் ஒரு திறமையான பொறியாளரின் ஒப்புதலுக்காக பாதுகாப்பு-முக்கியமான குறியீட்டை சமர்ப்பிக்கிறேன், மேலும் நான் பொறுப்பு என்பதை புரிந்துகொள்கிறேன்.