17.02.2005

Прикладная информационная безопасность шаг за шагом (продолжение)

Методы сокрытия информации
Пароль. Правила выбора
Утечка информации
Защита от вредоносного программного обеспечения
    Обнаружение активности
    Их должны знать в лицо
    Установка нового программного обеспечения
Использование Аудита
Заключение или несколько слов о человеческом факторе

Методы сокрытия информации

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

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

Самый простой вариант зашифровать информацию - воспользоваться архиватором. Все существующие архиваторы (WinRAR, WinZIP, 7-Zip и т.д.) поддерживают криптографическую защиту. Более того, у вас есть возможность зашифровать как содержимое файлов, так и их имена. Этот метод подразумевает ручное шифрование/дешифрование и обеспечивает безопасное хранение и передачу файлов. Но не непосредственную работу с информацией.

Второй способ - воспользоваться средствами Encrypting File System - криптографической надстройкой над файловой системой NTFS (недоступна в XP Home edition). Преимущество данного способа в том, что информация шифруется "прозрачно" - на уровне операционной системы. Если вы шифруете каталог, автоматически все файлы становятся зашифрованными, в том числе и все временные файлы, которые создаются в этом каталоге (именно так поступает MS Office).

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

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

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

Теперь рассмотрим методику подробней. Итак, нам надо защитить несколько файлов.

Выбираем зашифровываемый объект, заходим в его свойства, в разделе Общие/Атрибуты нажимаем кнопку Другие. Ставим галочку Шифровать содержимое для защиты данных. Обратите внимание, шифрование и сжатие - взаимоисключающие возможности. Нажимаем Ок и ещё раз Ок. На вопрос о том, что шифровать, файл или папку и все вложения в неё, отвечайте по своему усмотрению. Обычно если шифруют, то не один какой-то конкретный файл (а зачем?), а весь каталог со всеми вложениями. Всё. Теперь в эксплорере вы видите зашифрованные папки и каталоги окрашенные зелёным цветом. Другие пользователи просмотреть их не смогут, даже если подключат ваш винчестер к другому компьютеру. Но, к сожалению, у них остаётся возможность удалять зашифрованные файлы. Для исключения этой возможности желательно комбинировать шифрование с разграничением прав доступа (о том, как это сделать было написано ранее).

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

Ещё раз: в ходе процесса шифрования Windows сгенерирует случайным образом ключ шифрования FEK (File Encryption Key) - им будет шифроваться и дешифроваться вся информация. Кроме этого, операционная система, специально для вас создаст ещё пару ключей - открытый и закрытый. Они будут использоваться для шифрования FEK. Это сделано для увеличения скорости и защищённости шифрования, а так же для обеспечения возможности другим пользователям читать (с вашего согласия) ваши зашифрованные файлы. Дело в том, что FEK шифруется с помощью открытого ключа пользователя, и хранится вместе с защищаемой информацией. Если вы хотите, что бы десять других пользователей смогли читать ваши файлы, значит вместе с файлом будет хранится ещё десять копий FEK, каждая из которых будет зашифрована соответствующим открытым ключом. Отсюда вывод - для того, что бы вы могли добавить кого-то в список "разрешённых к просмотру", этот кто-то должен хоть раз сам выполнить шифрование. Только тогда у него появится пара ключей, которые вы и должны будете использовать. Но обо всём по порядку. Итак, при первой шифрации операционная система сгенерирует для вас пару открытых ключей, ключ шифровки/дешифровки (FEK), зашифрует с его помощью файлы (которые вы просили зашифровать), затем зашифрует сам FEK вашим открытым ключом и разместит его вместе с зашифрованным файлом. Если существует агент восстановления, то операционная система поместит вместе с файлом ещё одну копию FEK, зашифрованную уже его ключом. Из этого следует что файлы, зашифрованные до создания агента восстановления, не смогут быть им расшифрованы без проведения дополнительных предварительных работ.

Для управления ключами шифрования и сертификатами в Windows существует утилита командной сроки - CIPHER. С её помощью можно в частности создать новый ключ FEK (параметр /K) или обновить ключи шифрования у всех зашифрованных на диске файлов, в том числе записать ключ агента восстановления, если это не было проделано ранее (параметр /U). Создать нового агента восстановления (ключ и сертификат) можно путём указания параметра /R. В этом случае CIPHER создаст два файла .PFX и .CER. В первом из них будет находиться сертификат и закрытый ключ, во втором - только сертификат. Для активации агента восстановления в системе необходимо добавить созданный сертификат (CER) в политики. Используя ключ /X можно создать резервную копию текущего сертификата шифрования. Естественно все эти действия надо проводить от лица пользователя, обладающего администраторскими привилегиями.

Итак, с чего начать? Хорошей идеей будет сразу создать агента восстановления. Как это сделать? Запускаем cipher.exe /R:RecoveryAgent и вводим пароль для шифрации закрытого ключа (на случай если он попадёт к злоумышленнику). Созданные файлы сохраняем в надёжном месте. Затем запускаем оснастку групповой политики gpedit.msc и добавляем нового агента восстановления.

Групповая политика, добавление агента восстановления
Групповая политика, добавление агента восстановления

В открывшемся диалоге указываем путь к получившемуся на первом шаге сертификату.

UNKNOWN имя объекта
UNKNOWN имя объекта

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

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

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

Импорт сертификата
Импорт сертификата

Создать полноценного агента восстановления можно следующим образом. Запускаем оснастку управления сертификатами certmgr.msc

