1 00:00:19,640 --> 00:00:22,000 It's been a long minute. 2 00:00:27,010 --> 00:00:29,470 Okay, looks like we're good. 3 00:00:30,490 --> 00:00:39,030 So, joining me today are Trey Cohen and Brenda So. 4 00:00:39,110 --> 00:00:44,530 And I have the pleasure of congratulating you for your first time DEF CON talk. 5 00:00:44,530 --> 00:00:48,430 And with that, we have a tradition where we share a shot with the speakers. 6 00:00:48,430 --> 00:00:53,430 So, please lift your glass and welcome to DEF CON. 7 00:01:01,240 --> 00:01:02,460 All right. 8 00:01:02,460 --> 00:01:03,620 All right, yeah. 9 00:01:05,260 --> 00:01:11,960 Then you spend the next few minutes trying to get your voice back after drinking Firewall, or Firewire, right? 10 00:01:13,460 --> 00:01:15,260 I hope it's not Fireball. 11 00:01:15,620 --> 00:01:21,040 Yeah, we could actually spend a half hour talking about Fireball if you want to, that's good. 12 00:01:21,240 --> 00:01:23,320 But we actually do have a question coming in. 13 00:01:23,320 --> 00:01:32,520 So, first question is, why on earth would a public ATM system use such easily defeated systems as Windows CE 6 and triple DES? 14 00:01:35,700 --> 00:01:36,220 Well... 15 00:01:36,760 --> 00:01:38,220 You can go ahead, Brenda. 16 00:01:38,720 --> 00:01:39,620 Oh, okay, sure. 17 00:01:39,620 --> 00:01:40,580 I'll do it. 18 00:01:42,380 --> 00:01:43,680 I'll do it. 19 00:01:43,680 --> 00:01:49,280 So, I think for retail ATMs, the main consideration for them is price. 20 00:01:49,280 --> 00:01:58,120 So, like, the license for Windows CE is definitely cheaper than, like, more up-to-date, like, Windows 7 or Windows 10 ATMs. 21 00:01:58,120 --> 00:02:08,700 In fact, a lot of financial ATMs, like ATMs you see at financial institutions like a bank, they would use more up-to-date Windows software. 22 00:02:08,700 --> 00:02:14,280 As for triple DES, triple DES is more of an industry standard, I would say, for financial institutions. 23 00:02:14,280 --> 00:02:15,320 That's how they use it. 24 00:02:16,440 --> 00:02:17,100 Yeah. 25 00:02:17,100 --> 00:02:21,380 And, you know, we kind of touched on this in the talk, is, you know, we're... 26 00:02:21,380 --> 00:02:29,740 There's a consideration to be had where, you know, you have this device that's been built, it's been out there for years, and, you know, hasn't caused you any issues so far. 27 00:02:30,860 --> 00:02:35,200 And it's a reasonable price if you have all these systems built up around it. 28 00:02:36,180 --> 00:02:52,600 You know, if it's not something that, you know, an end user is directly affected by, at least in the immediate term of being able to see, you know, oh, this ATM is insecure, you know, you just assume your ATM is secure, you don't get any complaints about it, 29 00:02:52,600 --> 00:02:55,440 you can get it at a cheap price, just keep selling it. 30 00:02:55,800 --> 00:02:59,300 That seems to be the motivation here. 31 00:03:00,580 --> 00:03:06,620 Yeah, and if you are, like, a convenience store owner, like, looking to buy an ATM, the first thing you look at is price, right? 32 00:03:06,620 --> 00:03:12,440 Like, you don't really... like, I do not think security would be in your mind when you're purchasing... 33 00:03:12,440 --> 00:03:17,540 like, when you're just a store owner trying to purchase an ATM for customers to use. 34 00:03:17,800 --> 00:03:18,360 So hence... 35 00:03:18,360 --> 00:03:19,240 And everyone's... 36 00:03:19,240 --> 00:03:20,260 Yeah. 37 00:03:20,400 --> 00:03:26,920 Everyone's seen those videos of, like, the backhoe being, you know, pulled out to grab the ATM and dig it up and dump it in a truck. 38 00:03:26,920 --> 00:03:35,220 I know physical security is a huge consideration, but network attacks are not necessarily the biggest consideration. 39 00:03:38,340 --> 00:03:39,220 Great. 40 00:03:39,220 --> 00:03:43,520 So, looks like you guys actually are winning on YouTube. 41 00:03:43,520 --> 00:03:47,240 You've got 8,000 views on this, so it seems... 42 00:03:47,240 --> 00:03:58,940 I think everyone was waiting for that Barnaby Jones moment, which, you know, I was a little bit disappointed to see you actually letting the cash drop into the, you know, the holder. 43 00:03:58,940 --> 00:04:05,240 I imagine that was a pretty great moment to see that cash disperse, though, right? 44 00:04:05,600 --> 00:04:06,520 Yeah. 45 00:04:06,600 --> 00:04:12,820 Barnaby Jack was a great showman there in terms of his talking, putting this out there initially. 46 00:04:12,840 --> 00:04:23,220 So , you know, we're happy to be able to have something to try and, you know, follow up 10 years later and see, you know, are these still secure? 47 00:04:23,360 --> 00:04:26,640 And can we make a really cool demo? 48 00:04:26,640 --> 00:04:35,320 Probably not as cool, but, you know, at least try to attain the level of coolness of his talking and dumping some cash out. 49 00:04:38,490 --> 00:04:39,350 Very cool. 50 00:04:39,350 --> 00:04:43,290 You mentioned that the ATM was capable of TLS and SSL. 51 00:04:43,610 --> 00:04:48,310 Would the replay attacks have been possible if they had enabled that on the ATM? 52 00:04:48,310 --> 00:04:53,230 Or was this protection on for the communication with the host processor? 53 00:04:53,230 --> 00:04:59,330 So the replay attacks were for... the replays were for XFS. 54 00:04:59,330 --> 00:05:06,950 So that's a completely, I guess, separate question there in terms of, you know, doing replays. 55 00:05:06,950 --> 00:05:19,500 The replays were replaying traffic that was going on the loopback interface on the device and sending that over the network into the XFS middleware. 56 00:05:19,500 --> 00:05:31,960 But the TLS and SSL is actually for communicating up to the RMS, or not the RMS, but the payment processor, I believe. 57 00:05:31,960 --> 00:05:33,380 I'll let Brenda speak a little bit more about that. 58 00:05:33,380 --> 00:05:34,120 Yeah, yeah. 59 00:05:34,120 --> 00:05:42,140 TLS and SSL are for communication with a middleman between the ATM and the credit card network. 60 00:05:42,140 --> 00:05:47,790 It doesn't encrypt inter-process communication within the ATM itself. 61 00:05:51,790 --> 00:05:52,910 Cool. 62 00:05:53,370 --> 00:05:59,650 So Hawkeye, who did not see the full video, I share that problem with Hawkeye. 63 00:06:00,090 --> 00:06:06,430 Was there anything that you saw that you could do with the camera once you started compromising the machine? 64 00:06:07,270 --> 00:06:13,770 So the ATM that we bought, the camera is actually an extra module that cost a couple extra hundred dollars. 65 00:06:13,770 --> 00:06:15,210 We didn't buy that part. 66 00:06:15,210 --> 00:06:19,270 So we didn't really look at it, if that's what you're wondering. 67 00:06:19,750 --> 00:06:20,870 Gotcha. 68 00:06:22,590 --> 00:06:34,870 That is something that is a standard component on the middleware there, but in terms of how widespread that is, it's not something we're super familiar with. 69 00:06:34,870 --> 00:06:39,610 But our ATM, certainly, the base model, lowest price, did not have that. 70 00:06:41,150 --> 00:06:46,910 Yeah, at least it didn't come with a $3,000 pay per ATM. 71 00:06:48,510 --> 00:06:49,230 Great. 72 00:06:49,230 --> 00:07:00,910 So another question is, can you explain more about which steps in the first 40 minutes of the video are necessary to exploit the cache disperse function over port 8004? 73 00:07:00,910 --> 00:07:09,070 It seems like, for a while, you would need to upload new files and application binaries, which would direct the response to your payment processor. 74 00:07:09,370 --> 00:07:20,450 But at the end, it appeared that all you needed to do was make the cache disperse, was to connect to the network, intercept the instructions, and resend them. 75 00:07:22,010 --> 00:07:22,970 Yeah. 76 00:07:23,310 --> 00:07:33,550 A lot of what goes on here is, you know, there's kind of the old adage about, you know, you're not paying an automotive mechanic to hammer for, you know, an hour. 77 00:07:33,550 --> 00:07:35,530 You're paying them to know, like, where to hammer. 78 00:07:35,590 --> 00:07:47,430 So figuring out where to hammer for this ATM was a very long process, and that took a number of, you know, firmware upgrades on our end, adding our custom tools in there. 79 00:07:47,430 --> 00:07:50,790 And, you know, progress kind of came in fits and spurts. 80 00:07:51,050 --> 00:08:02,910 So, you know, Brenda discovered the RMS vulnerability, and, you know, we took that and kind of were able to build an exploit around that. 81 00:08:02,910 --> 00:08:11,810 The XFS stuff was largely built on the ladder block and the debugging capabilities we developed there. 82 00:08:12,030 --> 00:08:23,870 So being able to debug things, being able to figure out, you know, that these messages are going over the loopback interface, and being able to capture those was a whole process that took quite a while. 83 00:08:23,870 --> 00:08:29,730 But then, at the end of the day, you're just sending a single TCP packet over the Ethernet interface. 84 00:08:31,210 --> 00:08:37,270 As for the function that we find in IDA and the binary, that's more for an exploratory process. 85 00:08:37,570 --> 00:08:40,910 So the cache dispense or the print receive function doesn't just do what it does, right? 86 00:08:40,910 --> 00:08:44,330 There's a lot of setup involved, like, there's a lot of checks, etc. 87 00:08:44,710 --> 00:08:50,990 So it doesn't really work well for, like, a direct injection, as elegant as the vulnerability that Trey has found. 88 00:08:50,990 --> 00:08:58,170 But that helped us a lot in understanding how the ATM internals work, like, how, like, the processes communicate with each other, etc. 89 00:08:59,730 --> 00:09:01,150 So, follow-up on that. 90 00:09:01,150 --> 00:09:12,010 Do you think that the understanding you were able to glean from doing that sort of reverse engineering on it, how much of that do you think transfers to the Windows 10 higher-end machines? 91 00:09:14,750 --> 00:09:16,050 That's a good question. 92 00:09:17,110 --> 00:09:23,590 So the vulnerability, so what matters, you're talking about the difference between the OSs, right? 93 00:09:23,590 --> 00:09:28,570 So the OS, I would say that the OS and the application binary are separate. 94 00:09:28,750 --> 00:09:39,890 So everything that we found, every vulnerability that we found is in the application side, and none of them relates on a kernel, like, depends on a kernel exploit. 95 00:09:40,190 --> 00:09:42,050 So you can look at it like that. 96 00:09:42,050 --> 00:09:51,790 And also, if you're talking about Windows 7 and Windows 10, we're talking about financial institutions that probably, like, poured in hundreds of thousands of dollars into securing their framework. 97 00:09:51,790 --> 00:09:54,330 So I think it'll be interesting, but I'm not sure. 98 00:09:54,330 --> 00:09:56,470 We don't really have banks. 99 00:10:00,290 --> 00:10:05,430 There's no asterisk to that, you know, so don't come after us. 100 00:10:06,730 --> 00:10:09,190 I think, you know, that's a good point. 101 00:10:09,190 --> 00:10:24,370 A lot of, at least in terms of the XFS vulnerability, that will depend on how much of their middleware is portable between the retail versions of the ATMs and the financial versions of the ATMs. 102 00:10:24,370 --> 00:10:26,570 How much of that codebase is shared? 103 00:10:27,030 --> 00:10:29,710 Was there some refactor that happened along the way? 104 00:10:29,710 --> 00:10:33,510 That's not something we have the resources to answer. 105 00:10:33,510 --> 00:10:35,770 We don't have these very large, expensive ATMs. 106 00:10:35,890 --> 00:10:45,170 We're focusing on these slightly more accessible ATMs that are, you know, a couple thousand, thousands of dollars. 107 00:10:45,630 --> 00:10:48,630 Yeah, and even if we have the money, I don't think they would sell it to us. 108 00:10:48,630 --> 00:10:52,970 Can you imagine just calling a mom and saying, I want a financial ATM for 10 grand. 109 00:10:52,970 --> 00:10:54,390 They ask you, what is it for? 110 00:10:54,770 --> 00:10:57,350 And then you don't know what to answer, right? 111 00:10:57,630 --> 00:11:04,690 But for the retail ATMs, you find, like, a distributor and just say, I want an ATM. 112 00:11:04,730 --> 00:11:06,270 And there you go. 113 00:11:06,270 --> 00:11:07,710 One showed up at the office. 114 00:11:09,610 --> 00:11:26,970 And we also actually asked, we tried to purchase a license for the remote management software, but I think by that point they were kind of questioning why we would want to buy the remote management software and chose not to sell it to us. 115 00:11:27,670 --> 00:11:32,790 But we were able to buy numerous ATMs just by going to this ATM distributor. 116 00:11:33,550 --> 00:11:34,330 Wait, sure. 117 00:11:34,330 --> 00:11:38,210 Did you find a copy at the, what was it called, Wayback Machine? 118 00:11:38,210 --> 00:11:41,130 Like a copy of the RMS service? 119 00:11:41,130 --> 00:11:47,470 So there is an older version of the software that you can find with a lot of work. 120 00:11:47,470 --> 00:11:58,830 This is not something I was able to find very easily, but there is something on the Wayback Machine where there is an error of this software. 121 00:11:58,830 --> 00:12:08,310 I couldn't actually get it to work with our ATM, so I'm not sure how useful that would be. 122 00:12:12,040 --> 00:12:12,580 Cool. 123 00:12:12,580 --> 00:12:21,340 So on the admin page, the ATM, did it have any ways to kind of harden the security, like requiring a larger pin or anything like that? 124 00:12:25,440 --> 00:12:27,860 I think if the password is longer, maybe. 125 00:12:27,860 --> 00:12:34,960 But if you also think about the ATM inputs, it's just like a 10, there's only so many keys you can input, right? 126 00:12:34,960 --> 00:12:38,220 Like it's 1, 2, 3, 4, 5, 6, 7, 8, 9, and 0. 127 00:12:38,580 --> 00:12:41,440 So it would be within the numeric range. 128 00:12:41,440 --> 00:12:53,280 But I think the security on that part is if you spend a lot of time just standing in front of the ATM and inputting every single key, it will look suspicious at one point. 129 00:12:53,320 --> 00:13:01,200 But I don't know, but then the thing becomes whether someone actually comes up to you and asks you, why are you spending so long at the ATM? 130 00:13:04,620 --> 00:13:26,520 Yeah, and again, there is that option for things like TLS and SSL, but securing it from an end user coming up and trying to just guess the password to administrate the ATM, that's not something that seems to be much of an option beyond a six-digit numeric passcode. 131 00:13:30,000 --> 00:13:43,620 Great, so one thing, you mentioned the initial research occurred over 10 years ago. 132 00:13:43,700 --> 00:13:52,680 Were you surprised that you were still able to fuzz that RMS after it was already exploited? 133 00:13:54,020 --> 00:13:56,600 Can you ask the question again? 134 00:13:59,720 --> 00:14:18,860 Yeah, I'm still learning English, so I'm not sure I can, but what I was trying to ask was, were you surprised you were able to fuzz and find something in RMS even after that was the specific path that was exploited over 10 years ago? 135 00:14:19,580 --> 00:14:21,300 Yeah, we're pretty surprised. 136 00:14:21,300 --> 00:14:32,100 Actually, we did the reversing independently because at that time we couldn't find any information, so we just put our efforts, used all the tools that we had and reversed it for two weeks, right? 137 00:14:32,100 --> 00:14:51,420 And then afterwards, we found Barnaby Jack's IOactive documents on the RMS protocol and how he exploited it, and when we looked at the two package structures that we found, they're exactly the same, and the obfuscation or the encryption techniques are also exactly the same, 138 00:14:51,420 --> 00:14:52,620 so that was kind of surprising. 139 00:14:52,620 --> 00:14:56,680 I would have thought that something would have changed, but it didn't really. 140 00:14:58,460 --> 00:15:10,740 Yeah, and that initial vulnerability was patched, although this was still something that was a bit of a separate issue that we discovered. 141 00:15:13,160 --> 00:15:15,500 All right, so we have a question from the audience. 142 00:15:15,500 --> 00:15:22,160 Do you plan on continuing your research, and if so, would you play at the payment processor level if you had a way to get a hold of the right folks? 143 00:15:26,420 --> 00:15:37,200 Payment processor... that would be interesting to look at, because when we were looking at the admin screen, the protocol that we reverse-engineered is not the only protocol that is there. 144 00:15:37,200 --> 00:15:42,320 There are different kinds of standards for different kinds of payment protocols. 145 00:15:42,320 --> 00:15:43,440 I don't know why they need so many. 146 00:15:43,440 --> 00:15:44,420 There's four in total. 147 00:15:44,420 --> 00:15:48,380 I don't know why they need so many, but it's just there, so I think it would be interesting to look at those. 148 00:15:50,060 --> 00:15:52,360 Yeah, that could be an interesting avenue. 149 00:15:52,500 --> 00:16:04,160 We started looking into a few other ATMs, but that's a whole other initial reverse-engineering effort that we want to undertake. 150 00:16:05,400 --> 00:16:16,100 We actually stuck to this line of ATM, and the software between the smaller ATM and the larger one that we have is exactly the same, so that was very portable. 151 00:16:17,780 --> 00:16:29,120 Yeah, and if you look at... I think on one side of the PowerPoint, we show that the two ATMs use the same firmware, but there are also other ATMs that also use the same firmware. 152 00:16:29,200 --> 00:16:39,760 So the vulnerability that we find don't just affect the two ATMs specifically, but it affects every single ATM that uses that exact firmware update. 153 00:16:43,660 --> 00:16:56,220 So one thing that came to mind when I watched the video was, I was wondering if your intern locking the key in was by design just to increase the challenge or just an accident. 154 00:16:56,760 --> 00:16:59,340 Oh, that was an accident. 155 00:16:59,340 --> 00:17:15,280 Yeah, that was not a fun afternoon to realize that you have an ATM, and the only thing that can open it is the second side of it, and the key, ordering it online while we're at it for another week or at least a few days. 156 00:17:15,280 --> 00:17:20,120 So it's not great when you have a deadline for a CTF coming up there. 157 00:17:23,520 --> 00:17:24,660 It's our initial effort. 158 00:17:24,660 --> 00:17:27,580 I think it's like a month in, and then we have a deadline. 159 00:17:28,840 --> 00:17:37,740 And then we just had so much reverse engineer efforts done at that stage, and I really need to do the firmware update, and some intern just locked it in there. 160 00:17:37,740 --> 00:17:40,680 I think I got pretty pissed during that time. 161 00:17:41,520 --> 00:17:43,780 And that's why we spend so much effort. 162 00:17:43,780 --> 00:17:44,560 I can't wait. 163 00:17:44,560 --> 00:17:45,680 I have a deadline in two days. 164 00:17:45,680 --> 00:17:46,980 I can't wait for Amazon to come. 165 00:17:46,980 --> 00:17:49,200 I can't do firmware updates for two days. 166 00:17:49,200 --> 00:17:53,080 We bought a lock picking kit. 167 00:17:54,440 --> 00:17:55,700 Tubular locks. 168 00:17:55,940 --> 00:18:00,560 Yeah, it doesn't come on time, and that's why we're printing the ATM keys. 169 00:18:01,080 --> 00:18:04,600 We just need to unlock it somehow. 170 00:18:05,260 --> 00:18:11,020 Yeah, I was trying to chip away at some of the plastic on there and see if we could fish the key out from the inside. 171 00:18:11,960 --> 00:18:14,780 Ang was like, yeah, you know, we've got 3D printers. 172 00:18:14,780 --> 00:18:17,100 We've got pretty nice 3D printers at the office. 173 00:18:17,100 --> 00:18:27,380 So he just went in and, you know, there's tubular lock keys you can download on Thingiverse or wherever we posted that from. 174 00:18:27,840 --> 00:18:33,960 Just set what the pin should be, which on some keys is just written on the top of the key. 175 00:18:33,960 --> 00:18:40,740 So you can do an image search or a search online for this key and then the combination is just right there on the key. 176 00:18:42,020 --> 00:18:46,700 Wait, Richard, didn't you open it with a claw tanger at one point? 177 00:18:47,480 --> 00:18:49,780 There are other ways into the ATM. 178 00:18:53,460 --> 00:18:54,500 I'll leave it at that. 179 00:18:54,500 --> 00:18:56,020 There are other ways into the ATM. 180 00:18:57,440 --> 00:19:00,000 So intern still with you or not? 181 00:19:00,220 --> 00:19:01,980 Oh yeah, he's full time. 182 00:19:06,020 --> 00:19:07,860 Living inside the ATM. 183 00:19:10,020 --> 00:19:12,500 I don't think you could fit someone in there. 184 00:19:12,500 --> 00:19:13,560 Maybe in the vault. 185 00:19:14,720 --> 00:19:15,720 Yeah, maybe. 186 00:19:15,720 --> 00:19:17,960 Oh, yo, I think we could. 187 00:19:19,380 --> 00:19:21,120 Do you want to volunteer for that? 188 00:19:21,120 --> 00:19:21,840 No. 189 00:19:21,840 --> 00:19:26,460 I think I'm the smallest person physically at a company. 190 00:19:26,460 --> 00:19:27,880 I still don't want to do that. 191 00:19:30,280 --> 00:19:31,660 Pepper would fit. 192 00:19:31,840 --> 00:19:33,800 The office size. 193 00:19:37,780 --> 00:19:40,500 So we actually have another legit question. 194 00:19:40,500 --> 00:19:50,360 It said, looking at the different parties involved, do you know who would be on the hook for lost cash if someone did such an attack from buying your ATMs? 195 00:19:50,360 --> 00:19:51,820 How are the contracts structured? 196 00:19:53,300 --> 00:19:55,080 It's a great question. 197 00:19:56,100 --> 00:20:05,820 The ATM industry, I think based off of what I've been looking at online as an end user, there's a couple of different ways you can go about buying an ATM. 198 00:20:06,140 --> 00:20:17,100 You can be the one who physically owns the ATM and you do everything yourself, reloading cash, updating the software, connecting it to a payment processor, all of that. 199 00:20:17,640 --> 00:20:27,600 Or you can go to a payment processor and sometimes they have partnerships where they'll make it easier to onboard and get things going. 200 00:20:27,600 --> 00:20:30,280 Or you can just say, I have this spot. 201 00:20:30,280 --> 00:20:31,000 I want an ATM. 202 00:20:31,000 --> 00:20:32,480 I don't want to buy the ATM. 203 00:20:32,660 --> 00:20:34,620 I just want to cut off the top. 204 00:20:34,620 --> 00:20:38,380 And whoever puts one ear, you know, you can take a cut off the top as well. 205 00:20:38,380 --> 00:20:39,940 So we'll kind of split that. 206 00:20:40,540 --> 00:20:47,060 But, you know, there's different ways the ownership model for ATMs works. 207 00:20:47,340 --> 00:20:49,760 So it would depend on that. 208 00:20:49,760 --> 00:20:54,880 But as far as who's actually liable, that's not something I necessarily have the business insight to answer. 209 00:20:56,200 --> 00:20:58,620 Yeah, we focused more on the technical part. 210 00:20:58,680 --> 00:21:03,140 We didn't really look at the legal and the economic implications. 211 00:21:06,560 --> 00:21:06,980 Sure. 212 00:21:06,980 --> 00:21:21,520 So kind of looking ahead, what kind of things should the community take from your research and where can they take this kind of thing to the next step in taking a look at ATM security? 213 00:21:22,060 --> 00:21:28,420 Which direction should we all be going after we get our ATMs delivered to our house 214 00:21:31,520 --> 00:21:32,120 ? 215 00:21:33,800 --> 00:21:41,260 So what we did is actually... if you look at the actual vulnerability itself, right, what we did is not that difficult. 216 00:21:41,260 --> 00:21:42,340 We didn't discover like... 217 00:21:43,320 --> 00:21:46,720 Buffer overflow is not... we're not the first one to discover buffer overflow. 218 00:21:46,720 --> 00:21:53,660 We're not the first one to discover that, you know, you shouldn't broadcast your IPC communication. 219 00:21:53,660 --> 00:21:54,580 Right. 220 00:21:54,580 --> 00:22:03,500 So even though reverse engineering took a very, very long time, the actual vulnerability discovery took around like two months or so. 221 00:22:03,500 --> 00:22:05,560 And we're pretty new at that as well. 222 00:22:06,020 --> 00:22:18,620 So I think for next steps, maybe we can look at other attack vectors other than network-based attacks or to actually delve deeper into network-based attacks and see how one could attack that. 223 00:22:19,240 --> 00:22:19,900 Yeah. 224 00:22:19,900 --> 00:22:29,320 And as an end user, as a consumer of ATMs, it's hard for you to have a voice in this power structure to say, you know, to demand security. 225 00:22:29,800 --> 00:22:34,560 Normally, this is not something where you can go online and just navigate to a different website. 226 00:22:34,560 --> 00:22:38,960 This is like a real world physical thing where you're kind of stuck with what's in front of you. 227 00:22:38,960 --> 00:22:45,660 So being able to tell a shop owner, hey, you know, this ATM is out of date, you know, you should update your software. 228 00:22:45,880 --> 00:22:51,620 That's a little difficult because, you know, it's not advertising necessarily what software version is running. 229 00:22:51,620 --> 00:23:03,740 It's not saying, you know, I'm a Windows 66 device, which has been past the extended support end of life for a couple of years now. 230 00:23:04,460 --> 00:23:06,460 It's a difficult problem. 231 00:23:06,560 --> 00:23:19,100 But, you know, raising awareness in the community about that and letting people be able to stop and think before you use an ATM, which you should do regardless, you know, with the proliferation of card scanners and everything out there. 232 00:23:19,100 --> 00:23:24,100 But being discerning in terms of how you use ATMs is a difficult thing. 233 00:23:24,980 --> 00:23:28,680 And it's not an easy problem to solve. 234 00:23:28,680 --> 00:23:36,600 But just having that voice in the back of your head saying this could be out of date, this could be having issues is a good first step. 235 00:23:40,660 --> 00:23:42,540 So just a follow up to that. 236 00:23:42,540 --> 00:23:56,200 I mean, I think, you know, as you said, it's not like a small business owner can just go, you know, go switch to a different one overnight or even get the insight into something before they make the purchase. 237 00:23:57,300 --> 00:24:08,080 You know, as a consumer, did you really... it seems like the stuff you found wasn't necessarily a risk to the consumer as much as it is to the owner of the ATM. 238 00:24:08,440 --> 00:24:14,320 So, you know, you mentioned card skimming, but is there really anything you found that consumers need to be worried about? 239 00:24:15,500 --> 00:24:22,840 So for the exploit that Brenda focused on, the RMS exploit, the one that she discovered, that allows for arbitrary code execution. 240 00:24:23,280 --> 00:24:31,440 And the implications of that, you know, it depends on how far your imagination can take it and how creative the attacker can get. 241 00:24:32,540 --> 00:24:34,760 So, you know, I'll hand it off to her. 242 00:24:34,760 --> 00:24:38,040 That's really more her spot to talk about. 243 00:24:38,960 --> 00:24:40,580 It depends. 244 00:24:41,060 --> 00:24:43,980 We're talking about how a consumer can be affected, right? 245 00:24:43,980 --> 00:25:02,880 Like, I believe in our demo, we demonstrated that you can, like, an attacker can extract information from, like, their magnetic strip or the credit card chip of their cards when they insert it and try to just, like, check for the balance or withdraw money. 246 00:25:02,880 --> 00:25:11,460 So on the consumer's side, what's going to affect them is that their data would be compromised, right? 247 00:25:11,460 --> 00:25:14,180 Because, like, the pin is encrypted, triple-desk. 248 00:25:14,280 --> 00:25:27,540 I mean, like, even though it's deprecated, it still takes a while to decrypt, sorry, crack the triple-desk, like, triple-desk pin number. 249 00:25:27,540 --> 00:25:33,180 Just like your credit card information, every bit of information for a credit card chip can be extracted. 250 00:25:39,900 --> 00:25:40,860 Yeah. 251 00:25:42,660 --> 00:25:44,360 I think you're on mute. 252 00:25:44,880 --> 00:25:45,960 Yeah, sorry. 253 00:25:47,120 --> 00:25:48,860 Indeed, I am on mute. 254 00:25:48,860 --> 00:26:02,580 So, and back to the physical security kind of aspect of this, based on the simplicity of those two locks that you encountered, do you think the ATM manufacturers should start installing more complex locks? 255 00:26:02,740 --> 00:26:06,720 Or do you see a purpose for the locks that they choose? 256 00:26:06,720 --> 00:26:11,280 Like, why would they go with this if there are more secure options out there? 257 00:26:11,840 --> 00:26:15,060 You know, sometimes you want to have a key that's keyed alike. 258 00:26:15,060 --> 00:26:22,700 You know, you want to be able to, you know, take a single key around and unlock numerous locks and be able to buy more of these locks that are all keyed in the same way. 259 00:26:22,700 --> 00:26:42,080 But the issue here is that every single ATM of this model, the top compartment, we show the separation between the top of the ATM, which has all the electronics and the main circuit board with the computer, and the bottom part of the ATM, which has the cash dispenser and the cassettes with all the cash in them. 260 00:26:42,080 --> 00:26:45,400 The top part, all the keys are the same. 261 00:26:45,400 --> 00:26:54,620 So, you know, really the first step there is making this not be a commonly available key that anyone can just buy. 262 00:26:55,820 --> 00:27:00,280 So, you know, the bottom of the ATM certainly is quite a bit more secure. 263 00:27:00,280 --> 00:27:07,180 You have different keys, I believe, and you have the electronic lock on the ATM itself. 264 00:27:07,220 --> 00:27:12,000 So there's quite a bit of extra steps taken there to protect the cash. 265 00:27:12,000 --> 00:27:29,440 But in terms of the main components there, that step would still be likely a good one to take to change out the cores and make different keys for different ATMs. 266 00:27:33,120 --> 00:27:34,140 Cool. 267 00:27:34,140 --> 00:27:38,570 Did you guys work on any chip-based ATMs during your research? 268 00:27:40,710 --> 00:27:41,990 EMB? 269 00:27:49,660 --> 00:27:52,900 Like the EMB chip, I guess, right? 270 00:27:53,800 --> 00:27:55,640 Oh, yeah. 271 00:27:55,640 --> 00:27:58,840 So our ATM supports both chip and magnetic strip. 272 00:27:58,840 --> 00:28:04,260 It's just an option that you set on the ATM side of things. 273 00:28:04,860 --> 00:28:13,460 And if you're wondering whether your chip is encrypted, the answer is it's encrypted with TS or SSL if you enabled it. 274 00:28:13,460 --> 00:28:16,180 But if you don't enable it, it's just plain text. 275 00:28:20,620 --> 00:28:22,180 Okay. 276 00:28:23,880 --> 00:28:27,620 Well, we have just a couple more minutes left. 277 00:28:27,960 --> 00:28:34,620 I want to thank you guys for your hard work and the effort you've all put into this. 278 00:28:34,980 --> 00:28:36,740 Fascinating stuff. 279 00:28:36,980 --> 00:28:39,920 I actually ran Barnaby's talk a while ago. 280 00:28:39,920 --> 00:28:41,840 It's kind of depressing that it's been 10 years. 281 00:28:41,840 --> 00:28:42,880 My goodness. 282 00:28:44,020 --> 00:28:45,480 But it's good stuff. 283 00:28:45,780 --> 00:28:47,020 Congratulations to both of you. 284 00:28:47,020 --> 00:28:55,180 Is there anything else that you guys want to add for everybody that's come out to ask you some questions and everything like that? 285 00:28:58,490 --> 00:29:01,930 I'm going to share my Twitter handle if you have something to ask. 286 00:29:08,390 --> 00:29:10,810 If you have any questions, you can DM me. 287 00:29:10,810 --> 00:29:13,070 I'll be happy to answer any questions you have. 288 00:29:16,110 --> 00:29:16,990 Same. 289 00:29:17,590 --> 00:29:19,750 I guess they're on the DEF CON website. 290 00:29:21,630 --> 00:29:31,610 Yeah, ATMs are a fun target and it's been fun being able to work at this at Red Bull and over the past year and a half. 291 00:29:32,190 --> 00:29:33,570 Year, year and a half. 292 00:29:34,770 --> 00:29:37,430 These are interesting targets. 293 00:29:39,790 --> 00:29:45,590 We're happy to be able to share this and demonstrate that these devices are out there. 294 00:29:45,590 --> 00:29:55,750 It's not something you can just go out on a whim and install in your own home, although there are special individuals who have taken those steps. 295 00:29:55,750 --> 00:30:00,150 But these are fun devices to work with. 296 00:30:01,290 --> 00:30:07,750 Like a lot of things, they benefit from not being as scrutinized by end users. 297 00:30:07,750 --> 00:30:11,630 It's more of a thing where you say, I want this. 298 00:30:11,630 --> 00:30:23,130 As a Bodega owner, as a gas station owner, you just get this ATM and you don't have to ask too many more questions, as long as it doesn't just pop the vault open and spill out some cash. 299 00:30:23,130 --> 00:30:37,910 Generally, that's enough for most people, but these devices are something that deserve being looked at through the network layer and seeing how they interact and which open ports they have. 300 00:30:37,910 --> 00:30:44,310 It's just a simple question to ask that yields a lot of information about the security of the device. 301 00:30:46,190 --> 00:30:50,190 So we have one last minute question, if you guys are game. 302 00:30:50,210 --> 00:30:55,270 Should the penalties for non-EM, EVM implementations be higher? 303 00:30:55,270 --> 00:30:57,110 They're currently very low. 304 00:30:58,490 --> 00:31:00,370 It's a good question. 305 00:31:00,650 --> 00:31:06,190 I think a lot of payment processors actually require EMV nowadays. 306 00:31:06,870 --> 00:31:13,090 I know that there's some requirements by some companies or financial institutions. 307 00:31:13,090 --> 00:31:15,450 I'm not quite sure how that works. 308 00:31:17,030 --> 00:31:21,730 I think it's fairly widespread, at least in terms of what I've seen. 309 00:31:21,730 --> 00:31:24,190 Brenda, does that mirror your experience? 310 00:31:24,930 --> 00:31:32,350 Yeah, most ATMs I've seen uses EMV, at least the ones I've seen, right? 311 00:31:32,970 --> 00:31:43,650 But the fallback, if your EMV doesn't work, the fallback would be a magnitude shift, which goes back to the same original problem. 312 00:31:43,990 --> 00:31:44,490 Great. 313 00:31:44,490 --> 00:31:48,430 Well, I appreciate you guys being generous with your time, and I appreciate you guys joining us today. 314 00:31:48,470 --> 00:31:55,430 And thank you for all the questions from the field, and we hope to see you guys back with more research in the future. 315 00:31:56,510 --> 00:31:57,790 Glad to be here.