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

По поводу того, как хакеры используют свои знания, имеются серьезные разногласия. Одни авторы называют хакерами тех, кто пытается взломать защищенные системы для того, чтобы затем сформулировать рекомендации по совершенствованию их защиты. Другие называют хакерами только “компьютерных асов”, использующих свои знания в преступных целях. Иногда хакеров в этом понимании называют кракерами или крекерами (от англ. crack – ломать).

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

постороннее лицо, не имеющее легального доступа к системе. Хакер может атаковать систему только с использованием общедоступных глобальных сетей;
сотрудник организации, не имеющий легального доступа к атакуемой системе. Более вероятна ситуация, когда в такой роли выступает не сам хакер, а его агент (уборщица, охранник и т.д.). Хакер может внедрять в атакуемую систему программные закладки. Если хакер сумеет подсмотреть или подобрать пароль легального пользователя, он может перейти в роль пользователя или администратора;
пользователь системы, обладающий минимальными полномочиями. Хакер может атаковать систему, используя ошибки в программном обеспечении и в администрировании системы;
администратор системы. Хакер имеет легально полученные полномочия, достаточные для того, чтобы успешно атаковать систему. Для нейтрализации этой угрозы в системе должны быть предусмотрены средства противодействия несанкционированным действиям администраторов;
разработчик системы. Хакер может встраивать в код системы “люки” (недокументированные возможности), которые в дальнейшем позволят ему осуществлять несанкционированный доступ (НСД) к ресурсам системы.
Профессиональный уровень хакеров варьируется в очень широких пределах. В роли хакера может выступать как школьник, случайно нашедший программу взлома на одном из серверов Internet, так и профессионал. В телеконференциях Internet неоднократно встречались сообщения о существовании организованных хакерских групп, поставивших взлом компьютерных систем на коммерческую основу. Руководство такими группами осуществляется профессионалами высочайшей квалификации.

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

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

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

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

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

Хакер не атакует систему, пока не будет уверен (или почти уверен) в успехе.

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

Атака системы происходит быстро. Администраторы обычно узнают об атаке только после ее окончания.

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

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

Хакер никогда не атакует систему под своим именем или со своего сетевого адреса.

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

Если в атакуемой системе предусмотрен аудит, хакер старается его отключить.

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

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