ஒரு புதிய அணுகுமுறை, LLM-ஆல் இயக்கப்படும் பென்டெஸ்ட் ஏஜென்ட் (pentest agent) ஒரு ஊடுருவலை வெறும் கூற்றாக மட்டும் கூறாமல், அதை நிரூபிக்கக் கட்டாயப்படுத்துகிறது. இது தவறான முடிவுகளை (false positives) நீக்க உதவும் சவால்-பதில் நான்ஸ்கள் (challenge-response nonces) முறையைப் பயன்படுத்துகிறது. HALO கட்டமைப்பகத்தில் (framework) விளக்கப்பட்டுள்ள இந்த நுட்பம், “நமக்கு ஒரு ஷெல் (shell) கிடைப்பது போல் உள்ளது” என்பதை “நமக்கு உண்மையில் ஒரு ஷெல் கிடைத்துள்ளது” என மாற்றுகிறது.

தவறான நேர்மறை (false-positive) ஊடுருவல்கள் ஏன் முக்கியம்

பெரிய மொழி மாதிரிகளின் (large language models) அடிப்படையில் உருவாக்கப்பட்ட தானியங்கி சுர exploitation இயந்திரங்கள், ஒரே ஒரு முறை இயங்கும்போது கூட டஜன் கணக்கான "வெற்றிகரமான" போர்ட் ஊடுருவல்களை (port compromises) உருவாக்கக்கூடும். பல சேவைகள் அவற்றின் பேனர்களில் (banners) “uid=0” போன்ற சரங்களை (strings) பிரதிபலிக்கின்றன, மேலும் ஒரு திட்டமிடப்பட்ட இலக்கு (crafted target), தாக்குபவரின் குறியீட்டைச் செயல்படுத்தாமலேயே அந்த வெளியீடுகளைப் போலப் போலச் செய்ய முடியும். ஏஜென்ட் அந்தப் பிரதிபலிப்புகளை நம்பும்போது, அதன் அடுத்தடுத்த முடிவுகள்—அதாவது பிவோட் (pivot) செய்தல், தரவை வெளியேற்றுதல் (exfiltrate data) அல்லது பக்கவாட்டில் நகர்தல் (move laterally) என எதுவாக இருந்தாலும்—ஒரு பொய்யின் அடிப்படையில் அமைகிறது. பாதுகாப்புத் குழுக்கள் மாயத் தளங்களைத் (phantom footholds) தேடி மணிக்கணக்கில் நேரத்தை வீணடிக்கின்றன, மேலும் சம்பவத் துலங்குபவர்கள் (incident responders) உண்மையான அச்சுறுத்தல்களுக்குத் தவறான முன்னுரிமை அளிக்கக்கூடும்.

ஒரு கூற்றை நிரூபணமாக மாற்றுதல்

இந்தத் தீர்வு பாரம்பரிய அங்கீகாரத் (authentication) தந்திரங்களிலிருந்து பெறப்பட்டது. ஒரு சுர exploitation-ஐத் தொடங்குவதற்கு முன், தாக்குபவரின் அமைப்பு ஒரு தனித்துவமான டோக்கன் அல்லது நான்ஸை (nonce) உருவாக்கி, அதை பேலோடில் (payload) இணைக்கிறது. கட்டுப்பாட்டாளர் (controller) அந்த முடிவை ஒரு உண்மையான ஊடுருவலாக ஏற்க வேண்டுமானால், அந்தச் சுர exploitation துல்லியமான டோக்கனைத் திருப்பித் தர வேண்டும். ஒரு போலி பேனரால் அந்த நான்ஸைக் கணிக்க முடியாது; பதிலில் டோக்கனை இணைக்க அது தாக்குபவரின் குறியீட்டைச் செயல்படுத்தியே ஆக வேண்டும். திருப்பித் தரப்பட்ட தரவில் பொருந்தும் நான்ஸ் இல்லையென்றால், அந்த முயற்சி தவறான நேர்மறையாகக் (false positive) கருதப்பட்டு நிராகரிக்கப்படும்.

இந்த மாற்றம் சரிபார்ப்பு மாதிரியை "வெளியீடு சரியாகத் தெரிகிறது" என்பதிலிருந்து "வெளியீடு செயல்பாட்டை நிரூபிக்கிறது" என மாற்றுகிறது. இது தன்னாட்சி தாக்குதல் கருவிகளை (autonomous offense tools) பாதிக்கும் நம்பிக்கையற்ற சார்புநிலையை (optimism bias) நீக்குகிறது.

நம்பகமான விநியோக ஏணியை உருவாக்குதல்

