Популярен способ блокировки доступа к файлу: файл открывается в режиме монопольного доступа или блокируется с помощью специальной функции; удалить такой файл стандартными способами невозможно. Если попытаться воспользоваться отложенным удалением (во время следующей загрузки), например с помощью программы типа MoveOnBoot, то, скорее всего, запись об этой операции будет через некоторое время удалена либо файл будет переименован.
   Любопытный способ защиты использует червь Feebs. Для борьбы с антивирусами, антируткитами и другими утилитами, пытающимися уничтожить его, он выставляет приманку – замаскированный процесс, не видимый на вкладке Процессы в окне Диспетчера задач. Любое приложение, которое попытается обратиться к этому процессу, уничтожается. Программа может устанавливаться как дополнительный модуль к браузеру Internet Explorer, изменяющий его функциональность. Стандартные средства контроля автозапуска типа msconfig не видят эти параметры, а применение дополнительных утилит для изучения системы требует от пользователя определенной квалификации, поэтому единственный действительно надежный способ уничтожить такую программу – отформатировать жесткий диск и заново установить операционную систему.
   К сожалению, существующие сегодня специализированные программы, предназначенные для обнаружения руткитов, и традиционные антивирусы не дают стопроцентной гарантии безопасности. Обладая исходным кодом этих программ, можно создать любые модификации руткитов или включить часть кода в любую шпионскую программу. Главное умение руткитов – не прочно закрепиться в системе, а проникнуть в нее, поэтому основным правилом для вас должны стать максимальная защита и осторожность.

