Текст книги "Защита вашего компьютера"
Автор книги: Сергей Яремчук
Жанр: Программы, Компьютеры
сообщить о неприемлемом содержимом
Текущая страница: 3 (всего у книги 20 страниц) [доступный отрывок для чтения: 7 страниц]
1.7. Уязвимости программ и хакерские технологии
Если после всего рассказанного в предыдущих главах у вас еще не пропало желание работать с компьютером, вам будет интересно узнать, как различные зловредные программы могут попасть в систему. Эта информация, возможно, убережет вас от простейших ошибок и позволит трезво оценить ситуацию.
Можно выделить три причины проникновения вирусов:
• ошибки при разработке программного обеспечения;
• ошибки в настройках;
• воздействие на пользователя (социальный инжиниринг).
Описать все варианты невозможно: технологии не стоят на месте и злоумышленники постоянно придумывают новые методы. Остановимся на основных моментах. Если в последних двух случаях от действий пользователя что-то зависит, то в первом он может повлиять на ход событий только частично. Ошибки в программном обеспечении часто способны свести на нет все попытки пользователя защитить систему от проникновения вредоносных приложений.
Переполнение буфераНекоторые вирусы и атаки достигают цели без участия пользователя. Несмотря на усилия, интенсивность удаленных атак не снижается, а отражать их становится все труднее. Как это получается? Ведь чтобы программа, пусть и зловредная, что-то сделала, она должна быть кем-то или чем-то запущена. Анализ показывает, что в подавляющем большинстве атак используются ошибки переполнения буфера, и эта проблема является первостепенной.
Впервые данная уязвимость была использована в 1988 году – на ней основывались атаки червем Морриса. С тех пор количество подобных атак увеличивается с каждым годом. В настоящее время можно утверждать, что уязвимости, связанные с переполнением буфера, являются доминирующими при удаленных атаках, где обычный пользователь Сети получает частичный или полный контроль над атакуемым. Приблизительно половина вредоносных программ использует этот тип уязвимости.
В материале «Википедии» (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 встал вопрос совместимости. Некоторым приложениям требуется исполняемый стек (а таких много: эмуляторы, компиляторы, защитные механизмы и пр.), поэтому по умолчанию защита включена только для системных процессов. Появление новой технологии подстегнуло хакеров, и практически одновременно были представлены методы, позволяющие обойти защиту. Атаковать стало сложнее, но все равно возможно.
Другие описанные механизмы позволяют защититься только от одного типа переполнения буфера, а их существует несколько видов, поэтому считать это полноценной защитой нельзя.
Хотелось бы немного успокоить вас: наличие ошибки не всегда позволяет реализовать атаку в полной мере: буфер может быть мал для внедрения кода (невозможно использование нулевых байтов), адреса системных функций у различных версий могут не совпадать, и человек, пытающийся использовать уязвимость, должен обладать действительно глубокими знаниями.
Неправильная настройка программК сожалению, большинство пользователей часто сами создают проблемы. Например, браузеру часто разрешают запуск JavaScript, ActiveX и других элементов управления, с помощью которых легко установить шпионские программы. Некоторые почтовые клиенты умеют обрабатывать и выводить на экран HTML-контент, позволяющий выполнять любые действия. Из-за неправильных настроек почтовой программы или имеющихся в ней ошибок при просмотре содержимого полученных писем могут автоматически открываться файлы вложений. Иногда используется следующий прием: к сообщению прилагается исполняемый файл, а в заголовке MIME, который указывает на тип передаваемого файла, в поле Content-Type указывается, что это рисунок. Почтовый клиент, пытаясь загрузить рисунок, запускает исполняемый файл.
Примечание
MIME – Мultipurpose Internet Мail Extension – почтовый стандарт Интернета: кодирование в одном сообщении текстовой и нетекстовой информации (графики, архивов и пр.) для передачи по электронной почте.
Опасность кроется не только в присылаемых EXE-файлах. Существует малоизвестная возможность выполнения сценариев в HLP– и CHM-файлах, причем эти сценарии позволяют запускать исполняемые файлы, поэтому следует остерегаться любых непрошеных сообщений электронной почты.
Если вы предпочитаете использовать для серфинга Internet Explorer, установите высокий уровень безопасности. Для этого выполните команду меню Сервис → Свойства обозревателя, в появившемся окне перейдите на вкладку Безопасность, выберите категорию Интернет, в нижней части окна нажмите кнопку Другой, в открывшемся окне Параметры безопасности выберите из списка На уровень пункт Высокий и нажмите кнопку OK.
Пользователи часто работают в Интернете с правами администратора, соответственно, злоумышленник, получивший доступ к компьютеру посредством, например, атаки на Internet Explorer, получит те же права, поэтому для работы в Интернете следует завести отдельную учетную запись, наделив ее минимальными правами.
Червь Lovesan использовал уязвимость в сервисе Microsoft RPC (Remote Procedure Call – удаленное выполнение команд). И хотя эта уязвимость устранена, если служба DCOM (Distributed Component Object Model – модель распределенных компонентных объектов) вам не нужна, лучше отключить ее, а заодно и остальные ненужные сервисы. Чтобы проверить список запущенных служб, следует выполнить команду меню Пуск → Выполнить и в окне Запуск программы ввести cmd. В появившемся окне командной строки введите команду net start. На рис. 1.1 показан пример списка работающих служб.
Рис. 1.1. Вывод списка запущенных служб
Чтобы отредактировать список автоматически запускающихся служб, следует выполнить команду Пуск → Панель управления, выбрать категорию Производительность и обслуживание, затем Администрирование, после чего щелкнуть на ярлыке Службы. Двойной щелчок на выбранной службе покажет информацию о ее назначении и позволит изменить статус запуска. Если вы сомневаетесь в необходимости служб, можно постепенно отключать их, наблюдая за реакцией системы.
В Интернете существует достаточное количество руководств, подробно описывающих назначение системных служб Windows. Одно из них можно найти по адресу http://www.oszone.net/display.php?id=2357. Желательно отключить нулевую сессию (Null Session), позволяющую подключиться к системе, основанной на Windows NT, без ввода имени пользователя и пароля. При включенной нулевой сессии анонимный пользователь может получить большое количество информации о конфигурации системы, которую сможет использовать в дальнейших действиях (список ресурсов, предоставленных для общего доступа, список пользователей, рабочих групп и т. д.). Открытый 139-й порт относится к категории серьезных уязвимостей. Чтобы отключить нулевую сессию, необходимо выполнить команду меню Пуск → Выполнить и набрать в строке Открыть команду regedit. В разделе реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa для Windows 2000/XP/2003 нужно задать параметру restrictanonymous значение 2 (тип – REG_DWORD), для Windows NT3.5/NT4.0 – значение 1. Для Windows 2000/XP/2003 в разделе реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserver нужно задать для параметра RestrictNullSessionAccess значение 1 (тип параметра – REG_DWORD), а для Windows NT3.5/NT4.0 это можно сделать в разделе системного реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanManServerParameters. Если таких параметров нет, их необходимо создать.
После внесения изменений требуется перезагрузка компьютера.
Следует также запретить скрытые ресурсы C$, D$, ADMIN$. Для этого проще использовать специализированные утилиты. Например, программа LanSafety позволяет сделать это одним щелчком (рис. 1.2).
Рис. 1.2. Рабочее окно программы LanSafety
Желательно использовать файловую систему NTFS, которая позволит разграничить доступ к ресурсам вашего компьютера и усложнит процесс локального взлома базы SAM.
Ранние версии Microsoft Word и Microsoft Ехсеl вместе с открытием документа автоматически запускали сценарии, написанные на языке Visual Вasic for Аррlication, что приводило к заражению компьютера макровирусами. Последние версии этих приложений запрашивают у пользователя подтверждение запуска сценариев.
Это далеко не все мероприятия, которые нужно выполнить для повышения уровня безопасности работы на компьютере. Обязательно следует установить антивирус, включить брандмауэр и использовать другие программы, о которых будет рассказано в следующих главах.
Социальный инжинирингСреди специалистов по информационной безопасности распространено мнение, что компьютерная защита – это постоянная борьба с глупостью пользователей и интеллектом хакеров. Отсюда следует, что наиболее уязвимое звено в защите – человек. Существуют и системные уязвимости, которые становятся источником массовых эпидемий (достаточно вспомнить червь Lovsan aka W32. Blaster, использовавший уязвимость в RPC DCOM). Здесь, к сожалению, пользователь бессилен, и бороться с этим можно либо постоянно устанавливая всевозможные заплатки, либо сменив операционную систему на более безопасную, а от последствий действий пользователя порой не спасет ничто.
Внимание!
Часто пользователь становится источником своих же проблем: будьте внимательны при работе с письмами неизвестных отправителей, пользуйтесь антивирусом и брандмауэром.
Разработчики вирусов используют те же приемы, что и маркетологи, и всегда найдется хотя бы один человек из ста, который, несмотря на предупреждения, сочтет полученное неизвестно от кого письмо безопасным и откроет его, понадеявшись на защиту антивируса. Для достижения цели вирусописатели (как, впрочем, и другие мошенники, в том числе и в реальном мире) используют человеческие слабости:
• недостаточную подготовку;
• желание выделиться;
• тягу мгновенно разбогатеть или получить что-то даром;
• жалость и милосердие;
• желание посмотреть «интересные» картинки;
• интерес к продукту, который нужен некоторой части населения или который невозможно достать;
• интерес к методикам быстрого обогащения с помощью финансовых пирамид, суперидеям для успешного ведения бизнеса или беспроигрышной игры в казино;
• доверие к заплаткам, якобы направленным пользователю заботливым сотрудником компании Microsoft.
В последнее время начали появляться ложные сообщения от сотрудника антивирусной компании о вирусе, якобы найденном в отправленном пользователем сообщении, или о начале новой эпидемии. Чтобы обезопасить пользователя, «доброжелатель» прикрепляет к письму файл, с помощью которого этот вирус можно удалить. После запуска этого файла на компьютере будет установлен троянец. Чтобы не вызвать подозрение пользователя, в письме часто обращаются совсем к другому человеку. При этом в теме сообщения может говориться, что «найден классный сайт, продающий дешевый товар»; к самому письму могут прикрепляться фотографии «со студенческой вечеринки» с просьбой «никому не показывать»; в письме может быть ссылка на «очень нужную программу» и т. д. Это делается, чтобы убедить получателя, что письмо попало к нему случайно, но информация может быть для него интересной.
Пожалуй, единственным путем распространения вирусов через ICQ является передача файлов, поэтому необходимо быть очень осторожным с предложениями загрузить файл от постороннего человека.
Операционная система не всегда способна правильно выдать информацию о запускаемом файле. По умолчанию Microsoft Windows не показывает зарегистрированные расширения имен. В результате имя файла foto.jpg.ехе будет показано как foto.jpg. Для маскировки реального расширения применяется двойное расширение вроде xxx.jpg.exe (в данном случае может помочь то, что некоторые почтовые серверы отказываются пропускать исполняемые файлы) или добавляется большое количество пробелов, из-за чего имя файла отображается не полностью.
Совет
Включите отображение расширения файлов, выполнив команду Сервис → Свойства папки и сняв флажок Скрывать расширение для зарегистрированных типов файлов на вкладке Вид.
Значки – это отдельная тема. Большинство пользователей до сих пор думают, что запускаемую программу определяет значок. Щелкнув на значке с изображением калькулятора, они ожидают, что запустится именно калькулятор, а не какой-нибудь W32.Bagle-А. Этим пользуются злоумышленники: высылают файл с двойным расширением типа creditcard.doc.exe и значком, обычно используемым для документов Microsoft Word. Второе расширение чаще всего скрыто, и пользователь не сомневается, что по почте пришел именно текстовый документ.
В ближайшее время компьютерная грамотность вряд ли достигнет уровня, когда можно будет забыть о человеческом факторе, поэтому един ственный совет, который можно дать, – будьте бдительны и внимательны, критически относитесь к различным предложениям и не открывайте подозрительные письма.
Глава 2
Антивирусные программы
Принцип работы антивируса
Компоненты современного антивируса
Известные антивирусные программы
Программы для поиска руткитов
В первой главе вы ознакомились с опасностями, которые подстерегают компьютер во время работы. Теперь следует научиться бороться с ними.
2.1. Принцип работы антивируса
Пользователь часто может сам обнаружить присутствие вируса на компьютере. Например, о заражении системы почтовым червем Email-Worm.Win32.NetSky.b можно судить по возрастанию загрузки процессора до 90 % и активной работе жесткого диска (в результате деятельности червя в различных каталогах создается около 2,5 тыс. файлов).
Однако так бывает не всегда, поэтому лучше поручить обнаружение вирусов специализированным программам, тем более что иногда признаки, которые пользователь расценивает как результат действия вируса, могут характеризовать системные или аппаратные сбои.
Для борьбы с компьютерными вирусами применяются антивирусные программы. История развития антивирусов – это смена поколений программ, когда устаревшие методы борьбы заменяются более эффективными технологиями. Появление новых вирусов, использующих неизвестную брешь в операционной системе или новый механизм размножения, делает неэффективными старые технологии обнаружения. Это влечет за собой адекватные действия со стороны разработчиков антивирусных программ, направленные на нейтрализацию угрозы. Так было до появления первого бестелесного вируса, который не образовывал файлы. Возникла необходимость проверки архивов, электронной почты, макросов документов Microsoft Office, поэтому исчезли иммунизаторы, которые были популярны в начале истории персональных компьютеров.
Примечание
Иммунизаторы могли сообщить о заражении либо блокировать попытку заражения файла определенным вирусом, но они не получили широкого распространения и в настоящее время практически не используются.
Прежде чем приступить к рассмотрению работы конкретных антивирусных программ, следует познакомиться с некоторыми принципами их работы. Основываясь на них, вам будет легче ориентироваться при выборе нужного решения, видеть реальные возможности антивируса, его слабые и сильные стороны. Можете пропустить этот раздел и вернуться к нему позже.
Правообладателям!
Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.Читателям!
Оплатили, но не знаете что делать дальше?