Home Ondernemen & Business 3D-printen: zo voorkom je manipulatie

3D-printen: zo voorkom je manipulatie

15

Wie denkt aan 3D-printen, denkt wellicht niet direct aan security. Ook 3D-printers zijn echter kwetsbaar. Cybercriminelen kunnen bijvoorbeeld malware draaien op 3D-printers. Of printopdrachten manipuleren. Daarmee komt de integriteit van geprinte objecten in gevaar. Hoe voorkom je levensbedreigende situaties?

In het bedrijfsleven wordt 3D-printen, ook wel additieve productie genoemd, steeds vaker ingezet. Onder meer om prototypes te printen. Niet alleen kan dit het ontwikkelproces versnellen doordat prototypes sneller beschikbaar zijn, ook kunnen zij goedkoper worden geproduceerd. Ook voor consumenten zijn inmiddels allerlei 3D-printers beschikbaar, in prijsklassen variërend van enkele honderden tot duizenden euro’s.

Een voorbeeld zijn 3D-printers gebaseerd op het opensource RepRap-project die gebruikmaken van fused deposit modeling (FDM). Bij deze techniek wordt ruw materiaal gesmolten en in lagen geprint. Deze RepRap-gebaseerde printers maken in veel gevallen gebruik van de opensourcefirmware Marlin.

Malafide processen

Net als ieder ander apparaat kunnen ook 3D-printers beveiligingsproblemen bevatten. Zo werd in juni in de Marlin firmware een bufferoverflowkwetsbaarheid aangetroffen. Dit beveiligingsprobleem gaf aanvallers de mogelijkheid via een gemanipuleerd printbestand willekeurige code uit te voeren op 3D-printers. In theorie biedt dit de mogelijkheid malafide processen of ‘trojanized’ firmware te laden.

Ook werd onlangs een beveiligingsprobleem ontdekt in OctoPrint, een opensourceproject dat draait op een Raspberry Pi. OctoPrint maakt het mogelijk een goedkoop en klein printcentrum te creëren waarmee een 3D-printer via het netwerk kan worden beheerd. Een beveiligingslek gaf aanvallers de mogelijkheid de toegangscontrole van de managementinterface te omzeilen en beheerdersrechten te krijgen, waarmee zij toegang hadden tot de aan OctoPrint gekoppelde 3D-printer.

Printopdracht manipuleren

Niet alleen 3D-printers en software om deze te beheren, kunnen zwakke plekken bevatten. Dat geldt ook voor de 3D-printbestanden met de instructies voor de printer. Hierin staat onder andere hoe snel de printkop moet bewegen, welke route deze kop moet afleggen en met welke temperatuur het materiaal geprint moet worden.

Veel 3D-printers – zeker opensourceprinters – maken gebruik van G-codebestanden. G-code is in feite een gestandaardiseerde programmeertaal om computergestuurd productiesystemen aan te sturen. Net zoals veel andere talen mist G-code echter enkele cruciale beveiligingselementen. Aanvallers die bijvoorbeeld G-codebestanden in handen weten te krijgen, kunnen deze bestanden relatief eenvoudig aanpassen.

Gebruikers hebben echter geen mogelijkheid de authenticiteit van het bestand te controleren, terwijl manipulatie met het blote oog lang niet altijd zichtbaar is. Zo kan een aanvaller de binnenzijde van een object aanpassen en hiermee de structurele integriteit van het object in gevaar brengen. Een dergelijke afwijking wordt in het slechtste geval pas ontdekt op het moment dat het al in gebruik is.

Voor consumenten levert een dergelijke dreiging in de meeste gevallen niet direct ernstige risico’s op. Voor bedrijven ligt dit echter heel anders. Stelt je eens voor dat een aanvaller erin slaagt een 3D-printbestand voor een auto-onderdeel aan te passen, dat hierdoor in de praktijk minder sterk is dan verwacht. Dit soort manipulatie kan ernstig letsel of zelfs dodelijke slachtoffers tot gevolg hebben.

Security by design

Dergelijke kwetsbaarheden kunnen alleen worden voorkomen als fabrikanten van 3D-printers security een kernonderdeel maken van hun ontwikkelingsproces. Ze moeten security by design omarmen, bijvoorbeeld door gegarandeerd veilige firmare en software te gebruiken. Het 3D-printbestand moet bovendien native encryptie en integriteitscontrole ondersteunen.

Ook voor gebruikers is een belangrijke rol weggelegd. Door enkele basismaatregelen te nemen, kunnen zij verschillende veiligheidsrisico’s elimineren. Zo kunnen gebruikers een firewall inzetten om de toegang via internet tot hun 3D-printer te blokkeren. Wie toch via internet verbinding wil kunnen maken met zijn 3D-printer, doet er verstandig aan de verbinding af te schermen met behulp van een Virtual Private Network (VPN).

Corey Nachreiner, CTO bij WatchGuard Technologies

LAAT EEN REACTIE ACHTER

Please enter your comment!
Please enter your name here