Изучение DMA через шину PCI для форенсик-анализа памяти (командный проект)

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Компания АО “Лаборатория Касперского”
Учебный семестр Осень 2017
Учебный курс 3-й курс
Максимальное количество студентов, выбравших проект: 3



Что это за проект?

Изучение DMA-возможностей шины PCI для криминалистического анализа памяти популярных операционных систем

Дано: Переходник USB <-> PCI с возможностью использования DMA и документация к нему.

Цель: Написать программное обеспечение, которое будет позволять получить доступ к физической памяти компьютера и подгрузить сторонние модули в ядра популярных операционных систем.
Программное обеспечение может быть использовано в рамках проведения компьютерных криминалистических экспертиз. Дамп оперативной памяти позволяет увеличить число собираемых цифровых доказательств.

Чему научатся студенты? Что самое интересное в проекте?

  1. Студенты изучат протокол DMA и особенности его реализаций.
  2. Напишут низкоуровневые приложения уровня ядра.

Организация работы (Как студенты будут работать в команде?)

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

Компоненты (Из каких частей состоит проект?)

  1. Знакомство с протоколом PCI и принципами DMA
  2. Создание прототипа для чтения памяти через DMA
  3. Разработка модулей для чтения и записи всего диапазона памяти
  4. Разработка дополнительных модулей

Какие будут использоваться технологии?

DMA, Язык ассемблера, USB 3.0, PCI

Какие начальные требования?

Знание языков C и ассемблера, общее представление о работе менеджера памяти ядра

Темы вводных занятий

  1. Знакомство с командой, разработка плана действий.
  2. Обзор существующих решений.
  3. Детали имплементации протоколов DMA, PCI, USB.
  4. Устройство ядер операционных систем Windows, Linux, macOS.

Критерии оценки

4 - 5 баллов: реализована функциональность, позволяющая читать весь диапазон оперативной памяти какой-нибудь операционной системы.
6 - 7 баллов: реализована функциональность, позволяющая читать и писать весь диапазон оперативной памяти на нескольких ОС, а также обращаться к произвольным файлам на целевом компьютере.
8 - 10 баллов: реализовано чтение и запись всего диапазона RAM на трёх ОС, а также возможность интерактивного взаимодействия с консолью целевого компьютера.

Похожие проекты

https://github.com/ufrisk/pcileech/
http://www.nsaplayset.org/slotscreamer

Контактная информация

Влад Росков
Telegram: @vos_desktop
Почта: vos@vos.uz