Кстати, всё больше появляется громко анонсируемых сервисов, предлагающих идентификацию пользовательских устройств, подключенных к Интернету. (Например, сейчас пишут про некий проект BlueCava, который предлагает подобную идентификацию.) Речь, конечно, не о банальной записи IP-адресов и куки-файлов, а о некоторых более развитых технологиях, позволяющих отличить один компьютер от другого.
То есть, интересно решение, которое основывается только на анализе параметров устройства “снаружи”, скажем, со стороны веб-сайта, и работает для подавляющего большинства сочетаний ОС/браузер/аппаратура. Практические демонстрации решений, идентифицирующих с той или иной точностью браузеры (но не компьютеры) вне зависимости от кук и IP-адресов, известны уже несколько лет. Хороший пример – Panopticlick. Попробуем разобраться, какие вообще есть источники информации для подобной идентификации.
Понятно, что информация о типе, настройке и “комплектации” конкретного браузера, то есть, о доступных дополнениях,”плагинах”, о шрифтах, о поддержке Javascript, об установленном разрешении экрана, плюс о типе используемой операционной системы – всё это позволяет составить некоторый “отпечаток”. Нельзя сказать, что такой отпечаток всегда будет строго уникальным, но “повторяемость” его на практике довольно низка.
Для уточнения нужно двигаться дальше. Точнее – глубже. Можно попытаться использовать параметры, привязанные к оборудованию. Скажем, как уже предлагалось, “дрейф” системных часов, в компьютерах, которые не синхронизируются по времени. Можно попытаться определить тип процессора и характеристики производительности. Как? Например, замеряя скорость выполнения функций, написанных на том же Javascript (скорость существенно зависит от браузера, впрочем) или внутри Flash. Кстати, наверняка широкое поле деятельности тут предложит HTML5.
Понятно, что даже если IP-адреса устройства меняются, то оно всё равно соединяется с веб-сайтом по TCP – поэтому особенности реализации этого протокола, которые можно измерить со стороны сервера, тоже нужно положить в копилку источников информации.
Современные смартфоны содержат набор дополнительных сервисных устройств, информация от которых также может поступать через браузер на удалённый сервер. Например, GPS. Особенности конкретных реализаций интерфейсов вполне себе могут дать дополнительные биты информации для уточнения уникальности устройства.
При этом остаётся только надеяться, что те же смартфоны не передают своих уникальных идентификаторов веб-серверам – потому что в таком случае задача идентификации оказывается решена со всей доступной точностью.
(А заказчиками идентификации не обязательно являются рекламные агентства. Другое очевидное применение: детектирование подозрительных действий при использовании, скажем, банковской системы.)
Комментарии (1) »
Как один из вариантов “навязывания” доступа к Интернету в тех странах, где его блокируют, обсуждаются перспективные “меш-сети”, построенные “стихийно” на базе устройств, розданных непосредственным участникам сети. То есть, у всех пользователей есть некие устройства связи, которые передают данные друг другу, по соседям, оказавшимся в зоне доступа. Если имеется возможность связываться по Wi-Fi, или через сотовую сеть, то эти средства коммуникации также используются. В теории, такая сеть может представлять собой полезный практический инструмент для обмена информации при нахождении участников где-то в городе. Потому что для обеспечения приемлемой связности нужна достаточно высокая плотность узлов, формирующих сеть.
Кроме того, есть ещё целый ряд проблем: например, нужен специальный протокол передачи сообщений, учитывающий возможное длительное нахождение целых сегментов сети и отдельных узлов “в отрыве” от остальных; для того, чтобы обеспечить связь с Интернетом, потребуется набор специальных узлов-шлюзов, имеющих канал “наружу” – это могут быть спутниковые каналы, или стационарная радиосвязь (как вариант).
Но самое занятное вот что: если такие сети будут созданы, то как с ними бороться? Понятно, что раз отключают Интернет, то потребуется и технология отключения всяких “меш-сетей”. Вариант, предусматривающий поиск пользователей и изъятие у них средств связи – нужно рассматривать отдельно, так как он самый эффективный, это понятно. При этом определить местонахождение пользователей несложно, используя другую “сетевую технологию” – сеть из связанных между собой приёмников. Можно, впрочем, и традиционным пеленгатором ограничиться. С другой стороны, оборудование пользователей может быть устроено таким образом, что сеансы связи очень сложно обнаружить. Тут помогут известные методики с быстрой сменой частот, с одновременной работой нескольких передатчиков на одной частоте, и тому подобные фокусы. Но вот что-то сомнительно выглядит реализация такой технологии в дешёвых и простых базовых коммуникаторах-узлах, это не говоря о сложности соответствующих протоколов. (Хотя, переключение частот – стандартная функция GSM. Но в данном случае это никак не помогает.)
В качестве другого варианта борьбы можно предложить создание помех в радиоэфире. Это метод, содержащий всякие побочные неприятности – нехорошо загрязнять эфир “по площадям”. (Понятно, что если в коммуникаторах всё же реализован механизм смены частот из предыдущего абзаца, то и с помехами возникнут трудности.)
Более изящный вариант такой: противодействующей стороне нужно приобрести в пользование несколько узловых-смартфонов, разобраться с их устройством, активно включиться в сеть и вносить помехи на уровне протокола. Например, рассылать ложные сообщения о доставке пакетов данных, прикидываться другими узлами, активно принимать данные для доставки, но не доставлять их (сообщая, что доставлены) и так далее, и тому подобное. Естественно, сеть можно устроить так, чтобы противодействовать подобным участникам-злоумышленникам. Используя индивидуальные криптографические ключи и некие механизмы формирования “репутации” узлов – можно автоматически определять “вредителей” и игнорировать их. В противном случае, как показывает богатейший опыт Интернета, даже малое число активных узлов противодействия, операторы которых действуют слаженно, быстро сделает невозможной работу всей сети. Тем более, что, в отличие от Интернета, узлы “меш-сети” не управляются квалифицированными администраторами, а находятся в руках неопытных пользователей, непонимающих, что там внутри коробочки происходит. (Возможно, в сеть встроят некую логическую управляющую инфраструктуру, позволяющую контролировать её работу из центра, где и находятся квалифицированные специалисты.)
Что получается в итоге? Получается, что для того, чтобы “меш-сеть”, созданная для “навязывания” Интернета и построения телекоммуникационной среды на некоторой произвольной территории, получила шансы на успех, требуется спроектировать довольно сложные базовые устройства и отладить новые хитрые протоколы связи. А иначе сеть подавят практически так же быстро, как и обычный локальный сегмент Интернета. То есть, затраты на получение подобной технологии и на её использование, оказываются очень ощутимыми. Пойдут ли на такие затраты?
Комментарии (6) »
В продолжение темы про IPv6. У этого нового протокола есть интересное математическое (вычислительное, если хотите) отличие от IPv4. Так, в старом протоколе есть не более 232=4294967296 (около 4 млрд) потенциально различимых адресов. Предположим, что мы задумали каждому возможному адресу сопоставить один байт с некоторой информацией. Массив займёт примерно 4 гигабайта. Это объём ОЗУ обычного современного настольного компьютера. То есть, подобные таблицы, “перечисляющие” некоторым образом всё пространство IPv4, можно “ворочать” без особых вычислительных затрат. Не важно, для чего используются такие массивы-таблицы, для обозначения каналов доставки пакетов, для подсчёта обращений к некоторым узлам, для балансировки нагрузки глобально доступных сервисов или для чего-то ещё. Главное, что возможен простой, “прямой” способ работы со всем множеством адресов.
Реализовать подобное для IPv6 – не выйдет. 2128 элементов невозможно уместить в память никакого существующего суперкомпьютера. Хуже того, их невозможно даже перебрать за разумное время ни на каком суперкомпьютере. Другими словами, множество адресов IPv6, перечислимое математически, не “перечислимо” в суровой программистской реальности, потому как “нет таких компьютеров”. Казалось бы – ну и ладно, кому нужны эти гигантские таблицы?
Но, похоже, эта особенность IPv6 громко аукнется. Так, блоки IPv6-адресов уже нарезают многочисленными кусочками (мощность позволяет же), для которых нужно будет строить не только маршруты доставки пакетов, но и всякие сопутствующие элементы, типа обратных зон DNS для серверов, попавших в данный блок адресов, или записей в “инфраструктурных” базах данных (спам-фильтры, справочники по обмену трафиком, списки “проксей”, геолокационная привязка – можно ещё много придумать). И если раньше, с IPv4, рост объёмов “сопутствующей” информации был ограничен вполне себе обозримым пределом, то IPv6 даёт разгуляться так, что и поддержка обратных зон, как задача, может легко подобраться к границе практической разрешимости.
Хотя, понятно, конечно, что “на свободе” не должно ходить IPv6-адресов сильно больше, чем существует устройств, способных такие адреса использовать.
Комментарии (6) »
Мы тут обсуждаем смартфоны и сходную продукцию (ключевые слова: Apple, Android), в том смысле, что если сильно беспокоиться о том, что подобные устройства активно шпионят за “носителем” и “сливают информацию в центр”, то совсем нельзя пользоваться современными, удобными технологиями коммуникации. Действительно, удобно – и альтернативы нет. Куда податься? Ответ теоретика такой: в сторону открытых аппаратных платформ (ОС с открытым исходным кодом и так уже есть).
Проблема в том, что инициативы по созданию открытой аппаратуры для сотовой связи пока существуют в крайне далёком от практического использования состоянии, к сожалению. Но более или менее живые проекты есть. Смотрите, например, в сторону OpenBTS. Технологии дешевеют, поэтому создать открытую платформу “для гиков” реально. Обычным пользователям, понятно, это не интересно. Именно из-за отсутствия такого интереса никто из коммерческих телекоммуникационных гигантов не выпускает ничего подобного.
Впрочем, есть и ещё одна проблема, и она гораздо круче чисто технических трудностей аппаратуры: сейчас ужесточают отслеживание операторами связи уникальных идентификаторов оборудования (IMEI). Это глобальные идентификаторы. Соответственно, если эта тенденция разовьётся, то могут появиться дополнительные ограничительные меры по допуску конкретного оборудования (не SIM-карты!) в сеть провайдера. Ну, раздадут ключи по коммерческим производителям “шпионских” смартфонов, а открытую платформу просто не будут авторизовать в сети связи, даже при использовании вполне легальной SIM-ки. И открытая платформа окажется бесполезной в реальной жизни, так как большие сети под неё силами энтузиастов не построить.
Комментарии (5) »
Сейчас вот бурно обсуждают растиражированное заявление представителя Microsoft о том, что корпорация раскроет для специальных служб исходные коды Skype. (Такое раскрытие – это обычная разумная практика: если исходные коды ПО хороши, то вообще нет смысла их прятать, ага.) Сложилась какая-то путаница с отношением этого факта “потенциального раскрытия” к алгоритмам шифрования Skype (как известно, шифрование в этом инструменте голосовой связи давно являлось одним из инструментов маркетингового продвижения). Алгоритм шифрования тоже нет никакого смысла скрывать. Это хорошо, если используется опубликованный алгоритм. Плохо, если некий “секретный”. Очевидно, что используемый алгоритм можно восстановить по исходникам – не понятно, зачем об этом сообщают, как о новости. Хитрость-то не в этом.
Хитрость в том, что исходники сильно упрощают обнаружение дефектов в реализации добротного алгоритма шифрования (дефектов, намеренно внесённых или из-за ошибки разработчиков – не так важно). Дефекты в реализации могут позволить провести вскрытие шифрованного трафика малыми силами, вне зависимости от того, насколько стоек исходный алгоритм.
То есть, можно использовать хоть четырёхкилобитный ключ, но если при этом все значения битов ключа из-за ошибки в коде, через кривой буфер, утекают в “шифрованный” трафик – стойкость ключа уже не имеет значения: достаточно знать, в каких позициях зашифрованных блоков брать значения ключевых битов. И эти позиции можно легко вычислить, имея на руках исходный код. Впрочем, в данном сильно утрированном примере, можно всё вычислить и без исходников, просто подсовывая в программу заданные, правильно подобранные ключи/открытые тексты и выполняя анализ результатов шифрования.
Другими словами, если Skype был кривым внутри, в смысле криптографии, то и раскрытие/нераскрытие исходников никак ситуацию для пользователей не ухудшит (разве что улучшит, кстати, если ПО будет получать соответствующие сертификаты).
Комментарии (9) »
Благодаря бурному развитию технологий, методы определения местонахождения интернет-пользователя, обратившегося, например, к вашему интернет-сервису, приобрели чрезвычайную гибкость и эффективность. Если собрать методы вместе, то получается примерно вот такой (от простого к сложному) расклад.
Самое простое, это поиск IP-адреса пользователя в той или иной “геолокационной” базе. Такие базы содержат сведения о том, в какой регион выделялся данный IP-адрес. Так как первоисточником тут являются интернет-регистратуры, а уточнения часто делаются лишь по информации от провайдеров, то точность низкая. Определить местоположение “до дома” не выйдет.
Есть способы, позволяющие координаты уточнить. Не менее простой, чем запрос в “геобазу”, способ: можно прямо попросить пользователя самостоятельно указать собственное местоположение (есть популярные сервисы в Интернете, предлагающие передать такую информацию). А можно запросить точные данные автоматически, если у пользователя устройство, с которого он ходит по просторам глобальной Сети, оборудовано приёмником GPS или другим инструментом для определения собственных координат. Ну, да, понятно, что пользователь должен там какие-то соглашения принять – но вряд ли многие отказываются. Таким способом работают провайдеры сервисов для разных приложений в смартфонах. И тут требуется собственная база данных, куда записывается собранная информация.
Другой вариант: со стороны сервера можно построить (“оттрассировать”) сетевой маршрут до клиентскогого IP-адреса (с некоторой точностью, понятно). Если точно известно местоположение последнего перед клиентом узла, то можно предположить, что и клиент где-то неподалёку от этого узла находится. Опять же, работает не во всех случаях, но в большинстве.
Дальше эффективность можно повышать, комбинируя собранные данные. Например, если у нас уже есть несколько IP-адресов, с известными координатами и сетевыми маршрутами, при этом у других адресов конечные точки маршрутов такие же, то логично предположить, что эти адреса расположены там же, где и ранее исследованные. Для уточнения логично использовать маршруты, построенные из разных точек Сети (реализуется несложно, достаточно арендовать серверы в различных дата-центрах по всему миру). При этом, о положении других адресов можно было узнать от пользователей, или от приложений, работающих на устройствах таких добрых пользователей.
Геопривязку не требуется ограничивать IP-адресами. Подходят другие уникальные идентификаторы, например, куки, выданные пользователям какого-то сервиса. Собственно, куки хорошо дополняют IP-адреса.
Другой дополняющий фактор – время. Время передачи пакетов между клиентом и сервером также связано с их относительным географическим положением. Правда, так как топология здесь задаётся сетью передачи данных, то само по себе измерение времени точных данных о местоположении пользователя не даст, но при использовании дополнительных сведений позволит сильно уточнить координаты.
Ещё один источник сведений, правда, косвенный, это DNS. Так как обычный пользовательский компьютер выполняет поиск в DNS при помощи резолвера доступного в данный момент интернет-провайдера, и эти резолверы могут меняться, то, отслеживая запросы на подконтрольных NS (серверах имён), можно вычислить и провайдера, и дополнительные сведения о местоположении пользователя. Такой подход особенно помогает, если пользователь ходит из-за NAT, то есть, снаружи виден под некоторым “общим” IP-адресом.
И, похоже, это ещё не все способы.
Комментарии (8) »
Зарисовки практического освоения IPv6. 8 июня проводится всемирный день IPv6. Соответственно, нужно подготовиться. Что выясняется: во-первых, шишки набиваются при внедрении нового протокола на пользовательских рабочих местах; в теории всё ПО (в том числе ОС) готово и должно работать, на практике оказывается, что по отдельности работает, а вот чтобы вместе – нет, тут наблюдаются неожиданные эффекты, типа автоматического получения ОС Windows сразу нескольких адресов для одного интерфейса, потому что так были восприняты анонсы ближайшего роутера.
Во-вторых, админы пока не воспринимают новый протокол как неотъемлемую часть админской реальности: нужно понимать, что в ближайшие годы придётся жить с двумя протоколами, соответственно нужно “задвоить” все навыки и прикладные настройки. На практике выходит, что для одного и того же прикладного использования (например, отправка электронной почты), где IPv4-доступ настроен раньше, при вводе IPv6 внести соответствующие изменения в контроль доступа забывают. Хотя, казалось бы, для одной и той же физической машины, получившей IPv6 в дополнение к v4, нужно автоматом сохранить все прикладные доступы.
В-третьих, очень интересной станет жизнь у веб-разработчиков: у многих скриптов будет начисто сносить крышу после того, как веб-сервер вместо привычных IPv4 принесёт в переменные окружения новую запись новых адресов. Там проблем уже сейчас просматривается много, а ещё больше запрятано внутри всяких фильтров и валидаторов. Ещё веселья добавит только что упомянутый факт, что речь не идёт о пересаживании с v4 на v6 – будет сразу два протокола.
И текущий расклад подтверждает простую мысль: дешевле всего будет строить IPv6-инфраструктуру с нуля, а не обновлять существующую.
Вот.
Комментарии (13) »
Занятно: в консорциуме W3C недавно создана рабочая группа, задача которой состоит в создании API и стандартов для прямых межбраузерных коммуникаций. Прямых – в том смысле, что браузеры для связи на прикладном уровне не используют промежуточных (центральных) серверов. Получается децентрализованная система, построенная на базе самих браузеров, и таким образом реализующая некий сервис для пользователей (идейно это всё аналогично сетям P2P, понятно).
Так, в описании задач упомянутой группы сказано про аудио-, видеосвязь между пользователями. Можно вспомнить, что в Skype как минимум для установления соединения необходим центральный сервер. Есть системы коммуникаций на базе Интернета (всякие ICQ тому пример), которые вообще работают только через центральный сервер. В W3C думают над P2P-заменой такому безобразию.
Возможно, аудио-, видеосвязь станут тут только началом. Если вообще что-то придумают, конечно. Интересно, что такие сервисы в некотором роде формируют противовес всяким новомодным “облачным решениям”: вся техническая база находится на пользовательском компьютере и при наличии некоторой “среды связи” такой пользователь может общаться с другими. С другой стороны, пользователи всё равно зависят от поставщика услуг связи (“центра”): кто-то ведь им предоставил доступ к Интернету?
(Тему подсказал Vladimir Dyuzhev.)
Комментарии (6) »
Из многих футурологических новшеств среди самых вероятных кандидатов на появление в обозримом будущем – очки, позволяющие просматривать “дополненную реальность”. (Идеальные очки такого типа должны иметь хороший встроенный проектор изображения, вероятнее всего, на основе лазера, ещё потребуется фиксировать перемещение глаза.) Вполне вероятно, что подобные очки сперва, по традиции, появятся в перечне военного снаряжения, став основным индикатором. Не так давно обсуждали, что такие очки годятся для отображения самой разной информации (можно, к примеру, выводить данные от персонального сенсора запахов).
Другой вариант напрашивается: использовать мощь “дополненной реальности” и для вывода визуальной информации обо всех доступных для измерения электромагнитных полях, окружающих пехотинца. Многие “техногенные” поля не так сложно измерить с достаточной точностью. Но вот с полезным применением полученной информации возникают трудности: поле, понятно, измеряется возле самого пехотинца; при этом вычислить, какая именно конфигурация полей в окружающем пространстве (пусть в ближайшем), привела к возникновению результата измерения в данной точке – обычно невозможно. Для того, чтобы можно было что-то сказать о распределении полей и их источников требуется проделать измерения в нескольких точках, и синхронизировать результаты по времени. Да, наверное, можно было бы сделать довольно большую антенну, распределив её по обмундированию. Но это чрезвычайно сильно увеличивает заметность пехотинца для радаров, что плохо.
Можно записывать показания пассивных приёмников при перемещении бойца, а потом получать некую двумерную (для трёхмерной данных не хватит) картину полей, сводя вместе данные измерений за некоторый промежуток времени. Но тогда любые непредсказуемые изменения в характеристиках этих полей, произошедшие на протяжении временного шага измерения, круто изменят картину – сведение вообще потеряет смысл. Кроме того, возникают трудности с фильтрацией множества принимаемых сигналов.
Выходит, что “накладывание картинки” на изображение реальности, в случае с анализом электромагнитных полей, имеет очень ограниченное применение: требуется, чтобы была подробная информация о характеристиках источника поля – вот тогда можно что-то полезное вычислить в режиме онлайн. Другими словами, если сцену подсвечивает самолёт ДРЛО или, например, спутник GPS, то можно “увидеть” скрытые за стенами и кустами объекты. А если никто не подсвечивает, то и толку от электромагнитного слоя в интерфейсе “дополненной реальности” не много.
Комментарии (8) »
Кратко этот сайт характеризуется так: здесь можно узнать про технологический прогресс, Интернет, математику, авиацию, компьютеры, авиационные компьютеры, вооружения, роботов, вооружение роботов, армии мира, астрономию, космические исследования. И иногда о чём-то ещё (
.
Недавние комментарии:
Полёт и наблюдение пули
Управление пулями, баллистика
Управление пулями, баллистика
Ссылки: следим за доменом РФ – снижение
Полёт и наблюдение пули
Полёт и наблюдение пули
Полёт и наблюдение пули
Ссылки: следим за доменом РФ – снижение
Полёт и наблюдение пули
Полёт и наблюдение пули
Полёт и наблюдение пули