Паранойи недостаточно
АрхивВ «КТ» время от времени сообщается о новых троянах, извлекающих жизненно важную информацию с компьютеров слишком наивных пользователей, а также о талантливых хакерах, способных взломать хорошо защищенную систему.
В "КТ" время от времени сообщается о новых троянах, извлекающих жизненно важную информацию с компьютеров слишком наивных пользователей, а также о талантливых хакерах, способных взломать хорошо защищенную систему. Автор этой статьи не писал трояны и не взламывал чужих компьютеров. Что не помешало ему узнать телефонные номера, номера кредитных карт и номера паспортов нескольких сотен пользователей интернета. Пользователи поделились этой информацией совершенно добровольно.
Privacy. Что скрывается за этим словом? Только ли право на сохранение тайны личности? Только ли право на тайну переписки и телефонных переговоров? Только ли кипа "бумажных" законов?
О privacy обычно говорят в нескольких контекстах.
Контекст первый: privacy по отношению к государству и регулирующим органам. Коммерческая тайна. Отчетность, аудит и в то же время сохранение тайны операций. Использование независимой экспертизы для предоставления отчета. Предотвращение утечки информации уголовным преследованием (ст. 183, 201-203 УК РФ). Вопросы перлюстрации, слежения за гражданами; вопросы правомочности использования шифрования для сообщения между гражданами.
Контекст второй: privacy бытовая. Соблюдать и знать подписываемые соглашения, учитывать оговорки (дисклеймеры), условия предоставления услуг.
Охрана личного киберпространства:
- охрана почтового ящика, средств мгновенной связи от нежелательных сообщений и предложений;
- охрана браузера и прочих сетевых программ от spyware, malware и другого ПО, способного нанести ущерб конфиденциальности;
- уничтожение истории посещений и cookies в случае, если доступ к компьютеру имеет не один человек. То же касается историй запросов и персонализированных сервисов (Например, search.mail.ru очень гордится своим персонализированным поиском. Я же, когда впервые увидел их окошко с последними результатами своих поисков, заволновался - как это отключать?).
Некоторые заходят еще дальше - используют резалки баннеров для уничтожения графических счетчиков как класса. Как ни странно, это имеет определенный смысл, потому что такая процедура означает, что вы даже случайно не оставите поле "referrer" заполненным к радости многочисленных шпионов-счетоводов (Потенциальная опасность здесь двоякая: оставить в "referrer" адрес сайта, специально не отправленного для индексации поисковой системе, и "засветить" адреса внутренней сети. В первом случае ваш "секретный сайт" окажется не таким секретным, если на список "referrers" нападет любопытный и настырный поисковик. (На самом деле, чтобы избежать нежелательной индексации, нужно правильно настроить robots.txt, а не ждать у моря погоды. - Прим. ред.) Во втором - теоретически злоумышленник сможет узнать нечто о структуре вашей внутренней сети и документах, которые там находятся).
Контекст третий: избежание мошенничества и подмены личности (фрауды всех родов). Охрана и правила использования личных средств коммуникации. Вопросы соответствия цифрового идентификатора личности самой личности.
Правила здесь простые. Никому не сообщать свой пароль. Не записывать все пароли на одной бумажке. Не сообщать не только пароли, но и идентификаторы. Использовать генераторы паролей (желательно - написанные собственноручно).
Находки для шпиона
Мы остановимся на втором и третьем контекстах.
Представим себе субъект атаки, имеющий доступ к необходимой нам информации. Эту информацию мы можем получить несколькими способами.
Во-первых, наш субъект может сообщить ее добровольно, не предоставляя нам доступ к источнику данных.
Во-вторых, он может предоставить нам доступ непосредственно к данным. Так, при защите паролем части сайта доступ к информации имеет не только хозяин ресурса, а все, кому известен пароль (Плюс системный администратор, конечно).
В-третьих, мы можем получить доступ к информации, использовав чужой цифровой идентификатор и пароль. Узнать их можно одним из следующих способов:
- При известном везении мы, зная идентификатор (В сети идентификатор - это обычно логин. В реальной жизни - любой идентифицирующий пользователя набор цифр - номер паспорта, кредитной карты, удостоверения личности и т. д), с вероятностью, отличной от нуля, можем вычислить пароль.
- Мы можем использовать бреши в программном и аппаратном обеспечении для того, чтобы узнать пару "идентификатор-пароль".
- Мы можем попросить субъекта добровольно сообщить нам пару "идентификатор-пароль".
Вот о третьем пункте я и хотел бы поговорить. Методика, реализующая добровольную сдачу идентификаторов и паролей, называется социальной инженерией.
Ярким примером такого подхода является письмо, якобы отправленное провайдером своему клиенту. Автор письма под разными предлогами - "апгрейд аккаунта", "восстановление данных" и так далее - требует от пользователя сообщить свой логин и пароль. Именно из-за таких писем на сайтах почти всех провайдеров написано: "Мы ни при каких условиях не будем спрашивать ваш пароль". Похожая надпись красуется и в диалоговых окошках ICQ.
Еще один пример, сравнительно свежий и даже заставивший некоторых людей открыть дискуссии по безопасности. В середине мая клиентам Citibank пришли письма с просьбой зарегистрироваться на новом сервисе. Ссылка вела на сайт без доменного имени, дизайн страницы повторял дизайн банковского сайта. Для подключения услуги просили (и небезуспешно!) ввести свой пароль. То, что сделали злоумышленники, называется фишингом. К счастью, мошенники работали непрофессионально, и обошлось без утечек информации из банка (мне это письмо тоже приходило, а я - не клиент Citibank).
Но как раз этот случай окончательно подтолкнул меня изучить возможные изъяны того уголка мозга пользователя, что отвечает за решение - доверять данному ресурсу или нет. Для обеспечения доверия я воспользовался насыщенной социальной средой - русским сегментом ЖЖ (Живой Журнал (livejournal.com). Больше 10 тысяч русскоязычных пользователей). Дело в том, что ЖЖ очень богат горизонтальными связями: так как у каждого пользователя есть друзья (френды, по здешней терминологии), то ведение дневника зачастую связано не с записью новых впечатлений, фактов и событий, а с чтением фактов и событий, собранных френдами. Интересные записи комментируются, дублируются в журналах других пользователей, наиболее полно охватывая весь сегмент.
Поскольку medium is the message (А сказал это Маршалл Маклюэн (Marshall McLuhan)), структура ЖЖ как носителя информации определяет несколько видов сообщений, обладающих наибольшей способностью к воспроизведению другими членами сообщества.
Это, в порядке возрастания популярности, ссылки на самых известных блоггеров, реакция на сверхгорячие новости, так называемые письма счастья, всевозможные тесты вида "Какой вы холодильник?", "Кем бы вы были в “Мастере и Маргарите”?" и т. д.
Кроме того, существует любопытный психологический феномен - человек, никогда не встречавший своих френдов, все равно доверяет опубликованным ими ссылкам. Причем гораздо больше, чем ссылкам, случайно встреченным на просторах Сети. К тому же, как я заметил за три года ведения дневника, степень доверия практически не зависит от того, как давно этот человек является френдом. Вследствие чего ЖЖ - сообщество дружеское, теплое, основанное на доброй воле и доверии, - является уязвимым.
Занимательная нумерология
21 мая я поставил эксперимент. На своем сервере (Указывать адрес я не буду) разместил страничку, где после краткого введения (предназначенного в основном для того, чтобы страничку "увидели" поисковики) написал следующее:
Настало время для гадания online.
Вашему вниманию предлагается уникальное гадание на номерах самого близкого, что у вас есть, - цифровых удостоверений личности.
Гадать чрезвычайно просто - введите номер и нажмите на кнопку.
Данные обрабатывал простенький скрипт, который работал так:
- Просил ввести число.
- Из этого числа получал seed для генератора случайных чисел.
- Выводил при помощи генератора случайных чисел семь "пророческих" сообщений про владельца введенного номера цифрового идентификатора личности.
- Выводил html-код, который можно было вставить в свой дневник. HTML-код содержал ссылку на страницу, так что все френды человека, вставившего результаты теста в дневник, тоже могли испытать судьбу.
- И, что уж греха таить, записывал IP, тип и номер цифрового идентификатора.
Я подготовил гадание по номерам пяти идентификаторов (мог бы больше, но решил, что для исследования хватит и этого). Пользователь мог погадать по номерам кредитной карты, паспорта, мобильного телефона, студенческого или военного билета. На корректность введенные числа не проверялись.
Затем я прошел тест сам и вывесил его результаты в своем журнале.
Обращаю ваше внимание на то, что я ни у кого не просил ввести номер и не рассылал писем с просьбами где-либо зарегистрироваться. Все, что после этого делали пользователи, они делали добровольно. Кроме того, отметьте, что сайт не был даже толком проиндексирован. Практически все заходы были именно из ЖЖ.
А теперь ознакомимся со статистикой.
С 21 мая по 10 сентября пользователи внесли в базу 2670 цифровых идентификаторов. Их могло быть и больше, но за время эксперимента сайт по техническим причинам не смогли посетить примерно 25–30% пользователей. Пики посещений пришлись на май и сентябрь (Тут можно пошутить про весенние и осенние обострения, но мне эта тема не кажется смешной).
Если говорить о динамике посещений, то в первый же день был введен 181 идентификатор. Во второй - 269. Дальше - 92, 215, 100… Летом в базу вносилось в среднем по 15–20 записей. Осенью интерес вспыхнул вновь. Какие идентификаторы берегут больше? На этот вопрос отвечает диаграмма справа.
Я не раз встречал людей, которые неохотно дают незнакомым номер своего мобильного телефона. И если грустно поехидничать, то, похоже, эти стойко защищающие свою приватность люди вымерли как класс.
Еще одним откровением для меня стало сравнительно небольшое число студентов. Аудитория, занимающаяся гаданиями на кредитных картах, оказывается, уже закончила высшее учебное заведение. Есть в этом что-то неправильное.
Ситуация усугубляется тем, что большинство участников пробовали несколько типов гадания, что повышает опасность проникновения (пример: зная номер паспорта (И узнав по номеру владельца) и номер мобильного телефона, можно как минимум блокировать телефон). Правда, к чести пользователей, иногда они вводили номера кредитных карт не целиком, а что называется, от фонаря. Однако полных, честных номеров я насчитал не менее шестидесяти.
Теперь об отношении самих пользователей к тестированию. Заметив, что в ЖЖ началось обсуждение такого необычного теста, я вмешался и клятвенно пообещал не делать ничего плохого с полученными результатами (не могу не отметить, что предупреждающие были в меньшинстве - в среднем идею осуждал один пользователь из двадцати).
Эксперимент оказался сверхуспешным - некоторые пользователи ЖЖ оказались также пользователями других социально насыщенных систем (обычно - форумов). Ссылки на мой тест появились на форумах и, кажется, даже в паре в меру безвестных обозрений.
Поисковая оптимизация привела к тому, что тест стали проходить пользователи, не имеющие к ЖЖ никакого отношения (По неточным оценкам, мой тест прошло около восьмисот пользователей ЖЖ - 8% всего русского сегмента. Считаю это более чем хорошим результатом).
Чуть позже я решил спрашивать номера других пользователей. Для этого на сайте был размещен следующий текст:
Новые возможности:
Раньше, если вы вводили не свой номер, гадание могло негативно отразиться на вашей карме. Эта ошибка исправлена. Теперь вы можете гадать на других людей, не подвергая вашу бессмертную душу опасности. Для этого чужие номера вводите как отрицательные. К примеру: чужой телефон 1234567 превратится в –1234567.
Удачи!
Обитатели Сети подхватили игру, и не менее 5% от общего числа гаданий стали содержать чужие идентификаторы.
11 сентября я прекратил эксперимент, так как он доказал абсолютную беспомощность социальных систем вроде ЖЖ перед единственным злоумышленником. Чувства, которые я при этом испытываю, сродни горькому облегчению. Облегчению - потому что злоумышленником быть нелегко; и даже не веря в карму, я испытываю муки совести и несу ответственность перед друзьями.
Горькое же это облегчение потому, что, похоже, значительной части посетителей ЖЖ и любой другой сети незнакомо чувство ответственности при передаче информации.
Напоследок хочу обратить ваше внимание на третье значение слова privacy по словарю Гальперина - интимность. Помнится, на известном сайте damochka.ru был продемонстрирован скрипт секс-прогноза (Текст был такой: "Этот уникальный тест дает достаточно точную информацию о том, как сложится в дальнейшем твоя сексуальная жизнь и любовные отношения с партнерами. Он содержит очень интимные вопросы, поэтому не рекомендован для прохождения стеснительным людям и детям до 16 лет. Если же ты готов пройти его весь, то не пожалеешь. Тест использует в своей основе испытанную систему алгоритмов и опробован в Америке на тысячах тестировавшихся. Главное - отвечай честно, не обманывай себя и тогда получишь очень точный результат"), который, после заполнения вами чрезвычайно интимной анкеты, сообщал, что отослал все собранные данные группе разработчиков. Естественно, "результат" сопровождался фотографией неприлично бородатых, хохочущих над пользователем программистов портала.
Мой вам совет: не попадайтесь. И помните: если вам есть что скрывать, то, сколько бы вас ни называли параноиком, вашей паранойи недостаточно.