Сегодня существует множество сайтов, для доступа к которым требуется регистрация. И на большинстве из них требуется указать имя, телефон или иную личную информацию, и нередко начинаешь задумываться — а стоит ли указывать настоящие данные, или лучше ограничиться выдуманным: «Пупкин Василий, 686868»? Как правило, решение зависит от степени доверия к сайту и от авторитета его владельца. Но всегда ли оказываются верными принятые по таким критериям решения? В этой статье я расскажу о своем опыте исследования небольших сайтов и общения с руководством организаций, которым эти сайты принадлежат. А точнее о том, как они окончательно уничтожили мое доверие и чем это все закончилось.
Я — будущий «безопасник». В моем дипломе будет написано, что я окончил ВУЗ по специальности 090103 «Организация и технология защиты информации», но на данный момент я студент четвертого курса. За эти 4 года обучения мне привили очень трепетное отношение к безопасности: ведь все вокруг утверждали, что с информационной безопасностью сейчас все не так уж и плохо. Ведь раньше, по их словам, сайты были совсем не защищены, базы данных были доступны любому, кто умеет использовать браузер, ну а пароли хранили исключительно в открытом виде.
Первая находка
Я, пожалуй, не буду называть город, в котором живу, отмечу лишь, что это крупный город – «миллионник». Первым сайтом, на который я наткнулся в процессе своих исследований, был сайт типичного секс-шопа, довольно крупного по меркам города. Обнаружив отсутствие фильтрации специальных символов в строке поиска, решил внимательнее изучить сам сайт. И обнаружил, что достаточно перейти по ссылке http://«домен»/db/ и откроется директория, где лежат и периодически обновляются резервные копии всей базы данных организации! Я даже не поверил вначале, что это так, предположил, что это заготовки для таблиц и скачал последний по дате изменения файл. Что я там увидел? Таблицу «Users», где содержалось чуть более 800 записей о логинах пользователей, паролях (конечно же, в открытом виде), их адреса электронной почты, Ф.И.О, полные домашние адреса (которые, в большинстве случаев, были реальными, я проверил несколько фамилий и адресов по справочнику) и номера мобильных телефонов. Еще в базе была таблица с учетом товара и покупками, которые совершались на сайте с указанием логина пользователя, совершившего покупку. Соответственно, сопоставив эту таблицу с «Users», я посмотрел, кто и что заказывал. Отмечу, что часть людей, не доверяя сайту, писали в поля при регистрации всякую чушь, но таких было не более 10-15% от общего количества. Итак, Ф.И.О, электронная почта, пароль, адрес, номер мобильного телефона — этого более чем достаточно для того, чтобы идентифицировать человека. После найденного я напрочь забыл про существование потенциальной SQL-инъекции и решил обязательно разобраться, кто в этом виноват.
Через неделю я снова зашел на сайт и обнаружил что сайт кардинально поменялся: дизайн был полностью изменен, весь сайт «переписан», и я уже был готов увидеть по ссылке http://«домен»/db/ привычное «403 Forbidden», но этого не случилось. Несмотря на полную переделку сайта, эту дыру в безопасности никто не заметил, более того, резервная копия обновилась и появилась еще более свежая база.
Поиск виновных и пострадавших
Свою борьбу с этим, с моей точки зрения, разгильдяйством я решил начать с поиска виновных, а именно тех, кто создавал данный сайт, однако никакой информации об этом на сайте секс-шопа размещено не было. Поискав в интернете ссылку на сайт, я нашел разработчиков, которые ссылались на него в своем портфолио. Помимо исследованного сайта, в портфолио было еще около 30 других сайтов, которых я не поленился просмотреть на предмет точно такой же уязвимости. И действительно, на 5-и сайтах она нашлась. Особенно меня позабавило наличие такой же «дыры» на самом сайте разработчиков, хотя и без данных.
На 4-х сайтах с уязвимостью в защите резервные копии, судя по всему, сохранялись в другие директории, а в этой хранились лишь пустые таблицы. Но вот на последнем сайте в базе данные все-таки нашлись, причем в количествах, превышавших даже первую находку: более 1000 записей с паролями, логинами, Ф.И.О, телефонами, адресами. Владельцем сайта была крупная фирма, продающая офисную технику и компьютеры в двух регионах России. И судя по контактной информации и корпоративным адресам электронной почты, большую часть их клиентуры составляли различные фирмы, поэтому для конкурентов такая база с контактными данными была бы очень интересна.
Тут, наверное, самым простым решением было пойти к разработчикам сайтов и спросить, почему они так относятся к своим обязанностям и конфиденциальной информации их клиентов. Но я принял решение воздействовать на них с помощью потенциальных пострадавших, а именно тех двух фирм, чьи данные если еще и не утекли на сторону (а возможно уже утекли), то только благодаря счастливой случайности. Решил я так, потому что надеялся заработать на последующем аудите информационной безопасности, который собирался предложить этим фирмам после устранение проблемы, да и подумал, что на разработчиков такое воздействие будет эффективно.
Пробуем все исправить
Первым, к кому я обратился стал, менеджер в секс-шопе. Контактов директора я найти не смог, поэтому, узнав, что директор — блондинка лет 30, решил, что она формальный директор, менеджер же была вторым человеком после нее. Чтобы выйти на контакт с менеджером, пришлось прийти в один из магазинов и спросить у продавца её номер телефона, в качестве причины указав: «Я по поводу сотрудничества».
Первый разговор я посчитал самым важным, ведь в этот момент нужно завоевать доверие! То, что я им предлагал, вполне можно было принять за какой-то «развод». Пришлось представиться и назвать ВУЗ, не уточняя специальности, отметил лишь, что занимаюсь информационной безопасностью. Сказал, что обнаружил на их сайте очень серьезную уязвимость и, соответственно, в любой момент возможна крупная утечка персональных данных клиентов, объяснил, какой ущерб и убытки это может повлечь за собой. В итоге, я предложил встретиться и подробно все обсудить. Менеджер уточнила: «То есть, Вы предлагаете нам услугу?». Я ответил утвердительно, после чего она меня заверила, что информацию передаст директору и мне перезвонят через пару дней.
На третий день я позвонил ей снова, но она ответила, что директор только сегодня вернулась из командировки и еще не рассмотрела этот вопрос и мне ответят завтра. Я решил спокойно подождать ответа, но через последующие 3 дня тишины решил все же снова перезвонить, чтобы узнать мнение директора и время встречи для более подробного обсуждения проблемы. На что мне ответили следующее: «В данный момент Ваше предложение нам не интересно». Это заявление меня крайне удивило, при попытке объяснить еще раз, что, игнорируя уязвимость в безопасности, они подвергают риску и себя и клиентов, услышал в ответ лишь: «Если нам это будет интересно в будущем, мы вам перезвоним, до свидания». Стоит отметить, что я был в недоумении от равнодушия руководства фирмы. Списав это на некомпетентность сотрудников небольшой фирмы и цвет волос директора, я решил на этом не останавливаться.
Следующим на очереди был магазин электроники. На самом сайте нашел Ф.И.О директора и номер его ICQ для связи. Попытка объяснить проблему по ICQ, где директор скорее всего практически не появляется – может вызвать недоверие, поэтому я от нее отказался. И стал искать номер его телефона. Нашелся он именно в резервной копии базы данных сайта, под id 2. Директором оказался мужчина лет 40. Опять же, представившись, я постарался максимально грамотно и подробно описать то, что я обнаружил, какому риску подвергается фирма и что я готов это исправить. Не забыв уточнить, что хотел связаться именно с руководством и номер мобильного телефона был обнаружен именно в базе данных на сайте. Директор все выслушал и ответил довольно грамотно: он попросил все подробно описать в коммерческом предложении, выслать ему на личную почту и потом встретиться, сославшись, что ему нужно оценить финансовые расходы. Коммерческое предложение было составлено и отправлено. Как вы уже, наверное, догадались в ответ была тишина.
Выводы
С момента обнаружения этих примитивных уязвимостей и моих контактов с руководством фирм прошло около полугода, однако ситуация не изменилась, резервные копии баз данных временами обновляются, количество учетных записей растет. Этот пост я написал, предположив, сколько таких «ответственных» администраторов сайтов и руководителей фирм-заказчиков им под стать в России, и какая часть из таких системных администраторов позаботится о только что вышедшем баге «Heartbleed». Думаю, никто. Разработчикам я так и не решился написать, так как это был бы практически прямая конфронтация с ними. Да и не думаю, что это бы помогло, скорее только навлекло на себя неприятности. А вам, жители Хабрахабра, если обнаружите что-то подобное, я советую повторить мой путь, надеюсь, что ваш результат окажется положительным!
Автор: Antxak