| Literature DB >> 34960544 |
Dmitry Levshun1, Andrey Chechulin1, Igor Kotenko1.
Abstract
This paper describes an original methodology for the design of microcontroller-based physical security systems and its application for the system of mobile robots. The novelty of the proposed methodology lies in combining various design algorithms on the basis of abstract and detailed system representations. The suggested design approach, which is based on the methodology, is modular and extensible, takes into account the security of the physical layer of the system, works with the abstract system representation and is looking for a trade-off between the security of the final solution and the resources expended on it. Moreover, unlike existing solutions, the methodology has a strong focus on security. It is aimed at ensuring the protection of the system against attacks at the design stage, considers security components as an integral part of the system and checks if the system can be designed in accordance with given requirements and limitations. An experimental evaluation of the methodology was conducted with help of its software implementation that consists of Python script, PostgreSQL database, Tkinter interface and available for download on our GitHub. As a use case, the system of mobile robots for perimeter monitoring was chosen. During the experimental evaluation, the design time was measured depending on the parameters of the attacker against which system security must be ensured. Moreover, the software implementation of the methodology was analyzed in compliance with requirements and compared with analogues. The advantages and disadvantages of the methodology as well as future work directions are indicated.Entities:
Keywords: design methodology; information security; microcontroller-based system; mobile robot; perimeter monitoring; physical security; security by design
Mesh:
Year: 2021 PMID: 34960544 PMCID: PMC8704471 DOI: 10.3390/s21248451
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1Microcontroller-based systems development lifecycle.
Figure 2Comparison of modeling approaches.
Various types of links between elements.
|
|
|
| ||
|---|---|---|---|---|
|
| Wi-Fi | IEEE 800.11 | wireless 2.4 GHz | device ↔ device |
| ZigBee | IEEE 802.15.4 | wireless 2.4 GHz | ||
| Bluetooth | IEEE 802.15.1 | wireless 2.4 GHz | ||
| nRF24L01+ | ESB | wireless 2.4 GHz | ||
| Infrared | NEC | wireless 38 kHz | ||
|
| I2C | SDA + SCL | TWI | controller ↔ controller |
| Serial | TxRx | UART | ||
| RS-232 | RS232 | UART | ||
| RS-485 | RS485 | UART | ||
|
| pin-to-pin | shared power | shield | controller ↔ component |
| SVG | AVR I/O pin | three wires | ||
| VG | AVR I/O pin | two wires | ||
|
| method | functions | compiler | software ↔ software |
| database | SQL queries | psycopg2 | ||
| API | JSON structures | POST/GET |
Attacker types of access.
| Description | |
|---|---|
| 1 | No access to the system |
| 2 | Access to the system through global networks |
| 3 | Access to the system through local networks |
| 4 | Physical access to the system |
| 5 | Full access to the system |
Attacker types of knowledge.
| Description | |
|---|---|
| 1 | General knowledge about the system from publicly available sources |
| 2 | Knowledge about parameters of the system |
| 3 | Knowledge about means of protection of the system |
| 4 | Knowledge about software and hardware of the system |
Attacker types of resources.
| Description | |
|---|---|
| 1 | Widely-spread software tools and known vulnerabilities |
| 2 | Specialized software tools and previously non-used vulnerabilities |
| 3 | Possibility to investigate the system |
Classes of attack actions and different types of attackers.
|
| ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
| ||||||||||||
| 1 | 2 | 3 | 4 | 5 | 1 | 2 | 3 | 4 | 1 | 2 | 3 | |||
|
|
|
| + |
| + | + | + | + | + | |||||
|
| + | + | + | + | + | + | + | |||||||
|
| + | + | + | + | + | + | + | + | ||||||
|
| + | + | + | + | + | + | + | + | + | |||||
|
|
| + | + | + | + | |||||||||
|
| + | + | + | + | ||||||||||
|
| + | + | + | + | + | + | + | |||||||
|
| + | + | + | + | + | + | + | + | + | |||||
|
|
| + | + | + | + | + | + | + | ||||||
|
| + | + | + | + | + | + | + | |||||||
|
| + | + | + | + | + | + | + | + | + | |||||
|
| + | + | + | + | + | + | + | + | + | |||||
|
|
| + | + | + | + | + | + | + | + | + | + | + | + | |
|
| + | + | + | + | + | + | + | + | + | |||||
|
| + | + | + | + | + | + | + | + | + | + | ||||
|
| + | + | + | + | + | + | + | + | + | + | ||||
Classes of attack actions and security elements.
| Security Elements | |||
|---|---|---|---|
|
|
|
| anomaly detection algorithm, hidden placement of sensors |
|
| events correlation algorithm, hidden placement of sensors | ||
|
| vandal-proof device case, hardware authentication | ||
|
| vandal-proof device case | ||
|
|
| vandal-proof device case, firmware encryption | |
|
| vandal-proof device case, bootloader encryption | ||
|
| vandal-proof device case, removal of physical update interface | ||
|
| vandal-proof device case, encryption, authentication | ||
|
|
| strong login credentials, password policy, brute-force protection | |
|
| strong encryption algorithms, secure key distribution mechanism | ||
|
| behavior-based anomaly detection, devices isolation/limitation | ||
|
| strong encryption algorithm on access point, strong login credentials, | ||
|
|
| training of operators and users, security policy | |
|
| uninterruptible power supplies, backup power supply | ||
|
| firewall, update mechanism, backup mechanism, logging mechanism | ||
|
| input validation, strict access policy, strong login credentials, separate |
Classes of attack actions and non-security elements.
|
| |||
|---|---|---|---|
|
|
|
| sensors and receivers that react on the environment |
|
| sensors that monitor environment | ||
|
| any component | ||
|
| any component | ||
|
|
| any controller with rewritable firmware | |
|
| any controller with rewritable bootloader | ||
|
| any controller with update system | ||
|
| controller ↔ controller, controller ↔ component | ||
|
|
| device ↔ device, where authentication is used | |
|
| device ↔ device, where encryption is used | ||
|
| devices with sleep mode/wireless interfaces | ||
|
| device ↔ device | ||
|
|
| any system with operators or/and users | |
|
| any system that relies on power grid | ||
|
| any system with web-services | ||
|
| any system with database |
Figure 3Methodology for the design of microcontroller-based physical security systems.
Figure 4Architecture of the perimeter monitoring system.
Tasks, abilities and requirements of the designed system.
| Task | Ability | Requirement | Dependency |
|---|---|---|---|
| centralized | to store and process | device that represents | |
| to run executable | |||
| to download and install | |||
| to create wireless | |||
| to communicate with | |||
| to communicate with | |||
| to provide user | |||
| static | to provide wireless | devices that represent | to provide |
| to monitor the | |||
| to communicate with | |||
| to communicate with | |||
| mobile | to be charged wirelessly | devices that represent | to provide |
| to navigate through the | |||
| to detect and chase | |||
| to communicate with | |||
| to communicate with | |||
| appropriate level | attackers with | security requirements |
Tasks, abilities and requirements related to the server.
| Task | Ability | Requirement | Dependency |
|---|---|---|---|
| work cycle support | to store data | 32-bit operating system | |
| sql database | |||
| to update software | wire network interface | ||
| software update server | |||
| software update mechanism | |||
| to run applications | 32-bit operating system | ||
| to create wireless | 32-bit operating system | ||
| wireless network interface | |||
| access points configuration | |||
| interaction with | to provide graphical | application with GUI | to provide |
| app-db connection | |||
| data processing algorithm | |||
| data presentation | |||
| interaction with | to communicate with | wireless | to provide |
| devices | |||
| appropriate level | attackers with | security should be taken into |
Tasks, abilities and requirements related to the charging stations.
| Task | Ability | Requirement | Dependency |
|---|---|---|---|
| work cycle | to update firmware | wireless network interface | |
| bootloader | |||
| firmware update mechanism | |||
| to charge parked devices | wireless charge transmitter | ||
| interaction | to detect intruders | motion sensor | to provide |
| noise sensor | |||
| servo drive | |||
| intruder detection algorithm | |||
| interaction | to help mobile devices | wireless | to provide |
| parking | |||
| interaction | to communicate | wireless | to provide |
| server | |||
| appropriate level | attackers with | security should be taken into |
Tasks, abilities and requirements related to the mobile robots.
| Task | Ability | Requirement | Dependency |
|---|---|---|---|
| work cycle | to update firmware | wireless network interface | |
| bootloader | |||
| firmware update mechanism | |||
| to be charged in | wireless charge receiver | ||
| battery | |||
| charge monitoring algorithm | |||
| perimeter | to move | collector motor | |
| movement algorithm | |||
| to avoid obstacles | distance sensor | ||
| touch sensor | |||
| servo drive | |||
| obstacles detection algorithm | |||
| obstacles avoidance algorithm | |||
| to navigate | encoder | ||
| map construction algorithm | |||
| path construction algorithm | |||
| interaction | to detect intruders | motion sensor | |
| noise sensor | |||
| servo drive | |||
| intruders detection algorithm | |||
| to chase intruders | distance | ||
| intruders | |||
| interaction | to park near | wireless | |
| parking | |||
| interaction | to communicate | wireless | |
| server | |||
| appropriate level | attackers with | security should be taken into |
Figure 5The architecture of the software implementation.
Figure 6Interface of the application: state after the design process.
Figure 7Dependencies between the design time and the attacker’s parameters.
The comparison with commercial and scientific solutions.
| Solutions | Levels of the System | Classes of Attack Actions | |||||||
|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
| ||
|
| [ | – | – | – | – | – | * | * | – |
| [ | – | – | – | – | – | * | * | – | |
| [ | + | + | – | – | + | + | – | – | |
| [ | + | + | – | – | – | + | – | – | |
| [ | + | + | – | – | + | + | – | – | |
| [ | – | – | + | – | – | + | + | – | |
|
| [ | – | – | – | + | – | – | + | + |
| [ | – | – | – | + | – | – | + | + | |
| [ | – | – | – | + | – | – | + | + | |
| [ | – | – | – | + | – | – | – | + | |
| [ | – | – | – | + | – | – | + | + | |
| [ | – | – | – | + | – | – | – | + | |
|
| + | + | + | + | + | + | + | + | |
Note that “*” for [13,14] means that provided models and approaches can be improved for taking the corresponding classes of attack actions into account.