Als die Sicherheitsforschung im Bereich des maschinellen Lernens noch in den Kinderschuhen steckt, ist es klar, dass barrierefreie Eingabemöglichkeiten die Bedrohungen erhöhen. Je hebt geen betere smaak nodig om een uitgebreid systeem te ontwikkelen. De Software-Sicherheitsexpert Balázs Kiss gaat in op een aantal punten in dit nieuwe gebied en geeft een overzicht van de belangrijkste Schutzmaßnahmen.
Net als software in de hele wereld zijn ook maschinelle Lernsysteme anfällig. “Voor een deel zijn ze net als pasgeboren baby’s, die zich volledig richten op hun ouders, om te leren hoe de wereld functioneert – einschließlich ‘Hintertüren’ zoals Märchen of der Weihnachtsmann”, zegt Sicherheitsexperte Balázs Kiss van Cydrill, een van de Softwaresicherheit-specialisten. “Andererseits sind maschinelle Lernsysteme wie alte Katzen mit schlechtem Sehvermögen – wenn eine Maus lernt, wie die Katze jagt, kann sie leicht vermeiden, gesehen und gefangen zu werden.”
Es sieht nicht gut aus, meint Kiss. “Die Sicherheit beim maschinellen Lernen wird zu einem kritischen Thema.” Hij zegt dat de meeste softwareontwikkelaars en experts voor het leren van computers de Angriffstechniken niet kennen. “Het zijn niet altijd diegenen die de Software-Sicherheitsgemeinschaft al lange tijd kennen. Ook de bijbehorende Best Practices kennen ze niet. Das sollte sich ändern.”

De Sicherheitsexperte en erfahrene Softwaretrainer Balázs Kiss heeft kürzlich een nieuwe cursus over die Sicherheit bij het leren van machines ontwikkeld, die in Kürze vom High Tech Institute in de Niederlanden wordt aangeboden.
Lösungen für maschinelles Lernen (ML) sind – wie Softwaresysteme – auf verschiedene Weise angreifbar und erhöhen den Sicherheitsbedarf. In het laatste jaar werd dit op een rechtlijnige en eenvoudige manier onderzocht door twee studenten uit Leuven. Yolo (You Only Look Once), een van de beste algoritmen voor het herkennen van objecten en personen, werd door hen in het leven geroepen. Als ze een Pappschild met een bunten Aufdruck van 40 mal 40 cm voor ihrem Körper trugen, maken ze Simen Thys en Wiebe Van Ranst als menschliche Personen unerkennbar. Een ander voorbeeld is afkomstig van McAfee-forschern, die het Tesla-Autopiloten onmogelijk maakten om de windrichting aan te passen, omdat ze de begrenzingen van hun auto’s op een falsch einordneten en de auto op 35 mijl per uur beschleunigen.
Kennen Sie Ihren Feind
“Eine wesentliche Voraussetzung für die Cybersicherheit ist: Kenne deinen Feind”, zegt Kiss, die zelf een erfahrener Softwaretrainer is en binnenkort een nieuwe cursus over ML-Sicherheit heeft opgezet, die in Kürze vom High Tech Institute in den Niederlanden zal worden uitgevoerd. “Het belangrijkste is dat je met de kop van je tegenstander denkt”, zegt hij.
Wij werven een blik op wat die Angreifer bij het leren in het openbaar moeten doen. Alles begint met de Erforschung dessen, wat Sicherheitsexperten omschrijven als “Angriffsfläche”: die Kombination aller verschiedenen Punkte in einer Softwareumgebung, an denen ein unbefugter Benutzer versuchen kann, Daten einzugeben oder zu extrahieren. Die Angriffsfläche so klein wie möglich zu halten, ist eine grundlegende Sicherheitsmaßnahme. Wie die Studenten aus Leuven bewiesen haben: Um ein ML-System zu täuschen, müssen Sie nicht einmal eine Tastatur anfassen.
'Garbage in, garbage out.'
Een eeuwenoude spreuk in de wereld van maschinellen Lernens luidt “Garbage in, garbage out”. Alle algoritmen maken gebruik van trainingsgegevens om hun verhoudingen te verbeteren. Schlechte gegevens leiden tot onvolledige gegevens. Das kann daran liegen, dass das Modell bei den Trainingsdaten gut funktioniert, aber die Ergebnisse nicht auf andere Beispiele verallgemeinern kann (Überanpassung), dass das Modell nicht in der Lage ist, die zugrundeliegenden Trends der Daten zu erfassen (Unteranpassung) oder dass es Probleme mit dem Datensatz gibt. Verkeerde, fehlerhafte of minder bruikbare trainingsgegevens zijn natuurlijk een groot probleem en er zijn mogelijkheden om dit op te lossen. Bijvoorbeeld door het gebruik van test- en validatiegegevens. Als een klant echter absichtlich slechte gegevens ontvangt, is dat een heel ander scenario, waarvoor we altijd speciale Schutzmaßnahmen nodig hebben.
Groothandelaren zijn slecht
Kiss: “We moeten nu meteen duidelijk maken dat we böswillige gebruikers hebben. Die Angreifer müssen nicht einmal besondere Privilegien innerhalb des Systems haben, aber sie können Roheingaben als Trainingsdaten bereitstellen und die Ausgabe des Systems sehen, typischerweise den Klassifizierungswert. Dat betekent dat ze absichtlich schlechte oder bösartige Daten kunnen versturen, um unbeabsichtigte ML-Fehler auszulösen.”
'Attackers can learn how the model works and refine their inputs to adapt the attack.'
“Aber das ist nur die Spitze des Eisbergs”, vindt Kiss. “Denken Sie daran, dass Angreifer immer auf ein Ziel hinarbeiten. Ze werden bestimmte Aspekte der ML-Lösung in Visier nehmen. Door de juiste Eingaben te kiezen, kunnen ze het model, de generierten Vorhersage en ook de verschillende codebestanden, die deze Eingaben verarbeiten, grote schade toebrengen. Angreifer zijn schlau. Ze zijn niet darauf beschränkt, statische Eingaben zu senden – ze kunnen leren hoe het model werkt en hun Eingaben verfeinern, um den Angriff anzupassen.”
In het kader van de überwachten Lernens umfasst es alle drei Hauptschritte des ML-Workflows. Voor de training kan een Angreifer Eingabedaten zur Verfügung stellen. Voor de Klassifizierung kan een Angreifer Eingabedaten bereitstellen en het Klassifizierungsergebnis lezen. Als het ML-systeem werkt met een feedback-functie, kan een gebruiker ook foutieve feedbackmeldingen geven (“falsch” voor een goede Klassifizierung en “richtig” voor een slechte), zodat het systeem kan worden verwirren.
Handgefertigte Eingaben
Veel Angriffe nutzen sogenannte gegnerische Beispiele. Die gemanipuleerde Eingaben nutzen entweder das implizite Vertrauen aus, das ein ML-System in die vom Benutzer erhaltenen Trainingsdaten setzt, um seine Sicherheit zu beeinträchtigen (Poisoning) oder das System dazu zu bringen, seine Eingaben falsch zu kategorisieren (Evasion). Derzeit gibt es keine narrensichere Methode, mit der diese Beispiele automatisch erkannt und herausgefiltert werden können. Alleen de beste oplossing, waarbij een systeem wordt gebruikt om negatieve beispiele te erkennen, is in haar rijkdom begrensd.

