Хакинг и антихакинг

КОМПЬЮТЕР ДЛЯ НАЧИНАЮЩИХ

П. Данилов

ХАКИНГ И АНТИХАКИНГ

Краткие инструкции для новичков

*

АКВАРИУМ

Дом печати – ВЯТКА

2005


ББК 32.973.26.018.2

Д18

Данилов П. П.

Д 18 Хакинг и антихакинг. Краткие инструкции для но

вичков (Компьютер для начинающих) М.; ООО «Ак

вариум- Принт», К.: ОАО «Долтти ВЯТКА», 2005.

– 128 с.

ISBN 5-98435-320-2

»

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

ББК 32.97:5.2(5.018.2

Охраняется Законом РФ об авторском нраве. Воспроизведение всей книги или ее части запрещается без письменного разрешения издателя. Любые попытки нарушения Закона будут преследоваться в судебном порядке.

© Данилов П. П., 2005

ISBN 5-98435-320-2© ООО «Аквариум-Принт», 2005


СОДЕРЖАНИЕ

Предисловие 4

Часть первая. Вводная8

Глава 1. Хакер: кто он? 8

Глава 2. Как все начиналось. Хакеры и сеть 13

Глава 3. Что необходимо знать для

понимания хакинга25

Глава 4. Глобальная сеть – место больших

возможностей36

Часть вторая. Защита 58

Глава 5. Защита от сетевых атак .58

Глава 6. Защита данных на компьютере 117


ПРЕДИСЛОВИЕ

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

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

Потому в новых рыночно-конкурентных условиях возникает масса проблем, связанных с обеспечением


сохранности и конфиденциальности коммерческой информации как вида интеллектуальной собственности.

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

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

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

Одним из самых распространенных на сегодня источником получения информации являются компьютерные


сети. Их количество увеличивается по всему миру с каждым днем. Многие из них прямо или косвенно связаны с Интернетом. Такие сети предоставляют великолепные возможности доступа к информации и обмена ей. Однако вместе с новыми возможностями появляются и новые проблемы.

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

В Интернете стала храниться и передаваться действительно важная и конфиденциальная информация. Стало обычной практикой подключение корпоративной компьютерной сети к Интернету. Все больше пользователей, на чьем компьютере хранится важная информация, также работают в Интернете. Кроме того, в • последние годы всемирная компьютерная «паутина» становится все более эффективным средством совершения финансовых сделок и серьезным подспорьем в бизнесе. Согласно данным исследований, проводимых исследовательской компанией International Data, объем Интернет-бизнеса достиг в 1999 г. в США 74 млрд долл., а в Европе – 19 млрд долл. К 2003 г. этот показатель вырос, несмотря на многочисленные кризисы, по различным подсчетам, от 900 млрд до 1400 млрд долл.

Аналогичные процессы происходят и в России. У нас сохраняются самые высокие в Европе темпы продаж персональных компьютеров. Несмотря на низкое качество телефонных линий, рынок Интернета в нашей стране расширяется вдвое быстрее, чем в Западной Европе.


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

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

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


ЧАСТЬ ПЕРВАЯ. ВВОДНАЯ Глава 1. Хакер: кто он?

«Ежели один человек чего построил, то другой

завсегда разломать сможет…»

Известный кузнец из известного фильма.


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

Растиражированный западным кинематографом реальный образ хакеров так же далек от реальности, как фильмы о Джеймсе Бонде или бюджет Российской Федерации. В той же мере приближены к реальности крайние точки зрения: хакерство – это хорошо, хакерство – это плохо. Хороший или плохой… Решайте сами! Тем более что, наверное, многие из нас в душе немножечко сами злобные хакеры. Не стану утверждать, что последнее высказывание справедливо в ста процентах случаев.

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

Слово «хакер» сейчас используют в двух значениях:


– это человек, который прекрасно знает компьютер

и пишет хорошие программы;

– злоумышленник, незаконно проникающий в чужие

компьютерные системы с целью незаконного получе

ния информации.

Таким образом, это название совмещает в себе по меньшей мере два значения. Одно – нейтральное или даже хвалебное (ас, мастер), другое – негативно окрашенное (взломщик, вор).

Английский глагол to hack применительно к компьютерам может означать две вещи – взломать систему или починить ее. В основе этих действий лежит общее начало: понимание того, как устроен компьютер и программ, которые на нем работают. Двусмысленность термина «хакер» ведет к парадоксам. Хакер – это и герой, и хулиган, и расчетливый преступник; мастер киберреальности и угроза компьютеризированному обществу. Отсюда крайности в оценке: хакеры подвергаются либо полной идеализации, либо такому же полному очернению.

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

Третье поколение киберреволюционеров – хакеры начала 80-х гг. XX в. – создали множество прикладных, учебных и игровых программ.

Возможно, кто-то из вас думает, что хакеры – это самые страшные монстры, которых породил на свет Божий безумный XX век. Не стану оспаривать чью-то правоту, а просто постараюсь помочь вам разобраться в самих терминах. А они (это важно!) вводят порой в заблуждение.


Согласно словарю известного Guy L. Steele хакеры подразделяются на следующие виды.

1.Hacker:

– индивидуум, который получает удовольствие от изу

чения деталей функционирования компьютерных

систем и от расширения их возможностей, в отличие

от большинства пользователей компьютеров, которые

предпочитают знать только необходимый минимум;

– энтузиаст программирования; индивидуум, получаю

щий удовольствие от самого процесса программиро

вания, а не от теоретизирования по этому поводу.

2.Cracker. Основная задача кракера состоит в непо

средственном осуществлении взлома системы с целью

получения несанкционированного доступа к чужой ин

формации, ина’че говоря, для ее кражи, подмены или

для объявления факта взлома. Кракер (в отечественной

терминологии «крякер») по своей сути ничем не отли

чается от обычного вора, взламывающего чужие кварти

ры и крадущего чужие вещи. Он взламывает чужие вы

числительные системы и крадет чужую информацию.

Кто-то тут же отмахнется! Точно, по телевизору не про

тех говорили, мол, «свистнули» чьи-то пароли и прода

вали халявный доступ в Интернет? Низменность мо

тивов кракеров приводит к тому, что 90 % из них являются

«чайниками», которые взламывают плохо администри-

руемые системы, в основном благодаря использованию

чужих программ (обычно эти программы называются

exploit). Причем это мнение тех самых 10 % профессио

нальных кракеров. Такие профессионалы – бывшие

хакеры, ставшие на путь нарушения закона. Их, в отли

чие от кракеров-«чайников», остановить действительно

очень сложно, но отнюдь не невозможно (вспомните то

го же Митника). Лучше всего, как показывает практика,


для установки лучшей безопасности собственного компьютера пригласить в гости… профессионального хакера. И дешевле и в принципе, удобнее. Но и темных лошадок (то бишь кракеров) также ни в коем случае не следует сваливать в одну кучу, обзывая их при этом «ворюгами».

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

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

1) вандалы – самая известная (во многом благодаря

повседневности вирусов, а также стараниям журналистов)

и, надо сказать, самая малочисленная часть кракеров. Их

основная цель – взлом системы ради ее разрушения.

К ним можно отнести специалистов в написании виру

сов, или «троянов». Совершенно естественно, что весь

компьютерный мир ненавидит кракеров-вандалов лю

той ненавистью. Эта стадия кракерства обычно харак

терна для новичков и чаще всего достаточно быстро про

ходит, если кракеру удается совершенствоваться (ведь

довольно скучно осознавать свое превосходство над без

защитными пользователями). Кракеров, которые даже

с течением времени не миновали эту стадию, а только

все более совершенствуют навыки разрушения иначе,

чем социопатами, не назовешь;

2) шутники – наиболее безобидная часть кракеров (ко

нечно, в зависимости от того, насколько злые они предпо

читают шутки), основная цель которых – известность,

достигаемая путем взлома компьютерных систем и внесе

нием туда различных эффектов-шуток. «Шутники»

1)

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

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

– исследование вычислительной системы с выявлени

ем изъянов в ней;

– разработка программной реализации атаки;

– непосредственное ее осуществление.

Естественно, настоящим профессионалом можно счи

тать того кракера, который для достижения своей цели

проходит все три стадии. Можно считать профессиона

лом того кракера, который, используя добытую третьим

лицом информацию об уязвимости в системе, пишет

программную реализацию данной уязвимости. Осущест

вить третью стадию может почти каждый, используя чу

жие разработки. Но то, чем занимаются взломщики, -

это обычное воровство, если абстрагироваться от пред

