Контакты
Подписка
МЕНЮ
Контакты
Подписка

Безопасность безналичных платежей на транспорте: почему никто не воспринимает это всерьез

Безопасность безналичных платежей на транспорте: почему никто не воспринимает это всерьез

В рубрику "Защита информации и каналов связи" | К списку рубрик  |  К списку авторов  |  К списку публикаций

Безопасность безналичных платежей на транспорте: почему никто не воспринимает это всерьез

Лев Денисов
Независимый Эксперт

Занимательные факты

Прежде чем начать разговор на такую непростую тему, приведу несколько занимательных фактов.

По крайней мере 20 млн пассажиров в России ежедневно оплачивают свой проезд с помощью бесконтактных карт.

99% таких карт подвержены уязвимостям. Это означает, что можно сравнительно легко получить несанкционированный доступ к данным на карте и их видоизменить (перезаписать). Злоумышленник, проявив должный уровень фантазии, может, например, купив одну карту, сделать множество "клонов" (100% идентичных с точки зрения системы оплаты карт). В ряде случаев можно даже не покупать карту, а незаметно прочитать данные с вашей собственной карты и воспользоваться вашим электронным билетом на проезд. И не удивляйтесь, если вашу карту потом заблокируют, что будет сопровождаться, возможно, неприятным разговором с представителями правоохранительных органов.

Представили? Стало не по себе? А что скажете на то, что и разработчики таких систем, и заказчики, как правило, знают об этом? Как сказал технический директор компании – оператора одного из крупнейших в России проектов, запущенного сравнительно недавно: "Да, мы знаем про это". Но, как видим, все относятся к этому достаточно пренебрежительно.

Экскурс в историю

Почему так происходит? Давайте для начала проведем небольшой экскурс в историю, и я напомню, как все начиналось.

В 90-е годы прошлого века была изобретена бесконтактная Smart-карта, получившая название Mifare Classic. Ее особенностью было то, что она представляла собой, по сути, пассивную радиометку, имеющую собственную энергонезависимую память, к которой можно обращаться с помощью определенных команд. Память карты разделена на 16 секторов, состоящих из четырех 16-байтных блоков, доступ к которым может быть разграничен секретными ключами.


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

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

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

Разумеется, то, что имеет наибольшую популярность, является и предметом внимания многих: от хакеров-самоучек до серьезных криптологов.

Так произошло и в данном случае: еще в теперь уже далеком 2008 г. студенты одного голландского университета провели т.н. обратный инжиниринг криптографического протокола, используемого в картах Mifare Classic, и обнаружили в нем существенные уязвимости, позволяющие получать несанкционированный доступ к карте (извлекать ключи) и, соответственно, изменять хранящиеся в ней данные.


Компания-правообладатель технологии Mifare отреагировала на это достаточно оперативно: во-первых, подала в суд на студентов (который впоследствии проиграла), во-вторых, разработала новый чип для бесконтактных карт, получивший название Mifare Plus. В нем применили современное шифрование стандарта AES, но в целях обратной совместимости с уже существующей огромной инфраструктурой по приему карт Mifare Classic сохранили и режим работы с использованием старого криптопротокола, исправив попутно уязвимость, связанную с датчиком случайных чисел (который, как выяснилось, был не совсем "случайным" и позволял злоумышленнику эксплуатировать данный факт в своих, понятно каких, целях).

"А воз и ныне там"

Что же было потом? Да по большому счету ничего не изменилось. Заказчики (муниципалитеты, перевозчики), как правило, просто не знали о том, что они используют небезопасную технологию. Исполнители (разработчики, интеграторы, поставщики) либо тоже не знали, либо просто скрывали тот факт, что их системы оплаты проезда стали небезопасными. В лучшем случае заказчика "раскручивали" на покупку карт на основе нового чипа Mifare Plus, умалчивая, что продолжают использовать их в режиме обратной совместимости (т.е. с использованием старого, "взломанного" криптопротокола).

Разорвать замкнутый круг

Почему же так происходит? Помимо вышеобозначенной причины (попросту незнания, читай – некомпетентности заказчика/исполнителя), есть и вполне понятная экономическая причина.

Во-первых, в существующих проектах придется модернизировать инфраструктуру: менять карты на новые, с новым чипом, обновлять оборудование и программное обеспечение. Эти затраты в бюджеты просто не заложены и не предусмотрены.

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

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

На самом деле все гораздо печальнее, планка для входа в "волшебный мир взлома" транспортных карт упала настолько низко, что уже буквально стремится к нулю. Стоимость бесконтактного ридера, с помощью которого можно это делать, составляет примерно 30 долларов, и его легко найти в свободной продаже. А уж бесплатных утилит на бескрайних просторах Интернета просто невообразимое количество…

Вот и замкнулся круг, и мы пришли к тому, с чего начинали: незнание или некомпетентность (называйте как хотите) усугубляет проблему в геометрической прогрессии. Вначале это незнание про уязвимости, затем – это иллюзии того, что их сложно воспроизвести на практике.

Можно быть гениальным разработчиком и архитектором сложных систем, но если эти системы построены на уязвимых технологиях, то они и сами становятся уязвимыми.

В 90-е гг ХХ в. была изобретена бесконтактная Smart-карта, получившая название Mifare Classic. Она представляла, по сути, пассивную радиометку, имеющую собственную энергонезависимую память, к которой можно обращаться с помощью определенных команд. Память карты разделена на 16 секторов, состоящих из четырех 16-байтных блоков, доступ к которым может быть разграничен секретными ключами. Получается, с одной стороны, объем памяти небольшой, набор функциональных команд ограничен, с другой стороны, чтобы считать и записать данные на карту, достаточно поместить ее в электромагнитное поле бесконтактного считывателя (неважно, какой стороной). Это оказалось весьма востребовано для определенных сфер жизни, где требуется быстро произвести идентификацию пользователя: в системе контроля доступа и в системах оплаты проезда для общественного транспорта.

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

Например, несколько месяцев назад в СМИ появилась информация об очередном случае взлома московской транспортной карты "Тройка". На деле это оказалось описанием уязвимости, озвученной мною еще в мае 2016 г. на одной из хакерских конференций. И, как ни странно, к взлому чипа Mifare Plus, лежащего в основе "Тройки", это не имеет никакого отношения. Просто одним банком было разработано приложение, позволяющее напрямую пополнять баланс карты с помощью Android-смарфтона с NFC. К сожалению, разработчики банка не реализовали защиту от MITM-атаки и передавали ключи для доступа к карте, по сути, в открытом виде по SSL- (TLS) протоколу. Так что с помощью подмены сертификата на самоподписанный можно было легко расшифровать трафик и получить ключи от карты. И, похоже, только широкий резонанс в средствах массовой информации заставил исправить эту старую, как мир, уязвимость. Но сколько теперь человек имеет ключи для несанкционированного доступа к "Тройке", мы уже никогда не узнаем…

Кстати, недавно была опубликована новая уязвимость карт на основе чипа Mifare Plus, так что "взлом" карт "Подорожник", "Стрелка" и других крупных транспортных проектов – лишь вопрос времени. Думаю, весьма короткого времени…

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

Опубликовано: Журнал "Information Security/ Информационная безопасность" #4, 2016

Приобрести этот номер или подписаться

Статьи про теме