Есть вопрос?
Зайди на форум

Поиск:

Denix: русификация Ubuntu и кодеки :: RSS:: Скачать книги Колисниченко в PDF

Англо-русский словарь компьютерных терминов (Д. Колисниченко)

A  B  C  D  E  F  G  H  I  K  L  M  N  O  P  Q  R  S  T  V  W  X  Y  Z 

укрпочта отслеживание посылок перевод денег график отключения света в Кировограде график отключения счета в Киеве график отключения света в Одессе (zip)

Книга Д. Колисниченко Rootkits под Windows. Теория и практика программирования “шапок-невидимок“, позволяющих скрывать от системы данные, процессы, сетевые соединения.

6.5. Таблица дескрипторов прерываний (IDT)

В этой главе мы уже упоминали эту таблицу, теперь поговорим о ней подробнее. Таблица IDT  (Interrupt Descriptor Table) используется для управления обработчиками прерываний.

Прерывание - это событие, когда системе сообщается, что что-то произошло и требуется ее вмешательство. Например, была нажата клавиша на клавиатуре, получен сигнал от модема или попросту произошла какая-то ошибка (деление на 0, выход за пределы диапазона, переполнение буфера). Прерывания бывают аппаратными (IRQ - Interrupt ReQuest) или программными (INT - interrupt). Аппаратные прерывания инициируются "железом", а программные - программным обеспечением.

В таблице IDT 256 записей - по одному для каждого программного прерывания. Представить, что хранится в IDT несложно: адреса обработчиков прерываний и всевозможная дополнительная информация. Но самое главное - это адреса обработчиков прерываний (обработчик прерывания - это обычная подпрограмма (функция), иногда ее еще называют вектором прерывания - Interrupt Vector). Как только произошло прерывание, процессор отыскивает в таблице IDT адрес соответствующего обработчика прерывания, сохраняет адрес возврата в программу, флаги процессора и передает управление обработчику прерывания - переходит на указанный в таблице адрес.

Если у вас несколько процессоров, то у вас будет несколько таблиц IDT - по одной для каждого процессора. Соответственно, каждая таблица IDT будет хранить 256 записей.

Адрес таблицы IDT хранится в регистре IDTR. Для изменения адреса таблицы прерываний вы можете использовать инструкцию LIDT (Load IDT), но пока об этом мы говорить не будем. Если вам не терпится, вы можете прочитать главу 8, но я настоятельно рекомендую вам пока этого не делать - вы пропустите много интересного.

Таблица IDT очень важна для нас. Сейчас объясню почему. Руткит может создать новую таблицу прерываний и с помощью инструкции LIDT загрузить ее адрес в IDTR. Это позволит скрыть модификацию оригинальной таблицы прерываний. Конечно, антивирус может проверить целостность исходной IDT, но руткит может создать копию исходной IDT, загрузить ее адрес в IDTR, что позволит ему остаться незамеченным.

Манипулируя таблицами прерываний, можно полностью контролировать систему - ведь вы можете установить прерывания для всех событий системы (прерываний). У вас может быть две таблицы прерываний - одна для процессора, а другая - для антивируса - это и позволяет "обойти" антивирус.

Прочитать значение IDTR можно с помощью инструкции SIDT (Store IDT). Данная инструкция возвращает значение IDTR в следующем формате:

typedef struct

{

unsigned short IDTLimit;

unsigned short LowIDTbase;

unsigned short HiIDTbase;

}IDTINFO;

Мы уже знаем, что в таблице IDT может быть 256 записей (для прерываний с номерами от 0 до 255). Формат этих записей следующий:

#pragma pack(1)

typedef struct

{

      unsigned short LowOffset;

      unsigned short selector;

      unsigned char unused_lo;

      unsigned char segment_type:4;

      unsigned char system_segment_flag:1;

      unsigned char DPL:2;    // Descriptor Privilege Level -

                             // дескриптор уровня привилегий 

      unsigned char P:1;      // Present - флаг присутствия

      unsigned short HiOffset;

} IDTENTRY;

#pragma pack

 

Данная структура данных используется для поиска обработчика прерывания. В некоторой литературе эта структура называется шлюзом прерывания (interrupt gate). Используя шлюз, программа пользовательского уровня может вызывать подпрограммы уровня ядра.