мета кражи. К сожалению, у нас, в России, все не так

просто. В стране, где большая часть программного обес

печения, используемого пользователями, является

пиратским, т. е. украденным не без помощи тех же


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

Хотелось бы остановиться еще на одном аспекте проблемы. Глубокое непонимание большинством обывателей проблем, связанных с информационной безопасностью в вычислительных системах, с течением времени сформировало некий миф о всемогуществе хакеров и повсеместной тотальной беззащитности компьютерных систем. Отчасти этот миф является реальностью. Действительно, современные вычислительные системы и сети общего назначения имеют серьезные проблемы с безопасностью. Но, подчеркнем, именно вычислительные системы общего назначения. Там же, где требуются обработка критической информации и обеспечение высшего уровня защиты и секретности (например, в военной области, в атомной энергетике и т. п.), используются специализированные защищенные ВС, которые (и это чрезвычайно важно!) в основном изолированы от сетей общего назначения (в частности, от сети Интернет).

Глава 2. Как все начиналось. Хакеры и сеть

2.1. Червь Интернет

1 ноября 1988 г. – это, несомненно, самая печально известная дата в биографии Интернета. Около 18:00 по


восточному стандартному времени студент Корнеллского университета запустил в сеть компьютерную программу-червя (worm). Это был первый значительный вирус из всех, когда-либо поражавших Интернет. Почти мгновенно червь поразил компьютеры на территории всей Америки. В течение часа вирус остановил работу многих основных национальных и международных исследовательских центров. К счастью, все пораженные рабочие места (4000-6000 компьютеров) в сумме составляли от 5 до 7 % от общего количества компьютеров, работающих в Интернете. Стоит отметить, что на то время Интернет связывал . приблизительно 80 000 компьютеров.

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

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


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

В скором времени ранее никому не известные «лабораторные крысы», которые уничтожили программу-вирус, были приглашены для выступления на телевидении. После телевизионного интервью последовал «разбор полетов», проведенный должностными лицами из Национального института стандартов и технологии, Агентства оборонных коммуникаций, Министерства энергетики, Лаборатории баллистических исследований, Национальной лаборатории Лоуренса Ливермора, ЦРУ, ФБР и Национального центра компьютерной безопасности.

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

Червь Интернета был первым истинно сетевым червем (networking worm), теоретически способным разрушить большинство компьютерных систем, работающих под управлением операционной системы Unix. Более того, благодаря небольшой модификации, червь мог бы атаковать и системы, разработанные компанией Novell – единственным серьезным конкурентом Unix.

Способ, которым вирус-червь приостановил работу такого большого количества систем, относительно прост.


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

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

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

Студент Корнеллского университета Роберт Т. Моррис-младший, написавший червя, был приговорен к трем годам условного заключения, а также к выплате штрафа в размере 10 000 долларов и 400 часам общественных работ. Он стал первым хакером сети Интернет. По одной из версий он почти сразу раскаялся и попросил своих друзей поместить его рекомендации по уничтожению вируса на электронную доску объявлений. К сожалению, червь привел BBS в негодность раньше, чем кто-либо сумел воспользоваться советами Морриса.


Хотя червь Морриса не принес большого вреда, его появление стало началом новой эры – эры обеспечения безопасности работы сетей.

Так же, как первые угоны самолетов в 1960-х гг. послужили толчком к созданию средств безопасности в аэропортах, так и эта первая попытка «кибертерроризма» открыла новую эпоху осознания необходимости защиты компьютерных сетей, в первую очередь тех, которые связаны с Интернетом. С ростом количества компьютерных сетей, соединенных с Интернетом, увеличивалось и число связанных с этим видов опасностей и, соответственно, средств защиты.

2.2. Потери возрастают

В начале марта 1997 г. Институт средств компьютерной безопасности города Сан-Франциско, представляющий собой международную ассоциацию специалистов по вопросам защиты компьютеров, сообщил данные последнего опроса 249 американских компаний. Результаты опроса показали, что эти компании потеряли более 100 млн долл. из-за преступлений, связанных со взломом средств защиты компьютерной информации. Если умножить эту цифру на число компаний, чья основная сфера деятельности схожа с опрошенными, общая цифра потерь будет исчисляться миллиардами долларов.

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


В соответствии с сообщениями независимых источников из Министерства безопасности США (DOD – Department of Defense) к 88 % компьютеров министерства возможен доступ извне. 96 % случаев проникновения хакеров в компьютерные системы этого министерства были обнаружены его специалистами. Становится ясно, что кем бы вы ни были – системным администратором, специалистом по вопросам защиты информации, менеджером по информационным технологиям или создателем Web-страниц – вы должны уметь определить грозящие вам опасности и предпринять соответствующие меры.

2.3. Интернет

В настоящий момент Интернет является самой известной всемирной компьютерной сетью. Точнее, он является связующим звеном для большинства существующих сетей. Интернет состоит из миллионов компьютеров, связанных между собой с помощью общих стандартов и протоколов передачи данных. Протоколы позволяют пользователям всего мира обмениваться друг с другом информацией в различных ее проявлениях. Он включает в себя огромное количество локальных сетей (local-area networks – LAN), принадлежащих промышленным предприятиям, крупным компаниям, учебным заведениям и правительственным учреждениям. LAN – это группа компьютеров, связанных между собой непосредственно или через центральный компьютер, который называется сервером (server). Все эти компьютеры находятся на близком расстоянии друг от друга. Примеры локальных сетей можно увидеть в большинстве компаний мира. У каждого пользователя LAN есть свой рабо-


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


Параллельно с LAN существуют и глобальные компью-. терные сети (wide-area networks – WAN), количество которых увеличивается с каждым днем. WAN – это сеть, связывающая индивидуальные компьютеры или даже локальные сети, находящиеся на большом расстоянии друг от друга. Вообще любая сеть, связывающая два компьютера, расстояние между которыми больше мили, яв-


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

Интернет не только связывает между собой тысячи се-тей, но и соединяет миллионы отдельных пользователей. Чтобы получить доступ к Интернету, они пользуются услугами так называемых фирм-провайдеров. Провайдер услуг Интернет (Internet Service Provider – ISP) – это организация, имеющая один или несколько сетевых серверов, обладающих доступом к Интернету. Каждый сервер ISP поддерживает множество модемов. Пользователи связываются с ISP-сервером по телефонным линиям из своего дома или офиса. После соединения пользователя с ISP он становится по существу удаленным клиентом сервера ISP и пользуется для соединения с Интернетом телефонными линиями и модемом.

Вышеописанный способ соединения применяется частными пользователями в России почти в 95 % случаев. В Европе этот процент ниже – около 50 %.

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

Итак, каждый сервер, соединенный с Интернетом, – это часть Интернета. Иначе говоря, Интернет представляет собой множество соединенных друг с другом серверов LAN, WAN и ISP, через которые осуществляют выход в сеть отдельные пользователи.

Несколько слов о концепции доменов в сети. Имя домена (domain name) вместе с предшествующим ему


идентификатором протокола передачи данных (protocol identifier) и любым стандартным префиксом протокола представляют собой базовый универсальный указатель ресурса, или URL (universal resource locator). Пример имени домена – yandex.ru. Этому домену принадлежит все, что начинается с символов yandex.ru, а также все службы домена. Среди различных служб, предоставляемых доменами, отмечу протоколы HTTP (hypertext transport protocol), FTP (file transport protocol), услуги Telnet и т. д.

Например, чтобы попасть на главную Web-страницу сервера jamsa.com, нужно отправиться по адресу http://www.yandex. Аббревиатура «http» сообщает браузеру, что для передачи данных следует использовать протокол HTTP, а символы www обозначают стандарт протокола (protocol-standard). Более того, любая Web-страница, URL которой является расширением адреса указанной выше страницы, содержится в домене yandex.ru. Префикс «ftp» сообщает браузеру, что связь должна Осуществляться именно с помощью этого протокола.

Каждый домен может содержать несколько серверов, а большинство доменов обладают множеством внутренних адресов. Несмотря на то что многие компании название своей Web-страницы начинают с имени домена, это справедливо далеко не во всех случаях. Например, можно зарегистрировать имя вашего домена, как МуСоm-pany.ru. Но если вдруг вам покажется, что адрес http://www.Free-Mail-Service.com/ выглядит привлекательнее, можно зарегистрировать оба имени доменов и высокоуровневых URL с помощью Internik или той организации, которая занимается регистрацией доменов в вашей стране. После этого можно использовать оба имени доменов.