Als ze een Pappschild met een bunten Aufdruck van 40 x 40 cm vor ihrem Körper trugen, maken ze Simen Thys und Wiebe Van Ranst als menschliche Personen unerkennbar. Krediet: KU Leuven/Eavise
Natuurlijk zijn er Verteidigungsmaßnahmen om negatieve voorbeelden te herkennen of te negeren. Een intelligente analist kan echter oplossingen bedenken zoals die Verschleierung, als hij op een adaptieve manier een reeks gegenbeispielen erzeugt. Kiss verweist auf einige exzellente Arbeiten, die dies hervorheben, wie die von Nicholas Carlini und seinen Kollegen bei Google Brain.
Alles bij elkaar bevindt die ML-Sicherheitsforschung zich nog steeds in een frühen Stadion. Die aktuellen Studien konzentrieren sich hauptsächlich auf die Bilderkennung. Er zijn echter enkele Abwehrtechniken die bij afbeeldingen goed werken, maar bij tekst of audio niet. “Maar er zijn veel dingen die je kunt doen om je in de praktijk te helpen”, zegt Kiss. “Maar je kunt geen enkele van deze maatregelen volledig voor de goede doelen gebruiken. Al deze maatregelen bieden echter zusätzlichen Schutz und erschweren die Ausführung von Angriffen.”
Het belangrijkste, aldus de Cydrill-expert, is dat je met de kop van je tegenstander denkt. “Je moet neuronale netwerken trainen met gegnerische voorbeelden, zodat ze die informatie kunnen herkennen als vals.” Laut Kiss vindt het een goed idee, om gegnerische Muster aus allen derzeit bekannten Angriffstechniken zu erstellen und zu verwenden. Een Test-Framework kan deze Muster genereren, um den Prozess zu vereinfachen. Er zijn al Sicherheitstest-Tools die hierbij kunnen helpen – zoals die ML-Fuzz-Tester Tensorfuzzs en Deeptest, die automatisch ongültige of unerwartete Eingaben erzeugen.
Sanitätskontroller
Die Begrenzung der Möglichkeiten des Angreifers, gegnerische Proben zu senden, ist immer eine gute Abschwächungstechnik. Dit is moeilijk te verhelpen als je snel de hoeveelheid van de door een gebruiker geselecteerde gegevens kunt instellen. Het is natuurlijk niet eenvoudig om te erkennen dat elke gebruiker zich tussen een reeks van Eingaben bevindt. “Dit is de zelfde Herausforderung als bij verteilten Denial-of-Service-Angriffen, aber die gleichen Lösungen könnten auch funktionieren.”
Wie immer bei der Softwaresicherheit kan eine Eingabeüberprüfung helfen. Het is niet triviaal om automatisch goede en slechte Eingaben te verwijderen, maar het is in ieder geval een goede oplossing. We kunnen ook het maschinelle Lernen selbst nutzen, um anomale Muster in den Eingaben zu erkennen. “In het kleinste geval, als die gegevens van een niet vertrauenswürdigen Benutzer erhaltenen durchweg näher an der Klassifizierungsgrenze als am Durchschnitt liegen, können wir die Daten für eine manuelle Überprüfung markieren oder sie einfach auslassen.
Regelmatige Überprüfungen mit Testdaten können ebenfalls hilfreich sein. Als je bij elke nieuwe Trainingszyklus denselben Testdatensatz gegen das Modell lassen, kun je Vergiftungsversuche aufdecken. Kiss: “Ablehnen bei negativer Auswirkung, Roni, ist hier eine typische Verteidigung, um zu erkennen, ob sich die Fähigkeit des Systems, den Testdatensatz zu klassifizieren, nach der Umschulung verschlechtert.”
Die offensichtlichste Tatsache über die Sicherheit von ML wird oft übersehen, bemerkt Kiss. “Lösungen für maschinelles Lernen sind Softwaresysteme. We programmeren ze in Python – of möglicherweise in C++ – en daardoor weisen ze potenziell alle gängigen Sicherheitslücken auf, die für diese Sprachen gelten.” De Cydrill-trainer geeft ons vooral een indruk van punt 9 van de OWASP Top Tien. Das Open Web Application Security Project is een Dokument, dat diehn kritischsten Sicherheitsprobleme in Webanwendungen zusammenfasst, um das Bewusstsein zu schärfen und das Risiko von Angriffen zu minimieren. Punt 9 waarschuwt Entwickler voor het gebruik van componenten met bekannten Sicherheitslücken. “Jede Schwachstelle in einem weit verbreiteten ML-Framework wie Tensorflow oder einer einer vielen Abhängigkeiten kann weitreichende Folgen für alle Anwendungen haben, die es verwenden.”
Potenzielle Angriffsziele
Die Angreifer interagieren met dem ML-System, indem sie Daten über die Angriffsfläche einspeisen. Versetzen Sie sich in den Kopf des Angreifers und stellen Sie Fragen. Wie verdaut die Anwendung die Informationen? Welke soort gegevens? Bestaat het systeem uit afbeeldingen en audio- en videodata? Of zijn er Beschränkungen? Als dat zo is, hoe worden die types dan weergegeven? Heeft het programma de parsing of is het volledig geïntegreerd in een open source of erhältliche Medienbibliothek? En heeft het programma na de bewerking van de gegevens irgendwelche Annahmen (leeres Feld, Anforderungen an Werte)? Staan die gegevens in een relationele databank of in XML of JSON? Zo ja, welke bewerkingen voert de code uit met deze gegevens, wanneer ze worden bewerkt? Waar werden die Hyperparameter gespeichert en kunnen ze tijdens de gebruiksduur worden gewijzigd? Worden Bibliotheken, Frameworks, Middleware of Webservice-API’s van Drittanbietern gebruikt als onderdeel van workflows, die Benutzereingaben verarbeitet? Ja, welke?
Kiss: “Jede dieser Fragen kann auf potenzielle Angriffsziele hinweisen. Jede von ihnen kan Schwachstellen verbergen, die Angreifer ausnutzen können, um ihre ursprünglichen Ziele zu erreichen.”
Die Schwachstellen haben weniger mit dem maschinellen Lernen zu tun als vielmehr mit den zugrundeliegenden Technologien: der Programmiersprache selbst (wahrscheinlich Python), der Einsatzumgebung (mobil, Desktop, Cloud) und dem Betriebssystem. Maar die Gefahren, die door hen worden veroorzaakt, zijn net zo kritisch als de gegnerificeerde Beispiele – een erfolgreiche Ausnutzung kan leiden tot een vollständigen Kompromittierung des ML-Systems. Dit beschränkt sich nicht auf den Code der Anwendung selbst. Rock Stevens van de Universiteit van Maryland heeft onderzoek gedaan naar Schwachstellen in veelgebruikte platformen zoals Tensorflow en Pytorch.
Echte oplossingen
De belangrijkste eigenschap van Kiss is dat ML-Sicherheit veel nieuwe mogelijkheden biedt. Het is niet alleen een techniek van Cybersicherheit, maar het heeft ook veel te maken met de algemene softwaresicherheit. We richten ons niet alleen op bösartige samples en gegnerisches Lernen, maar ook op alle üblichen Schwachstellen der Software-Sicherheit. Het leren van machines is nu eenmaal software.
ML-Sicherheit is een nieuwe discipline. Die Forschung hat gerade erst begonnen, we fangen gerade erst an, die Bedrohungen, die möglichen Schwachstellen und die Anfälligkeiten zu verstehen. Daarom kunnen ML-experts veel leren over Software-Sicherheit. In de afgelopen jaren hebben we hier veel leermiddelen ontwikkeld.
Dit artikel is geschreven door René Raaijmakers, technisch redacteur van Bits&Chips.