🚀🚀В последнее время я очень интересуюсь Интернетом транспортных средств.,Но да не знает, как начать,Обнаружил ICSim случайно,Может использоваться для простой имитации автомобиля.,Поучившись некоторое время, я решил написать несколько заметок.,Боюсь, что забуду после изучения (просто для изучения ссылка).
🚀🚀ICSim это инструмент для моделирования комбинаций приборов транспортных средств, специально для SocketCAN дизайн. РозеткаCAN да Linux Модуль ядра, поддерживающий интерфейс контроллерной сети (CAN).
🚀🚀Адрес проекта следующий:
zombieCraig/ICSim: Instrument Cluster Simulator (github.com)
🚀🚀Установить Учебник выглядит следующим образом:
Интернет транспортных средств Безопасностьначиная——ICSim Simulatorиспользовать-CSDN Блог
🚀🚀Фазз-тестирование Да Автоматизированная технология тестирования для обнаружения уязвимостей и дефектов программного обеспечения. Основная идея состоит в том, чтобы ввести в систему большое количество случайных или полуслучайных входных данных.,Наблюдайте за реакцией системы,Тем самым обнаруживая потенциальные ошибки и уязвимости. Фазз-тестирование часто используется в Тестировании. безопасностии Тест стабильности。
🚀🚀CAN Packet Fuzzing да Технология, применяющая фазз-тестирование к шине сети контроллеров (CAN). МОЖЕТ Шина — это ключевой протокол, используемый в современных автомобилях для связи между электронными блоками управления (ЭБУ). Фазз-тестирование в данном контексте изглавная цельда, отправив исключение или недействительный из CAN кадры данных для обнаружения лазеек и дефектов в стеке сетевых протоколов автомобиля.
🚀🚀Я наткнулся на этот инструмент, когда смотрел видео из,да YouTube Blogger — инструмент с открытым исходным кодом,Лично я считаю, что им относительно легко пользоваться.,Просто приди на должность,Конечно SavvyCANDа действительно непобедима! ! ! ! ! !
🚀🚀Мы просто клонируем его прямо с GitHub. Это относительно просто:
git clone https://github.com/rybolov/Can-Hax.git
cd Can-Hax
🚀🚀Can-Hax даиспользовать can-utils из пакета/фрейма данных отпечатков пальцев и нечеткой сети контроллеров (CAN) из утилит, доступных для большинства Linux.
🚀🚀Шаблоны полезной нагрузки CAN доступны следующим образом: 0 = при использовании не наблюдается.,H=наблюдаемое шестнадцатеричное значение,N = наблюдаемое из десятичного значения,Итак, это выглядит как 00NHHHHH.
🚀🚀Мы используем команду, чтобы получить отпечаток пальца.,xxxxxxx.logdaourusecandump сохранить из файла журнала,xxxxxx.jsondaus из файла отпечатков пальцев.
python ./can-hax.py --fingerprint --input xxxxxxx.log -d "ICSIM Vehicle Simulator" -o xxxxxx.json
🚀🚀Например, если я выполню следующую команду, я получу следующий результат:
python ./can-hax.py --fingerprint --input candump-2024-06-01_104423.log -d "ICSIM Vehicle Simulator" -o can_1_fingerprint.json
🚀🚀Выход:
/ __ \ | | | |
| / \/ __ _ _ __ ______| |_| | __ ___ __
| | / _` | '_ \______| _ |/ _` \ \/ /
| \__/\ (_| | | | | | | | | (_| |> <
\____/\__,_|_| |_| \_| |_/\__,_/_/\_\
Can-Hax: Fingerprint and fuzz CAN traffic.
Testing if candump-2024-06-01_104423.log is a file.
candump-2024-06-01_104423.log is most definitely a file.
Found cansend. We can use this to send CAN packets.
First 3 lines read in as:
(1717253063.833375) vcan0 161#000005500108001C
(1717253063.833432) vcan0 191#010010A141000B
(1717253063.833439) vcan0 164#0000C01AA8000004
Date of last log line: 2024.06.01
Found 37 CAN IDs.
{
"date": "2024.06.01",
"description": "ICSIM Vehicle Simulator",
"fingerprints": {
"039": "00NH",
"095": "N0000NHN000000NN",
"133": "00000000HN",
"136": "000N0000000000NH",
"13A": "00000000000000NH",
"13F": "0000000N000000NH",
"143": "NHNH00HH",
"158": "00000000000000NH",
"161": "00000NN00N0N00NH",
"164": "0000H0NHHN0000NN",
"166": "H0NN00NN",
"17C": "00000000N00000NN",
"183": "000000NH0000N0NH",
"188": "00000000",
"18E": "0000NH",
"191": "0N00N0HNNN00NH",
"19B": "00000H000000",
"1A4": "0000000N000000NH",
"1AA": "NHHH00000000NNNH",
"1B0": "000H0000000NNN",
"1CF": "N00N000000NH",
"1D0": "000000000000000H",
"1DC": "0N0000NH",
"21E": "0NHNNNNNNN0NNH",
"244": "0000000NHH",
"294": "0N0H000NHHNH00NH",
"305": "N0NN",
"309": "00000000000000HN",
"320": "0000NN",
"324": "NNNN000000000HNH",
"333": "000000000000NH",
"37C": "HH00HH000NNH00NH",
"405": "00000N00000000NH",
"40C": "0NNHNNNHNNNNNNNH",
"428": "0N0N0000NNNHNH",
"454": "NNHHNN",
"5A1": "NN0000000000NNNH"
},
"version": "2"
}
Done. Total realtime was 0:00:01.
🚀🚀Давайте вкратце рассмотрим, что примерно означают слова «президент» и «изданные»:
"133": "00000000HN",
🚀🚀133 представляет идентификационный номер автобуса Издакан.,Следующий 0 означает, что изда никогда не менялась.,Всегда да0; H представляет собой шестнадцатеричное число;,То есть, да,Этот бит представлен в шестнадцатеричном формате. N представляет собой десятичное число;,То есть шестнадцатеричное число никогда не встречалось в да.
🚀🚀 Далее начинаем Фазз-тестирование,Это все размоет (это может занять много времени),можно сократить задержку),Продолжим один за другим.
python ./can-hax.py --fuzz --input xxxxxx.json --can vcan0
_____ _ _
/ __ \ | | | |
| / \/ __ _ _ __ ______| |_| | __ ___ __
| | / _` | '_ \______| _ |/ _` \ \/ /
| \__/\ (_| | | | | | | | | (_| |> <
\____/\__,_|_| |_| \_| |_/\__,_/_/\_\
Can-Hax: Fingerprint and fuzz CAN traffic.
Testing if can_1_fingerprint.json is a file.
can_1_fingerprint.json is most definitely a file.
Found cansend. We can use this to send CAN packets.
CANID 161 00000NN00N0N00NH complexity is 7
Sending CAN frame: 161#0000000000000000
Sending CAN frame: 161#0000000000000001
–input, –can можно упростить, используя -i и -c.
🚀🚀Помимо тестирования всех, мы также можем протестировать определенные CAN ID, указав –canid.
python ./can-hax.py --fuzz --canid 19B --input can_1_fingerprint.json --can vcan0
_____ _ _
/ __ \ | | | |
| / \/ __ _ _ __ ______| |_| | __ ___ __
| | / _` | '_ \______| _ |/ _` \ \/ /
| \__/\ (_| | | | | | | | | (_| |> <
\____/\__,_|_| |_| \_| |_/\__,_/_/\_\
Can-Hax: Fingerprint and fuzz CAN traffic.
Testing if can_1_fingerprint.json is a file.
can_1_fingerprint.json is most definitely a file.
Found cansend. We can use this to send CAN packets.
CANID 19B 00000H000000 complexity is 2
Sending CAN frame: 19B#000000000000
-timing 1 означает задержку изда, а затем задержка составляет одну секунду, команда использовать выглядит следующим образом
python ./can-hax.py --fuzz --canid 19B --input can_1_fingerprint.json --can vcan0 --timing 1
🚀🚀Мы также можем быстро указать упрощенный набор возможных значений, используя использовать –Quick или –Superquick.
python ./can-hax.py --fuzz --canid 19B --input can_1_fingerprint.json --can vcan0 --timing 1 --quick
_____ _ _
/ __ \ | | | |
| / \/ __ _ _ __ ______| |_| | __ ___ __
| | / _` | '_ \______| _ |/ _` \ \/ /
| \__/\ (_| | | | | | | | | (_| |> <
\____/\__,_|_| |_| \_| |_/\__,_/_/\_\
Can-Hax: Fingerprint and fuzz CAN traffic.
Testing if can_1_fingerprint.json is a file.
can_1_fingerprint.json is most definitely a file.
Found cansend. We can use this to send CAN packets.
CANID 19B 00000H000000 complexity is 2
Sending CAN frame: 19B#000000000000
Sending CAN frame: 19B#000001000000
Sending CAN frame: 19B#000009000000
Sending CAN frame: 19B#00000A000000
Sending CAN frame: 19B#00000B000000
Sending CAN frame: 19B#00000F000000
Running zeroize now.
Quickda имеет только числа 0, 1, 9, A, B и F, а Superquick имеет только крайние значения 0, 9 и F.
🚀🚀Адаптивный тест вычисляет сложность шаблона полезной нагрузки на основе индикатора и использует набор упрощенных возможных значений.
python ./can-hax.py --fuzz --adaptive --input can_1_fingerprint.json --can vcan0
🚀🚀Это адаптивно,Но я продолжаю увеличиваться на один,Так что это не кажется очень полезным.,Мы можем сделать простое из Фазз-тестирование с вышеперечисленными.
🚀🚀Это дапрямо Фазз-тестирование,Скорее безмозглый,Конечно, мы также можем сами установить некоторые правила.,Но да я уже открыл дверь машины, когда был в тестизе,расколоть,Слишком сильно! ! !
🚀🚀CAN Bus Фазз-тестирование Мощный метод обнаружения и устранения уязвимостей безопасности и проблем стабильности в автомобильных сетевых системах. Систематически генерируя и отправляя исключения CAN По кадрам данных тестеры могут выявить потенциальные дефекты, тем самым повышая безопасность и надежность электронных систем автомобиля. объединить ICSim,Кан-Хакс и SavvyCAN и другие инструменты, которые могут быть эффективно реализованы CAN Автобус Фазз-тестирование и обеспечение надежной защиты сети автомобиля Безопасность.
https://www.youtube.com/watch?v=fXTJ6TH32Vg