Увеличение количества индивидуальных пользователей, имеющих доступ к Интернету, представляется еще более важным, чем увеличение количества серверов, имеющих выход в Интернет. В течение последних 6 лет число индивидуальных пользователей Интернета удваивается каждые 9 месяцев. В настоящее время число пользователей Сети увеличивается каждый месяц приблизительно на 250 000. В часы «пик» в сети одновременно находятся до 70 млн пользователей одновременно!

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

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

С конца 1960-х гг. технологии начали взрывообразно развиваться и увеличение скорости процессоров стало обычным явлением. Способность процессора обрабатывать команды быстрее и с большей надежностью (robust-


ness) (надежность – субъективная характеристика качества выполнения программы) открывала новые перспективы для контроля и передачи информации. С появлением новых способов хранения данных пользователи осознали необходимость объединения компьютеров в сеть – так будет легче обмениваться информацией.

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

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

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

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


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

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

Если один из каналов выходит из строя или по каким-то причинам становится недоступным, сетевое программное обеспечение старается автоматически перераспределить пакеты на соседние свободные каналы. В устройстве большинства сетей предусмотрено выделение отдельного компьютера для управления процессом движения пакетов. В большинстве случаев сообщения, переданные другими входящими в сеть компьютерами, могут достичь лишь этого управляющего компьютера, который называется сетевым сервером (network server computer). Обычно специалисты употребляют для обозначения сетевых серверов термин «коммутатор пакетов» (packet switch) или, более формально, «процессор интерфейсов сообщений» (Interface Message Processor).

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


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

Глава 3. Что необходимо знать для понимания хакинга

В этой главе я постараюсь очень кратко наметить то,

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

3.1. ЯЗЫКИ программирования

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

Год рождения ARPANET был также годом, когда хакер из «Bell Labs» по имени Кен Томпсон (Ken Thompson) создал Unix. Томпсон был вовлечен в работу по разработке операционной системы, называемой Multics. Multics


должна была облегчить использование и программирование ЭВМ, чтобы увеличить производительность работы. Этот проект был выставлен на продажу, но никогда не пользовался таким успехом, как операционная система. Томпсон отказался от среды Multics и начал обыгрывать смесь идей Multics’a со своими собственными.

Другой хакер по имени Деннис Ричи (Dennis Ritchie) придумал новый язык, названный «С», для использования под «изначальным» Unix’oM Томпсона. Подобно Unix, «С» был разработан, чтобы быть естественным и гибким. Интерес к этим инструментам распространился в Bell Labs, и они получили популярность в 1971 г., когда Thompson и Ritchie выиграли тендер на то, что мы теперь называем системой автоматизации делопроизводства для внутреннего использования в фирме.

Традиционно операционные системы писались на ассемблере, чтобы извлечь максимально возможную эффективность (КПД) из хост-машин. Томпсон и Ричи были среди первых, кто понял, что аппаратные средства и технология компилирования стали достаточно хороши, чтобы операционная система полностью могла быть написана на «С», и к 1974 г. среда целиком была успешно перенесена на несколько машин различных типов.

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

Помимо переносимости, Unix и «С» имели еще одну важную силу. Они были сконструированы как философия «для самых тупых». Программист мог легко удер-


живать полную логическую структуру «С» в своей голове (в отличие от большинства других языков), вместо того чтобы постоянно обращаться к справочникам; и Unix был структурирован как гибкий инструментарий простых программ, разработанных для комбинирования друг с другом в необходимых направлениях.

В начале 1996 г. появился новый язык программирования – «Java». На домашней странице Consortium Java была внесена в список так называемых Мобильных кодов – одного из перспективных направлений развития технологии World Wide Web. И вот в конце 1996 г. на Западе начался бум Java, который к моменту проведения выставки Unix-Expo-96 докатился и до нашей страны. Согласно истории технология Java (кофе) роди-лась из проекта Oak (дуб), основной целью которого была разработка объектно-ориентированных средств описания и коммуникации различного рода электронных устройств. Из-за неудачи Oak в 1994 г. опыт, накопленный в рамках его реализации, было решено применить к продуктам, ориентированным на применение в Интернете. С апреля 1995 г. по сети свободно распространяется Hotjava – интерфейс просмотра страниц World Wide Web для платформ Sun.

Буквально через месяц Netscape Communication – тогдашний законодатель моды в разработке программ-интерфейсов Интернета – покупает лицензию на Java. С этого момента начинается золотое время для этой технологии. В настоящее время Hotjava реализована не только для Sun-. OS и Solaris, но и для многих других платформ и Windows.

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


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

Известный в свое время язык программирования Модула-2 был создан Н. Виртом в 1979 г. и впервые реализован на мини-ЭВМ PDP-11. В 1970-х гг. Паскаль получил широкое признание у пользователей ЭВМ и преподавателей, однако первоначально он был разработан для обучения программированию и как язык разработки програмного обеспечения имел много недостатков. В Модуле-2 эти недостатки были устранены, но при этом сохранены логическая структура и характерные черты его предшественника. Кроме того, в Модуле-2 были введены новые мощные языковые средства.

Язык программирования Модула-2 относится к так называемым машинонезависимым языкам. Н. Вирт применил Модулу-2 в написании полной операционной системы для мини-ЭВМ Lilith. Характерной чертой Мо-дулы-2 является раздельная компиляция, позволяющая разрабатывать и хранить в библиотеках программы, которые можно использовать повторно.

Первые версии языка программирования Си++ (тогда он назывался «Си с классами») были разработаны в начале 1980-х гг. Бьярном Страуструпом, сотрудником знаменитой AT amp;T Bell Labs, где ранее были разработаны операционная система Unix и язык программирования Си. По признанию самого автора языка, Си++ никогда не


разрабатывался на бумаге. Проектирование, реализация и документирование новых возможностей происходили фактически одновременно. Единственной целью разработки было создание языка, на котором было бы удобно программировать автору и его друзьям. За основу был взят популярный в среде профессиональных разработчиков язык программирования Си. Первыми средствами, которыми был расширен Си, стали средства поддержки абстракций данных и объектно-ориентированного программирования. Как это принято в AT amp;T, описание нового языка не было опубликовано сразу. Первыми его пользователями стали сами сотрудники Bell Labs.

Perl. Когда встает вопрос о создании приложений системного уровня, в частности сценариев Web-cepвepoв, на первый план выходит язык программирования Perl -прежде всего благодаря своей проверенности и богатству возможностей. Perl (Practical Extraction and Reporting Language, или, как иногда расшифровывают это название создатель Perl и другие его фанатичные приверженцы, – Pathologically Eclectic Rubbish Lister) является одним из наиболее мощных и популярных языков программирования.

История «Perl» началась в 1987 г., когда человек по имени Ларри Уолл занялся разработкой языка, необходимого ему для решения проблем системного программирования, с которыми он сталкивался как администратор Unix-систем. Несмотря на такое скромное начало, Perl вырос в полнофункциональный сложный язык. Он привлекателен тем, что заполняет разрыв между методами программирования коммандного процессора Unix и С-приложениями, обладая простотой первых и функциональностью последних. Уолл характеризует его так: «Perl – это интерпретируемый язык, оптимизирован-


ный для сканирования произвольных текстовых файлов, извлечения информации из этих файлов и печати отчетов на основе этой информации. С его помощью также можно решать многие задачи системного управления. При разработке этого языка целью была не столько красота (небольшой объем, элегантность и оптимальность), сколько практичность (простота в использовании, эффективность и полнота)». Уолл указывает также, что синтаксис выражений Perl находится в полном соответствии с синтаксисом выражений языка С; Perl не ограничивает произвольно объем ваших данных – «если вы располагаете памятью, Perl может загрузить в нее весь ваш* файл как одну строку»; рекурсия может быть неограниченной глубины, а кроме того, язык применяет изощренные методы сопоставления с образцом для быстрого сканирования больших объемов данных.

3.2. Почему ломают сети?

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


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

Несколько лет назад по сети «Фидонет» прошла информация, что некий ее участник забрался в компьютер управления сетью международных спутников «Иммарсат» (обслуживает навигацию, космос, связь, сигналы «SOS» и т. д.). Он не только сам там «погулял», но и выдал в сеть все инструкции и пароли по вхождению в базу данных. Чем это может обернуться для спутниковой сети, пока неясно.

