რა არის შუაში მყოფი ადამიანის შეტევა

DevOps-ში შუამავალი ადამიანის შეტევა: რამდენად დაუცველია Pipelines გაიტაცეს

სარჩევი

აუცილებლად წასაკითხი პოსტები

საინტერესო უახლესი პოსტები

რა არის შუაში მყოფი ადამიანის შეტევა და როგორ არის ის მიზნობრივი Pipelines

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

ავიღოთ რეალური სცენარი: CI მორბენალი HTTP-ის გამოყენებით მესამე მხარის საცავიდან იღებს დამოკიდებულებებს. თუ TLS არასწორად არის კონფიგურირებული, ან უარესი, არ არსებობს, თავდამსხმელებს შეუძლიათ ამ მოთხოვნის ჩაჭრა და ლეგიტიმურად მოჩვენებითი მავნე პაკეტების შეყვანა. სწრაფად მოძრავი პროცესების დროს pipelineს, ეს არტეფაქტები შეიძლება აშენდეს და განლაგდეს მანამ, სანამ ვინმე შეამჩნევს. ეს არის სახელმძღვანელოს ტიპის შუამავალი თავდასხმა, მაგრამ CI/CD შედეგები.

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

Სად არის Pipeline შესვენებები: რეალური MITM შესვლის წერტილები CI/CD

არსებობს რამდენიმე სუსტი წერტილი, სადაც შუამავლის შეტევას შეუძლია DevOps ნაკადების ხელში ჩაგდება:

  • პაკეტების HTTP-ის საშუალებით მოძიება: გავრცელებულია მემკვიდრეობით მიღებულ ვერსიებში ან თვითჰოსტირებულ რეესტრებში. თუ თქვენ იღებთ Python-ის პაკეტები, NPM მოდულები, ან დოკერის სურათები HTTPS-ის გარეშე, თქვენ დაუცველი ხართ.
  • დაუდასტურებელი წყაროები: Pipelineხშირად მოიხმარენ საზოგადოების ან ღია კოდის ინსტრუმენტებს მთლიანობის დადასტურების გარეშე. MITM თავდამსხმელებს შეუძლიათ ამ ჩამოტვირთვების გაყალბება.
  • არტეფაქტების საცავები ავტორიზაციის გარეშეS3 ბაკეტები, Git LFS სერვერები ან შიდა არტეფაქტების საცავები, რომლებზეც წვდომა უბრალო HTTP-ით არის შესაძლებელი, მარტივი სამიზნეებია.
  • დაუცველი შიდა სერვისებიბევრი შიდა CI/CD ინსტრუმენტები (რანერები, აგენტები, განლაგების სკრიპტები) ქსელის პერიმეტრის უსაფრთხოებას ვარაუდობენ. MITM-ს შეუძლია ამ ვარაუდის გამოყენება.

მაგალითი:

⚠️ დაუცველობის მაგალითი: არ გამოიყენოთ წარმოებაში

თუ ეს ტრაფიკი შეჩერდება, თავდამსხმელს მხოლოდ მანიპულირებული სიგნალის მიწოდება სჭირდება. .tar.gz დატვირთვით. ეს იხსნება და სრულდება შექმნის ეტაპზე. ეს წინასწარ არისcisრას აკეთებს თანამედროვე სამყაროში შუაში მყოფი ადამიანის შეტევა? pipelines: ის იყენებს ნდობის ვარაუდებს.