பேலோடை இலக்கிற்கு கொண்டு செல்ல இன்னும் ஒரு வலுவான விநியோகச் சங்கிலி (delivery chain) தேவைப்படுகிறது. HALO மூன்று பொதுவான வழிகளை வகைப்படுத்துகிறது:

  • Reverse shells – ஊடுருவப்பட்ட ஹோஸ்ட் (host), தாக்குபவர் கட்டுப்படுத்தும் ஒரு லிசனர் (listener)-க்குத் திரும்பத் தொடர்பு கொள்ளத் தொடங்குகிறது. உள்ளே வரும் போக்குவரத்து (inbound traffic) தடுக்கப்பட்டிருக்கும் போது இது பயனுள்ளதாக இருக்கும்.
  • Bind shells – தாக்குபவர் இலக்கிலுள்ள ஒரு லிசனிங் சேவையுடன் (listening service) நேரடியாகத் தொடர்பு கொள்கிறார். வெளியே செல்லும் வடிகட்டிகள் (outbound filters) தளர்வாக இருக்கும்போது இது செயல்படும்.
  • Blind callbacks – எந்த நேரடித் தொடர்பையும் ஏற்படுத்த முடியாத மிகவும் கட்டுப்படுத்தப்பட்ட சூழல்களில், செயல்பாட்டை உறுதிப்படுத்தும் ஒரு வழிப்பாதை சிக்னல் (உதாரணமாக, DNS கோரிக்கை).

ஏணியின் ஒவ்வொரு படிநிலையும் நான்ஸைப் (nonce) பாதுகாக்க வேண்டும், இல்லையெனில் அடுத்தடுத்த நிலைகளில் நிரூபணப் படிநிலை தோல்வியடையும்.

சுயமான (self-contained) சுரங்களை உறுதி செய்தல்

இலக்கிலுள்ள அமைப்பில் இல்லாமல் போகக்கூடிய வெளிப்புற நூலகங்களை (external libraries) சார்ந்திருப்பது தவறான நம்பிக்கையைத் தரும் மற்றொரு காரணியாகும். HALO அனுப்பப்படுவதற்கு முன் தேவையான ஒவ்வொரு கூறையும் ஒரு தனி கோப்பாகத் தொகுக்கிறது (bundles). அந்தத் தொகுப்பு, அசல் சார்புகளை (dependencies) வேண்டுமென்றே இல்லாத ஒரு சாண்ட்பாக்ஸில் (sandbox) சோதிக்கப்படுகிறது. சுர exploitation இன்னும் இயங்கினால், அந்தப் பொருள் (artifact) உண்மையிலேயே சுயமானதாகும் மற்றும் பாதுகாக்கப்பட்ட அமைப்பிலும் (locked-down system) நம்பகமானதாக இருக்கும்.

மேம்பாட்டுத் தடயத்தைத் தூய்மைப்படுத்துதல்

பொது வெளியீட்டிற்குத் தயாராகும் போது, Git வரலாற்றில் உண்மையான IP முகவரிகள் நீடிக்கின்றன என்பதை ஆசிரியர் கண்டறிந்தார். ஒரு சுத்தமான பணி மரம் (working tree) அந்தப் பதிவுகளை அழிக்காது; Git ஒவ்வொரு கமிட்டையும் (commit) தக்கவைத்துக் கொள்கிறது. ஆசிரியர் களஞ்சியத்தை (repository) ஒரு சுத்தமான கமிட்டாக மாற்றியமைத்தார் மற்றும் கசிந்த முகவரிகளுக்குப் பதிலாக RFC 5737 மூலம் வரையறுக்கப்பட்ட ஆவணங்களுக்கான வரம்புகளைப் (உதாரணமாக, 192.0.2.0/24) பயன்படுத்தினார். இது கருவி பகிரப்படும் போது உற்பத்தி உள்கட்டமைப்புகள் (production infrastructure) தற்செயலாக வெளிப்படுவதைத் தடுக்கிறது.

பாதுகாப்பு கருவிகளுக்கான நடைமுறை விதிகள்

  • ஒவ்வொரு சோதனை அமைப்பிலும் (test fixture) ஆவணங்களுக்கான IP வரம்புகளைப் பயன்படுத்தவும்.
  • ஆரம்ப கமிட்டிலிருந்து ரகசியங்கள் (secrets) மற்றும் ஸ்கோப் கோப்புகளை (scope files) நீக்கவும்.
  • கூறப்படும் எந்தவொரு ஊடுருவலையும் சரிபார்க்க சவால்-பதில் நான்ஸைப் (challenge-response nonces) பயன்படுத்தவும்.
  • தளர்வாகத் தொடர்புடைய ஸ்கிரிப்டை அல்லாமல், உண்மையில் அனுப்பப்படவிருக்கும் துல்லியமான கோப்பைச் சரிபார்க்கவும்.

நம்பிக்கையை விட நிரூபணமே சிறந்தது. ஒரு தன்னாட்சி பென்டெஸ்ட் ஏஜென்ட் சரிபார்க்கக்கூடிய டோக்கனை வழங்கக் கட்டாயப்படுத்துவதன் மூலம், இலக்கு தாக்குபவரின் குறியீட்டைச் செயல்படுத்தியது என்பதை நிரூபிக்க முடிந்தால் மட்டுமே அது ஒரு ஊடுருவல் என்று HALO காட்டுகிறது. முதலில் நுழைவாயில் கட்டப்பட வேண்டும்; மற்ற அனைத்தும் அதைத் தொடர்ந்து வரும்.