Актуальність і постановка задачі: На сьогоднішній день, уразливості у вбудованому програмному забезпеченні пристроїв інтернету речей складають серйозну загрозу, так як зловмисники проексплуатувати уразливості отримують віддалений доступ до пристроїв, що дозволяє їм формувати ботнети, які в подальшому використовуються для захоплення нових пристроїв або організації серйозних DDos атак. Тому на даний момент існує гостра потреба у підвищенні ефективності методів виявлення вразливостей у вбудованому програмному забезпеченні. Метою роботи є підвищення ефективності процесу виявлення вразливостей в вбудованому програмному забезпеченні IoT пристроїв. Об'єктом дослідження виступає захищеність програмно-апаратних засобів IoT пристроїв. Предметом дослідження є методи виявлення вразливостей в вбудованому програмному забезпеченні IoT пристроїв. Використовувані методи: вирішенням проблеми є повна, або часткова автоматизація етапів пошуку вразливостей за методологією OWASP Firmware Security Testing Methodology 2019 у вбудованому програмному забезпеченні пристроїв інтернету речей. Новизна: елементами практичної новизни є запропоновані в роботі рішення, що дозволяє автоматизувати окремі етапи процесу пошуку вразливостей.

Анотація наукової статті з комп'ютерних та інформаційних наук, автор наукової роботи - Тавас Д.А., Команов П.А., Ревазов Х.Ю., Семіков В.С.


ANALYSIS OF VULNERABILITY DETECTION METHODS IN THE FIRMWARE OF IOT DEVICES

Relevance and statement of the problem: Today vulnerabilities in the firmware of the Internet of things devices constitute a serious threat, since attackers exploiting vulnerabilities gain remote access to devices, which allows them to form botnets, which are then used to capture new devices or organize serious DDoS attacks. At present, there is an urgent need to improve the effectiveness of methods for identifying vulnerabilities in embedded software. The purpose of the work is improving the efficiency of the vulnerability detection process in the firmware of IoT devices. Methods used: the solution to the problem is the full or partial automation of the stages of vulnerability search according to the OWASP Firmware Security Testing Methodology 2019 methodology in the firmware of the Internet of things devices. Novelty: elements of practical novelty are the solutions proposed in the work, which allows automating individual stages of the vulnerability search process.


