Проблемы одностороннего доступаПредмет данных заметок не ограничивается автомобильными охранами, использующими одну (пусть даже наиболее защищенную) систему кодирования. Практически все описанное имеет общий характер для всех систем одностороннего доступа. В настоящее время наиболее популярной системой кодирования является система Keeloq. Она была разработана южноафриканской фирмой Nanoteq (Pty) Ltd, а позже все права на ее использование перешли к международному концерну Microchip. Сегодня, открыв практически любой брелок сигнализации, Вы можете обнаружить 8-ногую микросхему с буквами HCS, подтверждающую потенциальную возможность работы брелока в составе системы с плавающим кодом. В упрощенном изложении, такой брелок передает в эфир сложную последовательность, часть информации в которой открыта (например, номер брелока), другая - изменяется при каждой передаче. Закон изменения определяется секретным паролем, который известен только производителю (т.н. «стандартный Keeloq»). Приемный блок дешифрует сигнал и, при совпадении номера брелока и принятого кода с ожидаемым, разрешает доступ. Принятый сигнал считается использованным и его повторная передача дверей уже не откроет. Проблема номер ноль (фиктивная): неполноценный KeeloqК сожалению, применение в брелоках микросхем с плавающим кодом еще не гарантирует потребителя от неприятностей. В целях экономии производители иногда пользуются даже не «стандартным Keeloq'ом», а «усеченным». Иначе говоря, несмотря на то, что микросхема выдает в эфир весь код, базовый блок обрабатывает только постоянную часть информации (номер брелока). Экономия программного кода позволяет удешевить как программу, так и использовать более простой и дешевый микропроцессор. Но система превращается в систему с фиксированным кодом и легко снимается любым код-граббером, воспроизводящим длинные кодовые посылки.Также, при использовании «стандартного Keeloq'а» можно внести в программу обработки изменения, превращающие его в фиктивный. Как правило, это касается недорогих систем, склонных «забывать» свои брелоки. В этом случае изменения касаются процедуры синхронизации брелоков. При возникновении проблем у пользователя ему рекомендуют несколько раз нажать на брелок рядом с автомобилем для восстановления синхронизации (иногда при этом рекомендуется еще и «передернуть» питание). Этой дырой в защите можно воспользоваться. Достаточно воспроизвести с помощью код-граббера 2-3 прошедших последовательных кода и автомобиль снимется с охраны. Решать данную проблему не имеет смысла. По возможности, необходимо просто избегать устанавливать (или эксплуатировать) сигнализации подобного типа. Проблема первая: интеллектуальный код-грабберИдея была сформулирована сотрудником фирмы Nanoteq (одним из творцов Keeloq'а) довольно давно (1995 год):
Но одно дело идея, другое — ее функциональное воплощение. Реальная информация о реализации подобного рода устройств появилась намного позже. Вкратце, механизм действия таков:
Проблема может быть решена довольно легко при использовании различных команд (различных кнопок брелока) для постановки и снятия. В простейшем случае кража кода от одной кнопки (постановка) ничего не даст — для снятия нужен и код от другой. Проблема вторая. Длительная блокировка при постановкеВ этом случае попытка обмана владельца осуществляется более грубым (более изощренным) методом. Для достижения поставленной цели используется заградительная помеха с одновременной записью всех переданных в эфир кодов. При этом используется вполне очевидное свойство человеческой натуры — если не работает первая кнопка, дай нажму на вторую — вдруг сработает? Коротко, события развиваются так:
Одним из методов борьбы является абсолютная шифрация кода, когда в нем перестает присутствовать открытая часть, указывающая на номер нажатой кнопки. Это существенно усложняет процедуру обработки украденного кода. Однако, проблема решается полностью только при использовании алгоритма «перескока», когда через короткое время после регистрации последнего кода охрана и брелок синхронно увеличивают свои счетчики ожидаемых/излучаемых кодов. Тем самым, ранее записанные код-граббером коды становятся устаревшими. Проблема третья. Блокирующий код-граббер при постановкеОднако, применив блокирующее воздействие, можно спровоцировать иное развитие событий. Для этого достаточно полностью блокировать радиоканал при одновременной записи всех кодов. Опустив предысторию, переходим к финалу:
Заметим, что если в последнем случае хозяин автомобиля знает о том, что автомобиль не охраняется, то в остальных случаях он будет полностью уверен, что успешно справился с проблемой. К сожалению, данная проблема вообще не может быть решена полностью. Первый случай может и должен быть защищен алгоритмически. Здесь может помочь или принудительный «перескок кода» при постановке в охрану по ручной кнопке, или запрет на отключение охраны последним зарегистрированным системой брелоком. Возможные трудности написания обоих возможных алгоритмов мы опускаем. Каждый может представить их самостоятельно. Искушение воспользоваться «перескоком кода» во втором случае (при автопостановке) велико, однако оно не решает всех проблем. В частности, при обычном пользовании этим режимом (когда кнопка брелока умышленно не нажимается), легко наступает десинхронизация охраны и брелока. Последний вариант является заведомо проигрышным. Проблема четвертая. Блокирующий код-граббер при снятииОт предыдущей отличается ситуационно (моментом атаки владельца автомобиля). Алгоритм описывать нет необходимости. Отметим только, что при этом гарантированно записываются коды, потенциально способные отключить охрану. Сразу переходим к финалам (их два, вернее три):
Простых методов алгоритмической борьбы не существует. Обнадеживает только финал а): переводя на более очевидный язык, его можно сформулировать как «если решил поехать на своем автомобиле — езжай, иначе это сделают другие». Проблема пятая. Системы доступа без нажатия на кнопкуК сожалению, коды практически всех «меток присутствия» или «карт бесконтактного доступа» могут быть считаны дистанционно. При этом не важно, является ли метка или карта самопроизвольно излучающим устройством или она излучает свой код только при наличии внешнего некодированного воздействия (например, ВЧ-поле).В известном смысле, инициализация карты некодированным сигналом даже удобнее для угонщика. Можно инициализировать передачу кода несколько раз, всякий раз считывая код. Сделать это тем более просто, что код передается в точно заданный момент времени, когда эфир заведомо чист. Модуль опроса, изготовленный на основе такой же сигнализации (вместе с задающей антенной и батареей), может быть легко размещен, например, в портфеле. Опять-таки, опустив очевидные действия потенциального угонщика, переходим к результату:
Как легко видеть, использование сервисной функции автоснятия при приближении к автомобилю как минимум разрешает доступ в его салон. С нашей точки зрения, вариант решения только один - точная синхронизация излучаемых и ожидаемых сигналов во времени. Такой алгоритм можно описать фразой «нужный код в нужное время». Проблема шестая. Вскрытие пароляЗаметим, все изложенное выше не более чем использование более или менее очевидных пробелов систем одностороннего доступа. Сам алгоритм Keeloq при этом не взламывается, так как до сих пор никто не научился вскрывать его полностью (производительность современных компьютеров явно недотягивает до требуемой). Для лобового вскрытия по-прежнему требуется вполне астрономическое время (в масштабах существования если не вселенной, то автомобиля — уж точно).Но можно попытаться вычислить тот пароль, которым конкретный производитель шифрует все брелоки («стандартный Keeloq» — см. второй абзац статьи). И в этом случае на вскрытие (при использовании высокопроизводительного компьютера и простом механическом переборе возможных комбинаций) уйдут годы. Естественно, использование сетевых технологий может эффективно уменьшить это время. Поэтому, если потенциальный хакер имеет доступ к разветвленной компьютерной сети (например, это может быть банковская сеть), подбор пароля — вопрос времени. Все равно 99,9 % времени компьютеры перемалывают воздух вентиляторами — пусть лучше пароль подбирают. В этом случае хакером решается гораздо более общая проблема, чем угон конкретного автомобиля. Покушение производится на весь бренд, использующий один пароль. Подобранный пароль позволяет получить доступ ко всем системам, его использующим. В последствии это грозит массовыми угонами, которые могут вообще прервать существование бренда на рынке. В идеале это может выглядеть следующим образом:
Конечно, нас можно упрекнуть, что это больше подходит для сценария ненаучно-фантастического фильма с условным названием «Угнать за 5 секунд». В ответ спросим, а вы вообще-то верите в существование хакеров? Тех самых, которые вскрывают компьютеры Пентагона и Сити-банка? А ведь там пароли подбираются (угадываются, крадутся). И методы подбора давно уже известны. Не надо думать, что мы единственные, кто озаботился этой проблемой. В открытой печати уже было опубликовано сообщение о появлении устройства, которое может «дублировать» брелоки самых различных брендов. За подробностями отсылаем к изданию «АвтоРевю», №21 за 2000 год. Характерно перечисление брендов, брелоки которых (по утверждению авторов заметки, подтвержденному фотографией устройства) принципиально могут быть сдублированы — это чуть ли не все семейства, известные на российском рынке. Метод борьбы очевиден. Каждый брелок должен кодироваться своим паролем. Финальные замечанияВсе перечисленные недостатки присущи практически всем (даже наиболее продвинутым) охранам, присутствующим на рынке сегодня. Более того, все изложенное распространяется и на так называемые «двусторонние» (Two-way) системы, которые представляют из себя не более, чем комбинацию из брелока-передатчика и пейджера-приемника в «одном флаконе». О существовании таких проблем мы вскользь говорили еще два года назад. На этот раз мы сформулировали проблему достаточно полно.Кризис назрел. Magic Ring, 2003 г.
Продолжение...
|