Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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
maude-hcs — Framework formale di modellazione e analisi per sistemi di comunicazione nascosti, che consente la specifica di canali occulti, modelli di avversari e la verifica statistica di modelli dei compromessi tra indetectabilità e prestazioni. | Kitploit
Strumenti/GitHubGitHub/raytheonbbn/maude-hcs
Sicurezza di ReteSteganografiaPrivacyPaper e RicercaApprendimento e FormazioneAnalisi DNS
GitHubraytheonbbn/maude-hcs

maude-hcs

Framework formale di modellazione e analisi per sistemi di comunicazione nascosti, che consente la specifica di canali occulti, modelli di avversari e la verifica statistica di modelli dei compromessi tra indetectabilità e prestazioni.

Vedi Repository
5217232 mesi faRevisionato da Kitploit

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

Maude-HCS

Maude-HCS è una delle prime toolchain generalizzate e modulari per specificare formalmente e ragionare sui Sistemi di Comunicazione Nascosta (HCS) su scala reale. Consente ai progettisti di rete di esplorare progetti HCS alternativi in modo rapido ed efficace e fornisce garanzie formali di privacy-performance necessarie per fidarsi del progetto.

Introduzione

I sistemi di comunicazione nascosta (HCS) incorporano messaggi nascosti all'interno dell'attività di rete ordinaria per nascondere la presenza della comunicazione. In pratica, l'indetettabilità di un HCS viene tipicamente valutata utilizzando statistiche di traffico ad hoc o rilevatori specifici, rendendo le affermazioni sulla sicurezza strettamente legate a configurazioni sperimentali e ipotesi avversarie implicite.

Maude-HCS è un framework eseguibile di modellazione e analisi che fornisce una base ragionata ed eseguibile per ragionare sui compromessi tra indetettabilità e prestazioni in progetti HCS complessi. I progettisti specificano formalmente il comportamento del protocollo, le osservabili dell'avversario e le ipotesi ambientali, e generano campioni Monte Carlo dalle distribuzioni delle tracce indotte. Questi possono essere utilizzati per verificare le affermazioni di indetettabilità stimando i tassi di veri e falsi positivi di un test statistico e convertendo queste stime in limiti inferiori per le misure di indetettabilità. Ciò consente una valutazione sistematica della rilevabilità e dei suoi compromessi con le prestazioni in base a ipotesi di modellazione esplicitamente dichiarate.

Contattaci se hai bisogno di assistenza per modellare e ragionare sul tuo HCS. E considera di citare il nostro lavoro se lo usi come parte della tua ricerca.```bibtex @article{khoury2026maude, title={Maude-HCS: Model Checking the Undetectability-Performance Tradeoffs of Hidden Communication Systems}, author={Khoury, Joud and Kim, Minyoung and Merlin, Christophe and Meseguer, Jos{'e} and Ratliff, Zachary and Talcott, Carolyn}, journal={arXiv preprint arXiv:2603.03369}, year={2026} }

## Requisiti
Richiede python versione `3.12.4`

Crea il tuo ambiente preferito e attivalo, ad esempio

Per pyenv```bash
pyenv install 3.12.4
pyenv local 3.12.4

Per conda```bash conda create --name pwnd2 python=3.12.4 conda activate pwnd2

Per ambiente virtuale```bash
python -m venv venv
source venv/bin/activate

Install: from git source

Abbiamo strutturato il codice sorgente del repository in modo da importare dns-formalization-maude come dipendenza (un sottomodulo). Abbiamo creato un fork di questa dipendenza per poter tenere traccia delle nostre modifiche ad essa. Usiamo sparse-checkout per evitare di dover fare checkout di tutto il codice sorgente della dipendenza, che include molti file irrilevanti (come Testbed).

Per clonare il repository principale```shell git clone [email protected]:raytheonbbn/maude-hcs.git

Il ramo principale contiene la fonte più recente (possibilmente instabile).
I rami/tag più vecchi come `pwnd.cp1` si riferiscono a snapshot stabili utilizzati per produrre risultati durante le valutazioni 
(ad esempio, `pwnd.cp1` usato per il problema sfida 1, e similmente `pwnd.cp2`).
Per utilizzare uno snapshot più vecchio, estrai il ramo specifico (es. `pwnd.cp1`).

Configura il sottomodulo dns usando il nostro clone del codice in modo da poter tracciare le modifiche 
apportate al codice originale, usa sparse-checkout per mantenere solo le fonti rilevanti```shell
cd maude-hcs
mkdir -p maude_hcs/deps
git submodule add -b <branch> -f [email protected]:raytheonbbn/dns-formalization-maude.git \
  maude_hcs/deps/dns_formalization
