სახლის გასაღებების დამნაშავეებისთვის გადაცემა ნამდვილად არ არის საუკეთესო იდეა. თუმცა, ეს ხშირად ხდება თანამედროვე პროგრამული უზრუნველყოფის შემმუშავებელი ორგანიზაციების უმეტესობაში.
საიდუმლოებების გაჟონვის შესახებ ამ პირველ პოსტში ჩვენ გავაანალიზებთ, თუ რატომ ხდება ეს ასე ხშირად, რა შედეგები მოჰყვება ამას და რა ქმედებები უნდა განხორციელდეს პრობლემის თავიდან ასაცილებლად ან შესამსუბუქებლად და საიდუმლოებების გაჟონვის ინციდენტებთან საბრძოლველად.
ღმერთო ჩემო! ჩემი ღრუბელზე წვდომის გასაღებები საჯარო საცავში გადავიტანე
მყარი კოდირებული საიდუმლოებები DevOps ინსტრუმენტებში საწყისი კოდის ან კონფიგურაციის ფაილების შემთხვევაში, შესაძლოა, ეს საიდუმლო არაკეთილსინდისიერ ხელში აღმოჩნდეს. commitსაჯარო წყაროების საცავში ჩასმის შემთხვევაში, თქვენ ნამდვილად განწირული ხართ. თუმცა, კერძო საცავებიც კი არ არის უსაფრთხო, რადგან საიდუმლოებები ასევე ვრცელდება აპლიკაციის ბინარული ფაილების, ჟურნალების ან მოპარული წყაროს კოდის მეშვეობით.
უკან გადახედვისას, ეს შემაშფოთებელია რამდენად ხშირად გამოიწვია უბრალო უყურადღებობამ სერიოზული უსაფრთხოების დარღვევა. უბრალოდ მოძებნეთ Google-ში „AWS-ის გასაღების გაჟონვა","GitHub-ის წვდომის ტოკენის გაჟონვა„და ა.შ. ნუ მიიღებთ ამ მაგალითებს, როგორც ამა თუ იმ მომწოდებლის ფარულ რეკომენდაციებს. გამოიყენეთ თქვენი საკუთარი!“
მაგალითად, (არა)ცნობილი კოდკოვის შეტევა 2021 წლის აპრილის შეტევა შესაძლებელი იყო, რადგან Codecov Docker-ის სურათი შეიცავდა git რწმუნებათა სიგელებს, რომლებიც თავდამსხმელს საშუალებას აძლევდა მიეღო წვდომა Codecov-ის კერძო git საცავებზე და Codecov-ის bash ატვირთვის სკრიპტში დაემატებინა ერთი ხაზი კოლექციის გარემოს ცვლადებისა და git საცავის URL-ებისთვის.
შეგახსენებთ, რომ შეტევების ჯილდოს ნაწილი დამატებით სისტემებზე წვდომის მოპოვების საიდუმლოებებია და ბევრი შეტევა დიდ ინვესტიციას დებს სერთიფიკატებში, კრიპტო გასაღებებსა და ტოკენების ამოღებაში.
პრობლემა ისაა, რომ მყარი კოდირებული საიდუმლოებები ჩვეულებრივი მოვლენაა2022 წლის მარტში Lapsus$ APT-მა გაჟონა 189 გბ-მა Samsung-ის საწყისი კოდისა და სხვა მგრძნობიარე ფაილების. ანალიზმა აჩვენა, რომ ის შეიცავდა გარკვეულ ინფორმაციას 6,600 მყარი კოდირებული საიდუმლო90% შიდა სისტემებისთვის, მაგრამ 10% გარე სერვისებისა და ინსტრუმენტებისთვის, როგორიცაა GitHub, AWS ან Google. ეს საიდუმლოებები მოიცავდა AWS / Twilio / Google API გასაღებებს, მონაცემთა ბაზის კავშირის სტრიქონებს და სხვა მგრძნობიარე ინფორმაციას. ეს არის უახლესი ტექნოლოგია კოდის ბაზების უმეტესობაში.
საიდუმლო ინფორმაციის გაჟონვა მიწოდების ჯაჭვის შეტევების უმარტივესი გზაა
პაკეტებზე დამოკიდებულება ამჟამად მიწოდების ჯაჭვის თავდასხმების ყველაზე ხშირი, თუმცა არა ერთადერთი სამიზნეა. ბოროტმოქმედებს შეუძლიათ შექმნან ახალი პაკეტი, რომელიც საბოლოოდ დაინსტალირდება მსხვერპლის პროგრამულ უზრუნველყოფაში (გამოყენებით) ტიპოსქვატირება და სხვა ტექნიკა), მაგრამ, როგორც წესი, ისინი ცდილობენ არსებული პაკეტის დაინფიცირებას პროგრამული უზრუნველყოფის საცავებში საწყისი კოდის მოდიფიკაციების დამატებით (SCM), როგორიცაა GitHub, GitLab ან BitBucket, ან მავნე ვერსიების დამატებით საჯარო რეესტრებში, როგორიცაა NPM, PyPI, RubyGems, Maven Central.
მაგრამ მავნე კოდის ან რთული დამოკიდებულების გრაფში დამალული მავნე დამოკიდებულების ინექცია მოითხოვს login ისეთი სერთიფიკატები, როგორიცაა მომხმარებლის სახელი/პაროლი, ტოკენები ან წვდომის გასაღებები (მოდით, ვუწოდოთ მათ „გასაღებები"შემოკლებით", შესაბამისად, სამიზნე წყაროს საცავის ან საჯარო რეესტრის მიხედვით.
ბოროტმოქმედები ზოგჯერ გასაღებს ამ გზით იღებენ სოციალური ინჟინერია. თავდასხმა event-stream პოპულარული NPM პაკეტი კარგ მაგალითს იძლევა. თუმცა, გაჟონილი ინფორმაციის ძიება login სერთიფიკატები ან წვდომის გასაღებები პროგრამული უზრუნველყოფის მიწოდების ჯაჭვზე თავდასხმების ყველაზე გავრცელებული ტექნიკაა.
წყაროს საცავები და პაკეტების რეესტრები პროგრამული უზრუნველყოფის შექმნის ორი აუცილებელი სისტემაა. pipelineთუმცა DevOps-ში ბევრი ინსტრუმენტია: CI/CD სისტემები, ტესტების გაშვების ინსტრუმენტები, კონფიგურაციისა და უზრუნველყოფის ავტომატიზაცია ან განლაგება და გამოშვება. ყველა მათგანის ბოროტად გამოყენება შესაძლებელია პროგრამულ უზრუნველყოფაში მავნე კოდის შეყვანისთვის. ამ ინსტრუმენტებისთვის ვალიდური გასაღებების გაჟონვა პირდაპირ უბედურებასა და ტანჯვას იწვევს. წარმოიდგინეთ root წვდომის გასაღებების გაჟონვა, რომლებიც თქვენს საჯარო ღრუბლოვან რესურსებზე სრულ კონტროლს ახდენენ...
ჩვეულებრივი რეკომენდაციები
ჩვენ აქ ახალს არაფერს ვამბობთ, ეს ყველამ იცით. მაგრამ იმოქმედეთ! გახსოვდეთ, რომ ბოტები რეგულარულად ასკანირებენ ყველა საჯარო ინფორმაციას. SCM საცავები. რამდენიმე რეკომენდაცია, კონკრეტული თანმიმდევრობის გარეშე.
- თუ თქვენ გაქვთ IT უსაფრთხოების მართვაზე პასუხისმგებლობა, განსაზღვრეთ, თუ როგორ უნდა მოგვარდეს საიდუმლოებები უსაფრთხოების პოლიტიკაში. თუმცა, პოლიტიკა მხოლოდ აღსრულებაზეა ეფექტური: დარწმუნდით, რომ თქვენს ორგანიზაციაში - მათ შორის არა მხოლოდ თქვენს DevOps გუნდებში, არამედ თქვენი პროგრამული უზრუნველყოფის მომწოდებლებშიც - ამოქმედდება საიდუმლო ინფორმაციის დამუშავების სახელმძღვანელო მითითებები და რომ თქვენი ორგანიზაციის ინციდენტებზე რეაგირების გეგმა შეიცავს საიდუმლო ინფორმაციის გაჟონვის ინციდენტების შესახებ დებულებებს.
- განახორციელოს და აღასრულოს მრავალ ფაქტორს ავტორიზაცია (MFA, 2FA ან ნებისმიერი სხვა აკრონიმი). და უსაფრთხოების მხრივ არანაირი შეზღუდვა: USB უსაფრთხოების გასაღები ღირს იმ რამდენიმე დოლარად, რაც ღირს. თქვენ უნდა შეიყვანოთ თქვენი ათასობით სერთიფიკატიდან ნებისმიერი (ადვილია) და შემდეგ დათვრეთ და გასაღებები ბარში დატოვოთ თქვენზე მიბმული რაღაცით (შანსები ოდნავ ნაკლებია, განსაკუთრებით თუ არ სვამთ).
- გამოიყენეთ პაროლის მენეჯერი ძლიერი, შეუნახავი პაროლით. სისტემებში საიდუმლოებების დასამუშავებლად გამოიყენეთ საიდუმლო საცავები. CI/CD სისტემები, ღრუბლოვანი პროვაიდერები, SCMs და სხვა DevOps ინსტრუმენტები ამ სერვისს უზრუნველყოფენ, მაგრამ შეგიძლიათ აირჩიოთ Secret Vault-ის ზოგადი გადაწყვეტა.
- ამჯობინე ხანმოკლე ტოკენები ხანგრძლივი მოქმედების წვდომის გასაღებებად. მათი გაუქმება უფრო ადვილია და ბოროტებისთვის უფრო შეზღუდული ფანჯარაა ხელმისაწვდომი.
- ავტორიზაციის ხელახალი გამოყენების შეზღუდვათავდამსხმელები სამიზნე მომხმარებლისგან შეგროვებულ სერთიფიკატებს სხვა სისტემებში გამოიყენებენ, რაც პაროლის მენეჯერის გამოყენების კიდევ ერთი მნიშვნელოვანი ფაქტორია. პაროლის მენეჯერებმა და საიდუმლო საცავებმა სერთიფიკატების ხელახალი გამოყენება წარსულს უნდა ჩაბარდეს.
- შეზღუდეთ და აკონტროლეთ გამოყენება admin პაროლები. ისინი საკმარისად ძლიერია იმისთვის, რომ განსაკუთრებული თვალთვალი დაიმსახურონ.
- განახორციელოს ძლიერი ჰეშირება და დაშიფვრადავუბრუნდეთ USB (კრიპტოგრაფიულ) გასაღებებს, პარტნიორებთან და თანამშრომლებთან ავტორიზაციის მონაცემების გადაცემის მკაცრ პროცედურებს და ა.შ.
- გამოიყენეთ საიდუმლოებების სკანერი, მაგალითად, გაუშვით pre-commit Hook ვერსიის კონტროლის სისტემებში გაჟონვის თავიდან ასაცილებლად, როგორც უსაფრთხოების კარიბჭე. ნივთის წინ აქ მნიშვნელოვანია. ალტერნატიულად, გამოიყენეთ პოსტ-ჰოკ სკანირება გაჟონილი საიდუმლოებების აღმოსაჩენად, მაგალითად, შემოწმებამდე pull request შერწყმა. შენიშვნა: ჩვენი Xygeni პლატფორმა მოიცავს საიდუმლოებების სკანერს, რომელიც ორივე რეჟიმის მუშაობის საშუალებას იძლევა.
- ხელით გამოყენების ალტერნატივა კოდის მიმოხილვა მყარი კოდირებული საიდუმლოებების ძიებას უფრო მაღალი ხარჯები აქვს და შემდგომშიც მუშაობს.commit (მაგრამ იმედია, სულ მცირე, სანამ საიდუმლო გარეშე პირებისთვის ხელმისაწვდომი გახდება). თუმცა, მიმოხილვებში შესაძლოა აღმოაჩინონ არატრადიციული საიდუმლოებები, რომლებიც შესაძლოა საიდუმლო სკანერებს არ აღმოაჩნდეთ.
- შემთხვევით მოერიდეთ commitვერსიის კონტროლის საიდუმლოებებით საერთო ფაილების დაშიფვრა შესაბამისი გზით გამორიცხეთ შაბლონები (როგორც `gitignore` შაბლონი), ისეთი ფაილების გათვალისწინებით, როგორიცაა
.env,.npmrc,.pypirc, დროებითი ფაილები… უსაფრთხოების დამატებითი ფენა მართლაც. - და ბოლო ამ გრძელ სიაში: ღრუბლოვანი პროვაიდერები შეძლებისდაგვარად სკანირებენ თავიანთი გასაღებების გაჟონვას. ყოველ შემთხვევაში, ეს შეუძლია გაჟონვის შესახებ შეგატყობინებთ, როდესაც ეს მოხდა, მაგრამ უსაფრთხოება აუცილებელია ღრუბლოვანი პროვაიდერებისთვის. ეს პოსტ-hoc ფარული სკანირება დიდად გამჭვირვალე არ არის იმასთან დაკავშირებით, თუ სად და რა სიხშირით ხორციელდება სკანირება და ხშირად საჭიროებს ზუსტ დაყენებას, თუმცა, როდესაც ყველაფერი დანარჩენი ვერ ხერხდება, ეს ნამდვილად უკანასკნელი რესურსია.
ღმერთო ჩემო! ჩემი ღრუბელზე წვდომის გასაღებები საჯარო საცავში გადავიტანე, ავიღოთ #2
ეს შეიძლება ჩვენგან საუკეთესოებსაც დაემართოთ. აწიეთ სახელოები!
გაჟონილი საიდუმლოს დაუყოვნებლივ განახლება/გაუქმება/გამორთვა! თუ ანგარიშს აქვს კარგი MFA, მაშინ რისკი გაცილებით დაბალია. ეს შეიძლება უფრო რთული იყოს, მაგალითად, ვებსაიტებზე არსებული კერძო გასაღებების შემთხვევაში (თქვენ უნდა გამოსცეთ ახალი სერტიფიკატი ახალი კერძო გასაღებისთვის და გააუქმოთ არსებული), მაგრამ თანამედროვე ხელსაწყოებს აქვთ სწრაფი გზა ავტორიზაციის განახლებისთვის ან ტოკენების გასაუქმებლად.
ხელმისაწვდომობის შემთხვევაში, მიჰყევით პროვაიდერის მიერ რეკომენდებულ ნაბიჯებს, მაგალითად: AWS ამ მაგალითში.
გაჟონვის მიზეზის დადგენა. იმის ცოდნა, თუ როგორ მოხდა ეს, აუცილებელია გამჟღავნების, ანალიზის, შეკავებისა და გაკვეთილების შესწავლის აქტივობებისთვის.
შემდეგ, გაჟონვის შესახებ შეატყობინეთ დაზარალებულ მხარეებს და აუხსენით, თუ რა ქმედებებს იღებთ გაჟონვის შესავსებად და ზიანის შესამცირებლად. მიყენებული ზიანის გამოსწორების გზა არ არსებობს, გაჟონილი ფაქტი გაჟონილია. იყავით გამჭვირვალე და აცნობეთ სხვებს, რათა მათაც შეძლონ ზომების მიღება.
შემდეგ დაიწყეთ იმით, სასამართლო ექსპერტიზა. ექსპოზიციის ფანჯარა არის დრო გაჟონვასა და იმ დროს შორის, როდესაც საიდუმლო არ იყო ძალაში. მზად იყავით, წაიკითხოთ ჟურნალები და თვალყური ადევნოთ დაზარალებულ ანგარიშთან უჩვეულო აქტივობას ამ ფანჯრის განმავლობაში. წაშალეთ დაზარალებული ანგარიშის გამოყენებით გენერირებული ანგარიშები და გასაღებები. შეგახსენებთ, რომ თუ დაზარალებულ ანგარიშს აქვს ადმინისტრატორის უფლებები, გამოსწორება გაცილებით რთულია.
ისტორიის გადაწერა (ვერსიის კონტროლი) რთულია. ტოტალიტარული სახელმწიფოებიც კი ცდილობენ ამას, მაგრამ უშედეგოდ (სიტყვათა თამაში განზრახულია). და, ალბათ, უმნიშვნელოც: ჰაკერებმა ან საჯარო საცავებში არსებულმა ბოტებმა შესაძლოა საცავი კლონირებული ჰქონდეთ ან უკვე მოიპოვონ ოქრო, განსაკუთრებით თუ ექსპოზიციის ფანჯარა საკმარისად დიდია.
თუ თავგადასავლების მოყვარული ხართ და გსურთ თავად ნახოთ, რამდენი დრო სჭირდებათ ბოტებს გაჟონილი საიდუმლოს აღმოსაჩენად, Tripwires-ის მსგავსი კანარის ჟეტონები ექსპერიმენტის საშუალებას გაძლევთ. გახსოვდეთ, რომ ბოტები შავ სიაში ნაგულისხმევად canarytokens.org დომენი…
| დამატებითი ინფორმაციისთვის კოვაჩი, ე.Samsung-ის გაჟონილ საწყის კოდში ათასობით საიდუმლო გასაღები აღმოაჩინეს„უსაფრთხოების კვირეული, 2022 წლის მარტი. დიჯაკი, ა.“რამდენიმე დღის წინ ჩავატარე პატარა ექსპერიმენტი WRT საიდუმლოებების შესახებ. commitსაჯარო git საცავებში გადავიდა…". ტვიტის თემა, 2020 წლის ნოემბერი. რზეპა, პ. "AWS წვდომის გასაღებების გაჟონვა GitHub საცავში და Amazon Reaction-ის რამდენიმე გაუმჯობესება„. Medium, 2020 წლის ნოემბერი.“ |