Нахальство наших компьютерных хулиганов не в последнюю очередь обусловлено фактическим отсутствием борьбы с ними на родине. Причем нельзя сказать, что совсем ничего не делается. В 2001 г. вышел специальный указ Президента о защите информации. Россия обязалась сотрудничать с Интерполом в этой области. В начале 1995 г. при МВД было создано специальное подразделение по борьбе с хакерами в количестве восьми человек. По этому вопросу было даже специальное заседание Совета безопасности. Хорошей иллюстрацией эффективности подобных мер является то, что на вопрос корреспондента о результатах поимки злодеев ответственный работник МВД ответил прямо: «Молодой человек, арестовывают и судят у нас по законам, а не по указам».

В- 1997 г. ФБР обратилось к правоохранительным органам России. Дело в том, что американские глобальные коммерческие информационные сети, такие как America Online и Microsoft Network, за 4 месяца 1996 г. понесли ощутимые убытки от хакеров, использующих для входа в сеть фальшивые кредитные карточки. Проследив линки,


службы безопасности указанных сетей передали всю информацию ФБР, так как было выявлено, что большинство незаконных подключений производится со стороны России. Если честно, то в Интернете определить источник подключения достаточно просто, но дорого (приходится держать дополнительный штат сотрудников). В АО Л и МСН такие подразделения существуют. Ну и что? Первым делом начинается проверка всех официальных точек входа в сеть, т. е., если в городе имеется официальное представительство сети со своим номером телефона для подключения к конкретной сети, все подключения начинают контролировать автоматически. При этом работает АОН или CID (если набор тональный). Если абонент официально подключен к сети – все нормально. Если номер не определяется – абонента «выкидывает с линии». Если номер телефона не совпадает с базой данных официальных пользователей – соединение автоматически берется на контроль. Не спасает и подключение через Интернет (через промежуточные сети), так как текущий линк всегда фиксируется при соединении (этот момент используется сетью для автоматического роуминга пакетов данных).’ Только в Москве в 1996 г. было выявлено более 360 человек, незаконно использующих коммуникационные услуги. Тут есть юридическая тонкость – сидя дома, человек совершает преступление на территории США. Требование привлечь их к ответственности в соответствии с законодательством США даже в наши маразматические времена – дикость. Тут можно годами разбираться. Теоретически здесь применимы статьи УК РФ, касающиеся финансовых преступлений, т. е., если хакера нельзя привлечь за взлом сети, его можно привлечь к уголовной ответственности по другим статьям (например, за хулиганство, подделку денежных знаков и т. п.).


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

3.3. Протокол TCP/IP

Семейство протоколов TCP/IP широко применяется во всем мире для объединения компьютеров в сеть Интернет. Более подробную информацию о протоколах TCP/IP можно найти в RFC (Requests For Comments) – специальных документах, выпускаемых Сетевым Информационным Центром (Network Information Center – NIC).

Каждая машина в сети, работающей по протоколу TCP/IP (IP-сети), имеет уникальный адрес, который присваивается администратором, и все данные передаются и получаются машиной с использованием этого уникального адреса. Вторым, не менее важным параметром, характеризующим машину, является маска подсети – величина, определяющая максимальное число машин, которые могут находиться в одном локальном сегменте сети.

Администратор присваивает IP-адреса машинам в соответствии с тем, к каким IP-сетям они подключены. Старшие биты 4-байтного IP-адреса определяют номер IP-сети. Оставшаяся часть IP-адреса – номер узла (хост-номер). Существуют 5 классов IP-адресов, отличающиеся количеством бит в сетевом номере и хост-номере. Класс адреса определяется значением его первого байта. Из этих 5 классов широко используются только первые три.


Адреса класса «А» предназначены для использования в больших сетях общего пользования. Они допускают большое количество номеров узлов. Адреса класса «В» используются в сетях среднего размера, например в сетях университетов и крупных компаний. Адреса класса С используются в сетях с небольшим числом компьютеров.

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


Класс

Начало диапазона

Конец диапазона

Маска

А

10.0.0.0

10.255.255

255.255.0.0.0.

В

172.16.0.0

172.31.255

255.255.255.0.0

С

192.168.1120

192.168.112.255

255.255.255.0

Прежде чем вы начнете использовать сеть с TCP/IP, вы должны получить один или несколько официальных сетевых номеров. Выделением номеров (как и многими другими вопросами) в Интернете занимается DDN Network Information Center (NIC). Выделение номеров производится бесплатно и занимает около недели. Вы можете получить сетевой номер вне зависимости от того, для чего предназначена ваша сеть. Даже если ваша сеть не имеет связи с объединенной сетью Интернет, получение уникального номера желательно, так как в этом случае есть гарантия, что в будущем при включении в Интернет или при подключении к сети другой организации не возник-


нет конфликта адресов. Адрес для вашей сети может предоставить ваш провайдер. Чаще всего так и делается.

Адресное пространство сети может быть разделено на непересекающиеся части – «подсети», с каждой из которых можно работать, как с обычной сетью TCP/IP. Таким образом, единая IP-сеть организации может строиться как объединение подсетей.

Как правило, подсеть соответствует одной физической сети, например одной сети Ethernet. Использование подсетей необязательно. Можно просто назначить для каждой физической сети свой сетевой номер, например номер класса «С». Однако такое решение имеет два недостатка. Первый заключается в пустой трате сетевых номеров. Более серьезный недостаток состоит в том, что если ваша организация имеет несколько сетевых номеров, то машины вне ее должны поддерживать записи о маршрутах доступа к каждой из этих IP-сетей. Таким образом, структура IP-сети организации становится видимой для всего мира. При каких-либо изменениях в IP-сети информация о них должна быть учтена в каждой из машин, поддерживающих маршруты доступа к данной IP-сети.

3.4. Порты

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

Сообщения должны содержать запрос на предоставление услуг. Они отправляются процессами-клиента-


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

Глава 4. Глобальная сеть – место больших возможностей

i

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

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

– взлом «снаружи». Взлом с использованием удаленно

го доступа;

– взлом «изнутри». Взлом с помощью какого-либо ПО,

находящегося на взламываемом компьютере.

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


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

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

После того как вы определили факт сканирования, следующий вопрос, которым вы задаетесь: «Смогли ли они проникнуть внутрь?» Большинство современных экс-плойтов основано на переполнении буфера (известном также как срыв стека). Говоря простым языком, переполнение буфера возникает, когда программа (как правило, демон) получает на вход данные большего размера, чем ожидалось, перезаписывая критичные области памяти. В результате выполняется некоторый код, дающий права привилегированного пользователя (Администратора).

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

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


очень много. Таким же образом часто распространяются и вирусы (хакерские программы – по сути тоже вирусы, называемые троянами).

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

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

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


Несколько советов по защите серверов и машин, использующих сеть.

1. Следует ограничить число людей, имеющих удален

ный доступ к управлению вашим Web-сервером, и тща

тельно следить за этим доступом. Дистанционное адми

нистрирование (как и доступ к корневому каталогу) -

хороший подарок хакеру.

2. Проверьте, правильно ли сконфигурированы спи

ски доступа и вносятся ли в них каждодневные измене

ния (такие, например, как добавление новых пользовате

лей и клиентов, удаление старых ).

3. Насколько возможно, отделите такую машину от про

чих. Можно дополнительно укрепить сервер, отменив все

необязательные функции приложений и операционных си

стем. Если вы не в состоянии это сделать, следует всерьез

подумать об использовании сторонних услуг (outsourcing).

4. Установите систему обнаружения вторжений, кото

рая немедленно будет ставить в известность админист

ратора сети обо всех проблемах, требующих устранения.

Помните, что обнаружить хакера – уже полдела; главная

задача состоит в пресечении его деятельности.

5. Система должна реагировать на любые необычные

события, происходящие на серверах. Невозможно оста

новить злоумышленника, не зная, что он делает.

6.Неправильно написанные, сконфигурированные

и установленные на сервере скрипты Perl и CGI (Common

Gateway Interface) могут стать причиной возникновения

«дыр» в системе защиты. Этими средствами надо поль

зоваться крайне аккуратно; все скрипты должны прове

ряться опытными специалистами.

7.Следует обеспечить аутентификацию администра

торов. Все большее распространение получают различ

ные биометрические средства идентификации по голосу,


отпечаткам пальцев и узору сетчатки, если, конечно, ценность информации достаточно велика (они стоят примерно по 300 долл. в расчете на одного пользователя).

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

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

1. Выясните о нанимаемых на работу людях несколь

ко больше, чем можно узнать из их резюме; особенно это

касается таких критически важных должностей, как

системный администратор. Подумайте о введении систе

мы психотестов, которые позволят выявить этические

принципы кандидатов, их особенности.

2. Рассмотрите вопрос о снятии дисководов и CD-

