The 3D Printer Virus, Really?

By on April 7th, 2010 in Event, Service

Tags: ,

Detectives at 3D print service Shapeways have uncovered a first: an actual 3D “virus”! 
 
The so-called virus turned out to be insertion of alien 3D model information in front of the desired model code within the .STL file, such that when sent to a 3D printer, the alien object (in this case a very crude credit card) was printed unexpectedly! Please read the fascinating story of their investigation at the link below for all the details. The nature of the virus, including the affected software, has not been disclosed for obvious reasons, and we applaud Shapeways for revealing this startling development. 
 
But it’s not real. Check the date on their post: April 1st. Gotcha!
 
Nevertheless, this got us thinking. Could a 3D virus be possible? A virus is a rapidly spreading unwanted item, typically software traveling over networks. How could this work, theoretically, in a 3D environment? We see some fundamental challenges to the 3D virus concept:
 
  • Objects can’t travel over networks, only models can 
  • The virus “ends” once it’s printed, as it can then be passed from person to person only and no further replication can occur
  • Software viruses carry a payload that inevitably executes some nefarious purpose. But objects generally don’t have the capability to do much, other than prick your finger, perhaps
 
Where does this leave the concept of a 3D virus? Not any time soon, we predict. Perhaps they’ll truly emerge when electronics are easily printed, because that would enable objects to actually do something unintended.
 

By Kerry Stevenson

Kerry Stevenson, aka "General Fabb" has written over 8,000 stories on 3D printing at Fabbaloo since he launched the venture in 2007, with an intention to promote and grow the incredible technology of 3D printing across the world. So far, it seems to be working!

3 comments

  1. At least, with the STL format, it would be next to impossible to write a virus. Here’s why:

    The STL file format basically contains a list of faces, which are just a list of points. They’re in a very specific format inside the file. When Meshlab (or whatever) opens the file, it expects that format, and if something were awry, it would just show an error. Since there’s nothing executable inside of an STL file, it’s not expecting to "run" any sort of codes. These kinds of viruses are only able to be injected in files that have an executable component, like HTML or Word.

    However, your last paragraph is a possibility. When we start being able to print electronics, and we’re using Makerbots to make Makerbots, someone could inject some nefarious bit of something into the electronics, because it’s expecting to execute some stuff. However, this virus would still die out, unless you’re printing another printer. Then, the virus could affect everything that the child printer prints…

    It’s an intriguing idea, and one we’ll have to watch out for more and more in the future.

  2. With sufficient print resolution, for ease of use it might be desirable to print a barcode, URL, or QR codes. This begins to open up avenues for replication.

    Post a model of a desirable object, with a fradulent code. Create false fronts to make users believe they are printing copies, when in fact they are printing variants. As additive manufacturing allows us to conceal objects inside of other objects in otherwise impossible ways, who knows what purposes may be found. If the model has they same external appearance and adequate utility, it may even survive by hiding in plain sight amongst unaffected variants.

    Of course the ability to print circuits and components would greatly extend possible applications.

    Those who have read Hofstadter’s _Godel,_Escher,_Bach_ may recall the metaphor of the record that a given phonograph cannot play, on threat of destruction. In this manner, models could be contrived for destructive purposes using such forces as concentrated heating, motor stresses, or perhaps even sympathetic vibration.

    I think I will continue checking all my models with MeshLab.
    –Kris

Leave a comment