После публикации предыдущего материала по взлому автомобильной сигнализации мы решили продолжить данную тематику и рассмотреть другие технические решения, которые позволяют провести атаки на автомобильные системы. Сегодня мы рассмотрим одно из таких решений — фреймворк CANToolz. С его помощью можно изучать внутреннюю сеть автомобиля и, кроме того, манипулировать действиями самого автомобиля.
Это решение пригодится как разработчикам нестандартных «расширений» для авто, так и просто хакерам, которым интересно разобраться в устройстве своего четырехколесного друга. В Сети есть множество утилит для работы с CAN-трафиком, но CANToolz — это модульный фреймворк с открытым исходным кодом, с веб-интерфейсом, тестовыми сценариями и атаками, то есть что-то наподобие Burp Suit, только для CAN-сети. В составе есть базовые примеры: снифинг сети, MITM, сканирование ECU-устройств и другие. Все эти примеры легко расширяются и адаптируются под собственные нужды (если ты немного знаком с питоном).
Один из основных акцентов Алексей делает именно на методиках изучения формата сообщений и поиска основных команд автомобиля. Например, мы хотим научиться автоматизированно открывать двери, используя только CAN-сообщения, и в этом нам поможет именно CANToolz, в котором есть (кроме известных техник вроде sniff and replay) более эффективные методы, основанные на разнице множеств и статистическом анализе.
Для запуска набираем:
# python cantoolz.py -g w -c examples/ can_sniff.py
Затем открываем http://localhost:4444.
Для установки необходимо иметь Python 3.4 и pySerial. Также есть версия под Python 2.7.
URL: github.com/eik00d/CANToolz