X-Shar

Эксклюзив Бесплатный курс - Теоретические основы информационной безопасности для профессионалов от Kaspersky

  • 988
  • 0
Что это за курс

Обучающий курс «Теоретические основы ИБ» подготовлен и проводился в апреле 2022 года аналитиком Kaspersky ICS CERT Екатериной Рудиной. Курс состоит из 5 живых лекций общей продолжительностью около 10 астрономических часов. Мы не стали вырезать из видеоматериалов ответы на вопросы из зала и из чата, спонтанные обсуждения и отходы от темы - на наш взгляд, они представляют не меньший интерес, чем заранее подготовленные материалы.

Некоторые из материалов первоначально использовались при обучении студентов ВУЗов в рамках курса "Теоретические основы компьютерной безопасности". Эти материалы были существенно переработаны и дополнены на основе опыта работы над продуктами и сервисами ЛК, а также по результатам сотрудничества с международными организациями по стандартизации и консорциумами (IEEE, ISO, ITU-T, Industrial IoT Consortium).

Для удобства изучения каждая двухчасовая лекция нарезана на более короткие видеоуроки. Почти каждый видеурок сопровождается кратким...

На заметку KasperskyOS и кибериммунитет

  • 1 035
  • 0
Всем привет!

В этой теме попытался поднять тему безопасности и будущего антивирусов:Информация - Крах антивирусов, или что нас ждет в будущем

В этой-же теме хочу обсудить одно из направлений ЛК, которое отвечает за разработку KasperskyOS.

На самом деле система разрабатывается уже около 10 лет, но только сейчас появились продукты на основе этой ОС, и в будущем думаю неплохие перспективы выйти на рынок таких систем...

Вот тут можно прочитать про эту ОС:
Вот тут про процесс разработки:

Немного расскажу, а зачем вообще нужна ещё одна ОС, если существует куча как специализированных ОС, так и общего применения...

Перевод книги Windows Kernel Programming

  • 3 049
  • 0
Всем привет, закончил "Обзорный перевод книги" Windows Kernel Programming.

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

Более-того понял, что смысла вот так читать книги "От корки, до корки" нет, а нужно читать темы, которые нужны конкретно для решения задач, да конечно не плохо прочитать такую книгу, даже кто не собирается писать драйвера, т.к. в книге показано много трюков С++, которые можно использовать в своих прикладных программах.

Также к сожалению данная книга направлена на совсем новичков в теме, и даёт только набор каких-то базовых знаний и в ней не рассмотрено многие моменты, в частности, что интересно было-бы мне:

• Аппаратные драйверы устройств.
• Сетевые драйверы и фильтры.

Тут я понял, что часто проще даже...

Windows Kernel Programming:Глава 11.Обсуждение различных вопросов по разработке драйверов

  • 603
  • 0
В этой последней главе книги мы рассмотрим различные темы, которые не соответствовали предыдущем главам.

В этой главе:

• Подпись драйвера.
• Средство проверки и отладки драйверов.
• Использование нативных API.
• Драйверы фильтров.
• Монитор устройства.
• Подключение драйвера.
• Библиотеки ядра.

Во вложении pdf для чтения.

Windows Kernel Programming:Глава 10: Введение в файловую систему и мини-фильтры.

  • 737
  • 0
Файловые системы предоставвляют операции ввода-вывода для доступа к файлам. Windows поддерживает несколько файловых систем, прежде всего это NTFS.

Фильтрация файловой системы - это механизм, с помощью которого драйверы могут перехватывать вызовы, адресованные файловой системе. Это полезно для многих типов программного обеспечения, таких как антивирусы, резервное копирование, шифрование и многое другое.

Windows долгое время поддерживала модель фильтрации, известную как фильтры файловой системы, которая сейчас называется устаревшими фильтрами файловой системы.

Была разработана новая модель, называемая мини-фильтрами файловой системы для замены устаревшего механизма фильтрации. Мини-фильтры легче писать во многих отношениях, и они предпочтительный способ разработки драйверов фильтрации файловой системы.

В этой главе:

Введение.
Загрузка и выгрузка драйвера.
Инициализация драйвера.
Установка драйвера.
Обработка операций...

Windows Kernel Programming:Глава 9. Уведомления объектов и реестра

  • 2 097
  • 3
Ядро предоставляет больше способов перехвата определенных операций/событий. Сначала мы рассмотрим объект уведомления, где может быть перехвачено и получение дескрипторов некоторых типов объектов. Далее мы рассмотрим перехват операций реестра.

В этой главе:

- Уведомления об объектах.

- Драйвер защиты процессов .

- Уведомления реестра.

- Внедрение в уведомление реестра.

- Упражнения.

Уведомления об объектах

Ядро предоставляет механизм для уведомления заинтересованным драйверам при попытке открыть или скопировать дескриптор определенных типов объектов.

Официально поддерживаемые типы объектов: процесс, поток.

