Techniek voor het bepalen van een pincode uit een video-opname van een met de hand bedekte invoer in een geldautomaat

Een team van onderzoekers van de universiteiten van Padua (Italië) en Delft (Nederland) heeft een methode gepubliceerd om machinaal leren te gebruiken om een ​​pincode na te bootsen die is ingevoerd op basis van videobeelden van een met de hand bedekt invoergebied in een geldautomaat. Bij het invoeren van een 4-cijferige pincode wordt de kans op het voorspellen van de juiste code geschat op 41%, gegeven de mogelijkheid om drie pogingen te doen voordat wordt geblokkeerd. Voor pincodes van 5 cijfers was de voorspellingskans 30%. Afzonderlijk werd een experiment uitgevoerd waarbij 78 vrijwilligers probeerden de pincode te voorspellen uit vergelijkbaar opgenomen video's. In dit geval was de kans op een succesvolle voorspelling 7.92% bij drie pogingen.

Wanneer het digitale paneel van de geldautomaat met de handpalm wordt bedekt, blijft het deel van de hand dat wordt gebruikt voor invoer onbedekt, wat voldoende is om het drukken te voorspellen door de positie van de hand te veranderen en onvolledig bedekte vingers te verschuiven. Bij het analyseren van de invoer van elk cijfer sluit het systeem toetsen uit die niet kunnen worden ingedrukt, rekening houdend met de positie van de bedekkende hand, en berekent het ook de meest waarschijnlijke opties voor indrukken op basis van de positie van de drukkende hand, ten opzichte van de locatie van de sleutels. Om de kans op het bepalen van de invoer te vergroten, kan bovendien het geluid van het indrukken worden opgenomen, dat voor elke toets iets anders is.

Techniek voor het bepalen van een pincode uit een video-opname van een met de hand bedekte invoer in een geldautomaat

Het experiment maakte gebruik van een machine learning-systeem gebaseerd op het gebruik van een convolutioneel neuraal netwerk (CNN) en een terugkerend neuraal netwerk op basis van de LSTM-architectuur (Long Short Term Memory). De CNN was verantwoordelijk voor het extraheren van de ruimtelijke gegevens voor elk frame, en het LSTM-netwerk gebruikte deze gegevens om de in de tijd variërende patronen te extraheren. Het model werd getraind op video's van 58 verschillende mensen die een pincode invoerden met behulp van door de deelnemers gekozen invoermethodes (elke deelnemer voerde 100 verschillende codes in, d.w.z. er werden 5800 invoervoorbeelden gebruikt voor training). Tijdens de training bleek dat de meeste gebruikers een van de drie belangrijkste methodes gebruiken om input te dekken.

Techniek voor het bepalen van een pincode uit een video-opname van een met de hand bedekte invoer in een geldautomaat

Om het machine learning-model te trainen, werd een server gebruikt op basis van een Xeon E5-2670-processor met 128 GB RAM en drie Tesla K20m-kaarten met elk 5 GB geheugen. Het softwaregedeelte is geschreven in Python met behulp van de Keras-bibliotheek en het Tensorflow-platform. Omdat ATM-invoerpanelen verschillend zijn en het voorspellingsresultaat afhangt van kenmerken zoals de grootte en lay-out van de toetsen, is voor elk type paneel een aparte training vereist.

Techniek voor het bepalen van een pincode uit een video-opname van een met de hand bedekte invoer in een geldautomaat

Als bescherming tegen de voorgestelde aanvalsmethode wordt aanbevolen om, indien mogelijk, pincodes van 5 cijfers te gebruiken in plaats van 4, en ook zoveel mogelijk invoerruimte met de hand te proberen af ​​te dekken (de methode blijft effectief als ongeveer 75 % van het invoergebied is bedekt met uw hand). ATM-fabrikanten wordt aangeraden om speciale beschermende schermen te gebruiken die de invoer verbergen, evenals niet mechanische, maar aanraakinvoerpanelen, waarvan de positie van de nummers willekeurig verandert.

Bron: opennet.ru

Voeg een reactie