Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
SysTrace — Monitor delle chiamate di sistema per Linux che usa ptrace per tracciare l'attività di file, processi, rete e memoria, con isolamento dei namespace e classificazione tramite machine learning per l'analisi comportamentale della sicurezza. | Kitploit
Strumenti/GitHubGitHub/tracebyte8/systrace
Analisi Dinamica (Sandboxing)Analisi MalwareMachine LearningRilevamento di Anomalie
GitHubtracebyte8/systrace

SysTrace

Monitor delle chiamate di sistema per Linux che usa ptrace per tracciare l'attività di file, processi, rete e memoria, con isolamento dei namespace e classificazione tramite machine learning per l'analisi comportamentale della sicurezza.

Vedi Repository
15122h 37m faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

SysTrace

Uno strumento di monitoraggio delle chiamate di sistema Linux e di analisi comportamentale della sicurezza che combina tracciamento basato su ptrace, isolamento leggero tramite namespace e classificazione tramite apprendimento automatico.

SysTrace osserva il comportamento a runtime di un programma target a livello di chiamate di sistema, estrae caratteristiche comportamentali e classifica l'attività osservata come benigna o dannosa utilizzando un modello Random Forest addestrato. È costruito principalmente in C per il tracciamento e l'isolamento a basso livello, con un componente Python/scikit-learn per la classificazione e il reporting.


Panoramica

SysTrace traccia un processo target utilizzando ptrace, catturando le chiamate di sistema relative all'accesso ai file, alla creazione di processi, all'attività di rete e alle operazioni di memoria. Il comportamento catturato viene aggregato in statistiche delle chiamate di sistema e in un vettore di caratteristiche, che viene passato a un classificatore Random Forest addestrato per produrre una previsione benigna/dannosa. I risultati vengono raccolti in un report di sicurezza HTML strutturato.

Il progetto include anche un livello di sandboxing leggero basato sui namespace Linux, utilizzato per isolare il processo target durante il tracciamento.


Architettura

SysTrace architecture

Funzionalità principali

Tracciamento delle chiamate di sistema

  • Basato su ptrace di Linux per collegarsi ai processi target e ispezionarli, inclusi argomenti delle chiamate di sistema e registri.
  • Monitora un ampio insieme di chiamate di sistema in quattro categorie comportamentali:
    • Operazioni sui file — open/openat, read, close, chmod
    • Attività di processo — execve, fork, clone, kill
    • Attività di rete — socket, connect
    • Attività di memoria — mmap, mprotect

Rilevamento basato su regole

Le regole euristiche segnalano pattern comportamentali sospetti, tra cui:

  • Accesso a file sensibili
  • Operazioni sui file eccessive
  • Creazione eccessiva di processi
  • Comportamento di memoria sospetto (ad es. uso anomalo di mmap/mprotect)
  • Attività di rete sospetta

Sandbox leggera / livello di isolamento

Un livello di isolamento costruito direttamente sui primitivi dei namespace Linux:

  • clone() con CLONE_NEWUSER, CLONE_NEWPID, CLONE_NEWNS
  • Configurazione del mount namespace tramite MS_PRIVATE
  • Cambio del root filesystem con pivot_root e umount2
  • Root filesystem minimale basato su tmpfs, costruito a runtime in /tmp/systrace-root

Questo fornisce un isolamento di base per processi, PID e mount per il target tracciato — non è un sostituto di un runtime container.

Classificazione tramite apprendimento automatico

  • I vettori di caratteristiche derivano dalle statistiche delle chiamate di sistema, con campi tra cui: file, process, network, fork, connect, execve, read, open, close, memory, chmod, kill, label
  • Un RandomForestClassifier (scikit-learn) viene addestrato su questi vettori per distinguere il comportamento benigno da quello dannoso.
  • Il modello addestrato viene serializzato in ml/syscall_model.pkl.
  • Il DATASET