მავნე ბილდები: კოდის ინექცია გაშვების და ბილდის დროს

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

  • აწყობის დროის ინექციაკომპილატორები ან აწყობის სკრიპტები, რომლებიც ამუშავებენ დაუდასტურებელ დამოკიდებულებებს, შეიძლება შეიცავდეს ტროიანულ კოდს. წარმოიდგინეთ Makefile-ში დაბინდული ხაზი, რომელიც სრულდება გაზრდილი ნებართვებით.
  • გაშვების დროს ინექცია: გარემოს ცვლადები ან საიდუმლოებები, რომლებიც გამოქვეყნებულია უბრალო ტექსტში, შეიძლება აღიბეჭდოს და ხელახლა იქნას გამოყენებული. თუ თქვენი მორბენალი ჟურნალები ექსპორტი AWS_SECRET_KEY=…, გაჟონვა გელოდებათ.
  • დინამიური ნაბიჯების მანიპულირება: YAML-ის მიერ განსაზღვრული CI pipelineდინამიური სკრიპტების მისაღებად ხშირად curl/wget-ს იყენებენ. თუ ისინი დაუცველია, MITM თავდამსხმელებს შეუძლიათ მათი მომენტალურად ჩანაცვლება.

⚠️ დაუცველობის მაგალითი: არ გამოიყენოთ წარმოებაში

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

DevOps-ის უსაფრთხოება Pipelineშუაში მყოფი ადამიანის შეტევის რისკების წინააღმდეგ

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

ქმედითი ნაბიჯები:

  • TLS-ის ყოველთვის აღსრულებაყველა არტეფაქტი, დამოკიდებულება და სკრიპტი უნდა იქნას მოძიებული HTTPS-ის საშუალებით.
  • ჩეკსუმების/ჰეშების დადასტურებაგამოიყენეთ SHA256 ან უფრო ძლიერი დაიჯესტები და შესრულებამდე დაადასტურეთ.
  • არტეფაქტების ხელმოწერა და დადასტურებაწარმომავლობის დასადასტურებლად გამოიყენეთ Sigstore ან in-toto.
  • უსაფრთხო CI მორბენლებიიზოლირებული გარემო, მოერიდეთ საერთო მორბენლებს და, სადაც შესაძლებელია, გამორთეთ shell-ზე წვდომა.
  • იზოლირებული საიდუმლოებებისაიდუმლოებები მხოლოდ იმ ნაბიჯებში შეიყვანეთ, რომლებიც მათ სჭირდებათ. არასოდეს დაბეჭდოთ ისინი და არ შეინახოთ ჟურნალებში.

ნაბიჯები:

✅ შესრულებამდე ამოწმებს სკრიპტის მთლიანობას

ეს არის გამკაცრების ზომები, რომლებიც „ადამიანი შუაში“ შეტევას თეორიულ საკითხად აქცევს და არა საწარმოო ინციდენტად.

რატომ არის ეს მნიშვნელოვანი: მიწოდების ჯაჭვზე გავლენა და რისკის გაძლიერება

შუაში მყოფი ადამიანის თავდასხმა CI/CD pipeline ეს მხოლოდ ადგილობრივი პრობლემა არ არის; ის მთლიანად თქვენს პროგრამული უზრუნველყოფის მიწოდების ჯაჭვი. თქვენი შენობის ყველა მომხმარებელი რისკის ქვეშაა.

როდესაც მავნე არტეფაქტი შედის ბილდში, ის ნაწილდება ქვემოთ:

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

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

დასკვნა: მარცხნივ გადახრა Pipeline Security

DevOps-ში შუამავალი ადამიანის შეტევა არ ეხება პასიურ მოსმენას; ეს ეხება თქვენს სისტემაში არსებული დაუცველი ნაკადების აქტიურ მითვისებას. CI/CD. არასწორად კონფიგურირებული TLS, დაუდასტურებელი წყაროები და დაუდასტურებელი არტეფაქტები კარს აღებს. დეველოპერებს მკურნალობა სჭირდებათ pipelineწარმოების კოდის მსგავსი: შემოწმებული, დამოწმებული და დაცული. ეს ნიშნავს, რომ არ მოხდება არაავტორიზებული ჩამოტვირთვები, HTTP-ზე დაფუძნებული წყაროები და ვერიფიკაციის გარეშე დინამიური შესრულება.

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

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

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

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