
Uma ferramenta gráfica de análise de segurança para redes IoT
Aviso de Arquivo - Após a conclusão do meu grau de pesquisa, o repositório foi arquivado.
ASTo teve um impacto significativo na minha pesquisa. Quero expressar minha gratidão a todos que ajudaram a torná-lo melhor.
No entanto, este não é o fim. O desenvolvimento ativo continuará no repositório do CyberLens. Por favor, reporte problemas e solicitações de funcionalidades lá.
ASTo é uma ferramenta de análise de segurança para redes IoT. É desenvolvida para apoiar o framework de segurança Apparatus. ASTo é baseada em electron e cytoscape.js. Os ícones são fornecidos pelo Material Design do Google.
A aplicação está em estágio alpha. O foco agora é melhorar a funcionalidade principal da aplicação juntamente com a introdução de funcionalidades adicionais, para atingir o estágio beta.
Algumas capturas de tela




ASTo possui um console de linha de comando disponível no canto inferior direito do aplicativo. Você ganha foco no console pressionando o atalho cmd + l no macOS e ctrl + l no Windows/Linux. Se você digitar help, será exibida uma lista de opções do console.
O console pode ser usado para pesquisar objetos específicos no grafo ou realizar operações. Texto bruto é usado como entrada de pesquisa. Por exemplo, se você digitar device, o ASTo destacará todos os nós no grafo que possuem a palavra device como atributo.
Todos os comandos do console devem ser precedidos por :. Por exemplo, digitar :insights executará as funções de insights de segurança. Por outro lado, digitar insights (sem o :) realizará uma operação de pesquisa nos elementos do grafo com a palavra-chave insights.
ASTo suporta um tema de cores claro e um escuro. Os temas de cores são baseados no One Dark e One Light do Atom. Para alternar entre os temas, use o botão de alternância no canto inferior esquerdo.
Para clonar e executar este repositório, você precisará ter Git e Node.js instalados no seu computador. Para baixar e instalar o aplicativo, digite o seguinte no seu terminal:
# Clone este repositório
git clone https://github.com/Or3stis/apparatus.git
# Navegue até o repositório
cd apparatus
# Instale as dependências
npm install
Operações em diferentes modos do aplicativo.
# Para executar o aplicativo no modo padrão
npm start
# Para executar o aplicativo no modo desenvolvedor
npm run dev
# Para compilar o aplicativo em binário
npm run dist
Como o aplicativo ainda está em estágio de protótipo, é melhor manter-se atualizado com os commits mais recentes. Para fazer isso, antes de iniciar o aplicativo, digite:
# dentro do diretório apparatus
# atualize para a versão mais recente
git pull
Quando o aplicativo iniciar, a primeira janela (tela inicial) pedirá que você escolha qual fase de modelagem deseja usar. Após selecionar uma fase, você será apresentado a três opções. A primeira é criar um novo grafo. A segunda opção é carregar um grafo existente. A terceira opção é o aplicativo de depuração, que carrega um grafo padrão usado para fins de depuração.
Você encontrará alguns grafos de exemplo na pasta sample.
- Nota sobre desempenho. Se você renderizar um grafo com mais de mil nós, dependendo do seu hardware, poderá detectar alguns problemas de desempenho. A razão é que a renderização padrão de rótulos de nós e arestas no ASTo é bastante custosa. Renderizar rótulos em nós e arestas junto com setas direcionais é caro para a CPU. Para melhorar o desempenho, você pode ocultar os rótulos e as setas direcionais pressionando o botão label.
Você pode encontrar mais informações sobre as otimizações de desempenho do Cytoscape neste link.
O Software não coleta informações pessoais de qualquer tipo.
A única operação de rede que o aplicativo realiza é quando o processo de identificação de vulnerabilidades é usado. A identificação de vulnerabilidades faz uma solicitação de rede para 'https://cve.circl.lu/api/search/' (pode ser alterada nas configurações), que mantém suas próprias análises.
Se você quiser contribuir com o projeto, isso é ótimo 😃. Consulte o guia de contribuição. O aplicativo está sendo desenvolvido no macOS. Isso significa que novos commits podem introduzir mudanças que quebram a funcionalidade em outras plataformas. Especialmente commits que envolvem acesso ao sistema de arquivos. Se algo não estiver funcionando, não hesite em criar uma issue.
Se você quiser descobrir como o aplicativo funciona, consulte a wiki.
Você pode conferir as funcionalidades planejadas do projeto no roadmap.
Um agradecimento a @NOMNUDS e @nickarg que fornecem o tão necessário feedback no Windows.