информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Сетевые кракеры и правда о деле ЛевинаГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft предупредила о двух незакрытых... 
 Перевод Firefox на DNS over HTTPS 
 Microsoft закрыла серьёзную уязвимость,... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / theory
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[up] Ну, околотемные мысли по поводу 23.04.08 09:53  Число просмотров: 5360
Автор: Ustin <Ustin> Статус: Elderman
Отредактировано 23.04.08 10:50  Количество правок: 7
<"чистая" ссылка>
> Ну так что? По делу что будет, или же "околотемные", никому
> не нужные и не помогающие в достижении поставленной задачи
> беседы?
Конечно околотемные, я ж не держал в руках эту железку :)

> Структура хранения информации в билете.
> Все уже выучено. В принципе, я могу даже эмулятор сделать и
> создавать точные копии, которые сбрасывать обратно "в ноль"
> после использования, но задача не в этом.

Ок.. Исключить не используемые в подсчёте КС данные можно так:
взять 10 единиц карту, после каждой поездки - дамп. Таким образом будет последовательность минимально отличных данных, которую можно будет дальше скармливать тестовой проге (серийник билета будет одинаковый). Если можно сбросить в исходное состояние - сбросить и повторить цикл - какая закономерность? Отличается ли содержимое от предыдущего цикла?
Далее, есть такие штуки, которые не уменьшают число поездок - чем чёрт не шутит - вдруг они тоже модифицируют дату в карте? Вдруг КС может иметь множество значений при [одинаковом] наборе данных?
Потом, насколько я помню, эти карточки имеют срок действия - поэтому эксперимент лучше всего проводить на рубеже сроков, вернее когда можно иметь в валидном состоянии старые и новые карты.
Ещё: когда карточка переходит в "0" - не выставляется ли нигде признак "особое состояние"? Может достаточно было бы сбросить его, чтобы продолжился декремент?
В конце концов, что говорит ридер при забитой 0ми [$FF] КС?
В карте есть One Time Programmable area - она меняется в процессе уменьшения числа поездок на каких-нить картах?

По поводу тестовой проги: о методике её написания можно будет судить только после получения дампов, отвечающих на поставленные вопросы - тогда обсуждение примет более предметный характер

[up]Кстати, после получения дампа с картей на 9 и 8 поездок, я бы попробовал зашить в карту поездки #9, поездку #8 тупой записью данных об этом - а ВДРУГ карта считает КС сама (при беглом знакомстве со стандартом я этого не нашёл, да и врядли, но мало ли)

[up2] Более hard метод, если информации из предыдущих не хватит для решения задачи или захочется выломать алгоритм КС, который, кстати, может меняться со временем или в голове их может быть зашито несколько с целью плавного перехода со старого на новый: собрать заведомо некорректную карту и посмотреть, что с ней сделает ридер. Далее - набрать N картей (N=объём RW + объём OTP байт, можно конечно и бит, но тогда килограмм макулатуры под пальто будет однозначно палить кантору), или юзать меньше и последовательно, если ридер, например, не гадит OTP при инвалидации карты, поменять в них по одному байту(биту в вар 2) на некорректный, и отследить валидируемость (тут может как раз помочь тот терминал, который не вычитает поездки) - тогда получится 100% карта памяти, для которой считается КС.
Далее будет крайне полезно поиметь КС от 0, но без головы это врядли получится, т.к. тут по-любому используется серийник карты
<theory>
Помогите определиться, как и что. Нужно раскопать контрольную сумму. 17.04.08 22:59  
Автор: Dark Simpson Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Ситуация примерно такая.
Есть программно-аппаратная система. Она представляет собой терминал. Интеракция с юзером - бесконтактные карты.
Необходимо изменить информацию на карте. Структура информации известна. Информация защищена контрольной суммой, которая считается, используя заводской, намертво вшитый серийный номер карты (или какую-то его часть) и данные (или какую-то их часть). Примерно предположить (из логических соображений) какие это части возможно. Исходя из того, что это система на микроконтроллере, и у нее есть определенные ограничения (ну и, опять же, из логических соображений), смею предположить, что контрольная сумма -- это CRC32 (возможно с измененным полиномом и стартовым значением). По крайней мере, в этой системе очень важна скорость, из чего я и сделал такой вывод (да и чисто субъективно сумма похожа на CRC32).
Есть возможность получить две (и даже более) разные карты, у которых изменено друг относительно друга всего несколько бит. Даже более того, эти биты будут от карты к карте изменяться по известной последовательности (простое приращение на единицу одного из чисел и заводского номера).
Вопрос - в какую сторону копать, я совсем в этом вопросе новичок. Для меня определенных трудов и затрат стоило понять, как структурирована информация в этой карте, а теперь я уперся в контрольную сумму. Жалко все бросать. Помогите советом. Если нужна более подробная информация, могу все предоставить, вплоть до самих данных.
Сначала поанализировать, CRC32 это или нет. 21.04.08 17:16  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
> Помогите советом. Если нужна более подробная информация,
> могу все предоставить, вплоть до самих данных.

