1 00:00:01,040 --> 00:00:03,000 Hi, my name is Camila. 2 00:00:03,000 --> 00:00:08,660 I'm a security researcher at DreamLab Technologies and also a 3D printing enthusiast. 3 00:00:08,660 --> 00:00:16,880 And today we are going to talk about bypassing biometric systems with and without the help of 3D printing technologies. 4 00:00:19,040 --> 00:00:27,320 Humans have used features such as face, voice, and gait for thousands of years to recognize each other. 5 00:00:27,320 --> 00:00:34,240 But only recently, humans have started using biometric-based systems to authenticate individuals. 6 00:00:34,620 --> 00:00:50,240 Biometrics is the science of establishing or determining an identity based on the physical or behavioral traits of an individual, such as the ones we can see here in the slide. 7 00:00:50,240 --> 00:00:59,960 Fingerprints, DNA, signature, iris, face, voice, gait, vein pattern, ear shape, keystroke dynamics, and more. 8 00:01:03,650 --> 00:01:19,150 Biometric systems are essentially pattern recognition systems that read as input biometric data, extract the feature set from such data, and finally compare it with a template set stored in the database. 9 00:01:19,630 --> 00:01:30,590 If the extracted feature set from the given input is closed to a template set stored in the database, then the user is granted access. 10 00:01:34,460 --> 00:01:38,780 But biometric systems are prone to different attacks. 11 00:01:39,300 --> 00:01:46,000 Direct attacks, presentation, or spoofing attacks are performed at the sensor level. 12 00:01:46,500 --> 00:01:50,640 The sensor is full and not replaced nor tampered. 13 00:01:50,860 --> 00:02:16,180 Indirect attacks are performed inside the biometric system by, for example, bypassing or overriding the capture device, the signal processor, the comparator, or the decision engine, manipulating the data in the biometric reference database, or exploiting possibly weak points in the communication channels between the different components. 14 00:02:16,180 --> 00:02:28,320 But during this talk, we are going to focus on this, on presentation attacks, this part of the system. 15 00:02:32,080 --> 00:02:36,740 Now we are going to see presentation attacks in reality. 16 00:02:37,240 --> 00:02:47,060 These are real cases of criminals using silicon masks to fool security cameras, airport security, and facial recognition systems. 17 00:02:47,080 --> 00:02:52,700 The first one is a suspect in the robbery of a North Carolina bank. 18 00:02:54,100 --> 00:03:01,300 This one robbed four banks and a CVS pharmacy with a silicon mask from an online site. 19 00:03:01,300 --> 00:03:09,220 I think the of the mask name is The Player, from SPFXmask. 20 00:03:09,220 --> 00:03:18,320 It's a site that now is closed, but it used to sell this type of realistic masks. 21 00:03:18,980 --> 00:03:30,040 The third one is a suspect accused of robbery and several other crimes committed using a generic mask made by another online site. 22 00:03:30,040 --> 00:03:35,120 The name of this of this mask model is The Neighbor. 23 00:03:35,480 --> 00:03:46,300 And the last one is a passenger who boarded a plane in Hong Kong as an old man in a flat cap, but arrived in Canada as a young man. 24 00:03:50,630 --> 00:04:07,730 Regarding fingerprint biometric systems, this first case is a Brazilian doctor who faced charges of fraud after being caught on camera using silicon fingers to sign in for work for absent colleagues. 25 00:04:08,270 --> 00:04:25,730 The second case is a gang involved in the illegal preparation, this is the image, the illegal preparation and selling of cloned fingerprints to fool biometric attendance systems of several educational institutions. 26 00:04:26,890 --> 00:04:30,370 The last case was in my country, Argentina. 27 00:04:30,670 --> 00:04:42,390 Six employees of the local airline were fired after discovering that they falsified their entry to work with silicon fingers taking turns to attend. 28 00:04:42,390 --> 00:04:48,330 But on weekends, when the payment is double, all six attended to work. 29 00:04:51,740 --> 00:04:57,040 But how 3D printing could help bypass biometric systems? 30 00:04:57,040 --> 00:05:06,180 In this first case, researchers from Forbes fooled Android facial recognition systems with a 3D printed head. 31 00:05:08,140 --> 00:05:18,660 In this second case, the MSU Michigan State University team created a fake finger by 3D printing a mold. 32 00:05:21,140 --> 00:05:38,080 And in this last case, a group of researchers from BCAB demonstrated that it was possible to bypass the face recognition logging mechanism of the iPhone X using a cheap 3D printed mask made from a stone powder. 33 00:05:41,250 --> 00:05:50,150 I love 3D printing, I have two 3D printers at home, why not make my own experiments for bypassing biometric systems? 34 00:05:50,150 --> 00:06:03,470 But first, I wanted to try the traditional methods for attacking biometric systems to better understand how 3D printing technology will help make these attacks faster and better. 35 00:06:05,600 --> 00:06:12,660 But first, we need to know how is the fingerprint recognition process. 36 00:06:12,660 --> 00:06:22,180 Most fingerprint scanners compare distinctive features of the fingerprint, generally known as minutia. 37 00:06:22,180 --> 00:06:34,200 Typically, investigators concentrate on points where rich lines end or where one rich splits into two called bifurcations. 38 00:06:34,340 --> 00:07:01,540 Collectively, another distinctive feature, such as you can see here, delta, a short ridge, a spore, the bifurcation, rich enclosure, a crossover or ridge, an island, all these features together are called typica. 39 00:07:02,240 --> 00:07:09,860 The scanner uses complex algorithms to recognize and analyze these distinctive features. 40 00:07:09,860 --> 00:07:23,960 The basic idea is to measure the relative positions of the features in the same sort of way you might recognize a part of the sky by the relative position of the stars. 41 00:07:23,960 --> 00:07:38,280 But to get a match, the scanner doesn't have to find the entire pattern of distinctive features, both in the sample and in the print from the biometric database. 42 00:07:38,280 --> 00:07:46,160 It simply has to find a sufficient number of features and patterns that the two prints have in common. 43 00:07:49,530 --> 00:07:53,650 There are many fingerprint sensors on the market. 44 00:07:53,650 --> 00:08:02,110 These are optical sensors, you can recognize them for the light, in general they use light. 45 00:08:02,470 --> 00:08:07,970 These are capacitive sensors, and the last one is an ultrasonic sensor. 46 00:08:12,410 --> 00:08:18,830 Optical fingerprint sensors are the oldest method of capturing and comparing fingerprints. 47 00:08:18,830 --> 00:08:33,390 This technique relies on capturing an optical image and using algorithms to detect unique patterns on the surface by analyzing the lightest and darkest areas of the image. 48 00:08:38,040 --> 00:09:03,140 Capacitive fingerprint scanners, instead of creating a traditional image of a fingerprint, they use the body natural capacitance to read the fingerprints, because the charge stored in the capacitor will be changed slightly when a finger reach here is placed over the conductive plate, 49 00:09:03,140 --> 00:09:11,080 while an air gap or a finger ballet will leave the charge at the capacitor relatively unchanged. 50 00:09:11,480 --> 00:09:20,320 These changes can then be recorded and analyzed to look for distinctive and unique fingerprint attributes. 51 00:09:22,420 --> 00:09:27,680 The latest fingerprint scanning technology is the ultrasonic sensor. 52 00:09:27,680 --> 00:09:36,060 To capture the details of a fingerprint, the hardware consists of both an ultrasonic transmitter and a receiver. 53 00:09:36,480 --> 00:09:42,700 An ultrasonic pulse is transmitted against the finger that is placed over the scanner. 54 00:09:42,700 --> 00:09:52,700 Some of the ultrasonic pulse is absorbed and some of it is bounced back to the sensor, depending upon the unique details of each fingerprint. 55 00:09:52,740 --> 00:10:05,620 The sensor then calculates the intensity of the returning ultrasonic pulse at different points, resulting in a very detailed reproduction of the scanned fingerprint. 56 00:10:08,670 --> 00:10:13,690 Now, for our test, the devices to be tested are four. 57 00:10:15,050 --> 00:10:28,530 Two biometric attendance systems with optical sensors, and two mobile phones, one with the capacitive sensor and the other one with an ultrasonic sensor. 58 00:10:34,590 --> 00:10:41,710 This is the first photo of the materials bought for the experiments, and includes a lot of materials. 59 00:10:42,010 --> 00:10:55,610 Alginate, a hot glue gun, gelatin powder, gummy bears, candle wax, transparent tape, play-doh, instant glue, epoxy putty, UV resin, silicone fingertips, fingerprint ink, and more. 60 00:10:56,250 --> 00:11:09,090 But during the test, I realized that I missed important materials, like, for example, silicone, liquid latex, wood glue, and so much more, and the list grew, and grew a lot. 61 00:11:12,620 --> 00:11:16,420 The first attack to test was the grease attack. 62 00:11:16,480 --> 00:11:40,640 For grease attacks, you need to have a clear grease stain left on the surface of the fingerprint scanner, but this stain must have most of the important features of the fingerprint left on the pad, so that the scanner can reliably read the same line ends and curves that it detected on the previous user. 63 00:11:40,640 --> 00:11:58,340 The idea of the attack is to gently press different materials, such as gummy bears, play-doh, silicone fingertips, and latex gloves, against the fingerprint scanner, but with care, with careful, without ruining the stain. 64 00:12:04,230 --> 00:12:07,330 Here are the results of the grease attacks. 65 00:12:07,750 --> 00:12:22,490 With gummy bears, play-doh, latex gloves, and silicone fingers, the scanner detected a finger, but the fingerprint was not clear enough to fool the sensor, so this attack was unsuccessful on all the tested devices. 66 00:12:23,130 --> 00:12:35,750 But for me, this test was not a failure, because the gummy bears were really yummy, and kept me fed during the rest of the experiments, so no failure for me. 67 00:12:38,970 --> 00:12:50,120 The problem with grease attacks is that, in most cases, a regular grease stain on the scanner surface is not enough to fool the sensor. 68 00:12:50,380 --> 00:12:58,500 We need to enhance it with other substances to obtain better results, impersonating legitimate users. 69 00:12:58,500 --> 00:13:12,780 But this substance, so that the user does not notice them, and also with ointment consistency, to better enhance the fingerprint stain. 70 00:13:13,560 --> 00:13:21,740 This substance could be spread in the legitimate user fingerprint, or in the fingerprint sensor. 71 00:13:22,020 --> 00:13:42,340 Using petrolatum ointment, paraffin, or cocoa butter lip balm, we successfully fooled the sensors, and were able to authenticate ourselves as the last user of the device, in optical and incapacitive scanners. 72 00:13:48,240 --> 00:13:51,500 Now we are going to see a demo. 73 00:13:51,840 --> 00:13:57,200 In this case, we are using cocoa butter lip balm. 74 00:13:57,200 --> 00:14:02,180 We are spreading the lip balm in the legitimate user fingerprint. 75 00:14:03,600 --> 00:14:09,260 We can see the enhanced grease stain in the fingerprint scanner. 76 00:14:10,860 --> 00:14:20,300 And then another user wearing a latex glove can be authenticated as the last legitimate user of the device. 77 00:14:23,080 --> 00:14:26,980 Now for consensual attacks. 78 00:14:27,300 --> 00:14:42,660 The term consensual suggests that the user we are taking the fingerprint from is aware of the process, and participates by pressing his or her finger into some kind of a mold. 79 00:14:43,080 --> 00:14:51,280 For molds, we use these materials, alginate, epoxy putty, play-doh, hot glue, and candle wax. 80 00:14:51,280 --> 00:14:59,900 And for casting, we use silicone, homemade ballistic gelatin, liquid latex, synthetic resin, and wood glue. 81 00:15:06,390 --> 00:15:31,070 You can see here, here, you can see here that the hot glue mold, of course, is the researcher's fingerprint are blurred, but in this part, you can see that the hot glue mold is really, it's very detailed, so it's a really good mold. 82 00:15:37,270 --> 00:15:42,830 For the molds, we obtained the best results with alginate and hot glue. 83 00:15:42,830 --> 00:15:49,620 And for casting, we obtained the best results using liquid latex, wood glue, and silicone. 84 00:15:50,450 --> 00:16:00,070 With the combination of a hot glue mold and liquid latex or wood glue casting, we were able to fool all the sensors. 85 00:16:00,070 --> 00:16:05,530 The same with the combination of an alginate mold and liquid latex casting. 86 00:16:07,930 --> 00:16:14,170 You can see here that the ballistic gelatin test didn't work. 87 00:16:14,170 --> 00:16:18,330 That's because ballistic gelatin is not so easy to make at home. 88 00:16:18,330 --> 00:16:26,810 We tried several combinations of gelatin powder, water, and glycerin, but the results were not enough to fool the scanners. 89 00:16:27,610 --> 00:16:31,790 Also, note that the working fingerprints are very thin. 90 00:16:32,870 --> 00:16:37,270 And please be careful if you plan to make hot glue molds. 91 00:16:37,470 --> 00:16:56,030 Let the glue cool down a bit and test the temperature under the foil and dip your finger in water because before, sorry, before pressing it against the hot glue, trust me, the glue can reach over 200 degrees. 92 00:16:56,030 --> 00:17:00,190 I've been there and it burns and it burns a lot. 93 00:17:04,650 --> 00:17:17,190 For unconsensual attacks, in these attacks, the user does not participate actively and latent fingerprints are obtained in a non-cooperative way. 94 00:17:17,550 --> 00:17:28,570 Assuming we have identified the correct latent fingerprint, we need to follow the following procedure. 95 00:17:29,690 --> 00:17:33,410 This procedure here. 96 00:17:33,430 --> 00:17:58,730 So, we are going to need to enhance the latent fingerprint with glue fumes or fingerprint powder, lift the latent fingerprint with a digital camera or transparent tape, digitally enhance the fingerprints with software, create a mold, and cast artificial fingers with silicone, 97 00:17:58,730 --> 00:18:00,930 liquid latex, or wood glue. 98 00:18:01,530 --> 00:18:10,150 The first option to enhance the latent fingerprint is dusting with fingerprint powder and a brush. 99 00:18:10,150 --> 00:18:18,810 The second option is encapsulating the latent print inside a container with instant glue. 100 00:18:19,030 --> 00:18:26,870 Fumes from the glue will be attached to the wrist of the latent fingerprint, making it possible to lift it. 101 00:18:33,610 --> 00:18:56,650 In this case, we obtain the best results lifting the latent fingerprints with a digital camera, using a fingerprint enhancement software in Python to digitally enhance the fingerprint image, offset printing a transparency, using the transparency as a mold, 102 00:18:56,650 --> 00:18:59,350 and casting it with liquid latex. 103 00:18:59,350 --> 00:19:04,670 With this procedure, we were able to fool the optical sensors. 104 00:19:05,050 --> 00:19:14,170 The fingerprint ink on a latex glove technique also worked on capacitive and ultrasonic sensors. 105 00:19:15,290 --> 00:19:39,190 You can see here that the offset plate technique didn't work, but it did not work because the offset plate was covered with some kind of rubber that is generally used in this type of plate, and the rubber interfered with the creation of the mold. 106 00:19:39,250 --> 00:19:44,710 But without the rubber, I think it's a technique that could work. 107 00:19:52,140 --> 00:20:20,360 For unconsensual attacks with 3D printing, we need an UV Resin SLA 3D printer, software to digitally enhance the latent fingerprint, a 3D CAD design tool, like for example Tinkercad, and a latent fingerprint in glass or a fingerprint inked in paper. 108 00:20:20,860 --> 00:20:32,760 In this case, we can use FDM or filament 3D printers for these attacks because we need the precision of an UV Resin printer. 109 00:20:36,830 --> 00:20:43,830 To obtain a working fingerprint through 3D printing, we need to follow these steps. 110 00:20:43,850 --> 00:20:50,110 First, we need to lift the latent fingerprint with a digital camera with macro functionality. 111 00:20:50,210 --> 00:20:54,410 Then, we need to use fingerprint enhancement software. 112 00:20:54,410 --> 00:21:03,830 In this case, I use a software in Python, but you can use any kind of graphic software for this task. 113 00:21:04,310 --> 00:21:18,430 Then, we need to import the enhanced image of the fingerprint into Tinkercad and configure the dimensions and add the reach height to create the 3D model. 114 00:21:18,430 --> 00:21:25,170 One negative or hollow for casting and one positive for direct tests. 115 00:21:25,430 --> 00:21:29,870 Then, we need to print the models on the 3D printer. 116 00:21:29,870 --> 00:21:35,810 In this case, the Anycubic Photon 3D printer with UV Resin. 117 00:21:35,810 --> 00:21:46,390 And then, we need to use isopropyl alcohol and UV post curing lamp or direct sunlight to complete the final curing process. 118 00:21:46,570 --> 00:21:53,630 At the end, we need to cast the models with wood glue or liquid latex. 119 00:21:53,630 --> 00:22:00,110 It took us 10 retries to achieve the optimal printer settings and reach height. 120 00:22:00,110 --> 00:22:06,490 But the most important step of this procedure is this one. 121 00:22:06,490 --> 00:22:08,790 It's the step four. 122 00:22:09,190 --> 00:22:19,690 If the step four is okay, the fake fingerprints will work in the different sensors and scanners. 123 00:22:19,690 --> 00:22:32,830 So, it's really important to configure the fingerprint length, height, and the reach height in a correct way. 124 00:22:37,040 --> 00:22:38,500 The results. 125 00:22:40,220 --> 00:22:49,160 The fingerprint obtained from the 3D model with liquid latex or wood glue casting worked on all sensors. 126 00:22:49,520 --> 00:22:59,840 And the positive fingerprint print directly on UV Resin worked on the ultrasonic sensor and in one of the optical sensors. 127 00:23:01,220 --> 00:23:12,520 In the optical sensor, we had to spread the fingerprint with cocoa butter lip balm or petrolatum for the sensor to recognize it as a finger. 128 00:23:13,440 --> 00:23:20,460 And here, you can see a summary of all the process. 129 00:23:20,700 --> 00:23:31,700 Here is the fingerprint enhancement, the models in Tinkercad, the printed models, and the casting with wood glue and liquid latex. 130 00:23:31,700 --> 00:23:43,000 And then, at the end, we are using the fake fingerprints to authenticate in an optical scanner. 131 00:23:44,340 --> 00:23:48,340 Now, we are going to see the demo of this attack. 132 00:23:54,160 --> 00:24:09,960 Here, we have the fake fingerprint and we are using it to authenticate ourselves in a Samsung S10 phone with an ultrasonic sensor. 133 00:24:09,960 --> 00:24:17,620 In this case, we use as a mold the 3D printing mold that we were talking before. 134 00:24:17,620 --> 00:24:20,340 And for casting, we use liquid latex. 135 00:24:20,340 --> 00:24:26,900 In this case, we use liquid latex with a skin color, but it's not necessary. 136 00:24:26,900 --> 00:24:32,500 You can use any color of latex and it will work. 137 00:24:35,890 --> 00:24:59,470 For biometric face recognition, biometric face recognition is the process and ability to identify the face of an individual, either to grant access to a system or to find out the details of a person by matching the face with the data in the biometric database. 138 00:24:59,950 --> 00:25:25,010 What a biometric face reader does is map and extract the distinct features, for example, these points and these points here, features of a person's face that can be used for recognition and stores the data in the biometric database along with the identity of the individual. 139 00:25:25,870 --> 00:25:39,030 Our next step in this research is to perform presentation attacks in face recognition systems by using 3D printed masks and heads to fool the different scanners. 140 00:25:39,370 --> 00:25:43,050 Now we are working on that and it's really fun. 141 00:25:45,670 --> 00:25:51,270 We published a paper of this research that you can download for more details. 142 00:25:51,270 --> 00:25:56,330 Another interesting research was made by Paul Raskaniers from Talos. 143 00:25:56,330 --> 00:26:05,130 We met in Switzerland when we were researching about using 3D printers to create fake fingerprints. 144 00:26:05,130 --> 00:26:09,790 He used the same 3D printer for the test, but different software. 145 00:26:09,790 --> 00:26:17,310 Also, he tested different devices, so if you are interested in this subject, it is worth to check it out too. 146 00:26:17,310 --> 00:26:20,490 It's the first link of the reference materials. 147 00:26:21,270 --> 00:26:33,470 Also, I have other reference materials in case some of the topics discussed in this talk are of interest and you want to know them a little more. 148 00:26:37,120 --> 00:26:38,380 Thank you. 149 00:26:38,380 --> 00:26:42,400 It was an honor to present this talk at DEFCON. 150 00:26:42,560 --> 00:26:51,080 And also thanks to my co-workers and friends that helped me with this research, especially Las Vivas Infosec. 151 00:26:51,080 --> 00:26:55,500 They are always there for me. 152 00:26:55,580 --> 00:26:57,760 So, stay safe, everyone.