Skip to content

FrightenedFox/r-lab-project

Repository files navigation

Phishing: how not to get 'caught'?

Phishing: how not to get "caught"?

By Vitalii Morskyi & Julia Makarska

The phenomenon of phishing has been around for many years. However, the last year has shown how important internet security is among other things. Over a year ago, the world stopped: everybody and everything was moved to the Internet. That motivated us to analyse the topic of Phishing. Phishers usually use email or SMS messages to deceive users and force to act according to their expectations. The key points we want to emphasize in our research are how easy it is to get tricked and what are the common properties of malicious URLs. The aspects we analyzed cover only a small piece of this cheating method, however we found the results to be interesting, and hope you will as well. At the same time, this file is more about recreating the steps of our analysis, not reporting the final results. However, if you are interested in the latter one, please checkout the demonstration folder or the data-visualization.\* files.

This project is a part of the curriculum in "Programming in R" of the Rzeszow University of Technology, Poland.

Setting up the environment

The main analysis is conducted by using Jupyter Notebook which is usually used with Python, but also supports R.
So, to get things work properly, you would have to install some R and Python packages.

Python modules

First of all, you need Python 3.5 or greater. Next, you are expected to install JupyterLab and r-essentials modules.

Using conda

  • JupyterLab:

    conda install -c conda-forge jupyterlab
  • R-essentials:

    conda install -c r r-essentials 

Using pip

  • If you use pip, you can install JupyterLab with:

    pip install jupyterlab
  • Unfortunately there is no way of installing r-essentials using pip.

For more ways of installing JupyterLab please checkout this page.

Running the JupyterLab environment

Assuming R-essentials are installed, you can use one of the following commands to open JupyterLab environment:

jupyter-lab

or

python -m jupyter-lab

If everything has been installed correctly, then webpage similar to the one shown on the image below should appear in your default browser.

Example of the JupyterLab environment

R packages

To install all required packages, please open R Console in the JupyterLab tab and execute the following piece of code:

install.packages("stringi")
install.packages("stringr")
install.packages("lattice")
install.packages("ggplot2")
install.packages("ggExtra")
install.packages("hrbrthemes")
install.packages("rgl")
install.packages("GGally")

Note: if any problems occur while installing those packages, try creating a separate Conda Environment specifically for this project. To do so, you can use conda create --name EnvironmentName jupyterlab r-essentials command. To activate your environment, use the following command: conda activate EnvironmentName. Now you can continue from the step Running the JupyterLab environment. You can find out more about Conda Environments on their official documentation page.

If there were no problems with installing modules, you are ready to go. You can start from opening the file data-visualization.ipynb by clicking on it's icon on the side bar.

References

Data sets:

Used articles:

Theory behind the scenes:

Documentations and code examples:

Icons and poster:


Poster of the project