---
# System prepended metadata

title: Занятие 1. Прошивки и с чем их едят.
tags: [Analysis of system app and Virology]

---

# Занятие 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)


