{"id":100,"date":"2008-02-03T23:59:47","date_gmt":"2008-02-04T07:59:47","guid":{"rendered":"http:\/\/cubist.cs.washington.edu\/Security\/2008\/02\/03\/security-review-traffic-lights\/"},"modified":"2008-02-03T23:59:47","modified_gmt":"2008-02-04T07:59:47","slug":"security-review-traffic-lights","status":"publish","type":"post","link":"https:\/\/secblog.cs.washington.edu\/Security\/2008\/02\/03\/security-review-traffic-lights\/","title":{"rendered":"Security Review: Traffic Lights"},"content":{"rendered":"<p>As i&#8217;m sure everyone already aware of, one way our country (and many others) directs traffic is with these things call traffic lights. We place them at intersections, at about a one to one ratio of oncoming lanes to traffic light boxes. A box has three states, green, yellow, red. Green means you can go, yellow means red is imminent, and red means don&#8217;t go. Of course.<\/p>\n<p>Now, how are these lights choosing which state do display? A set of lights at an intersection should display a setting that does not give multiple lanes the right of way to crossing paths. But when do we change states? In the beginning, it was all done off timers. At set intervals the right of way was changed from one lane to another, ect. However, then people realized that depending on the time of day, we might want different settings. And then people were like, hey lets put in sensor&#8217;s to figure out if there is car waiting! These things are usually are metal detects, but weight detectors exist also. All these strategies used the idea that each intersections should be independent of all the others. But then humans got the idea that if we could get &#8216;waves&#8217; of green lights to happen, we could get even more efficiency. This requires intersections to talk to other intersections, as well as the ability to program in this information, and maintain\/reset it as needed.<\/p>\n<p>Many intersections also have buttons for pedestrian&#8217;s to push if they wish to walk across. This would give another signal to the lights, and the lights would queue up this request, and execute it eventually. Emergency vehicles also have a similar ability (and in some cases public transportation such as buses and light rail), which is called traffic signal preemption. Depending on the implementation, it can use radio waves, infrared, strobe lights, and audio signals from a siren to trigger. This will switch only the emergency vehicle&#8217;s path to green, and everyone else to red.<br \/>\n<!--more--><\/p>\n<p>Assets<\/p>\n<blockquote><p>The speed at which we are able to more cars and pedestrians though intersections is very important. Traffic lights are supposed to be an efficient way to direct traffic. This means that we want the traffic light to be doing what it is supposed to, all the time.<\/p>\n<p>We do not want any unauthorized people to use the preemption mechanism in many traffic lights. If we wanted them to be able to use it, they would be authorized.<\/p>\n<p>We probably would not like any unauthorized people to be able to see when traffic signal preemption was used.<\/p><\/blockquote>\n<blockquote><p><!--more--><\/p><\/blockquote>\n<p>Adversaries<\/p>\n<blockquote><p>Disgruntled, cruel, or terroristic people might want to disrupt the efficiency of the traffic system to waste other people&#8217;s time by giving too many red lights. They might also want to harm people, by giving too many people green lights, which could easily cause and accident.<\/p><\/blockquote>\n<blockquote><p>Bank robber&#8217;s or other sorts of organized crime that might have to deal with the police, and might want to be able to tell where the police were. If they could tap into the traffic signal system, and get notices whenever traffic preemption was used in an area, they could effectively see where the police cars were at and which direction they were going.<\/p><\/blockquote>\n<blockquote><p><!--more--><\/p><\/blockquote>\n<p>Weaknesses<\/p>\n<blockquote><p>The box is a physical object, so we could tamper with that. We could pull out it&#8217;s power, break lights, switch the color of the lights, remove it from its location, ect. Most of these would probably take a fairly large ladder, as the traffic lights are suspended pretty far off the ground. Some of these would be obvious if tampering had occurred, but if the green and red lights had been switched, the first few cars might not notice this.<\/p>\n<p>The traffic lights  must have some logic some where telling them what to display. So depending on how this is stored, whether it is in a program, or mechanically rigged,  it was set originally somehow, and probably is accessible for maintenance, so i would imagine that it would be possible to access and change these. It would be much easier for someone that has authorized access already, or at least inside knowledge of how this works to perform this sort of attack.<\/p>\n<p>The preemption emergency vehicles use could be spoofed. Either by recreating the apparatus that emergency vehicles use, or simply be stealing existing equipment<\/p>\n<p><!--more--><\/p><\/blockquote>\n<p>Defenses<\/p>\n<blockquote><p>In order to stop physical tampering, we could put in senors, that would send signals to the police if something was damaged, such as a light.<\/p>\n<p>In order to stop tampering with the logic, we could keep the controller in a far away, such as a public building, that is either locked or guarded at all times.<\/p>\n<p>It might be difficult to stop spoofing emergency signals. however, it might be easy to identify when spoofing has occurred, if someone who uses preemption is forced to later in the day, use some system to verify that it was them that used it.<\/p><\/blockquote>\n<p><!--more--> Risks<\/p>\n<p>There are probably easier ways to figure out where police cars are, so we probably do not really need to keep the confidentiality of when preemption is used. However, if all lanes simultaneously got a green light, and people died, this could be very tragic. Lights that are obviously displaying too many red signal might be wasting peoples&#8217; time initially, but one would hope that it would be reported fairly quickly, and fixed.<\/p>\n<p><!--more-->It is far more likely it seems that accidents will occur because of driver error, and not traffic light error. For now, it seems safe to assume that traffic lights always work correctly, but this might not always be the case.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As i&#8217;m sure everyone already aware of, one way our country (and many others) directs traffic is with these things call traffic lights. We place them at intersections, at about a one to one ratio of oncoming lanes to traffic &hellip; <a href=\"https:\/\/secblog.cs.washington.edu\/Security\/2008\/02\/03\/security-review-traffic-lights\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":37,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,13,5],"tags":[],"class_list":["post-100","post","type-post","status-publish","format-standard","hentry","category-miscellaneous","category-physicalsecurity","category-security-reviews"],"_links":{"self":[{"href":"https:\/\/secblog.cs.washington.edu\/Security\/wp-json\/wp\/v2\/posts\/100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/secblog.cs.washington.edu\/Security\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/secblog.cs.washington.edu\/Security\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/secblog.cs.washington.edu\/Security\/wp-json\/wp\/v2\/users\/37"}],"replies":[{"embeddable":true,"href":"https:\/\/secblog.cs.washington.edu\/Security\/wp-json\/wp\/v2\/comments?post=100"}],"version-history":[{"count":0,"href":"https:\/\/secblog.cs.washington.edu\/Security\/wp-json\/wp\/v2\/posts\/100\/revisions"}],"wp:attachment":[{"href":"https:\/\/secblog.cs.washington.edu\/Security\/wp-json\/wp\/v2\/media?parent=100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secblog.cs.washington.edu\/Security\/wp-json\/wp\/v2\/categories?post=100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secblog.cs.washington.edu\/Security\/wp-json\/wp\/v2\/tags?post=100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}