{'fraction_non_alphanumeric': 0.02586206896551724, 'fraction_numerical': 0.011083743842364532, 'mean_word_length': 4.606896551724138, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Securing CAN Traffic on J1939 Networks

The fundamental issue being addressed is that CAN messages are trusted by all receiving nodes on the bus. Every message received is treated as if it were already authorized. The CAN messaging protocol is a multi-master network, with all nodes receiving all messages. The only check performed on the message is a cyclic redundancy check (CRC) to validate the integrity of the frame field in the case of bit-flips. All messages are received by all nodes immediately upon sending. Individual modules do not include authentication systems. In SAE J1939 networks, the source address (SA), which is the last byte of the arbitration ID shown in Fig. 2, tells the network which controller application is sending the message. Since this value is self-reported, it can be falsified.