Запускаем мастер импортирования сертификатов и указываем на созданный PFX файл. Обратите внимание, по умолчанию диалог показывает только файлы CER, а нам надо выбрать PFX. Далее вводим пароль, которым на предыдущем шаге защищали этот сертификат. И ставим галочку на против пункта "Пометить этот ключ как экспортируемый…" хотя последнее не важно, ведь у вас уже сохранена копия сертификата. На следующем шаге выбираем "Автоматически выбирать хранилище на основе типа сертификата". По завершении операции вы сможете читать зашифрованные файлы других пользователей.

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

Экспорт сертификата
Экспорт сертификата

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

Этапы экспорта
Этапы экспорта

Воспользовавшись средствами EFS, вы предотвращаете возможность посторонним понять вашу информацию. Но вы не скрываете сам факт её присутствия. Между тем, что бы сберечь информацию от посторонних глаз, достаточно в прямом смысле спрятать её. Наиболее подходящие места для этого - картинки, музыка и текстовые файлы. Как это возможно? Очень просто. Вы берёте файл, который вам надо спрятать, представляете его в бинарном - двоичном виде, затем прячете эти нули и единицы в другом файле. Если файл текстовый, то можно в конце текста добавить символы пробела и табуляции. Пробел будет соответствовать исходной единице, таб - исходному нулю. При внешнем осмотре пробельные символы не видны, и даже если кто-то найдёт странность в таком текстовом файле, он всё равно не сможет понять, что именно там спрятано. Можно поступить более умно - спрятать данные не в конце, а по всему файлу. Известно, что в HTML можно записать букву как букву, а можно как её код - и в том и в другом случае страничка будет выглядеть одинаково, но кроме основного смысла будет нести ещё и скрытый. Если размер скрываемой информации окажется больше места, предоставляемого html файлом можно либо продолжить игру в прятки с другим гипертекстовым файлом, либо дописать в конце текста пробелы и табы. Вариантов открывается множество - только фантазируй.

Для того, что бы спрятать информацию в картинке, можно слегка модифицировать информацию о цвете. Всем известно, что любую растровую картинку можно представить как группу точек, каждая из которых несёт код цвета. Например, для картинки с 65536 цветами каждая точка будет занимать 16-бит информации. Для полноцветных фотографий глубина цвета составит 24 или 32 бита. Можно модифицировать младший бит информации о цвете точки, закодировав в нём бит информации исходного файла. Разницу в цвете вы на глаз не почувствуете, но информацию скроете. Аналогично поступают и с аудио записями. Меняют малозначащий участок информации, скрывая в нём важные данные. Различия можно увидеть, только сравнивая в бинарном виде оригинал с получившимся файлом.

Сравнение содержимого файла до и после маскировки в нём другого файла
Сравнение содержимого файла до и после маскировки в нём другого файла

