# Занятие 1. Прошивки и с чем их едят. ###### tags: `Analysis of system app and Virology` ![](https://i.imgur.com/vZNghKb.png) #### Материалы и описание для самостоятельного изучения: - [Учебник по С++](https://disk.yandex.ru/i/5eZovKHYggKZaw) - [Учебник по Java](https://disk.yandex.ru/d/mtghETjLKE5a3A) - [Учебник по ассемблеру](https://disk.yandex.ru/i/9-4IlVNlEgzWfQ) - [Учебник по основам сетей](https://disk.yandex.ru/i/AbUsH8SQR1FZNA) ## Введение о работе с прошивками Разные роутеры используют разные OS Unix. Самыми популярными являются RedHat и Arch. ## Типы прошивок Аппаратная прошивка — BIOS. Находится в ПЗУ (ROM), которое записывается в момент создания железки. ПЗУ от РПЗУ отличается тем, что РПЗУ возможно перезаписать, ПЗУ только на заводе записывается (например, у микроволновки ПЗУ, у коммутатора — РПЗУ). Чтобы получить доступ к РПЗУ, нужно ввести op-code. После этого его можно перезаписать, ПЗУ нельзя никак. Программная прошивка — OS. Находится в ОЗУ (RAM), к которому имеет доступ пользователь. На нее ставят сервисы apache или nginx. Обычно ищут уязвимости в веб сервисах, а не в прошивке (посмотреть про routersploit) Opcode — Это определенный набор действий, который по результату выполнения определенного прерывания, способен выдать доступ к РПЗУ. *Например:* ``` int 232 ; вызов mov ax, 1 mov dx, 0x0A ; Набор будет случайным. Если во всех регистрах правильный mov cs, 1 ; набор - предоставляет доступ int 232 ; снова вызов ``` *В данном случае были приведены случайные значения, но примерно аналогично выглядит на определенных версиях BIOS* ## Атаки на прошивки Про программную прошивку. Запуск компьютера: bios/uefi → mbr(есть более новые средства) → vbr (ищет ipm) → ipm (переводит ос из real в protected mode) Про аппаратную прошивку. РПЗУ имеет контейнер R (reserve), после того как в R записана новая BIOS полностью (в случае обновления его), ставится флаг, что все готово и в итоге R заменяет РПЗУ. После обмена R содержит прошлую прошивку с возможностью вернуться на нее. Атаковать можно R вместо РПЗУ. R также содержит свой opcode. Но обычно все-таки атакуют ее ![](https://i.imgur.com/2jqy4v0.jpg) Проблема чаще всего не в прошивках а в службах ! ## Чем будем заниматься далее? #### Реверс-инженеринг #### Низкоуровневая разработка #### Анализ архитектур ## Домашнее задание #### Реверс и анализ исходного кода Avaya Inc. ##### Задача: > Научиться анализировать прошивки сетевого оборудования, ознакомиться с "лайфхаками" при анализе псевдокода. ##### Ссылка на бинарь https://disk.yandex.ru/d/PScDsBM27G5OoQ ##### Цель и задача практики нацелена на: > Получение знаний в области анализа программного обеспечения. Благодаря полученным знаниям об архитектуре прошивок, появится возможность самостоятельно реализовывать собственные версии прошивок и систем безопасности для IOT устройств. ## Ответы на вопросы - Как будут проверяться работы? > В индивидуальном порядке составляется отчет по работе. Преподаватель будет беседовать с каждым по отчету. Отчет может быть составлен в свободной форме, главное - в doc/pdf формате. - Что за это будет? > Для тех кто успешно выполняет домашние работы, после беседы с преподавателем может быть предложен оффер на работу. - Как наверстать программу? > Посмотреть в альбомах группы вк, видео лекций и практик для второй группы (dungeon masters). Посмотреть видео лекций технопарка Альтаир, что есть в беседе. > > К следующему занятию стоит повторить: >1. Основы сети >2. Принципы работы загрузки систем OS Unix/Windows >3. Cisco CLI синтаксис и Linux CLI синтаксис команд - Опыт преподавателя в ИТ/ИБ >![](https://i.imgur.com/DDvw4g3.png) - Контакты преподавателя >![](https://i.imgur.com/FVEuYo5.png)