Это - копия документа, находившегося на http://dz.ru. Авторские права, если не указано иначе, принадлежат Дмитрию Завалишину и/или Евгении Завалишиной. Все изменения, внесенные мной, находятся в этой рамочке.Пожалуйста, прочитайте disclaimer. |
С метрошными карточками в Москве. Оказывается, метод всё ещё работает, весьма прост, и вызывает ровно одну эмоцию у любого опытного программиста: лллллллллламерство. Именно с таким числом букв "л".
Предпосылки. На карточке есть две зоны. Они расположены, соответственно, на первой и второй половине магнитной ленты. Зоны (в нормальном случае) содержат одну и ту же информацию. Турникет считывает обе записи (они, напомню, одинаковы), уменьшает число поездок на 1 и пишет его назад в обе же зоны. Это если всё правильно. Теперь если при чтении число поездок различается, то по принципу "клиент всегда прав" турникет считает правильным большее число поездок. Опять же, число уменьшается на 1 и пишется в обе зоны.
Итого, есть огромная свобода для хака. Во-первых, две зоны можно использовать просто по очереди. Заклеить сначала одну, потом её отклеить и заклеить вторую - вы получите 20 поездок за цену 10-ти. Но это не предел. Можно заклеить, пройти 10 раз, отклеить, пройти один раз - при этом в обе зоны запишется 9 поездок - 10 из нетронутой, прежде заклеенной зоны минус единица. Далее заклеиваем половину снова и проезжаем 9 раз. Повторяем - отклеиваем, даём турникету доступ к зоне, где записаны 9 поездок. Опять заклеим, проедем 9 раз. Итого 10+10+9+8+7+6+5+4+3+2+1 = 65 раз. Это - предельная ёмкость билета на 10 поездок. Правда, по неизвестным причинам реализовать её полностью не выходит - или заклейки-отклейки портят плёнку, или система пишет дополнительную контрольную информацию...
Теперь о профессионализме. Право, мне теперь даже немного стыдно за упрёки в адрес Микрософта, у которого защиту в 3.1 писали какие-то бестолочи, совершенно не врубающиеся в шифрование. Они облажались, но хоть в деталях. Метрошники же с турникетами - просто мордой в лужу. Хотя это вовсе не поп-софт, и, казалось бы, такое должны делать профессионалы на заказ, люди, которые за работу дорого берут и хорошо делают.
Позор полный. Защита от сбоев методом создания двух копий - даже не глупость, просто вопиющая некомпетентность. Есть куча кодов, исправляющих ошибки - те же хемминг, рид-соломон, которые привносят распределённую избыточность и позволяют именно исправить ошибку, а не гадать - эта копия информации правильная, или та. Реализация их не стоит ничего - хемминга вообще можно собрать на К155ЛА3 или запихать в ПЗУ размером в 256 байт.
Что думали создатели карточки, собственно, несложно вычислить - они хотели, чтобы карточка, у которой испорчено 50% поверхности, оставалась работоспособной. Правда, если повреждение пересечёт середину карточки, способ с двумя копиями тоже не сработает. А вот код Хемминга может спасти при очень существенных потерях - для этого данные после хеммингования "размазываются" - каждый байт разбирается на биты и биты пишутся в сильно разнесённые места карточки. В этом случае крупное повреждение испортит сразу много байт, но лишь по одному биту в каждом, а это легко восстанавливается кодом Хемминга. Тривиально!
Реклама |
Специальная цена на Microsoft Office 97, плюс Microsoft Office 2000 бесплатно! До 31 июля у Вас есть шанс серьезно сэкономить. Подробности - тут. |
Давно мы хотели поймать и сфотографировать этот диск, но как-то всё не попадался. И вот, наконец, попался. Продавец (это Митинский радиорынок) вызвался позировать со своим товаром, и мы не смогли ему отказать. :-)
Русские пираты против НАТО. На диске написано - "Ломаем НАТОвские сервера". Диск - из серии "хакать - это очень просто".
Не знаю, почему я так уверен, что в Штатах не продают диска "ломаем русские (сербские, китайские, etc) сервера", но вот есть такое ощущение.
Впрочем, с трактовкой события у меня напряжёнка. Не знаю, считать ли это за знак высокой и неуёмной политической активности, предпринимательской ушлости или же просто наивности в сочетании с самоуверенностью. Правда, исходя из того, что все диски "сам себе хакер" - уже откровенное делание денег на лохах, этот - вряд ли исключение.
Ещё чуток о карточках для метро. Собственно, любопытно не то, что её можно использовать повторно при помощи скотча. Интереснее другое - что турникеты совершенно не возражают, встречая карточку, на которой ещё вчера был ноль поездок и находя на ней десять. Это, в частности, скорее всего означает, что они ничего не будут иметь против двух карточек с одним и тем же содержимым. То есть копирование карточки должно быть возможно.
Отметим, что наклеенная на карточку магнитная полоска до боли похожа на плёнку от катушечных магнитофонов. А значит вопрос массового производства подделок сводится к установке у старого катушечника магнитной головки в нужное положение и создании мастер-копии записи. После этого останется лишь включать его на запись, резать выходящую плёнку на кусочки нужной длины и наклеивать их на использованные билеты.
Впрочем, кажется, ущерб от такого производства не будет слишком велик - надо же ещё набирать материал (б/у карточки), организовывать сбыт продукции, не попадаться при всём этом... А вот заклеить скотчем полкарточки - это кто угодно осилит. Кустарный способ может в данном случае нанести больше вреда.
Есть ещё, впрочем, такой вариант развития - всё будет переведено напрочь на бесконтактные карты, а магнитные пойдут в утиль и хачить станет нечего. Впрочем, вряд ли когда их устанавливали, это предполагалось. Более вероятно, что взламываемость магнитных карточек оказалась одним из поводов переходить на радио...
Иридиум (спутниковая телефония с планетарным охватом) рассказал, наконец, как он собирается увеличить продажи. Сюрприз, сюрприз - путём снижения цен. :-) Дешевле всего будет звонить с одного спутникового аппарата на другой - лишь $1.50 в минуту. Сравним - цены на звонки по сотовому гуляют между 40 центами и долларом. Местные звонки с иридиума встанут уже в $1.60, плюс объявлено, что в любую точку земного шара позвонить будет не дороже $3. Подешевеют и сами аппараты. Примерно до $1000 с изначальных $3000. :-) Стоимость акций предприятия в ответ на эти шаги подросла, но уверенности в том, что всё хорошо пока нет.
И тем не менее. Мы присутствуем при рождении безусловно перспективной технологии. Каждая вторая фантастическая повесть, в которой говорят о будущем отмечает наличие в распоряжении людей всепланетной мобильной связи, к тому же, судя по активности её использования, дешёвой. Ибо охота. :-) Это не очень актуально сегодня, когда сама мобильность землян оставляет желать лучшего, но если представить себе персональную авиацию (а что бы её себе не представить), то становится очевидно, что нужда в портативной глобальной связи есть. Желательно, конечно, в цифровой, с выходом к нам, сюда, в Интернет. :-)
Чак Богорад прислал ссылку на информацию о принятом в Думе законе, касающемся проблемы 2000-ного года. Процитирую дословно: "Госдума приняла в третьем чтении закон о "проблеме-2000". В соответствии с законом, владелец компьютерной системы обязан предпринять необходимые меры для предотвращения проявлений "проблемы-2000", при этом финансирование производится за счет средств собственников компьютерных систем. Закон определяет, что при рассмотрении в суде споров "проблема-2000" не может рассматриваться как форс-мажорное обстоятельство. За принятие закона проголосовало 320 человек при одном воздержавшемся."
Выглядит разумно.
Apple продолжает работу над своей новой операционной системой, MacOS X. Новая версия, предположительно, будет:
Старые приложения теперь будут работать через новую графическую подсистему и будут более полноправны - для работы с ними не нужно будет переключаться на другой десктоп, все приложения будут интегрированы.
С грустью отмечу, что всё это очень напоминает NT. Есть, как минимум, один минус - это происходит на несколько лет позже, чем у Микрософта. И, как минимум, один плюс - это, кажется, всё же, Юникс. В глубине души, по крайней мере. :-)