Agile და უსაფრთხოება: პროგრამული უზრუნველყოფის მიწოდების ჯაჭვებში ახალი ლანდშაფტების ჩამოყალიბება

ეს სირთულე ნიშნავს, რომ თავდამსხმელებისთვის მრავალი გზა არსებობს, მათ შორის ღია კოდის პროგრამული უზრუნველყოფის საცავები. GitHub-ის თანახმად, 85-97% enterprise კოდის ბაზები ღია კოდის საცავებიდან მოდისბოლო ოთხი წლის განმავლობაში Npm და PyPI რეპოზიტორებში თავდასხმების რაოდენობა 300%-ით გაიზარდა. 

მაგალითად, IconBurst დღეს გავრცელებული პროგრამული უზრუნველყოფის მიწოდების ჯაჭვზე თავდასხმების საუკეთესო ილუსტრაციაა.17 000-ზე მეტჯერ გადმოწერილი ეს იყო ძლიერი შეტევა, რომელიც გასულ წელს განხორციელდა და npm-ზე 24-ზე მეტ typosquatting პაკეტს მოიცავდა. ამიტომ, ორგანიზაციებმა უნდა გაიგონ პროგრამული უზრუნველყოფის მიწოდების ჯაჭვის თავდასხმები და გადადგან ნაბიჯები მათი DevOps ეკოსისტემის დასაცავად.

 

ახალი მიდგომები

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

დინამიური ან სტატიკური აპლიკაციის უსაფრთხოების ტესტირებისას (DAST/SAST) კრიტიკულია SDLC, ის ვერ აგვარებს პროგრამული უზრუნველყოფის ხელყოფის ან კომპრომეტირებული ღია კოდის და მესამე მხარის ბიბლიოთეკების მიერ წარმოქმნილ რისკებს. ანალოგიურად, პროგრამული უზრუნველყოფის შემადგენლობის ანალიზი (SCA) შეუძლია ღია კოდის კომპონენტების შემოწმება, მაგრამ ხშირად ვერ ამჩნევს მავნე მოდულებს და ვერ უზრუნველყოფს სრულ უსაფრთხოებას. 

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

პროგრამული უზრუნველყოფის შემუშავების საწყის ეტაპებზევე უნდა დაინერგოს კონტროლისა და ბალანსის სისტემა, რათა უზრუნველყოფილი იყოს software supply chain securityკოდის პირველი ხაზის დაწერამდეც კი უმნიშვნელოვანესია შემდეგი პრევენციული ზომების გათვალისწინება:

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

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

 

სწრაფი მეთოდოლოგიები

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

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

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

Უსაფრთხოების ზომები

