Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Моніторинг активності користувача в ОС Windows XP

Реферат Моніторинг активності користувача в ОС Windows XP





инги програмного типу


Клавіатурні шпигуни (кейлоггери) користувацького режиму - найбільш прості як для реалізації, так і для виявлення, оскільки для перехоплення вони використовують виклики відомих і добре документованих функцій програмного інтерфейсу Win32 API.

Установка пастки для клавіатурних повідомлень

Дана методика є найбільш поширеною для клавіатурних шпигунів, а суть її полягає в застосуванні механізму пасток (hook) операційної системи. Пастки дозволяють спостерігати за повідомленнями, які обробляються вікнами інших програм. Установка і видалення пасток виробляються за допомогою добре документованих функцій бібліотеки user32.dll (функція SetWindowsHookEx дозволяє встановити пастку, UnhookWindowsHookEx - зняти її). При установці пастки вказується тип повідомлень, для яких повинен викликатися обробник пастки. Зокрема, існує два спеціальних типи пасток: WH_KEYBOARD і WH_MOUSE - для реєстрації подій клавіатури і миші відповідно. Пастка може бути встановлена ??для заданого потоку і для всіх потоків системи, причому останнє дуже зручно для побудови клавіатурного шпигуна.

Код обробника подій пастки повинен бути розташований в DLL. Ця вимога пов'язана з тим, що DLL з обробником пастки проектується системою в адресний простір всіх GUI (Graphical user interface) -процесів. Цікавою особливістю є те, що проектування DLL відбувається не в момент установки пастки, а при отриманні GUI-процесом першого повідомлення, що задовольняє параметрам пастки.

Методика пасток дуже проста і ефективна, але у неї є ряд недоліків. Одним з них можна вважати те, що DLL з пасткою проектується в адресний простір всіх GUI-процесів, що може застосовуватися для виявлення клавіатурного шпигуна. Крім того, реєстрація подій клавіатури можлива тільки для GUI-додатків - це легко перевірити за допомогою демонстраційної програми.

Використання циклічного опитування стану клавіатури.

Дана методика заснована на періодичному опитуванні стану клавіатури. Для опитування стану клавіш у системі передбачена спеціальна функція GetKeyboardState, що повертає масив з 255 байт, в якому кожен байт містить стан певної клавіші на клавіатурі. Даний метод вже не вимагає впровадження DLL в GUI-процеси, і в результаті шпигун менш помітний.

Однак зміна статусу клавіш відбувається в момент зчитування потоком клавіатурних повідомлень з його черги, тому подібна методика працює тільки для стеження за GUI-додатками. Цього недоліку позбавлена ??функція GetAsyncKeyState, що повертає стан клавіші на момент виклику функції.

Впровадження в процес і перехоплення функцій Windows API.

Рідко реалізований метод реалізації кейлоггера. Кейлоггер впроваджується в усі процеси і перехоплює в них функції GetMessage або PeekMessage (див. Розділ Обробка повідомлень конкретним вікном ) з бібліотеки user32.dll. Для цього можуть бути використані різні методи: сплайсинг (сплайсинг - метод, який використовується для перехоплення виклику API-функцій; суть методу полягає в заміні декількох (зазвичай 5) перших байт функції інструкцією JMP, передавальної управління коду-перехоплювачу), модифікація таблиці адрес імпортованих функцій IAT, перехоплення функції GetProcAddress, що повертає адресу функції з завантаженою динамічної бібліотеки. Кейлоггер може реалізовуватися у вигляді DLL або за допомогою безпосереднього впровадження коду в цільової процес.

У результаті виходить наступне: коли додаток викликає, наприклад, функцію GetMessage для отримання наступного повідомлення з черги повідомлень, цей виклик приходить в код перехоплювача. Перехоплювач викликає вихідну функцію GetMessage з user32.dll та аналізує повертані результати на предмет типу повідомлень. При отриманні клавіатурного повідомлення вся інформації про нього витягується з параметрів повідомлення і протоколюється кілоггерів.

До переваг слід віднести ефективність: зважаючи на малу поширеності методу лише невелике число програм дозволяє знаходити подібні кейлоггери; крім того, проти подібних кейлоггеров марні стандартні екранні клавіатури, так як їх посилають ними повідомлення також перехоплюються.

Недоліки: модифікація таблиці IAT не гарантує перехоплення, тому адреси функцій бібліотеки user32.dll можуть бути збережені до того, як кейлоггер укорінювався; сплайсинг має свої складнощі, пов'язані, наприклад, з необхідністю переписувати на льоту тіло функції.

. 2. Клавіатурні моніторинги апаратного типу

Для пошуку клавіатурних шпигунів на домашньому комп'ютері цілком достатньо упевнитися у відсутності програм-кілоггерів. Але в корпоративному середовищі, зокрема на комп'ютерах, що застосовуються для виконання банківських операц...


Назад | сторінка 7 з 11 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Резидентний оброблювач клавіатури (перехоплення натискань клавіш і запис у ...
  • Реферат на тему: Перехоплення функцій ядра Windows для захисту процеса
  • Реферат на тему: Інституційні пастки
  • Реферат на тему: Інституційні пастки в економіці РФ
  • Реферат на тему: Монетарна політика в умові пастки ліквідності