Как обмануть домофон компании Cyfral

Ты не силен в программировании микроконтроллеров? Ты не смог сделать дубликат ключа, как учил тебя «Хакер»? Твоя подруга смеется над тобой, когда железный болван-домофон не пропускает тебя? Не унывай — «Хакер» в очередной раз найдет для тебя решение, позволив проникнуть сквозь неприступные двери под звуки музыки.

А как же ключ от всех дверей?

В сентябрьском номере за прошлый год «Хакер» уже рассказывал о том, как самому изготовить универсальный ключ от домофонов. В качестве основной части нашего девайса мы тогда использовали хитрый микронтроллер. Но всякому ли крутому перцу охота ковыряться в ассемблере и отладчике, а также корпеть над столом с паяльником, когда за окном лето/пиво/друзья/девушка (нужное подчеркнуть)? Тем более что все чаще на просторах нашей родной страны встречаются странного вида ключи, у которых не в пример обычным вовсе нет заветного номера (как ты понимаешь, нужного для того, чтобы снять с него копию по нашему методу), зато есть загадочная надпись «Cyfral». Не будем темнить и скажем сразу, что Cyfral — это отечественный продукт, так сказать, наш ответ Чемберлену. Уделим же внимание этому девайсу и попробуем на прочность этот орешек…

Экскурс в теорию, или практика потом

За последние несколько лет идентификаторы Touch Memory DS1990 от фирмы Dallas Semiconductor заняли лидирующее место на рынке систем контроля доступа. Малогабаритные, выполненные в прочном металлическом корпусе, они смогли удовлетворить практически все запросы российских потребителей. В общем, чего рассказывать: каждый видел эти «таблетки» сотню раз. Впрочем, подделать такой ключ оказалось очень просто: достаточно было лишь считать код, зашитый в ключ-идентификатор. В 2000 году компания «Цифрал» разработала и запатентовала собственный цифровой электронный идентификатор Touch Memory Cyfral DC-2000. Отечественная разработка была призвана устранить ряд недостатков. Она была проста в производстве, и ее быстро освоили отечественные предприятия.

В документации к контактному цифровому ключу DC-2000 (Touch Memory Cyfral) приведено следующее описание его работы: «Корпус DC-2000 аналогичен по конструкции и размерам корпусу Dallas DS1990. Он сделан из нержавеющего металла. Диаметр диска около 17 мм, толщина 5,89 мм. Полый внутри диск состоит из двух электрически разъединенных частей. В герметичную полость помещена электронная схема на кремниевом кристалле. Выход схемы соединен с половинками диска двумя проводниками. Ободок и донышко представляют собой земляной контакт, а крышечка выполняет функцию сигнального контакта.

Корпус DC-2000 — это та же самая таблетка.

Усложняем схему.

Микросхема DС-2000 работает по собственному уникальному протоколу. При контакте со считывающим устройством DС-2000 начинает выдавать циклические кодовые комбинации, состоящие из стартового и восьми информационных слов. Стартовое слово отличается от информационного количеством единиц: три единицы подряд и один ноль. Информационное слово - одна единица и три нуля.

Длительность импульса для состояния «лог.0» и «лог.1» различна.

Положение единицы в каждом информационном слове программируется индивидуально на этапе изготовления микросхемы ключа DС-2000. Примененная технология позволяет получить аж 65536 кодовых комбинаций! Выдача кодовой комбинации происходит посредством изменения тока потребления микросхемы ключа с фиксированным периодом. Причем длительность импульса для состоянии «лог.0» и «лог.1» различна, как показано на временной диаграмме.

«Страшно-сложная» схема для прослушивания нашего ключика.

Так как при чтении данных из ПЗУ в любой момент возможно нарушение электрического контакта считывающего устройства с корпусом прибора, то необходимо контролировать целостность считываемых данных. Для этой цели кодовая комбинация считывается из ПЗУ три раза подряд и сравнивается считывающим устройством (персональная ЭВМ, микропроцессорный контроллер). В том случае, если коды совпали, серийный номер считан верно. В противном случае выполняется повторное чтение данных».

Проще говоря

