Enhancing online banking authentication usingKeystroke Dynamics

The most common method for banks to authenticate users is through a user identifier and password. Unfortunately, this is a method of easy impersonation, because although many banks control brute force attacks by blocking the account after a maximum number of failed login attempts, credentials may be stolen. A big challenge for banks is to identify whether the user is or not the one he is supposed to be. The security measures based on biometrics are the ones that have given better results against this type of attacks. But as a drawback, most of these methods are very expensive to implement and their usability is low since they require special hardware. There are other types of biometric methods based on patterns, like keystroke dynamics. Each user has their own typing pattern which is very dificult to replicate. The diferent speeds between typing keys or the number of uses of a control key can be the diference between one person to the other. In this thesis, we study how to improve bank authentication using keystroke dynamics. In order to achieve this objective, we had to perform data acquisition, data preprocessing and feature extraction processes. In the data acquisition process, a webpage and a Chrome Extension were developed to help with retrieve data for the data collection process. We had to carry out a study about the diferent kinds of authentication processes that banks have and then we had to identify the several cases of use in terms of keystroke dynamics in order to know which events we were going to give support in our development. The dataset we got, was made by 50 users who took the test 450 times spread over two weeks. After getting the datasets, we proceeded to make the data preprocessing and feature extraction processes. Before calculating the features, we had to separate the correct characters and the deletions and ignored those events that were not supported. After that, we built the feature vector files, having into account special events like the usage of Shift key. Finally, an study using machine learning techniques was done. The tool used was WEKA with which we run some very well known classification methods such as C4.5 tree, Random Forest, SVM or K nearest neighbor. The accuracy has been measured using false acceptance rate (FAR), i.e, the ratio of incorrect accepted users, and in false rejection rate (FRR), i.e, the ratio of incorrect rejection user. The results have been satisfactory using most of the methods. The FAR is below 1%, while the FRR could be reduced to 3% in some cases. ---ABSTRACT---El metodo mas usado por los bancos para autentificar a los usuarios es el uso de un identificador de usuario y una contrase~na. Lamentablemente, un usuario puede ser facilmente suplantado ya que aunque muchos bancos controlan los ataques de fuerza bruta bloqueando al usuario que se equivoque un numero maximo de veces, las credenciales de un usuario pueden ser robadas igualmente. Un desafio para las entidades bancarias es identificar si el usuario que se identifica en sus sistemas es quien dice ser. Las medidas de seguridad basadas en biometria son las que han dado mejores resultados en contra de este tipo de ataques. Pero como desventaja, la mayoria de estos metodos son muy caros de implementar y la usabilidad de las mismas se ve cuestionada ya que requiere un hardware especifico. Existe otro tipo de metodos biometricos basados en patrones. Cuando una persona escribe tiene un patron caracteristico dificil de replicar. La diferencia de velocidades entre dos teclas consecutivas o el numero de usos de teclas de control pueden utilizarse para diferenciar usuarios. En esta tesis, nos vamos a centrar en estudiar cuan util es el uso de los patrones de tecleo para identifiar al usuario en sistemas bancarios. Este objetivo conlleva, por una parte, realizar una recoleccion de datos, posteriormente prcesarlos y someterlos a un proceso de extraccion de caracteristicas. Para la recoleccion de datos se ha desarrollado una serie de herramientas: una plataforma web y una extension para Chrome. Tambien se ha realizado un estudio preliminar acerca de los diferentes procesos de autenticaci on que utilizan las entidades bancarias, para luego identificar los casos de uso que contemplaremos en el reconocimiento de patrones de escritura. El dataset obtenido esta compuesto por un total de 50 usuarios que han tenido que realizar la prueba 450 veces repartidas en dos semanas. Ya con la posesion de los datos, se ha procedido a la limpieza de los mismos y a la extraccion de caracteristicas. La limpieza de los datos consistio en filtrar los caracteres correctos y tener en cuenta los borrados, asi como ignorar eventos no soportados. Tras este proceso, construimos los vectores de caracteristicas, que ademas tienen en cuenta eventos como e uso de teclas Shift. Por ultimo, se ha realizado un estudio utilizando tecnicas de machine learning. La herramienta utilizada ha sido WEKA, con metodos de clasificacion muy conocidos como el arbol C4.5, Random Forest, SVM o los K vecinos mas proximos. La extactitud de los datos se han medido en false acceptance rate (FAR) es decir, el ratio de usuarios aceptados erroneamente y false rejection rate (FRR), es decir el ratio de usuarios rechazados erroneamente. Los resultados han sido satisfactorios puesto que en la mayoria de los metodos, el FAR esta por debajo del 1%. Asi mismo, el FRR pudo ser reducido al 3% en algunos casos.