வைரஸ்கள் மற்றும் தீம்பொருளைப் பயன்படுத்தி ஹேக்கர்கள் எவ்வாறு கணினிகளைத் தாக்குகிறார்கள்? சில நேரங்களில், அது ransomware ஆக இருக்கலாம்; சில நேரங்களில், இது உங்கள் கணினி தேவைகளைப் பயன்படுத்தும் தாக்குதலாக இருக்கலாம். இடையக வழிதல் இந்த தாக்குதல் முறைகளில் ஒன்றாகும் - ஆனால் உண்மையில் அது என்ன? இந்த தாக்குதல்கள் எவ்வாறு செயல்படுகின்றன?
ஒரு தொகுதி கோப்பை எழுதுவது எப்படிஅன்றைய வீடியோவை உருவாக்கவும் உள்ளடக்கத்துடன் தொடர உருட்டவும்
பஃபர் ஓவர்ஃப்ளோ என்றால் என்ன?
உண்மையில் ஒரு தாங்கல் மற்றும் அடுக்கு என்றால் என்ன? தாங்கல் என்பது உங்கள் கணினியில் நீங்கள் கொடுக்கும் சில உள்ளீட்டுத் தகவல்கள் நினைவகத்தை அடைவதற்கு முன்பு காத்திருக்கும் ஒரு புலமாகும். நினைவகத்திலிருந்து தரவை நினைவுபடுத்துவது சிஸ்டத்தை சோர்வடையச் செய்யும் செயலாகும். எனவே இடையகப் பகுதியில் போதுமான இடம் இருக்கும்போது, இங்கிருந்து நேரடியாக டேட்டாவை அழைக்கவும். இது உங்கள் சாதனத்தின் செயல்திறன் அதிகரிப்பைக் குறிக்கிறது. நிச்சயமாக, இடையகத்திற்கான இடம் நிரம்பியவுடன், அதை நினைவகத்தில் எழுத வேண்டியது அவசியம்.
ஸ்டேக் என்பது அடிப்படையில் ஒரு தரவு கட்டமைப்பாகும், இதில் தரவு புஷ் (சேர்த்தல்) மற்றும் பாப் (அகற்றுதல்) செயல்பாடுகள் நடைபெறுகின்றன. தாங்கல் மற்றும் அடுக்கின் கருத்துக்கள் மிகவும் ஒத்தவை; இருப்பினும், இடையகமானது உள்வரும் தரவை தற்காலிகமாக சேமித்து வைக்கும் அடுக்காக செயல்படுகிறது.
இடையக வழிதல் ஒரு சவாலான தலைப்பாக இருக்கலாம், ஆனால் பெயர் குறிப்பிடுவது போல, தரவு அதிகமாக இருக்கும்போது இது நிகழ்கிறது. உதாரணமாக, நீங்கள் ஒரு கணினியில் உள்நுழைய வேண்டும். டெவலப்பர்கள் பயனர்பெயருக்கு 250 பைட்டுகள் இடத்தை ஒதுக்கலாம். நீங்கள் 300 பைட்டுகள் தரவை உள்ளிட்டால், இடையகமானது நிரம்பி வழிகிறது. இந்த வழிதல் நினைவகத்தில் உள்ள பிற தரவைப் பாதிக்கலாம், இதனால் தீங்கு விளைவிக்கும்.
இது ஹேக்கர்களுக்கு சிறந்தது. சைபர் கிரைமினல்கள் இந்த குழப்பத்தை வெவ்வேறு தாக்குதல் திசையன்களுடன் இணைக்கலாம், எடுத்துக்காட்டாக, கணினியை ஹேக் செய்து நிர்வாகியாக உள்நுழையலாம்.
பஃபர் ஓவர்ஃப்ளோவைப் புரிந்து கொள்ள, நீங்கள் அங்கீகரிக்க வேண்டிய முக்கிய தலைப்புகள் CPU இன் உள் கட்டமைப்பு , நினைவகப் பதிவுகள் மற்றும் நினைவகம் எவ்வாறு தரவைச் செயலாக்குகிறது. நீங்கள் தெரிந்து கொள்ள வேண்டிய CPU பற்றிய சில விதிமுறைகள் இங்கே உள்ளன.
சட்டசபை குறியீடு | குறைந்த அளவிலான நிரலாக்க மொழி , அதாவது இயந்திர மொழிக்கு நெருக்கமானது. |
தாங்கல் | ஒரு நிலையான அளவு நினைவக இடம் ஒதுக்கப்பட்டது . |
பைட் குறியீடு | உயர்நிலை மொழியில் எழுதப்பட்ட குறியீட்டின் தொகுக்கக்கூடிய இடைநிலை மொழி வடிவம். |
தொகுப்பாளர் | நிரலாக்க மொழியை இயந்திரக் குறியீடாக மாற்றும் நிரல். |
குவியல் | மாறும், மாறி நினைவக இடம். |
நினைவகக் கோட்பாட்டின் அடிப்படைகள்
நினைவகக் கோட்பாட்டைப் புரிந்து கொள்ளாமல், நடைமுறையில் இடையக வழிதல் சிக்கல்களைத் தீர்ப்பது கடினம். சுவர் கட்டத் தெரியாமல் வீட்டைக் கட்ட முயல்வது போல் நினைக்கலாம்.
ஹேக்கரின் பார்வையில் நீங்கள் ஒரு இடையக நிரம்பலை இயக்க விரும்புகிறீர்கள் என்று கற்பனை செய்து பாருங்கள். அதற்கு, நீங்கள் நினைவகத்தை கையாள வேண்டும் மற்றும் CPU உங்கள் குறியீட்டை இயக்க வேண்டும். நீங்கள் தீங்கிழைக்கும் எண்ணம் கொண்டவராக இருந்தால், நினைவகத்தை ஓவர்லோட் செய்வதோடு, தொடர்ச்சியான நினைவகப் பகுதிகளையும் கையாள்வதே உங்கள் குறிக்கோளாக இருக்கும்.
ஆனால் முதலில், நீங்கள் குவியல், அடுக்கு மற்றும் உரை பிரிவின் கருத்துகளில் கவனம் செலுத்த வேண்டும்.
அடுக்கு உருவாக்கப்படும் போது, நினைவகம் உயர் நினைவக முகவரிகளைப் பயன்படுத்துகிறது. உயர் நினைவக முகவரிகள் நீட்டிக்கப்பட்ட நினைவக பகுதியைக் குறிக்கும். பின்னர் முகவரி மதிப்புகள் குறையத் தொடங்கும். நினைவகப் பயன்பாட்டில் LIFO (Last In, First Out) என்ற முறையை நினைவக அடுக்கு பயன்படுத்துகிறது. ஸ்டாக் நினைவகத்தில் உள்ள மாறிகள் அவை வரையறுக்கப்பட்ட எல்லைக்குள் மட்டுமே செல்லுபடியாகும். அவர்கள் இந்த எல்லைக்கு வெளியே இருந்தால், ஒரு பிழை ஏற்படும்.
இன்ஸ்டாகிராமில் உங்கள் டிஎம் -ஐ ஆன்லைனில் எவ்வாறு சரிபார்க்கலாம்
ஸ்டாக் நினைவகம், மறுபுறம், மாறும் வகையில் செயல்படுகிறது மற்றும் உயர் முகவரிகளில் தொடங்க வேண்டியதில்லை. குவியல் நினைவகத்தில் வரையறுக்கப்பட்ட வரம்பு இல்லை; அனைத்து வரம்புகளும் இயக்க முறைமையால் அமைக்கப்பட்டுள்ளன. ஹீப் நினைவகத்தை மாறும் வகையில் மாற்றுவது சாத்தியம் மற்றும் ஹீப் பயன்பாட்டின் போது பயனரின் தேவைகளுக்கு ஏற்ப இந்த வரம்புகள் மாறலாம். ஹீப் நினைவகத்தின் வரம்புகள் இயக்க முறைமை மற்றும் வன்பொருளால் தீர்மானிக்கப்படும் காரணிகளைப் பொறுத்தது. வேறு வார்த்தைகளில் கூறுவதானால், இந்த வரம்புகளுக்குள் இது ஒரு மாறும் பயன்பாட்டை வழங்குகிறது.
உரைப் பிரிவில் நிரல் குறியீடு மற்றும் தரவுப் பிரிவுகளில் உலகளாவிய தரவு உள்ளது. உயர் முகவரிகள் பங்கு அடுக்கு மற்றும் குவியல் நினைவகம் தங்களுக்குள். கணினி இயக்க நேரத்தில் இரண்டு நினைவகத்தையும் ஒதுக்குகிறது.
பஃபர் ஓவர்ஃப்ளோவை நன்கு புரிந்து கொள்ள, உங்கள் கணினியின் கட்டமைப்பானது தரவைச் சேமிக்கப் பயன்படுத்தும் பொது நோக்கத்திற்கான தரவுப் பதிவேடுகளை நீங்கள் ஆராய வேண்டும். ஒவ்வொரு பதிவையும் தனித்தனியாக பகுப்பாய்வு செய்வதற்குப் பதிலாக, அத்தியாவசியங்களில் கவனம் செலுத்துங்கள்.
- ESP (விரிவாக்கப்பட்ட ஸ்டாக் பாயிண்டர்): இந்த பதிவேட்டில் அடுக்கின் மேல் முகவரி உள்ளது.
- EBP (விரிவாக்கப்பட்ட அடிப்படை சுட்டி): இது அடிப்படை சுட்டியை வைத்திருக்கிறது.
- EIP (விரிவாக்கப்பட்ட அறிவுறுத்தல் சுட்டி): மேலும் இந்த பதிவேட்டில் செயல்படுத்தப்பட வேண்டிய அடுத்த அறிவுறுத்தலின் முகவரி உள்ளது.
இந்த தொழில்நுட்ப சொற்கள் சற்று குழப்பமாக இருக்கலாம், ஆனால் அவை அனைத்தையும் நினைவகத்தில் சிறிய பகிர்வுகளாக கற்பனை செய்து பாருங்கள்.
பஃபர் ஓவர்ஃப்ளோ தாக்குதல்கள் எவ்வாறு செயல்படுகின்றன?
நீங்கள் எந்த அடுக்கிலும் புதிய தரவைச் சேர்க்கும்போது, இந்தத் தரவு மேலே ஸ்லாட் செய்யப்படும். அனைத்து புதிய தரவு பின்னர் கீழே நகர்த்தப்பட்டது. ESP ஸ்டாக்கின் மேல் உள்ளது. எனவே இந்த வழக்கில் ESP குறைந்த நினைவக முகவரிக்கு செல்கிறது. மேலே சேர்க்கப்பட்ட தரவு ESP ஐ கீழே தள்ளுவதை கற்பனை செய்து பாருங்கள்.
ஒரு நிரல் இயங்கத் தொடங்கும் போது, கணினி உள்ளூர் மாறிகள் கொண்ட ஒரு அடுக்கு சட்டத்தை உருவாக்குகிறது. Buffer overflow தாக்குதலின் முக்கிய நோக்கம் EIP அல்லது திரும்ப முகவரிக்கான அணுகலைப் பெறுவதாகும். இந்த முகவரிக்கான அணுகலைக் கொண்ட ஒரு ஹேக்கர், தாங்கள் விரும்பும் தீங்கிழைக்கும் குறியீட்டை சுட்டிக்காட்டும்படி கட்டளையிடலாம், அது பின்னர் பரந்த கணினியை பாதிக்கும்.
ஒவ்வொரு புதிய பிட் தரவுகளுடனும், ஸ்டாக் ஈபிபியை நோக்கி வளர்கிறது. இங்கே உண்மையான கேள்வி என்னவென்றால், நாம் அதிகமான தரவை உள்ளிடினால், EBP ஐ EIP நோக்கி தள்ள முடியுமா? அந்த வகையில், நீங்கள் விரும்பும் தரவு அல்லது குறியீடு EIP இல் அமைந்துள்ளது மற்றும் நீங்கள் விரும்பும் முடிவுகளைப் பார்க்கலாம். அதை இயக்குவதுதான் மிச்சம். நீங்கள் நிரலை இயக்கும் போது, அது உங்கள் EIP குறியீட்டை சுட்டிக்காட்டி செயல்படுத்தத் தொடங்குகிறது. இதன் விளைவாக, நீங்கள் ஒரு ஹேக்கராக இருந்தால், உங்களின் முதல் இடையக வழிதல் தாக்குதலைச் செய்திருப்பீர்கள்.
உதாரணத்தை வேறு கோணத்தில் எடுக்க, ஒரு கொள்கலனில் உள்ள ESP, EBP மற்றும் EIP எனப்படும் வெவ்வேறு அடர்த்தி கொண்ட திரவங்களை நீங்கள் பரிசீலிக்கலாம். ESP அதன் அடர்த்தி குறைவாக இருப்பதால் கொள்கலனின் மேல் பகுதியில் அமைந்துள்ளது என்று கற்பனை செய்து பாருங்கள். ஆலிவ் எண்ணெய் மற்றும் தண்ணீரைப் போலவே, அவை கலக்கக்கூடாது. தீங்கிழைக்கும் குறியீடு, மற்றொரு திரவமாகும்-நீங்கள் அதை கொள்கலனில் சேர்க்கும்போது, அது இந்த சமநிலையைக் குழப்புகிறது, சில திரவங்களை இடமாற்றம் செய்கிறது மற்றும் EIP உடன் கலக்கிறது. இது இடையக நிரம்பி வழிவதைக் குறிக்கும்.
பஃபர் ஓவர்ஃப்ளோ தாக்குதல்களுக்கு எதிராக எவ்வாறு பாதுகாப்பது
அப்படியானால் இதை எப்படி தடுப்பது?
முதலாவதாக, பாதுகாப்பு பாதிப்புகளைக் குறைக்க மென்பொருள் மேம்பாட்டு செயல்முறை முழுவதும் நல்ல குறியீட்டு நடைமுறையைப் பின்பற்றுவது முக்கியம். கவனமாக எழுதப்பட்ட குறியீடு இடையக வழிதல்களின் வாய்ப்பைக் குறைக்கும்.
நினைவகப் பகுதிகளைக் கண்காணிப்பதற்கும், பஃபர்களின் வரம்புகளைச் சரிபார்ப்பதற்கும், தாக்குதல்களைக் கண்டறிவதற்கும் பாதுகாப்பு வழிமுறைகளைப் பயன்படுத்துவது மற்றொரு படியாகும். இறுதியாக, நீங்கள் தொடர்ந்து கணினிகளைப் புதுப்பித்து, இணைப்புகளைப் பயன்படுத்த வேண்டும். பாதிப்புகளைச் சரிசெய்யும் புதுப்பிப்புகள், அறியப்பட்ட பாதிப்புகளைச் சுரண்டுவதைத் தாக்குபவர்களுக்கு கடினமாக்குகிறது. மேலும், மென்பொருள் மற்றும் ஃபயர்வால் போன்ற பாதுகாப்பு கருவிகளைப் பயன்படுத்துவது கூடுதல் பாதுகாப்பை வழங்குகிறது.
இடையக வழிதல்களுக்கு எதிராக நடவடிக்கை எடுக்கவும்
இடையக வழிதல் தாக்குதல்கள் உங்கள் இணையப் பாதுகாப்பிற்கு குறிப்பிடத்தக்க அச்சுறுத்தலை ஏற்படுத்துகின்றன மற்றும் அவற்றிற்கு எதிராக முன்னெச்சரிக்கை நடவடிக்கைகளை எடுப்பது இயற்கையாகவே முக்கியமானது. அதிர்ஷ்டவசமாக, இந்த தாக்குதல்களைத் தடுப்பது மற்றும் பாதுகாப்பு வழிமுறைகளை வலுப்படுத்துவது சாத்தியமாகும். பேட்ச்களை சரிசெய்வதற்காக மென்பொருளை புதுப்பித்து வைத்திருப்பது போன்ற பல நல்ல பாதுகாப்பு நடைமுறைகள், இதுபோன்ற தாக்குதல்கள் மற்றும் பிற பாதிப்புகளுக்கு எதிராக பாதுகாக்க உதவுகின்றன.