வளர்ச்சியின் போது ஏற்படும் தீங்கிழைக்கும் மாற்றங்களுக்கு எதிராக Google SLSA ஐ முன்மொழிந்தது

கூகுள் SLSA (Supply-chain Levels for Software Artifacts) கட்டமைப்பை அறிமுகப்படுத்தியது, இது குறியீட்டை எழுதுதல், சோதனை செய்தல், அசெம்பிள் செய்தல் மற்றும் ஒரு தயாரிப்பை விநியோகித்தல் ஆகிய கட்டங்களில் மேற்கொள்ளப்படும் தாக்குதல்களில் இருந்து மேம்பாட்டு உள்கட்டமைப்பைப் பாதுகாப்பதில் ஏற்கனவே உள்ள அனுபவத்தை சுருக்கமாகக் கூறுகிறது.

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

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

வளர்ச்சியின் போது ஏற்படும் தீங்கிழைக்கும் மாற்றங்களுக்கு எதிராக Google SLSA ஐ முன்மொழிந்தது

  • A. பின்கதவுகள் அல்லது பாதிப்புகளுக்கு வழிவகுக்கும் மறைக்கப்பட்ட பிழைகளைக் கொண்டிருக்கும் மூலக் குறியீட்டில் மாற்றங்கள் உட்பட.

    தாக்குதலின் உதாரணம்: “கபட செய்கைகள்” - லினக்ஸ் கர்னலில் பாதிப்புகள் உள்ள இணைப்புகளை ஊக்குவிக்கும் முயற்சி.

    பரிந்துரைக்கப்பட்ட பாதுகாப்பு முறை: இரண்டு டெவலப்பர்களால் ஒவ்வொரு மாற்றத்தையும் சுயாதீனமான மதிப்பாய்வு.

  • பி. மூல குறியீடு கட்டுப்பாட்டு தளத்தின் சமரசம்.

    தாக்குதலின் எடுத்துக்காட்டு: டெவலப்பர் கடவுச்சொற்கள் கசிந்த பிறகு, PHP திட்டத்தின் Git களஞ்சியத்தில் பின்கதவுடன் தீங்கிழைக்கும் கமிட்களை உட்செலுத்துதல்.

    பரிந்துரைக்கப்பட்ட பாதுகாப்பு முறை: குறியீடு மேலாண்மை தளத்தின் பாதுகாப்பு அதிகரித்தது (PHP விஷயத்தில், தாக்குதல் சிறிது பயன்படுத்தப்பட்ட HTTPS இடைமுகம் மூலம் நடத்தப்பட்டது, இது SSH விசையைச் சரிபார்க்காமல் கடவுச்சொல்லைப் பயன்படுத்தி உள்நுழையும்போது மாற்றங்களை அனுப்ப அனுமதித்தது. கடவுச்சொற்களை ஹாஷ் செய்ய நம்பகத்தன்மையற்ற MD5 பயன்படுத்தப்பட்டது.

  • C. உருவாக்க அல்லது தொடர்ச்சியான ஒருங்கிணைப்பு அமைப்புக்கு குறியீட்டை மாற்றும் கட்டத்தில் மாற்றங்களைச் செய்தல் (தொகுப்பில் இருந்து குறியீட்டுடன் பொருந்தாத குறியீடு கட்டப்பட்டது).

    தாக்குதலின் எடுத்துக்காட்டு: உருவாக்க உள்கட்டமைப்பில் மாற்றங்களைச் செய்வதன் மூலம் வெப்மினில் ஒரு பின்கதவைச் செலுத்துதல், இதன் விளைவாக களஞ்சியத்தில் உள்ள கோப்புகளிலிருந்து வேறுபட்ட குறியீடு கோப்புகள் பயன்படுத்தப்படுகின்றன.

    முன்மொழியப்பட்ட பாதுகாப்பு முறை: ஒருமைப்பாட்டைச் சரிபார்த்தல் மற்றும் அசெம்பிளி சர்வரில் குறியீட்டின் மூலத்தைக் கண்டறிதல்.

  • D. சட்டசபை மேடையின் சமரசம்.

    தாக்குதலின் எடுத்துக்காட்டு: சோலார் விண்ட்ஸ் தாக்குதல், இதன் போது சோலார் விண்ட்ஸ் ஓரியன் தயாரிப்பில் பின்கதவை நிறுவுவது சட்டசபை கட்டத்தில் உறுதி செய்யப்பட்டது.

    முன்மொழியப்பட்ட பாதுகாப்பு முறை: சட்டசபை மேடையில் மேம்பட்ட பாதுகாப்பு நடவடிக்கைகளை செயல்படுத்துதல்.

  • E. தரம் குறைந்த சார்புகள் மூலம் தீங்கிழைக்கும் குறியீட்டை ஊக்குவித்தல்.

    தாக்குதலுக்கு ஒரு எடுத்துக்காட்டு: தீங்கற்ற சார்புகளைச் சேர்ப்பதன் மூலம் பிரபலமான நிகழ்வு-ஸ்ட்ரீம் நூலகத்தில் பின்கதவை அறிமுகப்படுத்துதல் மற்றும் இந்த சார்புநிலையின் புதுப்பிப்புகளில் ஒன்றில் தீங்கிழைக்கும் குறியீட்டைச் சேர்ப்பது (தீங்கிழைக்கும் மாற்றம் git களஞ்சியத்தில் பிரதிபலிக்கவில்லை, ஆனால் முடிக்கப்பட்ட MNP தொகுப்பில் மட்டுமே உள்ளது).

    பரிந்துரைக்கப்பட்ட பாதுகாப்பு முறை: அனைத்து சார்புகளுக்கும் SLSA தேவைகளை மீண்டும் மீண்டும் பயன்படுத்தவும் (நிகழ்வு-ஸ்ட்ரீம் விஷயத்தில், முக்கிய Git களஞ்சியத்தின் உள்ளடக்கங்களுடன் பொருந்தாத குறியீட்டின் தொகுப்பை சரிபார்ப்பு வெளிப்படுத்தும்).

  • F. CI/CD அமைப்பில் உருவாக்கப்படாத கலைப்பொருட்களைப் பதிவேற்றுதல்.

    தாக்குதலின் எடுத்துக்காட்டு: CodeCov ஸ்கிரிப்ட்டில் தீங்கிழைக்கும் குறியீட்டைச் சேர்ப்பது, இது வாடிக்கையாளர் தொடர்ச்சியான ஒருங்கிணைப்பு அமைப்பு சூழல்களில் சேமிக்கப்பட்ட தகவலைப் பிரித்தெடுக்க தாக்குபவர்களை அனுமதித்தது.

    முன்மொழியப்பட்ட பாதுகாப்பு முறை: கலைப்பொருட்களின் ஆதாரம் மற்றும் ஒருமைப்பாட்டின் மீதான கட்டுப்பாடு (கோட்கோவ் விஷயத்தில், codecov.io இணையதளத்தில் இருந்து அனுப்பப்பட்ட பாஷ் பதிவேற்றி ஸ்கிரிப்ட் திட்டக் களஞ்சியத்தில் உள்ள குறியீட்டுடன் ஒத்துப்போகவில்லை என்பதை வெளிப்படுத்தலாம்).

  • G. தொகுப்பு களஞ்சியத்தின் சமரசம்.

    தாக்குதலின் எடுத்துக்காட்டு: சில பிரபலமான தொகுப்பு களஞ்சியங்களின் கண்ணாடிகளை அவற்றின் மூலம் தீங்கிழைக்கும் தொகுப்புகளை விநியோகிப்பதற்காக ஆராய்ச்சியாளர்களால் பயன்படுத்த முடிந்தது.

    பரிந்துரைக்கப்பட்ட பாதுகாப்பு முறை: விநியோகிக்கப்பட்ட கலைப்பொருட்கள் அறிவிக்கப்பட்ட மூலக் குறியீடுகளில் இருந்து தொகுக்கப்பட்டதா என்று சரிபார்த்தல்.

  • H. தவறான தொகுப்பை நிறுவ பயனரை குழப்புகிறது.

    தாக்குதலின் எடுத்துக்காட்டு: பிரபலமான பயன்பாடுகளுக்கு எழுத்துப்பூர்வமாக இருக்கும் (உதாரணமாக, காபி-ஸ்கிரிப்ட்டுக்கு பதிலாக காஃபி-ஸ்கிரிப்ட்) பொதிகளை களஞ்சியங்களில் வைக்க டைபோஸ்க்வாட்டிங் (NPM, RubyGems, PyPI) பயன்படுத்துதல்.

கொடியிடப்பட்ட அச்சுறுத்தல்களைத் தடுக்க, SLSA பரிந்துரைகளின் தொகுப்பையும், தணிக்கை மெட்டாடேட்டாவை தானாக உருவாக்குவதற்கான கருவிகளையும் வழங்குகிறது. SLSA பொதுவான தாக்குதல் முறைகளை சுருக்கி, பாதுகாப்பு அடுக்குகளின் கருத்தை அறிமுகப்படுத்துகிறது. ஒவ்வொரு மட்டமும் வளர்ச்சியில் பயன்படுத்தப்படும் கலைப்பொருட்களின் ஒருமைப்பாட்டை உறுதிப்படுத்த சில உள்கட்டமைப்பு தேவைகளை விதிக்கிறது. ஆதரிக்கப்படும் SLSA நிலை, அதிக பாதுகாப்புகள் செயல்படுத்தப்பட்டு, உள்கட்டமைப்பு பொதுவான தாக்குதல்களில் இருந்து பாதுகாக்கப்படுகிறது.

  • SLSA 1 ஆனது, உருவாக்க செயல்முறை முழுவதுமாக தானியக்கமாக இருக்க வேண்டும் மற்றும் ஆதாரங்கள், சார்புநிலைகள் மற்றும் உருவாக்க செயல்முறை பற்றிய தகவல்கள் உட்பட கலைப்பொருட்கள் எவ்வாறு கட்டமைக்கப்படுகின்றன என்பது பற்றிய மெட்டாடேட்டாவை ("ஆதாரம்") உருவாக்க வேண்டும் (தணிக்கைக்கான ஒரு எடுத்துக்காட்டு மெட்டாடேட்டா ஜெனரேட்டர் GitHub செயல்களுக்கு வழங்கப்படுகிறது). SLSA 1 தீங்கிழைக்கும் மாற்றங்களுக்கு எதிரான பாதுகாப்பின் கூறுகளைக் கொண்டிருக்கவில்லை, மாறாக குறியீட்டைக் கண்டறிந்து, பாதிப்பு மேலாண்மை மற்றும் இடர் பகுப்பாய்வுக்கான மெட்டாடேட்டாவை வழங்குகிறது.
  • SLSA 2 - அங்கீகரிக்கப்பட்ட மெட்டாடேட்டாவை உருவாக்கும் பதிப்புக் கட்டுப்பாடு மற்றும் அசெம்பிளி சேவைகளைப் பயன்படுத்துவதன் மூலம் முதல் நிலையை நீட்டிக்கிறது. SLSA 2 இன் பயன்பாடு குறியீட்டின் தோற்றத்தைக் கண்டறிய உங்களை அனுமதிக்கிறது மற்றும் நம்பகமான உருவாக்க சேவைகளின் விஷயத்தில் குறியீட்டில் அங்கீகரிக்கப்படாத மாற்றங்களைத் தடுக்கிறது.
  • SLSA 3 - மூலக் குறியீடு மற்றும் உருவாக்கத் தளம் தரநிலைகளின் தேவைகளைப் பூர்த்தி செய்கின்றன என்பதை உறுதிப்படுத்துகிறது, இது குறியீட்டைத் தணிக்கை செய்யும் திறன் மற்றும் வழங்கப்பட்ட மெட்டாடேட்டாவின் ஒருமைப்பாட்டை உறுதி செய்கிறது. தரநிலைகளின் தேவைகளுக்கு எதிராக தணிக்கையாளர்கள் தளங்களை சான்றளிக்க முடியும் என்று கருதப்படுகிறது.
  • SLSA 4 என்பது மிக உயர்ந்த மட்டமாகும், இது முந்தைய நிலைகளை பின்வரும் தேவைகளுடன் நிரப்புகிறது:
    • இரண்டு வெவ்வேறு டெவலப்பர்களால் அனைத்து மாற்றங்களையும் கட்டாயமாக மதிப்பாய்வு செய்ய வேண்டும்.
    • அனைத்து உருவாக்க படிகள், குறியீடு மற்றும் சார்புகள் முழுமையாக அறிவிக்கப்பட வேண்டும், அனைத்து சார்புகளும் தனித்தனியாக பிரித்தெடுக்கப்பட்டு சரிபார்க்கப்பட வேண்டும், மேலும் உருவாக்க செயல்முறை ஆஃப்லைனில் செய்யப்பட வேண்டும்.
    • மீண்டும் மீண்டும் உருவாக்கக்கூடிய செயல்முறையைப் பயன்படுத்துவது, உருவாக்க செயல்முறையை நீங்களே மீண்டும் செய்யவும் மற்றும் செயல்படுத்தக்கூடியது வழங்கப்பட்ட மூலக் குறியீட்டிலிருந்து கட்டமைக்கப்பட்டுள்ளதா என்பதை உறுதிப்படுத்தவும் அனுமதிக்கிறது.

    வளர்ச்சியின் போது ஏற்படும் தீங்கிழைக்கும் மாற்றங்களுக்கு எதிராக Google SLSA ஐ முன்மொழிந்தது


    ஆதாரம்: opennet.ru

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