http://ru.wikipedia.org) дано следующее определение данной уязвимости: «Переполнение буфера – это явление, возникающее, когда компьютерная программа записывает данные за пределами выделенного в памяти буфера».
   В «Новом словаре хакера» Эрика С. Рэймонда сказано, что «переполнение буфера – это то, что с неизбежностью происходит при попытке засунуть в буфер больше, чем тот может переварить».
   Представьте следующую ситуацию. Функция изменения пароля может воспринять пароль длиной не более 256 символов. Чаще всего никто не пользуется паролями длиннее 8–10 символов, поэтому разработчики не предусмотрели проверку строки ввода данных. При попытке ввести более 256 символов, если за данными находился адрес возврата функции, он будет перезаписан и в лучшем случае выполнение программы завершится с ошибкой. Хакеру, обнаружившему такой уязвимый участок, остается подставить в качестве адреса возврата правильный адрес, что переведет управление в любую точку программы на его выбор. В результате может быть выполнен любой произвольный код, который хакер поместил в указанную область памяти, с привилегиями, с которыми выполняется текущая программа.
   Подобные ошибки в программном обеспечении находят чуть ли не ежедневно, но не всегда и не сразу устраняют. Для примера можно просмотреть статистику на специализированных сайтах. Согласно данным Secunia (http://secunia.com) в Microsoft Windows XP Professional не устранено 30 из 201 уязвимостей, обнаруженных с 2003 по начало 2008 года, хотя имеющих статус highly critical (предельно опасный), которые позволяют удаленно выполнить код (то есть фактически получить доступ к системе), в этом списке уже нет. В среднем обнаруживается три-четыре уязвимости в месяц.
   В Internet Explorer 7 не устранено 7 из 21 найденной уязвимости, и некоторые из них имеют статус highly critical. В среднем в месяц обнаруживается одна-две уязвимости. Если учесть все уязвимости, при которых можно удаленно выполнить код в системе, можно сделать вывод, что с этим браузером вообще опасно выходить в Интернет. Internet Explorer позволяет выполнение кода при обработке HTML Help ActiveX, файлов HTA, SWF, ZIP, BMP и JPEG, архивов FTP, Cookies, тега IFRAME и всплывающих окон, то есть для проникновения в систему троянца достаточно зайти на сайт и просмотреть/сохранить рисунки или архив ZIP.
   Внимание!
   Найденные уязвимости далеко не всегда устраняются сразу, часто они присутствуют годами.
   В операционной системе Windows код Internet Explorer используют и многие другие приложения (почтовый клиент Outlook Express, Проигрыватель Windows Media и др.), отчего увеличивается вероятность поражения. Например, существует JPEG-эксплоит, который использует ошибку в системной библиотеке, возникающую при обработке графических JPEG-файлов. Эта ошибка позволяет заразить компьютер через любую программу – Outlook Еxpress или любой другой почтовый клиент, показывающий JPEG-картинки.
   Следует также обратить внимание на возможность вывода в адресной строке Internet Explorer адреса, не соответствующего адресу загруженного сайта (такой вид атаки называется URL-спуфинг), и отображение всплывающих окон, которые, как думает пользователь, принадлежат просматриваемой в браузере странице, а также модификация заголовка окна или информации в строке состояния.
   По данным различных источников, именно Internet Explorer сегодня является самым популярным веб-браузером, так как он интегрирован в Windows. Поэтому данная программа будет привлекать внимание злоумышленников, желающих реализовать свои замыслы, ведь вероятность того, что пользователь придет на специально созданный ресурс именно с Internet Explorer, остается самой высокой.
   Давайте посмотрим, что на сегодня можно сказать о самом известном из бесплатных браузеров – Mozilla Firefox 2. В нем обнаружено 19 уязвимостей, из которых не устранено четыре. Самая опасная из них имеет статус less critical (ниже критического). Использовав эти уязвимости, получить полное управление компьютером невозможно, злоумышленник может лишь раскрыть некоторую системную информацию, поэтому следует признать, что положение этого браузера лучше, чем Internet Explorer.
   Таким образом, оптимальным решением будет использование альтернативных приложений. Вместо Internet Explorer для серфинга можно применять, например, Mozilla Firefox, вместо Outlook Еxpress – The Bat! и т. д. У этих программ ситуация с безопасностью лучше.
   Следует также периодически устанавливать обновления и использовать новые версии программ, в которых устранены старые ошибки (возможные новые ошибки – это уже другой вопрос). Правда, размер обновлений подчас до стигает нескольких десятков мегабайт и кроме Internet Explorer и Windows необходимо обновлять другие продукты, следовательно, трафик может быть накладным для бюджета. В таком случае следует ограничиться хотя бы обновлениями, устраняющими критические ошибки.
   Наверняка вы задаетесь вопросом: неужели за столько лет никто не пытался бороться с переполнением буфера? Конечно же, пытались. Ведь разработка атакующих программ за несколько десятилетий переросла чистый энтузиазм и приняла коммерческую основу, что говорит о нарастающей опасности.
   На борьбу с данной уязвимостью направлены такие утилиты, как, например, Stack-Guard. Первоначально она была разработана для Unix-систем, но в настоящее время ее аналог используется в Microsoft Visual Studio.NET и ProPolice компании IBM. В продуктах компании Microsoft, Windows XP SP2 и Server 2003 SP1 используется технология DEP (Data Execution Protection – защита от выполнения данных), которая делает секцию данных и стек неисполняемыми, что должно предотвращать подобный тип атак.
   В некоторых процессорах Intel и AMD имеется специальный бит: в Intel – XD (eXecute Disable – запрет выполнения), в AMD – NX (No eXecute – нет выполнения), позволяющий аппаратно реализовать поддержку DEP.
   При отсутствии поддержки на компьютере неисполняемых страниц на аппаратном уровне используется Software-enforced DEP (принудительный программный DEP). Программная защита DEP встраивается во время компиляции и поэтому работает только для пересобранных с поддержкой DEP системных библиотек и приложений.
   В этих средствах можно обнаружить и недостатки. При использовании технологии DEP встал вопрос совместимости. Некоторым приложениям требуется исполняемый стек (а таких много: эмуляторы, компиляторы, защитные механизмы и пр.), поэтому по умолчанию защита включена только для системных процессов. Появление новой технологии подстегнуло хакеров, и практически одновременно были представлены методы, позволяющие обойти защиту. Атаковать стало сложнее, но все равно возможно.
   Другие описанные механизмы позволяют защититься только от одного типа переполнения буфера, а их существует несколько видов, поэтому считать это полноценной защитой нельзя.
   Хотелось бы немного успокоить вас: наличие ошибки не всегда позволяет реализовать атаку в полной мере: буфер может быть мал для внедрения кода (невозможно использование нулевых байтов), адреса системных функций у различных версий могут не совпадать, и человек, пытающийся использовать уязвимость, должен обладать действительно глубокими знаниями.

http://www.oszone.net/display.php?id=2357. Желательно отключить нулевую сессию (Null Session), позволяющую подключиться к системе, основанной на Windows NT, без ввода имени пользователя и пароля. При включенной нулевой сессии анонимный пользователь может получить большое количество информации о конфигурации системы, которую сможет использовать в дальнейших действиях (список ресурсов, предоставленных для общего доступа, список пользователей, рабочих групп и т. д.). Открытый 139-й порт относится к категории серьезных уязвимостей. Чтобы отключить нулевую сессию, необходимо выполнить команду меню Пуск → Выполнить и набрать в строке Открыть команду regedit. В разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa для Windows 2000/XP/2003 нужно задать параметру restrictanonymous значение 2 (тип – REG_DWORD), для Windows NT3.5/NT4.0 – значение 1. Для Windows 2000/XP/2003 в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver нужно задать для параметра RestrictNullSessionAccess значение 1 (тип параметра – REG_DWORD), а для Windows NT3.5/NT4.0 это можно сделать в разделе системного реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer\Parameters. Если таких параметров нет, их необходимо создать.
   После внесения изменений требуется перезагрузка компьютера.
   Следует также запретить скрытые ресурсы C$, D$, ADMIN$. Для этого проще использовать специализированные утилиты. Например, программа LanSafety позволяет сделать это одним щелчком (рис. 1.2).
   Рис. 1.2. Рабочее окно программы LanSafety
 
   Желательно использовать файловую систему NTFS, которая позволит разграничить доступ к ресурсам вашего компьютера и усложнит процесс локального взлома базы SAM.
   Ранние версии Microsoft Word и Microsoft Ехсеl вместе с открытием документа автоматически запускали сценарии, написанные на языке Visual Вasic for Аррlication, что приводило к заражению компьютера макровирусами. Последние версии этих приложений запрашивают у пользователя подтверждение запуска сценариев.
   Это далеко не все мероприятия, которые нужно выполнить для повышения уровня безопасности работы на компьютере. Обязательно следует установить антивирус, включить брандмауэр и использовать другие программы, о которых будет рассказано в следующих главах.

http://www.virustotal.com/en/indexf.html) позволяет проверить подозрительный файл с помощью 32 различных антивирусов. Я отправил для проверки файл, зараженный не самым старым трояном. В результате вирус обнаружили только 17 из 32 антивирусов (рис. 2.1).