Естественно изменяют файлы не в ручную. Существует масса программ реализующих подобную функцию. Самая известная - Steganos Security Suite (http://www.steganos.com), чуть менее известные, но, тем не менее, рабочие: SecureEngine (http://securengine.isecurelabs.com) и HideInPicture (http://www.braintwist-studios.com). Управление программами элементарное - выбираете что прятать, где, задаёте пароль и выбираете алгоритм шифрования (информация не только прячется, но и шифруется, и по желанию предварительно сжимается - упаковывается). К сожалению, нет смысла приводить здесь полученные картинки, так как масштабирование изображений уже вносит определённую погрешность в их качество, плюс скажется приведение цветов в соответствие с цветовым пространством устройства вывода. В результате обе картинки на печати будут смотреться совершенно одинаково. Программы тоже достаточно просты, после проделанных экспериментов вы должны с ними без проблем разобраться самостоятельно.

Пароль. Правила выбора

Никогда не следует забывать, что стойкость вашего зашифрованного хранилища, в первую очередь определяется качеством вашего пароля. Чем стоит руководствоваться при его выборе? Конечно же, в первую очередь следует обратить внимание на его длину. Для зашифрованных архивов RAR или ZIP подобрать пароль методом прямого посимвольного перебора, при длине ключа более пяти символов, в домашних условиях практически невозможно. В этом случае злобные хакеры прибегают к подбору по словарям. Перебираются как простые слова так и их комбинации. Учитываются прямой и обратный набор слов, строчные и прописные литеры. Знаменательные даты, web и email адреса, предположительно известные номера ICQ.

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

Таким образом, мы столкнулись с тремя серьёзными проблемами:

  1. Пароль должен быть достаточно сложным;
  2. Пароль должен легко запоминаться;
  3. Пароли на разные ресурсы не должны вычисляться друг по другу.

Последний пункт имеет огромную важность. В современный век развитых компьютерных технологий, каждому приходится держать в голове по несколько паролей: для входа в компьютер, в домен, в Интернет, для доступа к почтовым ящикам, к форумам, к ICQ, к телефонам, входным дверям и банкоматам… Крайне желательно, чтобы все пароли были разными. Если один пароль является преобразованной версией другого - это очень плохо. Кто мешает мне, глядя на пароль, полученный от администратора сети "11111116" сделать предположение, что у моего соседа будет пароль "11111119", на том основании, что мой IP - 192.168.1.6, а у него - 192.168.1.9. Если такие ляпы допускают администраторы, то что говорить о простых пользователях?

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

Особо это проявляется там, где администраторы заставляют пользователей, через определённый промежуток времени, менять пароль и запрещают использовать повторяющиеся последовательности. Ни что не мешает пользователю добавлять в конце пароля цифры по возрастанию. Был пароль "абракадабра", стал "абракадабра1", потом "абракадабра2" и т.д. Особо продвинутый пользователь может создать пароль "абракадабра-почта", для почты, "абракадабра-icq" для ICQ, и так далее. К несчастью, такие пароли тоже легко вычисляемы. Особенно при использовании средств социальной инженерии и элементарного "забалтывания"… В конце концов, можно просто подглядеть, что и как вы набираете. Трудно сохранить в тайне один пароль, ещё труднее сохранить несколько. Крайне желательно, что бы они никак не пересекались.

Ниже я предлагаю два способа для создания парольной комбинации.

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

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

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

Так вот, в большинстве своём такие программы протоколируют пароль в текстовом файле. И если уж вы допускаете такую возможность, то и этим программам и злоумышленникам можно испортить сладкую жизнь. Попытайтесь найти отличия в следующих парах символов: "l1" "O0" "З3" "КK" "EЕ" "ВB" "OО". Догадались? Трудно на первый взгляд различить некоторые буквы и цифры. Ещё труднее различить схожие по начертанию символы в разных раскладках клавиатуры. Этим способом вы сможете заморочить голову злоумышленнику. Ещё труднее будет понять ваш шифр, если вы будите использовать в своём пароле непечатные символы - пробел, неразрывный пробел, псевдографику. Ввести их очень просто - нажимаете клавишу [Alt] и, не отпуская, набираете код символа на цифровой клавиатуре. Код неразрывного пробела 255, от обычного пробела на внешний вид никак не отличается. Так что при большом желании и большой паранойе можно весь пароль вводить с цифровой клавиатуры, незаметно нажимая второй рукой на клавишу [Alt]

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

Одной из попыток решения проблемы множества паролей на различные ресурсы было создание единой системы аутентификации dot Net passport (http://www.passport.net).

Microsoft® dot Net Passport представляет собой службу, которая даёт возможность пользователям создать единую учётную запись - имя и пароль, для использования на всех web-узлах и во всех сервисах, поддерживающих dot Net Passport. Регистрация доступна как с компьютера (через Интернет), так и через сотовый телефон. В этом случае, в качестве учетного имени будет использоваться ваш телефонный номер. В случае регистрации с компьютера в качестве имени выступает адрес вашей электронной почты.

В процессе регистрации вам будет выделена учетная запись и присвоен уникальный идентификатор (64-разрядное число). Этот идентификатор, в зашифрованном виде будет передаваться каждому узлу, требующему авторизации, на который вы решите зайти. Полученный идентификатор позволит этому узлу опознавать вас, и предоставить вам соответствующие услуги. Каждый вход на web-узел, требующий вашей идентификации протоколируется службой dot NET Passport, для обеспечения должного уровня безопасности.

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

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

Введённые вами данные будут храниться в профиле службы dot NET Passport. Их можно будет изменить в последствии.

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

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

Утечка информации

Теперь настало время поговорить о том, каким образом ваша информация может попасть к посторонним лицам. Конечно же, первый вариант это элементарное воровство. Для этого совсем необязательно брать отвёртку и вскрывать компьютер. Практически все, более-менее современные машины, оснащены портами USB, BlueTooth, WiFi. Имея физический доступ к компьютеру, можно подойти к нему на пару секунд, воткнуть флэш-карту и списать то, что нужно. Противостоять этому можно, усилив охрану и взяв себе за правило, уходя от компьютера всегда включать блокировку. Делается это очень просто - достаточно нажать на [Win]+[L]. По возвращении вам нужно будет лишь повторно ввести ваш пароль. Если злоумышленник всё же за ваше отсутствие проникнет в компьютер, вы это сразу увидите. А проникнуть он может разными способами. Самый простой из них, нажать на сброс и загрузить ваш компьютер с дискеты или диска (С диска можно загрузить как специальную программу для сброса администраторского пароля, так и операционную систему целиком, от DOS, до Linux (тот же Knoppix) и Windows XP (Bart PE, XPE)) Более сложный способ - подключить к вашему компьютеру другой компьютер или специально принесённый с собой карманный ПК.

Что бы ещё больше усложнить задачу злоумышленникам можно запретить в BIOS'е своего компьютера альтернативные загрузки (с CD-ROM'а, с дисковода, по сети), а на вход в BIOS поставить пароль. В таком случае вы не оставляете никакой возможности чужаку проникнуть в ваш компьютер без наличия у него как минимум отвёртки и получаса свободного времени. А себе в помощники приобретаете ценные улики от вторжения - в виде сброшенных паролей.

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

Довольно показательным была эпидемия вирусов Sasser и Lovesan, которые использовали для своего размножения "дыру" в службе DCOM RPC. Проще говоря, некий компьютер передаёт вашему компьютеру набор данных, но в результате сбоя при их обработке удалённый компьютер получает управление над вашим.

Трудность была в том, что для того чтобы компьютер не инфицировался, нужно было установить соответствующую заплатку (с сайта http://windowsupdate.microsoft.com), но как только компьютер подсоединялся к домашней сети, (что бы выйти в Интернет) он практически мгновенно заражался вирусом.

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

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

В настоящее время существует большое количество брандмауэров, различных по цене, исполнению, удобству эксплуатации. Более того, в самой Windows XP уже существует интегрированный файрвол. К сожалению, его функциональность далека от совершенства, наибольшую доработку он получил лишь после выхода второго пакета исправлений SP2, однако со своими задачами он справляется. Из брандмауэров сторонних разработчиков хочется выделить: Kaspersky Anti Hacker (http://www.avp.ru), ZoneAlarm (http://www.zonelabs.com), Kerio WinRoute (http://www.kerio.com) и Agnitum Outpost (http://www.agnitum.ru/products/outpost/). Первый и последний являются русскими разработками, очень добросовестно выполненными со всей необходимой функциональностью. Agnitum вполне доступен по цене для домашнего пользователя, и, кроме того, на сайте разработчиков есть облегчённая, бесплатная версия.

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

  1. Сканирование портов (для того, что бы выяснить, какое ПО установлено на вашем компьютере, какие "дыры" присутствуют в системе, какую функциональность предоставляет ваш компьютер во внешний мир);
  2. Атаки с целью вызвать ошибку или зависание на вашем компьютере, приводящие к отказу в обслуживании. Это может быть передача не полностью или не до конца сформированных, ложных, неправдоподобных или ошибочных данных, передача большого числа фрагментированных пакетов, возможно с нарушением порядка следования. Возможен случай, когда компьютер будет ожидать завершения сеанса, а его не произойдёт. И так далее.
Agnitum Outpost. Список открытых портов
Agnitum Outpost. Список открытых портов

Все эти проблемы должен решать межсетевой экран. Ещё одной задачей, с которой он должен бороться, это позволять доступ во внешний мир только определённым программам и блокировать выход для всех остальных. Эта главное его предназначение. Допустим, вы работаете с Интернетом через Explorer, принимаете почту через The Bat!, дополнительно используете ICQ, mIRC, FlashGet и eMule. Всё - вы составили список разрешённых программ. Для остальных, выход в Интернет должен быть закрыт. Зачем туда лезть тому же Word'у или Тетрису? Даже если у вас будет на машине установлено шпионское программное обеспечение, при умелой настройке оно не сможет передать информацию во внешний мир, а межсетевой экран проинформирует вас о такой попытке и вы сможете принять соответствующие меры.

Как видите, ключевое слово здесь - "умелая настройка". Что она под собой подразумевает?

Во-первых, кроме списка разрешённых программ, вы должны дать доступ ко внешнему миру для некоторых системных приложений, иначе вы не сможете работать. Например, ваш компьютер должен обеспечить работоспособность DHCP и DNS сервисов (для получения адресации во внешнем мире), значит, соответствующие разрешения должны быть у приложения %windir%\system32\svchost.exe (Generic Host Process for Win32 Services). Обычно подобные правила создаются межсетевым экраном по умолчанию, в процессе установки. Главное, что бы вы потом, не приняли этот процесс за вирус (Есть вирусы называющие себя подобным образом, но запускающиеся из других мест. В стандартном диспетчере задач пути процессов не отображаются и системный процесс и вирус будут называться одинаково. Будьте осторожны при раздаче разрешений, смотрите не только на то, что пытается получить доступ во внешний мир, но и то откуда идёт запрос) и не отключили его активность, убив тем самым выход во внешний мир для всей системы.

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

В-третьих, некоторые шпионские утилиты могут маскироваться под программы, для которых разрешён выход в Интернет, или запускаться как параллельные, скрытые процессы. Для предотвращения подобных случаев во многих брандмауэрах реализован механизм контроля за компонентами, и если, скажем вирус, инфицирует программу, для которой разрешён выход в интернет, то вы получите сообщения об изменении соответствующего файла. Конечно, многие изменения затрагивают не сами программы, а используемые ими библиотеки. Большинство из них зачастую безобидны. Например, вы запускаете Winamp, который подгружает библиотеку управления громкостью воспроизведения музыки с клавиатуры. Естественно теперь громкость должна регулироваться и из других программ и соответствующая библиотека "цепляется" ко всем процессам. Межсетевой экран заметит такое изменение и предупредит вас о том, что у приложения такого-то появилась новая библиотека такая-то, и спросит вас, что предпринять - блокировать или разрешить. Для принятия решения в этом случае вам нужна прежде всего голова на плечах и знание конкретной обстановки вашего ПО на компьютере. Межсетевой экран является в этом случае всего лишь сигнализатором.

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

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

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

Тем не менее, если это ваш домашний компьютер, а домашняя сеть организована на основе контроллера домена, вы имеете полное право исключить администратора сети даже из группы простых пользователей. Более того, если вы используете свой компьютер только для доступа в Интернет, а ресурсы локальной сети вам вообще не нужны, или если вы и в локальной сети используете протоколы HTTP, FTP а не стандартный файловый доступ, то хорошим решением будет вообще его отключить. Заблокируйте в настройках сети доступ по протоколу NetBIOS через TCP/IP, отключите общий доступ к файлам и принтерам. Так вы уберёте ещё одну лазейку для недоброжелателей.

Выключения доступа к компьютеру через NetBIOS
Выключения доступа к компьютеру через NetBIOS

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

Защита от вредоносного программного обеспечения

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

  1. Анализировать вводимые с клавиатуры символы и запоминать пароли доступа к различным ресурсам. Это программы класса KeyLogger.
  2. Сидеть в вашем компьютере тише воды, ниже травы, но предоставлять полное управление удалённому пользователю по его требованию. Это программы класса BackDoor.
  3. Модифицировать настройки вашей системы таким образом, что бы при установке соединения дозвон производился не до вашего провайдера, а до чужого, например, более дорогого или кому-то выгодного. Программы класса Dialers
  4. Модифицировать настройки вашей системы для подмены стартовой страницы, ссылок избранного или автоматического открытия заранее заданных адресов. Программы класса Hijacker. Обычно выполнены в виде ActiveX модуля.
  5. Изменять поведение вашей системы для постоянного скачивания определённой информации или рекламы. Демонстрация различных баннеров и всплывающих окон. Программы класса Adware.
  6. Собирать некую информацию, и отправлять её по указанному адресу. Программы класса Spyware.
  7. Создать из вашего компьютера свой Web или FTP сервер. Например, для хранения или распространения ворованного или взломанного ПО, для осуществления атак на другие узлы или распространения спама.
  8. Выполнять деструктивные действия и уничтожить часть или все данные на вашем компьютере.

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

Не буду говорить о необходимости антивирусной защиты, поддержании баз в актуальном состоянии, периодической проверке всех файлов и принудительной проверке всех входящих файлов. Большинство "рекламных" программ или программ предоставляющих удалённый доступ к вашему компьютеру, не являются вирусами и не определяются как вредоносные (У лаборатории антивируса Касперского существует набор расширенных антивирусных баз, опознающих перечисленный класс вредоносного ПО. Скачать их можно, например тут: http://downloads2.kaspersky-labs.com/updates_x Подробности смотрите на сайте производителя). Любая, как свободно-распространяемая, так и продаваемая за деньги программа может потенциально собирать и распространять информацию о том, кто её использует. Зачастую о таком "побочном эффекте" упоминают в лицензионном соглашении. К сожалению, пользователи не всегда его внимательно читают, не говоря уже об использовании пиратских вариантов сборок.

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


· LavaSoft Ad-Aware (http://www.lavasoft.com)

LavaSoft Ad-Aware

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

Из слабых сторон следует отметить плохую "уживаемость" с MDI-клонами Internet Explorer'а (многооконные или Tab-браузеры). Так при попытке открыть окно из запрещённого списка, Ad-Aware закрывает весь браузер целиком. Ещё одним минусом является то, что при попытке проверить конкретный файл/каталог предварительно выполняется проверка памяти/реестра.


· SpyBot Search & Destroy (http://patrick.kolla.de/spybotsd.html)

· Spyware Blaster (http://www.javacoolsoftware.com)

Одна из наиболее удачных разработок сканеров. Осуществляет поиск и уничтожение шпионских и рекламных модулей. Блокирует потенциально опасные cookies (как для Explorer'а так и для Mozilla/FireFox). Отличительная особенность программы - возможность "вакцинации" системы, методом занесения в реестр специальных ключей, препятствующих инфицированию различными троянами (ActiveX компонентами). Аналогично продукции LavaSoft поддерживает обновление через Интернет. Есть возможность обновить как базы, так и саму программу. Возможна работа через прокси.

Spyware Blaster - является отдельным программным продуктом, предназначенным исключительно для вакцинации компьютера от заражения шпионскими ActiveX модулями. Является логическим дополнением к SpyBot.

SpyBot Search & Destroy
SpyBot Search & Destroy
SpyWare Blaster

· BPS Spyware Remover (http://www.bulletproofsoft.com)

Рассказав о SpyBot нельзя не упомянуть об их конкуренте, платной программе BPS Spyware Remover, которая по заверению группы разработчиков SpyBot нарушила их авторские права. Именно поэтому BPS Spyware Remover относится ими к разряду malware (malicious software - вредоносное ПО). К сожалению мне не удалось его полностью протестировать, монитор предположил, что я переводил часы и отказался запускаться. Особо не радует минимальность настроек и конфигурируемости, невозможность отключения собственных рекламных заставок, возможно в зарегистрированной версии этого не будет. Тем не менее в тестах находит Троянов (dialer) которых не нашёл до него никто (кроме антивирусов).

BPS Spyware Remover

· Agnitum TauScan (http://www.tauscan.com)

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

Agnitum Tauscan

· SpySweeper (http://www.webroot.com)

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

Изменение чужих процессов

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

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

SpySweeper

· SpyCop (http://www.spycop.com)

Ещё один разрекламированный продукт. К сожалению, в тестовом режиме не обладает всей функциональностью, в том числе не даёт проверить все файлы, зато снабжён тем, с чем призван бороться - пёстрой саморекламой… Сканер очень не удобно работает. Прожорливый к ресурсам. Все настройки сведены к пошаговому wizard'у. По умолчанию, даже при выборе пункта меню "сканировать отдельный каталог" запускается визард с предложением проверить все диски, но от проверки всех дисков отказывается. На неверно введённую строку, содержащую вместо диска, путь - несколько раз "ругается", по числу введённых символов. После успешной проверки кроме незаметной записи в командной строек "Trial Mode scan done. Some files were skipped." ничем не сигнализирует. Нет возможности изменить размеры окна.

SpyCop

· XoftSpy (http://www.paretologic.com/xoftspy)

XoftSpy

Последний продукт, которым я завершаю обзор представителей семейства сканирующих будет XoftSpy. К сожалению, он тоже относится к группе поднимающих панику. В моём примере он ругается на запуск утилиты управляющий рабочими столами, идущей в поставке с драйверами nVidia. В отличие от предыдущего шедевра, интерфейсная часть сделана на много грамотнее и оставляет лучшее впечатление. Работает гораздо быстрее и не загружает систему. Из мелких недочетов можно указать на то, что нажатие кнопки "Start", даже если вы находитесь в другом разделе, приводит к немедленному старту процесса сканирования, без лишних вопросов и уточнения объектов сканирования. Кнопка при этом так и остаётся с надписью "Start", но становится не доступной для нажатия. Что бы остановить процесс сканирования, нужно отыскать на форме кнопку "Abort Scan". Второй минус - мелкие функциональные недостатки, так программа предлагает защитить стартовую страницу и поисковую систему, но не может получить их текущие значения. Предполагается, что пользователь введёт их вручную. Поверхностное исследование программы так и не выявило возможность принудительного обновления базы через Интернет.

XoftSpy

· Microsoft AntiSpyware (http://www.softwarepatch.com/security/microsoftasdownload.html)

В момент написания этой статьи, корпорация Microsoft выпустила в свет свою собственную утилиту по борьбе со шпионским ПО. Она является продолжением Giant AntiSpyware, которую Microsoft приобрела в 2004 году. Программа обладает широкой функциональностью, неплохим интерфейсом, хорошей справочной и информационной системой. Резидентный модуль позволяет выборочно контролировать множество системных свойств и настроек. Кто может знать тонкости операционной системы лучше, чем её авторы?

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

Microsoft AntiSpyware

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

Microsoft AntiSpyware

Исследовав различные программные продукты можно придти к следующему решению - использовать несколько программ в связке, органически дополняющих друг друга. При выборе обратите внимание на частоту обновления баз, наличие технической поддержки, качество web-сайта и отзывы пользователей на форумах. Наиболее оптимальным, на мой взгляд, являются LavaSoft Adaware, SpyBot Search & Destroy и Spyware Blaster.

Обнаружение активности

К сожалению, шпионы и вирусописатели не сидят сложа руки. Какой бы свежести ни были антивирусные базы, всё равно новейшие вирусы в них не попадут. Частично проблему может решить включение эвристического анализа у следящей программы. Но и это не панацея. Тем не менее, у шпионского ПО есть одно слабое место: оно должно запускаться скрыто и сохранять где-то собранную информацию. В простом варианте шпионская программа будет сохранять информацию в файле на диске. Так или иначе, её можно вычислить по анализу дисковой активности и открытым файлам. В более сложном варианте информация может сохраняться на диске в неиспользуемых областях: на инженерных цилиндрах или в bad-блоках. Существуют программы, которые сохраняют похищенную информацию в микросхемах FLASH-памяти БИОСа материнской и видео-платы. В дополнение ко всему шпионские программы могут использовать Stealth-технологии, пряча себя от глаз администратора, исчезая из списка активных процессов и скрывая активные порты. В кругах специалистов, программы такого класса называются Rootkit'ами. Скрытность достигается путём модификации системных функций и структур данных, хранящих системную информацию.

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

  • Keylogger Killer (http://tooto.com/keyloggerkiller/) - показывает все библиотеки, участвующие в перехвате событий клавиатуры.
  • KL-Detector (http://dewasoft.com/privacy/kldetector.htm) - вычисляет модифицирующиеся файлы, которые потенциально могут нести шпионскую информацию. Для их определения вам потребуется провести ряд действий: набрать текст, подвигать мышкой, произвести операции копирования-вставки.
Инструменты обнаружения Keylogger'ов: Keylogger Killer и KL-Detector
Инструменты обнаружения Keylogger'ов: Keylogger Killer и KL-Detector

  • Rootkit Detector (http://3wdesign.es/security) - консольное приложение, призванное обнаружить и предоставлять информацию о скрытых процессах, сервисах и "спрятанных" ключах реестра. Содержит встроенную базу сигнатур известных rootkit'ов.
    Rootkit Detector
    Rootkit Detector

  • VICE (http://www.rootkit.com) программа для обнаружения перехватов API вызовов, функций и изменения таблиц указателей.
    Vice. Поиск rootkit
    Vice. Поиск rootkit

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

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

Их должны знать в лицо

  • AutoRun (http://www.sysinternals.com) - Показывает все компоненты (отдельные программы и библиотеки) автоматически загружающиеся в Windows.
    Sysinternals AutoRun
    Sysinternals AutoRun

  • Process Explorer (http://www.sysinternals.com) - в иерархическом виде показывает список активных процессов и соответствующих им дескрипторов.
    Sysinternals Process Explorer
    Sysinternals Process Explorer

  • Starter (http://codestuff.mirrorz.com) - Комбинация двух предыдущих программ. Отличительная особенность - простота и понятность интерфейса. Возможность поиска в Интернете по имени программы.
    Starter
    Starter

  • FileMon (http://www.sysinternals.com) - Монитор файловой активности. С включённым фильтром приложений незаменимая вещь для поиска скрытой активности.
    Sysinternals File Monitor
    Sysinternals File Monitor

  • RegMon (http://www.sysinternals.com) - Аналог файлового монитора, но следит за активностью чтения/записи из реестра.
    Sysinternals Registry Monitor
    Sysinternals Registry Monitor

  • CurrPorts (http://nirsoft.mirrorz.com) Отображает список всех установленных соединений и позволяет прервать избранное или завершить активировавшее его приложение.
    Анализ открытых портов
    Анализ открытых портов

  • TaskInfo (http://www.iarsn.com) Профессиональный монитор активности системы. Отображает все текущие процессы. Ведёт полный количественный и качественный учёт всех ресурсов, в том числе процессорного времени, операций чтения/записи, работу с VPN, список открытых портов и файлов и многое-многое другое. Т.е. сочетает в себе полный набор разнообразных утилит по контролю и мониторингу за системой. Снабжена службой оповещения при нехватке ресурсов или их приближения к критической отметке. Порог чувствительности можно задавать самостоятельно. Имеется возможность прерывать/убивать избранные процессы, изменять приоритеты, переводить в отладочный режим или усыплять (suspend) задчи. Может принудительно очищать память от мусора и сбрасывать кэш записи.
    TaskInfo - полный контроль за системой
    TaskInfo - полный контроль за системой

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

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

При требовании перезагрузить компьютер в командной строке набиралось команда shutdown /a отменяющая перезагрузку. Потом из активных процессов удалялся процесс вируса. Затем в реестре убивались ветви ответственные за его загрузку. В случае с лже-svchost.exe пришлось дополнительно править ветвь

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell ответственную за выбор программы оболочки - вирус прописывался "аргументом" для explorer.exe что вызывало его автоматическую загрузку (Касперский после удаления вируса не исправлял соответствующие ветви реестра и при каждой загрузке операционная система сообщала об ошибке). Для предотвращения повторного инфицирования (как в случае с msblast при отсутствии возможности установить патч и поставить брандмауэр) вместо файла вируса создавался одноимённый файл нулевой длины, а с NTFS снимались все права на его модификацию.

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

Установка нового программного обеспечения

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

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

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

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

С программным обеспечением настольных компьютеров дела обстоят не лучшим образом. Особенно в наше время, когда писать программы может любой первокурсник, а программистом считает себя каждый первый, кто научился запускать Дельфи и создавать пару кнопок на форме. Тем не менее, не смотря на то, что лозунгом разработчиков программного обеспечения остаётся "Проверка, проверка и ещё раз проверка, Ленин! Не помню кто сказал…" всё равно, снова и снова встречаются программы которые:

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

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

  • Элементарное несоблюдение порядка перехода по элементам управления (по клавише Tab).
  • Несоответствие размеров элементов управления и вписанного в них текста.
  • Широко распространены ошибки связанные с искажением и уродством изображения и форм, при изменении размеров окна, разрешения экрана или цветовой палитры.
  • Не говоря уже про уродства при использовании нестандартных шрифтов. Мало какая программа будет пристойно выглядеть если у вас в системе выставлен гигантский шрифт.

А ведь всего этого легко избежать, если проверять то, что делаешь.

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

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

1. Microsoft Virtual PC (http://www.microsoft.com/windows/virtualpc/default.mspx), или

2. VMware virtual machine (http://www.vmware.com/info?id=2)

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

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

Использование Аудита

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

Включение аудита
Включение аудита

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

Давайте по шагам разберём подобный случай обнаружения попыток подбора пароля к учётным записям…

Во-первых, переименовываем встроенную учётную запись локального Администратора (делается это в оснастке compmgmt.msc), защищаем её хорошим паролем и для конспирации обнуляем поле Description. Далее создаём учетную запись, одноимённую с только что переименованной, (т.е. Администратор для русской или Administrator для англоязычной версии ОС), для пущей убедительности копируем в поле Description, описание с учётной записи локального администратора (Built-in account for administering the computer/domain). Удаляем созданного пользователя из всех групп и задаём какой-нибудь сверхсложный пароль. Теперь запускаем оснастку локальной политики безопасности (secpol.msc или gpedit.msc) и включаем аудит неудачи для входа в систему. Теперь если кто-то будет пытаться войти или подсоединиться к компьютеру под учётной записью псевдо администратора, ему это не удастся, а у вас на руках окажутся неоспоримые улики. Так же вы сможете всегда узнать, кто и в какое время работал с вашим компьютером.

Включение аудита доступа к файлам
Включение аудита доступа к файлам

Аналогичным образом можно проводить аудит доступа к файлам и папкам (Только на томах с NTFS). Для этого, выбираем контролируемый объект, заходим в его свойства, на закладку Security, жмём кнопку Advanced. Дальше выбираем требуемый тип аудита: указываем пользователя или группу за которыми будем следить, и действия, которые должны учитываться.

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

Отключение аудита производится через вкладку Аудит (нажатием кнопки Удалить). Если удаление невозможно, то скорее всего настройки аудита наследуются от родительского объекта. Если в списке аудита ни одной записи не присутствует, значит аудит для этого объекта не ведётся.

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

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

Аудит печати
Аудит печати

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

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

С этой целью можно воспользоваться утилитой от Frank Heyne - EventSave и EventCopy (http://www.heysoft.de). Она сохранит по указанному вами пути все журналы в формате .evt, вы сможете архивировать их, и просматривать в будущем через стандартный EventViewer. Программа также может собрать информацию с указанной удалённой машины, или сразу со всех компьютеров, видимых в данной рабочей группе/домене. В результате запуска программы она создаст ряд файлов, формата "YYYY_MM_COMPUTERNAME_EVENTLOG.evt", т.е. зафиксирует в имени файла NETBIOS имя компьютера, имя журнала из которого взяты записи, год и месяц содержащихся в файле записей. При повторном запуске программы, новые события будут добавлены к уже существующим записям. Таким образом, количество файлов не будет плодиться от частоты запуска утилиты.

Существенное отличие бесплатной EventSave от платной EventCopy в том, что она очищает журнал событий при каждом своём запуске. В остальном программы полностью идентичны.

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

Для анализа журналов аудита удалённых компьютеров можно воспользоваться ещё одной привлекательной программой - DameWare NT Utilities (http://www.dameware.com)

DNTU - унифицированное средство администрирования
DNTU - унифицированное средство администрирования

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

Фильтр DNTU полностью идентичен стандартному
Фильтр DNTU полностью идентичен стандартному

Ну и, наконец, стоить сказать о лучшей, на мой взгляд программе по работе с журналами событий: EventMeister (http://www.tlhouse.co.uk/LogMeister/eventmeister.shtml). Программа может собирать или захватывать с заданным промежутком времени события с локальной машины или компьютеров в сети. Может импортировать информацию из файлов разных типов (текстового, html, xml и пр.) Имеется хорошо продуманный шедулер и набор фильтров сбора. В случае наступления заданного события есть возможность оповещения путём подачи звукового сигнала, отображения диалога, запуска скрипта или указанной программы, отправкой электронной почты.

После анализа и обработки логов, вы сможете импортировать всю или часть информации в формате текст, csv, xml, html и даже RSS.

Event Meister аудит событий
Event Meister аудит событий

Для тех, кто не смотря ни на что, предпочитает пользоваться только "родными" средствами, могу сообщить, что в Microsoft Windows Resource Kit входит утилита командной строки dumpel - позволяющая выгружать события в текстовый файл. При использовании у вас есть возможность выбирать журнал, назначить фильтр и указать используемый разделитель для столбцов (запятую или знак табуляции). Последнее позволит вам импортировать текстовый файл для последующей обработки в любую программу баз данных или электронных таблиц и подготовить соответствующий отчёт (например в MS Access, Excel, FoxPro).

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

Заключение или несколько слов о человеческом факторе

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

Но самая распространённая проблема, возникающая по вине человека, это отказ в обслуживании. Автору этих строк повезло столкнуться с ней в полном объёме на примере домашней сети. Всё началось с того, что горе администраторы никак не могли определиться со схемой выхода в Интернет. Схема менялась молча, негласно и без предварительного, какого бы то ни было предупреждения. В начале менялись прокси-сервера. Одни из них требовали установки клиентских частей, другие нет. Одни требовали дополнительных настроек, другие работали на прямую, через NAT. Спустя некоторый промежуток времени, на "устоявшемся" прокси внезапно менялись порты протоколов. Так выход по HTTP мог внезапно перескочить с 80 порта на 3128, а почта с 25 на 8025. Очередным "приколом" администраторов был переход на другую подсеть IP. Но самой большой проблемой в нашей домашней сети было внедрение брандмауэра. Как говориться, не дай вам бог, жить в эпоху перемен. По очереди пропадало то одно, то другое. То почта переставала работать, то пропадала возможность установки FTP соединения, то "аська отваливалась"… Сейчас всё наладилось, но прошлое время нельзя вспоминать без улыбки на лице.

Хотя нет, не всё. Периодически проводятся эксперименты с почтовым сервером. Иногда он бывает в дауне, т.е. перестаёт функционировать. Иногда администраторы экспериментируют со СПАМ-фильтрами, в результате пропадает или не доходит часть почты. А при попытке отправить или получить большое письмо приходится экспериментальным путём подбирать максимально допустимый размер. К тому же почтовый релей не обслуживает клиентов с внутренними IP (192.168.x.x), сделано это якобы для той же борьбы со спамом. Кто знает, сколько писем реально не доходит по этой причине?

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

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

В дополнение к таким "явным" DoS-атакам существует ещё множество скрытых и побочных эффектов. К побочным эффектам можно отнести, например, выскакивание диалогового окна об отключении от сети, в связи с внезапной, запланированной перезагрузкой коммутатора или получение по net send или ICQ сообщения, в тот самый момент, когда вы уже почти записали на видеокассету трёхчасовой фильм. Такие же "всплывающие" окна могут "вышибать" вас в самый ответственный момент, во время игры, например в Half-Life. И хотя подобные вещи не сказываются напрямую на безопасности, их тоже следует учитывать и исключать по мере возможности. Так перед записью видео на кассету желательно отключить машину от проводной и беспроводной сети, убрать подальше ИК порт и BlueTooth, выключить все звуковые схемы на компьютере и лишь потом приступать к записи.

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

Как это может быть реализовано? Прежде всего, злоумышленник должен добиться определённого уровня вашего доверия. Вряд ли он будет просить выслать ему деньги на лечение любимой кошки его больной бабушки, однако он может попросить вас сделать какие-то, на первый взгляд безобидные действия. Подобным образом у вас могут, например, украсть номер ICQ. Самый простой способ, с которым столкнулся автор этих строк, это встроить троянский код, в одну из разрекламированных и якобы "новых" версий ICQ-клиента и подсунуть её вам. При запуске такая программа будет смотреть, какой у вас номер, если он удовлетворяет каким-либо критериям, например шестизначный, программа должна молча сменить пароль на тот, который знают авторы программы, но не знаете вы. По чистой случайности со мной этот номер не прошёл. Я никогда не храню пароль в аське, а предпочитаю вводить его с клавиатуры, к тому же на тот момент у меня было включено ограничение на количество одновременных подключений, ещё один поток просто был заблокирован. Некорректно написанный троян выдал сообщение о том, что не может сменить пароль и был "задушен на корню". А я ещё раз подтвердил для себя правило не пользоваться программным обеспечением из непроверенных источников.

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

Таким же образом, глядя на вас невинными глазами, вам могут подсунуть какую-нибудь троянскую программу. Можно за пять минут написать скрипт на Visual Basic, который при своём запуске перепишет в ваш каталог автозагрузки или создаст там (по сохранённым шестнадцатиричным значениям) файл-троян. Вы запустите такой документ, потому что вас попросят посмотреть, "что не так в этом курсовике?" или по просьбе посмотреть, почему не правильно суммируются ячейки. А через пару месяцев вы увидите в Интернете свои фотографии, но с чужой подписью…

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

"Лаборатория Касперского" - международная компания-разработчик программного обеспечения для защиты от вирусов, хакеров и спама. Продукты компании предназначены для широкого круга клиентов - от домашних пользователей до крупных корпораций. В активе "Лаборатории Касперского" 16-летний опыт непрерывного противостояния вирусным угрозам, позволивший компании накопить уникальные знания и навыки и стать признанным экспертом в области создания систем антивирусной зашиты.

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

Академия Информационных Систем (АИС) создана в 1996 году и за время работы обучила свыше 7000 специалистов различного профиля. АИС предлагает своим партнерам десятки образовательных программ, курсов, тренингов и выездных семинаров. Сегодня АИС представлена направлениями: «Информационные технологии», «Дистанционное обучение в области ИТ», «Информационная безопасность, «Управление проектами», «Бизнес-образование», «Семинары и тренинги», «Экологические промышленные системы», «Конференции», «Консалтинг» и «Конкурентная разведка на основе Интернет».АИС является организатором конференций по информационной безопасности, которые стали общепризнанными научно-практическими мероприятиями федерального значения. Ближайшая из них - четвёртая всероссийская конференция «Обеспечение информационной безопасности. Региональные аспекты» - пройдет в Сочи с 13 по 17 сентября текущего года. http://www.infosystem.ru/longconf.php?fid=1119938331389056

Интернет-магазин www.watches.ru входит в состав крупной специализированной сети часовых салонов МОСКОВСКОЕ ВРЕМЯ, которая насчитывает более 40 торговых точек по Москве и регионам России. В нашем магазине представлены более 3000 моделей часов производства Швейцарии, Германии, Франции и Кореи. Доставка по Москве - бесплатно. Для постоянных клиентов существует гибкая система скидок и выдается накопительная дисконтная карта «Московское время».


©2005 Сергей Никитин aka Lucefer 
lucefer@fromru.com nikitinse@inbox.ru
ICQ: 239279945
или введите имя

CAPTCHA