Added [in-progress] Developer Guides
[AGL/documentation.git] / docs / 2_Architecture_Guides / 2.2_Security_Blueprint / 7_Connectivity / 1.2.7.2_Wireless.md
1 ---
2 title: Wireless
3 ---
4
5 # Wireless
6
7 In this part, we talk about possible remote attacks on a car, according to the
8 different areas of possible attacks. For each communication channels, we
9 describe attacks and how to prevent them with some recommendations. The main
10 recommendation is to always follow the latest updates of these remote
11 communication channels.
12
13 <!-- section-config -->
14
15 Domain                  | Object | Recommendations
16 ----------------------- | ------ | ------------------------------------------------------------------
17 Connectivity-Wireless-1 | Update | Always follow the latest updates of remote communication channels.
18
19 <!-- end-section-config -->
20
21 We will see the following parts:
22
23 - [Wifi](#wifi)
24
25 - [Bluetooth](#bluetooth)
26
27 - [Cellular](#cellular)
28
29 - [Radio](#radio)
30
31 - [NFC](#nfc)
32
33 <!-- section-todo -->
34
35 Domain                  | Improvement
36 ----------------------- | -------------------------------------------
37 Connectivity-Wireless-1 | Add communication channels (RFID, ZigBee?).
38
39 <!-- end-section-todo -->
40
41 --------------------------------------------------------------------------------
42
43 For existing automotive-specific means, we take examples of existing system
44 attacks from the _IOActive_ document ([A Survey of Remote Automotive Attack
45 Surfaces](https://www.ioactive.com/pdfs/IOActive_Remote_Attack_Surfaces.pdf))
46 and from the ETH document ([Relay Attacks on Passive Keyless Entry and Start
47 Systems in Modern Cars](https://eprint.iacr.org/2010/332.pdf)).
48
49 - [Telematics](https://www.ioactive.com/pdfs/IOActive_Remote_Attack_Surfaces.pdf#%5B%7B%22num%22%3A40%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22XYZ%22%7D%2C60%2C720%2C0%5D)
50
51 - [Passive Anti-Theft System
52   (PATS)](https://www.ioactive.com/pdfs/IOActive_Remote_Attack_Surfaces.pdf#%5B%7B%22num%22%3A11%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22XYZ%22%7D%2C60%2C574%2C0%5D)
53
54 - [Tire Pressure Monitoring System
55   (TPMS)](https://www.ioactive.com/pdfs/IOActive_Remote_Attack_Surfaces.pdf#%5B%7B%22num%22%3A17%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22XYZ%22%7D%2C60%2C720%2C0%5D)
56
57 - [Remote Keyless Entry/Start
58   (RKE)](https://www.ioactive.com/pdfs/IOActive_Remote_Attack_Surfaces.pdf#%5B%7B%22num%22%3A26%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22XYZ%22%7D%2C60%2C720%2C0%5D)
59
60 - [Passive Keyless Entry (PKE)](https://eprint.iacr.org/2010/332.pdf)
61
62 --------------------------------------------------------------------------------
63
64 <!-- pagebreak -->
65
66 ## Wifi
67
68 ### Attacks
69
70 We can differentiate existing attacks on wifi in two categories: Those on
71 **WEP** and those on **WPA**.
72
73 - **WEP** attacks:
74
75   - **FMS**: (**F**luhrer, **M**antin and **S**hamir attack) is a "Stream cipher
76     attack on the widely used RC4 stream cipher. The attack allows an attacker
77     to recover the key in an RC4 encrypted stream from a large number of
78     messages in that stream."
79   - **KoreK**: "Allows the attacker to reduce the key space".
80   - **PTW**: (**P**yshkin **T**ews **W**einmann attack).
81   - **Chopchop**: Found by KoreK, "Weakness of the CRC32 checksum and the lack
82     of replay protection."
83   - **Fragmentation**
84
85 - **WPA** attacks:
86
87   - **Beck and Tews**: Exploit weakness in **TKIP**. "Allow the attacker to
88     decrypt **ARP** packets and to inject traffic into a network, even allowing
89     him to perform a **DoS** or an **ARP** poisoning".
90   - [KRACK](https://github.com/kristate/krackinfo): (K)ey (R)einstallation
91     (A)tta(ck) ([jira AGL
92     SPEC-1017](https://jira.automotivelinux.org/browse/SPEC-1017)).
93
94 ### Recommendations
95
96 - Do not use **WEP**, **PSK** and **TKIP**.
97
98 - Use **WPA2** with **CCMP**.
99
100 - Should protect data sniffing.
101
102 <!-- section-config -->
103
104 Domain                       | Tech name or object | Recommendations
105 ---------------------------- | ------------------- | -------------------------------------------------------------------------
106 Connectivity-Wireless-Wifi-1 | WEP, PSK, TKIP      | Disabled
107 Connectivity-Wireless-Wifi-2 | WPA2 and AES-CCMP   | Used
108 Connectivity-Wireless-Wifi-3 | WPA2                | Should protect data sniffing.
109 Connectivity-Wireless-Wifi-4 | PSK                 | Changing regularly the password.
110 Connectivity-Wireless-Wifi-5 | Device              | Upgraded easily in software or firmware to have the last security update.
111
112 <!-- end-section-config -->
113
114 See [Wifi attacks WEP WPA](https://matthieu.io/dl/wifi-attacks-wep-wpa.pdf) and
115 [Breaking wep and wpa (Beck and
116 Tews)](https://dl.aircrack-ng.org/breakingwepandwpa.pdf) for more information.
117
118 --------------------------------------------------------------------------------
119
120 <!-- pagebreak -->
121
122 ## Bluetooth
123
124 ### Attacks
125
126 - **Bluesnarfing** attacks involve an attacker covertly gaining access to your
127   Bluetooth-enabled device for the purpose of retrieving information, including
128   addresses, calendar information or even the device's **I**nternational
129   **M**obile **E**quipment **I**dentity. With the **IMEI**, an attacker could
130   route your incoming calls to his cell phone.
131 - **Bluebugging** is a form of Bluetooth attack often caused by a lack of
132   awareness. Similar to bluesnarfing, bluebugging accesses and uses all phone
133   features but is limited by the transmitting power of class 2 Bluetooth radios,
134   normally capping its range at 10-15 meters.
135 - **Bluejacking** is the sending of unsolicited messages.
136 - **BLE**: **B**luetooth **L**ow **E**nergy
137   [attacks](https://www.usenix.org/system/files/conference/woot13/woot13-ryan.pdf).
138 - **DoS**: Drain a device's battery or temporarily paralyze the phone.
139
140 ### Recommendations
141
142 - Not allowing Bluetooth pairing attempts without the driver's first manually
143   placing the vehicle in pairing mode.
144 - Monitoring.
145 - Use **BLE** with caution.
146 - For v2.1 and later devices using **S**ecure **S**imple **P**airing (**SSP**),
147   avoid using the "Just Works" association model. The device must verify that an
148   authenticated link key was generated during pairing.
149
150 <!-- section-config -->
151
152 Domain                            | Tech name     | Recommendations
153 --------------------------------- | ------------- | ------------------------------------------------------------
154 Connectivity-Wireless-Bluetooth-1 | BLE           | Use with caution.
155 Connectivity-Wireless-Bluetooth-2 | Bluetooth     | Monitoring
156 Connectivity-Wireless-Bluetooth-3 | SSP           | Avoid using the "Just Works" association model.
157 Connectivity-Wireless-Bluetooth-4 | Visibility    | Configured by default as undiscoverable. Except when needed.
158 Connectivity-Wireless-Bluetooth-5 | Anti-scanning | Used, inter alia, to slow down brute force attacks.
159
160 <!-- end-section-config -->
161
162 See [Low energy and the automotive
163 transformation](http://www.ti.com/lit/wp/sway008/sway008.pdf), [Gattacking
164 Bluetooth Smart Devices](http://gattack.io/whitepaper.pdf), [Comprehensive
165 Experimental Analyses of Automotive Attack
166 Surfaces](http://www.autosec.org/pubs/cars-usenixsec2011.pdf) and [With Low
167 Energy comes Low
168 Security](https://www.usenix.org/system/files/conference/woot13/woot13-ryan.pdf)
169 for more information.
170
171 --------------------------------------------------------------------------------
172
173 <!-- pagebreak -->
174
175 ## Cellular
176
177 ### Attacks
178
179 - **IMSI-Catcher**: Is a telephone eavesdropping device used for intercepting
180   mobile phone traffic and tracking location data of mobile phone users.
181   Essentially a "fake" mobile tower acting between the target mobile phone and
182   the service provider's real towers, it is considered a man-in-the-middle
183   (**MITM**) attack.
184
185 - Lack of mutual authentication (**GPRS**/**EDGE**) and encryption with
186   **GEA0**.
187
188 - **Fall back** from **UMTS**/**HSPA** to **GPRS**/**EDGE** (Jamming against
189   **UMTS**/**HSPA**).
190
191 - 4G **DoS** attack.
192
193 ### Recommendations
194
195 - Check antenna legitimacy.
196
197 <!-- section-config -->
198
199 Domain                           | Tech name | Recommendations
200 -------------------------------- | --------- | --------------------------
201 Connectivity-Wireless-Cellular-1 | GPRS/EDGE | Avoid
202 Connectivity-Wireless-Cellular-2 | UMTS/HSPA | Protected against Jamming.
203
204 <!-- end-section-config -->
205
206 See [A practical attack against GPRS/EDGE/UMTS/HSPA mobile data
207 communications](https://media.blackhat.com/bh-dc-11/Perez-Pico/BlackHat_DC_2011_Perez-Pico_Mobile_Attacks-wp.pdf)
208 for more information.
209
210 --------------------------------------------------------------------------------
211
212 ## Radio
213
214 ### Attacks
215
216 - Interception of data with low cost material (**SDR** with hijacked DVB-T/DAB
217   for example).
218
219 ### Recommendations
220
221 - Use the **R**adio **D**ata **S**ystem (**RDS**) only to send signals for audio
222   output and meta concerning radio.
223
224 <!-- section-config -->
225
226 Domain                        | Tech name | Recommendations
227 ----------------------------- | --------- | --------------------------------------------
228 Connectivity-Wireless-Radio-1 | RDS       | Only audio output and meta concerning radio.
229
230 <!-- end-section-config -->
231
232 --------------------------------------------------------------------------------
233
234 <!-- pagebreak -->
235
236 ## NFC
237
238 ### Attacks
239
240 - **MITM**: Relay and replay attack.
241
242 ### Recommendations
243
244 - Should implements protection against relay and replay attacks (Tokens,
245   etc...).
246 - Disable unneeded and unapproved services and profiles.
247 - NFC should be use encrypted link (secure channel). A standard key agreement
248   protocol like Diffie-Hellmann based on RSA or Elliptic Curves could be applied
249   to establish a shared secret between two devices.
250 - Automotive NFC device should be certified by NFC forum entity: The NFC Forum
251   Certification Mark shows that products meet global interoperability standards.
252 - NFC Modified Miller coding is preferred over NFC Manchester coding.
253
254 <!-- section-config -->
255
256 Domain                      | Tech name | Recommendations
257 --------------------------- | --------- | ------------------------------------------------------
258 Connectivity-Wireless-NFC-1 | NFC       | Protected against relay and replay attacks.
259 Connectivity-Wireless-NFC-2 | Device    | Disable unneeded and unapproved services and profiles.
260
261 <!-- end-section-config -->