Иными словами, как только мы вставим ключ в приемную лузу, он будет тарахтеть в нее кодом до тех пор, пока мозги домофона не решат, что код правильный, и не откроют нам желанный Сезам. В принципе опять же можно было бы с помощью микроконтроллера сваять эмулятор, но у нас есть способ проще и интереснее!

Поскольку домофон «Цифрал» только слушает ключ-идентификатор и вообще не использует какой-либо протокол обмена, путь для обхода весьма и весьма прост. Следует лишь записать тарахтение ключика, а потом воспроизвести эту запись домофону.

К несчастью, лобовое решение – магнитофон – тут не подойдет. Коэффициент детонации популярных китайских проигрывателей таков, что даже не обладающий музыкальным слухом домофон тут же заметит лажу. Что там у тебя еще есть из звукозаписывающей техники? Ну компьютер со звуковухой есть наверняка! Значит, можно записать тарахтение ключика и потом просто зажечь ее на CD. Воспроизвести запись не проблема, например, через портативный CD-плеер, который точно имеется в наличии у каждого второго твоего знакомого. Впрочем, даже если вдруг CD-плеер ты не разыщешь, сойдет и цифровой диктофон или сотовый телефон. Правда, мобила подойдет не всякая, но об этом мы расскажем далее.

Перейдем к делу: слушаем ключик

Для записи «музыки» ключей «Цифрал» нам понадобится источник питания 2,4-5 В. Можно использовать блок питания компьютера, но высока вероятность того, что он добавит в нашу запись ненужные шумы и тем самым испортит «произведение». Поэтому лучше запастись двумя любыми батарейками, которые в сумме обеспечат нам 2,4-3 В. Для тех, кто в танке, напомним, что питание +5 В можно получить как от разъема USB-порта, так и от некоторых GAME-портов, подавив шумы компьютера простейшим фильтром из дросселя и конденсатора. Далее, нам будет нужно сопротивление номиналом 1,5-2,2 кОм любого вида и исполнения. Из этих комплектующих собираем очень сложную схему из трех элементов для прослушивания нашего ключика.

Такая штука точно не помешает в кармане.

В зависимости от номинала сопротивления и напряжения питания схемы, амплитуда «цифровой музыки» составит 0,3-0,5 В на уровне постоянной составляющей 1,0-1,5 В, что позволит подать этот сигнал непосредственно на линейный вход звуковой карты.

Вот так красиво и опрятно выглядит собранный девайс.

Если в наличии имеется только микрофонный вход, как это бывает у некоторых моделей ноутбуков и у сотовых телефонов, схему придется усложнить, добавив делитель напряжения из двух резисторов, один из которых переменный. Манипулируя ручкой переменного резистора R3, следует обеспечить на микрофонном входе амплитуду сигнала порядка 0,5-1,2 мВ.

Далее включаем свой любимый звукозаписывающий софт. Лучше, конечно, что-нибудь типа Cool Edit (www.syntrillium.com), Sound Forge (www.sonycreativesoftware.com) или хотя бы Total Recorder (www.highcriteria.com). Подойдет все, что имеет виртуальные индикаторы уровня записи и позволяет на глаз выставить уровень записываемого сигнала без перегрузок звукового тракта карты. …Ну, на нет и суда нет! Можно использовать и обычную «Звукозапись» из стандартного набора Windows, хотя в этом случае, возможно, придется сделать несколько записей, чтобы подобрать приемлемый уровень.

В используемой программе выбираем источник сигнала (тот, куда мы подключились: «Микрофон» или «Линейный вход»), после чего записываем обыкновенный звуковой файл с расширением WAV с параметрами: PCM 44100 Гц, 16 бит, моно длительностью 1-2 минуты без применения какой-либо компрессии сигнала. В принципе для домофона хватило бы и 5 секунд, но такой запас просто позволит в нужный момент действовать без излишней суеты. В случае если ты хочешь сделать запись при помощи мобильника, нужно позаботиться, чтобы тот умел захватывать звук через гарнитуру. Тут, конечно, придется отрезать сам микрофон от гарнитуры, а если жалко — спаять отдельный провод с разъемом и прицепить его к выходу делителя. Но это реально!

Двигаемся далее

