Недавний инцидент с системой управления энергией от компании GivEnergy продемонстрировал, как опасно полагаться на устаревшие методы криптографии в современной инфраструктуре. Исследователь Райан Кастеллуччи, устанавливая солнечные панели и систему хранения энергии для своего дома, неожиданно получил доступ к управлению около 200 мегаваттами мощности, что эквивалентно питанию 40 000 домов.
После установки оборудования, Кастеллуччи, желая интегрировать систему с домашним помощником Home Assistant, решил протестировать API компании GivEnergy. Результаты экспериментов оказались весьма неожиданными: благодаря полученному доступу к административному аккаунту GivEnergy, исследователь смог управлять десятками тысяч подключённых к сети аккумуляторов, что позволило ему фактически создать виртуальную электростанцию.
Административный аккаунт дал Кастеллуччи возможность не только управлять системой, но и потенциально получить доступ к личным данным всех клиентов GivEnergy, таких как имена, адреса электронной почты и телефонные номера. Помимо этого, доступ к учётной записи администратора позволил Кастеллуччи управлять приблизительно 60 000 установленными системами, что фактически предоставило ему root-доступ над продуктами компании, подключенными к облаку. Однако исследователь подчёркивает, что не использовал эти данные в своих экспериментах.
Исследователь рассказал, что изначально планировал настроить систему “Умный дом” и интегрировать ее с облачным сервисом. Однако, начав экспериментировать с программным интерфейсом, он с удивлением обнаружил, что получил контроль над огромным количеством подключенных к сети аккумуляторов.
Причиной столь серьезного нарушения безопасности стало использование устаревшего 512-битного ключа RSA для защиты программного интерфейса. Этот ключ, по сути являющийся мастер-ключом системы, оказался легко взламываемым. Кастеллуччи удалось факторизовать закрытый ключ, лежащий в основе всего API, затратив всего 70 долларов на облачные вычисления и менее суток времени.
Важно отметить, что 512-битные ключи RSA считаются ненадежными уже более двух десятилетий. Первый публично известный случай факторизации такого ключа произошел еще в 1999 году, когда международной команде исследователей потребовалось семь месяцев работы суперкомпьютера и сотен обычных компьютеров. С тех пор технологии значительно продвинулись, и сегодня подобная операция требует гораздо меньше ресурсов и времени.
Кастеллуччи подчеркнул, что корень проблемы лежит глубже, чем может показаться. По мнению исследователя, ответственность за уязвимость лежит не столько на разработчиках GivEnergy, сколько на создателях криптографических библиотек, используемых программистами.
Он отметил, что нереалистично ожидать от обычных разработчиков глубоких познаний в криптографии – это не их специализация. Проблема в том, что широко используемые библиотеки, такие как OpenSSL и Go crypto, до сих пор предлагают возможность использования небезопасных 512-битных ключей RSA.
Представитель GivEnergy подтвердил эту точку зрения, рассказав, что проблемный подход к шифрованию был выбран много лет назад, когда компания была небольшим стартапом с ограниченным опытом и всего двумя младшими разработчиками. В то время предполагалось, что, если метод шифрования доступен в стандартной библиотеке, значит, его безопасно использовать. К счастью, GivEnergy оперативно отреагировала на сообщение Кастеллуччи и устранила уязвимость в течение 24 часов после получения информации.
GivEnergy – британская компания, специализирующаяся на разработке и производстве систем хранения энергии, включая аккумуляторы и солнечные панели, для домов и коммерческих объектов. Она предоставляет решения для интеграции возобновляемых источников энергии с целью повышения энергоэффективности и снижения зависимости от традиционных энергосистем.