 So, hi. Welcome. Thanks for coming. My name is Dennis De Bell. I'm from Rotterdam, the Netherlands, and I'm here to talk about 3D steganography. I'm sure you all know what it is. So, steganography is a practice of hiding or concealing a file or a video or an image inside of another file or image or video. So, you could say it's like, oh, my hair is terrible. Funny tail. Funny tail. Wait a second. Oh, man. I need my hands, though, for the live demo. So, is it okay now? So, you could say it's like hiding files in, like, plain sight. And what is 3D? Well, it's bigger than 2D. Yeah. Something like this? Okay, so what is 3D? It's bigger than 2D, so it's better. And I'll mainly focus on, like, 3D printing right now. So, yeah, 3D, in respect to 3D printing, is, of course, yeah, making everything at home just to push off a button or just from your workplace, so you never have to leave your workplace and keep on working, and all the stuff will magically appear somewhere in a corner. So, what happened after the promise of self-replicating machines and endless resources? People started to print, like, jewelry and little fiddly things. Pretty much trash. Or, yeah, people scanned their own shit and printed. And, of course, people started printing guns. Does anyone, everyone know this one? Sorry? Yes. It's called Liberator. Liberty as in Libre. I don't know. It's a project by Defense Distributed, and I think it was done, like, early 2013. It caused quite a media hype. People started printing this and testing it out. And actually, yeah, caused a change in legislation in the UK. They actually sort of revived an old law about concealed weapons or undetectable and untraceable weapons, so weapons without serial numbers, weapons that cannot be detected in metal detectors. So, what this means is that if you, this thing around, you might end up in jail for 10 years in the UK. What it actually didn't do was liberate anyone, of course. Maybe the opposite was true, because I'm working at the art school in Rotterdam, and I teach, yeah, like rapid prototyping and 3D printing. And all of a sudden I saw these signs appearing about, yeah, that you're not allowed to print a gun. So I was like, yeah, okay. So what are we going to do now? Maybe you can guess. Print a gun, of course. So first, let's invent a problem. So how to print a gun and get away with it? Come up with a solution. So I took the approach of steganography because it's really nice to fool humans and machines. And I will show you some classic examples of steganography. So the basic idea is you have, for example, an image like Lena, and I have a 3D model. I can also show you. It's a teapot. Actually, let me show it for real. So this is the 3D model. Now, if you just cut the teapot after the host, like the Lena image, it becomes sort of a polymorphic file. Yes, teapot. It doesn't really matter what kind of phone it was. Oh, shit. Sorry. So you can just put the two files together using cut. And you have a new file. I call it BMP now. And you can see it's an image. But if you now rename it to STL, that's the stereolithography 3D model file, and you load it up in mesh lab, it's also a teapot. But of course, if this teapot was like this gun, you would see maybe an image, but if you would print it, you would still print a gun. So, yes, like classic stereolithography is based on data, and humans are not based on data. They're based on carbohydrates. So if you print this BMP, you can see the gun. So we need some way of concealing this gun. We need, like, a file in a cake. So first I tried it manually using mesh lab. It's a really nice open source 3D editing toolkit for using point clouds, for example, to reconstruct 3D models. So the payload is the liberator, and the host is, of course, the teapot model I just showed. If you combine them in mesh lab, it's called almost like cutting, just flattening the two files like you would do in a Photoshop layer. And they can create, like, a teapot with a little gun inside. So this is Cura. It's used to slice the model up for 3D printing and also controlling the printer. And it's also open source. So I wanted to print it at, like, shapeways or this I materialize online 3D printing service, but it's so expensive. It's like 300 euros for this small teapot. So I looked up on 3Dhubs.com where you can find, like, local printers. Yeah, two people always happily printed this with no questions asked, actually. So I ended up with this teapot with this, yeah, liberator inside. But, of course, this all so much work to do it manually, have to align it and stuff. So there's another trick, which I call the gift wrap algorithm. And it's using the quick-hole algorithm to create sort of gift wrap around a 3D model, a convex hole, it's called. And this is the command. You can also use a mesh lab on the command line, but I mean, you first have to make a script in the GUI. Which sort of makes sense. And so, yeah, these are like the other parts, except for the low receiver of the liberator gun. And I put them in this hole. And, yeah, if you remove the hole, you end up with a part. And you can also fool machines, of course. I showed the CURA software before. And I made a special version for it. It's on GitHub, if you want to look it up. And this is a special version that will only print guns. No matter what file you put in, a gun will come out. I cannot really demonstrate it, because I don't have a 3D printer with me, but you can download it for you and try it for yourself. It's really nice based on Python and you can just, yeah, really easily hack into the code. So how to prevent people from printing guns? Well, in 2D printing you have something called steganography, also known as the yellow dots, which put like a little minuscule yellow dots on a print when you print something that can trace and it can contain like a timestamp and the brand of the printer. So you can be, the printer can be tracked by the authorities. So another one solution could be to put like little micro dots inside of the 3D print filament to trace the prints you make. These are all like ridiculous recommendations, by the way. Or you can make like sort of prevent people from printing at all by making some sort of virus that will go all over the world, sort of Stuxnet for printers. That causes it to heat up extremely high and burn it down like this one. This will be my next project, I guess. Or of course you can start putting up notes. I guess that will help. So in the end, who did I fool? Yeah, actually no one. Everyone wanted to, was happily to take my money and print my models. Yeah, Carl MacDonald also did a project with a liberator called, I forgot the name actually, Liberator Variations. I think you can look it up on Thingiverse. We combined also different models. He said like, yeah, after I did my project, a week later, Prism was leaked and everyone forgot about the defense distributed. So, yeah, actually I'm not really sure I fooled no one because I brought it with me in my hand luggage. Yay! You can feel free to touch it or look at it. Maybe I'll put it up for auction, who knows. I'm not going to take it with me anymore. Okay, that was my talk. Thank you.