Дыра 9,8 из 10: как подменить код прямо перед релизом
Обновление, которое ставят в последнюю очередь — сервер сборки. А зря: через такую дыру можно незаметно подменить код прямо перед выпуском, и об этом никто не узнает, пока не рванёт.
На аудите в студии разработки, которая делает и сопровождает продукт для нескольких десятков клиентов, я проверял именно этот сервер — там собирается и публикуется код перед каждым выпуском. Версия системы не обновлялась почти два года, при этом сервер спокойно торчал наружу, в интернет, без ограничения доступа.
Уязвимость такого класса позволяет зайти на сервер без пароля и подменить то, что уходит в релиз — то есть встроить в программу что угодно, а разработчики узнают об этом последними, если вообще узнают.
Если бы этим воспользовались, под ударом оказались бы все 40+ клиентов на сопровождении — это больше 4 млн рублей контрактов в год, не считая репутации и разрыва отношений с теми, кто узнает о взломе первыми.
Что сделал за два дня:
1. Обновил систему сборки до защищённой версии. 2. Закрыл внешний доступ — оставил только через VPN. 3. Настроил автоматическую проверку обновлений с уведомлением руководителю в мессенджер.
Стоило это в разы дешевле, чем один потерянный клиент, а тем более все сорок.
А у вас кто-нибудь проверял, когда последний раз обновлялся сервер сборки?