Chromium இல் உள்ள 70% பாதுகாப்புச் சிக்கல்கள் நினைவகப் பிழைகளால் ஏற்படுகின்றன

Chromium திட்டத்தின் டெவலப்பர்கள் பகுப்பாய்வு செய்யப்பட்டது 912 ஆம் ஆண்டு முதல் Chrome இன் நிலையான வெளியீடுகளில் 2015 அதிக ஆபத்து மற்றும் முக்கியமான பாதிப்புகள் கண்டறியப்பட்டன, மேலும் அவற்றில் 70% நினைவக பாதுகாப்பின்மையால் (C/C++ குறியீட்டில் உள்ள சுட்டிகளுடன் பணிபுரியும் போது ஏற்படும் பிழைகள்) என முடிவு செய்தனர். இந்தச் சிக்கல்களில் பாதி (36.1%) இடையகத்துடன் தொடர்புடைய நினைவகத்தை விடுவித்த பிறகு (பயன்பாட்டிற்குப் பிறகு-இலவசம்) அணுகல்களால் ஏற்படுகிறது.

Chromium இல் உள்ள 70% பாதுகாப்புச் சிக்கல்கள் நினைவகப் பிழைகளால் ஏற்படுகின்றன

குரோமியம் வடிவமைக்கும் போது அது ஆரம்பத்தில் இருந்தது கீழே போடப்பட்டது, குறியீட்டில் பிழைகள் தோன்றுவது சாத்தியம், எனவே பாதிப்புகளின் விளைவுகளைக் கட்டுப்படுத்த சாண்ட்பாக்ஸ் தனிமைப்படுத்தலைப் பயன்படுத்துவதில் அதிக முக்கியத்துவம் கொடுக்கப்பட்டது. தற்போது, ​​இந்த தொழில்நுட்பத்தைப் பயன்படுத்துவதற்கான சாத்தியக்கூறுகள் அவற்றின் திறன்களின் வரம்பை எட்டியுள்ளன, மேலும் வள நுகர்வுக் கண்ணோட்டத்தில் செயல்முறைகளில் மேலும் துண்டு துண்டாகச் செய்வது நடைமுறைக்கு மாறானது.

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

குறியீட்டுத் தளத்தின் பாதுகாப்பை மேலும் மேம்படுத்த, குறியீடு தளத்தில் நினைவகப் பிழைகள் தோன்றுவதைத் தடுக்கும் திட்டம் தொடங்கப்பட்டுள்ளது. மூன்று முக்கிய அணுகுமுறைகள் உள்ளன: நினைவகத்தின் பாதுகாப்பான செயல்பாட்டிற்கான செயல்பாடுகளுடன் சி++ நூலகங்களை உருவாக்குதல் மற்றும் வன்பொருள் பாதுகாப்பு வழிமுறைகளைப் பயன்படுத்தி குப்பை சேகரிப்பாளரின் நோக்கத்தை விரிவுபடுத்துதல். MTE (Memory Tagging Extension) மற்றும் நினைவகத்துடன் பாதுகாப்பான வேலையை உறுதி செய்யும் மொழிகளில் எழுதும் கூறுகள் (Java, Kotlin, JavaScript, Rust, Swift).

வேலை இரண்டு பகுதிகளில் கவனம் செலுத்தும் என்று எதிர்பார்க்கப்படுகிறது:

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

நினைவக-பாதுகாப்பான நூலகங்களைப் பயன்படுத்துவது எளிமையானது, ஆனால் குறைந்த செயல்திறன் கொண்ட வழியாகும். ரஸ்டில் குறியீட்டை மீண்டும் எழுதுவது மிகவும் பயனுள்ள, ஆனால் மிகவும் விலையுயர்ந்த வழியாக மதிப்பிடப்படுகிறது.

Chromium இல் உள்ள 70% பாதுகாப்புச் சிக்கல்கள் நினைவகப் பிழைகளால் ஏற்படுகின்றன

ஆதாரம்: opennet.ru

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