Аналіз загроз безпеки мікроконтролерів
Вадим Маліновський, Леонід КуперштейнВ статті розглянуто і приведено матеріали окремих досліджень щодо основних проблем безпеки у мікроконтролерах, які функціонують в складі систем управління як загальних, так і спеціалізованих пристроїв. Зокрема в матеріалах досліджень проаналізовані основні тенденції розвитку загроз безпеки і наведено основні вектори атак. Проаналізовано закордонний та вітчизняний досвід прояву несанкціонованих впливів та кіберзагроз в основні найбільш критичні місця архітектури мікроконтролерів. Аналіз показав, що базовими точками прояву загроз безпеки втручань в роботу мікроконтролера є: регістри, стек, АЛП, пам’ять (EEPROM та Flash), порти введення-виведення, схеми та інтерфейси передачі даних в МК, схеми додаткового функціоналу підключення до зовнішніх периферійних пристроїв і канали підключення осцилятора тактової частоти. Крім того, проведено дослідження основних загроз пам'яті мікроконтролерної системи, а саме: втручання із прямим доступом до пам’яті, доступ до регістрів керування і доступ до буфера мікроконтролера, переповнення стеку буфера, віддалений запуск коду, зовнішній доступ та атаки по вторинним каналам (в т.ч. по зовнішнім лініям передачі даних у МК), зміна порядку адресації в МК, зміна/підміна значень адрес і нумерації стеку, втручання в роботу регістрів даних та індикації стану портів введення/виведення мікроконтролера. Також досліджено ряд механізмів захисту мікроконтролерів, які у комплексі дозволяють знизити ризики несанкціонованих впливів на мікроконтролерну систему. До них відносяться такі: циклічний контроль надмірності коду, моніторинг живлення і моніторинг ресурсів, використання ізольованості і контролю функціональності системи тактування, контроль цілісності та достовірності вмісту пам'яті, контроль зовнішніх фізичних і електричних параметрів МК, віртуалізація основного обчислювального процесу та його багаторівневе резервування копіюванням і відновленням попередніх станів, Використання криптографічних систем і алгоритмів обробки даних, використання багаторівневої програмно-апаратної ізоляції
Використані джерела
[1] Luzhetskyi, V.A., Kozhukhivskyi, A.D., & Voytovych, O.P. (2013). Fundamentals of information security. Vinnytsia: VNTU.
[2] Resolution of the Cabinet of Ministers of Ukraine No. 1126 “On the Approval of the Concept of Technical Protection of Information in Ukraine”(1997, October). Retrieved from https://zakon.rada.gov.ua/laws/show/1126-97-%D0%BF#Text.
[3] Vacca, J.R. (2017). Computer and information security handbook. Burlington: Morgan Kaufmann Publishers.
[4] Antonov, S.G., & Klimov, S.M. (2017). Methodology for assessing the risks of disruption of the stability of functioning of software and hardware complexes under information technology impacts. Reliability, 17,(1), 32-39.
[5] Software Security Guidance. (n.d.). Retrieved from https://www.intel.com/content/www/us /en/developer/topic-technology/software-security-guidance/overview.html.
[6] Kharchenko, V.S. (2019). Internet of things for industry and human application: Fundamentals and Technologies (Vol. 1). Kharkiv: National Aerospace University KhAI.
[7] Sklyar, V.V., Yatskiv, V.V., & Yatskiv, N.G. (2019). Dependability and security Internet of Things: Practicum. Ternopil: TNEU.
[8] Cisco cybersecurity reports. (n.d.). Retrieved from https://www.cisco.com/c/en_hk/products/security/security-reports.html.
[9] Meltdown and spectre: Which systems are affected by Meltdown? (n.d.). Retrieved from https://meltdownattack.com/#faq-systems-meltdown.
[10] Ahmad, M. (2020). The anatomy of security microcontrollers for IoT applications. Retrieved from https://www.digikey.com/en/articles/the-anatomy-of-security-microcontrollers-for-iot-applications.
[11] Speculative processor vulnerability. (n.d.). Retrieved from https://developer.arm.com/Arm%20Security%20Center/Speculative%20Processor%20Vulnerability.
[12] Cache Speculation Side-channels. (n.d.). Retrieved from https://developer.arm.com/documentation/102816/0205.
[13] Kernel Side-Channel Attack using Speculative Store Bypass - CVE-2018-3639. (2018). Retrieved from https://access.redhat.com/security/vulnerabilities/ssbd.
[14] ISO/IEC FIDIS 27005:2008. (2008). Information technology — Security techniques-Information security risk management. Retrieved from https://www.iso.org/standard/42107.html.
[15] Modern security for microcontrollers. (2017). Retrieved from https://get.meriac.com/docs/eSAME-MicrocontrollerSecurity.pdf.
[16] Yegulalp, S. (2015). Rowhammer hardware bug threatens to smash notebook security. Retrieved from https://www.infoworld.com/article/2248727/rowhammer-hardware-bug-threatens-to-smash-notebook-security.html
[17] Bains, K., Halbert, J., Mozak, C., Schoenborn, T., & Greenfield, Z. (2013). U.S. Patent Appl. 2014/0059287A1. Row hammer refresh command. Retrieved from https://patents.google.com/patent/US20140059287.
[18] Cisco Systems security advisory. Row Hammer Privilege Escalation Vulnerability. (2015.). Retrieved from https://www.cisco.com/c/en/us/support/docs/csa/cisco-sa-20150309-rowhammer.html.
[19] Core cybersecurity concepts and their relation to microcontroller security hardware. (2016). Retrieved from https://www.cisco.com/c/en/us/support/docs/csa/cisco-sa-20150309-rowhammer.html.
[20] Govindavajhala, S., & Appel, A.W. (2003). Using memory errors to attack a virtual machine. In Symposium on security and privacy (pp. 154-165). Berkeley: IEEE. doi: 10.1109/SECPRI.2003.1199334.
[21] Xiao, Y., Zhang, Y., Teodorescu, & Speechminer, R. (2020). A framework for investigating and measuring speculative execution vulnerabilities. Retrieved from https://www.ndss-symposium.org/wp-content/uploads/23105-slides.pdf
[22] Introduction to STM32 microcontrollers security. (n.d.). Retrieved from https://www.st.com/resource/en/application_note/dm00493651-introduction-to-stm32-microcontrollers-securitystmicroelectronics.pdf.