Сначала поанализировать, CRC32 это или нет.
Сами данные, насколько я понимаю, есть, их "CRC32" тоже.
Полезно иметь именно наборы "Данные и их ЦРЦ32", которые несильно отличаются данными. На 1 бит, например. Проанализировать, действительно ли не так сильно отличаются их "Контрольные суммы".
Полезно еще попробовать "скормить" програмке, которая CRC32 вычисляет, предполагаемые данные для этого вычисления.
Предчуствую, что здесь не так сильно запутано. ЦРЦ нужно только, чтоб проконтролировать корректность считывания данных и обрубить их дальнейшую обработку, если ЦРЦ заведомо некорректна. Глупо изобретать велосипед. Глупо так же вместо ЦРЦ вычислять и хранить значения хеш-функций.
К стати, кто-нибудь знает - подделать карточки возможно в принципе? Я видел, как молодой человек их пачками реализовывал. Интересно - подделывает или незаконно легализовал?
Почему же глупо, их задача - не допустить подделки. Может,... 22.04.08 22:07  
Автор: Dark Simpson Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Предчуствую, что здесь не так сильно запутано. ЦРЦ нужно
> только, чтоб проконтролировать корректность считывания
> данных и обрубить их дальнейшую обработку, если ЦРЦ
> заведомо некорректна. Глупо изобретать велосипед. Глупо так
> же вместо ЦРЦ вычислять и хранить значения хеш-функций.

Почему же глупо, их задача - не допустить подделки. Может, что-то и намутили хитрое.
Я щас там в одном месте встал с непонятками, но мне скоро обещали принести голову от турникета. Надеюсь, с ее помошью мне удастся "подойти поближе" к раскрытию тайны :)

> К стати, кто-нибудь знает - подделать карточки возможно в
> принципе? Я видел, как молодой человек их пачками
> реализовывал. Интересно - подделывает или незаконно
> легализовал?

Если речь идет о магнитных, то там информация не шифруется и ее строение давно известно. Если об ультралайт - то, либо он их купил подешевке каким-то образом и стоял ими банчил, либо он уже расковырял метод генерации этой контрольной суммы.
Суть такая, что если удастся раскрыть принцип генерации КС, можно будет из свежекупленного билета на 1 поездку сделать билет на 10, например. Или на 50. А если купить за 50 рублей вообще пустую карточку ультралайт, то можно сделать себе "временный социальный единый на месяц", только бесконечный... Вот так.
"Глупо" это я про другое, а не про недопущение подделки. ЦРЦ... 23.04.08 13:20  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 23.04.08 13:30  Количество правок: 4
<"чистая" ссылка>
> Почему же глупо, их задача - не допустить подделки. Может,
> что-то и намутили хитрое.

"Глупо" это я про другое, а не про недопущение подделки. ЦРЦ не стойка, правильнее было бы хеш или ЭЦП. Оба ключа в валидаторе (его микрокоде/прошивке) и из него их не выудить. Стало быть он прошивая что-то в карту может сформировать ЭЦП и ее проверить, а подделать ее нельзя, не зная ключ, даже зная алгоритм. Вполне правильно, что есть непрошиваемый серийник. Если б можно было перешить все, то можно было бы сделать полный дубликат.

