NSA CI/CD უსაფრთხოების სახელმძღვანელო მითითებები: პროგრამული უზრუნველყოფის მიწოდების ჯაჭვის დაცვა

2019 წლიდან 2022 წლამდე, პროგრამული უზრუნველყოფის მიწოდების ჯაჭვზე თავდასხმების საშუალო წლიურმა ზრდამ 700%-ს გადააჭარბა, რაც მზარდი ტენდენციაა, რომლის ეკონომიკური გავლენა, სავარაუდოდ, 2026 წელს 80 მილიარდ დოლარს გადააჭარბებს. ამ პრობლემის სიმძიმის გათვალისწინებით, ეროვნული უშიშროების სააგენტოს (NSA) და კიბერუსაფრთხოებისა და ინფრასტრუქტურის უსაფრთხოების სააგენტო (CISA) გაათავისუფლეს მნიშვნელოვანი მითითებები უზრუნველყოს CI/CD გარემოში, რომელიც ებრძვის ე.წ. მავნე კიბერაქტორების (MCA) მზარდ საფრთხეს, რომლებიც იყენებენ დაუცველობებს.

ეს ინსტრუქციები კონკრეტულად ფოკუსირებულია საიდუმლოებების გამჟღავნების თავიდან აცილებაზე. CI/CD pipelines და შესთავაზეთ კონკრეტული მოსაზრებები.

 

რა არის ყველაზე კრიტიკული CI/CD უსაფრთხოების საფრთხეები?

როგორც NSA-ს სახელმძღვანელო მითითებებია მითითებული, უზრუნველყოფა CI/CD გარემო მოითხოვს სხვადასხვა ტიპის უსაფრთხოების საფრთხეების ამოცნობას და მათგან დაცვას, რომლებმაც შეიძლება გავლენა მოახდინონ CI/CD ოპერაციები. აქ მოცემულია რამდენიმე გავრცელებული რისკი, რომლებიც გვხვდება CI/CD pipelineს, -თან ერთად OWASP ტოპ 10 CI/CD უსაფრთხოების რისკები:

  • ნაკადის კონტროლის მექანიზმების არასაკმარისი რაოდენობაეს რისკი ეხება მონაცემთა ნაკადისა და ამოცანების მართვის სათანადო კონტროლის არარსებობას. CI/CD pipelineამ კონტროლის გარეშე, არაავტორიზებული ცვლილებები შეიძლება შევიდეს pipeline, რაც პოტენციურ უსაფრთხოების დაუცველობებს იწვევს.
  • არასაკმარისი იდენტობისა და წვდომის მართვაეს რისკი გულისხმობს იმის არასათანადოდ მართვას, თუ ვის აქვს წვდომა CI/CD pipeline და რა შეუძლიათ მათ გააკეთონ. სათანადო პირადობისა და წვდომის მართვის გარეშე, არაავტორიზებული პირები შეიძლება შევიდნენ pipeline და მავნე ცვლილებების შეტანა.
  • დამოკიდებულების ჯაჭვის ბოროტად გამოყენებაეს რისკი ეხება თავდამსხმელების მიერ თქვენი პროგრამული უზრუნველყოფის მიერ გამოყენებულ დამოკიდებულებებში არსებული დაუცველობების გამოყენების პოტენციალს. თუ ეს დამოკიდებულებები სათანადოდ არ იმართება და არ არის დაცული, მათ შეიძლება თავდასხმის საშუალება შექმნან.
  • მოწამლული Pipeline შესრულებისეს რისკი გულისხმობს თავდამსხმელების მიერ მავნე კოდის პოტენციურად შეტანას CI/CD pipelineამან შეიძლება გამოიწვიოს მავნე კოდის გაშვება საწარმოო გარემოში.
  • არასაკმარისი PBAC (Pipeline-ზე დაფუძნებული წვდომის კონტროლი)ეს რისკი ეხება სათანადო წვდომის კონტროლის არარსებობას, რომელიც დაფუძნებულია pipelineამ კონტროლის გარეშე, არაავტორიზებული პირები შეძლებდნენ წვდომას მოწყობილობის მგრძნობიარე ნაწილებზე. pipeline.
  • არასაკმარისი სერთიფიკატის ჰიგიენაეს რისკი გულისხმობს გამოყენებული ავტორიზაციის მონაცემების არასათანადოდ მართვას და დაცვას. CI/CD pipelineთუ ეს ავტორიზაციის მონაცემები კომპრომეტირებულია, თავდამსხმელს შეუძლია წვდომა მისცეს pipeline.
  • დაუცველი სისტემის კონფიგურაციაეს რისკი ეხება პოტენციურ უსაფრთხოების დაუცველობებს, რომლებიც გამოწვეულია
    არასწორად კონფიგურირებული სისტემები CI/CD pipelineთავდამსხმელებს შეუძლიათ ამ დაუცველობების გამოყენება.
  • მესამე მხარის სერვისების უკონტროლო გამოყენებაეს რისკი გულისხმობს მესამე მხარის სერვისების გამოყენებას სათანადო ზედამხედველობისა და კონტროლის გარეშე. ამ სერვისებმა შეიძლება გამოიწვიოს უსაფრთხოების დაუცველობა, თუ ისინი არასწორად იქნება მართული და დაცული.
  • არტეფაქტის მთლიანობის არასწორი ვალიდაციაეს რისკი ეხება მიერ წარმოებული არტეფაქტების სათანადო ვალიდაციის არარსებობას CI/CD pipelineსათანადო ვალიდაციის გარეშე, მავნე ან კომპრომეტირებული არტეფაქტები შეიძლება შემოვიდეს საწარმოო გარემოში.
  • არასაკმარისი ჟურნალირება და ხილვადობაეს რისკი გულისხმობს არასაკმარის ჟურნალირებას და ხილვადობას
    საქმიანობა CI/CD pipelineსათანადო ჟურნალირებისა და ხილვადობის გარეშე უსაფრთხოების ინციდენტების აღმოჩენა და მათზე რეაგირება შეიძლება რთული იყოს.

 