უყრის software supply chain security საუკეთესო პრაქტიკა და ავტომატური უსაფრთხოების სკანირება პროგრამული უზრუნველყოფის შემუშავების მთელი სასიცოცხლო ციკლის განმავლობაში (SDLC) გადამწყვეტი მნიშვნელობისაა Agile გუნდებისთვის, რათა მათ სწრაფად აღმოაჩინონ და მოაგვარონ უსაფრთხოების პრობლემები. ზოგიერთი მიდგომა, რომელსაც Agile გუნდებს შეუძლიათ გამოიყენონ უსაფრთხოების ტესტირების ინტეგრირებისთვის თავიანთ განვითარების პროცესში, უნდა მოიცავდეს:

  1. თქვენი პროგრამული უზრუნველყოფის მიწოდების ჯაჭვის მასშტაბით საკონტროლო წერტილების მართვა მარეგულირებელი ნორმების დაცვისა და სათანადო უსაფრთხოების უზრუნველყოფისთვის გადამწყვეტი მნიშვნელობა აქვს. ორგანიზაციებმა უნდა განახორციელონ standard კონტროლის მექანიზმები, როგორიცაა იდენტობისა და წვდომის დამტკიცება, კონფიგურაციის მართვა, წვდომის შეზღუდვები, აუდიტი და უსაფრთხოების ტესტირება ამის განსახორციელებლად. ორგანიზაციებმა უნდა დააწესონ კონტროლის მექანიზმები იმის შესახებ, თუ ვის შეუძლია ცვლილებების შეტანა კოდსა და კონფიგურაციებში, შერწყმის მოთხოვნების დამტკიცება და აპლიკაციების დაუცველობის სკანირება. ასევე აუცილებელია დაცული ფილიალები და გარემო, ასევე ლიცენზირებული კოდის გამოყენება. აუდიტის დროს თქვენ უნდა გქონდეთ ხილვადობა იმის შესახებ, თუ ვინ შეცვალა რა, სად და როდის და ვინ გადახედა, დაამტკიცა და გააერთიანა ის პროგრამული უზრუნველყოფის შემუშავების მთელი სასიცოცხლო ციკლის განმავლობაში.
  2. შეადგინეთ ყველა ინსტრუმენტისა და წვდომის წერტილის ინვენტარი, რომელსაც თქვენი განვითარების გუნდი იყენებს, მათ შორის ინფრასტრუქტურა, როგორც კოდი (IaC) შაბლონები, კოდის საცავები, pipelineდა ინსტრუმენტების შექმნა. ეს ნაბიჯი კრიტიკულად მნიშვნელოვანია, რადგან თქვენ მხოლოდ იმის დაცვა შეგიძლიათ, რაც იცით. ​​როგორც კი ხელსაწყოებისა და წვდომის წერტილების ყოვლისმომცველ სიას შეადგენთ, დროა ხელახლა შეაფასოთ თქვენი წვდომის კონტროლი. პირველ რიგში, შეამოწმეთ თქვენი ყველა შესვლის წერტილი პროგრამული უზრუნველყოფის მიწოდების ჯაჭვშიმაგალითად, გაითვალისწინეთ, ვის აქვს ცვლილებების ხელმისაწვდომობა IaC შაბლონები, რადგან ეს შაბლონები შეიძლება პოტენციური შეტევის ზედაპირი იყოს. ასევე, დაასკანირეთ კონტეინერები უსაფრთხოების ხარვეზების აღმოსაჩენად და აკონტროლეთ API-ები და ორკესტრატორები უჩვეულო ქცევის აღმოსაჩენად. Standardროგორიცაა ეროვნული ინსტიტუტი Standards (NIST) და უსაფრთხო პროგრამული უზრუნველყოფის შემუშავების ჩარჩო (SSDF) დაგეხმარებათ მიიღოთ იდეები თქვენი პროგრამული უზრუნველყოფის მიწოდების ჯაჭვის უსაფრთხოების შესახებ.
  3. უსაფრთხოების ტესტირების ჩატარება ყველა სპრინტშიAgile გუნდებს შეუძლიათ უსაფრთხოების ტესტირება თავიანთ სპრინტის ციკლში ჩართონ თითოეული სპრინტის დროს რეგულარული უსაფრთხოების ტესტების ჩატარებით. ეს შეიძლება მოიცავდეს ხელით ტესტირებას, ავტომატურ ტესტირებას და კოდის მიმოხილვას. თითოეული სპრინტის დროს უსაფრთხოების ტესტირების ჩატარებით, გუნდებს შეუძლიათ შემუშავების პროცესის ადრეულ ეტაპზევე ამოიცნონ და მოაგვარონ პოტენციური უსაფრთხოების პრობლემები, რაც ამცირებს პროგრამულ უზრუნველყოფაში დაუცველობის შეტანის რისკს.
  4. გამოიყენეთ ავტომატური უსაფრთხოების სკანირებაAgile გუნდებს შეუძლიათ გამოიყენონ ავტომატური უსაფრთხოების სკანირების ინსტრუმენტები კოდის ბაზაში უსაფრთხოების პრობლემების დასადგენად. ამ ხელსაწყოებს შეუძლიათ კოდის საცავების სკანირება საიდუმლოებების ან მავნე პროგრამების მოსაძებნად, ღია კოდის ბიბლიოთეკებში დაუცველობის აღმოჩენა და ინფრასტრუქტურაში არასწორი კონფიგურაციების იდენტიფიცირება. ავტომატური უსაფრთხოების სკანირების გამოყენებით, გუნდებს შეუძლიათ სწრაფად ამოიცნონ და პრიორიტეტულად მიანიჭონ უსაფრთხოების პრობლემები გამოსწორებისთვის.
  5. უწყვეტი ინტეგრაციისა და განლაგების განხორციელება (CI/CD)Agile გუნდებს შეუძლიათ ისარგებლონ CI/CD pipelines შექმნის, ტესტირებისა და განლაგების პროცესის ავტომატიზაციისთვის. უსაფრთხოების ტესტირებისა და ავტომატური უსაფრთხოების სკანირების ინტეგრირებით CI/CD pipeline, გუნდებს შეუძლიათ უზრუნველყონ, რომ კოდის ყველა ცვლილება შემოწმდეს უსაფრთხოების დაუცველობაზე. ეს შეიძლება მოიცავდეს სტატიკურ კოდის ანალიზს, დინამიურ უსაფრთხოების ტესტირებას და დაუცველობის სკანირებას.
  6. პროგრამული უზრუნველყოფის მასალების ჩამონათვალის გენერირების ავტომატიზაცია (SBOM) გულისხმობს კოდის ბაზაში არსებული ყველა კომპონენტის სიის შექმნას. ამ პროცესის ავტომატიზაცია გამორიცხავს დროში გაწელილი ხელით შემოწმების საჭიროებას იმის უზრუნველსაყოფად, რომ თქვენს კოდში მავნე პროგრამული უზრუნველყოფა არ არის. ავტომატიზირებულია SBOM გენერაცია უზრუნველყოფს დამოკიდებულებების ხილვადობას დროებით სტრუქტურებში, მათ შორის პაკეტების მენეჯერებსა და კონტეინერებში. დეველოპერებს შეუძლიათ სწრაფად გაუმკლავდნენ გამოსწორების აქტივობებს ჩვენებით. SBOM მომხმარებლის ინტერფეისში არსებული დაუცველობები. SBOMუფრო მოსახერხებელი და ხელმისაწვდომია, ამიტომ მათი განხილვისა და დამუშავებისთვის საჭირო ინსტრუმენტების რაოდენობის მინიმიზაცია უმნიშვნელოვანესია. SBOM უსაფრთხო, ყოვლისმომცველ პლატფორმაზე ინტეგრირებას შეუძლია დაიცვას თავი სხვადასხვა შეტევებისგან, მათ შორის ისეთი შეტევებისგან, რომლებიც მიზნად ისახავს შიდა კოდს, გარე წყაროებს და შექმნის პროცესს.

     

 

დასკვნა

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

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

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

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

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

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

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