ROM с пользовательских ПК. Это затруднит сотрудни

кам установку своего собственного программного обес

печения и компьютерных игр, помешает им заражать

систему вирусами и «выносить» из компании закрытую

информацию. Такая мера позволит избежать и еще одной

угрозы для информационной безопасности – диски, раз

бросанные на столе сотрудника, легко могут пропасть.


3. Установите безопасную блокировку компьютера

при появлении экранной заставки – это поможет обезо

пасить компьютеры пользователей, которые забывают

их блокировать, когда уходят со своего рабочего места.

4. Предоставляйте администраторские права только

тем людям, которым они реально нужны. Помните, что

каждый раз, когда вы даете такие привилегии, в системе

защиты появляется еще одна потенциальная «дырка».

3.

5.Уничтожайте или сжигайте важную закрытую инфор

мацию: списки персонала, идентификационные имена со

трудников, сводки отдела кадров, папки с данными о кли

ентах, памятки руководства, схемы сетей и вообще все, что

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

6. Мусорные контейнеры должны находиться на тер

ритории организации; в противном случае злоумышлен

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

7. Постарайтесь, чтобы сотрудники компании стали

вашими союзниками в борьбе за корпоративную безопас

ность. Попробуйте реализовать программы партнерства:

пообещайте вознаграждение тому, кто обнаружит недо

четы в системе безопасности или уличит кого-либо в не

добросовестности. Не увлекайтесь этим советом – это

может подорвать атмосферу в коллективе.

8. Внимательно изучайте все продукты, обеспечиваю

щие информационную безопасность. Убедитесь, что они

работают именно так, как было обещано производите

лем. Подумайте, можно ли укрепить систему защиты, не

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

определенных усилий.

9. Уполномочьте кого-либо из сотрудников прини

мать оперативные меры в случае угрозы информацион

ной безопасности – от аварийной остановки Web-серве

ра до вызова охраны для удаления проштрафившегося

сотрудника за пределы организации.

4.1. Как обманывают провайдера?

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


Диком Западе, «либо ты быстрый, либо мертвый». Так же и тут: либо умный, либо совсем даже и не хакер. Однако наличие ума не означает отсутствия лени, и вот таких ленивых хакеров и должен отлавливать провайдер, чтобы не позволить им грабить нормальных клиентов фирмы и распугивать всю клиентуру.

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

Ни один хакер никогда не станет регистрироваться под настоящим именем, ибо неизвестно, к кому могут попасть его данные и для чего их могут использовать. Самым простым способом является простейшая подделка документов – хакер при регистрации у провайдера предъявляет некий документ со своей фотографией и фальшивыми данными. Для убедительности ставится печать (берется у друзей, можно вообще сделать ее – любая печать в Москве стоит порядка 50 долл.) – лучше государственного образца. Этот документ может гласить, что имярек – охранник, работник прокуратуры, сотрудник ФАПСИ (ФСБ, МВД) или просто какой-либо сотрудник какой-либо фирмы.

Для начала хакер берет любую телефонную базу, например КОТИК или ее Online-версию: http:// www.xland.ru:8088/tel_win/owa/tel. form, и вводит любую выдуманную им фамилию. Он не станет вводить тривиальные фамилии вроде Иванов, Петров, Смирнов, Андреев, Алексеев и т. д. Как правило, берется что-то не совсем обычное, первое, что приходит в голову: Левашов, Дубинин, Авдотин и т. п. Плюс ко всему необходимо выдумать левые паспортные данные: серию, номер, кем выдан, когда.


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

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

Если АОН есть, но хакеру все же надо остаться анонимным, то он воспользуется АнтиАОНом. Функции АнтиАО-На присутствуют практически во всех телефонных аппаратах с АОН (например, в аппаратах «Русь» или в «Phone Master»). Аппаратура АОН имеется у всех провайдеров,


использующих модемы «Zyxell» (например, «Deol»), у всех провайдеров, производящих оплату в кредит (МТУ-Ин-форм, ГОТ и др.). Это не самая дорогая аппаратура, однако она помогает моментально вычислить паршивую овечку в стаде Интернет-клиентов.

Некоторые провайдеры (например, «Россия Он-лайн») предлагают (или прилагают к купленному модему, компьютеру и т. д.) пакет ПО, документацию и некоторое количество часов бесплатной работы в Интернете (как правило, 5-10 ч). Другие провайдеры (например, «СИТЕК») просто продают запечатанный конверт, в котором находится имя, пароль и определенное количество часов работы в Интернет. Это, пожалуй, самый безопасный вариант, где хакер никоим образом не засвечивает свои данные. Ну и разумеется, продающиеся сейчас в большом количестве Интернет-карточки значительно упрощают жизнь хакера.

4.2. Кто и как нас ломает?

На глобальную сеть Интернет постоянно совершаются нападения, причем на разные серверы. В связи’ с этими «виртуальными сбоями» страдают и обычные клиенты, и солидные фирмы. Чем грозят пользователям эти взломы?

Например, потерей денег. Но иногда это более серьезный удар – удар по престижу фирмы. Так, недавно при невиннейшей, на первый взгляд, попытке узнать через Интернет текущие котировки ценных бумах мы заглянули на страничку некой весьма солидной компании, назовем ее «Альфа-Бета». Каково же было наше удивление, когда вместо сухих и привычных сводок мы обнаружили картинки весьма фривольного, мягко говоря, содержания. А жестче – прямую и неприкрытую порнографию.


Но каким образом такое могло произойти? У каждого пользователя Интернета есть свой адрес, например www.microsoft.com – адрес компании «Microsoft». При взломе меняется адрес, соответствующий интернетовскому имени пользователя, а его собственное имя присваивается другому адресу, и с этого момента все сообщения идут по ложному адресу. В нашем случае хакеры заменили слово в имени «ИнфоАрт» (www.ritmpress.ru) на имя сервера, где находится порнография, на, извините, www.free.ru. Поэтому те, кто интересовался в Интернете погодой или финансовыми новостями через привычный сервер, наталкивались на… хм, ну, понятно, что. Неприятности, которые, согласитесь, можно пережить. Но, к сожалению, сам факт «перемены адресов» в Интернете может иметь значительно более серьезные последствия. Что означает на самом деле взлом сервера и изменение адреса? Что конкретно еще могут сделать такие злоумышленники? Можно взять и создать липовую фирму в Интернете, при помощи которой каждый из нас как будто бы может заказать себе авиабилеты на нужный рейс в любузо точку земного шара. Фирма вроде бы и есть, но реально она никаких услуг не оказывает. Мы перевели деньги на счет несуществующей компании и после этого можем до бесконечности долго ожидать, когда же эти самые билеты окажутся у нас на руках. В это время наши деньги уже давно перекочевали на счет компании-«призрака».

Взломав сервер, можно выйти и на банковскую компьютерную систему, подключенную к Интернету. Но, слава Богу, не все банки работают в режиме он-лайн. А что, если какому-нибудь «взломщику» придет-таки в голову мысль «исправить» счет банка? И все наши денежки потекут по компьютерным сетям на какой-то совсем другой счет, в какой-нибудь банк далекой Швейцарии?


В принципе, Интернет – огромный сборник разнообразной информации. На Западе пользователи сети уже дожили до того, что заглядывают в глобальную сеть по любому бытовому поводу: купить что-нибудь (от пиццы до квартиры), заказать гостиницу на отдых, найти по вакансиям новое место работы, получить биржевую сводку и т. д. В этом случае кровно заинтересованные персоны-хакеры – могут, взломавши сеть, несколько исказить информационные данные. Например, завысить вполне приемлемую цену музыкального центра «Sony» в каком-нибудь магазине бытовой техники. Или вы можете произвести проплату покупки на никому не известный счет. А еще лучше забронировать себе номер в отеле «Крийон», приехать в Париж и выяснить, что вас там совсем не ждали. Каково? В общем, «виртуальные» диверсии в Интернете пока нам ничем таким серьезным еще не угрожали, но прецедент создан – сеть взломана. Значит, никто не гарантирован от иезуитского вмешательства на любом сервере Интернета.

Существует определенная методика взлома сетей. Разумеется, они недоступны без пароля. А поэтому хакер прежде всего проникает в известное ему место и выискивает там работающий пароль к сайту, который хочет взломать. Затем он должен войти в этот сайт, например так:, http: //www. chat, ru/index. html. Удаляет слово index, html и набирает, скажем,. htaccess, например www. chat. ru/. htaccess. Если ему повезет, он получит следующее: AuthUserFile/www/chat. ru/. htpasswd ‹ – место, где лежит файл с паролями AuthGroupFile devnull ‹ – место, где лежит groupfile AuthName Chat Only Directory ‹ – место, где находится popup, который просит его ввести password/login AuthType Basic ‹ – другие типы авторизации apache btw Limit GET POST PUT ‹ – require valid-user ‹ -


