PerfSPEC Learning Phase
Go to file
2025-01-27 08:34:47 +00:00
collect chore: move files, fix README location 2025-01-20 06:51:02 +00:00
data chore: new actions_distrib pdf 2025-01-27 06:51:05 +00:00
imgs chore: add image 2025-01-20 08:20:11 +00:00
learning/python chore: fix menu links 2025-01-27 07:27:16 +00:00
.gitignore chore: ignore __pycache__ 2025-01-27 06:53:28 +00:00
about.md chore: add about 2025-01-27 07:07:22 +00:00
actions_distribution.pdf chore: acctios_distributed pdf generated by prepare notebook 2025-01-27 01:00:04 +00:00
data_sample.tar.xz chore: data_sample format xc 2025-01-27 06:49:58 +00:00
install.md chore: fix install content 2025-01-27 08:34:47 +00:00
intro.md chore: add intro 2025-01-27 07:06:52 +00:00
models_sample.tar.xz chore: models sample format xz 2025-01-27 06:54:23 +00:00
PerfSPEC.pdf chore: add PerfSPEC doc 2025-01-20 07:47:13 +00:00
presentacion.pdf chore: add presentation 2025-01-20 07:48:07 +00:00
raw-audit-logs.log.xz chore: main raw-audit-log.log inxz format 2025-01-27 06:55:10 +00:00
README.md chore: add install link 2025-01-27 08:21:39 +00:00

PerfSPEC Learning Phase

Based in PrefSPEC: Performance Profiling-based Proactive Security Policy Enforcement for Containers document presented in [1], thir repository contains source files used to generate and process data.

Main Reference: PrefSPEC document as White paper

Presentación in Spanish

How to install covers basic enviroment,tools, and recommendations.

PerfSPEC

[!NOTE] With PerfSPEC Security Policies can be managed / watched in Proactive mode by using ranking, learning and profiles for safetiness and performance.

has three phases:

  • Ranking
  • Learning
  • Runtime

This repository is focused in Learning phase with attention on:

  • Event logs info load and process
  • Predictive learning model

Note: It is considered that event data collection in raw-audit-logs.log.xz are realistic and representative to simulate administrative operations.

Files

  • raw-audit-logs.log contains raw Kubernetes audit logs collected using the audit-policy.yaml audit policy.

Tools are distributed in directories:

As some tasks can be used in Python or Rust there are or will be directories for each programming languge inside directories tasks.

Each task/programming-language use a common data directory where processing output files is generated.

Collect data

If you wish to collect your own dataset, there are several source files that might help:

  • collect/collect.py is a script to trigger the installation and uninstallation of public Helm repositories.
  • collect/helm-charts.json is a backup of Helm charts used at the time of the collection.

Process data

Learning

Reference

[1]: H. Kermabon-Bobinnec et al., "PerfSPEC: Performance Profiling-based Proactive Security Policy Enforcement for Containers," in IEEE Transactions on Dependable and Secure Computing, doi: 10.1109/TDSC.2024.3420712.