ყველაზე საშიში სცენარები და მათი გამოსწორების გზები

თავდამსხმელები იღებენ დეველოპერის სერთიფიკატს Git საცავზე წვდომისთვის:

  1. მინიმუმამდე დაიყვანეთ გრძელვადიანი სერთიფიკატების გამოყენება.
  2. კოდის ყველა განახლებისთვის გამოიყენეთ ორპირიანი წესები (2PR).
  3. დაიცავით მომხმარებლის ანგარიშები და დანერგეთ მინიმალური პრივილეგიების პოლიტიკა.
  4. ქსელის სეგმენტაციისა და ტრაფიკის ფილტრაციის დანერგვა
  • SSCS ისეთი საშუალებები, როგორებიცაა ქსიგენი ავტომატურად ამ სფეროებში არასწორი კონფიგურაციების აღმოჩენა და უსაფრთხო კორპორატიული პოლიტიკის გამოყენების აღსრულება.

აპლიკაციის ბიბლიოთეკის, ხელსაწყოს ან კონტეინერის გამოსახულების მიწოდების ჯაჭვში კომპრომეტირება CI/CD pipeline:

  1. არასანდო ბიბლიოთეკებისა და ხელსაწყოების შეზღუდვა და ანალიზი commitტედ ინსტრუმენტები.
  2. დანერგეთ EDR ინსტრუმენტები და აუდიტი.
  3. შეინახეთ CI/CD განახლებული ინსტრუმენტები, პროგრამული უზრუნველყოფა და ოპერაციული სისტემები.
  • ქსიგენი პლატფორმა ავტომატურად ყოველ სკანირებაზე აახლებს სკანირების შესაძლებლობებს უახლესი მავნე კომპონენტების აღმოსაჩენად, რომლებმაც შეიძლება გავლენა მოახდინონ თქვენი პროგრამული უზრუნველყოფის გამოშვებაზე.

