какво е атака „човек по средата“

Атака „човек по средата“ в DevOps: Колко несигурна е тя PipelineДа бъдеш отвлечен

Какво представлява атаката „човек по средата“ и как е насочена към нея Pipelines

Ако питате какво е атака „човек по средата“ в DevOps, това не е просто обща техника за мрежово „снифване“. Това е целенасочена... начин да компрометирате CI/CD pipelines чрез прихващане и манипулиране на данни по време на пренос, зависимости, скриптове или артефакти, когато криптирането е слабо или липсва.

Да вземем сценарий от реалния свят: CI runner извлича зависимости от хранилище на трета страна, използвайки HTTP. Ако TLS е неправилно конфигуриран или, още по-лошо, липсва, атакуващите могат да прехванат тази заявка и да инжектират злонамерени пакети, които изглеждат легитимни. В бързо развиващите се pipelineтези артефакти може да бъдат построени и разположени, преди някой да забележи. Това е учебникарска атака „човек по средата“, но с CI/CD последствия.

Атаката не е необходимо да нарушава криптирането; тя използва слаби конфигурации. Представете си контейнерна конструкция, която изтегля базово изображение или скрипт от вътрешно хранилище без удостоверяване. Това е възможност за MITM, ако вътрешният трафик не е криптиран или сегментиран. Ако все още не сте наясно какво е атака „човек по средата“, помислете за нея като за невидим актьор, който тихо променя това, което вие... pipeline консумира, без да оставя видими следи.

Където Pipeline Прекъсвания: Реални MITM входни точки в CI/CD

Има множество слаби места, където атака „човек по средата“ може да поеме контрола над DevOps потоците:

  • Извличане на пакети през HTTPЧесто срещано при наследени компилации или самостоятелно хоствани регистри. Ако изтегляте Python пакети, NPM модули или Докер изображения Без HTTPS сте изложени на риск.
  • Непроверени източници: PipelineЧесто използват инструменти на общността или с отворен код, без да проверяват целостта им. MITM атакуващите могат да променят тези изтегляния.
  • Хранилища за артефакти без удостоверяванеS3 контейнери, Git LFS сървъри или вътрешни хранилища за артефакти, достъпни през обикновен HTTP, са лесни мишени.
  • Несигурни вътрешни услугиМного вътрешни CI/CD Инструментите (runners, агенти, скриптове за внедряване) предполагат сигурност на мрежовия периметър. MITM може да използва това предположение.

Пример:

dependencies: - wget http://internal.repo.local/package.tar.gz 

⚠️ Несигурен пример: не използвайте в продукция

Ако този трафик бъде прихванат, нападателят просто трябва да обслужи манипулиран .tar.gz с полезен товар. Това се разопакова и изпълнява по време на етапа на изграждане. Това е предварителноcisКакво прави атаката „човек по средата“ в съвременния свят? pipelines: възползва се от предположенията за доверие.

Злонамерени компилации: Инжектиране на код по време на изпълнение и компилация

Атаките от типа „човек по средата“ надхвърлят прихващането; те водят до инжектиране на код. След като злонамерена зависимост или артефакт попадне в pipeline, атакуващият контролира компилацията.

  • Инжектиране по време на изгражданеКомпилаторите или скриптовете за изграждане, изпълняващи непроверени зависимости, могат да включват троянски код. Представете си обфуциран ред в Makefile, който се изпълнява с повишени права.
  • Инжектиране по време на изпълнениеПроменливите на средата или тайните, изложени в обикновен текст, могат да бъдат заснети и използвани повторно. Ако вашият runner регистрира експортиране на AWS_SECRET_KEY=…, имаш теч, който чака да се случи.
  • Динамична манипулация на стъпкиCI, дефинирана от YAML pipelineЧесто разчитат на curl/wget за извличане на динамични скриптове. Ако те са незащитени, MITM атакуващите могат да ги заменят в движение.
curl http://setup.ci/init.sh | bash # Dangerous without TLS and verification 

⚠️ Несигурен пример: не използвайте в продукция

Познаването на това какво представлява атаката „човек по средата“ улеснява разбирането как се случват тези инжекции: нападателят става част от процеса на доставка, инжектирайки злонамерени инструкции без директен достъп до вашия изходен код.

Осигуряване на DevOps PipelineСрещу рисковете от атака „човек по средата“

Не можете да елиминирате заплахите от атака „човек по средата“, но можете да направите pipelineе значително по-трудно да се направи компромис.

Предвидени стъпки:

  • Винаги прилагайте TLSВсеки артефакт, зависимост и скрипт трябва да бъдат извлечени през HTTPS.
  • Проверка на контролни суми/хешовеИзползвайте SHA256 или по-силни дайджести и валидирайте преди изпълнение.
  • Подписване и проверка на артефактиИзползвайте Sigstore или in-toto, за да осигурите произход.
  • Сигурни CI бегачиИзолирайте среди, избягвайте споделени изпълняващи програми и деактивирайте достъпа до обвивката, където е възможно.
  • Изолирайте тайниВмъквайте тайни само в стъпки, които се нуждаят от тях. Никога не ги отпечатвайте или съхранявайте в лог файлове.

стъпки:

- name: Fetch run: | curl -fsSL https://secure-repo.com/tool.sh -o tool.sh echo "<sha256> tool.sh" | sha256sum -c -  

✅ Проверява целостта на скрипта преди изпълнение

Това са мерките за засилване на защитата, които правят атаката „човек по средата“ теоретичен въпрос, а не производствен инцидент.

Защо това е важно: Въздействие върху веригата за доставки и увеличаване на риска

Атака от типа „човек по средата“ в CI/CD pipeline не е само местен проблем; то покварява целия ви верига за доставки на софтуер. Всеки потребител на вашата конструкция е изложен на риск.

Когато злонамерен артефакт попадне в компилация, той се разпространява надолу по веригата:

  • Компрометираните контейнери отиват в производство.
  • Отровените библиотеки се публикуват в публични регистри.
  • Клиентите инсталират софтуер със задна врата.

Този вид усилване е причината атаките срещу веригата за доставки да са толкова разрушителни. MITM често е първата стъпка, а не крайната цел. Ако сте се питали какво е атака „човек по средата“, сега знаете: това е отправна точка за компрометиране на цялата верига.

Заключение: Изместване наляво на Pipeline Security

Атаката „човек по средата“ в DevOps не е за пасивно слушане, а за активно отвличане на несигурни потоци във вашата CI/CD. Неправилно конфигуриран TLS, неавтентични източници и непроверени артефакти отварят вратата. Разработчиците трябва да се справят pipelineкато производствения код: тестван, валидиран и защитен. Това означава, че няма неавтентични изтегляния, няма HTTP-базирани източници и няма динамично изпълнение без проверка.

Инструменти като Ксигени да помогнат на екипите да закалят pipelineчрез откриване на слаби места, проверка на целостта на артефактите и улавяне на промяна на зависимостите, преди тя да се разпространи. Преместването наляво не е по избор; това е начинът, по който изпреварвате реалните заплахи за AppSec. Разбирането какво представлява атаката „човек по средата“ не е достатъчно. Трябва да я откриете, предотвратите и да спрете да я третирате. pipeline като гражданин втора класа във вашия модел на сигурност.

инструменти за анализ на състава на софтуера SCA Tools
Приоритизирайте, отстранете и защитете софтуерните си рискове
Вземете своя безплатен акаунт.
Не е необходима кредитна карта.

Осигурете си разработка и доставка на софтуер

с продуктовия пакет Xygeni