Software Supply Chain Security საფრთხეები წყაროს ეტაპზე

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

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

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

 აშშ-ის ეროვნული ინსტიტუტი Standardდა ტექნოლოგიები (NIST) განსაზღვრავს პროგრამული უზრუნველყოფის მიწოდების ჯაჭვის შეტევას  „როდესაც შეტევა ხდება მაშინ, როდესაც კიბერ-საფრთხის აქტორი აღწევს პროგრამული უზრუნველყოფის მომწოდებლის ქსელში და იყენებს მავნე კოდს პროგრამული უზრუნველყოფის კომპრომეტირებისთვის, სანამ მომწოდებელი მას თავის მომხმარებლებს გაუგზავნის. კომპრომეტირებული პროგრამული უზრუნველყოფა შემდეგ საფრთხეს უქმნის მომხმარებლის მონაცემებს ან სისტემას. ახლად შეძენილი პროგრამული უზრუნველყოფა შეიძლება თავიდანვე იყოს კომპრომეტირებული, ან კომპრომეტირება შეიძლება მოხდეს სხვა საშუალებებით, როგორიცაა პატჩი ან ცხელი შესწორება. ამ შემთხვევებში, კომპრომეტირება მაინც ხდება მანამ, სანამ პატჩი ან ცხელი შესწორება მოხვდება მომხმარებლის ქსელში. ამ ტიპის შეტევები გავლენას ახდენს კომპრომეტირებული პროგრამული უზრუნველყოფის ყველა მომხმარებელზე და შეიძლება ჰქონდეს ფართომასშტაბიანი შედეგები მთავრობის, კრიტიკული ინფრასტრუქტურის და კერძო სექტორის პროგრამული უზრუნველყოფის მომხმარებლებისთვის.“

წყაროს ეტაპი Software Supply Chain Security საფრთხეები

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

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

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

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

 
არასწორი კოდის გაგზავნა 

ცუდი კოდის წარდგენა ეხება პრაქტიკას commitკოდის წყაროს საცავში გადატანა, რომელიც შეიცავს დეფექტებს, შეცდომებს ან დაუცველობას. ეს შეიძლება მოიცავდეს მავნე კოდიდან, რომელიც განზრახ არის შეყვანილი პროგრამული უზრუნველყოფის მთლიანობის ან უსაფრთხოების კომპრომეტირებისთვის, უნებლიე კოდამდე, რომელიც ქმნის შეცდომებს ან დაუცველობას ცუდი კოდირების პრაქტიკის ან ტესტირების ნაკლებობის გამო. ამ ვექტორული შეტევის მაგალითი იყო NPM-ის შეტევა. 2022 წელს, ჰაკერმა შეაღწია პოპულარული ღია კოდის პროგრამული უზრუნველყოფის ბიბლიოთეკის, npm-ის, საწყისი კოდის საცავში. ჰაკერმა ბიბლიოთეკის კოდში ჩასვა მავნე კოდი, რამაც მას საშუალება მისცა არაავტორიზებული წვდომა მოეპოვებინა იმ ორგანიზაციების სისტემებზე, რომლებმაც დააინსტალირეს ბიბლიოთეკა. მავნე კოდმა ჰაკერს საშუალება მისცა, მოეპარა მონაცემები დაზარალებული სისტემებიდან, დაეყენებინა მავნე პროგრამები და ჩაეშალა ოპერაციები. შეტევამ გავლენა მოახდინა ორგანიზაციების ფართო სპექტრზე, მათ შორის სამთავრობო უწყებებზე, ბიზნესებსა და ფიზიკურ პირებზე.

წყაროს საცავის კომპრომეტირება

მოწინააღმდეგე იღებს არაავტორიზებული წვდომას საწყისი კოდის საცავზე (SCM) და შეაქვს მავნე ცვლილებები ან შლის ლეგიტიმურ კოდს. ამის მიღწევა შესაძლებელია სხვადასხვა მეთოდით, მაგალითად, დაუცველობების გამოყენებით SCM, საცავზე წვდომის მქონე დეველოპერის ავტორიზაციის კომპრომეტირება ან საცავში არსებულ ინფრასტრუქტურაზე წვდომის მოპოვება SCMამ ვექტორული შეტევის მაგალითი იყო PHP შეტევა.  თავდამსხმელმა PHP-ის თვითჰოსტირებული Git სერვერი დააზიანა, რომელიც PHP პროგრამირების ენის საწყისი კოდის შენახვისა და მართვის უსაფრთხო საცავია. თავდამსხმელმა ორი მავნე პროგრამის შეყვანა შეძლო. commitPHP-ის მთავარ კოდის ბაზაში. ესენი commits-მა დაამატა უკანა კარები, რომლებიც თავდამსხმელს საშუალებას აძლევდა არაავტორიზებული წვდომის მოპოვებას PHP ინსტალაციებზე. უკანა კარები თავდამსხმელს საშუალებას აძლევდა შეესრულებინა თვითნებური კოდი ნებისმიერ PHP ინსტალაციაზე, რომლის გამოყენებაც შეიძლებოდა მონაცემების მოსაპარად, მავნე პროგრამების დასაინსტალირებლად ან ოპერაციების ჩასაშლელად. შეტევამ ასევე დიდი ზიანი მიაყენა PHP-ს რეპუტაციას, რადგან მან შეშფოთება გამოიწვია პროგრამირების ენის უსაფრთხოებასთან დაკავშირებით.

შეცვლილი წყაროდან შექმნა

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

დაუცველი კოდის დაწერა

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

კრიტიკული ფაილების გაყალბება

პროგრამული უზრუნველყოფის შემუშავების სასიცოცხლო ციკლში კრიტიკული ფაილების შეცვლას ან მოდიფიცირებას შეიძლება სერიოზული შედეგები მოჰყვეს, მათ შორის მავნე კოდის შეყვანას, მგრძნობიარე მონაცემების კომპრომეტირებას და პროგრამული უზრუნველყოფის ოპერაციების შეფერხებას. ამ ვექტორული შეტევის მაგალითი იყო მავენის შეტევა. 2020 წელს ჰაკერებმა შეაღწიეს პოპულარული ღია კოდის პროგრამული უზრუნველყოფის ბიბლიოთეკის, Maven-ის, საწყისი კოდის საცავში. ჰაკერებმა მავნე კოდი ჩასვეს ბიბლიოთეკის pom.xml ფაილში, რომელიც გამოიყენება შექმნის პროცესის კონფიგურაციისთვის. მავნე კოდი ჰაკერებს საშუალებას აძლევდა, თავიანთი დამოკიდებულებები შეეტანათ შექმნის პროცესში, რომლებიც შემდეგ შედგებოდა კომპილირებულ პროგრამულ უზრუნველყოფაში. ეს დამოკიდებულებები შეიცავდა უკანა კარებს, რაც ჰაკერებს საშუალებას აძლევდა არაავტორიზებული წვდომა მიეღოთ იმ ორგანიზაციების სისტემებზე, რომლებმაც დააინსტალირეს პროგრამული უზრუნველყოფა.

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

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

დასკვნითი შენიშვნა

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

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

გსურთ, რომ ტენდენციებს წინ უსწრებდეთ software supply chain security?

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

არ გამოტოვოთ! გამოიწერეთ ჩვენი ბლოგი დღესვე და იყავით პირველი, ვინც გაიგებს ჩვენს უახლეს ინფორმაციას software supply chain security.

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

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

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

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