மைக்ரோசாப்ட் CHERIoT ஐ திறக்கிறது, இது C குறியீடு பாதுகாப்பை மேம்படுத்த வன்பொருள் தீர்வாகும்

மைக்ரோசாப்ட் CHERIoT (Capability Hardware Extension to RISC-V இன் இன்டர்நெட் ஆஃப் திங்ஸ்) திட்டத்துடன் தொடர்புடைய மேம்பாடுகளைக் கண்டறிந்துள்ளது, இது C மற்றும் C++ இல் இருக்கும் குறியீட்டில் உள்ள பாதுகாப்புச் சிக்கல்களைத் தடுப்பதை நோக்கமாகக் கொண்டுள்ளது. CHERIoT ஒரு தீர்வை வழங்குகிறது, இது ஏற்கனவே உள்ள C/C++ கோட்பேஸ்களை மறுவேலை செய்யாமல் பாதுகாக்க உங்களை அனுமதிக்கிறது. செயலி மற்றும் வன்பொருள் மட்டத்தில் நினைவக அணுகலைக் கண்காணிக்கும் சிறப்பு நீட்டிக்கப்பட்ட செயலி வழிமுறைகளைப் (ISA) பயன்படுத்தும் மாற்றியமைக்கப்பட்ட கம்பைலரைப் பயன்படுத்துவதன் மூலம் பாதுகாப்பு செயல்படுத்தப்படுகிறது.

நினைவகத்துடன் பணிபுரியும் போது சி மொழியின் குறைந்த-நிலை இயல்பு பிழைகளின் ஆதாரமாக மாறும், இது இடையக வழிதல், ஏற்கனவே விடுவிக்கப்பட்ட நினைவகத்திற்கான அணுகல், சுட்டி குறிப்புகள் அல்லது இரட்டை இலவசங்கள் போன்ற சிக்கல்களுக்கு வழிவகுக்கும் என்ற உண்மையைக் கருத்தில் கொண்டு இந்த திட்டம் உருவாக்கப்பட்டது. . கூகுள் மற்றும் மைக்ரோசாப்ட் போன்ற பெரிய நிறுவனங்களும், கடுமையான மாற்ற மறுஆய்வுக் கொள்கையைக் கொண்டவை மற்றும் நவீன மேம்பாட்டு முறைகள் மற்றும் நிலையான பகுப்பாய்வுக் கருவிகளைப் பயன்படுத்துகின்றன, நினைவகத்துடன் பணிபுரியும் போது பிழைகள் இல்லாததற்கு உத்தரவாதம் அளிக்க முடியாது (உதாரணமாக, மைக்ரோசாப்ட் பாதிப்புகளில் 70% மற்றும் Google பாதுகாப்பற்ற நினைவக கையாளுதலால் ஏற்படுகிறது).

நினைவகத்துடன் பாதுகாப்பான செயல்பாட்டிற்கு உத்தரவாதம் அளிக்கும் நிரலாக்க மொழிகள் அல்லது கூடுதல் காசோலைகளுடன் பிணைப்புகளைப் பயன்படுத்துவதன் மூலம் சிக்கலைத் தீர்க்க முடியும், எடுத்துக்காட்டாக, விடுவிக்கப்பட்ட நினைவக பகுதிகளை அணுகுவதற்கான கூடுதல் சோதனைகளைச் செய்யும் MiraclePtr (raw_ptr) போன்ற சாதாரண சுட்டிகளைப் பயன்படுத்துவதன் மூலம். ஆனால் இத்தகைய முறைகள் புதிய குறியீட்டிற்கு மிகவும் பொருத்தமானவை, மேலும் ஏற்கனவே உள்ள C/C++ திட்டப்பணிகளை மறுவேலை செய்வது மிகவும் சிக்கலாக உள்ளது, குறிப்பாக அவை உட்பொதிக்கப்பட்ட அமைப்புகள் மற்றும் இன்டர்நெட் ஆஃப் திங்ஸ் சாதனங்கள் போன்ற வள-கட்டுப்படுத்தப்பட்ட சூழல்களில் இயங்க வடிவமைக்கப்பட்டிருந்தால்.

CHERIoT வன்பொருள் கூறுகள் RISC-V கட்டமைப்பின் அடிப்படையில் மைக்ரோகண்ட்ரோலராக வடிவமைக்கப்பட்டுள்ளன, இது பாதுகாக்கப்பட்ட CHERI (ஆர்ஐஎஸ்சி-விக்கு திறன் வன்பொருள் நீட்டிப்பு) செயலி கட்டமைப்பை செயல்படுத்துகிறது, இது “திறன்” (ஒவ்வொன்றும் படிக்கவும் எழுதவும்) அடிப்படையில் கட்டுப்படுத்தப்பட்ட நினைவக அணுகலின் மாதிரியை வழங்குகிறது. நினைவகத்திற்கு இயக்கம் அங்கீகரிக்கப்பட்டது) . CHERIoT இல் வழங்கப்பட்ட அறிவுறுத்தல் தொகுப்பு கட்டமைப்பின் (ISA) அடிப்படையில், ஒரு மென்பொருள் மாதிரி உருவாக்கப்பட்டுள்ளது, இது தனிப்பட்ட பொருட்களின் மட்டத்தில் நினைவகத்துடன் பணிபுரியும் பாதுகாப்பிற்கு உத்தரவாதம் அளிக்கிறது, ஏற்கனவே விடுவிக்கப்பட்ட நினைவகத்திற்கான அணுகலுக்கு எதிராக பாதுகாப்பை வழங்குகிறது மற்றும் ஒரு இலகுரக நினைவக அணுகல் தனிமைப்படுத்தும் அமைப்பை செயல்படுத்துகிறது. . குறிப்பிடப்பட்ட மென்பொருள் பாதுகாப்பு மாதிரியானது C/C++ மொழி மாதிரியில் நேரடியாகப் பிரதிபலிக்கிறது, இது ஏற்கனவே உள்ள பயன்பாடுகளைப் பாதுகாக்கப் பயன்படுத்த அனுமதிக்கிறது (ISA CHERIoT ஐ ஆதரிக்கும் சாதனங்களில் மட்டுமே மீண்டும் தொகுத்து இயங்க வேண்டும்).

