Повезло: как хакеры нашли уязвимость "Дія City" и почему не стали ее взламывать
Эксперты по кибербезопасности рассказали, почему Минцифре стоит хорошо защищать от хакерских атак любой свой продукт, даже такой незначительный, как сайт презентации "Дія City".
В конце марта издание, освещающие события украинского ИТ-рынка, получило анонимное сообщение о том, что репозитории сайта, анонсировавшего презентацию приложения "Дія City", находились в открытом доступе. Проверив информацию, айтишники убедились, что это именно так, а после уведомили Министерство цифровой трансформации Украины о баге. В итоге, уязвимость устранили. Однако вопросы к диджитализаторам государства остались. Фокус разбирался вместе с экспертами, как так вышло, что двери в хранилище данных в были распахнуты настежь в течение нескольких дней, как могли бы воспользоваться хакеры данной уязвимостью и возможно ли повторение аналогичной ситуации?
Обычная безалаберность
Уязвимость подобного рода — явление довольно частое. Как объяснил Фокусу эксперт по кибербезопасности Андрей Баранович, такое случается сплошь и рядом. Программисты, работающие над сайтом dc.diia.gov.ua, просто забыли закрыть доступ к так называемой .git папке. (Тут следует пояснить: Git — система контроля версий, с помощью которой программисты отслеживают все изменения, внесенные в программу. Это самая обычная и распространенная практика.) Также программисты, создавая новую версию сайта, забыли скрыть логин и пароль к каталогу со служебной информацией, в котором, кроме прочего, указано состояние репозитория (хранилища данных). Именно это и обнаружил "добрый самаритянин", о чем уведомил СМИ и Минцифры.
"Я не знаю, каков уровень экспертизы программистов, нанимаемых Минцифрой, потому что нет в открытом доступе технической документации, нет доступа к исходному коду приложения "Дія", хотя они и созданы за бюджетные средства… Но что можно сказать определенно: администраторы и безопасники не обладают достаточными знаниями и достаточным опытом. А если и обладают, тогда была допущена вопиющая халатность, из-за чего служебные файлы попали в онлайн", — прокомментировал Андрей.
Последствия бага — теория и практика
Оценить степень рисков в случае с утечкой логина и пароля от .git папки сайта dc.diia.gov.ua довольно сложно, ведь возможность взлома зависит от многих факторов. И в рассматриваемом случае существенных проблем не возникло, но только потому, что люди, обнаружившие баг, не воспользовались паролем от .git папки и не открывали ее. Ведь одно дело обнаружить слитый пароль, а другое дело — им воспользоваться. Это уже статья уголовного кодекса.
Однако, теоретически, нанести вред даже посредством взлома одностраничного dc.diia.gov.ua можно. Сайт анонсировал презентацию "Дія City", и данное событие привлекло внимание многих людей. Запустив троян, можно было бы заражать вирусом всех, кто заходил на данную страничку. А можно было бы и покопаться в .git папке, чтобы понять, как устроена архитектура проекта и взломать всю систему — такое случалось с другими продуктами, уверяет эксперт. Но могло бы случиться так, что взломщик остался бы с носом — это тоже реально. Например, как это было с e-construction.gov.ua. Фокус сообщал, что несколько недель назад там была обнаружена подобная ошибка — "потек" пароль от файлового сервера. Однако благодаря тому, что к серверу нельзя было подключиться из Интернета, кража данных была бы невозможной.
"И все же само наличие таких ошибок говорит о том, что кибербезопасность продукта находится на очень низком уровне. Чтобы устранить ошибку такого рода, не нужно нанимать команду экспертов, даже автоматический сканер уязвимостей, предупредил бы о проблеме программистов. Но и этого не было сделано", — комментирует ситуацию Андрей Баранович.
Скорость реакции на нуле
В данной ситуации есть и еще один немаловажный промах — скорость реакции секьюрити-службы на сообщение об опасности. О баге стало известно 30 марта 2021 года, в этот же день о нем уведомили секьюрити-службу. Но баг был устранен только 2 апреля, а официальный комментарий правительственной команды реагирования на компьютерные чрезвычайные события Украины CERT UA был опубликован вечером 5 апреля. То есть, если бы утечку обнаружили злоумышленники, они имели бы достаточно времени, чтобы воспользоваться паролем, лежащим в открытом доступе, и непонятно чем бы вообще дело кончилось.
"Мне кажется, что господин Федоров по-прежнему считает роль кибербезопасности слегка преувеличенной. Я считаю, что для багбаунти "Дія", которое проводилось в декабре 2020 года, использовалась урезанная версия, а не копия реальной работающей системы. Потому что если бы проверяли работающую систему, то все эти "потекшие" файлы моментально бы нашлись еще тогда", — рассуждает Баранович.
Однако в Минцифры считают, что "ни о каком взломе речи не идет". На официальный запрос Фокуса о том, как в министерстве оценивают данную уязвимость, были ли обнаружены и исправлены подобные ошибки в других проектах, поступил ответ:
"Информация, которая была в открытом доступе, не является тайной и не содержит конфиденциальных составляющих. Это не информация из приложения "Дія", а только лендинг-пейдж мероприятия касательно презентации особого правового режима для IT-отрасли, "Дія City", который состоялся 5 апреля. Подчеркиваем: "Дія City" и "Дія" — это совершенно разные проекты. "Дія City" — это не программный продукт, а специальный правовой режим.
То есть, речь не идет о каких-либо закрытых или критических данных. Впрочем, ошибки действительно случаются и в рабочем режиме исправляются. Даже если это небольшие ошибки, мы очень благодарны активистам, которые находят их и сообщают об этом министерству. Конечно, с сотрудниками, которые допускают даже незначительные ошибки, проводится отдельная работа, и этот случай не был исключением".
Иностранный опыт
Как мы уже говорили ранее, подобного рода ошибки — не редкость. Андрей Баранович рассказал о крупном волонтерском проекте, в ходе которого эксперты по кибербезопасности провели масштабную проверку в Сети и отследили массу потекших .git файлов, что могло бы привести к взлому проектов. Однако волонтеры успели вовремя предупредить всех владельцев продуктов о данной уязвимости.
Вполне возможно, что благодаря подобному багу был взломан SolarWinds. Известно, что в исходном коде программисты забыли убрать логин и пароль от файлового сервера. Однако пока точно не установлено, является ли именно эта уязвимость причиной взлома.
В чем проблема с кибербезопасностью?
В интервью Фокусу министр цифровой трансформации Михаил Федоров заявлял, что вопросами кибербезопасности будет заниматься непосредственно министерство. Ранее это было в компетенции Госспецсвязи. На вопрос о том, почему произведена такая перестановка сил, министр ответил, что Госспецсвязи должна заниматься связью. Логично. Однако эксперты полагают, что Минцифры и другим госорганам не хватает организованности и структурности.
"Я общался с представителями разных служб. И я считаю, что ни киберполиция, ни Госспецсвязь, ни СБУ, ни СНБО не имеют четкого понимания, какого результата в сфере обеспечения кибербезопасности они хотят достичь и каким образом они собираются его достигать. Я вижу, что ведется какая-то деятельность — иногда полезная, иногда не очень, но системной ее не назовешь", — констатирует Андрей Баранович.
Прежде чем заниматься кибербезопасностью "государства в смартфоне", министерству стоило бы создать команду из экспертов для аудита его собственных продуктов, чтобы быть уверенными в их защищенности и чтобы убедить в этом граждан. Также не мешало бы разработать политику поиска и разглашения уязвимостей на точных копиях работающих систем, а не на урезанном кусочке, как было в ходе багбаунти.