კომპრომისი CI/CD გარემო, რომელიც ცვლის კონფიგურაციებს ან ახდენს მავნე დამოკიდებულებების ინექციას:

  1. ანალიზი commitკოდის ჩასმა და უსაფრთხოების სკანირების ინტეგრირება CI/CD.
  2. განახორციელოს SBOM მდე SCA და EDR ინსტრუმენტების დანერგვა.
  3. ხელმოწერების დამატება CI/CD კონფიგურაცია და მისი გადამოწმება.
  • ქსიგენი შესაძლებლობები პროგრამული უზრუნველყოფის შემუშავებაში ჩართული აქტივების სრული ნაკრების ანალიზი, აწყობა და მიწოდება ნებისმიერი საფრთხის აღმოჩენის შესაძლებლობას იძლევა CI/CD დაამუშავეთ და გენერირეთ SBOM როგორც მტკიცებულება თქვენი აუდიტისა და მომხმარებლებისთვის.

შემდეგი სურათი გვიჩვენებს სხვადასხვა შეტევის ვექტორებს მაგალითის გამოყენებით CI/CD pipelineეს შეტევის ვექტორები ძალიან ჰგავს სხვა ვექტორებში გამოყენებულ ვექტორებს. CI/CD თავდასხმები.

 სურათი: AWS-ში სხვადასხვა შეტევის ვექტორების მაგალითი CI/CD pipeline
 

 

ნამდვილი ნულოვანი ნდობის მიდგომის დანერგვა:

NSA-ს აქტიური გამკვრივების სტრატეგიები

 

ეს სახელმძღვანელო პრინციპები ჩამოთვლის რამდენიმე სტრატეგიას, რომელთა გამოყენება შესაძლებელია პროგრამული უზრუნველყოფის მიწოდების ჯაჭვის დაცვის გასაძლიერებლად. აქ შეგიძლიათ იხილოთ ყველაზე მნიშვნელოვანი სტრატეგიების მოკლე ჩამონათვალი:

NSA-ს მიერ რეკომენდებული კრიპტოგრაფიის გამოყენება

მოძველებული და სუსტი კრიპტოგრაფიული ალგორითმების გამოყენება მნიშვნელოვან რისკებს შეიცავს CI/CD pipelineს. ამან შეიძლება გამოიწვიოს მგრძნობიარე მონაცემების გამჟღავნება, მონაცემთა გაჟონვა, ავტორიზაციის დარღვევა და დაუცველი სესიები. 

ამ დაუცველობების გამოყენებით, მავნე აქტორებს შეუძლიათ გვერდი აუარონ CI/CD pipeline და საფრთხეს უქმნის პროგრამული უზრუნველყოფის მიწოდების ჯაჭვს. ამ რისკების შესამცირებლად, NSA-მ და CISრეკომენდაცია: დანერგეთ და კონფიგურაცია გაუწიეთ სტაბილურ კრიპტოგრაფიულ ალგორითმებს, როგორიცაა ისინი, რომლებიც განსაზღვრულია ეროვნული ინსტიტუტის მიერ. Standards და ტექნოლოგიები (NIST), ღრუბლოვანი აპლიკაციებისა და სერვისების დაყენებისას.

მინიმუმამდე დაიყვანეთ სერთიფიკატების გრძელვადიანი გამოყენება

ადამიანის ავთენტიფიკაციასთან დაკავშირებით, ყოველთვის უპირატესობა მიანიჭეთ ფიშინგის შეტევებისადმი მდგრად პირადობის ფედერაციას და უსაფრთხოების ტოკენებს. ეს ზომები უნდა იქნას გამოყენებული დროებითი SSH და სხვა გასაღებების მისაღებად. 

ანალოგიურად, პროგრამული უზრუნველყოფის ავთენტიფიკაციისთვის, მიზანშეწონილია შესაძლებლობის შემთხვევაში, პროგრამულ უზრუნველყოფაზე დაფუძნებული გრძელვადიანი ავტორიზაციის მონაცემების გამოყენების მინიმიზაცია.

