Though 'A Hack a day' was primarily concerned with 'Health and Wellness, it didn't specify whose Health and Wellness! Why not think about the Health and Wellness of the PCs, phones, and Laptops you are using currently? All of us are currently surrounded by hackers all over the world trying the corrupt the health of our systems so why not develop a Web Application to detect such Attacks and alert the companies whose privacy is on the verge to be compromised!!
What it does
GoingPhishing is a Web-Application that takes your IP log files as Input, implements some machine learning algorithms at the backend, and gives you insights like total counts, daily counts, average login time, weekend-ratios of all the IP Addresses which are then used to identify IP Addresses with Anomalous activity and are indicated through Visualizations like Bar Charts, Pie Charts, Line graphs etc.
How we built it
We built it using a Python web framework (Flask) integrated with CSS and HTML templates and a Machine Learning python script.
Challenges we ran into
- The major challenge was to cluster and isolate the IP anomalies through a machine learning algorithm. We tried and implemented 3 different clustering algorithms and came up with Isolated forest with the highest accuracy but which also had to be increased through Hyper-parameter tuning.
- To integrate our Python script with HTML. (For which we found a way out through the magical 'Jinja').
- To find a way to send Attack alerts to the Company officials. (For which we integrated Twilio API with our Python script, which we didn't know could happen!)
- Although we had used GitHub previously, it was mainly just for uploading and submitting our Final projects but this time, we needed to find a tool for easy collaboration and continuous integration. (For which we sought Github's help with multiple push and pull requests and Github pages)
Accomplishments that we're proud of
When we came up with the Project idea, we thought that it would be impossible to complete such a large project within a weekend but still were tempted to try our hands on the same. And here we are with no stones left unturned with a complete project.
What we learned
- Learning CSS and HTML integration with Flask (which both of us were not completely well-versed with)
- Exploring the power of Github
- Learning Twilio Integration in Python
What's next for GoingPhishing
We aim to expand the Web application and launch it as a paid web-app in the IT Industry.