Но реально все это не нужно для начала. Если. htaccess прошел сразу, вместо него пишут. htpasswd и все ОК.

Находят passwordfile (. htpasswd). Удаляют, htaccess и вместо набирают (. htpasswd ).

После этого хакер получит файл паролей. Пароли будут зашифрованы. Это будет выглядеть примерно так: ocean: ORJFyfmfoetf. sydgator: 458mLs4euQHwo de-mil: o7ad9QtJIklTY demi2: Fx93hhGP/oTs6Y 233244: ZXEHRGfdsL9E346.

Первое слово – логин, остальное – пароли. Чтобы декодировать пароли, хакеру надо будет сначала скачать программу-декодер. Искать эту программу несложно, она свободно лежит по адресу http: //astalavi-sta. box. sk/.

Сохранив полученные логины и пароли, хакер раз-архивирует John The Ripper и набирает (предварительно поместив текстовой файл в директорию, где лежит ripper): John xxx. txt-single (это самый быстрый способ и самый простой алгоритм); John xxx. txt-wordfi-le: password. 1st (это посложней); John xxx. txt-incre-mental (это самый сложный алгоритм и занимает время, зато самый надежный). Этим описанием хотелось бы привлечь внимание разработчиков и провайдеров к необходимости разработки более совершенной системы шифровки паролей.

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


Оказывается, глупые юзеры сами готовы рассказать всем свои пароли! Для этого им нужен лишь маленький толчок. Для начала хакеры выбирают свою жертву. Это может быть сосед по лестнице, или друг по чату, или еще кто-нибудь. Выбрав жертву, хакер старается узнать как минимум две вещи, а именно: название провайдера, через которого подключается его жертва, и его логин. Благо, обе эти вещи сильно никем не скрываются и поэтому диалог: – А кто твой провайдер? – Я подключаюсь через провайдера Super Internet Provider, – не вызовет никакого подозрения. Теперь, зная провайдера, хакер узнает логин юзера. Часто (читай: почти всегда) логин пользователя такой же, как и адрес электронной почты, т. е. если электронный адрес пользователя выглядит так: LAMMER@super-provider. ru, то его логин с вероятностью в 99 % будет – «LAMMER».

Теперь, зная провайдера и логин юзера у этого провайдера, настает время узнать e-mail службы поддержки у этого провайдера. Чаще всего этот адрес выглядит как support@super-provider. ru или admin@super-provi-der. ru. И еще, если есть возможность, следует посмотреть хотя бы одно письмо от этой самой службы поддержки, чтобы знать форму обращения к юзеру и всякие стандартные приветствия типа «Здравствуйте, дорогой наш пользователь LAMMER!!!» и прощания. Они нам пригодятся. Шаг второй. Когда хакер знает весь необходимый минимум, приходит время для создания почтового адреса на каком-нибудь бесплатном сервере, так как оттуда можно будет забирать почту бесплатно, не звоня провайдеру, и потому что можно получить адрес с доменом @ru. ru (но это мелочи). Но создает он адрес не от «фонаря». Он не называет свой ящик die_you_lammers@.., а скромненько


так пишет support-super-provider(r).., или admin-su-per-provider(r).., или что-нибудь в этом роде (содержащее или название провайдера, или слова admin или support). Итак, сделав все вышеописанное, хакер приступает к самой ответственной части – написанию письма глупому юзеру. В принципе, в письме он может написать любую чушь типа: «Уважаемый пользователь! К сожалению, на вашем счету был обнаружен факт двойного доступа к нашему серверу, т. е. в одно и то же время, используя ваш аккаунт, в систему вошли 2 (два) пользователя. Вследствие чего возникла необходимость в смене вашего текущего пароля доступа к нашей сети. Вам необходимо ответить на это письмо, используя следующий формат: log: ваш логин ор: ваш старый пароль npl: ваш новый пароль пр2: ваш новый пароль em: ваш e-mail Эти сведения должны находиться в начале вашего сообщения. Обратите внимание на то, что новый пароль должен быть повторен дважды! Это необходимо для точной идентификации Вашего аккаунта. Рекомендуется прислать свои сведения до 13. 06. 2002 г., так как по истечении этого срока возможно отключение вашего аккаунта. Желаем вам успехов! С уважением, администрация сервера http://www. super-internet-provider. ru‹.

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

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


в строке «от» он пишет: From: «Super Provider Support» support@super-provider. ru. Если юзер вздумает посмотреть, от кого пришло письмо, он увидит РЕАЛЬНЫЙ адрес службы поддержки. В строке «кому» он пишет: То: lammer@super-provider. ru. И теперь самое интересное: в строке «ответить туда-то» находится следующее: Reply-To: «Super Provider Support» support-super-provider@ru, ru. Видите, «support-super-provider@ru. ru» – это адрес хакерского мыла (который он создал), и при ответе почтовая программа отправит именно по этому адресу. В теме письма пишут что-то типа Subject: Внимание. И в целом заголовок письма выглядит следующим образом: Reply-To: «Super Provider Support» From: «Super Provider Support» To: lammer@super-provider. ru Subject: Внимание. Date: Tue, 13 Jim 2000 13:13:13 +0000 MIME-Version: 1. 0 Content-Type: text/plain; charset= «koi8-r» Content-Transfer-Encoding: 8bit. Дальше идет служебная информация. Заканчиваем наше занятие! Все! Отправляем письмо.

Вот и все… Ах да, вот еще что: пароли можно добывать не только у провайдера. Как говорится, «легкб изменив текст письма», можно «попросить» пользователя выслать пароли от своего почтового ящика и т. д. Смех смехом, но срабатывает в поразительном числе случаев. Для достижения наилучшего результата рассылают письма не одному адресату, а нескольким – кто-нибудь да клюнет.

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


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

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

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

Наиболее продвинутые хакеры начали даже составлять специальные словари с учетом слов, наиболее часто встречающихся в паролях. Все это в конце концов положило конец первой стадии, и началась вторая: теперь пароль выдает компьютер, т. е. генерирует некоторую псевдослучайную последовательность букв, цифр и разных знаков препинания. Хорошо-то как стало: «tLka70PLp» – ну-ка подбери! Но тут возникла другая проблема: а поди-ка запомни!


Пользователи начали их на бумажках записывать, ну и периодически бумажки терялись (бумажкам это свойственно), похищались, попадали в мусорную корзину и так далее – от чего ушли, к тому и пришли! И тогда оказалось, что пароль можно хранить не в голове, а прямо на жестком диске. В DialUp-окне галочку поставить и запомнить пароль. Мозги у компьютера кремниевые – ему все равно, что запоминать. А раз запомнили, то, само собой, и записать надо. А раз записали, то… правильно: можно и подсмотреть.

На этом наше лирическое вступление заканчивается, и начинается уже сугубо технология. Где хранятся пароли в Windows? Зашифрованные пароли в Windows 95, как известно, хранятся в основном каталоге, в файлах с расширением PWL. С учетом того, что не только «у нас здесь», но и «у них там» бывают персональные компьютеры коллективного пользования, да и сети локальные местами встречаются, на каждого пользователя заводится свой PWL.

Кстати, название файла соответствует логину данного пользователя. Зашифрованы эти файлы, в принципе, достаточно прилично. Если кому-либо интересно, то, взяв в руки какой-нибудь дизассемблер (HIEW, QVIEW), можно посмотреть процедуру шифрования. Она находится в файле MSPWL32. DLL. в версии OSR2pus со смещением 488(hex). Вот уж где накручено! Имеется счетчик (назовем его N) от нуля до «сколько надо». Имеются три таблицы. В соответствии со счетчиком N берется байт из первой таблицы (X). По смещению X+N, урезанному до 8 бит, из второй таблицы берется другой байт (Y). Затем по адресу X+Y, опять же урезанному до 8 бит, из третьей таблицы берется третий байт (Z). После столь хитрых манипуляций командой XOR с байтом Z шифру-


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