Xygeni-ს მსგავსი ინსტრუმენტების დეტექტორები მხარს უჭერენ ნებისმიერი ტიპის სერთიფიკატისა და საიდუმლოების აღმოჩენას ათობით ფორმატში მთელი პროგრამული უზრუნველყოფის მიწოდების ჯაჭვის გასწვრივ: კოდი, pipelines, IaC კონფიგურაციები და ა.შ.

ხელმოწერების დამატება CI/CD კონფიგურაცია და ყოველთვის გადაამოწმეთ ისინი

მთელი CI/CD პროცესში, შემუშავების ეტაპის მიუხედავად, უმნიშვნელოვანესია იმის უზრუნველყოფა, რომ კოდი თანმიმდევრულად და სწორად იყოს ხელმოწერილი, ხოლო ხელმოწერა დამოწმებულია.

თუ ხელმოწერა ვერ დადასტურდა, საფუძვლიანად უნდა გამოიძიოთ ვალიდაციის პრობლემის მიზეზი.

პაროლის რისკების შემცირება მრავალფაქტორიანი ავთენტიფიკაციის (MFA) მეშვეობით

მისი დამატება ასევე შესაძლებელია როლებზე დაფუძნებული წვდომის კონტროლით (RBAC). დღესდღეობით, MFA ფართოდ გამოიყენება ყველა სახის სერვისში. ის ხელს უწყობს უსაფრთხოების გაძლიერებას, როგორც შიდა, ასევე გარე მომხმარებლებისთვის. 

მინიმალური პრივილეგიების პრინციპის დაცვით, RBAC უზრუნველყოფს, რომ მომხმარებლებს მიენიჭოთ მხოლოდ ის ნებართვები, რომლებიც საჭიროა მათი კონკრეტული დავალებების შესასრულებლად.

კორპორატიულმა პოლიტიკამ უნდა გაითვალისწინოს ეს დღევანდელი სავალდებულო კონფიგურაციები. ავტომატიზირებული შესაბამისობისა და აუდიტის შესაძლებლობები SSCS ინსტრუმენტები ყველა მათგანს მთელ DevOps ინფრასტრუქტურაზე ახორციელებენ.

ყველაზე ნაკლებად პრივილეგირებული პოლიტიკის განხორციელება CI/CD ხელმისაწვდომობა

უმნიშვნელოვანესია, რომ წვდომა მხოლოდ დეველოპერებს მიენიჭოთ pipelineდა კომპონენტები, რომლებიც პირდაპირ კავშირშია მათ დაკისრებულ ამოცანებთან. 

მოვალეობების გამიჯვნის განხორციელება უმნიშვნელოვანესია, სადაც საწყისი კოდის შემოწმებაზე პასუხისმგებელ დეველოპერებს არ სჭირდებათ შექმნის გარემოს განახლების პრივილეგია. ანალოგიურად, შექმნის ზედამხედველ ინჟინრებს არ სჭირდებათ საწყისი კოდის წაკითხვისა და ჩაწერის წვდომა. უსაფრთხოების კონტროლის განხორციელების შესახებ უფრო დეტალური სახელმძღვანელოსთვის იხილეთ NIST SP 800-53.

კოდის განახლებებისთვის გამოიყენეთ ორპირიანი წესი (2PR)

ორპირიანი წესების პრაქტიკის დაცვა არა მხოლოდ აუმჯობესებს კოდის ხარისხს, არამედ ამცირებს მავნე კოდის წარმატებით დანერგვის ალბათობას, თუ დეველოპერის ავტორიზაციის მონაცემები კომპრომეტირებულია.

SSCS ისეთი ინსტრუმენტები, როგორიცაა Xygeni, ჩვეულებრივ მოიცავს კონკრეტულ შემოწმებას, რომელიც განსაზღვრავს, საჭიროებს თუ არა პროექტს კოდის გადახედვამდე. pull requests (შერწყმის მოთხოვნები) გაერთიანებულია.

ეს შემოწმება შეესაბამება მიმდინარე Open SSF უსაფრთხოების სტანდარტს. standard.

