November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Wednesday, July 20th, 2011 12:22 pm

выношу из комментов обсуждения у Арканоида своё резюме:

на сайте Мегафона сложилась комбинация нескольких факторов, которые _совместно_ привели к утечке конфиденциальной информации. Каждый отдельный фактор существовал (или, по крайней мере, мог существовать) гораздо дольше, но в отсутствие остальных не приводил к фатальным последствиям.

Возможно, такое стечение обстоятельств было не единичным случаем, а время от времени повторялось, на результат это не особо влияет.

Итак:
1. Существование страниц статуса отправки SMS, содержащих тексты и номера телефонов, с уникальными адресами.
2. Возможность неавторизованного доступа к этим страницам.
3. Утечка адресов этих страниц в поисковые системы.
4. Отсутствие запрета на индексирование этих страниц.

При этом обвинять поисковые системы в том, что они сделали публично доступной информацию, которая и так была публично доступна — значит выставлять себя идиотами.

Под катом, если кому интересно, мысли о том, как этого можно было бы избежать.

1. По возможности не передавать чувствительную информацию в адресе страницы. Потому что именно эти адреса записываются в логи, запоминаются в истории браузера, записываются в закладки, индексируются поисковыми системами и прочая, и прочая. К чувствительной информации относятся как сами данные, так и идентификаторы сессий, по которым сервер может выдать данные.

Используй Мегафон один общий адрес для страницы статуса (с определением конкретной сессии другими средствами) — информация бы не утекла.

2. Если уж приспичило делать уникальные ссылки, которые можно запомнить, то для доступа к самим данным следует использовать дополнительные средства аутентификации.

Мегафон мог бы при первоначальной выдаче клиенту страницы статуса использовать для этого hidden-поля в форме, а при последующих заходах спрашивать, например, номер телефона, на который отправлялось сообщение. Поисковые системы, не знающие номера, и не умеющие отправлять POST-запросы, не получили бы доступа к текстам.

3. Строить безопасность на секретности адресов страниц — исключительно глупо. Этот способ можно использовать в качестве дополнения к другим, но полагаться лишь на него, очевидно, нельзя. Источников утечки дофига, и все не предусмотришь. Счётчики, браузерные плагины, логи веб-серверов, не говоря уже про хакеров, вирусы и трояны. В конце концов, нехороший человек, каким-то образом узнавший адрес, может вручную добавить его в поисковую систему.

4. Запрет на индексирование. Это тоже слабенький метод, он помогает только от честных поисковых роботов, но и забывать про него не стоит. Для пущей надёжности можно дополнительно обложить чувствительную информацию на страницах тэгами NOINDEX (а ссылки — NOFOLLOW), а также отсеивать поисковые роботы на уровне веб-сервера по User-Agent’у. Но в целом конфиденциальная информация вообще не должна попадать в открытый доступ.

Вот как-то так.

Оригинал этой записи. Комментировать можно тут или там.

Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме

Wednesday, July 20th, 2011 12:38 pm (UTC)
Ещё про индексацию: http://habrahabr.ru/blogs/infosecurity/124432/
Wednesday, July 20th, 2011 12:43 pm (UTC)
видимо, где-то с авторизацией накосячили
Wednesday, July 20th, 2011 01:31 pm (UTC)
А еще, говорят, яндекс принял ислам попил чайку проиндексировал собственные исходники. =)
Wednesday, July 20th, 2011 01:39 pm (UTC)
Вот про это ничего не слышал. А что Гугл проиндексировал интранет-сайт Яндекса - натурально было.
Wednesday, July 20th, 2011 04:46 pm (UTC)
офигеть!
Wednesday, July 20th, 2011 04:49 pm (UTC)
http://skripters.com/forum/textversion.html?t28089