Что не так с зарядками для электрокаров

Число электромобилей быстро растет, расширяется и нужная для них инфраструктура. Но заботятся ли поставщики о ее безопасности?

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

Однако, как это часто случается с быстро развивающимися новыми экономическими направлениями, производители включаются в конкурентную борьбу, пытаясь захватить как можно большую долю рынка, и не слишком задумываются, что будет потом. Мы, понятное дело, говорим о весьма конкретном аспекте — о безопасности. Не физической — устройство вряд ли ударит вас током, а о кибербезопасности. Основная концепция зарядных станций — «плати и заряжай» — пока реализуется без должного внимания к защите персональных данных и денег клиента. Исследователь Матиас Дальхаймер (Mathias Dalheimer) поднял эту тему на тридцать четвертом конгрессе хакеров Chaos Communication Congress в своем докладе об уязвимостях инфраструктуры для электромобилей.

Как происходит зарядка электрокара

По мере того как растет количество электромобилей, увеличивается и число зарядных станций. Компании, которые ими владеют, получают плату за предоставленную ими электроэнергию. Для таких операций необходима система расчетов – и она, конечно же, есть. Так что перед тем как начать зарядку автомобиля, вы должны идентифицировать себя. Для этого используется бесконтактная NFC-карта, привязанная к вашей учетной записи.

Для расчетов за зарядку электромобилей обычно используется протокол Open Charge Point Protocol, который обеспечивает связь между системой управления расчетами и зарядной станцией. Зарядная станция отправляет системе расчетов запрос, указывая в нем ваши идентификационные данные. Система управления расчетами одобряет запрос и сообщает об этом зарядной станции — и после этого вы можете начать зарядку. Потом зарядная станция определит, сколько электричества вы получили, и отправит эти данные системе расчетов, чтобы включить их в счет, который будет выставлен вам в конце месяца.

Вроде ничего нового или особенного в этом нет. А теперь давайте присмотримся и поймем, где здесь слабые места.

Проблемы, кругом одни проблемы

Дальхаймер протестировал различные компоненты этой системы и обнаружил проблемы с безопасностью в каждом из них. Начнем с идентификационных карт. Они предоставляются сторонними поставщиками и — сюрприз! — большинство из них не обеспечивает защиты ваших данных. Это очень простые NFC-карты, которые не шифруют ни ваш идентификационный код (а ничего другого для идентификации и не требуется), ни какие-либо другие данные, которые на них содержатся. Однако этим проблемы с картами не ограничиваются. Такие карты очень легко программируются: чтобы продемонстрировать это, Матиас создал копию собственной карты и успешно зарядил автомобиль с ее помощью. Человек, которому захочется бесплатно заряжать электромобиль, легко может сделать себе множество карт с разными номерами счетов в надежде, что какой-то из них окажется действующим. (Матиас не пробовал это сделать — по этическим соображениям.)

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

Еще одно слабое место процедуры оплаты: большинство станций используют протокол OCPP в уже относительно старой версии 2012 года, которая основана на HTTP. (Все мы знаем, что не так с HTTP — этот протокол не использует шифрование.) Матиас продемонстрировал, как легко можно организовать атаку типа «человек посередине» с перенаправлением транзакции.

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

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

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

Советы