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

შეტევები შეეხო პაკეტებს, რომელთაგან ერთ-ერთს კვირაში ~2.8 მილიონი ჩამოტვირთვა აქვს.
ეს კვირა ღია კოდის პროგრამულ უზრუნველყოფაზე მიმართული მიწოდების ჯაჭვის შეტევებით იყო დატვირთული. დეველოპერების რამდენიმე ანგარიშის წარმატებით გატეხვის შედეგად, მავნე პაკეტები არაფრისმთქმელ მომხმარებლებს მიეწოდათ.
უსაფრთხოების ფირმა Socket-ის თანახმად, უახლესი სამიზნე npm რეპოზიტორიუმზე არსებული JavaScript კოდი გახდა. გლობალური ტალანტების სააგენტო Toptal-ის კუთვნილი npm გვერდიდან ხელმისაწვდომი, სულ 10 პაკეტი შეიცავდა მავნე პროგრამას და ის დაახლოებით 5,000-მა მომხმარებელმა ჩამოტვირთა, სანამ შეტევა გამოვლინდებოდა. პაკეტები მას შემდეგ წაიშალა. ეს ბოლო ერთ კვირაში npm-ზე განხორციელებული მესამე ასეთი შეტევა იყო.
„ჭის მოწამვლა“
ჰაკერებმა შეტევა Toptal-ის GitHub Organization-ის კომპრომეტირებით განახორციელეს და იქიდან მიღებული წვდომა npm-ზე მავნე პაკეტების გამოსაქვეყნებლად გამოიყენეს.
პაკეტებში ჩანერგილ მავნე კოდს ორი ეტაპი ჰქონდა. პირველ რიგში, კოდი იღებდა სამიზნის GitHub-ის ავთენტიფიკაციის ტოკენს და აგზავნიდა თავდამსხმელის მიერ კონტროლირებად ენდფოინთზე. ეს ტოკენები თავდამსხმელებს სამიზნის GitHub რეპოზიტორიუმებზე მუდმივ წვდომას აძლევდა.
ავტორიზაციის მონაცემების მოპარვის შემდეგ, მავნე კოდი სამიზნე მოწყობილობის მთელი ფაილური სისტემის წაშლას ცდილობდა. სკრიპტი შეიცავდა ბრძანებებს როგორც Unix-ის მსგავსი, ისე Windows-ის ოპერაციული სისტემების ფაილური სისტემების გასანადგურებლად. გამოყენებული Unix ბრძანება იყო:
sudo rm -rf --no-preserve-root /
--no-preserve-root
დროშა სპეციალურად შექმნილია იმ უსაფრთხოების მექანიზმების გვერდის ავლისთვის, რომლებიც, ჩვეულებრივ, ძირეული დირექტორიის წაშლას აღკვეთდა.
სხვა ბოლოდროინდელი შეტევები
-
სათვალთვალო პროგრამა: ოთხშაბათს, Socket-მა კიდევ ერთი ანგარიში გამოაქვეყნა npm-სა და PyPI-ზე განხორციელებული შეტევების შესახებ. ოთხი პაკეტი, რომლებიც ერთობლივად 56,000-ზე მეტჯერ ჩამოიტვირთა, დეველოპერის გარემოში ფარულად აყენებდა სათვალთვალო ფუნქციონალს, რომელიც იწერდა კლავიატურაზე აკრეფილ სიმბოლოებს, იღებდა ეკრანის სურათებს, წვდომას იღებდა ვებკამერაზე და იპარავდა ავტორიზაციის მონაცემებს.
-
ფიშინგ შეტევა: გასულ პარასკევს, Socket-მა მესამე შეტევის შესახებ განაცხადა. ამ შემთხვევაში, თავდამსხმელებმა npm-ის დეველოპერის ავტორიზაციის ტოკენი მიზანმიმართული ფიშინგ შეტევის საშუალებით მოიპარეს. იმეილი შეიცავდა ბმულს
npnjs.com
-ზე, რომელიც ოფიციალურიnpmjs.com
დომეინის ტიპოსქვოთინგ-ვერსია იყო. -
is
პაკეტის კომპრომეტირება: ასევე კომპრომეტირებული აღმოჩნდა npm-ის პაკეტი, სახელადis
, რომელსაც კვირაში დაახლოებით 2.8 მილიონი ჩამოტვირთვა აქვს.
ფართო ზიანის პოტენციალი და დაცვის გზები
მიწოდების ჯაჭვის შეტევები განსაკუთრებით საშიშია, რადგან რეპოზიტორიუმებში არსებული ბევრი პაკეტი დამოკიდებულებაა (dependencies), რაც იმას ნიშნავს, რომ სხვა პაკეტები მათ გამართულად მუშაობისთვის იყენებენ. ხშირად, დამოკიდებულებების ახალი ვერსიები ავტომატურად ინტეგრირდება, რაც მავნე კოდის ფართოდ გავრცელებას უწყობს ხელს.
მავნე პაკეტების სია: @toptal/picasso-tailwind
, @toptal/picasso-charts
, @toptal/picasso-shared
, @toptal/picasso-provider
, @toptal/picasso-select
, @toptal/picasso-quote
, @toptal/picasso-forms
, @xene/core
, @toptal/picasso-utils
, @toptal/picasso-typography
, is
(ვერსიები 3.3.1, 5.0.0), got-fetch
(ვერსიები 5.1.11, 5.1.12), Eslint-config-prettier
(ვერსიები 8.10.1, 9.1.1, 10.1.6, 10.1.7), Eslint-plugin-prettier
(ვერსიები 4.2.2, 4.2.3), Synckit
(ვერსია 0.11.9), @pkgr/core
(ვერსია 0.2.8), Napi-postinstall
(ვერსია 0.3.1).
დეველოპერებმა, რომლებიც ღია კოდის პაკეტებთან მუშაობენ, უნდა:
-
დააკვირდნენ რეპოზიტორიუმის ხილვადობის ცვლილებებს საეჭვო პუბლიკაციების აღმოსაჩენად.
-
შეამოწმონ
package.json
-ის სკრიპტები დამოკიდებულებების დაყენებამდე. -
გამოიყენონ უსაფრთხოების ავტომატური სკანირება CI/CD პროცესებში.
-
რეგულარულად შეცვალონ ავთენტიფიკაციის ტოკენები.
-
გამოიყენონ მრავალფაქტორიანი ავთენტიფიკაცია (MFA) რეპოზიტორიუმის ანგარიშების დასაცავად.
ITNEWS-ის მეგობარი ვებ-გვერდია ITJOBS.GE. ITJOBS.GE-ზე ორგანიზაციებს და ფიზიკურ პირებს, აქვთ საშუალება განათავსონ როგორც ვაკანსები, ტრენინგები და ივენთები ასევე კონკრეტული Tech დავალებები, რისთვისაც ეძებენ დეველოპერებს, დიზაინერებს, სეო სპეციალისტებს და ა.შ. ITJOBS.GE - იპოვე დასაქმების საუკეთესო შესაძლებლობები ან გამოაქვეყნე ვაკანსია / დავალება და მიაწვდინე ხმა სასურველ აუდიტორიას.
გაზიარება
როგორია თქვენი რეაქცია?