Reportistica

  • Output strutturato come features.json (dati grezzi delle caratteristiche) e report.html (report leggibile).
  • Il report HTML riassume l'attività monitorata, le regole/eventi di sicurezza attivati, le statistiche delle chiamate di sistema e la classificazione ML finale.

Esempio di vettore di caratteristiche

root@kitploit:~
[file, process, network, fork, connect, execve, read, open, close, memory, chmod, kill]
[15,   2,       0,       0,    0,       2,      1,    10,   4,     14,     6,     0]

Tecnologie


Struttura del progetto

root@kitploit:~
linux-syscall-monitor/
├── include/
├── src/
│   ├── tracer.c            # Core ptrace-based syscall tracer
│   ├── syscall.c           # Syscall interception/handling
│   ├── namespace.c         # Namespace/clone setup
│   ├── set_root.c          # pivot_root / minimal rootfs setup
│   ├── file_monitor.c      # File operation monitoring
│   ├── process_monitor.c   # Process creation/execution monitoring
│   ├── network_monitor.c   # Network activity monitoring
│   ├── memory_monitor.c    # Memory-related activity monitoring
│   ├── fd_tables.c         # File descriptor tracking
│   ├── rules.c             # Rule-based detection logic
│   ├── alert.c             # Security alert generation
│   ├── stat.c               # Syscall statistics aggregation
│   └── dataset.c           # Feature vector / dataset generation
├── ml/
│   ├── train.py             # Random Forest training script
│   ├── predict.py           # Classification / inference script
│   └── syscall_model.pkl    # Trained model
├── dashboard/                # Report/dashboard assets
├── tests/
├── Makefile
├── dataset.csv
└── README.md

Limitazioni

  • La sandbox è un livello di isolamento didattico e leggero — non è un runtime container di livello produttivo né una sandbox di analisi malware indurita.
  • L'isolamento tramite namespace copre solo i namespace user, PID e mount; non implementa l'isolamento del namespace di rete, il filtraggio seccomp o i limiti delle risorse cgroup.
  • Il tracciamento basato su ptrace introduce un overhead osservabile e può essere rilevato/eluso da malware sufficientemente sofisticato.
  • Il classificatore ML è addestrato su un set di caratteristiche limitato (conteggi aggregati delle chiamate di sistema) e su un dataset limitato; l'accuratezza della classificazione dipende dalla qualità e dalla diversità dei dati di addestramento.
  • Non è pensato per tracciare binari non affidabili o realmente dannosi al di fuori di un ambiente di ricerca adeguatamente isolato.

Disclaimer di Sicurezza

SysTrace è un progetto di ricerca e apprendimento che esplora gli internals di Linux, il tracciamento delle chiamate di sistema, l'isolamento basato su namespace e il rilevamento comportamentale di malware tramite apprendimento automatico. Non è uno strumento di sicurezza certificato o pronto per la produzione e non deve essere considerato l'unica difesa contro software dannoso. Utilizzalo solo in ambienti isolati e controllati.


Scopo

Questo progetto è stato creato per esplorare e dimostrare:

  • Gli internals di Linux e il tracciamento delle chiamate di sistema con ptrace
  • Il monitoraggio di processi, file, rete e memoria
  • L'isolamento del filesystem tramite namespace Linux (clone, pivot_root, mount namespaces)
  • La progettazione dell'architettura di una sandbox
  • L'analisi comportamentale della sicurezza
  • L'applicazione dell'apprendimento automatico (Random Forest) a problemi di classificazione nella cybersecurity
Scarica lo strumento
  • Mantiene il tracciamento dei descrittori di file per associare i descrittori di file aperti ai relativi nomi di file di origine.
  • CategoriaStack
    Tracer principaleC, Linux ptrace
    IsolamentoLinux namespaces, clone, mount namespaces, pivot_root, tmpfs
    Apprendimento automaticoPython, scikit-learn, Random Forest
    Dati / outputJSON, HTML
    BuildMake