கடவுச்சொற்கள் எவ்வாறு உடைக்கப்படுகின்றன?
திரைப்படங்கள் காட்டுவது போல கணக்குகள் அரிதாகவே உடைக்கப்படுகின்றன. நடைமுறையில் ஒரு கடவுச்சொல் மூன்று வழிகளில் ஒன்றில் பெறப்படுகிறது. அது உடைக்கப்படுகிறது: பொதுவாக ஒரு சேவையிலிருந்து திருடப்பட்ட கடவுச்சொல் ஹாஷ்களின் தரவுத்தளத்திற்கு எதிராக, அடுத்தடுத்து பலவற்றை முயற்சிப்பதன் மூலம் கண்டறியப்படுகிறது. அது திருடப்படுகிறது: ஒரு போலி பக்கத்தில் தட்டச்சு செய்யப்படுகிறது அல்லது தீம்பொருளால் நகலெடுக்கப்படுகிறது. அல்லது அது மீண்டும் பயன்படுத்தப்படுகிறது: முந்தைய கசிவிலிருந்து தாக்குபவர்கள் ஒரு கடவுச்சொல்லை எடுத்து, உரிமையாளர் பிற சேவைகளிலும் அதைப் பயன்படுத்தியிருப்பார் என்ற நம்பிக்கையில் அங்கேயும் முயற்சி செய்கிறார்கள். இந்த வேறுபாடு முக்கியமானது, ஏனெனில் ஒவ்வொன்றும் வெவ்வேறு வழிகளால் தடுக்கப்படுகின்றன. இந்தக் கட்டுரை முக்கிய முறைகளை விளக்குகிறது மற்றும் ஒவ்வொன்றிற்கும் எதிராக என்ன உதவுகிறது என்பதைக் குறிப்பிடுகிறது.
தரவுக் கசிவுகளிலிருந்து மீண்டும் பயன்படுத்தப்படும் கடவுச்சொற்கள்
ஒவ்வொரு ஆண்டும் பல்வேறு சேவைகள் தாக்கப்படுகின்றன, மேலும் அவற்றின் பயனர் தரவுத்தளங்கள் விற்பனைக்கு வருகின்றன அல்லது இலவசமாகப் பகிரப்படுகின்றன. தாக்குபவர்கள் ஒரு கசிவிலிருந்து மின்னஞ்சல் முகவரி மற்றும் கடவுச்சொல் இணைகளை எடுத்து வங்கிகள், மின்னஞ்சல் வழங்குநர்கள், கடைகள் மற்றும் சமூக வலைப்பின்னல்களில் தானாகவே முயற்சிக்கின்றனர் — இந்தத் தாக்குதல் சான்றுகளைத் திணித்தல் (credential stuffing) என்று அழைக்கப்படுகிறது. இதில் எந்த யூகமும் இல்லை, மேலும் இது ஒரு எளிய காரணத்திற்காக வேலை செய்கிறது: மக்கள் ஒரே கடவுச்சொல்லை மீண்டும் பயன்படுத்துகின்றனர். ஒரு கடவுச்சொல் எல்லா இடங்களிலும் ஒரே மாதிரியாக இருந்தால், அது வலுவானதாக இருந்தாலும் இங்கு உதவாது.
உதவக்கூடியவை: ஒவ்வொரு கணக்கிற்கும் ஒரு தனித்துவமான கடவுச்சொல், இதனால் ஒரு சேவையில் ஏற்படும் கசிவு வேறு எதையும் திறக்காது.
ஃபிஷிங்
ஃபிஷிங் பக்கம் என்பது சற்று வித்தியாசமான முகவரியில் உண்மையான உள்நுழைவுப் பக்கத்தின் நகலாகும்; தடுக்கப்பட்ட கணக்கு, பார்சல், விலைப்பட்டியல் போன்ற அவசரமான அறிவிப்பைக் கொண்ட மின்னஞ்சல் அல்லது செய்தி இணைப்பின் மூலம் இது அடையப்படுகிறது. அங்கு நீங்கள் தட்டச்சு செய்யும் அனைத்தும் நேரடியாகத் தாக்குபவருக்குச் செல்கிறது. கடவுச்சொல்லின் நீளமும் சீரற்ற தன்மையும் இங்கு எந்த மாற்றத்தையும் ஏற்படுத்தாது, ஏனெனில் அதை நீங்களே உள்ளிடுகிறீர்கள்.
உதவக்கூடியவை: இணைப்புகளிலிருந்து திறக்காமல் உங்கள் சொந்த புக்மார்க்குகளிலிருந்து தளங்களைத் திறக்கவும். கடவுச்சொல் நிர்வாகியைப் பயன்படுத்தவும்: அது சேமிக்கப்பட்ட முகவரியில் மட்டுமே கடவுச்சொல்லை நிரப்ப முன்வருகிறது; எனவே அது சேமிக்கப்பட்ட கடவுச்சொல்லை வழங்கவில்லை என்றால், அதை கையால் தட்டச்சு செய்வதற்கு முன் முகவரியைச் சரிபார்க்கவும். மேலும் இரு காரணி அங்கீகாரத்தை இயக்கவும், இது திருடப்பட்ட கடவுச்சொல் மட்டுமே போதுமானதாக இல்லாதபடி செய்கிறது. இருப்பினும், ஒரு முறை குறியீடுகளையும் கடவுச்சொல்லைப் போலவே ஃபிஷிங் மூலம் திருட முடியும். பாஸ்கீகள் மற்றும் FIDO2 பாதுகாப்பு விசைகளை அவ்வாறு செய்ய முடியாது, ஏனெனில் அவை உண்மையான தளத்திற்கு மட்டுமே பதிலளிக்கின்றன — இந்த வேறுபாட்டை NIST ஃபிஷிங் எதிர்ப்புத் திறன் என்று அழைக்கிறது.
தீம்பொருள்
இன்போஸ்டீலர்கள் எனப்படும் நிரல்கள் உலாவியில் சேமிக்கப்பட்ட கடவுச்சொற்களை, அமர்வு குக்கீகளுடன் சேர்த்து நகலெடுத்து, இயக்கப்பட்ட சில வினாடிகளில் அனுப்பிவிடுகின்றன; அதே நேரத்தில் கீலாக்கர்கள் தட்டச்சு செய்யப்படுவதைப் பதிவு செய்கின்றன. திருடப்பட்ட அமர்வு குக்கீ ஒரு தாக்குபவரை கடவுச்சொல் இல்லாமலும், இரண்டாவது காரணி இல்லாமலும் ஏற்கனவே உள்நுழைந்துள்ள கணக்கிற்குள் நுழைய அனுமதிக்கக்கூடும். இத்தகைய நிரல்கள் பொதுவாக திருட்டு மென்பொருள்கள், போலி புதுப்பிப்புகள் மற்றும் மின்னஞ்சல் இணைப்புகள் வழியாக வருகின்றன.
உதவக்கூடியவை: அதிகாரப்பூர்வ மூலத்திலிருந்து மட்டுமே மென்பொருளை நிறுவுதல், கணினி மற்றும் உலாவியைப் புதுப்பித்த நிலையில் வைத்திருத்தல், மற்றும் எதிர்பாராத இணைப்பை ஆபத்தானதாகக் கருதுதல் — இவற்றில் எதுவுமே உத்தரவாதம் அல்ல. ஒரு சாதனம் பாதிக்கப்பட்டிருந்தால், பாதுகாப்பானது என்று உங்களுக்குத் தெரிந்த மற்றொரு சாதனத்திலிருந்து செயல்படவும்: கடவுச்சொற்களை மாற்றவும், அனைத்து அமர்வுகளிலிருந்தும் வெளியேற ஒவ்வொரு சேவையின் விருப்பத்தைப் பயன்படுத்தவும், மேலும் மீட்பு மின்னஞ்சல், தொலைபேசி எண் மற்றும் இரு காரணி அமைப்புகள் இன்னும் உங்களுடையதாகவே உள்ளதா என்பதைச் சரிபார்க்கவும். பாதிக்கப்பட்ட சாதனத்தில் மீண்டும் உள்நுழைவதற்கு முன் அதைச் சுத்தம் செய்யவும்.
உள்நுழைவுப் படிவத்தில் யூகித்தல்
ஒரு வலைத்தளத்திற்கு எதிராக நேரடியாகக் கடவுச்சொற்களை முயற்சிப்பது மெதுவானது: நன்கு கட்டமைக்கப்பட்ட சேவை சில தவறான முயற்சிகளுக்குப் பிறகு தாமதப்படுத்துகிறது, தடுக்கிறது அல்லது கேப்ட்சாவைக் கேட்கிறது. அது ஒரு கணக்கைத் தொடர்ந்து தாக்குவதை பயனற்றதாக்குகிறது, எனவே இதற்கு நேர்மாறான ஒரு அணுகுமுறை பொதுவாகப் பயன்படுத்தப்படுகிறது: மிகவும் பொதுவான கடவுச்சொற்களில் சில — 123456, password, qwerty123 — மில்லியன் கணக்கான கணக்குகளுக்கு எதிராக முயற்சிக்கப்படுகின்றன; இது பாஸ்வேர்ட் ஸ்ப்ரேயிங் (password spraying) என்று அழைக்கப்படுகிறது. தனிப்பட்ட விவரங்களைக் கொண்டு இலக்கு வைக்கப்பட்ட யூகித்தலும் இதே முறையில் செயல்படுகிறது: குழந்தைகள் மற்றும் செல்லப்பிராணிகளின் பெயர்கள், பிறந்தநாள்கள், விருப்பமான அணி ஆகியவற்றை சமூக ஊடகங்களில் எளிதாகக் கண்டுபிடிக்க முடியும்.
உதவக்கூடியவை: பொதுவானதாக இல்லாத மற்றும் உங்களைப் பற்றிய உண்மைகளிலிருந்து கட்டமைக்கப்படாத எந்தவொரு கடவுச்சொல்லும் உதவும் — வலுவான கடவுச்சொல்லை எவ்வாறு உருவாக்குவது என்பதைப் பார்க்கவும்.
திருடப்பட்ட ஹாஷ்களை ஆஃப்லைனில் உடைத்தல்
முறையாக கட்டமைக்கப்பட்ட ஒரு சேவை கடவுச்சொற்களை படிக்கக்கூடிய வடிவில் சேமிப்பதில்லை. அது ஹாஷ்களைச் சேமிக்கிறது — கடவுச்சொல்லைத் திரும்பப் பெற முடியாத ஒரு வழிச் செயல்பாட்டின் வெளியீடு இதுவாகும். அத்தகைய தரவுத்தளம் கசியும்போது, தாக்குபவர்கள் சாத்தியமான கடவுச்சொற்களைச் சோதிக்கிறார்கள்: அவர்கள் தங்கள் சொந்த வன்பொருளில் சாத்தியமான கடவுச்சொற்களின் ஹாஷ்களைக் கணக்கிட்டு முடிவுகளை ஒப்பிடுகிறார்கள். எந்த உள்நுழைவுப் படிவமும் அவர்களை மெதுவாக்குவதில்லை, மேலும் வேகம் சேவை தேர்ந்தெடுத்த ஹாஷ் செயல்பாடு மற்றும் அதன் அமைப்புகளைப் பொறுத்தது. MD5 போன்ற காலாவதியான வேகமான செயல்பாடுகளுக்கு, ஒரு நவீன கிராபிக்ஸ் கார்டு வினாடிக்கு பல பத்து பில்லியன் சாத்தியக்கூறுகளைச் சோதிக்கிறது. கடவுச்சொற்களைச் சேமிப்பதற்காக வடிவமைக்கப்பட்ட செயல்பாடுகள் — Argon2id, அல்லது பழைய அமைப்புகளில் bcrypt — வேண்டுமென்றே மெதுவானவை, இந்த விகிதத்தைப் பல அளவு வரிசைகள் (orders of magnitude) குறைக்கின்றன, அதனால்தான் தற்போதைய பரிந்துரைகள் அவற்றைக் குறிப்பிடுகின்றன.
அகராதித் தாக்குதல்கள்
முயற்சிக்கப்படும் கடவுச்சொற்கள் சீரற்றவை அல்ல. கிராக்கிங் கருவிகள் முந்தைய கசிவுகளிலிருந்து பெறப்பட்ட உண்மையான கடவுச்சொற்களின் பட்டியல்கள் மற்றும் சொற்கள் மற்றும் பெயர்களின் அகராதிகளுடன் தொடங்குகின்றன; பின்னர் மனிதப் பழக்கவழக்கங்களைப் பிரதிபலிக்கும் விதிகளைப் பயன்படுத்துகின்றன: முதல் எழுத்து பெரியதாக இருப்பது, இறுதியில் ஒரு ஆண்டு அல்லது ஆச்சரியக்குறி, அல்லது ஒரே மாதிரியான குறியீட்டால் மாற்றப்பட்ட எழுத்து. Summer2024! போன்ற கடவுச்சொல் சிக்கலானதாகத் தோன்றினாலும், முதலில் முயற்சி செய்யப்படும் வேட்பாளர்களில் ஒன்றாகும். சால்டிங் (salting) — ஹாஷிங் செய்வதற்கு முன் ஒவ்வொரு கடவுச்சொல்லிலும் ஒரு தனித்துவமான சீரற்ற மதிப்பைச் சேர்ப்பது — ரெயின்போ டேபிள்கள் எனப்படும் முன்கூட்டியே கணக்கிடப்பட்ட அட்டவணைகளைப் பயன்படுத்துவதையும், ஒரே மாதிரியான அனைத்து கடவுச்சொற்களையும் ஒரே நேரத்தில் உடைப்பதையும் தடுக்கிறது, ஆனால் அது கணிக்கக்கூடிய கடவுச்சொல்லைக் குறைவாகக் கணிக்கக்கூடியதாக மாற்றிவிடாது.
நேரடி விசைத் தாக்குதல் (brute force)
அகராதிகள் தீர்ந்துவிட்டால், மீதமிருப்பது ஒவ்வொரு சாத்தியமான சேர்க்கையையும் முயற்சிப்பதாகும்; மேலும் சீரற்ற முறையில் உருவாக்கப்பட்ட கடவுச்சொல்லிற்கு நீளமே முடிவைத் தீர்மானிக்கிறது. ஒரு உதாரணமாக, ஒரு வேகமான ஹாஷையும், இடைவெளி சேர்க்கப்படாமல் 94 அச்சிடக்கூடிய ASCII எழுத்துகளிலிருந்து சம வாய்ப்புடன் தேர்ந்தெடுக்கப்பட்ட ஒரு கடவுச்சொல்லையும் எடுத்துக்கொள்வோம். 8 எழுத்துகள் கொண்ட அத்தகைய கடவுச்சொற்கள் சுமார் 6 × 1015 உள்ளன; வினாடிக்கு பத்து பில்லியன் யூகங்கள் என்ற விகிதத்தில், அவை அனைத்தையும் முயற்சி செய்ய சுமார் ஒரு வாரம் ஆகும், மேலும் சராசரியாக சரியான ஒன்று அதன் பாதி நேரத்தில் கிடைத்துவிடும். 12 எழுத்துகளுக்கு, அதே வன்பொருளில் அவை அனைத்தையும் முயற்சிக்க சுமார் 1.5 மில்லியன் ஆண்டுகள் ஆகும், மேலும் 16 எழுத்துகளுக்கு இந்த எண்ணிக்கை எந்தவொரு நடைமுறை ஒப்பீட்டிற்கும் அப்பாற்பட்டது. நீண்ட சீரற்ற கடவுச்சொற்களுக்கான முழு வாதமும் இதுவே: அகராதிகள் அவற்றுக்கு எதிராக அதிகம் பயன்படாது, மேலும் இந்த அனுமானங்களின் கீழ் ஒவ்வொரு சேர்க்கையையும் முயற்சிப்பது நடைமுறைக்கு சாத்தியமில்லை. எங்களின் வலுவான கடவுச்சொல் உருவாக்கி அவற்றை உங்கள் உலாவியிலேயே உருவாக்குகிறது மற்றும் ஒவ்வொன்றிற்கும் என்ட்ரோபி மதிப்பீட்டை பிட்களில் காட்டுகிறது.
உதவக்கூடியவை: மனிதப் பழக்கவழக்க வடிவங்கள் இல்லாத நீண்ட கடவுச்சொல், இது நடைமுறையில் கணினியால் உருவாக்கப்பட்ட ஒன்றாகும். ஒரு சேவை உங்கள் கடவுச்சொல்லை எவ்வாறு சேமிக்கிறது என்பதை உங்களால் கட்டுப்படுத்த முடியாது, எனவே மிக மோசமான நிலையை கருத்தில் கொண்டு, வேகமான ஹாஷ் செயல்பாட்டுடன் சேமிக்கப்பட்டாலும் கூட யூகிப்பதை எதிர்க்கும் ஒன்றைத் தேர்வு செய்யவும்.
நேரடியாகப் பார்த்தல் மற்றும் சமூகப் பொறியியல்
பழமையான முறைகளுக்கு எந்தத் தொழில்நுட்பமும் தேவையில்லை. ஒரு கடவுச்சொல் தோள்பட்டைக்கு மேலாக, மானிட்டரில் உள்ள ஸ்டிக்கரிலிருந்து அல்லது வீடியோ அழைப்பில் பகிரப்பட்ட திரையிலிருந்து படிக்கப்படுகிறது; அல்லது தாக்குபவர் வாடிக்கையாளர் சேவை அல்லது சக ஊழியர் போல் நடித்து நேரடியாகவே அதைக் கேட்கிறார் — இது சமூகப் பொறியியல் (social engineering) என்று அழைக்கப்படுகிறது. எந்தவொரு முறையான சேவையும் தொலைபேசி, மின்னஞ்சல் அல்லது அரட்டை மூலம் உங்கள் கடவுச்சொல்லை ஒருபோதும் கேட்காது.
உதவக்கூடியவை: யாருக்கும் கடவுச்சொல்லை ஒருபோதும் சொல்லவோ அனுப்பவோ கூடாது, மற்றவர்கள் பார்க்கக்கூடிய இடத்தில் அதை வைத்திருக்கக்கூடாது.
இதன் ஒட்டுமொத்த முடிவு என்ன
வெவ்வேறு தாக்குதல்கள் வெவ்வேறு பழக்கவழக்கங்களால் எதிர்கொள்ளப்படுகின்றன, மேலும் அவற்றில் மூன்று பெரும்பாலான வேலையைச் செய்கின்றன: ஒவ்வொரு கணக்கிற்கும் ஒரு தனித்துவமான கடவுச்சொல், யோசிக்காமல் ஜெனரேட்டரால் உருவாக்கப்பட்டது, அதனுடன் இரு காரணி அங்கீகாரம் — அல்லது சேவை வழங்கும் இடங்களில் கடவுச்சொல்லிற்குப் பதிலாக பாஸ்கீ. அவை அனைத்தையும் தடுப்பதில்லை — எடுத்துக்காட்டாக, திருடப்பட்ட அமர்வு — இதனால்தான் மேலே உள்ள தீம்பொருள் பற்றிய ஆலோசனையும் முக்கியமானது. மேலும் கட்டுரைகள் கடவுச்சொல் வளங்களில் சேகரிக்கப்பட்டுள்ளன.