முன்மொழியப்பட்ட தீர்வு, ஒரு பொருளை நினைவகத்தின் எல்லைக்கு அப்பால் செல்லும் பிழைகளைத் தடுக்க உங்களை அனுமதிக்கிறது, சுட்டிக்காட்டி மாற்றீட்டை அனுமதிக்காது (எல்லா சுட்டிகளும் ஏற்கனவே உள்ள சுட்டிகளிலிருந்து உருவாக்கப்பட வேண்டும்), மற்றும் நினைவக அணுகலை விடுவித்த பிறகு கண்காணிக்கிறது (தவறான நினைவகத்தைப் பயன்படுத்தி எந்த அணுகலும் ஒரு சுட்டி அல்லது ஒரு சுட்டி ஒரு விடுவிக்கப்பட்ட பொருளைக் குறிக்கும் விதிவிலக்கு எறியப்படும்). எடுத்துக்காட்டாக, CHERIoT ஐப் பயன்படுத்துவது, எந்த குறியீடு மாற்றங்களும் தேவையில்லாமல் நம்பத்தகாத தரவைக் கையாளும் கூறுகளில் தானியங்கு எல்லை சரிபார்ப்பு, நினைவக வாழ்நாள் கண்காணிப்பு மற்றும் சுட்டிக்காட்டி ஒருமைப்பாடு அமலாக்கத்தை செயல்படுத்த உங்களை அனுமதிக்கிறது.

திட்டமானது நீட்டிக்கப்பட்ட CHERIoT அறிவுறுத்தல் தொகுப்பு கட்டமைப்பின் விவரக்குறிப்பு, CHERIoT ISA ஐ ஆதரிக்கும் 32-பிட் RISC-V CPU இன் குறிப்பு செயலாக்கம் மற்றும் மாற்றியமைக்கப்பட்ட LLVM கருவித்தொகுப்பு ஆகியவற்றை உள்ளடக்கியது. வெரிலாக்கில் உள்ள CPU முன்மாதிரி வரைபடங்கள் மற்றும் வன்பொருள் தொகுதி விளக்கங்கள் Apache 2.0 உரிமத்தின் கீழ் விநியோகிக்கப்படுகின்றன. லோஆர்ஐஎஸ்சி திட்டத்தில் இருந்து ஐபெக்ஸ் கோர் CPUக்கு அடிப்படையாக பயன்படுத்தப்பட்டது. CHERIoT ISA குறியீடு மாதிரியானது Sail மொழியில் வரையறுக்கப்பட்டுள்ளது மற்றும் BSD உரிமத்தின் கீழ் உரிமம் பெற்றது.

கூடுதலாக, நிகழ்நேர இயக்க முறைமையின் CHERIoT RTOS இன் முன்மாதிரி முன்மொழியப்பட்டது, இது 256 MB ரேம் கொண்ட உட்பொதிக்கப்பட்ட கணினிகளில் கூட பெட்டிகளை தனிமைப்படுத்தும் திறனை வழங்குகிறது. CHERIoT RTOS குறியீடு C++ இல் எழுதப்பட்டு MIT உரிமத்தின் கீழ் விநியோகிக்கப்படுகிறது. OS இன் அடிப்படைக் கூறுகளான பூட்லோடர், ஷெட்யூலர் மற்றும் மெமரி டிஸ்டிரிப்யூஷன் சிஸ்டம் போன்றவை பெட்டிகளின் வடிவில் வடிவமைக்கப்பட்டுள்ளன.

CHERIoT RTOS இல் உள்ள ஒரு பெட்டி என்பது பகிரப்பட்ட நூலகத்தை ஒத்திருக்கும் குறியீடு மற்றும் உலகளாவிய மாறிகளின் தனிமைப்படுத்தப்பட்ட கலவையாகும், ஆனால் பிந்தையதைப் போலல்லாமல், அது அதன் நிலையை (மாற்றக்கூடியது) மாற்றி தனி பாதுகாப்பு சூழலில் இயங்கும். பிரத்யேகமாக வரையறுக்கப்பட்ட நுழைவுப் புள்ளிகளை அணுகுவது மற்றும் மற்றொரு பெட்டியை அழைக்கும் போது வெளிப்படையாக அனுப்பப்பட்ட பொருட்களுக்கான சுட்டிகளைப் பயன்படுத்துவதைத் தவிர, வெளியில் இருந்து எந்தக் குறியீடும் ஒரு பெட்டியில் உள்ள குறியீட்டிற்கு கட்டுப்பாட்டை மாற்ற முடியாது மற்றும் பொருட்களை அணுக முடியாது. ஒரு பெட்டியில் உள்ள குறியீடு மற்றும் உலகளாவிய பொருள்களுக்கு ஒருமைப்பாடு மற்றும் ரகசியத்தன்மை உத்தரவாதம் அளிக்கப்படுகிறது.

ஆதாரம்: opennet.ru

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