Итак, искомый файл или несколько WAV-файлов от разных ключей получены! Самое время прожечь их на компакт-диск в виде музыкальных файлов cda, в чем нам поможет всем известная Nero (www.nero.com) или любая другая аналогичная программа. Можно записать и просто как WAV-файлы, если CD-плеер поддерживает такой формат. При записи в формате mp3 кодовая информация может быть утеряна в процессе сжатия, в этом случае надо выставить опции максимального битрейта и максимального качества формируемого mp3-файла. В окне Cool Edit форма сигнала при этом остается неискаженной, но, как это воспримет домофон, я не в курсе. Если при записи в мобильник применяется алгоритм сжатия с потерями, затеянный фокус, скорее всего, не удастся, но попробовать все равно стоит. В крайнем случае WAV-файл можно сформировать на компьютере, а в мобилу затаскивать как качественный mp3 через Data-кабель, IRDA или Bluetooth. Количество вариантов здесь довольно велико, все зависит от используемой мобилы. Возможно, даже придется сваять простенький мидлет на Java. К счастью, даже в стандартной поставке J2ME Wireless Toolkit 2.2 beta 2 есть пример закачки и воспроизведения музыки в формате WAV. Если тебе это кажется нереальным, два готовых мидлета прилагаю. Тебе останется только раззиповать jar-файл, положить в архив свой WAV-файл ключа под именем my_key.wav (или my_key_X.wav, в папку audio), зазиповать все это обратно и должным образом втащить в мобилу. Сам файл ключа не должен быть очень большим – могут возникнуть траблы при закачке. Секунд 5-10 вполне достаточно, тем более что мобила будет проигрывать его непрерывно по кругу.

Пора действовать

Ну что, откроем пару дверок? Вместо наушников, припаиваем к шнурку с разъемом сопротивление номиналом 680-820 Ом для согласования со схемой считывающего устройства домофона «Цифрал». Оба канала стереофонического кабеля включаются параллельно, согласно приведенной схеме. Нагрузка величиной 680-820 Ом значительно превышает сопротивление распространенных наушников и выход плеера перегрузить не должна, если, конечно, кривые руки не спаяли что-нибудь накоротко, но производители чаще всего заботятся о дураках, и есть надежда, что в плеере или мобиле применена защита выхода от короткого замыкания.

Чтобы иметь некоторую уверенность в успехе, выход CD-плеера или мобильника должен развивать на нашей нагрузке переменный сигнал амплитудой не менее 0,5 В. Если есть возможность воспользоваться осциллографом, посмотри амплитуду сигнала на нагрузке. В противном случае придется покрутить регулятор выходного сигнала CD-плеера в полевых условиях у вожделенной двери. Впрочем, вероятность успеха весьма велика — у меня, например, безо всяких настроек дверь открылась сразу при максимальной громкости.

Программы типа Cool Edit и Sound Forge позволяют увидеть форму сигнала и без осциллографа. Можно также заюзать различные софтварные осциллографы, использующие железо звуковой карты. Количество таких программ, разбросанных на просторах Сети, весьма велико. В любом случае правильная форма записанного сигнала должна ориентировочно соответствовать приведенной на рисунке.

Если выбросы сигнала, указанные на рисунке цветными кружками, значительны и пересекают линию нулевого уровня, то, вероятно, запись сигнала придется повторить с другим уровнем записи или отредактировать сигнал вручную, уменьшив амплитуду выбросов. Но в подавляющем большинстве случаев необходимое качество WAV-файла достигается с первого-второго раза даже при весьма средних параметрах самой звуковой карты (я лично юзал древнюю ESS-1868).

Упрощаем отладку

Чтобы не торчать уйму времени у домофона, напоминая озабоченного террориста, для отладки можно использовать простенькую софтину CYF_KEY.COM, которая позволяет считывать коды ключей через LPT-порт компьютера.

