Прежде всего: Что это за сайт - Избранные записки - Книга "Доменные войны" - LaTeX в Web
Аппаратные “закладки” – это такие элементы в микроэлектронных схемах, которые позволяют нештатно вмешиваться в работу вычислительной системы, например, выводить её из строя. То есть, активировал вредитель “закладку” – процессор сгорел, важное изделие неработоспособно. Я писал про такие “жучки” в давней заметке. Возможность наличия таких “закладок” – как раз является причиной для того, чтобы иметь собственный цикл производства микроэлектронных схем для военных применений.
Разовьём тему (направление развития, собственно, указано в упомянутой заметке). Вот, распространено мнение, что если вычислительная система, например, комплекса ПВО, “не подключена к другим сетям”, то активировать аппаратную закладку практически невозможно. Вообще, это довольно старая идея, являющаяся развитием взгляда продвинутого пользователя ПК: если компьютер к Интернету не подключен, то и вирус на него проникнуть не сможет (или что-то в подобном стиле). Действительно, на “изолированную систему” извне ничего попасть не может, а значит и закладку, как бы, не активировать. Однако в реальности всё по другому.
Судите сами. Обдумывая реальную ситуацию с комплексом ПВО (возьмём такой “аппарат” для примера) нужно иметь в виду, что это не изолированный ПК, а система, вполне себе работающая с данными, поступающими из внешнего мира. Конечно, так как система довольно сложная, многослойная, то фундаментальные свойства могут скрыться из области внимания. Тем не менее, комплекс ПВО – он просто в существенной мере управляется электромагнитными импульсами (если хотите – ЭМ-полями), поступающими извне. И важная часть этих импульсов – как раз поступает со стороны потенциального вредителя. Если эти импульсы строго игнорировать, не обрабатывать, то и комплекс оказывается бесполезен, по, думаю, понятным причинам. (Даже “отстройка от помех” – это тоже обработка принимаемых из эфира “чужих” сигналов, которые сперва нужно детектировать, “расфильтровать”, проанализировать; и только потом – не “обращать внимания”.) Так что “изолированные системы” – тут просто бесполезны.
Теперь взглянем на то, как разрабатывается специальное программное обеспечение для, гипотетически, комплекса ПВО. Программисты тут обучались по всем известным хорошим книгам (и это правильно, так как знание теории – основа всего в программировании). Для решения рутинных задач используются столь же “рутинные” алгоритмы.
Вот, например, есть такой фильтр Калмана, который даёт в руки разработчика системы наблюдения инструмент оценки вероятной траектории движения цели (если заданы некоторые ограничения на динамические характеристики движения цели). Программные реализации этого фильтра – давно и хорошо изучены, алгоритмы понятны. Фильтр широко используется на практике и для аналитика не будет архисложным предсказать в деталях, как именно данный фильтр реализован в конкретной вычислительной системе. Оказывается, это первый шаг к активации закладки, которая, понятно, встроена в аппаратуру комплекса ПВО (потому что микроэлектронные компоненты закупались “где-то не там”).
Теперь делаем второй шаг. Понятно, что у аналитика, нанятого вредителями, есть подробная документация, рассказывающая и о логике работы микроэлектронных устройств, которые установлены в атакуемом комплексе, и, что не менее важно, о логике работы “закладки”. Последняя, скажем, активируется после того, как микропроцессор-носитель прочитал из памяти (увидел “на шине”), некоторую ключевую последовательность байтов. Очевидно, что реализации фильтра Калмана как раз используют последовательности байтов (ну так этот фильтр программируют), которые напрямую связаны с наблюдаемыми параметрами движения цели. И вот эти параметры-то не менее прямым образом поступают из внешней среды, со стороны “потенциальных вредителей” – их принимает радар, наблюдающий цели.
Вопрос в том, насколько же реально для практики так сформировать передаваемые в сторону радара комплекса ПВО активные помехи, чтобы реализация фильтра Калмана, сопровождая ложную цель, наткнулась на ключевую последовательность байтов в памяти (куски которой, понятно, сформировали другие фрагменты кода и другие устройства, измеряющие скорость, “приводящие координаты” и т.п.). Учитывая, что можно помехопостановщиком быстро перебирать много вариантов, и атаковать не только фильтр Калмана (взятый здесь лишь в качестве утрированного примера), то благоприятный для вредителя исход атаки не кажется невероятным.
Комментарии (16) »
Сегодня в воскресном юморе – очередной конспирологический рассказ.
Многие и многие персональные компьютеры работают под управлением операционной системы Microsoft Windows (XP, Vista, 7 и т.п.). Добротно сконфигурированный компьютер периодически загружает обновления с серверов Microsoft. Для чего можно было бы использовать такое положение вещей?
Во-первых, понятно, что можно все эти миллионы компьютеров негласно привлечь к распределённым вычислениям (есть ведь и вполне гласные подобные инициативы, правильно?). Данные для обсчёта передаются вместе с обновлениями, обратно при этом приходит результат предыдущего вычисления. Операционная система довольно хорошо нагружает всякими задачами быстродействующие компьютеры, поэтому рядовой пользователь вообще ничего не почувствует. Возникает проблема со специалистами, которые исследуют код и сам процесс получения обновлений.
Оказывается, блокировать проявления здорового любопытства специалистами можно, правильно преобразовав алгоритмы. Не секрет, например, что многие задачи криптоанализа сводятся к операциям с квадратичными формами, с матрицами и тому подобными математическими объектами. Эти же объекты привычно используются в других задачах, скажем, при определении оптимального способа размещения файлов, при поиске строк, заданных регулярными выражениями, в какой-нибудь базе данных и всяких других проблемах (кому интересно – читайте что-нибудь по дискретной математике, а в воскресной юмористической записке не место подробному экскурсу в теорию).
Грубо говоря, одни задачи могут быть сведены к другим с точностью до переименования элементов потока данных (традиционный способ, не правда ли?), таким образом достигается сокрытие истинных целей алгоритмов. В коде операционной системы используются далеко не оптимальные реализации алгоритмов (они кого-нибудь удивляют в применении к миру ПК? меня – уже давно нет). А это – дополнительный ход, ещё больше затрудняющий анализ. Так что всё довольно хорошо скрыто.
Многие миллионы компьютеров – это большая вычислительная сила, даже если “клиентские алгоритмы” реализованы не оптимально. При этом расходы энергии, затраты на покупку вычислителей – все они ложатся на пользователей компьютеров. Экономически очень выгодно (да ещё и за лицензию на использование продукта отчисления идут). Не удивительно, что сейчас софтверные компании, регулярно работающие “по обновлению ПО”, – скажем, производители антивирусов, – запускают и продвигают создание вычислительных сетей из ПК своих клиентов. А можно ведь и не афишировать такую деятельность.
Это было во-первых. Теперь – во-вторых. Операционная система типа Windows, нацеленная, прежде всего, на пользовательский интерфейс, обязательно “знает” в деталях, что в данный момент пользователь делает на компьютере. Это очевидно. Запуск программ, загрузка программных библиотек, типы этих программ и библиотек, ввод с мыши, ввод с клавиатуры, информация с джойстика, интенсивность использования видеокарты – это только часть тех генерируемых пользователем сигналов, которые пропускает через себя и обрабатывает операционная система. Существуют специально созданные исследователями компьютерные игры, позволяющие строить некий психологический профиль человека по его, этого человека, действиям в игре. Тут, сами понимаете, нет ничего удивительного: зашить в игру набор интерактивных психологических тестов – невелика задача для современного “геймдевелопмента”.
Операционная система, конечно, не может предъявлять пользователю психологические тесты. Да. Зато она имеет все данные для определения, например, уровня реакции пользователя “на раздражители” – как быстро “обрабатываются” диалоговые окна? И операционная система может, ну, в теории, вычислять психоэмоциональные показатели – как двигается мышь? ошибки при вводе? “лихорадочная” работа с файлами? Не забывайте: соответствующий модуль операционки достаточно давно следит за пользователем, накапливает статистику, позволяющую качественно детектировать “аномалии”, изменения психологического состояния.
Сложно ли замаскировать программный код, ведущий подобный мониторинг? Не сложно. Но возникает вопрос: а зачем его скрывать? Обработка всех упомянутых “пользовательских сигналов” – стандартная функциональность, чего там прятать? Нужно лишь так подготовить алгоритмы, чтобы при проявлении некоторых наборов “сигналов” по нескольким каналам (например, клавиатура, мышь, используемые программы) возникал, скажем, сбой (“исключение”). Этот сбой будет служить семафором. О “сбое” сообщается на центральный сервер (либо в “отчёте о проблеме”, либо в момент обновления операционной системы).
Что получается в итоге? Получается гигантская система из миллионов ПК, которая информирует владельцев центральных серверов о психологической атмосфере в самых разных сообществах, которые составляют пользователи операционной системы. Где-то какая-то массовая паника. Где-то – все отдыхают. И так – по всему миру. Если что, то на основе информации, собираемой подобной “суперсистемой”, можно автоматически отключать компьютеры, выдавая им “левые обновления”.
А Google – это только прикрытие для настоящего “Большого Брата”.
Вот.
Шутка.
(А объединять первое и второе наблюдения – будем в следующий раз, а то совсем страшно получится.)
Комментарии (5) »
Снова спрашивают про одноразовые пароли, которые сейчас можно без особых проблем прикрутить к авторизационной системе CMS, при этом пароль генерируется специальным брелоком. Почему-то многие считают, что использование такого брелка и одноразовых паролей выводит защищённость “от взлома” всей системы авторизации на уровень, требующий физически украсть брелок – а это очень сложно и, поэтому, надёжно: типа, такой “сейф” получается (сейфы, как известно, дистанционно обычно не взламывают, нужно персонально выезжать на место). А про “токены”, выдающие пароли, говорят, мол, даже если и скопировали пароль от сайта, всё равно он – одноразовый.
Вообще, известно, что это опасное заблуждение. Так, пароли от хостингов, сайтов, и CMS, как показывает статистика работы саппорта, обычно крадут не удалённым сетевым снифером, а с помощью троянской программы, внедрённой непосредственно на ПК жертвы. Понятно, что модифицировать троянскую программу, наделив её возможностями по перехвату (до использования) одноразового пароля, – не такая уж сложная для профессионального взломщика задача. (Задача, судя по всему, много раз решена теми спецами, которые работают в направлении систем интернет-банкинга.) Конечно, механизм поддаётся полной автоматизации.
Более того, если предположить, что “многоразовый” пароль крадётся из открытой сети – обычно в пример приводят общедоступный Wi-Fi, – то в этом случае атакующий может вмешаться в трафик, перенаправить атакуемого на другой ресурс и там запросить у него хоть бы и сразу пять-десять одноразовых паролей впрок (тоже схема не новая). Есть и другие способы борьбы с “одноразовыми”.
Да, конечно, брелок-генератор одноразовых паролей – вещь полезная. Если правильно встроен в процесс пользования системой авторизации (SSL никто не отменяет!), то защищённость повышает, но сводить всё к необходимости кражи брелка – это большая ошибка. Система с таким брелком не надёжнее, чем защита компьютера, который используется для ввода одноразовых кодов-паролей.
Комментарии (7) »
В продолжение темы про взлом шифрования GSM хочется отметить несколько важных моментов – наверное, нужно было их включить в предыдущую заметку по теме, но там уже и места-то не было.
Во-первых, речь в исходной работе, действительно, шла только о демонстрации атаки на сам шифр, а не о полноценном перехвате GSM. Это важно, потому что разговор нужно ещё записать из эфира (что, впрочем, задача многократно реализованная – ведь, очевидно, сами операторы связи и телефонные аппараты её с лёгкостью решают).
Во-вторых, странно ожидать от операторов связи какой-то особенной реакции на очередную демонстрацию слабостей GSM в плане обеспечения секретности переговоров абонентов. Операторам действительно должно быть мало дела до секретности мобильных коммуникаций. Например, традиционная проводная телефония технически никак не защищена вообще – и что? Повышенная безопасность услуг связи обычных пользователей – никогда не была приоритетной задачей провайдеров связи (иначе они бы просто разорились на массовых услугах). Например, в случае с доступом к Интернету, провайдеры сколь-нибудь реально озаботились всякими ботнетами когда стали замечать ущерб для себя. При этом люди постоянно используют незащищённые каналы связи: вспомните Wi-Fi (который часто плохо настроен, открыт) и другие беспроводные технологии, нешифрованные сообщения e-mail, беседы “по аське” и тому подобные вещи. Так что проблема не в защите каналов, а в верном использовании этих каналов. И тут как раз начинается “в-третьих”.
Итак, в-третьих, проблемы как раз создаёт то, что каналы GSM иногда используют без дополнительной защиты в самых разных приложениях, требующих секретности связи (одноразовые пароли по SMS, связь платёжных терминалов, – даже банкоматов, – с процессинговым центром и тому подобные решения). Понятно, что все подобные решения должны исходить из открытости сетей связи, учитывать возможность перехвата и самостоятельно обеспечивать защиту по схеме “точка-точка”. И GSM тут не виноват. Скажем, для телефонии есть специальные криптофоны, или, на худой конец, какой-нибудь Skype+Интернет.
Кстати, в случае с Интернетом, ситуация ничуть не лучше: пароли постоянно пересылаются по электронной почте, на эту же почту завязываются “напоминалки” паролей, логины на сайты проходят через обычный http, или, хуже того, через простые гиперссылки “с ключами” (привет, “Мой Круг” “Яндекса”) и творятся ещё всякие неприятные штуки, разнообразие которых велико.
Комментарии (9) »
В СМИ сегодня пишут (вот, например, на “Ленте”), что “хакер взломал GSM”. Речь идёт о работе Карстена Нола (Karsten Nohl), а точнее, речь о завершении важного этапа работы. Подробности реального положения дел такие: атаки на алгоритм шифрования A5/1, используемый GSM для защиты переговоров в радиоэфире, известны уже лет десять. Правда, известны они были скорее в теории, а не на практике. Для получения доступного практичного механизма перехвата и дешифровки GSM-разговоров (SMS, конечно, тоже) в пассивном режиме не хватало предвычисленной базы данных (таблиц ключей), делающей возможным раскрытие произвольного ключа за разумное время.
Нол в 2008-2009 гг. создал проект по генерации нужных таблиц, предложив поучаствовать в создании распределённой вычислительной сети добровольцам. В итоге, сейчас нужные таблицы вычислены общими усилиями и, как утверждают, доступны в P2P-сетях. Тут нужно отметить, что полная “таблица ключей” для A5/1 – требует очень большого объёма для хранения, и огромного машинного времени для вычисления. Поэтому использовался отработанный на “взломах” хешированных (например, MD5) паролей метод: в БД сохранются не все возможные “ключевые варианты” (в таком случае, дискового пространства потребовалось бы слишком много), а лишь определённая их часть, представленная в виде “сжатой” структуры (так называемые rainbow tables), многократно ускоряющей перебор ключей. Это известный в криптологии подход, позволяющий найти “алгоритмический компромисс” между количеством вычислений и объёмом памяти. В данном случае подход, похоже, качественно реализовали на практике (что далеко не всегда удаётся).
Интересно, что для генерации таблиц ключей использовались системы с современными графическими ускорителями (3D-ускорители для игрушек), которые, как известно, позволяют многократно ускорить многие криптографические операции. Вот какая польза от компьютерных игр. (Между прочим, летом 2008-го года с помощью кластера из нескольких сотен Sony PlayStation исследователи реализовали на практике уязвимость в SSL, выпустив полностью валидный, но при этом поддельный SSL-сертификат.)
Кстати, имея соответствующее радиооборудование, получать ключи для дешифрования GSM-трафика можно было и раньше, в активном режиме, используя запрос к телефону с фиктивной базовой станции. Сейчас же речь идёт о быстром пассивном методе: записали трафик из эфира и за какие-то минуты (быстрее?) расшифровали, вычислив ключ.
Комментарии (13) »
Шумная история: “вдруг” выяснилось, что видеопотоки, транслируемые самыми разными штатовскими летательными аппаратами на землю – не шифруются, и, более того, не удостоверяются. Некая система ROVER, построенная, как говорят, на гражданских технологиях, массово установлена на самых разных военных самолётах (в том числе, на A-10 и т.п.) и беспилотниках.
Этот ROVER (там есть приёмники и передатчики) как раз используется для обеспечения канала загрузки видео в реальном времени. “Гражданские технологии” не используют криптографии – видео можно смотреть с помощью слегка модифицированного приёмника спутникового сигнала (гражданского, опять же). Хуже того, понятно, что если обладать более совершенным инструментарием, то, при определённых обстоятельствах, можно сигнал подменять.
Возможно, конечно, что журналисты преувеличивают, рисуют ситуацию в более страшных красках. Скорее всего, внедряя подобную систему, штатовские “ответственные лица” руководствовались не только соображениями “подешевле”, но и соображениями “попроще”: потому что система распределения ключей сильно усложнила бы использование полезного технологического решения. С ключами – нужен некий компетентный “шифровальщик”; в открытом варианте, без использования ключей – смотреть трансляцию, используя нехитрое оборудование, могут практически все, независимо от квалификации. Простые “автоматические” схемы с распределением ключей не слишком улучшают секретность: посмотрите, как обходятся подобные схемы в практике платного спутникового телевидения. (А вот удостоверять источник, кстати, можно было бы и в автоматическом режиме – там всё равно для проверки используются открытые ключи.)
Важный момент: наверняка расчёт делался на технологическое отставание противника, над территорией которого подобная технология используется – всё ж нужна “спутниковая тарелка”, ноутбук, специальная программа и умение всё это устанавливать.
Теперь, соответственно, выводы. Как-то в этом интернет-журнале публиковалось несколько заметок о возможностях технологически продвинутой стороны дистанционно вмешиваться во внутреннюю работу комплексов ПВО, ставя очень сложные “интеллектуальные” помехи его работе и даже перехватывая управление.
Собственно, одна из тех заметок рассказывала о сложных атаках-взломах, использующих побочные эффекты работы электронных систем, а другие о, например, “вторжениях” в системы управления и об автоматическом анализе внутренней работы комплекса ПВО. В комментариях читатели сильно сомневались, что рассуждения полностью применимы к практике военных систем – мол, там все каналы проектируются криптографически защищёнными и устойчивыми к атакам. Так вот реальность очередной раз показала, что даже в Штатах (а как ни крути – технологический лидер) – это далеко не так: каналы и архитектуру систем не делают стойкими, напротив, разработчики и функционеры-администраторы больше надеются на “технологический авось” и на то, что противник ничего не слышал, скажем, о спутниковых системах связи, да и ноутбуков у него нет.
Комментарии (32) »
Чтение комментариев к заметке про эффективный и практичный способ уничтожения данных на жёстком диске приводит к мысли о том, что “программистский подход” всё ещё силён в понимании вопросов безопасности.
(Напомню, что речь в той заметке про уничтожение жёсткого диска ударом молотка, и о том, почему достаточно одного удара по шпинделю – брутально, да, но эффективно.)
1.
Первый момент из комментариев: давайте будем шифровать данные, а ключ уничтожим (спрячем, удалим и т.п.). Вроде, утеря ключа для хорошей криптосистемы похожа на уничтожение данных, а молотком бить не нужно – так рассуждают комментаторы.
В реальности, же ситуация именно похожа на уничтожение, но не более: в случае шифрованного массива, данные всё равно остаются потенциально доступны, зато возникает дополнительная задача уничтожения ключа. В случае удара молотком – всё предельно понятно, отлично справится всякий доверенный человек, обладающий даже самой минимальной технической грамотностью. Подход типа “раз, два – и готово” именно потому и используется, что можно чётко прогнозировать риски.
В случае с защитой криптографическим ключом возникает вообще иной комплекс проблем с этими рисками: нужно налаживать административные меры по управлению ключом. Грамотная эксплуатация криптосистемы, управление ключами – это довольно сложные технические задачи, требующие, в отличие от молотка, большого количества специальных знаний и соблюдения строгих процедур. Если же процедуры и знания не применяются, то ключ кто-то может заранее скопировать (преднамеренно или непреднамеренно) и вся схема нарушается.
Да, действительно, можно скопировать и все данные с жёсткого диска. Это так, но к задаче уничтожения данных возможность такого копирования прямого отношения не имеет. Учитывайте, что в обсуждаемой схеме как раз данные-то на исходном диске не уничтожаются, и копия ключа позволит не только их прочитать, но и строго показать, что именно эти данные находятся именно на этом диске и к ним подходит именно этот ключ. В определённых условиях (варианты каждый может с лёгкостью придумать самостоятельно), такая цепочка содержит кучу дополнительной важной информации. Вот именно для того, чтобы исключить возникновение подобных цепочек, используются простые и надёжные схемы уничтожения данных, без заморочек с секретными ключами, переводящих задачу в другой класс.
2.
Второй момент из комментариев – это ставшие уже традиционными оценки “стойкости ключей” (шифров). Снова и снова предлагают “для пущей надёжности” шифрования использовать ключ длинной в “миллион бит”, “сто мегабайт” итд, итп. – подставляем любое удобное большое число. В данном случае предлагалось “уничтожаемые данные” зашифровать с таким сверхдлинным ключом, чтобы математики через несколько лет не догадались.
Но давно известно, что, грубо говоря, идеальная симметричная криптосистема с ключом длиной в 128 бит – уже нераскрываема на практике, потому что полный перебор хотя бы половины из 2128 вариантов отнимет у атакующего слишком много времени (а квантовый компьютер – это фантастика).
При этом любительские шифры с “мегаключом” длинной в “стопятсот” байтов – раскрываются специалистами с лёгкостью, так как содержат тривиальные алгоритмические дефекты. И, конечно, атаки на современные практические криптосистемы также используют дефекты проектирования этих систем, ошибки в алгоритмах и в реализациях алгоритмов. (Длинные ключи – в 1024 бита и больше – в случае криптографии с открытым ключом, имеют под собой иную математическую основу, как раз связанную с особенностями используемых алгоритмов.) “Мегадлинный” ключ не является достаточным условием стойкости криптосистемы, а скорее наоборот – свидетельствует о том, что это наивная криптосистема.
Комментарии (18) »
Как известно, на сданных в утиль жестких дисках от ПК частенько обнаруживают всякую ценную информацию (типа паролей и, даже, секретных планов). А вот часто спрашивают: как же гарантированно уничтожить данные на жестком диске? Особенно важны быстрые способы, целиком и безвозвратно данные уничтожающие, пусть и с разрушением самого носителя – ведь на фоне убытков от утечки данных, стоимость носителя исчезающе мала.
Вообще, есть разное ПО, затирающее уничтожаемые данные непосредственно на диске (обычное удаление файлов средствами ОС далеко не всегда реально данные с диска убирает). Но чтобы затереть несколько гигабайт требуется заметное время, а это не всегда приемлемо.
Ещё есть специальные устройства, такие “кассеты” для винчестеров, при нажатии “тревожной кнопки” они портят диск, который установлен внутри кассеты, при помощи мощного магнитного поля. Пока кнопку не нажали – диск работает с ПК штатным образом. Но, возникают трудности с электропитанием (внезапно обесточено помещение), и случайным нажатием на кнопку.
Но, между прочим, есть и более простой, но очень действенный способ: хороший молоток. Все данные на диске можно практически безвозвратно “удалить”, если нанести пару-тройку весомых ударов молотком по шпинделю (где находится шпиндель, обычно вполне можно уяснить бегло осмотрев внешний корпус винчестера). Главное, достичь смещения и повреждения магнитных поверхностей. Технология позволяет работать быстро: вынули винчестер (установлен в специальные салазки) и молотком – хрясь! хрясь! – готово.
Этот дешёвый способ работает вот почему: механизм записи данных в современных винчестерах так устроен, что если геометрия поверхностей (“элементарных дисков”) нарушена, изменилась их (и шпинделя) взаимная ориентация, относительно заводских установок, то найти где там и что на этих поверхностях записано – становится задачей практически неразрешимой.
Ну, то есть, да, в теории, можно взять какой-нибудь атомно-силовой микроскоп и тщательно сканировать изуродованные после удара поверхности. А собрав терабайты данных о микроструктуре “магнитных моментов”, можно попытаться на суперкомпьютере вычислить, где там технические метки, а где биты файлов, и в каком порядке эти биты в файлы сливались. Но вряд ли ваши данные реально кому-то настолько нужны.
Если принести сломанный (не разбитый!) винчестер в компанию по восстановлению данных, то инженеры, после того, как отпадут наиболее явные способы реанимации (типа, “повертеть в разных положениях”, “подержать в холодильнике”), попробуют заменить микроэлектронную начинку (если удастся найти подходящего донора); в некоторых случаях – попытаются заменить блок магнитных головок (уже очень сложно); ну, может, что-то ещё попытаются заменить, с тем чтобы прочитать данные с временно ожившего диска. Но попробуйте принести на восстановление разбитый винчестер с искривлёнными поверхностями и вам скажут, что вариант заведомо проигрышный, “надо было чаще делать бэкапы”.
Комментарии (40) »
Предположим, что некий сервис распространяет программу для мобильных устройств, предлагающую какие-то услуги и при этом передающую обратно провайдерам сервиса данные о положении мобильного устройства (используется GPS-модуль). За примерами не нужно далеко ходить: вот вам “Мобильные Яндекс.Карты” – там, очевидно, передача сведений о местоположении устройства-носителя “на центральный сервер” в разные моменты времени используется для построения карты “свободных дорог”.
Допустим, что само мобильное приложение – “анонимное”, при загрузке из Интернета не требует идентифицировать загружающего. Можно ли позже, с помощью анализа перемещения устройства, выяснить, с хорошей точностью, персональные данные пользователя? При этом, понятно, никаких исходных персональных данных программа не собирает: это же не программа-шпион, правда? В записной книжке коммуникатора приложение не роется, каких-то уникальных параметров-идентификаторов из сети оператора связи не получает, и вообще, возможно, код приложения полностью открыт – всё должно быть строго, иначе такую программу перестанут использовать.
На первый взгляд, подобная задача может показаться невероятно сложной, даже неразрешимой: “чистая” программа, анонимная загрузка – есть только данные о вероятном местонахождении конкретного владельца. Как тут этого владельца-то вычислить?
Прежде, отметим один момент: формальной анонимности пользователя вовсе не противоречит создание на сервисе уникального аккаунта, привязанного к данной копии программы. Это необходимо и для обновлений, и для придания устойчивости системе в целом (помогает бороться с “поддельными запросами” злых хакеров и т.д.) Только по аккаунту личность пользователя установить нельзя.
Теперь о том, как же вычислить пользователя. Вот как: фиксируются его места пребывания в рабочее время, и в не рабочее время. Приехал человек на работу, находится долго “на одном месте” – несложно вычислить и место, и, собственно, рабочее время, так как людям свойственно действовать по некоторому графику. Вычисляется всё автоматически, никакой “сложной эвристики”.
Аналогично определяется вероятное место жительства – после работы люди едут домой, понятно. Итак, есть уже пара “точек на карте”, привязанных к одному пользователю. Понятно, что координаты у этих точек размытые, но “размытость” тут будет близка к масштабу с разрешающей способностью типа “с точностью до дома”. То есть, один-два дома вероятного пребывания определить можно в очень многих случаях. Опять же, определяется всё автоматически, “сложной эвристики” – снова не требуется.
Оказывается, что пара характеристик пользователя вида “приблизительный адрес места жительства”-”приблизительный адрес места работы” позволяет с большой точностью определить единственного кандидата, который и живёт, и работает в тех “размытых районах”, куда указывает эта “адресная пара”.
Действительно, если известен только приблизительный район места жительства пользователя, то “идентифицировать” его персону, по крайней мере, в случае с современным мегаполисом, невозможно: в том же районе прописаны тысячи людей. Но эти тысячи людей совсем не обязательно и работают в одном и том же небольшом районе. Поэтому добавление к “запросу” второго параметра – приблизительный адрес места работы, район – моментально урезает число вариантов до минимума.
Пользователь “вычислен персонально”.
Более того, можно составить чёткие критерии, когда программа “извлечения данных” определила пользователя точно, а когда – нет: просто учитывается число оставшихся возможных вариантов.
Да, конечно же, нужны базы данных с адресами, с указанием работодателя и места его нахождения. Но, с другой стороны, такие базы данных существуют, а “недостающие поля в таблицах” можно построить, сведя вместе несколько баз (это ещё и точность увеличивает).
Главное тут вот что: в приведённом решении хитрой задачи достигается “полная анонимность”, “полное обезличивание” на этапе сбора исходных данных; а позже, совсем другими серверами, из этих “обезличенных данных” восстанавливаются вполне точные персональные данные. Такая вот реконструкция алгоритмами data mining.
Кому интересно, вот ссылка на работу с исследованием этой темы: On the Anonymity of Home/Work Location Pairs. Также, около года назад, я писал про очень логически близкие к только что описанной технологии построения поведенческих профилей посетителей веб-сайтов.
Для тех, кто предпочитает сразу тему развивать: подумайте, что, в теории, аналогичная схема сработает и при анализе пользовательского интернет-трафика.
Комментарии (9) »
Кратко этот сайт характеризуется так: здесь можно узнать про технологический прогресс, математику, авиацию, компьютеры, авиационные компьютеры, вооружения, роботов, вооружение роботов, армии мира, астрономию, космические исследования. И иногда о чём-то ещё (
.