> Я щас там в одном месте встал с непонятками, но мне скоро
> обещали принести голову от турникета. Надеюсь, с ее помошью
> мне удастся "подойти поближе" к раскрытию тайны :)

В этом разделе все ветки посвящены теории, а она гласит, что можно сделать удаленную систему абсолютно невзламываемой, но если есть "доступ к телу", то систему гарантировано можно взломать. Так что наличие "головы" может быть достаточным условием, чтобы взломать, хотя для этого может потребоваться много времени и труда.

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

Я тоже так подумал, но карты были метрошные. Продавал он дороже, поскольку была длинная очередь. Мне жена сказала, что иногда эти карты продают даже дешевле. Видимо, если очередь маленькая. Я подумал про утечку карт, но неразрешенный вопрос остался о расхождении в количестве карт в использовании и выручка от продажи.

> Суть такая, что если удастся раскрыть принцип генерации КС,
> можно будет из свежекупленного билета на 1 поездку сделать
> билет на 10, например. Или на 50. А если купить за 50
> рублей вообще пустую карточку ультралайт, то можно сделать
> себе "временный социальный единый на месяц", только
> бесконечный... Вот так.

Что-то я очень заинтересовался этой темой.
Честно говоря я перестал задумываться на тему подделки метрошный билетов после того, как появились бесконтактные карты, а точнее даже магнитные. В принципе разницы между ними (я думал) мало - всего одно большое число не взирая на метод записи и хранения. После того как узнал про "взлом" магнитных карт сначала не поверил, потом подумал, что разработчики метрошного биллинга школьники-двоечники. С полным переходом на бесконтактные карты думал, что проблема решена и даже не интересовался системой, даже не удосуживался в интернете поискать что-нибудь на эту тему, думая, что наконец то сделали невзламываемую систему, ан нет. Как я разочарован.
Одно могу сказать - если все обстоит примерно так, как вы описали, то большого труда поломать систему не составит. Причем можно попробовать не ломать "в лоб" а поискать более уязвимое место. Начать нужно с изучения того, что грозит за такого рода деяние. Хотя бы административная или уголовная ответственность. Затем нежно обеспечить "секретность" данной научной разработки. Еще теория гласит "проще подобрать ключ, чем алгоритм, поскольку количество ключей явно ограничено, а алгоритмов бесконечное множество". То есть можно пытаться бороться с контрольной суммой, если знать, хотя бы примерно, что это именно контрольная сумма. Если такой информации нет, то лучше идти стандартным путем - работать с "головой".

