Este trabalho visa utilizar diferentes técnicas de aprendizado de máquina na detecção de anomalias (incluindo falhas de hardware, sabotagem e ataques cibernéticos) em infraestruturas hídricas SCADA.
O conjunto de dados usado está publicado aqui
Se você quiser citar o artigo, use o seguinte formato;
@InProceedings{10.1007/978-3-030-12786-2_1, author="Hindy, Hanan and Brosset, David and Bayne, Ethan and Seeam, Amar and Bellekens, Xavier", editor="Katsikas, Sokratis K. and Cuppens, Fr{'e}d{'e}ric and Cuppens, Nora and Lambrinoudakis, Costas and Ant{'o}n, Annie and Gritzalis, Stefanos and Mylopoulos, John and Kalloniatis, Christos", title="Improving SIEM for Critical SCADA Water Infrastructures Using Machine Learning", booktitle="Computer Security", year="2019", publisher="Springer International Publishing", address="Cham", pages="3--19" }
Regressão Logística
Gaussiano Ingênuo Bayes
k-vizinhos mais próximos
Máquina de vetores de suporte
Árvores de decisão
Florestas Aleatórias
Clone this repository run preprocessing.py [dataset log path] run classification.py [data processed file path] run classification-with-confidence.py [data processed file path]
A saída do pré-processamento será salva no diretório clonado como 'dataset_processed.csv'
As saídas de classificação são separadas em pastas para cada saída (anomalia, componente afetado, cenário, etc.). Cada pasta contém um csv para cada algoritmo tendo sua matriz de confusão e um arquivo 'CrossValidation.csv' com os resultados combinados.