Чтобы безопасность не была иллюзией

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

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

1. Антивирусное программное обеспечение.
2. Управление доступом и правами пользователей.
3. Межсетевые экраны.
4. Аутентификация пользователей.
5. Обнаружение вторжений.
6. Сканирование на наличие уязвимых мест.
7. Шифрование хранимой информации.
8. Механизмы физической защиты.
Теперь давайте рассмотрим по подробней каждый из них.

Антивирусное программное обеспечение

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

Управление доступом и правами пользователей

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

Межсетевые экраны

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

port 80 — Back End, Executor, Hooker, RingZero
port 113 — Invisible Identd Deamon, Kazimas
port 170 — A-trojan
port 667 — SniperNet
port 669 — DP Trojan
port 692 — GayOL
port 777 — Aim Spy
port 808 — WinHole
port 1016 — Doly Trojan
port 1212 — Kaos
port 1225 — Scarab
port 1255 — Scarab
port 1256 — Project nEXT
port 8988 — BacHack
port 12624 — Buttman
port 15104 — Mstream
port 16660 — Stacheldracht
port 27444 (UDP) — Trinoo
port 30001 — TerrOr32
port 8080 — RingZero
port 8787 — Back Orifice 2000
port 8897 — HackOffice
port 12754 — Mstream

Список далеко не полный (полный находится здесь: сайт )

Аутентификация пользователей

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

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

. отпечатки пальцев;
. сетчатку/радужную оболочку;
. отпечатки ладоней;
. конфигурацию руки;
. конфигурацию лица;
. голос.

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

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

Администратор порой просто физически не может уследить за всем, да и просматривать огромные логии по обмену трафиком просто нет времени… Поэтому ему трудно определить вторжение в систему. А нетрудно системе обнаружения вторжения (IDS — Intrusion Detection System). Работает такая система на основе сценариев, написанных администратором — стоит "убить" один вечер на их составление, и система сама будет информировать о вторжениях. Но не стоит полностью полагаться на показания программы (перефразирую известную поговорку: на программу надейся, а сам не плошай).

Сканирование на наличие уязвимых мест

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

Шифрование хранимой информации

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

Механизмы физической защиты

Кодовые замки на входной двери в серверную, охрана, камеры наблюдения, — это все и многое другое относится именно сюда. Мы рассмотрели принципы настройки всесторонней защиты, теперь справедливости рад надо рассмотреть и наиболее популярные методы атак хакеров.
1. Несанкционированный доступ к паролю.
2. Несанкционированное выполнение команд.
3. Атака типа "отказ в обслуживании".

Несанкционированный доступ к паролю

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

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

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

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

. Кража внешнего носителя пароля (дискеты, таблетки "Touch Memory", смарт-карты и т.п.).

. Перехват пароля программной закладкой (например, троянским конем NetBus или BackOrifice) или в процессе передачи по каналу связи. Последний вариант достаточно часто используется злоумышленниками.

Несанкционированное выполнение команд

Реализовываться такая атака может на любом из компонентов информационной системы за исключением сети передачи данных. Однако наиболее часто она реализуется на серверах под управлением Unix или же web- и SMTP-серверах. Для защиты от такого рода атак необходимо периодически отслеживать информационные бюллетени по безопасности, публикуемые различными организациями, работающими в этой области — например, SecurityLab ( сайт ). Это достаточно дешевый и простой способ, позволяющий своевременно узнавать об уязвимостях в программном обеспечении, которые дают возможность использовать "переполнение буфера". Однако в крупных территориально-распределенных сетях такой контроль малоэффективен. В этом случае необходимо использовать средства анализа защищенности, которые ищут уязвимости и устраняют их, или средства обнаружения атак, идентифицирующие факт реализации атак.

Атака типа "отказ в обслуживании" ("denial of service")

Атаки такого типа производятся на ресурсы, выведение из строя которых приводит к серьезным последствиям — иначе это было бы просто бессмысленно. Наиболее распространенными атаками такого типа являются WinNuke и SynFlood. Для построения последней используется так называемый ботнет, т.е. сеть из взломанных компьютеров, которые по приказу "хазяина" начинают отсылку пакетов на компьютер-жертву. Архитектура построения атаки следующая. Клиент отсылает серверу tcp-пакет с установленным флагом SYN. Сервер же, в свою очередь, отсылает клиенту ответный пакет с флагами SYN и ACK. Если клиент отвечает, то устанавливается соединение, если нет — сервер еще некоторое время ожидает ответа, выделяя на это ресурсы. При большом количестве syn-пакетов у сервера просто не хватит ресурсов. На этом атака и основывается.

Вместо заключения

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

Евгений Кучук, Spider Agent, spideragent@tut.by


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

©1997-2024 Компьютерная газета