
Uno strumento grafico di analisi della sicurezza per reti IoT
Avviso di archiviazione - Dopo il completamento del mio titolo di ricerca, il repository è stato archiviato.
ASTo ha avuto un impatto significativo sulla mia ricerca. Voglio esprimere la mia gratitudine a tutti coloro che hanno contribuito a migliorarlo.
Tuttavia, questa non è la fine. Lo sviluppo attivo continuerà sul repository di CyberLens. Segnala problemi e richieste di funzionalità lì.
ASTo è uno strumento di analisi della sicurezza per reti IoT. È sviluppato per supportare il framework di sicurezza Apparatus. ASTo si basa su electron e cytoscape.js. Le icone sono fornite da Material Design di Google.
L'applicazione è in fase alpha. L'obiettivo ora è migliorare la funzionalità principale dell'applicazione insieme all'introduzione di funzionalità aggiuntive, per raggiungere la fase beta.
Alcuni screenshot




ASTo ha una console da riga di comando disponibile nell'angolo in basso a destra dell'app. Puoi ottenere il focus sulla console premendo la combinazione di tasti cmd + l per macOs e ctrl + l per Windows/Linux. Se digiti help, verrà visualizzato un elenco di opzioni della console.
La console può essere utilizzata per cercare oggetti specifici nel grafo o eseguire operazioni. Il testo grezzo viene utilizzato come input di ricerca. Ad esempio, se digiti device, ASTo evidenzierà tutti i nodi del grafo che hanno la parola device come attributo.
Tutti i comandi della console devono essere preceduti da :. Ad esempio, digitare :insights eseguirà le funzioni di approfondimento sulla sicurezza. D'altra parte, digitare insights (senza :) eseguirà un'operazione di ricerca sugli elementi del grafo con la parola chiave insights.
ASTo supporta un tema colore chiaro e uno scuro. I temi colore sono basati su One Dark e One Light di Atom. Per passare da un tema all'altro, usa il pulsante di attivazione nell'angolo in basso a sinistra.
Per clonare ed eseguire questo repository avrai bisogno di Git e Node.js installati sul tuo computer. Per scaricare e installare l'app, digita quanto segue nel tuo terminale:
# Clone this repository
git clone https://github.com/Or3stis/apparatus.git
# Navigate into the repository
cd apparatus
# Install dependencies
npm install
Operazioni dell'app in diverse modalità.
# To run the app in the default mode
npm start
# To run the app in developer mode
npm run dev
# To build the app into binary
npm run dist
Poiché l'app è ancora in fase di prototipo, è meglio tenersi aggiornati con i commit più recenti. Per farlo, prima di avviare l'app, digita:
# inside the apparatus directory
# update to the latest
git pull
Una volta avviata l'app, la prima finestra (schermata iniziale) ti chiederà di scegliere quale fase di modellazione desideri utilizzare. Dopo aver selezionato una fase, ti verranno presentate tre scelte. La prima è creare un nuovo grafo. La seconda scelta è caricare un grafo esistente. La terza opzione è l'app di debug, che carica un grafo predefinito utilizzato per scopi di debug.
Troverai alcuni grafi di esempio nella cartella sample.
- Nota sulle prestazioni. Se renderizzi un grafo con più di mille nodi, a seconda del tuo hardware, potresti riscontrare alcuni problemi di prestazioni. Il motivo è che il rendering predefinito delle etichette di nodi e archi in ASTo è piuttosto costoso. Il rendering delle etichette su nodi e archi insieme alle frecce direzionali è costoso per la CPU. Per migliorare le prestazioni, puoi nascondere le etichette e le frecce direzionali premendo il pulsante label.
Maggiori informazioni sulle ottimizzazioni delle prestazioni di Cytoscape sono disponibili in questo link.
Il Software non raccoglie informazioni personali di alcun tipo.
L'unica operazione di rete che l'applicazione esegue è quando viene utilizzato il processo di identificazione delle vulnerabilità. L'identificazione delle vulnerabilità effettua una richiesta di rete a 'https://cve.circl.lu/api/search/' (può essere modificata nelle impostazioni), che mantiene le proprie statistiche.
Se vuoi contribuire al progetto, è fantastico 😃. Consulta la guida per contribuire. L'applicazione viene sviluppata su macOs. Ciò significa che i nuovi commit potrebbero introdurre modifiche sostanziali su altre piattaforme. Soprattutto i commit che riguardano l'accesso al file system. Se qualcosa non funziona, non esitare a creare un issue.
Se vuoi scoprire come funziona l'app, consulta il wiki.
Puoi controllare le funzionalità pianificate del progetto nella roadmap.
Un ringraziamento a @NOMNUDS e @nickarg che forniscono il feedback tanto necessario su Windows.