Исходники тысяч сайтов рунета оказались в открытом доступе
Более десятка сайтов, входящих в топ самых посещаемых ресурсов русскоязычного интернета, на сегодняшний день имеют повышенный уровень уязвимости, благодаря чему знающие люди могут легко получить доступ к исходным кодам проектов. Помимо этого, почти три тысячи сайтов имеют ошибку конфигурации, возникшую много лет назад.
Стоит отметить, что ранее системы контроля версий активно применялись только для исследования крупных интернет-проектов, что позволяло решать проблемы их совместной разработки. Однако со временем действующие приоритеты несколько сменили свое направление, а разработчики стали применять VCS в том числе и не по прямому назначению. Далее появился GitHub, на который спустя два года перешли практически все разработчики.
Фактически неизменным осталось только одно – отношение к вопросам безопасности. Даже сегодня информационная безопасность находится на самой ранней стадии, и задумываться об «усилении» многие начинают только тогда, когда напрямую сталкиваются с утечкой данных.
Даже элементарные ошибки конфигурации в сочетании с банальным человеческим фактором способны привести к тем же глобальным последствиям, что и десяток лет назад.
Угроза безопасности
Работа систем контроля версий имеет свои тонкости и подразумевает присутствие на файловой системе большого количества скрытых служебных папок, в недрах которых собирается информация не только о файлах проектов, но и о тех изменениях, которые в них происходят. Если конфигурация сервера подвергается изменениям извне, то вся перечисленная информация легко становится доступной все пользователям, которые могут при наличии элементарных знаний получить доступ к исходным данным всего проекта и позволяет отыскать дополнительные уязвимости.
Данная проблема, как оказалось, является достаточно распространенной, естественно, в один прекрасный момент разработчики устанавливают запрет на отображение таких файлов в своих сборках. Однако, разработчики серверов предполагают, что ими должен быть предоставлен основной инструмент, достаточно гибкий для того, чтобы им могли пользоваться любые системные администраторы, независимо от тех задач, которые они выполняют.
Как результат – исходные коды интернет-ресурсов оказываются в свободном доступе, равно, как и базы данных, логины, бэкапы и прочая чувствительная информация.
Как проверить уязвимость сайта?
Для того чтобы проверить защищенность конкретного сайта, необходимо ввести в адресную строку http://domain.ru/.git/HEAD или http://domain.ru/.svn/entries. Результатом данных манипуляций должно стать сообщение о то, что страница не найдена. В противном случае разработчикам следует задать определенные вопросы относительно дальнейшего функционирования сайта, уровень уязвимости которого повышен.