Для регистрации уведомления существует функция апи ObRegisterCallbacks, прототип которого выглядит так:
C:
NTSTATUS ObRegisterCallbacks (
        _In_ POB_CALLBACK_REGISTRATION CallbackRegistration,
        _Outptr_ PVOID *RegistrationHandle);

Перед регистрацией должна быть инициализирована структура OB_CALLBACK_REGISTRATION, которая...

Windows Kernel Programming:Глава 8:Процессы и потоки, уведомления

  • 2 104
  • 2
Один из мощных механизмов, доступных для драйверов ядра - это возможность получать уведомления, когда происходят важные события. В этой главе мы рассмотрим некоторые из этих событий, а именно создание процесса.

А также создание и разрушение потоков и загрузка образов.

В этой главе:
• Уведомления о процессах.
• Регистрация уведомлений о процессах.
• Предоставление данных в пользовательском режиме.
• Уведомления о потоках.
• Уведомления о загрузке образов.
• Упражнения.

Уведомления о процессах

Каждый раз, когда процесс создается или уничтожается, заинтересованные драйверы могут быть уведомлены ядром об этом факте. Это позволяет драйверам отслеживать процессы, возможно, связывая некоторые данные с этими процессами.

Как минимум, это позволяет драйверам отслеживать создание/уничтожение процесса в
в реальном времени. Под «в реальном времени» я подразумеваю, что уведомления отправляются «в оперативном режиме».

Как часть создания процесса драйвер не может пропустить какие-либо...

Windows Kernel Programming:Глава 7:Пакет запроса ввода/вывода

  • 2 173
  • 3
После того, как типичный драйвер завершает свою инициализацию в DriverEntry, его основная задача — обрабатывать запросы. Эти запросы упакованы в виде
полудокументированной структуры пакета запроса ввода-вывода (IRP).

В этой главе мы более подробно рассмотрим пакеты IRP и то, как драйвер обрабатывает стандартные типы пакетов IRP.

В этой главе:

• Введение в IRP.
• Узлы устройств.
• IRP и расположение стека ввода-вывода.
• Процедуры отправки.
• Доступ к пользовательским буферам.
• Собираем все вместе: Нулевой драйвер.

Введение в IRP

IRP - это структура, которая выделяется из невыгружаемого пула, как правило, одним из «менеджеров» (диспетчер ввода-вывода, диспетчер Plug & Play, диспетчер питания), но также может быть выделена драйвером, возможно, для передачи запроса другому
драйверу.

Как-бы IRP не выделялся, сервис который выделил эту структуру отвечает за его освобождение.

Когда драйвер получает IRP, он получает указатель на стек ввода-вывода в самой структуре IRP...

Windows Kernel Programming:Глава 6.Механизмы ядра

  • 2 476
  • 6
В этой главе обсуждаются различные механизмы, предоставляемые ядром Windows. Некоторые из них полезны для написания драйверов. Другие - это механизмы, которые разработчик драйвера должен понимать, так – как это помогает делать отладку и дает общие понимание устройства системы.

В этой главе:

• Уровень запроса прерывания.
• Отложенные вызовы процедур.
• Асинхронные вызовы процедур.
• Структурированная обработка исключений.
• Системный сбой и отладка.
• Синхронизация потоков.
• Высокая IRQL-синхронизация.
• Рабочие предметы.

Уровень запроса прерывания

В главе 1 мы обсуждали потоки и приоритеты потоков. Эти приоритеты приняты во внимание когда требуется выполнить больше потоков, чем имеется доступных процессоров.

В то же время, аппаратное обеспечение устройства должны уведомлять систему о том, что что-то требует внимания. Простой пример Операция ввода/вывода, выполняемая дисководом.

После завершения операции дисковод уведомляет о завершении, запрашивая прерывание...

Windows Kernel Programming:Глава 5.Изучение отладчиков

  • 4 567
  • 19
Как и в любом программном обеспечении, драйверы ядра обычно имеют ошибки.
Отладка драйверов, в отличие от пользовательского режима, более сложный процесс.
Отладка драйвера по сути отладка всей системы, не просто конкретного процесса или процессов. Это требует другого мышления.
В этой главе будет обсуждаться отладка ядра с использованием отладчика WinDbg.

В этой главе:

• Инструменты отладки для Windows.
• Введение в WinDbg.
• Отладка ядра.
• Полная отладка ядра.
• Мануал по отладке драйверов ядра.

1) Инструменты отладки для Windows

Пакет средств отладки для Windows содержит набор отладчиков, инструментов и документации, сосредоточим внимание на отладчиках в пакете.
Этот пакет может быть установлен как часть Windows SDK или WDK, но никакой реальной «установки» нет.
Установка просто копирует файлы, но не трогает реестр, то есть пакет зависит только от собственных модулей и библиотеки DLL Windows.
Это позволяет легко копировать весь каталог в любой другой каталог...
Верх Низ