Абсолютно надежную метрошную систему создать можно, но только в том случае, если на карту ничего не будет писаться (намагничиваться или прошиваться другим методом). Что может быть проще - на карту записано большое число минимум 32, но лучше 64 разрядное - серийный номер, но лучше не порядковый. На каждой станции стоят компы. На компе база, главная из таблиц выглядит примерно так: "Серийный номер билета", "Дата продажи", "Дата окончания срока действия", "Количество оставшихся проходов", "Дата-время последнего прохода", аттрибуты и еще какая-нибудь инфа. Билетер продал билет - прокатал через считыватель - в базу добавилась соответствующая инфа. Пассажир поднес билет к считывателю - его номер ищется в базе. Нет записи - извини. Закончился срок действия или исчерпались все поездки - извини. Прошло мало времени с момента предыдущего прохода безлимитного билета - извини. Иначе уменьшается на "1" счетчик проходов в базе, загорается зеленый свет, если счетчик проходов упал до нуля - удаление записи о билете, добавление данных в таличку рассылки компам других станций. Периодически получаем информацию о проходе с компов других станций и модифицируем основную таблицу (интервал минута - пять минут). Ночью - читка таблицы от "старых" билетов, которые еще не удалились от обнуления оставшихся проходов. Всего сотни полторы компов - по одному на станцию. Поиск в базе при даже милиарде действующих билетах - не более 30 итераций. Размер базы при даже 100 байтах на запись и 10 милионах билетах в обращении - гигабайт. Современыый комп произведет поиск билета в базе по номеру за милисукунду, а для современного винта размер базы да хоть десять, хоть сто гигабайт. Организовать гигабитную оптиковолоконную связь между компами станций в метро по тонелю без проблем. В случае врЕменной неработоспособности сети разве что какой-нибудь пассажир успеет по закончившемуся билету войти на другой станции. Если какой-нибудь хитрец считанул инфу с билета и сделал себе дубликат (не для бэкапа на случай утери :-) - будет проходить по одному билету, а если поднесет к валидатору второй билет (копию) обнаружит, что с него все равно списаны поездки.
Только вот такую систему очень легко ломать "изнутри" 23.04.08 13:42  
Автор: Ustin <Ustin> Статус: Elderman
Отредактировано 23.04.08 13:52  Количество правок: 1
<"чистая" ссылка>
, причём практически неконтролируемо (никто же не мешает его предварительно отключить), а если чувак ещё и альтруист, то update main set "Количество оставшихся проходов"=65535, выполненное на очень ограниченном (!, по сравнению с нынешней системой) количестве носителей информации вызовет коллапс всей(!) системы получения прибыли метрополитена.
В данной реализации сотня[лана, тыща, десять]-другая товарищей, за которыми в добавок бегает батальон ментов, принципиально не могут изменить погоду во всей системе, соответственно она существенно более устойчива: чтобы вызвать такой коллапс нужно всем(практически) всучить поддельные билеты, чтобы при этом тебя не поймали, не закрыли точку распространения и не применили административных мер по смене того же алгоритма генерации КС
С одной стороны централизованная или распределенная система... 23.04.08 15:08  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 23.04.08 15:16  Количество правок: 3
<"чистая" ссылка>
> , причём практически неконтролируемо (никто же не мешает
> его предварительно отключить), а если чувак ещё и
> альтруист, то update main set "Количество оставшихся
> проходов"=65535, выполненное на очень ограниченном (!, по
> сравнению с нынешней системой) количестве носителей
> информации вызовет коллапс всей(!) системы получения
> прибыли метрополитена.

С одной стороны централизованная или распределенная система в определенной степени менее устойчива к атакам инсайдеров. Я вообще то говорил, рассматривая именно "удаленную систему". Ее можно сделать устойчивой, поскольку даже не со стороны билетосчитывателей, но и со стороны сети он опять же может быть таковой. Для начала разумеется надо предусмотреть исключение возможности удаленного изменения программного обеспечения. Это даже не обсуждается (может и перпрошивку со стороны считывателей предусмотреть :-). Поле "Количество оставшихся проходов" сузить до байта, а в добавок ко всему предусмотреть контроль валидности данных (по ночам). Например контроль этого поля на максимальное значение (60-70), контроль срока действия билета (квартал, например). Сверку базы с центральным сервером (если что не так - пищать, орать, в логи писать что да как и почему). Обмен данными - звезда с центральным серваком. Ему посылается инфа о продаже новых билетов, о проходах и с него берется инфа о проходах на других станциях. Репликации можно защищать электронной подписью. В репликациях только инфа что номер билета такой-то - совершен проход. Даже дату и время не обязательно, пусть на других станциях старая остается. Если на серваке одной из станций и умудриться прописать 65535/255/70, то это изменение не попадет на другие и будет актуально до ночи. Сервак на станции не должен уметь выполнять никаких sql запросов по массовой модификации данных типа "обновить поле количество оставшихся проходов для всех записей на 70".
Короче, если что не так и в логах появится, что какой-то билет был продан на 255 проходов - сразу разбираться, какой кассир и во сколько продал, кто имел доступ к серваку в это время и т.п. Кривую транзакцию (пакет) о том, что кто-то где-то продал билет на дофига поездок вычислить легко на главном серваке. Контроль опять же по сумме бабла, полученого кассиром и сколько и каких он билетов продал опять же по репликам, которые прошли через главный сервак.

> В данной реализации сотня[лана, тыща, десять]-другая
> товарищей, за которыми в добавок бегает батальон ментов,