Наверное, вы уже догадались, как мы можем использовать это в своих целях? Дополнительные шлюзы прерываний могут использоваться руткитом в качестве backdoor'а. Но пока - никакой практики. Более подробно работу с прерываниями мы рассмотрим в главах 5 и 8, а пока будем довольствоваться малым - функцией DriverEntry, выводящей IDT:

NTSTATUS DriverEntry (IN PDRIVER_OBJECT Driver, IN PUNICODE_STRING RegPath)

{

IDTINFO     idt_info;   // переменная для хранения IDT

IDTENTRY* idt_entries;  // указатель на структуру типа IDTENTRY

unsigned long k;        // просто счетчик

// загружаем IDT

_asm sidt, idt_info

idt_entries = (IDTENTRY*)MAKELONG(idt_info.LowIDTbase, idt_info.HiIDTbase);

for (k = 0; k <= 255; k++)

{

char _s[255];

IDTENTRY *I = &idt_entries[k];

unsigned long addr = 0;

addr = MAKELONG(i->LowOffset, i->HiOffset);

 

_snprintf(_s, 253, "INT %d: Vector 0x%08X", k, addr);

DbgPrint(_s);

}

return STATUS_SUCCESS;

}

На главную

Мне нравится!

Сегодня: 16/01

Именинники:  Андрюха aka host

Последние посты форума

Интересная картинка

Samsung Galaxy J2 Prime (SM-G532F)

дааа

Обучение PHP-программированию

Новый дизайн сайта

Возвращение на динамическую страницу сайта

С Новым Годом!

Бесплатный хостинг, SSL сертификат, не ограниченно

капец погода в ноябре у нас

Посоветуйте хостинг

флэшмобы

вот люди где живут... экстрим

авто-дилеры

Программы для Linux

книга Командная строка Linux и автоматизация рутинных задач

Совет:

Книги Д. Колисниченко:

Linux

Командная строка Linux и автоматизация рутинных задач. 2-е изд. Командная строка Linux и автоматизация рутинных задач. 2-е изд.
Рассмотрены команды Linux, основы работы в командной строке, а также настройка системы с помощью программ, обладающих только текстовым интерфейсом. Работа с системой выполняется только в режиме консоли, что требует определенной квалификации пользоват                                                   

Linux. От новичка к профессионалу. 3-е изд.Linux. От новичка к профессионалу. 3-е изд.
Книга ориентирована на "среднего" и квалифицированного пользователя Linux и поможет ему самостоятельно настроить и оптимизировать эту операционную систему. Даны ответы на все вопросы, возникающие при работе с Linux: от установки и настройки этой ОС д                                                   

FreeBSD. От новичка к профессионалуFreeBSD. От новичка к профессионалу
Материал ориентирован на последние версии операционных систем FreeBSD, РУС-BSD, OpenBSD                                                                                                                                                                                                                      

PHP

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

Современный сайт на РНР и JavaScript (+CD)Современный сайт на РНР и JavaScript (+CD)
Эта книга о PHP и не только. С помощью PHP вы легко создадите сайт любого масштаба — от небольшой личной странички до сайта уровня предприятия со сложной панелью управления.                                                                                                                                

PHP 5 в теории и на практикеPHP 5 в теории и на практике
Это продолжение Самоучителя PHP5 с новыми приемами программирования на PHP. Отличный выбор для начинающего PHP-программиста. Книга устарела и не поддерживается.                                                                                                                                            

Интернет/CMS

Joomla 1.5. Руководство пользователяJoomla 1.5. Руководство пользователя
Эта книга - простое и эффективное учебное пособие по освоению и использованию системы управления контентом веб-сайта Joomla 1.5.                                                                                                                                                                             

Новейший самоучитель компьютера и ИнтернетНовейший самоучитель компьютера и Интернет
О такой книге долгие годы мечтали миллионы начинающих пользователей, которые осваивали технику самостоятельно или по непонятным, громоздким руководствам.                                                                                                                                                    

Интернет: от Интернет: от "чайника" к пользователю, 2 изд. (+Видеокурс на CD)
Книга предназначена для начинающего пользователя, поможет ему самостоятельно освоить основы Интернета и начать уверенную работу.                                                                                                                                                                            

Компьютер/Windows

