Как защитить данные, передаваемые по каналам беспроводной связи
Технология Bluetooth была разработана в середине 90-х как средство для подключения к компьютеру беспроводной клавиатуры, но вскоре стало ясно, что она не только избавляет нас от нагромождения кабелей, но и обеспечивает решение множества других задач. Сегодня Bluetooth находит самое широкое применение: в настольных компьютерах, в ноутбуках, в карманных компьютерах и мобильных телефонах, а также в целом ряде периферийных устройств. Корпорация Microsoft реализовала в системе Windows XP Service Pack 2 (SP2) полный набор средств связи стандарта Bluetooth для настольных и портативных систем, а в Windows CE — такие же средства для смартфонов и систем Pocket PC. Сегодня Bluetooth обеспечивает взаимодействие беспроводных телефонных гарнитур с телефонами и компьютерами, обмен данными между портативными компьютерами и «электронными секретарями», с одной стороны, и мобильными телефонами, а также встроенными модемами — с другой, служит средством для обмена электронными визитными карточками и позволяет распечатывать документы, а также создавать персональные сети (PAN, Personal Area Network), и это только некоторые новые сферы применения данной технологии. Устройства Bluetooth, как и изделия, реализующие родственную и более известную технологию беспроводной связи Wi-Fi, подвергаются атакам хакеров, а лексикон специалистов в области защиты данных в последние месяцы пополнился такими терминами, как Bluejacking и Bluesnarfing. В этой статье мы познакомимся с основами технологии Bluetooth, в том числе с ее средствами защиты и с потенциальными угрозами, а также подробно рассмотрим процесс защиты системы с Bluetooth от возможных атак.
Как работает Bluetooth
Чтобы понять, с каким риском сопряжено использование технологии Bluetooth, необходимо разобраться с основами ее функционирования. Связь между устройствами осуществляется с помощью радиопередатчиков Bluetooth, которые функционируют в частотном диапазоне 2,4 ГГц. Этот диапазон, повсеместно выделяемый для использования промышленными, научными и медицинскими организациями, представляет собой общедоступный ресурс, которым пользуются другие службы — в первую очередь устройства Wi-Fi стандартов 802.11b и 802.11g. Разработчики Bluetooth понимали, что в данном диапазоне возможны значительные помехи, потому предложенный ими стандарт реализует технологию передачи информации с расширением спектра радиосигнала путем скачкообразной перестройки частоты, которая предусматривает использование 79 каналов по 1 МГц каждый. Ежесекундно радиопередатчик устройства Bluetooth совершает 1600 скачков с одного канала на другой. Радиосредства Bluetooth потребляют небольшую мощность — как правило, порядка 1 мВт, — а их радиус действия составляет 10 м, хотя стандарт позволяет задействовать радиопередатчики мощностью до 100 мВт с радиусом действия до 100 м.
Технология Bluetooth используется главным образом для установления временных соединений и не требует наличия узлов доступа (Access Point, AP). В сети типа piconet каждое устройство может устанавливать соединения с несколькими другими устройствами (до восьми). Как и в сетях Wi-Fi и в проводных сетях, каждое устройство Bluetooth имеет уникальный 48-разрядный адрес, который называется адресом устройства Bluetooth. Стандарт Bluetooth определяет профили или услуги, которые могут оказывать устройства. В числе этих профилей — профиль Generic access, профиль Serial port, профиль Generic Object Exchange, а также профили, формируемые на основе перечисленных, такие как профиль Human interface device для клавиатур и мышей, профиль Dial-up networking для доступа с помощью модема и профиль Headset profile для беспроводных телефонных гарнитур.
Чтобы два оснащенных микросхемами Bluetooth устройства могли приступить к обмену данными, им необходимо распределиться по парам. Образование пар есть процесс, в ходе которого устройства «договариваются» о взаимодействии. Этот процесс начинается с того, что одно оснащенное Bluetooth устройство осуществляет поиск другого. Инициирующее поиск устройство выполняет проверку, направляя запрос по 32 из 79 радиоканалов. На экране 1 показаны результаты такой проверки. Устройства, желающие быть обнаруженными, «прислушиваются» к запросам и отвечают на них с указанием своих адресов Bluetooth, а также некоторых дополнительных данных. Затем выполняющее поиск устройство направляет соответствующему компаньону (по адресу устройства Bluetooth) запрос страницы; именно в этот момент выполняющее поиск устройство получает статус главного устройства (master). Когда некое устройство отвечает на запрос страницы, оно становится подчиненным (slave). В этот момент устройства еще не образовали пару, однако главное устройство может направить запрос на «описательное имя» (friendly name) подчиненной системы. Описание может быть фиксированным, но часто бывает изменяемым; в состав описания, идентифицирующего устройство, может входить до 248 байт данных.
После обнаружения устройств система, выполнявшая поиск, обычно выбирает устройство, с которым составит пару. Метод образования пар зависит от того, в каком режиме безопасности функционируют устройства Bluetooth. Всего существует три таких режима.
Режим безопасности 1: устройство не требует ни аутентификации, ни защиты соединения между двумя устройствами с помощью шифрования.
Режим безопасности 2: устройство не требует ни аутентификации, ни защиты соединения средствами шифрования при установлении связи.
Следовательно, задача обеспечения безопасности возлагается на канал или на процедуру подключения, которое устанавливается, когда выполняемые на устройствах приложения вступают во взаимодействие.
Режим безопасности 3: устройство требует аутентификации и, возможно, шифрования данных.
В таблице показаны результаты взаимодействия двух устройств, функционирующих в различных режимах безопасности. Без аутентификации канал связи между двумя устройствами не может быть зашифрован. Если аутентификации не требуется, устройства будут просто соединены. Вопрос о необходимости аутентификации и о возможном шифровании может быть поставлен в том случае, когда главное устройство пытается обратиться к службе подчиненного устройства, доступ к которой невозможен без выполнения этих операций.
В качестве примера приложения, не требующего аутентификации или шифрования, можно назвать обмен электронными визитными карточками между двумя устройствами, оснащенными средствами Bluetooth. Если же требуется аутентификация — например, в случае, когда ноутбук подключают к телефону, с тем чтобы использовать его профиль Dial-up networking, — и главное, и подчиненное устройства требуют предоставления общего ключа (passkey). И хотя в ряде случаев общий ключ может быть фиксированным — это относится к некоторым устройствам Bluetooth, не имеющим пользовательского интерфейса, например к беспроводной телефонной гарнитуре Bluetooth, — запрос обычно поступает к пользователю, который и вводит соответствующее значение в оба устройства Bluetooth. Стек Bluetooth на устройстве обычно использует этот общий ключ (кстати, никогда не передаваемый от одного устройства к другому) для генерации временного ключа инициализации; последний затем применяется для защиты данных при передаче ключа устройства либо специальных данных ключа, на базе которых генерируются комбинированные ключи. Полученный таким образом ключ устройства или комбинированный ключ становится ключом соединения. После создания ключа соединения его обычно сохраняют в базе данных, благодаря чему отпадает необходимость в повторении процесса образования пары при следующей попытке установить соединение между устройствами.
При обмене данными между двумя устройствами адреса Bluetooth главного и подчиненного устройства не используются. Сеанс связи обеспечивается кодом доступа, который формируется на базе адреса устройства Bluetooth, идентифицирующего главное устройство в сети типа piconet, а это главное устройство назначает каждому подчиненному устройству трехразрядный логический транспортный адрес. Каждое устройство в такой сети piconet исследует полученные пакеты на предмет наличия в них кода доступа, принадлежащего к той сети piconet, членом которой это устройство является. Если пакет содержит неизвестные коды доступа, устройства piconet отбрасывают их. В пакетах, содержащих действительные коды доступа, подчиненное устройство отыскивает логический транспортный адрес, чтобы определить, адресован ли этот пакет именно ему. Главные устройства обрабатывают все полученные пакеты с действительным кодом доступа и с помощью логического транспортного адреса определяют, кто именно отправил этот пакет. Когда необходимо шифровать данные, передаваемые между главным и подчиненным устройствами, системы Bluetooth формируют ключи шифрования на базе четырех составляющих: ключа соединения, который главное и подчиненное устройство сгенерировали в ходе процедуры образования пары; результата последней операции аутентификации; счетчика каждого устройства и произвольного числа, известного как главному, так и подчиненному устройству. Шифруется лишь полезная информация, содержащаяся в пакетах; заголовки передаются открытым текстом.
При использовании шифрования счетчик подчиненного устройства обновляется всякий раз, когда оно обменивается данными с главным устройством; таким образом обеспечивается их синхронизация. Если несовпадение сигналов счетчиков становится слишком большим, может возникнуть ситуация, при которой два устройства будут не в состоянии взаимодействовать; дело в том, что идентифицирующий главное устройство адрес устройства Bluetooth и параметры счетчика определяют радиоканалы, используемые главным и подчиненным устройствами, а также схему частотных скачков. Рассогласование частотных счетчиков — одна из причин, вызывающих необходимость повторного осуществления процедуры образования пары.
Bluestumbling, Bluesnarfing и Bluejacking
За последние месяцы в средствах массовой информации появился целый ряд сообщений о лазейках в системе безопасности Bluetooth. Правда, самые сенсационные обвинения касаются не самого стандарта Bluetooth, а конкретных реализаций стека Bluetooth и служб. Перечислим наиболее распространенные атаки с использованием этих уязвимых мест.
Bluestumbling — процесс, позволяющий хакеру обнаруживать устройства Bluetooth, расположенные в непосредственной близости, и в первую очередь устройства, функционирующие в режиме безопасности 1, либо дефектные устройства, допускающие обращения к службам без прохождения аутентификации.
Bluesnarfing — получение информации от устройства Bluetooth без предварительного образования пары. Целью первых атак Bluesnarfing было получение информации о контактах, которая хранилась на мобильных телефонах различных марок, изготовленных известными производителями. Злоумышленники пользовались недостатками в реализации стандарта Bluetooth в этих устройствах — недостатками, которые позднее были признаны изготовителями и устранены.
Bluejacking — атака с использованием особенностей профиля Object Exchange (OBEX). Этот профиль предназначен для обеспечения обмена данными (скажем, электронными визитными карточками или записями в календарях) между двумя оснащенными средствами Bluetooth устройствами без обязательной аутентификации. Когда одно устройство направляет некоторые данные на другое, получающее устройство отображает эту информацию в своем формате и затем спрашивает пользователя, нужно ли сохранять эту информацию. При совершении атаки Bluejacking отправитель изменяет содержимое поля «Имя» отправляемого сообщения, помещая в нем короткий текст. Bluejacking можно определить как спам на платформе Bluetooth.
Когда канал связи между двумя устройствами не защищается с помощью шифрования, злоумышленник может с легкостью выдать себя за одно из устройств и направить на другое устройство фальсифицированные пакеты. Еще одна проблема, типичная для определенного класса устройств Bluetooth, таких как не наделенные пользовательскими интерфейсами беспроводные телефонные гарнитуры, — это использование хакерами фиксированных общих ключей (которые часто бывают общедоступными). Если устройство является подчиненным и может быть обнаружено, располагающий общим ключом злоумышленник способен без особых хлопот подключиться к нему, причем, как правило, он даже не знает, кто является владельцем захваченного устройства.
Еще одна проблема связана с использованием ключей устройств несколькими устройствами. Напомню, что изделия Bluetooth в процессе разбиения по парам генерируют ключ устройства или комбинированный ключ и используют его в качестве ключа соединения. Комбинированный ключ состоит из специальных данных, полученных как от главного, так и от подчиненного устройства. Однако, если ключ устройства создается либо главным, либо подчиненным устройством, используют его все взаимодействующие устройства. Если одному устройству (устройству A) известен ключ устройства, с которым оно образует пару (устройства B), то устройство A впоследствии сможет выдавать себя за устройство B при условии, что устройство A будет иметь возможность манипулировать адресом устройства Bluetooth, идентифицирующим изделие B. Даже если устройство A не сможет манипулировать адресом устройства, идентифицирующим изделие B, устройство A сможет прослушивать каналы связи между изделием B и любым другим устройством, с которым взаимодействует изделие B, — если устройство A может прослушивать канал первоначального соединения.
Беспокойство могут вызывать и реализации стандарта Bluetooth изготовителями устройств. Аутентификация и шифрование данных, которыми обмениваются устройства Bluetooth, становятся возможны благодаря тому, что обоим составляющим пару устройствам известен некий общий секрет — ключ соединения. Если этот ключ попадает в руки злоумышленников, они могут организовать прослушивание соединения между спаренными устройствами. В некоторых системах Bluetooth базы данных, где хранятся ключи каналов связи, не имеют достаточной защиты.
Пожалуй, наибольшее беспокойство вызывает то обстоятельство, что технология Bluetooth не обеспечивает анонимности пользователей. Если на вашем устройстве активизированы средства Bluetooth, следует исходить из того, что конфиденциальные данные могли стать достоянием третьих лиц. Сегодня сфера применения технологии Bluetooth ограничивается в основном мобильными устройствами и настольными компьютерами. Но нетрудно представить такое время, когда она будет реализована в торговых автоматах, которые будут отпускать покупателям товары и направлять счета на их мобильные телефоны, оснащенные средствами Bluetooth. В таких условиях появится множество способов использования персональных данных участников подобных операций и сведений об их действиях в ущерб интересам их же самих. Первое, что приходит в голову, — это выставление счетов через телефон. Для выставления счетов нужно будет записывать связанный с пользователем уникальный идентификатор — такой, как адрес устройства Bluetooth. Второй способ вторжения в частную жизнь пользователя обеспечивается функцией обнаружения оснащенных средствами Bluetooth устройств посредством многократного выполнения процедуры сканирования. Вернемся к примеру с торговым автоматом. Если настройки устройства Bluetooth позволяют его обнаруживать и если адрес устройства Bluetooth общеизвестен и связан с вами лично, прослушивающий каналы связи хакер сможет установить, что вы проходили мимо этого торгового автомата в определенный день и час, даже если ничего и не купили. Третьим методом посягательства на конфиденциальность персональных данных пользователя злоумышленники могут воспользоваться даже в том случае, если его устройство настроено так, что его нельзя обнаружить — достаточно, чтобы канал связи между двумя устройствами (например, между мобильным телефоном и беспроводной телефонной гарнитурой) был активным. Если осуществляющая скрытый мониторинг система (торговый автомат) может перехватывать сообщения, которыми обмениваются устройства в процессе формирования пары, и способна завладеть кодом доступа сети piconet, этой станции остается только дождаться, когда в одном из таких сообщений пройдет данный код доступа. А если код доступа к сети piconet может быть связан с вами каким-либо иным образом, отпадает необходимость в перехвате сообщений активных устройств, выполняющих операцию образования пары. Известно, что стандарт Bluetooth по идее имеет и другие слабости, однако некоторые из них исключительно сложно использовать, поэтому в данной статье я не стану далее развивать эту тему. Для получения более полной информации по вопросу можно обратиться на официальный Web-сайт Bluetooth (http://www.bluetooth.org) и познакомиться со специальной публикацией Special Publication SP 800-48 «Wireless Network Security»(http: //csrc.nist.gov/publications/nistpubs/800-48/ NIST_SP_800-48.pdf) Национального института стандартов и технологии (NIST, National Institute of Standards and Technology) или с подготовленной специалистами фирмы @stake статьей «War Nibbling: Bluetooth Insecurity» (http://www.atstake.com/research/reports/ acrobat/atstake_war_nibbling.pdf).
Безопасное применение технологии Bluetooth
Главное правило безопасного применения этой технологии — отключайте все, чем не собираетесь пользоваться, — поистине бесценный совет для всех пользователей оснащенных средствами Bluetooth устройств. Если ноутбук, карманный компьютер или мобильный телефон оснащены средствами Bluetooth и эти средства не используются, лучше отключить их. В таком случае никто не сможет использовать слабые места в реализации или в настройках вашего устройства, а кроме того, это даст существенную экономию ресурса батарей. Тем, кто обращается к средствам Bluetooth лишь от случая к случаю, я рекомендую всегда отключать Bluetooth в ситуациях, когда они не нужны. Я, например, использую средства Bluetooth на своем КПК для синхронизации данных с настольной системой и отключаю Bluetooth на обоих устройствах, когда не пользуюсь этой связью. Кроме того, за рулем я надеваю телефонную гарнитуру, на которую по каналам Bluetooth поступают сигналы от мобильного телефона, и обязательно отключаю Bluetooth, когда он мне не нужен.
Если отключить средства Bluetooth невозможно — скажем, в ситуации, когда вы используете сотовый телефон в качестве модема, — я рекомендую внимательно проследить за тем, чтобы устройство было настроено как необнаруживаемое. Как правило, средства Bluetooth могут функционировать в двух режимах: «включено» и «включено и может быть обнаружено». Пользователи ноутбуков Windows XP SP2 могут переводить свои системы в режим необнаруживаемых следующим образом. В окне панели управления нужно открыть оснастку Bluetooth Devices, выбрать закладку Options и сбросить флажок Turn discovery on, как показано на экране 2. Применительно к карманным компьютерам и сотовым телефонам эта процедура выполняется по-разному, в зависимости от конкретного устройства. Я, например, перевожу в «невидимый» режим свой смартфон на базе Windows так: в меню Start последовательно выбираю элементы Settings, Bluetooth, Bluetooth и перевожу устройство Bluetooth телефона в режим Off или On, внимательно следя при этом, чтобы функция Discoverable была отключена.
Если требуется соединить два устройства Bluetooth, я рекомендую воздерживаться от выполнения этой операции в людных местах, таких как станции пересадок или кафе. Лучше выбрать какой-нибудь уединенный уголок, где шансы наткнуться на охотника за сигналами Bluetooth минимальны. Чтобы начать процедуру соединения, потребуется перевести одно из устройств в режим discoverable. Никогда не следует выставлять «напоказ» оба устройства, и всегда нужно переводить подчиненное устройство в невидимый режим по завершении операции. При работе на настольной системе с подключенными по каналам Bluetooth клавиатурой и мышью средства связи Bluetooth должны быть включены, но это не значит, что они должны функционировать в режиме discoverable.
При создании соединения двух устройств необходимо при всякой возможности защищать канал связи между ними с помощью средств аутентификации и шифрования. На экране 3 показано диалоговое окно, которое отображается на экране в тех случаях, когда я пытаюсь соединить свою настольную систему Windows XP SP2 и смартфон. Если общий ключ не применяется, пользователь может активизировать средства аутентификации и шифрования. В рассматриваемом примере я решил, что общий ключ мне предоставит Windows, и система, как показано на экране 4, предложила мне ввести этот общий ключ в смартфон.
В большинстве версий протокола Bluetooth, включая версию Windows XP SP2, имеются функции, блокирующие подключение устройств Bluetooth к системе и извещающие пользователя о попытках установления соединений со стороны имеющих на то санкцию устройств. Переключатели, управляющие этими функциями, показаны на экране 2 на вкладке Options. Авторы некоторых версий идут еще дальше и предоставляют пользователю возможность задействовать режим, при котором к главной машине могут подключаться лишь устройства, предварительно прошедшие процедуру установления соединения.
Тем, кто осуществляет соединение нескольких устройств Bluetooth, я советую для каждой пары выбирать уникальный и произвольный общий ключ. Таким образом вы исключите возможность повторного использования ключа хакером в том маловероятном случае, если ему удастся этот ключ взломать. Если соединение потеряно или нарушено и вам нужно опять объединять эти ранее связанные устройства, я рекомендую применить другой общий ключ.
Повышенного внимания заслуживает версия Bluetooth, реализуемая в персональных сетях (PAN), особенно в таких, которые обеспечивают доступ к Internet через соответствующим образом оборудованные сотовые телефоны. Подключаясь к другим устройствам сети PAN, пользователь, в сущности, устанавливает соединение на базе протоколов TCP/IP. Windows XP SP2 поставляется с усовершенствованной версией брандмауэра Internet Connection Firewall (ICF), иначе именуемого Windows Firewall. Перед тем как создать персональную сеть или использовать средства Dial-Up Networking, нужно убедиться, что соединение должным образом защищено с помощью брандмауэра Windows Firewall. На экране 5 показана закладка Advanced доступной из панели управления оснастки Windows Firewall, на которой обозначено, что соединение Bluetooth Network Connection защищено с помощью брандмауэра.
Наконец, приобретая устройства Bluetooth, следует обязательно ознакомиться со средствами защиты изделий, которые вам приглянулись. К примеру, полезно выяснить, какие ключи каналов связи используются — комбинированные либо ключи устройств. Если речь идет об устройствах, не имеющих пользовательских интерфейсов, куда можно было бы вводить общий ключ, нужно узнать, какой фиксированный ключ используется при работе с тем или иным изделием — общий для всех систем этого типа или имеющий некоторые уникальные, характерные лишь для данного устройства особенности. Но важнее всего убедиться в том, что заинтересовавшие вас устройства обеспечивают защиту соединения между двумя системами с помощью средств аутентификации и шифрования.
Будущее технологии Bluetooth
Радиопередатчиками Bluetooth оснащаются все новые категории устройств, и в дальнейшем популярность этого стандарта будет только возрастать. Но чем больше будет распространяться технология Bluetooth, тем чаще нам придется слышать об уязвимых местах этого протокола и его реализаций. Eсли следовать рекомендациям, изложенным в данной статье, то можно максимально обезопасить работу с системами Bluetooth. Для эффективного использования рассматриваемого стандарта (хотя, разумеется, сказанное будет справедливо и для любой другой информационной технологии) необходимо включить в процессы управления исправлениями ряд дополнительных мер. Речь идет о средствах анализа сообщений о недостатках системы защиты Bluetooth, способах выявления угроз, которые они представляют для организации, и своевременном установлении обновлений.
Желающие получить более полное представление о новых средствах защиты протокола Bluetooth могут бесплатно завести учетную запись на Web-сайте группы Bluetooth Special Interest Group (SIG) по адресу http://www.bluetooth.org.
Менеджер по вопросам практической реализации центра Microsoft Security Center of Excellence. Имеет сертификаты CISSP. jhowie@microsoft.com