UC7 : Suspicious security events detection
Développement du Use Case pédagogique "Suspicious security events detection" dans le cadre du GT IA et Cyber
Catégorie : Commun Statut : Production 1 : Idée - 2 : Prototype - 3 : Validation - 4 : Production
>:translate>
Overview[modifier | modifier le wikicode]
Project Objectives[modifier | modifier le wikicode]
The overall objective of the Cyber project is to propose pedagogical notebooks presenting a set of algorithms on a precise cyber application.
Business Objectives[modifier | modifier le wikicode]
The use case (UC7) aims at detecting abnormal security events in web events.
Data & methodologies[modifier | modifier le wikicode]
By exploring web activities, it uses two stastistical methods (interquartile range - IQR - and Isolation Forest) to identify "outlier" behaviors that are rare compared to the most standard behaviors.
Results[modifier | modifier le wikicode]
This section is not really applicable since the current objective is not targeted towards production or POC. Nevertheless, the two models are highlighting the most abnormal IP addresses (and potentially related users). These lists of addresses could be used as input for further investigation by an operational expert.
- Authors : Nicolas Stucki & Thomas Levy
- Keywords: Unsupervised detection, clustering, outlier detection, Isolation Forest, interquartile range (IQR)
Data[modifier | modifier le wikicode]
Online Shopping Store[modifier | modifier le wikicode]
This use case relies on the dataset ["Online Shopping Store - Web Server Logs"](https://doi.org/10.7910/DVN/3QBYB5).
The dataset has been processed to convert it from a raw log file format into tabular elements corresponding to client requests to the web site. Then, to reduce its size, it has been sampled to keep only requests coming from a sub-part of the client IP adresses. Finally, 3 csv files have been ingested into the platform:
- Small size dataset: logs_sub_2.csv (211 335 lines)
- Medium size dataset: logs_sub_5.csv (495 997 lines)
- Large size dataset: logs_sub_10.csv (1 030 453 lines)
Main columns used are:
Name | Description | |
---|---|---|
SourceIP | Source IP address | |
datetime | Local date&time of the reception of the request by the web server | |
method | HTTP method of the request (i.e GET, POST..) |
Specific feature engineering[modifier | modifier le wikicode]
Not applicable
Notebooks[modifier | modifier le wikicode]
Notebook | Data Science step | |
---|---|---|
UseCase7_DataPrep.ipynb | Data preparation (executed outside the platform) | |
UseCase7_Detection.ipynb | Security events detection (including simple feature engineering) |
Risks & Compliance[modifier | modifier le wikicode]
Type | Applicable | Comment(s) (if applicable) |
---|---|---|
Bias | No | Has a complete bias study been carried out ? Comments if applicable |
Ethics committee | No | Does the project needs to be screened by an ethics committee and if so has this been achieved ? Comments if applicable |
RSSI | No | Does the project needs to inform the RSSI about its outcome and activity, and if so has this been achieved ? Comments if applicable |
DPO | No | Does the project needs to inform the DPO about its outcome and activity, and if so has this been achieved ? Comments if applicable |
RGPD | No | Are all the data collected necessary to perform the project objective and is there a necessity to collect consent from individuals ? Comments if applicable |
CNIL | No | Does the project needs to inform the CNIL ? Comments if applicable |
Requirements[modifier | modifier le wikicode]
- Python (3.6 or +)
- scikit-learn (1.0.2 or +)
- seaborn (0.11.2 or +)
Notebooks[modifier | modifier le wikicode]
Retrouvez tous les éléments du Use Case sur le GitLab du Campus Cyber : https://gitlab.com/campuscyber/gt-ia-et-cyber/-/tree/main/UC7%20Suspicious%20security%20events%20detection?ref_type=heads