უსაფრთხო მომხმარებლის ანგარიშები და საიდუმლოებები

მომხმარებლის ანგარიშების აუდიტი და წვდომის კონტროლის კონფიგურაცია მინიმალური პრივილეგიებისა და მოვალეობების გამიჯვნის პრინციპების საფუძველზე კრიტიკულად მნიშვნელოვანია. 

გარდა ამისა, საიდუმლოებების, ტოკენებისა და რწმუნებათა სიგელების უსაფრთხო დამუშავება CI/CD pipeline უმთავრესია

არასოდეს გადასცეთ საიდუმლოებები ღია ტექსტის სახით არსად pipeline, რაც უზრუნველყოფს, რომ ისინი არასდროს იყოს ჩაშენებული უკუინჟინერიის მქონე პროგრამულ უზრუნველყოფაში.

პროგრამული უზრუნველყოფის მასალების ჩამონათვალის დანერგვით, კოდის ბაზაში არსებული ყველა მესამე მხარის და ღია კოდის კომპონენტის ყოვლისმომცველი ჩანაწერის შენარჩუნება (SBOM):

ის SBOM ეხმარება ორგანიზაციებს კოდის პოტენციური დაუცველობის გააზრებაში და მოძველებული და არაავტორიზებული კომპონენტების გამოყენების თავიდან აცილებაში. რეგულაციების დაცვა, როგორიცაა FDA-ს მოთხოვნები სამედიცინო მოწყობილობებისთვის, შეიძლება ავალდებულებდეს მათ გამოყენებას. SBOMs.

 

სხვა მნიშვნელოვანი ზომები განვითარების პროცესში

დან დაუცველობის იდენტიფიცირება, უმნიშვნელოვანესია უსაფრთხოების სკანირების ინტეგრირება CI/CD pipeline მარტივადინტეგრაცია ნებისმიერ ეტაპზე მარტივად უნდა ჩაითვალოს: სამუშაო ადგილზე (ატვირთვამდე), ა. commit, ან ღამით აშენებისას დამცავი მოაჯირების გამოყენებით.

განაახლეთ პროგრამული უზრუნველყოფა, ოპერაციული სისტემები და CI/CD ინსტრუმენტები: რეგულარულად განახლება CI/CD ინსტრუმენტები, რადგან ისინი შეიძლება შეიცავდეს შეცდომებს და დაუცველობას. გამოიყენეთ ცენტრალიზებული პატჩების მართვის სისტემები, მათ შორის ოპერაციული სისტემებისა და პროგრამული უზრუნველყოფის განახლებებისთვის პროგრამული უზრუნველყოფის მთლიანობისა და ვალიდაციის პროცესები.

არასანდო ბიბლიოთეკების შეზღუდვა და დროებითი რესურსების წაშლასაფრთხეების მინიმიზაციისთვის გამოიყენეთ მხოლოდ სანდო და უსაფრთხო წყაროებიდან მიღებული პროგრამული უზრუნველყოფა, ხელსაწყოები, ბიბლიოთეკები და არტეფაქტები. CI/CD pipelineყოველთვის დარწმუნდით, რომ მისი კონფიგურაცია შესაბამისია, რათა თავიდან აიცილოთ კოდის შესაძლო შესრულება ან უკანა კარების შემოღება. ასევე მნიშვნელოვანიაარასაჭირო აპლიკაციების წაშლა და საბოლოო წერტილების დაცვა.

მეტი ინფორმაციის მისაღებად Xygeni პლატფორმის შესახებ, ჩამოტვირთეთ Xygeni-ის პლატფორმის მონაცემთა ცხრილი

sca-tools-software-composition-analysis-tools
თქვენი პროგრამული უზრუნველყოფის რისკების პრიორიტეტიზაცია, გამოსწორება და დაცვა
მიიღეთ თქვენი უფასო ანგარიში.
საკრედიტო ბარათი არ არის საჭირო.

უზრუნველყავით თქვენი პროგრამული უზრუნველყოფის შემუშავება და მიწოდება

Xygeni Product Suite-თან ერთად