Моніторинг вводу з клавіатури в середовищі ОС Windows - Программирование, компьютеры и кибернетика курсовая работа
Главная
Программирование, компьютеры и кибернетика
Моніторинг вводу з клавіатури в середовищі ОС Windows
Характеристика клавіатурних шпигунів та захист від них. Засоби для стеження введення з клавіатури. Програми моніторинг введенням клавіатури. Стеження за клавіатурним введенням за допомогою пасток та опитування клавіатури. Апаратні клавіатурні шпигуни.
посмотреть текст работы
скачать работу можно здесь
полная информация о работе
весь список подобных работ
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
" Моніторинг вводу з клавіатури в середовищі ОС Windows"
1. Характеристика предметної області
1.2 Засоби для стеження вводу з клавіатури
1.3 Програми моніторинг вводу клавіатури
1.4 Захист від клавіатурних шпигунів
2. Програмна реалізація моніторингу вводу з клавіатури
• драйвер-фільтр в поєднанні з керуючим додатком, який виконує установку, завантаження та налаштування драйвера. Драйвер передає інформацію про натискати клавішу керуючому додатку, яке виробляє обробку та протоколювання отриманих даних;
• повністю автономний драйвер самостійно веде запис подій. В даному випадку потрібно тільки зробити первинну установку драйвера в систему, після чого встановило драйвер додаток може самознищитися. Можливе рішення і без додатка-інсталятора - в цьому випадку драйвер встановлюється за допомогою INF-файлу.
У момент завантаження драйвер повинен підключитися до стеку клавіатурного драйвера за допомогою функцій IoCreateDevice і IoAttachDevice. У більшості відомих реалізацій фільтр підключається до стека пристрої «\ \ Device \ \ KeyboardClass0», що є драйвером класу і реалізує загальну функціональність для клавіатур різних типів.
Підміна драйвера клавіатури. Даний метод в дійсності заснований на підміні драйвера Kbdclass або одного з низькорівневих драйверів клавіатури драйвером власної розробки. Складність реалізації зазначеного методу полягає в тому, що заздалегідь невідомий тип застосовуваної користувачем клавіатури, а тому підміну драйвера порівняно просто виявити. Внаслідок цього подібний метод практично не зустрічається.
Клавіатурний шпигун на базі руткіт-технології в UserMode
Принцип дії такого клавіатурного шпигуна заснований на перехопленні ряду функцій USER32.DLL для моніторингу їх викликів. Дані шкідливі програми поки не отримали особливого поширення, але це тільки питання часу. Небезпека застосування руткіт-технології в клавіатурному шпигуна пояснюється тим, що, по-перше, багато антікейлоггери не розраховані на пошук шпигунів такого типу і не здатні їм протидіяти, а по-друге, антіруткіти часто не перевіряють перехоплення функцій бібліотеки user32.dll.
Принцип роботи шпигуна досить простий: за допомогою будь-якої з відомих руткіт-технологій виробляється перехоплення однієї або декількох функцій, що дозволяють отримати контроль над вводиться з клавіатури інформацією. Найпростішим є перехоплення функцій GetMessage і PeekMessage.
Подібний клавіатурний шпигун дуже небезпечний, тому що:
• він не виявляється стандартними методиками пошуку клавіатурних шпигунів;
• можливе впровадження перехоплювача за певними умовами, внаслідок чого він впроваджується не в усі GUI-процеси, а в строго певні (наприклад, в процеси браузера або в додаток типу WebMoney);
• проти нього не діють екранні клавіатури і інші засоби боротьби з клавіатурними шпигунами;
• крім перехоплення функцій PeekMessage і GetMessage, можуть бути перехоплені функції копіювання інформації при роботі з буфером обміну (OpenClipboard, CloseClipboard, GetClipboardData, SetClipboardData), опитування стану клавіатури (GetKeyState, GetAsyncKeyState, GetKeyboardState) та інші функції user32.dll, що посилює небезпеку шпигуна, а перехоплення функцій типу CreateWindow дозволяє відстежувати створення вікон.
Клавіатурний шпигун на базі руткіт-технології в KernelMode
Принцип дії шпигуна даного типу аналогічний UserMode, але в даному випадку проводиться перехоплення однієї або декількох функцій win32k.sys. Як і у випадку з UserMode, найбільший інтерес для перехоплювача представляє функція PeekMessage і її аналоги, оскільки це дозволяє проводити моніторинг і модифікацію абсолютно всіх одержуваних програмою повідомлень без установки пастки або фільтра.
Алгоритм роботи шпигуна досить простий. Додаток викликає функцію бібліотеки user32.dll. Функція PeekMessage в user32.dll за своєю суттю є перехідником, а в кінцевому рахунку за допомогою SYSCALL в Windows XP або INT 2E в Windows NT і Windows 2000 буде проведений виклик функції ядра. Цей виклик буде перехоплений шпигуном (місце розташування перехоплювача залежить від методики перехоплення). Перехоплювач, в свою чергу, викличе реальну функцію і проаналізує повернуті їй результати. У разі успішного витягу з черги повідомлення потрібного шпигунові типу він справить його аналіз і запам'ятовує результати. Робота шпигуна абсолютно непомітна для всіх додатків, і виявити його можна тільки спеціальними програмами, що виробляють пошук перехоплень і модифікації машинного коду модулів ядра.
• фізичний пошук і усунення апаратного кейлоггера;
• використання віртуальних клавіатур для введення особливо важливої інформації (логіни, паролі, коди доступу, PIN-коди кредитних карт).
Методики пошуку клавіатурних шпигунів:
• Пошук по сигнатурах. Даний метод не відрізняється від типових методик пошуку вірусів. Сигнатурний пошук дозволяє однозначно ідентифікувати клавіатурні шпигуни, при правильному виборі сигнатур ймовірність помилки практично дорівнює нулю. Однак сигнатурний сканер зможе виявляти заздалегідь відомі і описані в його базі даних об'єкти.
• Евристичні алгоритми. З назви зрозуміло, що це методики пошуку клавіатурного шпигуна по його характерним особливостям. Евристичний пошук носить імовірнісний характер. Як показала практика, цей метод найбільш ефективний для пошуку клавіатурних шпигунів найбільш поширеного типу - тих, що засновані на пастках. Однак подібні методики дають багато помилкових спрацьовувань. Мої дослідження показали, що існують сотні безпечних програм, які не є клавіатурними шпигунами, але встановлюють пастки для стеження за клавіатурним введенням і мишею. Найбільш поширені приклади - програми Punto Switcher, словник Lingvo, програмне забезпечення для мультимедійних клавіатур і мишей.
• Моніторинг функцій Windows API, що використовуються клавіатурними шпигунами. Дана методика заснована на перехопленні ряду функцій, застосовуваних клавіатурним шпигуном, - зокрема функцій SetWindowsHookEx, UnhookWindowsHookEx, GetAsyncKeyState, GetKeyboardState. Виклик даних функцій яким додатком дозволяє вчасно підняти тривогу, проте проблеми численних помилкових спрацьовувань будуть тими ж, що і при застосуванні методу 2.
• Відстеження використовуваних системою драйверів, процесів і сервісів. Це універсальна методика, вживана не тільки проти клавіатурних шпигунів. У найпростішому випадку можна застосовувати програми типу Kaspersky Inspector або Adinf, які відстежують появу в системі нових файлів.
- 24 - Прапорець додаткової клавіші. Дає відмітна ознака для деяких клавіш розширеної клавіатури.
- 25 - Біт "Байдужий стан". Прикладна програма, яка викликає цю функцію встановлює цей біт, щоб вказати, що функція не повинна розрізняти, наприклад, між лівими і правими клавішами CTRL і SHIFT.
Для збереження інформації використовуємо лог. Лог-файл це такий файл, в який записується інформація про виконання програми.
if ((GetKeyState(VK_CAPITAL) &0x0001)!=0 ||
((GetKeyState(VK_SHIFT) &0x8000)!=0)) {
LRESULT CALLBACK hookProc(int nCode,
GetKeyNameTextA(sc,keyNameBuff,16);
std::transform(myKey.begin(), myKey.end(),
return CallNextHookEx(NULL, nCode, wParam, lParam);
while (GetMessage(&message,NULL,0,0))
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
keyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL,
Рис. 2.1. Результат виконання програми
1. Системное программное обеспечение / А.В. Гордеев, А.Ю. Молчанов. - СПб.: Питер, 2001. - 736 с
2. Пратт Т., Зелковиц М. Языки программирования: реализация и разработка. - СПб.: Питер, 2001
3. Д.Кнут Искусство программирования для ЭВМ. Сортировка и поиск. М.: Мир, 1978. 843 с.
4. Щеглов А.Ю. Защита компьютерной информации от несанкционированного доступа. - Санкт-Петербург : Наука и техника, 2004. - 384 с.
5. Стаття «Охота за шпионом, или АнтиКейлоггер» [Електронний ресурс] - режим доступу: http://www.sources.ru/magazine/0805/antikeylogger.html - , вільний.
6. Статті [Електронний ресурс] - режим доступу: http://articles.org.ru/ - , вільний.
Структурна схема та принцип дії ємнісної та фотоелектричної клавіатури. Функції герконових, мембранних клавіш та безконтактних перемикачів. Схема та скен-коди стандартної клавіатури. Структурна схема перетворювача Хола. Структура контролера клавіатури. реферат [562,6 K], добавлен 14.04.2010
Відтворювання динаміком звуків різної частоти. Обробка і видача звуків через динамік. Програмування мікросхеми таймера. Генерація звуку за допомогою адаптера інтерфейсу. Використання клавіатури в якості емулятора клавіатури музичного інструмента. курсовая работа [838,7 K], добавлен 09.01.2013
Огляд низькорівневих команд. Застосування мнемонічних позначень та макровизначень (макросів). Різниця між мовою асемблера та мовою машинних кодів. Асемблери для DOS, Microsoft Windows та GNU/Linux. Принцип роботи контролера клавіатури і його інтерфейс. курсовая работа [30,0 K], добавлен 19.11.2010
Створення двух файлів В1 і В2 з шести двоцифрових цифр з введенням в довільному порядку цифр з клавіатури із записуванням парних цифр в файл В3, а непарних - у файл В4. Процес розробки програми за допомогою мови "Асемблер". Блок-схема алгоритму задачі. курсовая работа [37,6 K], добавлен 26.11.2011
Розробка програми стеження за натиснутими клавішами клавіатури. Програмне забезпечення, необхідне для функціонування програми, мови програмування. Опис логічної структури, алгоритм програми та її зв'язок з іншими програмами. Характер та організація даних. курсовая работа [375,4 K], добавлен 01.04.2016
Порядок здійснення та критерії стандартизації клавішних пристроїв. Характеристика та особливості розкладки розширених 101- і 102-клавішних клавіатур, 104-клавішної Windows-клавіатури, їх області та функції. Скен-коди та ASCII-коди стандартної клавіатури. реферат [212,5 K], добавлен 14.04.2010
Клавіатура як один з найважливіших пристроїв комп’ютера, її призначення та конфігурація. Основні види клавіатури, їх характеристика та відмінні риси, порядок і правила діагностування. Методика пошуку несправностей і ремонту. Побудова миші та трекболів. курсовая работа [182,2 K], добавлен 24.05.2009
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .
© 2000 — 2021
Моніторинг вводу з клавіатури в середовищі ОС Windows курсовая работа. Программирование, компьютеры и кибернетика.
Реферат по теме Иерархическое поведение
Добровольный Отказ От Совершения Преступления Курсовая
Quot;ДА" ТЕРАПЕВТИЧЕСКОГО ОБЩЕНИЯ
Курсовая работа по теме Философские воззрения Аврелия Августина
Реферат по теме Формовка пластмасс в ортопедической стоматологии
Курсовая работа по теме Федеральный бюджет: перспективы развития
Реферат по теме Метод расчета скейлинговых констант Фейгенбаума для одномерных дискретных отображений по точкам сверхустойчивых циклов
Реферат по теме Країни Західної Європи (1945 р. - початок ХХІ століття)
Реферат по теме Суб’єктивні суміжні права
Курсовая работа по теме Граматичні категорії діеслова в давньофранцузькій мові
Реферат: Системное программное обеспечение. Скачать бесплатно и без регистрации
Курсовая работа: Проблема влияния региональной периодической печати на общественно-политическую жизнь. Скачать бесплатно и без регистрации
Итоговые Сочинение 11 Класс 2022 Примеры
Реферат: Развитие в Беларуси социальной помощи инвалидам
Проблемы Состояния Здоровья Современной Молодежи Реферат
Курсовая работа по теме Административная власть в управлении
Эссе На Тему Зачем Изучать Историю
Курсовая Работа На Тему Предприятия Развлекательного Бизнеса В Индустрии Гостеприимства
Изложение: Хвастливый воин (Miles gloriosus)
Курсовая работа: Комплектование тракторных агрегатов
Диалекты китайского языка - Иностранные языки и языкознание реферат
Дизайн и оформление холодных блюд и закусок - Кулинария и продукты питания курсовая работа
Гра як засіб соціальної адаптації дитини до умов дитячого садка - Педагогика курсовая работа