За последние пять лет электромобили проделали огромный путь: из непрактичной футуристической диковины они превратились в то, чем люди жаждут обладать.
Однако, как это часто случается с быстро развивающимися новыми экономическими направлениями, производители включаются в конкурентную борьбу, пытаясь захватить как можно большую долю рынка, и не слишком задумываются, что будет потом. Мы, понятное дело, говорим о весьма конкретном аспекте — о безопасности. Не физической — устройство вряд ли ударит вас током, а о кибербезопасности.
Основная концепция зарядных станций — «плати и заряжай» — пока реализуется без должного внимания к защите персональных данных и денег клиента. Исследователь Матиас Дальхаймер (Mathias Dalheimer) поднял эту тему на тридцать четвертом конгрессе хакеров Chaos Communication Congress в своем докладе об уязвимостях инфраструктуры для электромобилей.
Как происходит зарядка электрокара
По мере того как растет количество электромобилей, увеличивается и число зарядных станций. Компании, которые ими владеют, получают плату за предоставленную ими электроэнергию. Для таких операций необходима система расчетов – и она, конечно же, есть. Так что перед тем как начать зарядку автомобиля, вы должны идентифицировать себя. Для этого используется бесконтактная NFC-карта, привязанная к вашей учетной записи.
Для расчетов за зарядку электромобилей обычно используется протокол Open Charge Point Protocol, который обеспечивает связь между системой управления расчетами и зарядной станцией. Зарядная станция отправляет системе расчетов запрос, указывая в нем ваши идентификационные данные. Система управления расчетами одобряет запрос и сообщает об этом зарядной станции — и после этого вы можете начать зарядку. Потом зарядная станция определит, сколько электричества вы получили, и отправит эти данные системе расчетов, чтобы включить их в счет, который будет выставлен вам в конце месяца.
Вроде ничего нового или особенного в этом нет. А теперь давайте присмотримся и поймем, где здесь слабые места.
Проблемы, кругом одни проблемы
Дальхаймер протестировал различные компоненты этой системы и обнаружил проблемы с безопасностью в каждом из них. Начнем с идентификационных карт. Они предоставляются сторонними поставщиками и — сюрприз! — большинство из них не обеспечивает защиты ваших данных. Это очень простые NFC-карты, которые не шифруют ни ваш идентификационный код (а ничего другого для идентификации и не требуется), ни какие-либо другие данные, которые на них содержатся. Однако этим проблемы с картами не ограничиваются.
Такие карты очень легко программируются: чтобы продемонстрировать это, Матиас создал копию собственной карты и успешно зарядил автомобиль с ее помощью. Человек, которому захочется бесплатно заряжать электромобиль, легко может сделать себе множество карт с разными номерами счетов в надежде, что какой-то из них окажется действующим. (Матиас не пробовал это сделать — по этическим соображениям.)
Поскольку поставщики услуг зарядки выставляют счета только раз в месяц, при таком взломе владелец ничего не заметит, пока не получит очередной счет.
Еще одно слабое место процедуры оплаты: большинство станций используют протокол OCPP в уже относительно старой версии 2012 года, которая основана на HTTP. (Все мы знаем, что не так с HTTP — этот протокол не использует шифрование.) Матиас продемонстрировал, как легко можно организовать атаку типа «человек посередине» с перенаправлением транзакции.
Более того, обе станции, которые Матиас использовал для своих тестов, были оборудованы USB-портами. Подключите к такому порту пустую флешку — и на нее скопируются логи и параметры конфигурации. Из таких данных легко можно извлечь логин и пароль для сервера OCPP, а также номера идентификаторов предыдущих пользователей — а это, как мы помним, все, что требуется, чтобы создать рабочую копию идентификационных карт этих пользователей.
Хуже того: если данные на флешке изменить, а затем снова вставить ее в станцию зарядки, последняя автоматически обновит свою прошивку, приняв записанное на флешке за новую конфигурацию. Это открывает для хакеров целый ряд дополнительных возможностей.
Подводим итог. Получается, что преступники могут: получать номера идентификационных карт; создавать фальшивые копии этих карт и использовать их для транзакций (платить за которые придется настоящим владельцам счетов); перенаправлять запросы на зарядку, что позволяет, по сути, полностью вывести из строя станцию; получать доступ к станции с полномочиями суперпользователя и дальше творить с ней что угодно. И все это лишь потому, что поставщики не стали принимать меры для обеспечения безопасности.