Валентин Холмогоров - Pro Вирусы
- Название:Pro Вирусы
- Автор:
- Жанр:
- Издательство:ООО «Страта»
- Год:2015
- Город:СПб.
- ISBN:978-5-906150-31-8
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Валентин Холмогоров - Pro Вирусы краткое содержание
Время энтузиастов-одиночек, создававших компьютерные вирусы на заре информационной эпохи, давно прошло: в наши дни разработкой и распространением вредоносных программ занимаются хорошо организованные преступные группировки, имеющие жесткую иерархию и напоминающие по своей структуре настоящие мафиозные кланы. Объем этого подпольного рынка составляет сотни миллионов долларов.
Книга рассказывает об истории возникновения и развития технологий компьютерных вирусов, их разновидностях, внутренней архитектуре, способах распространения и принципах действия. Книга позволит читателям познакомиться с таинственным теневым миром киберпреступности, представители которого ежедневно осуществляют атаки на компьютеры простых пользователей по всему миру.
Pro Вирусы - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Когда программа запускается на выполнение, ОС Windows создает для нее отдельный процесс , выделяя для приложения определенный объем памяти. В начале каждого исполняемого файла перечислены имена динамических библиотек, которые использует это приложение: система осуществляет их поиск (в папке, где установлена сама программа, или в системных директориях Windows), аллоцирует (выделяет) память в процессе работающего приложения и загружает туда эти библиотеки. Когда программа вызывает какую-либо функцию, нужную ей для работы в данной момент времени, она автоматически определяет, в какой библиотеке и по какому адресу хранится данная функция, после чего строит специальную таблицу зависимости вида «имя функции — имя библиотеки — адрес функции внутри библиотеки» (она называется таблицей импорта функций), отыскивает нужный адрес в памяти процесса и передает на него управление (рис. 14).
Рис. 14. Стандартный механизм работы приложения и перехват вызовов функций с передачей управления на вредоносный объект Собственно, задача «хукинга» заключается в том, чтобы «убедить» программу, будто нужная ей функция хранится не по этому адресу, а расположена в другом месте, например, в совершенно иной динамической библиотеке, которая была предварительно встроена в процесс методом инжекта .
Практически перехват вызовов функций осуществляется обычно перестановкой указателя, то есть, изменением содержимого этой самой «таблицы зависимостей» таким образом, чтобы имя вызываемой функции ссылалось в конечном итоге на нужный злоумышленнику адрес функции в памяти процесса.
Второй метод носит наименование code injection и заключается в том, что злоумышленник непосредственно в памяти процесса заменяет первые байты кода самой функции, вставляя туда инструкцию безусловного перехода на собственную, вредоносную функцию, после выполнения которой управление (в случае необходимости) возвращается обратно оригинальной функции. Этот метод чуть более сложен в реализации и потому встречается на практике реже.
Так, некоторые банковские троянцы при запуске снимают хуки с ряда функций системных библиотек с целью обхода различных инструментальных средств, позволяющих исследовать вредоносную программу — таким образом реализуется механизм антиотладки. Установка перехватов вызовов функций широко используется и в целях непосредственного выполнения приложением деструктивных действий.
Например, встроившись в процесс Проводника, некоторые троянцы могут перехватывать вызов функции ZwQueryDirectoryFile с целью сокрытия собственных файлов на диске инфицированного компьютера — при обращении к такому файлу будет автоматически установлен код ошибки STATUS_NO_SUCH_FILE. Нередко установка хуков на определенные функции применяется троянцами-шпионами для «просеивания» сетевого трафика (сниффинга) в поисках логинов и паролей.
Существует огромное количество практических задач, которые могут быть реализованы с использованием установки тех или иных хуков. Фактически перехват вызовов функций открывает перед злоумышленниками почти полный контроль над приложением. С помощью хуков, например, можно отслеживать действия пользователя (движения курсора и нажатия кнопок мыши), предотвращать создание или закрытие окон, выгрузку компонентов приложения, перехватывать сообщения от других процессов, контролировать работу приложения с файловыми объектами и т. д.
Например, если злоумышленник хочет, чтобы другая программа не завершила используемый им инфицированный процесс, он может установить хуки на функции открытия и завершения процессов (OpenProcess, TerminateProcess), и в момент вызова этих функций другими процессами осуществлять проверку, не пытаются ли они завершить процесс его вредоносного приложения.
С этой точки зрения горизонты применения технологии перехвата вызовов функций ограничены, по большому счету, только набором самих функций, естественными рамками архитектуры операционной системы и фантазией злоумышленника.
Глава 7. Кто пишет и распространяет вирусы?
Современный мир компьютерной преступности представляет собой огромное число различных представителей пестрого племени злоумышленников. Времена энтузиастов-одиночек давным-давно канули в прошлое: в наши дни разработкой и распространением вредоносных программ занимаются целые группы сетевых злодеев, хорошо структурированные и напоминающие по своей иерархии настоящие мафиозные кланы, в которых каждому участнику отведена строго определенная роль.
По долгу службы мне приходится проводить довольно много времени на различных полуподпольных интернет-форумах, в том числе в «глубоком Интернете», где собираются многочисленные представители компьютерного андеграунда: вирусописатели, хакеры, кардеры, спамеры и прочая творческая интеллигенция эпохи высоких технологий. Коллектив там подбирается, как правило, весьма разношерстный, но достаточно интересный. Да и деньги в этом криминальном бизнесе крутятся немаленькие, по крайней мере, тема из разряда «куда вложить лишние 100 000 долларов» не является на подобных сайтах чем-то особенным. Чем же отличаются друг от друга различные представители «темной стороны» IT-технологий? Каковы источники дохода современных киберкриминальных деятелей? Давайте попробуем обобщить эти сведения в рамках настоящей главы.
Кто такие хакеры?
Всякий раз, когда в Интернете или традиционных СМИ я вижу новостные заголовки из разряда «Хакеры организовали очередную вирусную атаку» или «База данных интернет-магазина была похищена хакерами», мне нестерпимо хочется отыскать написавшего это журналиста и стукнуть его по голове чем-нибудь тяжелым. Когда-то, работая редактором компьютерного журнала, я безжалостно вымарывал подобные строки из поступавших в издательство материалов. «Почему ты с таким упорством защищаешь хакеров?» — недоумевали коллеги. «Потому что они ни в чем не виноваты», — всякий раз отвечал я.
Истинное происхождение термина «хакер» сейчас, наверное, установить уже невозможно: предполагается, что оно зародилось в кампусах и аудиториях Массачусетского Технологического университета еще в 60-х годах прошлого столетия. Бытует мнение, что словечко попало в обиход компьютерщиков из жаргона хиппи, где глагол «to hack» означал отнюдь не «взламывать», как это считается сейчас, а «соображать», «врубаться». Собственно, в 70-х «хакерами» как раз и называли тех, кто «врубается» в принципы работы компьютеров, глубоко понимает происходящие в них процессы — то есть высококвалифицированных IT-специалистов, программистов, разработчиков. Хакеры — это прежде всего исследователи, настоящие ученые из мира высоких технологий, те самые косматые парни в очках, сквозь толстые стекла которых можно поджигать муравьев. Настоящие хакеры никогда не взламывали чужие приложения или серверы ради наживы, и уж тем более не совершали преступлений — разве что порой использовали свои знания для организации безобидных розыгрышей. Говорят, один предприимчивый парень, сконструировав «bluebox» — устройство, позволявшее «обманывать» аппаратуру телефонных сетей — однажды сумел дозвониться самому Папе Римскому. Порой хакеры использовали свои умения в личных целях, но все равно старались не наносить компьютерным системам и их пользователям серьезного вреда. По большому счету, хакерами можно назвать Стива Возняка и Билла Гейтса, Линуса Торвальдса и Ричарда Столлмана. Даже создатель первой в истории человечества электронно-вычислительной машины Конрад Цузе был своего рода хакером, хотя в его времена такого понятия не существовало вовсе.
Читать дальшеИнтервал:
Закладка: