1 00:00:05,920 --> 00:00:09,720 Hi everyone and welcome to this introduction to ACARS. 2 00:00:10,900 --> 00:00:19,620 I'm an aeronautical engineer, pilot and hacker at Pentest Partners in the UK and I lead our aerospace work and research program. 3 00:00:19,960 --> 00:00:28,440 I've had the honor of working in all sorts of environments from government networks and consumer IoT through to planes, trains and automobiles. 4 00:00:29,120 --> 00:00:38,660 What we're going to be talking about is an avionics system called ACARS, which is really just a way of sending text messages between ground and airborne stations. 5 00:00:39,280 --> 00:00:52,740 This is a light touch on the topic but I'll cover the history of it, how it's transmitted, what it's used for and current airline ops, how to decode and decipher it and explore where the potential security issues with it are. 6 00:00:53,060 --> 00:01:00,920 Really what ACARS is now is a data link and this has become really important in keeping up the efficiency and safety of modern aircraft. 7 00:01:02,600 --> 00:01:09,200 So the start of the jet age of commercial passenger flying in the 1960s, communication was pretty basic. 8 00:01:09,300 --> 00:01:12,400 It was voice only between aircraft and the ground. 9 00:01:12,660 --> 00:01:23,960 Airlines did, and still do, pay their flight crews by block time, which is the moment from the doors closing and the aircraft taxiing now to the moment the doors open again at the arrival gate. 10 00:01:24,140 --> 00:01:31,080 I think it's probably derived from when the ground crew pull the chocks or blocks out from the wheels to allow the aircraft to move. 11 00:01:31,500 --> 00:01:42,140 In the 1960s and 70s, crews would radio their off-block times to a human on the ground, who would transcribe that into a teletype machine and send that onto the airline's base. 12 00:01:42,380 --> 00:01:53,140 Remember that airlines routinely fly into airports where there's no direct representation of that airline on the ground, so some form of remote communication is needed back to HQ. 13 00:01:53,860 --> 00:01:58,660 Looking for efficiency, I guess a euphemism for not paying crews any more than they need to. 14 00:01:59,060 --> 00:02:07,280 ACARS was developed as a kind of automatic time clock system, sending the details of the out, off, on, and in times by radio. 15 00:02:07,800 --> 00:02:18,080 Because radio is line of sight only, ARINC, those who developed the standard, built out a network of ground-based transmitters to send, receive, and reload those messages around. 16 00:02:18,180 --> 00:02:21,540 And this whole concept hasn't really changed much to this day. 17 00:02:22,680 --> 00:02:24,840 So here we are today then. 18 00:02:25,120 --> 00:02:29,400 Plain old ACARS is broadly what it was back in 1978. 19 00:02:29,560 --> 00:02:34,500 It uses a VHF radio and a network of ground transmitters to send these messages around. 20 00:02:34,960 --> 00:02:42,460 A later evolution is ACARS over Aviation VHF Link Control, which is a terrible mashup of acronyms. 21 00:02:42,460 --> 00:02:44,180 IT being aerospace. 22 00:02:44,780 --> 00:02:51,260 This still uses a VHF line of sight radios, but on a different frequency to give a slightly higher bandwidth. 23 00:02:51,500 --> 00:03:01,530 For areas outside of direct ground contact, like over the Atlantic, High Frequency Data Link, HFTL, can also be used, but it's very slow. 24 00:03:02,300 --> 00:03:07,940 Nowadays we have SATCOM, which is increasingly the transmission mode of choice for many airlines and aircraft. 25 00:03:08,440 --> 00:03:18,460 There is some experimentation with using the cellular GSM networks as an ACARS platform too, but it's only in use for one European carrier, to my knowledge. 26 00:03:18,740 --> 00:03:24,200 There are several classes of load, I suppose you would call them, in the ACARS network. 27 00:03:24,260 --> 00:03:30,580 The aircraft themselves and ground stations like the airlines and air traffic control, as we'll see later. 28 00:03:30,860 --> 00:03:43,820 In order to route a message from an aircraft flying over, let's say Spain, back to the airline HQ in the UK, a Data Link Service Provider is paid to pick up, route, and deliver these messages. 29 00:03:44,320 --> 00:03:50,400 You have two Data Link Service Providers, DSPs, to choose from, CITA and Rockwell. 30 00:03:50,660 --> 00:03:59,880 Rockwell bought ARINC Inc., including the ACARS network, back in 2013, so you might see ARINC slash Rockwell used interchangeably. 31 00:04:01,780 --> 00:04:10,720 So as we've said, the original plain old ACARS, and ACARS over ABLC, used VHF radios, so a new direct line of sight. 32 00:04:10,800 --> 00:04:14,580 And that includes the earth being round, of course, to a ground station. 33 00:04:14,940 --> 00:04:22,420 Aircraft are often flying pretty high up, 35,000 feet or more, so actually the range of a single transmitter is still quite large. 34 00:04:22,540 --> 00:04:33,040 But you can see from CITA's coverage map here, there are lots of gaps over oceans, Africa, and places aircraft tend not to fly very much, like northern Canada. 35 00:04:33,660 --> 00:04:39,180 Running all of these transmitters and maintaining the communications links between them is pretty expensive. 36 00:04:39,920 --> 00:04:44,740 Satellite coverage is also dependent on where you are in the world, although to a lesser degree. 37 00:04:45,020 --> 00:04:55,860 InMarsat have coverage between plus and minus 80 degrees latitude, although Iridium have more lower satellites and can offer polar coverage too. 38 00:04:56,040 --> 00:05:00,360 There are only 15 high frequency transmitters in the world. 39 00:05:00,360 --> 00:05:04,560 They have long reach and are located for polar and oceanic coverage. 40 00:05:04,920 --> 00:05:13,860 The costs are a bit opaque, but one Asian carrier was paying the equivalent of a thousand dollars per megabyte on their HF service. 41 00:05:14,380 --> 00:05:25,960 AOA and POA are still not home broadband prices though, and there is a bit of an old adage in that for aviation you add another zero onto the end of what seems a reasonable price for anything. 42 00:05:27,360 --> 00:05:39,320 Original ACARS uses a signal with each bit encoded as a half bit sine wave on top of the carrier, which you can see in this nice waterfall image that most software-defined radio signals will generate for you. 43 00:05:39,640 --> 00:05:48,680 The modem will briefly listen to avoid transmitting at the same time as others and send a starting tone and then the serial data. 44 00:05:48,700 --> 00:05:53,070 And you can hear this as a fairly distinctive old-school style modem noise. 45 00:05:54,800 --> 00:05:59,990 As is VHF, a line-of-sight, each geographic region uses a different frequency. 46 00:06:00,360 --> 00:06:03,580 And this is per data link service provider as well. 47 00:06:03,580 --> 00:06:10,040 So ARINC, Rockwell, in Europe is a different frequency to CITER in Europe. 48 00:06:10,200 --> 00:06:15,920 And the aircraft's modem will usually automatically switch frequencies between them based on its known position. 49 00:06:17,200 --> 00:06:27,360 VHF Data Link 2, so AI, is an enhancement that uses phase shift keying modulation to give a slightly higher bandwidth throughput. 50 00:06:27,620 --> 00:06:33,260 It also uses the X25 routing protocol to send messages between data terminals. 51 00:06:33,500 --> 00:06:43,060 And I guess this sort of matches up with the lowest three layers of the OSI model, but this X25 predates TCPIP by some considerable time. 52 00:06:43,100 --> 00:06:53,360 Because of the use of X25, there is a global single frequency, but as with planar ACARS, it's VHF and so still line-of-sight. 53 00:06:55,560 --> 00:07:05,360 So several satellite communication service providers offer ACARS, including Inmarsat and Iridium, both have global coverage. 54 00:07:05,360 --> 00:07:13,360 But as Inmarsat has geostationary satellites, there is no reception between plus and minus 80 degrees latitude, as we can see in their coverage map. 55 00:07:13,540 --> 00:07:20,500 Iridium has a larger constellation of lower flying birds to give complete coverage even over polar regions. 56 00:07:20,760 --> 00:07:29,080 There are different bandwidth and frequency options and services from each provider, but certain frequencies are better at penetrating water. 57 00:07:29,360 --> 00:07:38,240 Although aircraft tend to fly above clouds and weather, and this is not usually a problem, but in the tropics, humid air can block signals. 58 00:07:38,500 --> 00:07:51,760 It is possible to intercept ground-to-air, that is ground-to-satellite-to-aircraft communications using a suitable antenna and software, as a signal is transmitted to the ground over a wide area. 59 00:07:51,760 --> 00:07:59,320 But you will not be able to see aircraft to ground, as you're not in a middle position unless you're in space. 60 00:07:59,620 --> 00:08:05,820 The data is relayed from the ground stations back into the DSP networks and then on to its destination. 61 00:08:06,640 --> 00:08:27,240 Classic aero services are quite bandwidth-limited, but we've probably all been on aircraft with in-flight Wi-Fi by now, so SATCOM program actually can be quite decent, and it's this latter capability that is now being used in modern E&A aircraft to collect huge amounts of live data for analysis and predictive maintenance. 62 00:08:28,640 --> 00:08:37,540 There are also options to transmit ACARS over long-wave, high-frequency transmitters, and this is reserved for oceanic and polar regions. 63 00:08:37,540 --> 00:08:46,440 There are actually only 15 transmitter sites and speeds are incredibly slow, and this probably also explains the very high costs of using these services. 64 00:08:48,580 --> 00:08:53,740 There is an early test of using the CELIN networks to provide ACARS services in Europe. 65 00:08:53,740 --> 00:09:03,440 This actually uses a piece of equipment found on many aircraft already, which is a wireless quick access recorder or wireless digital flight data acquisition unit. 66 00:09:03,580 --> 00:09:11,060 These devices capture lots of data in flight and then relay it back to the airline once they're on the ground over a 3G network. 67 00:09:11,520 --> 00:09:17,080 This same unit can be upgraded to provide a wireless link and route ACARS over that instead. 68 00:09:19,490 --> 00:09:30,650 Aircraft will often maintain multiple communication links, and for a transatlantic flight an aircraft may actually have and use all three options at various stages of the flight. 69 00:09:30,970 --> 00:09:39,590 A communications management unit, CMU, is used to route ACARS traffic between the various avionics systems and these physical links. 70 00:09:39,950 --> 00:09:45,970 An airline may also change the cost preferences depending on how much they pay for various services. 71 00:09:46,570 --> 00:10:01,890 This CMU has access to lots of important avionics including display unit the pilot interacts with, the flight management computer for reporting location, and for setting height or heading as we'll see later, and for acquiring lots of maintenance data. 72 00:10:02,150 --> 00:10:05,970 And believe it or not there are actual genuine printers on the flight deck too. 73 00:10:08,250 --> 00:10:10,810 A brief segue on to cell call. 74 00:10:11,370 --> 00:10:31,010 During transatlantic or polar flights where radio communication is intermittent and to avoid crews from having to monitor radios for a long period, cell call was introduced where the air traffic controller can trigger an alert light or sound or both in the cockpit and the crew then jump on the radio to listen for the actual message. 75 00:10:31,470 --> 00:10:42,670 Each aircraft is assigned a four-digit code and the first pair of letters sent as a tone and then the second, which I guess is a bit like DTMF dialing tones. 76 00:10:43,170 --> 00:10:52,490 As you can see there aren't that many possible combinations so there is reuse and it's really important that crews verify the transmission was really meant for them. 77 00:10:53,790 --> 00:11:03,490 Similarly now when there is an ACARS message the crew will hear a chime noise and a data link message will appear on the displays which they can then go and read. 78 00:11:05,470 --> 00:11:13,090 ACARS at its basis is simply a text message service between two parties and this concept is now being used in air traffic control. 79 00:11:13,410 --> 00:11:19,770 Rather than a controller using voice radios to instruct pilots on what to do this is sent by a ACARS message. 80 00:11:19,910 --> 00:11:32,010 This has the benefits of efficiency which means more aircraft can be accommodated in a given space but also safety you know there is no confusion in hearing about what altitude to fly to or heading etc. 81 00:11:32,710 --> 00:11:40,790 Both Boeing and Airbus developed their own standards but these were merged and gave rise to the FANS 1A standard as we have today. 82 00:11:41,450 --> 00:11:47,070 A FANS installation on aircraft requires certification and a minimum latency requirement. 83 00:11:47,070 --> 00:11:53,030 Messages will be automatically rejected after 30 seconds if no confirmation is made. 84 00:11:53,470 --> 00:12:01,450 FANS is comprised of two important services which are both sent over ACARS and that could be either VHF or SATCOM. 85 00:12:01,470 --> 00:12:09,710 Controller Pilot Data Link Communication CPDLC and Automatic Dependent Surveillance Contract ADSC. 86 00:12:11,850 --> 00:12:19,630 So for CPDLC, air traffic can send pilots instructions to climb to a particular altitude or steer a heading. 87 00:12:19,650 --> 00:12:26,250 Before this can happen, pilots log on to a specific controller which then shows that the data link is ready. 88 00:12:26,430 --> 00:12:31,870 Every instruction sent by ATC requires a positive confirmation by the pilot. 89 00:12:31,990 --> 00:12:35,310 You cannot simply send a message and remote control your plane. 90 00:12:36,030 --> 00:12:40,010 Different regions still have different CPDLC adoption levels. 91 00:12:40,150 --> 00:12:46,350 So Europe has on-route services whereas parts of the USA only have pre-departure at airports. 92 00:12:46,890 --> 00:12:58,230 And this latter is really useful because if you've ever had to note down and read back a complicated departure clearance, you'll realize how useful this is in not only time saving but in making sure it's correct. 93 00:12:59,810 --> 00:13:10,870 You might be familiar with ADS-B which is the position notification signal sent out on 1090 megahertz which contains GPS position and altitude. 94 00:13:10,930 --> 00:13:17,430 And this is picked up by services like Flight Radar 24 and ADS-B Exchange. 95 00:13:17,650 --> 00:13:22,590 These are periodically sent out by the aircraft when it's illuminated by primary radar. 96 00:13:22,850 --> 00:13:26,450 But for fans, we need more granularity and information. 97 00:13:26,550 --> 00:13:29,670 So ADSC is used instead. 98 00:13:30,330 --> 00:13:38,190 Air traffic can request an aircraft report its position or time when passing a certain altitude or a given waypoint. 99 00:13:38,530 --> 00:13:43,570 ADSC will also show what waypoints the aircraft is currently programmed to fly to. 100 00:13:44,170 --> 00:13:50,450 So controllers can better understand and more efficiently sequence traffic for arrivals into busy airports. 101 00:13:50,970 --> 00:13:58,290 So now we know that more ACARS is useful in broad terms, let's have a closer look at how the messages are formatted. 102 00:13:58,550 --> 00:14:06,070 In plain old ACARS, all messages are broadcast to all devices, or those that are in range of the same transmitter at least. 103 00:14:06,070 --> 00:14:10,110 So there is a header that lists the destination aircraft registration. 104 00:14:10,610 --> 00:14:15,330 The receiver on an aircraft will discard any messages that are not destined for it. 105 00:14:15,970 --> 00:14:23,750 In the header, there is a two-character label field which indicates the type of data that the whole message contains. 106 00:14:23,750 --> 00:14:37,030 There's no specific standard but there are some common ones like C1 which is a message for the onboard printer and indeed some airlines will use different labels to indicate the same types of data. 107 00:14:38,070 --> 00:14:44,430 The bulk of the transmission is taken up by the message text itself up to a maximum of 220 characters. 108 00:14:44,850 --> 00:14:50,950 The character set is basic ASCII alphanumerics and some special characters only and no unicode. 109 00:14:51,130 --> 00:15:00,750 These could just be standard free text type messages or they could be engineering and maintenance data and frankly more often than not it's the latter and are quite dull as a result. 110 00:15:01,950 --> 00:15:10,150 Sequential messages are sent with an incrementing number in the header so C01, C02 for example. 111 00:15:10,430 --> 00:15:23,010 Because of the 220 character limit, larger messages like our maintenance data can be split across multiple ACOLs transmissions or with a letter suffix to note their position in the multi-part message. 112 00:15:23,010 --> 00:15:27,570 So for example U10A, U10B, U10C etc. 113 00:15:27,830 --> 00:15:33,370 The next separate message from this particular aircraft would then be U11A and so on. 114 00:15:34,570 --> 00:15:43,590 The last part of the message is a simple checksum either ATM32 which is a modified form of Fletcher's checksum or a CRC. 115 00:15:43,590 --> 00:15:50,350 The CDU on an aircraft will discard any message without a valid checksum and ask for a retransmit if possible. 116 00:15:50,770 --> 00:15:55,710 The checksum is designed to protect against distortion of the message in transit only. 117 00:15:55,990 --> 00:16:02,590 Given we are talking about radio data links here often over long distances there is potential for garbled. 118 00:16:03,950 --> 00:16:13,430 You'll probably have noticed by now that all of the examples of message I've shown are actually human readable and that's because there's no encryption of the data in standard ACOLs at all. 119 00:16:14,150 --> 00:16:20,110 Some aircraft though do send encrypted messages and these are marked by the label type 44. 120 00:16:20,590 --> 00:16:36,110 There is a really great paper called Economy Class Crypto from the Oxford Aviation Security Group and they are able to decipher these messages through a combination of brute force and other inputs such as knowing where an aircraft was at the time it transmitted the message. 121 00:16:36,110 --> 00:16:45,090 What they are able to show is that there is a static cipher key in use across all of these terminals so its brick ones decode everywhere. 122 00:16:45,330 --> 00:16:54,850 Fortunately it seems that this data is mostly engineering rather than anything sensitive but operators of this equipment should be aware their messages are definitely not private. 123 00:16:55,550 --> 00:17:06,050 As ACOLs offers arbitrary text messaging and is often made available through cabin crew terminals it's common to see company type data like our second message here. 124 00:17:06,250 --> 00:17:17,310 Fortunately this particular operator seems to be aware of the limitations of ACOLs privacy and hasn't used names here just seat numbers but not everyone is this careful. 125 00:17:18,990 --> 00:17:24,230 Software and hardware on aircraft is written to design assurance levels. 126 00:17:24,230 --> 00:17:32,350 This is I suppose the code quality and testing that goes into that particular component depending on the risks that it poses to the aircraft. 127 00:17:32,610 --> 00:17:36,810 These hazard levels are documented in DO 178C. 128 00:17:37,450 --> 00:17:46,390 Although we've seen that ACOLs is important for efficiency both in air traffic and maintenance it doesn't directly impact on keeping an aircraft safe and airborne. 129 00:17:46,710 --> 00:17:52,110 This means that generally ACOLs components are into C or D levels of assurance. 130 00:17:53,690 --> 00:17:57,670 Let's step through them where ACOLs is used in different phases of flight. 131 00:17:58,190 --> 00:18:06,190 Airlines will provide routes to the air pilots to help them in choosing a fuel efficient routine or avoiding forecast weather, turbulence, icing and so on. 132 00:18:06,250 --> 00:18:21,150 The airline itself back at HQ will often calculate the aircraft takeoff performance speeds like V1 and V rotate based on the number of passengers, bags, cargo loaded and then send this directly to the aircraft for review and acceptance. 133 00:18:21,590 --> 00:18:24,470 Pilots will often do their own numbers too as a cross check. 134 00:18:24,830 --> 00:18:35,090 As we mentioned briefly air traffic control can provide departure clearances via ACOLs which will be added to the flight management computer once they've been checked by the pilots. 135 00:18:35,410 --> 00:18:43,870 The aircraft then fly that particular set of way points, heights and speeds after takeoff to minimize noise and improve efficiency of airspace. 136 00:18:44,430 --> 00:18:53,650 The aircraft itself has a large number of sensors attached to things like doors, cargo hatches and weight and wheel switches so we can work out what state it's in. 137 00:18:53,750 --> 00:19:01,270 This is then used to send our out, off, on and in data back to the airline for paying our pilots not a penny more than they deserve. 138 00:19:04,030 --> 00:19:18,150 Once in the flight the aircraft will continually be sending quite a lot of data back to the airline's maintenance teams and often the aircraft or engine manufacturer too so they can try and predict any maintenance needed. 139 00:19:18,290 --> 00:19:26,050 The aircraft will also immediately report things like a tail strike or hard landing so the aircraft can be properly inspected at the next landing. 140 00:19:26,510 --> 00:19:35,590 During cruise air traffic control will be using ACARS and CPDRC to ask the pilots to change course, routing or headings as they need to keep everything safe and efficient. 141 00:19:37,470 --> 00:19:42,710 CPDRC uses AOA, so X-25 routing as we've seen. 142 00:19:42,890 --> 00:19:55,410 The source and destination addresses are 24-bit IKO Mode S identifiers which are unique per aircraft and are the same ones you can see in ADS-B transmissions like on flight radar 24. 143 00:19:56,210 --> 00:20:07,190 Ground stations also have an identifier and in this message, although I've redacted the aircraft, 29D1D7 maps to London Stansted Airport. 144 00:20:07,450 --> 00:20:15,190 In this case this is an acknowledgement from the aircraft to Stansted saying Wilco, which is short for will comply or I will do this. 145 00:20:15,230 --> 00:20:20,870 And this is different to a simple acknowledgement with no expectation that they need to do anything. 146 00:20:21,450 --> 00:20:33,450 Just prior to landing the aircraft will obtain ATIS data, Automatic Terminal Information Service, which gives data on the runway in use, temperature, surface wind and so on. 147 00:20:33,470 --> 00:20:42,070 Traditionally this has been an audio broadcast but by using ACARS this data can be obtained earlier and help the crew prepare for the right runway in use. 148 00:20:42,410 --> 00:20:46,510 CPDRC is not used when immediate responses might be needed. 149 00:20:46,530 --> 00:20:49,370 Remember it has a maximum of 30 seconds latency. 150 00:20:49,690 --> 00:20:55,410 So this is ended with arrivals and airport controller taking over via VHF voice. 151 00:20:55,990 --> 00:21:09,870 The airline will also use this position info to help prepare the gate and ground crew, turn the aircraft around as quickly as possible, obtain any maintenance reports, they can change parts out and then also be informed which aircraft is on stand for payroll. 152 00:21:12,440 --> 00:21:15,200 So how can you look at these kinds of transmissions? 153 00:21:15,200 --> 00:21:23,060 Well for plain old ACARS, although we have a larger number of frequencies and two service providers, the frequencies are quite close together. 154 00:21:23,060 --> 00:21:32,200 So we can use software defined radio like HACRF, RTL-SDR or even a digital TV tuner to receive them all in one go. 155 00:21:32,200 --> 00:21:46,540 If you look on github you'll find ACARS deck by Thierry Lecomte for RTL-SDR or the port of the port ACARS-SDR play by Jan Katwik for HACRF. 156 00:21:46,540 --> 00:21:55,940 For aerials it's VHF so you will need line of sight to the ground station but you will see lots of aircraft if they fly over you. 157 00:21:56,280 --> 00:22:02,360 A telescopic one will do just fine and it works okay just placed in my office window frankly. 158 00:22:03,460 --> 00:22:09,000 For AOA you'll need Jumper VDL-2 by Tomasz Lemich. 159 00:22:09,000 --> 00:22:14,780 This doesn't have direct HACRF support but you can use it through SOPI-SDR. 160 00:22:15,860 --> 00:22:22,220 You'll need two SDR devices to receive and decode POA and AOA at the same time though obviously. 161 00:22:23,700 --> 00:22:32,620 Many people have these little tools running on a Raspberry Pi or similar for long-term capture and indeed many people re-share with others out on the internet. 162 00:22:33,020 --> 00:22:41,720 You can use the plane plotter and Windows software to capture the output of the tools and draw the locations of aircraft from a map and so on. 163 00:22:42,060 --> 00:22:53,060 If you use the dash-in or dash-output HACRF's PP switches with the destination of the machine where plane plotter is running, this is all you need to do to capture these messages. 164 00:22:54,020 --> 00:22:59,420 Just a quick note on the legality of receiving and decoding these HACRF transmissions. 165 00:22:59,620 --> 00:23:08,200 In true internet fashion I am definitely not a lawyer and I'm in the UK so here's my take based on prior law, prosecution and where I live. 166 00:23:08,580 --> 00:23:16,600 There are still a fair number of pages, yes pages, in use in the UK mostly amongst the emergency services. 167 00:23:16,740 --> 00:23:26,200 Pager POCSAG data transmissions are quite similar serial data structures to HACRF's and are also really easily decoded with RTL-SDR. 168 00:23:26,520 --> 00:23:35,540 These generally contain really horribly sensitive data like patient and medical information and these are directed to specific recipients. 169 00:23:35,660 --> 00:23:40,740 So just because you can it doesn't make it legal to decode POCSAG in the UK. 170 00:23:41,500 --> 00:23:53,800 Plane or HACRF's is different because all messages have to be sent to all stations before they can decode them and then decide whether they are intended to be for them based on the registration number of the aircraft. 171 00:23:54,660 --> 00:24:00,140 AOA on the other hand uses x25 and a specific terminal address for the recipient. 172 00:24:01,100 --> 00:24:09,180 But the legislation in the UK says you can pick up weather and navigation transmissions which parts of HACRF's demonstrably are. 173 00:24:09,200 --> 00:24:11,060 So frankly who really knows. 174 00:24:11,140 --> 00:24:21,880 I don't really want to be the test case though so I've redacted any example messages in this talk and I've unfortunately decided not to do a live demo just in case something sensitive pops up. 175 00:24:22,080 --> 00:24:27,360 But please check with your local jurisdiction before you start decoding these messages though. 176 00:24:28,020 --> 00:24:34,420 So I want to leave you kind of with a little thought experiment for discussions in the comments. 177 00:24:35,080 --> 00:24:39,200 HACRF's messages seem an awful lot like TCP sequence numbers. 178 00:24:39,280 --> 00:24:41,840 Could you predict the next in the sequence? 179 00:24:42,120 --> 00:24:44,800 Could you send a valid HACRF's message? 180 00:24:44,800 --> 00:24:48,000 Could you send a valid CPDLC message? 181 00:24:48,220 --> 00:24:50,300 And what if you actually did? 182 00:24:50,680 --> 00:24:57,800 We've noted that there's no encryption and no integrity checks or integrity checks rather are based on a checksign. 183 00:24:57,820 --> 00:25:03,420 If we were designing the system today would we implement encryption or message signing? 184 00:25:03,420 --> 00:25:06,280 Are there any potential problems if we do? 185 00:25:08,400 --> 00:25:10,040 And my final thought. 186 00:25:10,080 --> 00:25:16,220 Although we can see and potentially send HACRF's transmissions around there are always humans in the loop. 187 00:25:16,220 --> 00:25:20,100 We cannot take control and make an HACRF do things. 188 00:25:20,100 --> 00:25:32,660 And even if we did there are a lot of other mitigation to stop aircraft coming into conflict like air traffic controllers, their radar and systems like traffic collision avoidance system, TCAS. 189 00:25:32,880 --> 00:25:40,860 Yes it's a legacy system and protocol but these are vulnerabilities on the part of ARINC, Rockwell or CITER themselves. 190 00:25:40,860 --> 00:25:47,480 But we should keep in mind that when we're designing systems and protocols how things can end up being used 40 years on. 191 00:25:48,700 --> 00:25:52,380 Thanks for listening and I look forward to hearing your comments and thoughts.