И не надо ни за кем бегать будет.
1х есть шанс всеобщего коллапса после приложения усилия пропорционального числу БД, в имеющейся системе усилие пропорционально числу билетов (а не даже турникетов) 23.04.08 15:41  
Автор: Ustin <Ustin> Статус: Elderman
<"чистая" ссылка>
Во первых мы о разных вещах: я о надежности системы в... 23.04.08 16:43  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
Во первых мы о разных вещах: я о надежности системы в отношении подделок билетов, а вы о потенциальном индустриальном саботаже.
Полагаете какой-нибудь злоумышленник кувалдой расхреначит серваки на полутра сотен станциях разом? С тем же успехом можно расхреначить электрощитовую, от которой питаются турникеты. В течение часа приедет технарь с компом, заряженым базой и все восстановится.
Полагаете какой-нибудь злоумышленник убьет прогу с базой. В течение часа приедет технарь с винтом, заряженым прогой и базой.
Полагаете какой-нибудь злоумышленник изуродует базу, прописав всем туеву хучу поездок. Удаленно все равно никак. Нужно приехать, влезть в сервак, ... Потом все равно приедет технарь и восстановит базу вплоть до отработки всех реплик с главного сервака начиная с нужного времени. Во всех случаях потери - сколько людей пройдет за час на этой станции, пока система будет неработоспособна. Все пакеты транзакций надо хранить, чтоб если что, то накатить их на ночной бэкап. В принципе достаточно хранить временнЫе метки - на каждой станции базы то будут достаточно актуальны. В бОльшую сторону счетчик не прокрутить. Самое худшее, что можно сделать - это для какого-то билета накрутить десятки проходов на какой-нибудь станции, тет самым выведя его из обращения и на всех остальных.
Ребят, оффтоп :) 23.04.08 19:22  
Автор: Dark Simpson Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Ребят, оффтоп :)
Давайте все-таки на тему поразмыслим немного
Мало шансов без башки, почему - писал 24.04.08 09:23  
Автор: Ustin <Ustin> Статус: Elderman
Отредактировано 24.04.08 09:23  Количество правок: 1
<"чистая" ссылка>
Будет башка - рад буду пообсуждать. Но, ещё раз: может покопать в направлении "неограниченной карты"? Есть же sim-карты, в которые можно прописать свой KI много раз и даже несколько штук, а потом ПРОЧИТАТЬ специальной командой. Почему бы не существовать карте, в которой можно писать много раз в OTP например?
С башкой будет работа другого плана - выковыривание... 24.04.08 10:48  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 24.04.08 10:51  Количество правок: 1
<"чистая" ссылка>
> Будет башка - рад буду пообсуждать. Но, ещё раз: может

С башкой будет работа другого плана - выковыривание алгоритмов. Если вообще дело в башке... Может в ней только ридер-врайтер (радиоблок) и какой-нибудь СОМ порт для ПК. Такая реализация тоже возможна и не плоха, чтоб если что, то будет проще и легче обновить ПО.

> покопать в направлении "неограниченной карты"?
> Почему бы не существовать карте, в которой можно
> писать много раз в OTP например?

Лучше так: Изучить протокол радиообмена (передачи данных при считывании и записи), изваять радиоблок (муляж карты), подключить к какому-нибудь КПК (ноутбуку), купить карточку на пару поездок, считануть с нее все, что может быть считано в файл на КПК и радоваться жизни. Один файл рабочий, на котором будет и единички вычитаться, и дата/время меняться, и новая контрольная сумма прописываться, а другой - шаблон. Кончились поездки - скопировал эталон в рабочий и все.
Можно попытаться сделать все-в-сборе, ну без КПК, хотя сложнее.

Касаемо ЦРЦ - с удовольствием поломаю, но чтоб не зря тратить время нужно все-таки знать набор данных, по которому она вычисляется. Причем важен порядок байтиков. Хотя можно напрячь компьютер потрудится поперебирать. Самое главное быть уверенным в самом алгоритме. Есть такая уверенность, что это именно ЦРЦ32?
Сомневаюсь, что полином изменен. Будь я на месте разработчиков - замарачиваться не стал бы. Стоит алгоритм чуть изменить и его стойкость сильно падает.
Не-а :) 24.04.08 13:23  
Автор: Dark Simpson Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> С башкой будет работа другого плана - выковыривание
> алгоритмов. Если вообще дело в башке... Может в ней только
> ридер-врайтер (радиоблок) и какой-нибудь СОМ порт для ПК.
> Такая реализация тоже возможна и не плоха, чтоб если что,
> то будет проще и легче обновить ПО.