Область наук:

  • Комп'ютер та інформатика

  • Рік видавництва: 2020


    Журнал: Міжнародний науково-дослідний журнал


    Наукова стаття на тему 'АНАЛІЗ МЕТОДІВ виявлення вразливих ВО програмно-апаратних засобів IOT ПРИСТРОЇВ'

    Текст наукової роботи на тему «АНАЛІЗ МЕТОДІВ виявлення вразливих ВО програмно-апаратних засобів IOT ПРИСТРОЇВ»

    ?DOI: https://doi.org/10.23670/IRJ.2020.91.1.007

    АНАЛІЗ МЕТОДІВ виявлення вразливих ВО програмно-апаратних

    ЗАБЕЗПЕЧЕННЯ IOT ПРИСТРОЇВ

    Наукова стаття

    Тавас Д.А.1, *, Команов п.а.2, Ревазов Х.Ю.3, Семіков В.С.4

    1 ORCID: 0000-0001-7859-9461;

    2 ORCID: 0000-0001-5640-2322;

    3 ORCID: 0000-0002-3358-6197;

    1 2 3, 4 Національний дослідницький університет ИТМО, Санкт-Петербург, Росія

    * Корреспондирующий автор (d.tavasiev1997 [at] gmail.com)

    анотація

    Актуальність і постановка задачі: На сьогоднішній день, уразливості у вбудованому програмному забезпеченні пристроїв інтернету речей складають серйозну загрозу, так як зловмисники проексплуатувати уразливості отримують віддалений доступ до пристроїв, що дозволяє їм формувати ботнети, які в подальшому використовуються для захоплення нових пристроїв або організації серйозних DDos атак. Тому на даний момент існує гостра потреба у підвищенні ефективності методів виявлення вразливостей у вбудованому програмному забезпеченні. Метою роботи є підвищення ефективності процесу виявлення вразливостей в вбудованому програмному забезпеченні IoT пристроїв. Об'єктом дослідження виступає захищеність програмно-апаратних засобів IoT пристроїв. Предметом дослідження є методи виявлення вразливостей в вбудованому програмному забезпеченні IoT пристроїв. Використовувані методи: вирішенням проблеми є повна, або часткова автоматизація етапів пошуку вразливостей за методологією OWASP Firmware Security Testing Methodology 2019 у вбудованому програмному забезпеченні пристроїв інтернету речей. Новизна: елементами практичної новизни є запропоновані в роботі рішення, що дозволяє автоматизувати окремі етапи процесу пошуку вразливостей.

    Ключові слова: IoT, уразливості в вбудованому програмному забезпеченні, пошук вразливостей, OWASP Firmware Security Testing Methodology 2019.

    ANALYSIS OF VULNERABILITY DETECTION METHODS IN THE FIRMWARE OF IOT DEVICES

    Research article

    Tavasiev D.A.1, *, Komanov P.A.2, Revazov H.Yu.3, Semikov V.S.4

    1 ORCID: 0000-0001-7859-9461;

    2 ORCID: 0000-0001-5640-2322;

    3 ORCID: 0000-0002-3358-6197;

    1 2 3 4 National Research ITMO University, St. Petersburg, Russia

    * Corresponding author (d.tavasiev1997 [at] gmail.com)

    Abstract

    Relevance and statement of the problem: Today vulnerabilities in the firmware of the Internet of things devices constitute a serious threat, since attackers exploiting vulnerabilities gain remote access to devices, which allows them to form botnets, which are then used to capture new devices or organize serious DDoS attacks. At present, there is an urgent need to improve the effectiveness of methods for identifying vulnerabilities in embedded software. The purpose of the work is improving the efficiency of the vulnerability detection process in the firmware of IoT devices. Methods used: the solution to the problem is the full or partial automation of the stages of vulnerability search according to the OWASP Firmware Security Testing Methodology 2019 methodology in the firmware of the Internet of things devices. Novelty: elements of practical novelty are the solutions proposed in the work, which allows automating individual stages of the vulnerability search process.

    Keywords: IoT, firmware vulnerabilities, vulnerability search, OWASP Firmware Security Testing Methodology 2019.

    Вступ

    Разом з щорічним зростанням кількості IoT пристроїв, зростає потенційна кількість вразливостей у вбудованому програмному забезпеченні цих пристроїв. Від того наскільки швидко буде виявлена ​​уразливість, залежить швидкість випуску патча, який закриває цю уразливість, отже існує потреба в підвищенні ефективності процесу виявленні вразливостей у вбудованому програмному забезпеченні пристроїв інтернету речей. У даній роботі пропонується рішення, що дозволяє підвищити ефективність виявлення вразливостей шляхом автоматизації окремих етапів процесу виявлення вразливостей у вбудованому програмному забезпеченні IoT пристроїв.

    Аналіз етапів виявлення вразливостей

    Процес пошуку вразливостей у вбудованому програмному забезпеченні за методологією OWASP Firmware Security Testing Methodology 2019 складається з наступних етапів [1], [2]:

    1.Сбор інформації. На даному етапі вивчається технічна документація, інструкції.

    2.Отримання прошивки. Прошивка може бути отримана наступним чином: від команди розробників або клієнта, може бути зібрана з нуля, з використанням інструкції від виробника, може бути отримана з сайту виробника, то, можливо залучена безпосередньо з апаратного забезпечення через UART, JTAG, PICit і т.д.

    3.Аналіз прошивки. Після отримання образу прошивки, вивчаються аспекти файлу і його характеристики, перевіряється не зашифрований чи бінарний файл, перевіряється його ентропія [3].

    4.Ізвлеченіе файлової системи. Виходячи з даних, отриманих на попередньому етапі, з прошивки витягується файлова система (і завантажувач).

    5.Анализ вмісту файлової системи. На цьому етапі збираються дані для етапів аналізу часу виконання і динамічного аналізу.

    б.Емуляція прошивки. Використовуючи дані, отримані на попередніх етапах, прошивка, а також інкапсульовані виконавчі файли можуть бути емулювати для перевірки потенційних вразливостей.

    7.Дінаміческій аналіз. На цьому етапі виконується динамічне тестування, коли пристрій працює в нормальній емульованого середовищі. Цілі на цьому етапі можуть варіюватися в залежності від проекту та рівня наданого доступу. Як правило, даний етап включає в себе аналіз завантажувача конфігурації, веб-тестування і API, фаззінга (мережеві і прикладні сервіси) [4], а також активне сканування.

    8.Аналіз часу виконання. Аналіз під час виконання включає в себе підключення до працюючого процесу або бінарного файлу, поки пристрій працює в своїй нормальній або імітованого будь-середовищі [4].

    9.Бінарная експлуатація. Після виявлення уразливості в довічним файлі на попередніх етапах необхідно належне підтвердження концепції (PoC) для демонстрації реального впливу і ризику.

    Проаналізувавши етапи виявлення вразливостей у вбудованому програмному забезпеченні і доступні на даний момент набори різних інструментів і утиліт, можна зробити висновок, що окремі етапи процесу можуть бути автоматизовані повністю, або частково.

    Етап аналізу прошивки, для якого в основному використовуються наступні інструменти і утиліти: file, binwalk, strings, hexdump, може бути автоматизований. Необхідно автоматично отримувати з бінарного файлу прошивки архітектуру, під яку він скомпільовано, версію ядра і версію операційної системи. У разі помилки вилучення цих даних, необхідно перевіряти ентропію файлу [3]. Потім всю отриману інформацію формувати у вигляді звіту і у вигляді вихідного файлу, необхідного для наступних етапів.

    Для етапу вилучення файлової системи використовуються наступні інструменти і утиліти: binwalk, dd, unsquashfs, cpio, jefferson, ubidump.py, firmware-mod-kit [3]. Утиліта binwalk (з ключем -e) дозволяє автоматично отримувати деякі файлові системи, але в ній не реалізовано витяг наступних файлових систем: squashfs, ubifs, romfs, jffs2, yaffs2, cramfs, initramfs. Для даних файлових систем необхідно реалізувати автоматичний розрахунок зміщення, використовуючи вихідні дані з минулого етапу, а потім їх автоматичне вилучення. Вихідними даними для наступних етапів є директорія з розпакованої файлової системою.

    В ході етапу аналізу файлової системи необхідно автоматизувати пошук застарілих небезпечних сервісів, пошук в CVE-базах і Exploit-базах за версіями знайдених сервісів, пошук жорстко закодованих облікових даних (імена користувачів, паролі, ключі API, ключі SSH), функціонал оновлення прошивки, який може використовуватися в якості точки входу [2]. Після закінчення роботи необхідно формувати вихідні дані для наступних етапів і звіт з відповідною інформацією.

    За рахунок введення автоматизації окремих етапів процесу виявлення вразливостей у вбудованому програмному забезпеченні IoT пристроїв, підвищується швидкість всього процесу в цілому. Також при автоматизації виключається людський фактор, що знижує ймовірність помилки, тобто підвищує точність і повноту [5].

    Таким чином, показниками ефективності функціонування об'єкта дослідження були визначені швидкість точність і повнота процесу виявлення вразливостей у вбудованій програмному забезпеченні. Далі необхідно визначити методи і засоби вимірювання цих параметрів.

    Розрахунок виявлених показників ефективності процесу

    Час витрачений на весь процес пошуку вразливостей у вбудованому по можна представити у вигляді суми витраченого часу на кожен окремий етап даного процесу, тобто:

    1'manual = 1ab + ^ ext + Тап + Toth (1)

    де Tab - час витрачений на ручний аналіз прошивки, Text - час витрачений на ручне витяг файлової системи і завантажувач, Тап - час витрачений на ручний аналіз файлової системи і завантажувач, Toth - час витрачений на інші етапи аналізу.

    Так як в роботі етап аналізу файлової системи і завантажувач автоматизується частково (автоматизується тільки аналіз файлової системи), то Тап можна представити у вигляді суми часу витраченого на ручний аналіз файлової системи і аналіз завантажувача:

    Tan = tfs + tboot (2)

    Тоді час витрачений на процес пошуку вразливостей у вбудованому програмному забезпеченні з автоматизацією окремих етапів, можна представити наступною формулою:

    Tauto = Taab + Taext + ta.fs + tboot + Toth, (3)

    де Taab - час витрачений на автоматичний аналіз заголовків прошивки, Taext - час витрачений на автоматичне вилучення файлової системи і завантажувач, ta ^ s - час витрачений на автоматичний аналіз

    файлової системи, thoot - час витрачений на ручний аналіз завантажувача, Toth - час витрачений на інші етапи аналізу.

    Щоб розрахувати у скільки разів підвищиться швидкість процесу необхідно розділити весь час, витрачений на ручний аналіз на весь час, витрачений на аналіз, який використовує автоматизацію окремих етапів:

    I Тmanual ...

    Kt = -, отже: (4)

    Tauto

    i _ _ ^ ab + ^ ext + Tgn + ^ oth_

    = (5) Taab + Taext + ta.fs + tboot + Toth

    Точність роботи можна визначити виходячи з числа вірно знайдених вразливостей і числа помилкових спрацьовувань:

    a

    V = - + T, (6)

    a + b

    де a - кількість вірно знайдених вразливостей, а - кількість помилкових спрацьовувань.

    Також можна розрахувати повноту роботи виходячи з кількості вірно знайдених вразливостей і кількості, не знайдених вразливостей:

    а

    Г = -, (7)

    а + з

    де а - кількість вірно знайдених вразливостей, з - кількість не знайдених вразливостей.

    Далі необхідно розрахувати F-міру, яка використовується як єдина метрика, яка об'єднує метрики повноти і точності в одну метрику.

    2

    F =

    1 + 1, (8)

    р г

    де р - точність процесу, г - повнота процесу.

    Щоб розрахувати у скільки разів підвищиться точність і повнота процесу необхідно розділити значення F -заходи ручного аналізу на значення F-заходи для аналізу з автоматизацією окремих етапів:

    7 Fmanual

    kF = - (9)

    гauto

    висновок

    Для підвищення ефективності процесу виявлення вразливостей у вбудованому програмному забезпеченні IoT пристроїв, були проаналізовані всі етапи даного процесу. Потім були описані способи повної, або часткової автоматизації відповідних етапів, що дозволить збільшити швидкість, точність і повноту процесу виявлення вразливостей.

    Конфлікт інтересів Conflict of Interest

    Не вказано. None declared.

    Список літератури / References

    1. Kolehmainen S. Security of firmware update mechanisms within SOHO routers / Kolehmainen S. // University of Jyvaskyla, Finland 2019, pp. 3-97.

    2. Jeannotte B. Artorias: IoT Security Testing Framework / B. Jeannotte and A. Tekeoglu // 2019 26th International Conference on Telecommunications (ICT), Hanoi, Vietnam, 2019, pp. 233-237. doi: 10.1109 / ICT.2019.8798846

    3. Ma Y. SVM-based Instruction Set Identification for Grid Device Firmware / Y. Ma, L. Han, H. Ying, S. Yang, W. Zhao and Z. Shi // 2019 IEEE 8th Joint International Information Technology and Artificial Intelligence Conference (ITAIC), Chongqing, China, 2019, pp. 214-218. doi: 10.1109 / ITAIC.2019.8785564

    4. Prashast S. FirmFuzz: Automated IoT Firmware Introspection and Analysis. / Prashast Srivastava, Hui Peng, Jiahao Li, Hamed Okhravi, Howard Shrobe, and Mathias Payer // In Proceedings of the 2nd International ACM Workshop on Security and Privacy for the Internet-of-Things (IoT S&P'19). 2019, ACM, New York, NY, USA, 15-21. doi: https://doi.org/10.1145/3338507.3358616

    5. Markov A. The experience of comparison of static security code analyzers / Markov A., Fadin A., Shvets V., Tsirlov V. // International Journal of Advanced Studies. 2015. V. 5. N 3. P. 55-63.

    6. Барабанов А.В. Статистика виявлення вразливостей програмного забезпечення при проведенні сертифікаційних випробувань / Барабанов О.В., Марков А.С., Фадин А.А., Цирль В.Л. // Питання кібербезпеки. 2017. № 2 (20). С. 2-8.

    7. Z. Zhang. IoT Security: Ongoing Challenges and Research Opportunities / Z. Zhang, MCY Cho, C. Wang, C. Hsu, C. Chen and S. Shieh // 2014 IEEE 7th International Conference on Service-Oriented Computing and Applications, Matsue, 2014 року, pp. 230-234. doi: 10.1109 / SOCA.2014.58

    8. Hossain M.M. Towards an Analysis of Security Issues, Challenges, and Open Problems in the Internet of Things / M. M. Hossain, M. Fotouhi and R. Hasan // 2015 IEEE World Congress on Services, New York, NY, 2015-го, pp. 21-28. doi: 10.1109 / SERVICES.2015.12

    9. A. Riahi. A Systemic Approach for IoT Security / A. Riahi, Y. Challal, E. Natalizio, Z. Chtourou and A. Bouabdallah // 2013 IEEE International Conference on Distributed Computing in Sensor Systems, Cambridge, MA, 2013, pp. 351-355. doi: 10.1109 / DCOSS.2013.78

    10. Zhou N.D. IoT as a Land of Opportunity for DDoS Hackers / N. Vlajic, D. Zhou // in Computer, vol. 51, no. 7, pp. 2634, July 2018. doi: 10.1109 / MC.2018.3011046

    Список літератури англійською мовою / References in English

    1. Kolehmainen S. Security of firmware update mechanisms within SOHO routers / Kolehmainen S. // University of Jyvaskyla, Finland 2019, pp. 3-97.

    2. Jeannotte B. Artorias: IoT Security Testing Framework / B. Jeannotte and A. Tekeoglu // 2019 26th International Conference on Telecommunications (ICT), Hanoi, Vietnam, 2019, pp. 233-237. doi: 10.1109 / ICT.2019.8798846

    3. Ma Y. SVM-based Instruction Set Identification for Grid Device Firmware / Y. Ma, L. Han, H. Ying, S. Yang, W. Zhao and Z. Shi // 2019 IEEE 8th Joint International Information Technology and Artificial Intelligence Conference (ITAIC), Chongqing, China, 2019, pp. 214-218. doi: 10.1109 / ITAIC.2019.8785564

    4. Prashast S. FirmFuzz: Automated IoT Firmware Introspection and Analysis. / Prashast Srivastava, Hui Peng, Jiahao Li, Hamed Okhravi, Howard Shrobe, and Mathias Payer // In Proceedings of the 2nd International ACM Workshop on Security and Privacy for the Internet-of-Things (IoT S&P'19). 2019, ACM, New York, NY, USA, 15-21. doi: https://doi.org/10.1145/3338507.3358616

    5. Markov A. The experience of comparison of static security code analyzers / Markov A., Fadin A., Shvets V., Tsirlov V. // International Journal of Advanced Studies. 2015. V. 5. N 3. P. 55-63.

    6. Barabanov A.V. Statistika vyyavleniya uyazvimostej programmnogo obespecheniya pri provedenii sertifikacionnyh ispytanij [Software vulnerability detection statistics for certification testing] / Barabanov A.V., Markov A.S., Fadin A.A., Cirlov V.L. // Voprosy kiberbezopasnosti. 2017. № 2 (20). P. 2-8. [In Russian]

    7. Z. Zhang. IoT Security: Ongoing Challenges and Research Opportunities / Z. Zhang, MCY Cho, C. Wang, C. Hsu, C. Chen and S. Shieh // 2014 IEEE 7th International Conference on Service-Oriented Computing and Applications, Matsue, 2014 року, pp. 230-234. doi: 10.1109 / SOCA.2014.58

    8. Hossain M.M. Towards an Analysis of Security Issues, Challenges, and Open Problems in the Internet of Things / M. M. Hossain, M. Fotouhi and R. Hasan // 2015 IEEE World Congress on Services, New York, NY, 2015-го, pp. 21-28. doi: 10.1109 / SERVICES.2015.12

    9. A. Riahi. A Systemic Approach for IoT Security / A. Riahi, Y. Challal, E. Natalizio, Z. Chtourou and A. Bouabdallah // 2013 IEEE International Conference on Distributed Computing in Sensor Systems, Cambridge, MA, 2013, pp. 351-355. doi: 10.1109 / DCOSS.2013.78

    10. Zhou N.D. IoT as a Land of Opportunity for DDoS Hackers / N. Vlajic, D. Zhou // in Computer, vol. 51, no. 7, pp. 2634, July 2018. doi: 10.1109 / MC.2018.3011046


    Ключові слова: OWASP FIRMWARE SECURITY TESTING METHODOLOGY 2019 /VULNERABILITY SEARCH /FIRMWARE VULNERABILITIES /IOT /ПОШУК вразливих /ВРАЗЛИВОСТІ У програмно-апаратних засобів

    Завантажити оригінал статті:

    Завантажити