Для аппаратного обеспечения программы необходима схема компаратора или триггера Шмитта, запитываемая от напряжения +5 В разъема USB-порта или GAME-порта. Подобные устройства в недавнем прошлом широко применялись в схемах популярных 8-битных компьютеров типа «Синклер», РК-86, «Орион», «Микроша» для ввода программ и данных, записанных на магнитофонные кассеты. Простая схема такого устройства приведена на рисунке. Если со сбором подобной схемы у тебя возникают траблы, можно попробовать обойтись более простой конструкцией, но в этом случае придется подобрать резистором R2 постоянное смещение на входе Busy порта принтера.

Программа CYF_KEY.COM использует прямое обращение к таймеру и портам ввода-вывода, поэтому запускать ее следует из-под голого DOS’а, благо небольшой размер программы позволяет ей поместиться на системной дискете. При правильном определении кодов ключей программа выводит их список, при сбоях или ошибках в сигнатуре ключей возможно отображение символа «E» (Error). Для того чтобы убедиться в работоспособности аппаратной части, программу необходимо запустить на двух разных компьютерах, соединив между собой их выходы Strobe с входами Busy и запустив одну из программ в режиме чтения ключа, а другую – в режиме эмуляции ключа из файла.

Неприятным обстоятельством может быть то, что где-нибудь на этапе создания или воспроизведения файла звуковой тракт инвертирует сигнал ключа. Шанс при современной аппаратуре очень небольшой, но кто знает, что там творят китайцы для удешевления своей продукции. В таком случае без звукового редактора не обойтись, поскольку сигнал перед записью придется инвертировать.

Наводим марафет

Для сопряжения с лузой лучше смастерить простую конструкцию, позволяющую не лезть к домофону с оголенными проводами в руках, да и не элегантно это. Поскольку на всю эту фигню мы не потратили пока еще даже и обрезка от бумажки с зелеными комиссарами, контакты ключа также можно выполнить в стиле «Xакера» из подручных материалов: картона, жести и любого суперклея.

При наличии прямых рук может получиться весьма симпатичный девайс. В любом случае ободок лузы — контакт общего провода (оплетки кабеля), а центральный круглый контакт — сигнальный.

К записи готов!

Включаем CD-плеер или мобильный телефон на воспроизведение файла ключа, уровень громкости максимальный. С уверенным (злым, глупым, коварным и т.д. – на выбор) выражением лица говорим волшебное слово: «Цифрал, откройся!», подключаем девайс к лузе домофона, и железный монстр с печальным звуком «Длиньк!» должен пасть! Можно, конечно, и без театральных эффектов, да и фраза – на твое усмотрение, но если уж решил поразить девушку, потренироваться следует заранее, особенно с уровнем громкости… CD-плеера (мобильника).

Напоследок

Разумеется, предложенный способ эмуляции ключей-идентификаторов «Цифрал» – самый простой. Заметим, что крутые перцы, владеющие языком программирования Java для мобильных устройств (J2ME) и обладающие навороченными смартфонами, могут сбацать универсальный ключ для любых систем, как Touch Memory Cyfral DC-2000, так и Touch Memory DS1990, без существенных аппаратных затрат исключительно программным путем, манипулируя сигналами COM-порта мобильника. Основное препятствие заключено в версии установленной в телефоне Java-машины, в том, имеет ли она развитые средства управления последовательным портом. В положительном случае аппаратно придется выполнить лишь несложные цепи согласования электрических уровней COM-порта мобильника и схемы считывания/эмуляции ключей Touch Memory.

Безусловно, все перечисленные в статье названия фирм, программных продуктов и торговых марок — неотъемлемая собственность их владельцев. Предоставленная информация нисколько не провоцирует на незаконные действия, а преследует цель указать фирмам и производителям на недостатки и дыры в их продукции, а также позволить всем простым смертным перцам (как фрикерам и хацкерам, так и не являющимся ими) не таскать с собой связки пластмассовых ключей и не рвать волосы на голове (или еще где-либо) в случае их потери. Как бы то ни было, сохрани в компьютере дубликаты, в экстренной ситуации не помешают!

DVD

На диске ты найдешь программы, упомянутые в статье, а также мидлеты для твоего мобильника.

WARNING

Материал представлен исключительно в ознакомительных целях. Автор и редакция ответственности за использование материала не несут.

Андрей «dr. Sam» Семенов

 

Хакер, номер #104, стр. 026

 

(sam2707@icqmail.com)