{"id":562,"date":"2012-09-06T05:45:46","date_gmt":"2012-09-06T05:45:46","guid":{"rendered":"https:\/\/trouble.org\/?p=562"},"modified":"2012-09-10T14:55:51","modified_gmt":"2012-09-10T14:55:51","slug":"cats-who-stare-down-goats","status":"publish","type":"post","link":"https:\/\/trouble.org\/?p=562","title":{"rendered":"cats who stare down goats"},"content":{"rendered":"<p>I went to the 2011 USENIX security conference&#8230; admittedly not expecting much, but wietse was going to be there, and I must say a really, really fine show.\u00a0 Yes, this is ancient history now&#8230; but so am I!<\/p>\n<p>Most of us spend a fair bit of time encased in two tons of steel, glass, rubber and more, zipping along at high speeds without a care in the world.\u00a0 In the last half of the 20<sup>th<\/sup> century more people in the US have died from traffic accidents than guns<a title=\"\" href=\"#_ftn1\">[1]<\/a>, yet we routinely resist safety measures and drive dangerously or in dangerous conditions.<\/p>\n<p>According to the authors of \u201cComprehensive Experimental Analyses of Automotive Attack Surfaces\u201d (Checkoway et al) not only are modern cars changing rapidly on an ongoing basis, adding new features and becoming more and more pervasively computerized, but they have real networks inside and a plethora of system interfaces to boot.\u00a0 Despite this threat model research has been reluctant to keep up with the Joneses, as it were (I also learned after looking at various resources that there is a <a href=\"http:\/\/www.autosec.org\/\">Center for Automotive Embedded Systems Security<\/a>.\u00a0 You learn something new every day.)<\/p>\n<p>A whole lotta lines of code make up the distributed network that lives under the hood, and last year the same researchers demonstrated that once in, it\u2019s over \u2013 all computer and control systems are compromised \u2013 including the engine, breaks, locks, you name it.\u00a0 This is due to a lack of any sort of control or security architecture inside.<\/p>\n<p>Modern cars are controlled by a loosely coupled set of digital components called Electronic Control Units (ECUs), which are in charge of the pretty much everything you care about \u2013 the engine, drive train, brakes, stereo, and the like.\u00a0 An article<a title=\"\" href=\"#_ftn2\">[2]<\/a> claimed that there are up to 100 ECUs in your typical car with perhaps 100 million lines of code.\u00a0\u00a0 That\u2019s a lot of code.\u00a0 To put that in perspective, a brand new Airbus 380 jetliner has about the same number of ECUs (including the entertainment system), and our current jet fighter, the F22 raptor, has \u201conly\u201d 1.7 million lines.\u00a0 Automobile manufacturers have clearly embraced computerization in a big way.\u00a0 As we know from operating system and application security, there is just no hope in trying to secure that much code.<\/p>\n<p>It is somewhat analogous to computer networks and applications that we build, which are all too often binary.\u00a0 And while once on a computer network you\u2019re really into a lot of resources by default, but at least on computer networks we have some monitoring, logging, and auditing going on (in theory ;))\u00a0 The older attacks required <em>physical<\/em> access, however, to plug into the car\u2019s bloodstream and inject the attacks.\u00a0 Critics of their previous paper said that you could get similar results by simply cutting or mucking with the brake line, for instance.<\/p>\n<p>So the researchers started to get nasty.\u00a0 What ways can a car communicate with the outside world?\u00a0 There\u2019s actually quite a few, including radio (digital and analogue), remote key fobs, CD\/media players, cell phones (things like OnStar actually work by placing a GPS and cell phone imbedded in your dash), Bluetooth\u2026 even your tires get into the action, with TPMS (Tire-Pressure Monitoring System, mandated for all US cars since 2007), which relays data in real time back to the rest of the car.<\/p>\n<p>These all are run by software; you might guess what comes next.\u00a0 The little bits of software listening on these ports in the air get attacked; buffer overflows, protocol errors, fuzzing, all kinds of attacks.\u00a0 They took a couple of cars and tried to break various systems \u2013 the ones that proved most fruitful were CD, Bluetooth, and cellular:<\/p>\n<p><a href=\"https:\/\/trouble.org\/wp-content\/uploads\/2012\/09\/nasty.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-563\" title=\"nasty\" src=\"https:\/\/trouble.org\/wp-content\/uploads\/2012\/09\/nasty.png\" alt=\"\" width=\"727\" height=\"426\" srcset=\"https:\/\/trouble.org\/wp-content\/uploads\/2012\/09\/nasty.png 727w, https:\/\/trouble.org\/wp-content\/uploads\/2012\/09\/nasty-300x175.png 300w\" sizes=\"auto, (max-width: 727px) 100vw, 727px\" \/><\/a><\/p>\n<p>Reading between the lines it seems that just about all entry points could be broken \u2013 again, they\u2019re just software, and not particularly hardened against attack.\u00a0 After reading the paper and listening to the talk I started to suspect that they could bend the car to their will just by <a href=\"http:\/\/en.wikipedia.org\/wiki\/The_Men_Who_Stare_at_Goats_(film)\">staring at it<\/a>, but they decided not to publish that bit for fear of mass hysteria (or were stopped by various three-letter agencies.)<\/p>\n<p><a href=\"https:\/\/trouble.org\/wp-content\/uploads\/2012\/09\/goats1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-565\" title=\"goats\" src=\"https:\/\/trouble.org\/wp-content\/uploads\/2012\/09\/goats1.png\" alt=\"\" width=\"187\" height=\"277\" \/><\/a><\/p>\n<p>To me one of the most interesting things here was that systems that had vulnerabilities that you\u2019d never think were connected to anything else (a CD player?\u00a0 Tires, for goodness sake?) could and were able to take over the entire vehicle.\u00a0 To quote the paper \u2013 \u201cfor every vulnerability we demonstrate, we are able to obtain complete control over the vehicle\u2019s systems.\u201d)<\/p>\n<p>I\u2019ll inject a few more visceral notes of interest.\u00a0 After exploiting the cell phone and CD players the researchers made a audio recording of an attack, so that they could either slip a CD into the player or remotely phone the car the malicious sounds would force the system to execute an exploit and take over.<\/p>\n<p>In addition to all the car problems they looked at a diagnostic tool used by mechanics called a PassThru device, which turns out to be a little Linux box that can connect to the car\u2019s OBD-II port (a standard auto diagnostic port) along with WiFi.\u00a0 It turns out that if PassThru is plugged into a car you can easily compromise the PassThru box itself (amusing anecdotes of this in the paper, including a summary of a proof-of-concept they did to do just this) and take over the car yet again \u2013 so if a mechanic is working on your local service station and I happen to be driving by, I\u2019m now in charge.<\/p>\n<p>Of course the PassThru device itself requires no authentication to control a car when plugged into it and talks standard UDP\/TCP over IP.\u00a0 So if you have one of those it might make an interesting attack box.\u00a0 The PassThru itself can be infected and continue to infect cars as they\u2019re plugged into it\u2026 a kind of repeat of the ol\u2019 floppy attack of yore.<\/p>\n<p>So what\u2019s the big deal, you might say\u2026 it\u2019s just a car, what can be done?\u00a0 It looks like at least 3 basic results of such attacks; I\u2019d note too that any of these could be done in real time or store code in the car for the right moment in time to spring to life (is this a new market for Symantec?\u00a0 Car anti-viruses!):<\/p>\n<p>1)\u00a0\u00a0\u00a0 Surveillance.\u00a0 You can watch the GPS and record any sound in a car and send this all out in real time or in batches.\u00a0 Good for generic spying, amoral parents with unruly (and driving) kids, abusive or spying spouses, etc.<\/p>\n<p>2)\u00a0\u00a0\u00a0 Theft.\u00a0\u00a0 The video they produced was really wonderful, but I can\u2019t find it online.\u00a0 In it they do a simple enactment of a crime \u2013 a man walks up to a car and a remote operator unlocks the doors, starts up the engine, disables the security system, and he drives off.\u00a0 There are a lot of potential ideas here\u2026 combined with war-dialing (mass dialing of blocks of phone numbers) or other surreptitious ways of gaining car phone numbers (or simply drive around like Google and record all the data you get from listening to the airwaves) you could develop a database of vulnerable cars that are out there as well as various other bits of information such as location\u2026 and act as a broker to car thieves (\u201coh, you want to know where all the 2015 Mustang\u00a0 Cobras in LA are?\u201d)\u00a0 I suppose police might want to do this to\u2026 always use for information if you have access to it.<\/p>\n<p>3)\u00a0\u00a0\u00a0 Destruction or worse.\u00a0 I can only imagine what would happen as you\u2019re driving along highway 1 and someone disables your breaks and hits the accelerator (on the bright side you might be able to slow down the person tailgating you!)<\/p>\n<p>You might imagine attacks such as these being extended to planes, trains, and military vehicles.<\/p>\n<p>Certainly if you look at how the automobile manufacturers build a car, I don\u2019t see any solution on the horizon.\u00a0 Ford, Honda, and others don\u2019t build all those ECU components themselves, the massively farm out and distribute the work to thousands of contractors and subcontractors who bid and build things on spec.\u00a0 The car makers get back black boxes that just work (or not), and don\u2019t typically get the source code, nor do they have the resources or desire to audit and do pen testing on your CD player.<\/p>\n<p>Watching the researchers set up an IRC channel that would register cars as they were compromised and allow real time was very redolent of the early days of massive distributed bot attacks.\u00a0 Are our formally trustworthy cars next?<\/p>\n<p>To be fair, they do say in a FAQ:<\/p>\n<p style=\"padding-left: 30px;\"><em>We believe that car owners today should not be overly concerned at this time. It requires significant\u00a0sophistication to develop the capabilities described in our papers and we are unaware of any attackers who are even targeting automobiles at this time.<\/em><\/p>\n<p>It\u2019s been my experience, however, that relying on the stupidity of attackers is not always the most strategic position to take.\u00a0 We shall see.<\/p>\n<div><br clear=\"all\" \/><\/p>\n<hr align=\"left\" size=\"1\" width=\"33%\" \/>\n<div>\n<p><a title=\"\" href=\"#_ftnref1\">[1]<\/a> \u201cOn Motor Vehicle Accidents and Prevention\u201d, A. R. Wilcock, 1981.\u00a0 Guns, er, gun down surprising amounts of people, esp by suicide, but cars do rack up the kills.<\/p>\n<\/div>\n<div>\n<p><a title=\"\" href=\"#_ftnref2\">[2]<\/a> \u201cThis Car Runs on Code\u201d, Robert N. Charette, 2\/91, IEEE Spectrum.\u00a0 A sample quote from this fairly non-technical article:<\/p>\n<p>For today\u2019s premium cars, \u201d<em>the cost of software and electronics can reach 35 to 40 percent of the cost of a car<\/em>,\u201d states Broy, with software development contributing about 13 to 15 percent of that cost. He says that if it costs US $10 a line for developed software\u2014a cost he says is low\u2014for a premium car, its software alone represents about a billion dollars\u2019 worth of investment.<\/p>\n<p>IBM claims that about 50% of car warranty costs are software related.<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>I went to the 2011 USENIX security conference&#8230; admittedly not expecting much, but wietse was going to be there, and I must say a really, really fine show.\u00a0 Yes, this is ancient history now&#8230; but so am I! Most of us spend a fair bit of time encased in two tons of steel, glass, rubber [&hellip;]<\/p>\n","protected":false},"author":44,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,33,88,19,4,6],"tags":[333,321,141,318,320],"class_list":["post-562","post","type-post","status-publish","format-standard","hentry","category-cats","category-dinosaur","category-dinosaurs","category-philosophy","category-security","category-tech","tag-cars","tag-cats","tag-goats","tag-security","tag-tech"],"_links":{"self":[{"href":"https:\/\/trouble.org\/index.php?rest_route=\/wp\/v2\/posts\/562","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trouble.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/trouble.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/trouble.org\/index.php?rest_route=\/wp\/v2\/users\/44"}],"replies":[{"embeddable":true,"href":"https:\/\/trouble.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=562"}],"version-history":[{"count":6,"href":"https:\/\/trouble.org\/index.php?rest_route=\/wp\/v2\/posts\/562\/revisions"}],"predecessor-version":[{"id":1250,"href":"https:\/\/trouble.org\/index.php?rest_route=\/wp\/v2\/posts\/562\/revisions\/1250"}],"wp:attachment":[{"href":"https:\/\/trouble.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=562"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trouble.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=562"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trouble.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=562"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}