Угроза целостности включает в себя любое умышленное изменение (модификацию или даже удаление) данных, хранящихся в вычислительной системе или передаваемых из одной системы в другую. Обычно считается, что угрозе раскрытия подвержены в большей степени государственные структуры, а угрозе целостности – деловые или коммерческие.
Угроза отказа в обслуживании возникает всякий раз, когда в результате определенных действий блокируется доступ к некоторому ресурсу вычислительной системы. Реально блокирование может быть постоянным, так чтобы запрашиваемый ресурс никогда не был получен, или может вызвать только задержку, достаточно долгую для того, чтобы он стал бесполезным. В таких случаях говорят, что ресурс исчерпан. В локальных вычислительных системах (ВС) наиболее частыми являются угрозы раскрытия и целостности, а в глобальных, как будет показано далее, – на первое место выходит угроза отказа в обслуживании.
Особенности безопасности компьютерных сетей
Основной особенностью любой сетевой системы является то, что ее компоненты распределены в пространстве, а связь между ними осуществляется физически, при помощи сетевых соединений (коаксиальный кабель, витая пара, оптоволокно и т. п.), и программно, при помощи механизма сообщений. При этом все управляющие сообщения и данные, пересылаемые между объектами распределенной вычислительной системы, передаются по сетевым соединениям в виде пакетов обмена.
К сетевым системам, наряду с обычными (локальными) атаками, осуществляемыми в пределах одной компьютерной системы, применим специфический вид атак, обусловленный распределенностью ресурсов и информации в пространстве, – так называемые сетевые (или удаленные) атаки (remote или network attacks). Они характеризуются, во-первых, тем, что злоумышленник может находиться за тысячи километров от атакуемого объекта, и, во-вторых, тем, что нападению может подвергаться не конкретный компьютер, а информация, передающаяся по сетевым соединениям. С развитием локальных и глобальных сетей именно удаленные атаки становятся лидирующими как по количеству попыток, так и по успешности их применения, и, соответственно, обеспечение безопасности ВС с точки зрения противостояния сетевым атакам приобретает первостепенное значение.
Под удаленной атакой обычно понимается информационное разрушающее воздействие на распределенную ВС, программно осуществляемое по каналам связи. Такое определение охватывает обе особенности сетевых систем – распределенность компьютеров и распределенность информации. Поэтому далее будут рассмотрены два подвида таких атак – это удаленные атаки на инфраструктуру и протоколы сети и удаленные атаки на операционные системы и приложения. При этом под инфраструктурой сети мы понимаем сложившуюся систему организации отношений между объектами сети и используемые в сети сервисные службы, а под операционными системами и приложениями – все программное обеспечение, работающее на удаленном компьютере, которое тем или иным образом обеспечивает сетевое взаимодействие.
Что такое хорошо и что такое плохо
Просматривая большое количество статей (главным образом, в электронных журналах) о проблемах компьютерного взлома, нельзя не обратить внимание на тот факт, что ни в одной из них не проводится та грань, которая, как нам кажется, четко разделяет всех, так или иначе связанных с компьютерной безопасностью. В основном мнение компьютерного мира по этому поводу либо сугубо негативное (хакеры – это преступники), либо скромно-позитивное (хакеры – «санитары леса»). На самом деле у этой проблемы существует, по меньшей мере, две стороны, положительная и отрицательная, и между ними проходит четкая граница. Эта граница разделяет всех профессионалов, связанных с информационной безопасностью, на хакеров (hackers) и кракеров (crackers). И те, и другие во многом занимаются решением одних и тех же задач – поиском уязвимостей в вычислительных системах и осуществлением на них атак («взломом»).
Принципиальное различие между хакерами и кракерами состоит в целях, которые они преследуют. Основная задача хакера в том, чтобы, исследуя вычислительную систему, обнаружить слабые места (уязвимости) в ее системе безопасности и информировать пользователей и разработчиков системы с целью последующего устранения найденных уязвимостей. Другая задача хакера – проанализировав существующую безопасность вычислительной системы, сформулировать необходимые требования и условия повышения уровня ее защищенности.
С другой стороны, основная задача кракера состоит в непосредственном осуществлении взлома системы с целью получения несанкционированного доступа к чужой информации – иначе говоря, для ее кражи, подмены или для объявления факта взлома. Кракер, по своей сути, ничем не отличается от обычного вора, взламывающего чужие квартиры и крадущего вещи. Он взламывает вычислительные системы и крадет чужую информацию. Итак, кардинальное различие между хакерами и кракерами в том, что первые – исследователи компьютерной безопасности, а вторые – просто воры или вандалы. Хакер в данной терминологии – это специалист. В качестве доказательства приведем определение из словаря Guy L. Steele.
HACKER,сущ.1. Индивидуум, который получает удовольствие от изучения деталей функционирования компьютерных систем и от расширения их возможностей, в отличие от большинства пользователей компьютеров, которые предпочитают знать только необходимый минимум. 2. Энтузиаст программирования; индивидуум, получающий удовольствие от самого процесса программирования, а не от теоретизирования по этому поводу.
Данная трактовка термина «хакер» отличается от принятой в средствах массовой информации, которые, собственно, и привели к подмене понятий. В последнее время многие специалисты по компьютерной безопасности (особенно на Западе) стали аккуратнее относиться к этим терминам, и мы в подобной трактовке терминов уже не одиноки.
Низменность мотивов кракеров и отсутствие стремления к профессиональному росту приводят к тому, что 90 % из них являются «чайниками», которые взламывают плохо администрируемые системы, в основном используя чужие программы (обычно такая программа называется exploit). Причем это мнение тех самых 10 % профессиональных кракеров – бывших хакеров, ставших на путь нарушения закона. Их, в отличие от кракеров-«чайников», остановить действительно очень сложно, но, как показывает практика, отнюдь не невозможно (см. противоборство Митника и Шимомуры в главе 4). Очевидно, что для предотвращения возможного взлома или устранения его последствий требуется пригласить квалифицированного специалиста по информационной безопасности – профессионального хакера.
Однако было бы несправедливо смешать в одну кучу всех кракеров, однозначно назвав их ворами. По нашему мнению, кракеров можно разделить на три следующих класса в зависимости от цели, с которой осуществляется взлом: вандалы, «шутники» и профессиональные взломщики.
Вандалы – самая известная (во многом благодаря широкому распространению вирусов, а также творениям некоторых журналистов) и, надо сказать, самая малочисленная (к счастью) часть кракеров. Их основная цель – взломать систему для ее дальнейшего разрушения. К ним можно отнести, во-первых, любителей команд типа rm – f – d *, del *.*, format c:/U и т. д. и, во-вторых, специалистов в написании вирусов или «троянских» коней. Совершенно естественно, что весь компьютерный мир ненавидит кракеров-вандалов лютой ненавистью. Эта стадия кракерства характерна для новичков и быстро проходит, если кракер продолжает совершенствоваться (ведь довольно скучно осознавать свое превосходство над беззащитными пользователями). Кракеров, которые даже с течением времени не миновали эту стадию, а только все более оттачивали свои навыки разрушения, иначе, чем социальными психопатами, не назовешь.
«Шутники» – наиболее безобидная часть кракеров (конечно, в зависимости от того, насколько злые они предпочитают шутки), основная цель которых – известность, достигаемая путем взлома компьютерных систем и внесения туда различных эффектов, выражающих их неудовлетворенное чувство юмора. К «шутникам» также можно отнести создателей вирусов с различными визуально-звуковыми эффектами (музыка, дрожание или переворачивание экрана, рисование всевозможных картинок и т. п.). «Шутники», как правило, не наносят существенного ущерба компьютерным системам и их администраторам (разве что моральный). На сегодняшний день в Internet это наиболее распространенный класс кракеров, обычно осуществляющих взлом Web-серверов, чтобы оставить там упоминание о себе. Все это либо невинные шалости начинающих, либо рекламные акции профессионалов.
Взломщики – профессиональные кракеры, пользующиеся наибольшим почетом и уважением в кракерской среде. Их основная задача – взлом компьютерной системы с серьезными целями, например с целью кражи или подмены хранящейся там информации. Как правило, для того чтобы осуществить взлом, необходимо пройти три основные стадии: исследование вычислительной системы с выявлением в ней изъянов (уязвимостей), разработка программной реализации атаки и непосредственное ее осуществление. Естественно, настоящим профессионалом можно считать только того кракера, который для достижения своей цели проходит все три стадии. С небольшой натяжкой профессионалом можно также считать того кракера, который, используя добытую третьим лицом информацию об уязвимости в системе, пишет ее программную реализацию (exploit). Осуществить третью стадию, используя чужие разработки, очевидно, может практически каждый.
Если абстрагироваться от предмета кражи, то работа взломщиков – это обычное воровство. К сожалению, в России все не так просто. Конечно, взлом компьютерных систем ни в коем случае нельзя назвать достойным делом, но в стране, где большая часть находящегося у пользователей программного обеспечения является пиратским (хотя ситуация, наконец, меняется в лучшую сторону – становится модным использовать легальное ПО), то есть украденным не без помощи тех же взломщиков, почти никто не имеет морального права «бросить в них камень».
В этой книге мы ограничимся рассмотрением хакеров-кракеров с позиций распределенных систем, однако не нужно забывать, что самая многочисленная категория кракеров занимается более обыденными вещами, а именно: снятием защиты с коммерческих версий программных продуктов, изготовлением регистрационных ключей (registration key) для условно бесплатных программ (shareware) и т. п.
Цели кракера
Итак, какие же цели преследует кракер, атакующий извне ваш компьютер? Очевидно, их может быть несколько:
• получить доступ к важной информации, хранящейся у вас. Вероятно, вы крупная компьютерная шишка, и за вами серьезно охотятся (если, конечно, этой информацией не является несколько гигабайт изображений высокого разрешения);
• получить доступ к ресурсам вашей системы. Это может быть как процессорное время (особенно, если вы обладаете суперкомпьютером), так и дисковое пространство (например, для организации пиратского ftp-сайта). В этом случае вы не только ничего не потеряете, но и, возможно, приобретете честно украденное программное обеспечение стоимостью много тысяч долларов;
• нарушить работоспособность вашего хоста без реализации угрозы раскрытия. Это бывает опасно, если ваш хост должен обеспечивать бесперебойное обслуживание клиентов;
• иметь плацдарм для осуществления вышеназванных целей, но для атаки на другой компьютер – тогда в журналах атакованного компьютера будет значиться, что атака осуществлялась с вашего адреса. Вы, конечно, будете доказывать, что вы тут ни при чем, и, вероятно, докажете это, но инцидент доставит вам несколько неприятных минут и вы услышите обидные слова об уровне защиты вашего хоста;
• запустить пробный шар, отладить механизмы атак на другие системы. Не расстраивайтесь, ведь это доказательство того, что вы не так уж бесполезны в сети, в отличие от других хостов, на которые никогда никто не нападал и которые остро ощущают свою ненужность.
Сетевая информационная безопасность: мифы и реальность
Всемогущество хакеров
Глубокое непонимание большинством обывателей проблем, связанных с информационной безопасностью в вычислительных системах, с течением времени сформировало определенный миф о всемогуществе хакеров и повсеместной беззащитности компьютерных систем. Действительно, современные вычислительные системы и сети общего назначения имеют серьезнейшие проблемы с безопасностью. Но, подчеркнем, именно вычисли тельные системы общего назначения. Там же, где требуется обработка критической информации и обеспечение высшего уровня защиты и секретности (например, в военной области, в атомной энергетике и т. п.), используются специализированные защищенные ВС, которые (и это чрезвычайно важно!) в основном изолированы от сетей общего назначения (от сети Internet, например). Поэтому необходимо развеять первый миф, исключительно популярный в художественной литературе, кино, а также в средствах массовой информации: кракер не может проникнуть извне в вычислительную систему стратегического назначения (например, в ВС атомной станции или пункта управления стратегическими вооружениями).
Новую жизнь в этот миф вдохнул последний военный конфликт в Югославии. Согласно сообщениям российских СМИ, складывалось ощущение, что военные сети НАТО полностью беззащитны и полный контроль над ними имеют «отважные хакеры». Естественно, что если такие перлы попадали в электронные эхо-конференции, то только в разделы юмора.
Тем не менее мы говорим лишь о невозможности получения несанкционированного удаленного доступа именно извне. В том случае, если нанести ущерб системе вознамерится кракер из состава персонала защищенной ВС, то сложно абстрактно судить, насколько успешны будут его попытки.
В качестве примера напомним случай на Игналинской АЭС, когда местный системный программист внедрил в ВС программную закладку («троянского» коня), которая чуть не привела к аварии на станции. Однако, как утверждает статистика, нарушения безопасности системы собственным персоналом составляют около 90 % от общего числа нарушений. Итак, критические вычислительные системы нельзя назвать неуязвимыми, но реализовать на них успешную удаленную атаку практически невозможно.
Прочитав этот раздел, недоверчивый читатель может заметить, что он лично встречал заметки о том, как «кракеры проникли в компьютер Пентагона или НАСА». Все дело в том, что любая уважающая себя организация, будь то ЦРУ, АНБ или НАСА, имеет свои WWW– или ftp-серверы, находящиеся в открытой сети и доступные всем. И кракеры в этом случае проникали именно в них (а ни в коем случае не в секретные или закрытые сети), используя, может быть, один из механизмов, описанных в нашей книге.
Защита банковских систем
Другим и, пожалуй, наиболее устойчивым мифом является миф о всеобщей беззащитности банковских вычислительных систем. Да, действительно, в отличие от ВС стратегического назначения, банки из-за конкурентной борьбы между собой вынуждены для обеспечения удобства и быстродействия работы с клиентами предоставлять им возможность удаленного доступа из сетей общего пользования к своим банковским вычислительным системам. Однако, во-первых, для связи в этом случае используются защищенные криптопротоколы и разнообразные системы сетевой защиты (например, Firewall), и, во-вторых, предоставление клиенту возможности удаленного доступа отнюдь не означает, что клиент может получить доступ непосредственно к внутренней банковской сети. По мнению специалистов, зарубежные банковские ВС (про отечественные мы не говорим, пока еще не достигнут соответствующий уровень автоматизации расчетов) являются наиболее защищенными после ВС стратегического назначения.
Однако в последние годы некоторым журналистам, в том числе и отечественным, в погоне за сенсацией удалось (и не без успеха, особенно на основе реально имевшего место дела Левина) придумать миф о всеобщей беззащитности банковских систем. Яркий пример подобных творений – статья г-на А. Какоткина «Компьютерные взломщики», опубликованная в еженедельнике «Аргументы и Факты» в феврале 1997 года. Вывод из этой статьи, перефразируя слова ее автора, можно сделать следующий: «Каждому хакеру – по бронежилету и запасному процессору». Не нужно быть крупным специалистом по компьютерной безопасности, чтобы, прочитав эту статью, понять, что она неправдоподобна от начала и до конца (особенно смешно читать «подробности» взлома банковской сети). Возможно, впрочем, что недостаточно просвещенного в этой области журналиста некие люди ввели в заблуждение (или, что неудивительно, он просто чего-то не понял).
Более интересным, на наш взгляд, вопросом является то, насколько надежно на самом деле защищены банковские сети, особенно в том случае, если к ним предусмотрен удаленный доступ из сети Internet. К сожалению, мы не можем дать точного ответа, пока специализированные системы безопасности банковских ВС (естественно, под такими системами не имеются в виду операционные системы типа Novell NetWare, Windows NT или 95, UNIX, которые хоть и часто применяются в банковской среде, но специализированными уж никак не являются) не будут сертифицированы. Единственное, что можно гарантировать, – то, что с вероятностью около 99,9 % подобные системы будут подвергаться угрозе отказа в обслуживании, которая рассмотрена далее.
Сетевые кракеры
Недоверие к описанным в средствах массовой информации способам того, как кракеры осуществляют взлом, и того, к каким результатам это приводит, побудило нас подробнее рассмотреть вопрос: а реальны ли вообще такие взломы?
Так вот, ни одного подтвержденного факта осуществления целенаправленного взлома с помощью программных средств (а не с помощью подкупа и т. п.) нам не удалось найти ни в России, ни за рубежом.
Да, почти каждый день вскрываются WWW-серверы каких-то компаний. Но здесь жертва выбирается не целенаправленно, а большей частью случайно: «повезет – не повезет». Более того, подмена некоторых WWW-страниц часто вовсе не означает, как будет показано в следующих главах, полного контроля над атакованным хостом, злоумышленник может вообще не иметь к нему никакого доступа, а просто подменять эти страницыс помощью перемаршрутизации. Собственно, взлом WWW-серверов и составляет 90 % всех проявлений якобы всемогущих кракеров, обсуждаемых в сетевой и несетевой прессе.
Легендарный Кевин Митник был по большей части именно легендарным. Его самая известная (и, возможно, единственная реальная) атака обсуждается в четвертой главе этой книги. Даже если принять эту атаку так, как она преподносится (обратите внимание на наши сомнения по поводу квалификации Митника!), очевиден тот факт, что она была придумана не им и осуществлена в то время, когда в Internet меньше всего беспокоились о безопасности.
Можно вспомнить еще дело Левина. Очень туманное дело. Если Левин (или кто-то еще) действительно вскрыл CityBank, пользуясь только своей головой и руками, то мы готовы взять свои слова обратно. Но на сегодняшний день наиболее убедительной является версия, что у него все же были сообщники в этом банке, которые предоставили ему входное имя и пароль. Косвенным подтверждением этого служит факт, что «гениальный взломщик банков» почему-то был гениален только в самом процессе взлома и вел себя, скажем, не очень умно при сокрытии своих следов и противоборстве с правоохранительными органами.
Все это позволяет нам предположить, что проблема сетевых кракеров в том виде, как она обычно преподносится СМИ, на самом деле отсутствует. Да, много сил должно уделяться защите компьютерных систем от «псевдохакеров», которые считают себя профессионалами, умея запускать различные «нюки» (nuke) или подбирать пароли типа «guest». Они способны нанести этим определенный урон. Существуют, безусловно, и более квалифицированные группы кракеров, занимающиеся, например, взломом WWW-серверов для «увековечивания» собственного имени. Но у нас вызывает большое сомнение существование профессионалов, а тем более налаженной индустрии, которая допускает взлом любого более-менее защищенного хоста «на заказ». По собственному опыту мы можем предположить, что цена такого взлома должна быть в несколько раз больше, чем ценность находящейся там информации, поэтому в ход идут старые проверенные методы типа вербовки или подкупа.
Резюмируя, мы считаем, что никаких сетевых кракеров, специализирующихся на вскрытии хостов за деньги или с целью использования полученной информации для собственного обогащения, не существует. Их квалификация должна быть настолько высока, что во всем мире таких людей можно без труда пересчитать, и они наверняка являются хакерами, а не кракерами.
Межсетевые экраны Firewall как панацея от всех угроз
И последний миф – это миф о системах Firewall, как о «единственном надежном средстве обеспечения безопасности» сегмента IP-сети. Да, сама суть методики Firewall является абсолютно непогрешимой и логичной. Основной ее постулат заключается в создании bastion host (выделенный бастион), обеспечивающего контроль за безопасностью в защищаемом сегменте сети и осуществляющего связь данного сегмента с внешним миром. Но это все действует пока только в теории. На практике же все известные нам сегодня системы Firewall неспособны к отражению большинства из описанных удаленных атак как на протоколы и инфраструктуру сети, так и на операционные системы и приложения.
Это, конечно, отнюдь не означает, что отразить данные удаленные атаки принципиально невозможно, – именно в направлении обнаружения и отражения сетевых атак сейчас наиболее активно развивается современная наука. По-видимому, все дело в том, что большинство разработчиков систем Firewall, как это часто случается с разработчиками систем защиты ВС, никогда не были хакерами и, следовательно, смотрели на проблему защиты IP-сетей не с точки зрения взломщика, а с точки зрения пользователя.
Статьи Уголовного кодекса Российской Федерации, связанные с преступлениями в сфере компьютерной информации
Для тех, кто хочет посмотреть на проблему безопасности с другой стороны, со стороны кракера, напоминаем, что с 1997 года начали действовать новые статьи УК РФ, где, к сожалению, довольно расплывчато и нечетко описывается возможная уголовная ответственность за «преступления в сфере компьютерной информации» (глава 28 УК РФ):