Apparatus is a security framework to facilitate security analysis in IoT systems. To make the usage of the Apparatus framework easier the ASTo app was created (ASTo stands for Apparatus Software Tool).
ASTo is based on electron and cytoscape.js. The application is still in prototyping stage, which means a lot of functionality is being added with each commit, along with massive changes in almost everything
How can I use it?
A requirement to use ASTo is knowledge of the Apparatus framework. If you have the time and patience the best way to understand the framework is to read some research papers that were written about it. If not, you can always read this wiki.
- Apparatus: Reasoning About Security Requirements in the Internet of Things
- ASTo: A Tool for Security Analysis of IoT Systems
Some of the features of ASTo have not been published yet, but I will try to add them as documentation here.
The architecture of ASTo
ASTo was designed with modularity and extendability in mind. Each script does a specific function.
As with any Electron application, the first file that is being executed is the
main.js renders the
index.html which functions as the home page of the app, so can then navigate to the different development phases.
The Apparatus framework provides a modeling language and analysis procedures for the following phases:
- Design phase (high-level concepts, model the idea of an IoT system)
- Design state phase (statechart modeling of the different configurations of the system at the design level)
- Implementation phase (low-level concepts, model the implemented IoT system)
- Implementation state phase(statechart modeling of the different configurations of the system at the implementation level)
Each phase has each own
.html file where its graphical interface is declared.
- Design phase ->
- Design state phase ->
- Implementation state ->
- Implementation state phase ->