Не знаю уж, в чьих нездоровых мозгах могла появиться мысль использовать для шифрования команду xor byte ptr [eax+ebp], cl. Может, запутать хотели? Но команда уникальна, такие команды в обычных программах еще поискать надо. Стало быть, ищем соответствующую ей комбинацию 30h, OCh, 28h – и все дела. Дальше – просто. Берем MSPWL32. DLL и со смещения 511 h (или там, где найдем) ставим 90h, 90h, 90h – команды NOP (пустая операция). И все! – команда не выполняется! Что при этом произойдет? Как ни странно, ничего страшного и даже не очень страшного. И даже никто ничего не заметит!!! Все останется как всегда, с одним лишь исключением: ВСЕ логины/пароли будут видны, так сказать, невооруженным глазом!

Тут, правда, есть два неприятных момента. Во-первых, во время работы Windows вам не удастся подобным образом надругаться над их «святая святых»: писать в этот файл нельзя. Значит, придется перегружаться в режиме эмуляции MS-DOS, а это лишнее время, которого может не быть. Во-вторых, а это еще хуже, вам надо будет стереть все PWL’bi, иначе даже в Windows не пустят: а вот тут у законных пользователей могут возникнуть лишние вопросы и подозрения.

А можно проще? Без дизассемблеров и «насильственных действий»? Можно! И вот здесь я скажу то, за что


(и за многое, увы, другое) Windows 95 иначе, как MustDie, по праву никто не называет. Вы, наверное, думаете, что пароли расшифровываются только тогда, когда это надо, а затем «выжигаются» из памяти «каленым железом»? Ну вот еще… Открытые пароли ПОСТОЯННО хранятся в системе – с момента ВХОДА в Windows данного пользователя и до момента его ВЫХОДА! Вот вам и безопасность. Но этого мало: они доступны ЛЮБЫМ приложениям через API Windows. И вот результат: появляется программа PWLVIEW, которая спокойно показывает вам «всю подноготную» вашей (или не вашей) машины. В том числе и DialUp, и сетевые пароли. Формат выдаваемой информации таков: *Rna\l-e соедине-ние\1-й логин 1-й пароль *Rna\2-e соединение\2-й логин 2-й пароль и т. д.

Да, это все хорошо, но она работает в окне DOS. Но есть еще одна штука, PEEPER называется. Эта идет еще дальше. Пароль, как вы можете заметить, не показывается, вместо него звездочки. Так вот: запускаем PEEPER, запускаем соединение, наводим мышь на звезды и в окне PEEPER видим… правильно, открытый пароль. Вы скажете: у меня нет ни времени, ни возможности ковыряться в чужой машине, нельзя ли стянуть у соседа этот самый PWL, а потом дома разобрать? Можно, только это вам ничего не даст: не будет он у вас работать. Вернее, он ОДИН не будет. Нужно унести еще и USER. DAT. После чего дома «создать» User’a с именем из PWL, заменить свой USER. DAT на цельнотянутый и еще добавить в Windows тянутый PWL. После чего войти в Windows под соответствующим именем и… Дальше в игру вступает PWLVIEW. Я все так и сделал, скажете вы, а вот тот User в Windows с паролем входил, а мне теперь не войти – пароля-то я не знаю. Что делать? Не беда! Уносим ТОЛЬ-


КО USER. DAT! А теперь еще раз: Windows‘95 – MustDie! Как вам известно, кроме интерактивного доступа в Интернет, провайдеры предлагают еще и e-mail. Так вот, чтобы залезть в ваш почтовый ящик, в тот, что у вас на лестнице, нужен ключ (или лом). Чтобы залезть в ваш e-mail, нужен пароль (или виртуальный лом). И тут я скажу откровенно: мало кто из отечественных провайдеров заслуживает доброго слова! Пароль к РОРЗ-ящику всегда и у всех тот же, что и DialUp! «Ну и что?» – спросите вы. А дело в том, что пароль e-mail находится не B’PWL’e, а в USER. DAT, и зашифрован он не так сильно, вернее, почти совсем не зашифрован!

Дело в том, что метод «шифрования» сильно UUE-кодирование напоминает, иначе говоря, из трех байтов делают четыре или из восьми битов – десять. Весь исходный пароль разбивается на части по три байта. В результирующей строке на один символ отводится 10 битов. Теперь к каждому байту исходной строки прибавляется ЗОН, если сумма больше, чем 7Ah, то он становится равен ЗОН, а к паре 9 и 10 битов добавляется единица.

Есть исключения. Если общая длина строки пароля не кратна трем, то она дополняется байтами 3Dh. Судя по всему, это ODh (конец строки)+30(1). В конце строки ODh, OAh: стандартное завершение. На мой взгляд подобрать пароль вручную проще, чем написать соответствующую программу: не каждый же день вы эти пароли подбираете! Где находится пароль – смотрите ниже, оттуда его и берем. А принцип прост: запускаем Internet Mail, заходим в Сообщение. Параметры. Сервер. Запускаем REGEDIT и переходим в HKEY_CURRENT_USER?Software?Microsoft?In-ternetMail and News?Mail?POP3?‹Bam сервер›: где и смотрим Password. (*) Удаляем пароль в Internet Mail. Первый подбираемый символ влияет на первый и вто-


рой байты, второй – на второй и третий, третий – на третий и четвертый. Теперь подбираем символ так, чтобы первый байт совпал с оригиналом, а второй или совпал, или был самый большой, но меньше оригинала. Аналогично для второго и третьего символов. С подбором третьего символа все четыре байта должны совпасть! Если нет – извините, вы ошиблись.

Естественно, после каждой замены символа нажимаем «Применить». Результат контролируем REGEDITOM, переходя выше/ ниже для обновления информации. Когда первые три символа подобраны, возвращаемся к (*) для следующих трех, и так далее до конца. Разумеется, байт(ы) 3Dh подбирать не нужно! После некоторой тренировки на все это уходит меньше 15 минут. А где это счастье хранится? И, кстати, ведь кроме логина и пароля еще многое нужно знать, а откуда? Не звонить же провайдеру? – не надо никому звонить! Все в нем, в USER. DAT.

HKEY_CURRENT_USER?RemoteAccess?Addresses: и мы имеем список подключений. Да, но там ничего не понятно. Правильно! Выбираем байт, которого больше всего, и дешифруем им все остальные (обычный XOR). В результате, в куче всякой ерунды получаем ASCII-строку с номером модемного телефона провайдера.

HKEY_CURRENT_USER?RemoteAccess?Profile -Хподключение›?1Р: со смещения ОСЬ четыре байта задом наперед – первичный DNS, затем еще четыре – вторичный и т. д.

HKEY_CURRENT_USER?RemoteAccess?Profile -› ‹подключение›?изег: логин. HKEYCURRENTUS-ER?Software?Microsoft?Windows -› CurrentVersion?In-ternetSettings?ProxyServer: Proxy- сервер и порт. Н К Е Y_CURRENT_USER?Software?Microso ft?Internct Mail and News? Mail: ?DefaultPOP3Ser-


ver: ?DefaultSMTPServer: ?SenderEMail: ?Name: ?Organi-zation: это все и так понятно.

7РОРЗ -г ‹РОРЗ-сервер›: ?Account: ЭТО ПОНЯТНО.

?Password: Ну вот и он!

А что делать, если пользователь – мазохист и не хранит пароли в компьютере, а вводит их каждый раз с клавиатуры? И этому горю можно помочь. Существуют программы типа SPYWIN или KEYBOARD SPY. Они записывают все действия, производимые на компьютере. Достаточно подсадить одну из них и… если вам потом не лень будет разбирать те десятки килобайт, которые будут порождены этими шпионами. Естественно, их можно использовать и для других целей.

Специально привожу пример с последовательностью действий для устаревшей «Винды». Поверьте, в новых версиях (2000 и ХР) тоже можно поломать и прочитать пароли.


ЧАСТЬ ВТОРАЯ. ЗАЩИТА

Глава 5. Защита от сетевых атак

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

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

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

Компьютерную систему можно рассматривать с двух точек зрения: видеть в ней лишь пользователей на рабо-


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

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

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

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


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

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

– анализ средств защиты;

– определение факта вторжения.

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

Разработку концепции защиты рекомендуется проводить в три этапа. На первом этапе должна быть четко определена целевая установка защиты, т. е. какие реальные ценности, производственные процессы, программы, массивы данных необходимо защищать. На этом этапе целесообразно дифференцировать по значимости отдельные объекты, требующие защиты.

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

Главной задачей третьего этапа является анализ обстановки, в том числе специфических местных условий,


производственных процессов, уже имеющихся технических средств защиты.

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

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