cd maude_hcs/deps/dns_formalization
git sparse-checkout init --cone
git sparse-checkout set "Maude/dns" "Maude/common" "Maude/test" "Maude/attack_exploration"
cd ../../../
git reset .gitmodules
git reset maude_hcs/deps/dns_formalization

Nel comando sopra imposta <branch> su pwnd.43.rb1 per riprodurre i risultati del problema della sfida 1, o su pwnd per l'ultima versione.

Il comando sopra dovrebbe creare un nuovo file chiamato sparse-checkout in .git/modules/maude_hcs/deps/dns_formalization/info/ e dirgli di includere solo certe directory come Maude/src.

A questo punto git status dovrebbe mostrare un avvio pulito.

Per installare, prima installa la dipendenza come pacchetto chiamato dns, che importiamo come Maude.* quindi installa maude_hcs come pacchetto (con dipendenza da dns).```shell cd maude_hcs/deps/dns_formalization pip install -e . cd ../../../ pip install -e .

## Genera automaticamente modelli utente

I modelli utente sono modelli di Markov progettati per rappresentare come gli utenti si comportano.
Questi sono forniti in formato JSON.
Il primo passo è convertirli in rappresentazioni formali Maude.

Per farlo, specifica
 - protocollo: dns o mastodon
 - directory di input contenente tutti i modelli JSON che desideri convertire
 - directory di output che conterrà tutte le versioni Maude dei modelli JSON

Per esempio,```shell
# convert dns tgen user models
 maude-hcs --verbose \ 
    --protocol=dns markov \
    --json-dir=../pwnd-cp2/src/static/tgen_models/dns/ \ 
    --maude-dir=./maude_hcs/lib/tgen/maude/dnsprofiles/markov/
    
# convert mastodon tgen models
maude-hcs --verbose \
    --protocol=mastodon markov \
    --json-dir=../pwnd-cp2/src/static/tgen_models/mastodon \
    --maude-dir="./maude_hcs/lib/raceboat/maude/mastodonprofiles/"

Vedi specifiche markov json di esempio in ./maude_hcs/lib/tgen/maude/dnsprofiles/markov/ (e similmente per mastodon), insieme alle loro specifiche maude convertite.

Genera automaticamente configurazioni HCS

Generiamo le configurazioni iniziali usando il comando generate. Le configurazioni HCS possono essere passate direttamente in json usando i parametri di configurazione HCS, o usando un file di configurazione dell'esperimento Shadow, o usando un file di configurazione YML. Ciascuna di queste è descritta di seguito.

Utilizzo della configurazione HCS json

Passa un file di configurazione json maude-hcs come segue,

Per generare una configurazione del modello DNS probabilistico con iodine e specificare il nome del file di output,```shell maude-hcs --verbose generate
--run-args="./use-cases/challenge-problem-2/cp2_scenarios/cp2_scenario_1-hcsconfig.json"
--model=prob
--filename="cp2_scenario_1"
--output-dir="./use-cases/challenge-problem-2/cp2_scenarios/"

Set `--model=nondet` per generare una versione non deterministica.

Questo produce il file maude eseguibile (e il corrispondente file json di configurazione HCS) nella directory di output.
Il file di configurazione json di input dovrebbe essere facile da seguire. Include la specifica di
 * topologia di rete (collegamenti e loro caratteristiche)
 * avversario (in questo caso profili dei rilevatori zeek, dati di base per i rilevatori a media mobile e le loro configurazioni)
 * canali/protocolli: ogni protocollo include una rete weird e un protocollo di rete sottostante. Il primo nasconde/incorpora dati nel secondo. Ad esempio, Iodine si incorpora in DNS (quindi il canale si chiama iodine-dns) e Destini si incorpora in Mastodon

Fai riferimento a [HCSParamsGuide](https://github.com/raytheonbbn/maude-hcs/blob/main/HCSParamsGuide.md) per una descrizione di alcuni parametri.
Nota che il modello probabilistico combinerà i parametri non deterministici così come i parametri probabilistici (che sovrascrivono quelli non deterministici).
Scarica lo strumento