В последний приезд в москву я поимел забавную транзакцию с московской электричкой, точнее - с девайсами, которые стоят на выходе из оной.
Мне надо было доехать из Долгопрудного до Тимирязевской, но когда я брал билет в Долгопрудном, электричка уже подходила к станции и я второпях назвал первую станцию, которая пришла в голову и заведомо имела отношение к делу - Савеловский вокзал.
На Тимирязевской девайс меня не выпустил, когда я обратился к человеку, человек мне сказал - ты, типа, лох, у тебя ж билет до Савеловского. На мой вопрос "и что теперь, ехать до Савеловского?" он нажал кнопку и меня выпустил.
Потом мы обсуждали этот эпизод с Винопивцем и сошлись на том, что
1. Никаких осмысленных атак такое поведение девайса не перекрывает.
2. Единственная сложность, которая может возникнуть при реализации разумного поведения (выпускать на Тимирязевской обладателей билетов из Долгопрудного до Савеловского) - отслеживание топологии сети, но сеть московских электричек не так уж сложна и топологическую информацию можно просто забить руками, если лень писать анализатор графа.
3. Винопивец мне рассказал про токийское метро, которое гораздо более сложной топологии, чем московские электрички, и на нем можно ездить по одному билету откуда угодно и куда угодно. Если на выходе денег не хватает, просто доплачиваешь. То есть никаких принципиальных препятствий к тому, чтобы сделать то же самое в московских электричках, не существует.
3. То, что это сделано не было, свидетельствует о том, что проектировали систему не то, что лохи, но, как бы это сказать помягче, люди, не слишком заинтересованные в плане подумать головой.
4. По видимому, единственным разумным способом реализации этих билетов является печатать на них уникальный ключ о том, где и кем этот билет был продан, и запись этой информации в центральную базу. Все остальное выглядит слишком соблазнительно на предмет атаки повтором.
А сейчас я подумал и понял, что нынешняя система уязвима для довольно простой атаки, хотя, впрочем, и не очень эффективной: одна бесплатная поездка на каждый купленный билет.
Идея в следующем. Двое лоботрясов в Долгопрудном покупают билет до Савеловского. Потом они копируют штрих-код. Обладатель копии едет до Савеловского и выходит по копии. Обладатель оригинала выходит на Тимирязевской, обламывается в девайсе, показывает билет человеку, человек его обзывает лохом и выпускает по кнопке.
Самое главное - человеку на Тимирязевской не примелькаться.
Считаю нужным специально подчеркнуть, что социально-инженерная часть этого эксплойта (взаимодействие с человеком на Тимирязевской) построена на том, что девайс не выпускает обладателей билета до Савеловского, без этого легенда не будет убедительной.
Мне надо было доехать из Долгопрудного до Тимирязевской, но когда я брал билет в Долгопрудном, электричка уже подходила к станции и я второпях назвал первую станцию, которая пришла в голову и заведомо имела отношение к делу - Савеловский вокзал.
На Тимирязевской девайс меня не выпустил, когда я обратился к человеку, человек мне сказал - ты, типа, лох, у тебя ж билет до Савеловского. На мой вопрос "и что теперь, ехать до Савеловского?" он нажал кнопку и меня выпустил.
Потом мы обсуждали этот эпизод с Винопивцем и сошлись на том, что
1. Никаких осмысленных атак такое поведение девайса не перекрывает.
2. Единственная сложность, которая может возникнуть при реализации разумного поведения (выпускать на Тимирязевской обладателей билетов из Долгопрудного до Савеловского) - отслеживание топологии сети, но сеть московских электричек не так уж сложна и топологическую информацию можно просто забить руками, если лень писать анализатор графа.
3. Винопивец мне рассказал про токийское метро, которое гораздо более сложной топологии, чем московские электрички, и на нем можно ездить по одному билету откуда угодно и куда угодно. Если на выходе денег не хватает, просто доплачиваешь. То есть никаких принципиальных препятствий к тому, чтобы сделать то же самое в московских электричках, не существует.
3. То, что это сделано не было, свидетельствует о том, что проектировали систему не то, что лохи, но, как бы это сказать помягче, люди, не слишком заинтересованные в плане подумать головой.
4. По видимому, единственным разумным способом реализации этих билетов является печатать на них уникальный ключ о том, где и кем этот билет был продан, и запись этой информации в центральную базу. Все остальное выглядит слишком соблазнительно на предмет атаки повтором.
А сейчас я подумал и понял, что нынешняя система уязвима для довольно простой атаки, хотя, впрочем, и не очень эффективной: одна бесплатная поездка на каждый купленный билет.
Идея в следующем. Двое лоботрясов в Долгопрудном покупают билет до Савеловского. Потом они копируют штрих-код. Обладатель копии едет до Савеловского и выходит по копии. Обладатель оригинала выходит на Тимирязевской, обламывается в девайсе, показывает билет человеку, человек его обзывает лохом и выпускает по кнопке.
Самое главное - человеку на Тимирязевской не примелькаться.
Считаю нужным специально подчеркнуть, что социально-инженерная часть этого эксплойта (взаимодействие с человеком на Тимирязевской) построена на том, что девайс не выпускает обладателей билета до Савеловского, без этого легенда не будет убедительной.
а как они по копии войдут?
Date: 2007-08-10 05:08 am (UTC)Re: а как они по копии войдут?
Date: 2007-08-10 05:10 am (UTC)no subject
Date: 2007-08-10 06:13 am (UTC)Я иногда езжу на электричках Тверь-Москва. Многие покупают билет до конечной, а выходят на первой станции, где есть метро (на Петровско-разумовской).
Там на турникетах стоит специальная тетенька, которая пропускает людей с неправильными билетами. И лохом не обзывает, и не всматривается в билет. У нее и так работы много. Примелькивайся - не хочу. ))
Кстати вопрос: а почему ОДНА бесплатная поездка на каждый купленный билет?
no subject
Date: 2007-08-10 06:16 am (UTC)1. По ксерокопии штрихкода выпустит только автомат, но не человек, поэтому оригинал практически одноразовый
2. Если я правильно понимаю, по ксерокопии автомат выпустит только один раз, поэтому ксерокопия тоже одноразовая.
no subject
Date: 2007-08-10 06:29 am (UTC)no subject
Date: 2007-08-10 07:45 am (UTC)У меня проездной Долгопа-Белорусский и по этой магнитной карте я могу входить и выходить на всем протяжении где угодно. И входить назад, но с промежутком 10 минут от предыдущего входа.
Билет можно было и не покупать. На Тимирязевской, как и на других станциях, есть касса на платформе, которая продает "билет на выход". Говоришь ей - от Окружной - и тебе продают билет за 15 рублей. С ним проходишь турникет...
Re: а как они по копии войдут?
Date: 2007-08-10 07:46 am (UTC)no subject
Date: 2007-08-10 07:47 am (UTC)no subject
Date: 2007-08-10 09:31 am (UTC)#4 -- думал, что штрих-код на билете и есть такой уникальный ключ (там, поди, бит 60, должно хватить с интервалом на год, например), но, видимо, скорости централизованной авторизации не хватает, а распределённой, видимо, нет.
no subject
Date: 2008-07-17 06:04 am (UTC)