Не-а :)

> Лучше так: Изучить протокол радиообмена (передачи данных
> при считывании и записи), изваять радиоблок (муляж карты),
> подключить к какому-нибудь КПК (ноутбуку), купить карточку
> на пару поездок, считануть с нее все, что может быть
> считано в файл на КПК и радоваться жизни. Один файл
> рабочий, на котором будет и единички вычитаться, и
> дата/время меняться, и новая контрольная сумма
> прописываться, а другой - шаблон. Кончились поездки -
> скопировал эталон в рабочий и все.
> Можно попытаться сделать все-в-сборе, ну без КПК, хотя
> сложнее.

Это все можно, но это не то, к чему я стремлюсь.

> Касаемо ЦРЦ - с удовольствием поломаю, но чтоб не зря
> тратить время нужно все-таки знать набор данных, по
> которому она вычисляется. Причем важен порядок байтиков.
> Хотя можно напрячь компьютер потрудится поперебирать. Самое
> главное быть уверенным в самом алгоритме. Есть такая
> уверенность, что это именно ЦРЦ32?
> Сомневаюсь, что полином изменен. Будь я на месте
> разработчиков - замарачиваться не стал бы. Стоит алгоритм
> чуть изменить и его стойкость сильно падает.

Им была нужда заморочиться - это ведь их единственная защита. А может и нет. Тут можно только самоотверженно ковыряться, надеясь на русский "авось" :(
Если исключить "чисто спортивный интерес" и... 24.04.08 14:38  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 24.04.08 14:45  Количество правок: 2
<"чистая" ссылка>
> Это все можно, но это не то, к чему я стремлюсь.

Если исключить "чисто спортивный интерес" и научно-исследовательский (заказ метрошников проверить стойкость и указать на слабые места), то остается исключительно коммерческий. Стремлений тогда вижу всего два. Первое - сделать себе и близким родственникам халявный проезд. Второе - программировать карты и распространять их среди населения. Если первый вариант принесет небольшую выгоду/экономию, то второй может принести приличные деньги. Там где приличные деньги (значительный ущерб) будет и приличное наказание. В добавок ко всему второй метод обогащения более рискованый так как расчитан на массовость и вероятность быстрого залета огромна.

> Им была нужда заморочиться - это ведь их единственная
> защита. А может и нет. Тут можно только самоотверженно
> ковыряться, надеясь на русский "авось" :(

Имея "бошку" легко вскрывается алгоритм с одной стороны, но каждый месяц по бошке таскать не будут, а перешивать ее в метро могут хоть каждый месяц. То есть в бошке два алгоритма. Она пытается проверить старым и новым, если старым не получилось. Обратно закатывает уже всегда новым. Если хоть одним срослось, то проходи. Так что знание старого алгоритма может вообще не принести желаемого результата.
Попробовать только ЦРЦ32 можно. Перебрать большинство основных комбинаций исходных данных, по которым она должна вычислятся не сложно. Я бы с этим поковырялся, но пока считаю затею слишком сырой. Ничто не мешает эту ЦРЦ32 ксорить (применять операцию "исключающе ИЛИ") с каким-нибудь ключевым числом, которое постепенно периодически меняется и все труды будут напрасны. Вероятно там программисты не дураки сидят и наверняка придумали чего-нибудь. В принципе 32 бита не так уж и много (какое счастье, что они не добрались до 64 бит, память карты позволяет), можно и перебором любых ключей поломать. Вот только ломать отдельно взятую бошку, снятую давно, может уже не иметь смысла. Долбить перебором можно было бы и ее, всего-то перебрать 4 милиарда комбинаций. То есть берем нужные данные, приписывая к ним по очереди ЦРЦ, равную сначала 0, потом 1 и т. д., каждый раз проверяя билет на настоящей башке. Вся беда в том, что похоже придется его проверять именно на той башке, которая в реальном турникете стоит, а это не реально. В общем есть достаточно сложные пути, но дающие гарантированный результат, а вам видится один более простой, но результат его более чем просто сомнительный.
Чисто спортивный интерес. Не надо его исключать. Я не вор,... 24.04.08 18:48  
Автор: Dark Simpson Статус: Незарегистрированный пользователь
<"чистая" ссылка>

> Если исключить "чисто спортивный интерес" и
> научно-исследовательский (заказ метрошников проверить
> стойкость и указать на слабые места), то остается
> исключительно коммерческий. Стремлений тогда вижу всего
> два. Первое - сделать себе и близким родственникам халявный
> проезд. Второе - программировать карты и распространять их
> среди населения. Если первый вариант принесет небольшую
> выгоду/экономию, то второй может принести приличные деньги.
> Там где приличные деньги (значительный ущерб) будет и
> приличное наказание. В добавок ко всему второй метод
> обогащения более рискованый так как расчитан на массовость
> и вероятность быстрого залета огромна.

Чисто спортивный интерес. Не надо его исключать. Я не вор, все таки.
А когда наиграюсь сам - все пойдет общественности в открытом виде. Так, ради прикола.
Либо попробую поднять общественную шумиху, как нидерландские студенты, которые свой метрополитен поломали. Может, мне чего в таком случае совершенно законно перепадет от метрополитена, еси не убьют раньше, правда :)
Но это все лирика, на самом деле действительно, чисто спортивный интерес.

> Имея "бошку" легко вскрывается алгоритм с одной стороны, но
> каждый месяц по бошке таскать не будут, а перешивать ее в
> метро могут хоть каждый месяц. То есть в бошке два
> алгоритма. Она пытается проверить старым и новым, если
> старым не получилось. Обратно закатывает уже всегда новым.
> Если хоть одним срослось, то проходи. Так что знание
> старого алгоритма может вообще не принести желаемого
> результата.
> Попробовать только ЦРЦ32 можно. Перебрать большинство
> основных комбинаций исходных данных, по которым она должна
> вычислятся не сложно. Я бы с этим поковырялся, но пока
> считаю затею слишком сырой. Ничто не мешает эту ЦРЦ32
> ксорить (применять операцию "исключающе ИЛИ") с
> каким-нибудь ключевым числом, которое постепенно
> периодически меняется и все труды будут напрасны. Вероятно
> там программисты не дураки сидят и наверняка придумали
> чего-нибудь. В принципе 32 бита не так уж и много (какое
> счастье, что они не добрались до 64 бит, память карты
> позволяет), можно и перебором любых ключей поломать. Вот
> только ломать отдельно взятую бошку, снятую давно, может
> уже не иметь смысла. Долбить перебором можно было бы и ее,
> всего-то перебрать 4 милиарда комбинаций. То есть берем
> нужные данные, приписывая к ним по очереди ЦРЦ, равную
> сначала 0, потом 1 и т. д., каждый раз проверяя билет на
> настоящей башке. Вся беда в том, что похоже придется его
> проверять именно на той башке, которая в реальном турникете
> стоит, а это не реально. В общем есть достаточно сложные
> пути, но дающие гарантированный результат, а вам видится
> один более простой, но результат его более чем просто
> сомнительный.

Не меняется там алгоритм, поверьте мне :) Наворотить они там вполне могут что-нибудь хитрое, а вот быстро сменить алгоритмы там концепция системы не позволяет. Опять же, из моих источников информация. И есть основание им доверять, источникам этим.
В принципе 32 бита не так уж и много 16.07.08 17:10  
Автор: Хэйдис Статус: Незарегистрированный пользователь
<"чистая" ссылка>
В принципе 32 бита не так уж и много
> (какое
> > счастье, что они не добрались до 64 бит, память карты
> > позволяет), можно и перебором любых ключей поломать.

