கணினி அழைப்புகளுக்கான லினக்ஸ் கர்னல் அடுக்கு முகவரிகளை சீரற்றதாக மாற்ற இணைப்புகள் அறிமுகப்படுத்தப்பட்டன

kernel.org இன் முன்னாள் தலைமை அமைப்பு நிர்வாகியும் உபுண்டு பாதுகாப்புக் குழுவின் தலைவருமான கீஸ் குக், இப்போது ஆண்ட்ராய்டு மற்றும் ChromeOS ஐப் பாதுகாப்பதில் Google இல் பணிபுரிகிறார், கணினி அழைப்புகளைச் செயலாக்கும்போது கர்னல் அடுக்கில் உள்ள ஆஃப்செட்களை சீரற்றதாக மாற்றுவதற்கான பேட்ச்களின் தொகுப்பை வெளியிட்டார். பேட்ச்கள் ஸ்டேக் பிளேஸ்மென்ட்டை மாற்றுவதன் மூலம் கர்னல் பாதுகாப்பை மேம்படுத்துகிறது, ஸ்டேக் மீதான தாக்குதல்களை மிகவும் கடினமாகவும் குறைவான வெற்றிகரமானதாகவும் ஆக்குகிறது. ஆரம்ப செயலாக்கம் ARM64 மற்றும் x86/x86_64 செயலிகளை ஆதரிக்கிறது.

பேட்சுக்கான அசல் யோசனை PaX RANDKSTACK திட்டத்திற்கு சொந்தமானது. 2019 ஆம் ஆண்டில், இன்டெல்லின் பொறியியலாளர் எலெனா ரெஷெடோவா, முக்கிய லினக்ஸ் கர்னலில் சேர்ப்பதற்கு ஏற்ற இந்த யோசனையை செயல்படுத்த முயற்சித்தார். பின்னர், இந்த முயற்சியை கீஸ் குக் மேற்கொண்டார், அவர் கர்னலின் முக்கிய பதிப்பிற்கு ஏற்ற செயலாக்கத்தை வழங்கினார். இணைப்புகள் 5.13 வெளியீட்டின் ஒரு பகுதியாக சேர்க்க திட்டமிடப்பட்டுள்ளது. பயன்முறை இயல்பாகவே முடக்கப்படும். அதை இயக்க, கர்னல் கட்டளை வரி அளவுரு “randomize_kstack_offset=on/off” மற்றும் CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT அமைப்பு முன்மொழியப்பட்டது. பயன்முறையை இயக்குவதற்கான மேல்நிலை தோராயமாக 1% செயல்திறன் இழப்பாக மதிப்பிடப்படுகிறது.

முன்மொழியப்பட்ட பாதுகாப்பின் சாராம்சம் ஒவ்வொரு கணினி அழைப்புக்கும் சீரற்ற ஸ்டாக் ஆஃப்செட்டைத் தேர்ந்தெடுப்பதாகும், இது முகவரித் தரவைப் பெற்ற பிறகும் நினைவகத்தில் அடுக்கு அமைப்பைக் கண்டறிவதை கடினமாக்குகிறது, ஏனெனில் அடுத்த கணினி அழைப்பு அடுக்கின் அடிப்படை முகவரியை மாற்றும். PaX RANDKSTACK செயல்படுத்தலைப் போலன்றி, கர்னலில் சேர்க்க முன்மொழியப்பட்ட இணைப்புகளில், சீரற்றமயமாக்கல் ஆரம்ப கட்டத்தில் (cpu_current_top_of_stack) செய்யப்படவில்லை, ஆனால் pt_regs கட்டமைப்பை அமைத்த பிறகு, இது சீரற்ற ஆஃப்செட்டை தீர்மானிக்க ptrace-அடிப்படையான முறைகளைப் பயன்படுத்த இயலாது. நீண்ட கால கணினி அழைப்பின் போது.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்