Самоучитель Microsoft Windows 8Самоучитель Microsoft Windows 8
Описаны основные нововведения в Windows 8, особое внимание уделено использованию системы на планшете. Рассмотрена установка системы как на физический компьютер (стационарный, ноутбук, нетбук, планшет), так и на виртуальный (VMware, Virtual Box).                                                        

Microsoft Windows 8. Первое знакомствоMicrosoft Windows 8. Первое знакомство
Описаны основные нововведения в Windows 8. Рассмотрена установка системы как на физический компьютер, так и на виртуальный (VMware, VirtualBox).                                                                                                                                                            

Самоучитель пользователя компьютером. Как самому устранить 90% неисправностей в компьютереСамоучитель пользователя компьютером. Как самому устранить 90% неисправностей в компьютере
Книга подойдет начинающим пользователям, поможет устранить простые неисправности (проблемы), возникающие при работе с ПК. Рассматривается переустановка Windows                                                                                                                                              

Сети

Самоучитель системного администратора. 4-е изд.Самоучитель системного администратора. 4-е изд.
Изложены основные задачи системного администрирования, описаны базовые протоколы, даны рекомендации по выбору оборудования и проведению ежедневных рутинных операций. Подробно раскрыты технологии, используемые при построении информационных систем, опи                                                   

Беспроводная сеть дома и в офисеБеспроводная сеть дома и в офисе
Книга поможет начинающему администратору домашней или офисной сети в кратчайшие сроки развернуть, настроить или модернизировать беспроводную сеть. Отличный выбор для построения сети SOHO                                                                                                                   

Сделай сам компьютерную сеть. Монтаж, настройка, обслуживание. Изд. 2.Сделай сам компьютерную сеть. Монтаж, настройка, обслуживание. Изд. 2.
Книга о настройке сети в Windows (98,NT,XP) и Linux. Является превосходным практическим руководством по созданию и обслуживанию компьютерных сетей.                                                                                                                                                          

Безопасность

Rootkits под Windows. Теория и практика программирования “шапок-невидимок“, позволяющих скрывать от системы данные, процессы, сетевые соединения.Rootkits под Windows. Теория и практика программирования “шапок-невидимок“, позволяющих скрывать от системы данные, процессы, сетевые соединения.
-                                                                                                                                                                                                                                                                                                            

Анонимность и безопасность в Интернете. От Анонимность и безопасность в Интернете. От "чайника" к пользователю
Простым и понятным языком рассказано, как скрыть свое местонахождение и IP-адрес, используя анонимные сети Tor и I2P, посетить заблокированные администратором сайты, защитить личную переписку от посторонних глаз                                                                                          

Автомобили

Что делать, чтобы не надули в автосервисе. Советы и рекомендацииЧто делать, чтобы не надули в автосервисе. Советы и рекомендации
Вы недавно приобрели автомобиль или уже имеете водительский стаж, но при этом особо не вникаете в устройство автомобиля?                                                                                                                                                                                     

Что делать, чтобы не надули в автосервисе. Советы и рекомендацииЧто делать, чтобы не надули в автосервисе. Советы и рекомендации
Вы недавно приобрели автомобиль или уже имеете водительский стаж, но при этом особо не вникаете в устройство автомобиля?                                                                                                                                                                                     

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

Переводные книги

Переводные книгиПереводные книги
Данные книги были переведены мною на русский язык (с английского и чешского). Надеюсь качество перевода вам понравится!                                                                                                                                                                                      

Android

Безопасный Android: защищаем свои деньги и данные от кражиБезопасный Android: защищаем свои деньги и данные от кражи
Рассмотрены различные способы обеспечения безопасности Android-устройств: шифрование персональной информации, хранящейся на устройстве, шифрование передаваемых данных, VPN-соединения, анонимизация трафика                                                                                             

Планшет и смартфон на базе Android для ваших родителейПланшет и смартфон на базе Android для ваших родителей
Книга рассчитана на людей среднего и старшего возраста. Она поможет освоить современный «карманный компьютер» на базе Android, в котором все новое и "не так, как в Windows". Доступным языком описывается, как включить и выключить смартфон и т.д.                                                         

Планшет и смартфон на базе Android для ваших родителей, 2-е изд.Планшет и смартфон на базе Android для ваших родителей, 2-е изд.
Книга знакомит читателя с мобильными устройствами на базе Android. Она написана простым и понятным языком для людей среднего и старшего возраста                                                                                                                                                             

Статьи

Rambler's Top100