автомобильная противоугонка KeeLog , код 64 бита, а толку то? сколько было написано статей - нельзя взломать, компы будут вечность подбирать код и тд и тп..взломали, угнали и тд и тп. Короче ищите пьяного студента, вытаскиваете у него карту метро и ездеете наздоровье:) На станциях уже стоят автоматы для оплаты таких карт:)
Ну если от "много" взять "немного", то это не воровство. 25.04.08 12:36  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
> Чисто спортивный интерес. Не надо его исключать. Я не вор,
> все таки.

Ну если от "много" взять "немного", то это не воровство.

> А когда наиграюсь сам - все пойдет общественности в
> открытом виде. Так, ради прикола.

Прикол будет классный. Через пару дней возле входа в метро будет стоять толпа распространителей билетов по дешевке. Еще через пару дней метрошники схватятся за голову, а технари получат таких звезделей. После того, как починят систему, естественно.

> Либо попробую поднять общественную шумиху, как
> нидерландские студенты, которые свой метрополитен поломали.

Студенты то живы остались.

> Может, мне чего в таком случае совершенно законно перепадет
> от метрополитена, еси не убьют раньше, правда :)

Убьют. Точно убьют. Это дело может пахнуть нормальными деньгами. Убьют, чтоб монополию сохранить, чтоб только они могли фальшивые билетики штамповать.

