My friends and family always ridicule me for my short and easy passwords on my phone and laptop so I wanted to develop a solution to this problem, not by making longer passwords, but though machine learning. After talking to a friend about the vulnerability of passwords in general, we came to this exciting idea and decided to pursue it at this hackathon.
What it does
Our program protects computers/laptops from hackers by discretely monitoring the unique typing pattern of the user. The program uses machine learning to learn the owner's typing pattern, and once implemented, it can statistically compare the owner's typing pattern to any new typing patterns to detect whether there is an intruder or not using the computer. The user can type anywhere, such as in a word document or in the address bar of a web browser, for our program to detect his or her typing pattern. The best part is that it acts behind the scene without the user or intruder knowing about it. This means it is convenient for the owner but dangerous to the intruder.
How I built it
We built a desktop application using Java and Maven. We first started off by creating a 27 by 28 matrix for all the different combinations in the alphabet including the space bar. We stored the time it took to travel between each key in the matrix, as well as how long each key was pressed. Then we used a two sample t-Test to determine the z score of the data in order to gauge how likely the user is an intruder or the owner of the computer.
Challenges I ran into
Some of the largest challenges we ran into was getting the background java service to run. We had previously asked a mentor for advice, however, he had trouble believing such a thing was even possible. Fortunately, after much research and troubleshooting, we were able to figure out how to run a java background service using Maven. Furthermore, we had to figure out how to get the program to detect the user's keystrokes in any place on the computer.
Accomplishments that I'm proud of
Accomplishments that we are proud of include sending a text message alert to the user's phone when their computer is being hacked and creating an 26 by 26 matrix authentication system that stores the length each key is pressed and the time between each key. This data is normalized with statistics and compared against data stored locally on the computer/laptop.
What I learned
We learned how to use Maven to run a Java service behind the scenes. This means our program can continue to run in the background and monitor the user even after the application is closed. Finally, we learned how to be a more effective team, in terms of delegating coding tasks and research.
What's next for HackerTracker
In the future, HackerTracker will implement a GPS feature that will allow users to locate their stolen laptop or computer when it detects that it is being hacked. It will also forcefully shut down or lock the computer to prevent further damage from the hacker/intruder. This technology will have an important role in protecting company as well as consumer laptops and computers in the future. We also look to expand to the mobile phone sector.