Политика защиты выходит далеко за рамки простой идеи «не впускать злоумышленников». Это очень сложный документ, определяющий доступ к данным, «характер серфинга в WWW, использование паролей или шифрования, отношение к вложениям в электронную почту, использование Java и ActiveX и многое другое. Он детализирует эти правила для отдельных лиц или групп. Нельзя забывать и об элементарной физической защите – если кто-то может проникнуть в серверную комнату и получить доступ к основному файловому серверу или выйти из офиса с резервными дискетами и дисками в кармане, то все остальные меры становятся совершенно бессмысленными и бестолковыми.

Конечно, политика не должна позволять чужакам проникнуть в сеть, но, кроме того, она должна устанавливать контроль и над потенциально нечистоплотными


и неисполнительными сотрудниками вашей организации. Девиз любого администратора системы защиты – «Не Доверяй Никому!».

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

Политика защиты должна обязательно отражать следующее:

– контроль доступа (запрет на доступ пользователя к ма

териалам, которыми ему не разрешено пользоваться);

– идентификацию и аутентификацию (использование

паролей или других механизмов для проверки стату

са пользователя);

– учет (запись всех действий пользователя в сети);

– контрольный журнал (журнал позволяет определить,

когда и где произошло нарушение защиты);

– аккуратность (защита от любых случайных нарушений);

– надежность (предотвращение монополизации ресур

сов системы одним пользователем);

– обмен данными (защита всех коммуникаций).

Доступ определяется политикой в отношении бранд

мауэров: доступ к системным ресурсам и данным из се

ти можно описать на уровне операционной системы

и при необходимости дополнить программами защиты

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

ценной частью вашей среды защиты, но при неправиль

ном использовании или обращении они могут стать клю

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


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

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

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

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

Брандмауэры (как аппаратные, так и программные) позволяют определить, кто имеет право доступа в вашу сеть извне. Все брандмауэры реализуют те или иные правила; разница состоит в уровне детализации и простоте исполь-


зования, обеспечиваемой интерфейсом управления. В идеале брандмауэр позволяет решить три важнейшие задачи:

– задавать правила из интуитивно понятного графиче

ского интерфейса;

– управлять доступом вплоть до уровня индивидуаль

ных файлов и объектов;

– группировать файлы и объекты для коллективного при

менения к ним правил в целях упрощения управления.

На сетевом уровне управлять защитой с помощью

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

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

Итак, как вы уже поняли, основа любой защиты – системный .подход. Для построения действительно эффективной защиты необходимо тщательно продумать ее. Для любого компьютера, «смотрящего» в сеть, критическое значение имеют три вещи:

– брандмауэр;

– антивирус;

– критические обновления для вашей операционной

системы.

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


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

В литературе о брандмауэрах можно часто встретить термин компьютер-бастион (bastion host). Название «бастион» происходит от средневекового слова, описывающего стены замка. Бастион-это специальное укрепленное место в стенах замка, предназначенное для отражения атак. Компьютер-бастион – это компьютер, который специально установлен для защиты от атак на сеть.

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

При использовании центрального доступа к сети через один компьютер упрощается обеспечение безопасности сети. Более того, предоставляя доступ к Интернету только одному компьютеру сети, разработчик намного облегчает себе выбор надлежащего программного обеспечения для защиты сети. Большинство сред Unix, включая Linux, хорошо приспособлены для использования компьютера-бастиона. В среде Unix можно установить компьютер-бастион по цене рабочей станции или машины класса «сервер», поскольку операционная система уже обладает


способностью поддерживать и конфигурировать IP-брандмауэр. Таким образом, вы сможете сэкономить средства, затрачиваемые на установку маршрутизатора с функциями брандмауэра (т. е. не приобретать дополнительного оборудования для сети, которое может обойтись вам в несколько тысяч долларов). Кроме того, с помощью Unix можно свободно настраивать и просматривать трафик сети.

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

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

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


Хотя этот маршрутизатор относительно недорог и удобен в использовании, он не может обеспечить достаточного уровня защиты. Основное его преимущество заключается в том, что он работает исключительно на сетевом и транспортном уровнях модели ISO/OSI.

Однако это палка о двух концах. Для того чтобы действительно защитить сеть от нежелательных вмешательств извне, брандмауэр должен защищать каждый уровень протокола TCP/IP. Основной недостаток экранирующих маршрутизаторов заключается в том, что они осуществляют фильтрование данных, основываясь на недостаточном объеме данных. Ограничения, накладываемые на сетевой и канальный уровни, позволяют получить доступ только к IP-адресам, номерам портов и флагам TCP. Из-за отсутствия контекстной информации у маршрутизаторов могут возникать проблемы с фильтрованием таких протоколов, как UDP.

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

Поскольку брандмауэры предоставляют возможности фильтрации данных на верхних уровнях модели ISO/OSI, а не только на сетевом и канальном, для критериев отбора можно воспользоваться полной информацией уровня приложений. В то же время фильтрация будет


происходить и на сетевом, и на транспортном уровнях. Здесь брандмауэр проверяет IP- и TCP-заголовки проходящих сквозь него пакетов. Таким образом, брандмауэр отбрасывает или пропускает пакеты, основываясь на заранее определенных правилах фильтрования.

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

Как вы уже знаете, все сетевые коммуникации требуют физического соединения. Если сеть не будет подсоединена к Интернету, его пользователи никогда не смогут проникнуть или атаковать локальную сеть. Например, если компании требуется только внутренняя сеть, которая обеспечивает доступ к базе данных по продажам, и нет необходимости в том, чтобы в эту сеть можно было проникнуть извне, можно физически изолировать компьютерную сеть от всего остального мира.

Необходимость в брандмауэре возникает тогда, когда компания хочет соединить свою локальную сеть со всем остальным миром с помощью Интернета.

Для того чтобы удовлетворить требованиям широкого круга пользователей, существует три типа брандмау-


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

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

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


файла, который содержит IP-адреса сайтов (мест назначения), чьи пакеты следует блокировать. Когда экранирующий маршрутизатор встречает пакет, содержащий определенный в этом файле адрес, он отбрасывает пакет и не дает ему проникнуть в локальную сеть или выйти из нее. Специалисты по разработке сетей часто называют данный метод «методом черного списка» (blacklisting). Большая часть программного обеспечения экранирующих маршрутизаторов позволяет вам внести в черный список (заблокировать) сообщения от внешних сайтов (другими словами, от внешних сетей), но не от определенных пользователей или компьютеров вашей сети.

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

– адрес источника пакета;

– адрес места назначения пакета;

– тип протокола сеанса данных (например, TCP, UDP

или ICMP);

– порт источника и порт приложения назначения для

требуемой службы;

– является ли пакет запросом на соединение. Если вы пра

вильно установили и сконфигурировали брандмауэр се

тевого уровня, его работа будет достаточно быстрой

и почти незаметной для пользователей. Конечно, для тех,

кто находится в черном списке, это будет совсем не так.

Брандмауэр уровня приложений – обычно это персо

нальный компьютер, который использует программное

обеспечение сервера-посредника. Поэтому часто его на

зывают сервером-посредником (proxy-server). Название

«сервер-посредник» возникло от слова «proxy» – замести

тель, посредник.

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

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


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

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

Серверы-посредники предоставляют множество функций доступа, таких как HTTP, Telnet, FTP. В отличие от маршрутизатора, нужно установить различные серверы-посредники для разных сетевых служб. Наиболее популярные серверы-посредники для сетей на базе Unix и Linux – это TIS Internet Firewall Toolkit и SOCKS. Для получения дополнительной информации о сервере-посреднике TIS Internet Firewall Toolkit посетите Web-сайт по адресу http://www.tis.com/docs/products/fivtk/index.html.

Если вы используете сервер на базе Windows NT, то поддержку сервера-посредника осуществляет как Microsoft Internet Information Server, так и Netscape Commerce Server. После того как вы установите сервер-посредник уровня приложений, пользователи вашей сети должны будут использовать программное обеспечение клиентов, поддерживающее работу с сервером-посредником.

Проектировщики сетей создали множество протоколов TCP/IP, включая HTTP, FTP и другие, в которых осуществ-


лена поддержка сервера-посредника. В большинстве Web-браузеров пользователи могут с легкостью сконфигурировать их на поддержку сервера-посредника, используя предпочтения программного обеспечения браузеров. К сожалению, остальные протоколы Интернета не способны поддерживать серверы-посредники. В таких случаях вы должны выбрать приложение для работы в Интернете, основываясь на том, совместимо оно или нет со стандартными протоколами посредников. Например, приложения, которые поддерживают протокол посредников SOCKS, являются хорошим выбором, если вся ваша сеть базируется на SOCKS.

Загрузка...