> Но это все лирика, на самом деле действительно, чисто
> спортивный интерес.

А я б хотя бы для себя сделал.

> Не меняется там алгоритм, поверьте мне :) Наворотить они
> там вполне могут что-нибудь хитрое, а вот быстро сменить
> алгоритмы там концепция системы не позволяет. Опять же, из
> моих источников информация. И есть основание им доверять,
> источникам этим.

Верю. Я и сам так думаю, но всякое может быть. Может быть не алгоритм, а только ключевое число.
В принципе достаточно знать проверяющий алгоритм. В этом случае можно и перебрать все 4 милиарда значений КС, при котором проверка даст корректный результат. Если же что-то периодически меняется, или алгоритм, или какое-то магическое число (так называемая эмитовставка), то все бесполезно.
Нус, ждем бошку, вскрытие алгоритма проверки и результатов.
Не надо заниматься самообманом. Это в любом случае... 25.04.08 18:05  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка>
> Ну если от "много" взять "немного", то это не воровство.

Не надо заниматься самообманом. Это в любом случае воровство.

> > Может, мне чего в таком случае совершенно законно
> перепадет
> > от метрополитена, еси не убьют раньше, правда :)
>
> Убьют. Точно убьют. Это дело может пахнуть нормальными
> деньгами. Убьют, чтоб монополию сохранить, чтоб только они
> могли фальшивые билетики штамповать.

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

Даже если использовать карты-дубликаты реально действующих карт, то за поездки по этим картам придеться платить официальным держателям карт, а это уже воровство у обычных граждан, но никак не у метрополитена.
Согласен. 25.04.08 18:56  
Автор: Dark Simpson Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Не надо заниматься самообманом. Это в любом случае
> воровство.

Согласен.

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

Не говорите чепуху, если не знаете, как работает система. А посты со словосочетанием "скорее всего"
и прочими подобными еще бот должен удалять на стадии публикации, по хорошему.
Интересно, в метрополитене какого же города работает такая... 25.04.08 19:03  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка>
> Не говорите чепуху, если не знаете, как работает система. А
> посты со словосочетанием "скорее всего"
> и прочими подобными еще бот должен удалять на стадии
> публикации, по хорошему.

Интересно, в метрополитене какого же города работает такая дурацкая система?
Все подобные системы, использующие будь-то RFID проходки, обычные магнитные карты или даже EAN-13 штрих коды устроены одинаково - носитель хранит только идентификатор, а вся необходимая информация берется системой из БД.
Я не буду с вами спорить. В этой ветке уже много об этом... 25.04.08 19:25  
Автор: Dark Simpson Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Интересно, в метрополитене какого же города работает такая
> дурацкая система?
> Все подобные системы, использующие будь-то RFID проходки,
> обычные магнитные карты или даже EAN-13 штрих коды устроены
> одинаково - носитель хранит только идентификатор, а вся
> необходимая информация берется системой из БД.

Я не буду с вами спорить. В этой ветке уже много об этом писалось и говорилось. Во первых, это далеко не обычный RFID о котором вы говорите, не ленитесь, почитайте стандарты. RFID хранит только серийный номер. Здесь карта хранит всю необходимую информацию. Система далеко не дурацкая. Зачем так сделано уже здесь писалось. Отрешитесь от своих недалеких и консервативных взглядов на мир и подумайте немного головой, в том числе на тему "почему не сделать одну общую базу данных". В общем, как говорится, "Аффтар, четай Кафку"... :)
1  |  2 >>  »  






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2020 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach