Иллюстрированный самоучитель по Protection to information

         

Угрозы компьютерной безопасности


Компьютерная преступность в России

Компьютер глазами хакера

Кто такие хакеры

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

Защита системы от взлома



Компьютер глазами хакера


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



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

определение ценности информации, хранимой в компьютерной системе:

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

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

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

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

насколько высок уровень профессиональной подготовки злоумышленника;

какой информацией об атакуемой компьютерной системе он владеет;

как злоумышленник осуществляет доступ к этой системе;

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

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

хакеров.
















Компьютерная преступность в России


В странах, где высок уровень компьютеризации, проблема борьбы с компьютерной преступностью уже довольно давно стала одной из первостепенных. И это не удивительно. Например, в США ущерб от компьютерных преступлений составляет ежегодно около 5 млрд долларов, во Франции эти потери доходят до 1 млрд франков в год, а в Германии при помощи компьютеров преступники каждый год ухитряются похищать около 4 млрд марок. И число подобных преступлений увеличивается ежегодно на 30—

4()°с.

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

Главной вехой в цепочке этих изменений стало введение в действие 1 января

1997г. нового Уголовного кодекса. В нем содержится глава "Преступления в сфере компьютерной информации", где перечислены следующие преступления:

неправомерный доступ к компьютерной информации (статья 272):

создание, использование и распространение вредоносных компьютерных программ (статья 273);

нарушение правил эксплуатации компьютеров, компьютерных систем и сетей (статья 274).

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

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

По данным Главного информационного центра МВД России в 1997 г. доля компьютерных преступлений составила 0,02% от общего числа преступлений в области кредитно-финансовой сферы. В абсолютных цифрах общее количество компьютерных преступлений в этом году превысило сотню, а суммарный размер ущерба —20 млрд рублей.

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

Российским правоохранительным органам становятся известны не более 5— 10% совершенных компьютерных преступлений.


Их раскрываемость тоже не превышает 1—5%. Это связано с тем, что хищение информации долгое время может оставаться незамеченным, поскольку зачастую данные просто копируются. Жертвы компьютерной преступности (большинство среди них —

частные



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



Тенденции



По



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

Наиболее распространенными являются компьютерные преступления. совершаемые путем несанкционированного доступа к банковским базам данных посредством телекоммуникационных сетей. В 1998 г. российскими правоохранительными органами были выявлены 15 подобных преступлений, в ходе расследования которых установлены факты незаконного перевода 6,3 млрд рублей.

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

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


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

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



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



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

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

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



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

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

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

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


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

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

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



Синдром Робина Гуда





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

мужчина в возрасте от 15 до 45 лет, имеющий многолетний опыт работы на компьютере либо почти не обладающий таким опытом;

в прошлом к уголовной ответственности не привлекался;

яркая мыслящая личность;

способен принимать ответственные решения;

хороший, добросовестный работник, по характеру нетерпимый к насмешкам и к потере своего социального статуса среди окружающих его людей;

любит уединенную работу;

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

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

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

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



Глава 1. Угрозы компьютерной безопасности

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

Таким образом, для общественного мнения в России характерен "синдром Робина Гуда" — преступники-хакеры представляются некими благородным;; борцами против толстосумов-банкиров. А посему хакерство в России, по видимому, просто обречено на дальнейшее развитие.

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



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



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

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



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

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

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

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

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

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


Вырвавшиеся на оперативный простор вирусы учинили в компьютерной сети банка настоящий дебош.

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

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

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

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

 








Кто такие хакеры


Хотя последнее время термин

хакер

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

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

посторонним лицом, не имеющим никаких легальных привилегий и прав доступа;

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

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

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

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

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

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

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

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

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

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

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

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














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


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

атаки на уровне операционной системы;

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

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

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

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

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




Атаки на уровне операционной системы



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

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

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

кража пароля;

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

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



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

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

полный перебор всех возможных вариантов пароля;

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

сканирование жестких дисков компьютера (хакер последовательно пытается обратиться к каждому файлу, хранимому на жестких дисках компьютерной системы; если объем дискового пространства достаточно велик, можно быть вполне уверенным, что при описании доступа к файлам и каталогам администратор допустил хотя бы одну ошибку, в результате чего все такие каталоги и файлы будут прочитаны хакером; для сокрытия следов хакер может организовать эту атаку под чужим именем: например, под именем пользователя, пароль которого известен хакеру);

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

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

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


д.);

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

модификация кода или данных подсистемы защиты самой операционной системы;

отказ в обслуживании (целью этой атаки является частичный или полный вывод из строя операционной системы);

захват ресурсов (хакерская программа производит захват всех имеющихся в операционной системе ресурсов, а затем входит в бесконечный цикл);

бомбардировка запросами (хакерская программа постоянно направляет операционной системе запросы, реакция на которые требует привлечения значительных ресурсов компьютера);

использование ошибок в программном обеспечении или администрировании.

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

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



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



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

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



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

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

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

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

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

максимальное ограничение размеров компьютерной сети (чем больше сеть, тем труднее ее защитить);

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

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

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



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














Защита системы от взлома


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

Не отставайте от хакеров: будьте всегда в курсе последних разработок из области компьютерной безопасности. Оформите подписку на несколько специализированных журналов, в которых подробно освещаются вопросы зашиты компьютерных систем от взлома. Регулярно просматривал материалы, помещаемые на хакерских серверах Internet (например. astalavista.box.sk).

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

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

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

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

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

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

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


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

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

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

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

Пользуйтесь защищенными операционными системами.

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

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









 

Программы-шпионы


Программные закладки

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

Защита от программных закладок

Троянские программы

Клавиатурные шпионы



Клавиатурные шпионы


Одна из наиболее распространенных разновидностей программных закладок —

клавиатурные шпионы.

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

Клавиатурные шпионы — явление отнюдь не новое в мире компьютеров. В свое время они разрабатывались и для OS/370, и для UNIX, и для DOS. Их поведение в общем случае является довольно традиционным: типовой клавиатурный шпион обманным путем завладевает пользовательскими паролями, а затем переписывает эти пароли туда, откуда их может без особого труда извлечь злоумышленник. Различия между клавиатурными шпионами касаются только способа, который применяется ими для перехвата пользовательских паролей. Соответственно все клавиатурные шпионы делятся на три типа —

имитаторы, фильтры и заместители.

Имитаторы

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

Обманутый пользователь, видя, что ему предлагается еще раз внести пароль. приходит к выводу о том, что он допустил какую-то ошибку во время предыдущего ввода пароля, и послушно повторяет всю процедуру входи в систему заново. Некоторые имитаторы для убедительности выдают на экран монитора правдоподобное сообщение о якобы совершенной пользователем ошибке.
Например, такое: "НЕВЕРНЫЙ ПАРОЛЬ. ПОПРОБУЙТЕ ЕЩЕ РАЗ".

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

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



login:

password:



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

Системный процесс WinLogon, отвечающий в операционной системе Windows NT за аутентификацию пользователей, имеет свой собственный рабочий стол — совокупность окон, одновременно видимых на экране дисплея. Этот рабочий стол называется

столом аутентификации.

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

После запуска Windows NT на экране компьютера возникает так называемое начальное окно рабочего стола аутентификации, содержащее указание нажать на клавиатуре клавиши <Ctrl>+<Alt>+<Del>. Сообщение о нажатии этих клавиш передается только системному процессу WinLogon, а для остальных процессов, в частности, для всех прикладных программ, их нажатие происходит совершенно незаметно.


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

регистрационное

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

Для перехвата пользовательского пароля внедренный в Windows NT имитатор обязательно должен уметь обрабатывать нажатие пользователем клавиш

<Ctrl>+<Alt>+<Del>. В противном случае произойдет переключение на регистрационное окно рабочего стола аутентификации, имитатор станет неактивным и не сможет ничего перехватить, поскольку все символы пароля, введенные пользователем, минуют имитатор и станут достоянием исключительно системного процесса WinLogon. Как уже говорилось, процедура регистрации в Windows NT устроена таким образом, что нажатие клавиш <Ctrl>+<Alt>+<Del> проходит бесследно для всех процессов, кроме WinLogon, и поэтому пользовательский пароль поступит именно ему.

Конечно, имитатор может попытаться воспроизвести не начальное окно рабочего стола аутентификации (в котором высвечивается указание пользователю одновременно нажать клавиши <Ctrl>+<Alt>+<Del>), а регистрационное (где содержится приглашение ввести идентификационное имя и пароль пользователя). Однако при отсутствии имитаторов в системе регистрационное окно автоматически заменяется на начальное по прошествии короткого промежутка времени (в зависимости от версии Window NT он может продолжаться от 30 с до 1 мин), если в течение этого промежутка пользователь не предпринимает никаких попыток зарегистрироваться в системе. Таким образом, сам факт слишком долгого присутствия на экране регистрационного окна должен насторожить пользователя Windows NT и заставить его тщательно проверить свою компьютерную систему на предмет наличия в ней программных закладок.

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



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

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

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



Фильтры



Фильтры

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

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

Известны несколько фильтров, созданных специально для различных версий операционной системы DOS. В 1997 г. отмечено появление фильтров для операционных систем Windows 3.11 и Windows 95.

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


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

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

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

во время ввода пароля переключение раскладок клавиатуры не разрешается ;

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

доступ к файлам этих модулей имеет исключительно системный администратор.

Соблюсти первое из этих условий в локализованных для России версиях операционных систем принципиально невозможно. Дело в том, что средства создания учетных пользовательских записей на русском языке являются неотъемлемой частью таких систем. Только в англоязычных версиях систем Windows NT и UNIX предусмотрены возможности, позволяющие поддерживать уровень безопасности, при котором соблюдаются все 3 перечисленные условия.





Заместители



Заместители

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

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

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

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

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


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

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



Как защитить систему от клавиатурных шпионов



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

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

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

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



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

осуществлять доступ к файлам этих программных модулей;

конфигурировать саму подсистему аутентификации.

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









 

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


Перехват

В модели

перехват

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

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

Модель типа "перехват" может быть эффективно использована при атаке на защищенную операционную систему Windows NT. После старта Windows NT на экране компьютерной системы появляется приглашение нажать клавиши <Ctrl>+<Alt>+<Del>. После их нажатия загружается динамическая библиотека MSGINA.DLL, осуществляющая прием вводимого пароля и выполнение процедуры его проверки (аутентификации). Описание всех функций этой библиотеки можно найти в файле Winwlx.h. Также существует простой механизм замены исходной библиотеки MSGINA.DLL на пользовательскую (для этого необходимо просто добавить специальную строку в реестр операционной системы Windows NT и указать местоположение пользовательской библиотеки). В результате злоумышленник может модифицировать процедуру контроля за доступом к компьютерной системе, работающей под управлением Windows NT.

Искажение

В модели

искажение

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

Можно выделить

статическое

и

динамическое

искажение. Статическое искажение происходит всего один раз. При этом модифицируются параметры программной среды компьютерной системы, чтобы впоследствии в ней выполнялись нужные злоумышленнику действия.
К статическому искажению относится, например, внесение изменений в файл AUTOEXEC.BAT операционной системы Windows 95/98, которые приводят к запуску заданной программы, прежде чем будут запущены все другие, перечисленные в этом файле.

Специалистам российского Федерального агентства правительственной связи и информации (ФАПСИ)

удалось выявить при анализе одной из отечественных систем цифровой подписи интересное статистическое искажение Злоумышленник (сотрудник отдела информатизации финансовой организации, в которой была внедрена данная система) исправил в исполняемом ЕХЕ-модуле программы проверки правильности цифровой подписи символьную строку "ПОДПИСЬ НЕКОРРЕКТНА" на символьную строку "ПОДПИСЬ КОРРЕКТНА". В результате вообще перестали фиксироваться документы с неверными цифровыми подписями, и, следовательно, в электронные документы стало можно вносить произвольные изменения уже после их подписания электронной цифровой подписью.

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

на входе

(когда на обработку попадает уже искаженный документ) и искажение

на выходе

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

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


Работа одной программной закладки, выявленной специалистами ФАПСИ, основывалась на навязывании длины файла. Эта закладка позволяла считывать только первые 512 байт документа, и в результате цифровая подпись определялась на основе только этих 512 байт. Такая же схема действовала и при проверке поставленной под документом цифровой подписи. Следовательно, оставшаяся часть этого документа могла быть произвольным образом искажена, и цифровая подпись под ним продолжала оставаться "корректной".

Существуют 4 основных способа воздействия программных закладок на цифровую подпись:

искажение входной информации (изменяется поступающий на подпись электронный документ);

искажение результата проверки истинности цифровой подписи (вне зависимости от результатов работы программы цифровая подпись объявляется подлинной);

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

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

искажение программы цифровой подписи (вносятся изменения в исполняемый код программы с целью модификации реализованного алгоритма).

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

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

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


Например, для блокирования приема или передачи информации в компьютерной системе может постоянно инициироваться ошибочная ситуация "МОДЕМ ЗАНЯТ". Или при прочтении первого блока информации длиной 512 байт может устанавливаться соответствующий флажок для того, чтобы не допустить прочтения второго и последующих блоков и в итоге подделать цифровую подпись под документом.

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

Разновидностью искажения является также модель типа

троянский конь.

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





Уборка мусора



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

Работа с конфиденциальными электронными документами обычно сводится к последовательности следующих манипуляций с файлами:

создание;

хранение;

коррекция;

уничтожение.

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

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

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

оценкам специалистов ФАПСИ из "хвостовых" кластеров через сутки можно извлечь до 85%, а через десять суток — до 25—40% исходной информации.



Пользователям необходимо иметь в виду и то, что команда удаления файла (DEL) операционной системы DOS2 не изменяет содержания файла, и оно может быть в любой момент восстановлено, если поверх него еще не был записан другой файл. Распространенные средства гарантированного стирания файлов предварительно записывают на его место константы или случайные числа и только после этого удаляют файл стандартными средствами DOS. Однако даже такие мощные средства оказываются бессильными против программных закладок, которые нацелены на то, чтобы увеличить количество остающихся в виде "мусора" фрагментов конфиденциальной информации. Например, программная закладка может инициировать статическую ошибку, пометив один или несколько кластеров из цепочки, входящей в файл, меткой "СБОЙНЫЙ". В результате при удалении файла средствами операционной системы или средствами гарантированного уничтожения та его часть, которая размещена в сбойных кластерах, останется нетронутой и впоследствии может быть восстановлена с помощью стандартных утилит.



Наблюдение и компрометация



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

наблюдение

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

компрометация

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
















Программные закладки


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

программные закладки,

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

вносить произвольные искажения в коды программ, находящихся и оперативной памяти компьютера (программная закладка первого типа);

переносить фрагменты информации из одних областей оперативной или внешней памяти компьютера в другие (программная закладка второго типа);

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

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

программно-аппаратные закладки, ассоциированные с аппаратными средствами компьютера (их средой обитания, как правило, является BIOS — набор программ, записанных в виде машинного кода в постоянном запоминающем устройстве — ПЗУ);

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


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

прикладные закладки, ассоциированные с прикладным программным обеспечением общего назначения (текстовые редакторы, утилиты, антивирусные мониторы и программные оболочки);

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

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

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

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

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

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

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


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

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

резидентные

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

нерезидентные

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

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

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

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

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

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

 








Троянские программы


Троянской программой

(троянцем, или троянским конем) называется:

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

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

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

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

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

Откуда берутся троянские программы

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

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

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

Другая троянская программа называлась AOLGOLD. Она рассылалась по электронной почте в виде заархивированного файла. В сопроводительном письме, прилагавшемся к этому файлу, говорилось о том, что AOLGOLD предназначена для повышения качества услуг, которые предоставляет своим пользователям крупнейший американский Internet-провайдер America Online (AOL). Архив состоял из двух файлов, один из которых именовался INSTALL.BAT. Пользователь, запустивший INSTALL.BAT, рисковал стереть все файлы из каталогов С:\, C:\DOS, C:\WINDOWS и C:\WINDOWS\SYSTEM на своем жестком диске.

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

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


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

Случается и так, что троянцы встраиваются в некоторые утилиты программистами, не имеющими никакого отношения к разработке этих утилит. Па-пример, в дистрибутив сканера SATAN, предназначенный для установки на компьютеры с операционной системой Linux, распространявшийся через Internet, попала троянская программа, которая "обосновалась" в утилите fping. При первом же запуске модифицированной утилиты fping в файл /etc/passwd добавлялась запись для пользователя с именем suser, который в результате мог войти в Linux и тайно получить там полномочия администратора. Однако у автора этой троянской программы были явные пробелы в компьютерном образовании. В частности, он не знал некоторых нюансов хранения паролей в операционных системах семейства UNIX. В результате файл /etc/passwd был соответствующим образом изменен всего лишь на двух компьютерах, на которых был установлен этот испорченный дистрибутив сетевого анализатора SATAN для Linux.



Где обитают и как часто встречаются троянские программы



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



Например, в январе 1999 г. было обнаружено, что популярная утилита TCP Wrapper, предназначенная для администрирования UNIX-систем и бесплатно распространяемая через Internet, на многих ftp-сайтах была заменена внешне похожей на нее программой, которая на самом деле являлась троянцем. После инсталляции он отправлял электронное сообщение по определенным внешним адресам, оповещая своего хозяина об успешном внедрении. Потом он ждал, пока будет установлено удаленное соединение с портом 421 зараженного им компьютера, и предоставлял привилегированные права доступа через этот порт.

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

В настоящее время существует целый ряд троянских программ, которые можно совершенно свободно скачать, подключившись к глобальной компьютерной сети Internet. Наибольшую известность среди них получили троянцы Back Orifice, Net Bus и SubSeven. На Web-узле группы разработчиков Back Orifice, которая именует себя Cult of Dead Cow (Культ мертвой коровы), можно даже найти с десяток постеров, которые предназначены для рекламы ее последней разработки — троянца Back Orifice 2000.

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

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


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

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

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

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

несколько месяцев спустя после ее внедрения в компьютерную систему. В этом случае может понадобиться целиком переустановить операционную  систему и все приложения.



Как распознать троянскую программу



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



согласование объектов.

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

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

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

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



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

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

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

контрольная сумма

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

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

односторонним хэшированием.

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

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


Одной из наиболее удобных в эксплуатации и эффективных является утилита Trip Wire, которую можно найти в Internet по адресу

http://www.tripwiresecurity.com/.

Она позволяет производить однонаправленное хэширование файлов при помощи нескольких алгоритмов, в том числе — MD43, MD54 и SHA5. Вычисленные хэш-значения файлов хранятся в специальной базе данных, которая, в принципе, является самым уязвимым звеном \ утилиты TripWire. Поэтому пользователям TripWire предлагается в обязательном порядке принимать дополнительные меры защиты, чтобы исключить доступ к этой базе данных со стороны злоумышленника (например, помещать ее на съемном носителе, предназначенном только для чтения).



Рис. 2.5. Окно антивирусной программы Norton Antivirus 2000



Средства борьбы с троянцами в операционных системах семейства Windows (95/98/NT) традиционно являются частью их антивирусного программною обеспечения. Поэтому, чтобы отлавливать Back Orifice, Net Bus, SubSeven и другие подобные им троянские программы, необходимо обзавестись самым современным антивирусом (например, программой Norton Anuvirus 2000 компании Symantec (рис. 2.1), которая позволяет обнаруживать присутствие

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

Тем, кто хочет иметь в своем распоряжении утилиту, предназначенную именно для обнаружения троянцев в компьютерах, которые работают под управлением операционных систем семейства Windows, можно посоветовать обратить свои взоры на программу The Cleaner компании MooSoft Development

(http://www.homestead.com/moosoft/ cleaner.html)

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

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


Одним из таких пакетов является eSafe Protect компании Aladdin Knowledge Systems (демонстрационную версию eSafe Protect можно найти в Internet no адресу

www.esafe.com).

Функционально eSafe Protect делится на три компонента — антивирус, персональный брандмауэр и модуль защиты компьютерных ресурсов. Антивирус избавляет компьютер от вредоносных программ благодаря применению антивирусного модуля VisuSafe, сертифицированного американским Национальным агентством компьютерной безопасности. Персональный брандмауэр контролирует весь входящий и исходящий трафик по протоколу TCP/IP, наделяя используемые IP-адреса определенными правами (например, ограничивая доступ в Internet в определенные часы или запрещая посещение некоторых Web-узлов).

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

песочница.

Все автоматически загружаемые из Internet Java-аплсты и компоненты ActiveX сначала помещаются в "песочницу", где они находятся под неусыпным наблюдением eSafe Protect. Если попавшая в "песочницу" программа попытается выполнить какое-либо недозволенное действие, то оно будет немедленно блокировано. В течение заданного интервала времени (от 1 до 30 дней) каждое приложение, загруженное в компьютер из Internet. проходит "карантинную" проверку в "песочнице". Полученная в холе такой проверки информация заносится в особый журнал. По истечении "карантина" приложение будет выполняться вне "песочницы", однако ему будут дозволены только те действия, перечень которых определяется на основе имеющихся журнальных записей.

Таким образом, по сравнению с другими подобными программными пакетами eSafe Protect обеспечивает наиболее развитые и эффективные средства

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


Персональный брандмауэр блокирует любые попытки связаться извне с проникшими в компьютерную систему троянскими программами. И наконец с помощью "песочницы" своевременно предотвращается внедрение троянцев в компьютеры под видом Java-аплетов и компонентов ActiveX.














Защита от программных закладок


Задача защиты от программных закладок может рассматриваться в трех принципиально различных вариантах:

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

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

удалить внедренную программную закладку.

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

навязывать конечные результаты контрольных проверок;

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

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

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

Защита от внедрения программных закладок

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

изолированного

компьютера. Компьютер называется изолированным, если выполнены следующие условия:

в нем установлена система BIOS, не содержащая программных закладок;

операционная система проверена на наличие в ней закладок;

 достоверно установлена неизменность BIOS и операционной системы для данного сеанса;

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

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

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

Интересный метод борьбы с внедрением программных закладок может быть использован в информационной банковской системе, в которой циркулируют исключительно файлы-документы. Чтобы не допустить проникновения программной закладки через каналы связи, в этой системе не допускается прием никакого исполняемого кода. Для распознавания событий типа "ПОЛУЧЕН ИСПОЛНЯЕМЫЙ КОД" и "ПОЛУЧЕН ФАЙЛ-ДОКУМЕНТ" применяется контроль за наличием в файле запрещенных символов: файл признается содержащим исполняемый код, если в нем присутствуют символы, которые никогда не встречаются в файлах-документах.



Выявление внедренной программной закладки



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

качественные и визуальные;

обнаруживаемые средствами тестирования и диагностики.

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


Исследование, проведенное специалистами ФАПСИ, показало присутствие программной закладки, работа которой основывалась на навязывании длины файла. В другом случае тревогу забили пользователи пакета шифрования и цифровой подписи "Криптон", которые с удивлением отметили, что скорость шифрования по криптографическому алгоритму ГОСТ 28147-89 вдруг возросла более, чем в 30 раз. А в третьем случае программная закладка обнаружила свое присутствие в программе клавиатурного ввода тем, что пораженная ею программа перестала нормально работать.

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

комплект утилит Norton Utilities. А средства проверки целостности данных на диске типа Adinf позволяют успешно выявлять изменения, вносимые в файлы программными закладками. Кроме того, эффективен поиск фрагментов кода программных закладок по характерным для них последовательностям нулей и единиц (сигнатурам), а также разрешение выполнении только программ с известными сигнатурами.



Удаление внедренной программной закладки



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














Парольная защита операционных систем


Парольные взломщики

Взлом парольной защиты операционной системы UNIX

Взлом парольной защиты операционной системы Windows NT

Как сделать парольную защиту Windows 95/98 более надежной



Как сделать парольную защиту Windows 95/98 более надежной


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

самых

разнообразных задач, функционируют именно под ее управлением.

Однако, признавая отменные потребительские качества операционных систем корпорации Microsoft, нельзя обойти вниманием имеющиеся в них значительные изъяны. В первую очередь, это касается парольной зашиты Windows 95 и Windows 98. Фактически парольная защита в Windows 98 осталась на прежнем уровне по сравнению с Windows 95. Поэтому все сказанное в ходе дальнейшего изложения в равной степени относится к ним обеим. А следовательно, рассматривая парольную защиту Windows 95 и Windows 98, можно вести речь не о двух отдельных операционных системах, а о единой, обобщенной операционной системе, которую будем условно называть Windows 95/98.

Далеко не все пользователи знают, что для парольной защиты Windows 95/98 характерны существенные недостатки, связанные с тем, что при ее разработке корпорация Microsoft не уделила должного внимания проблемам безопасности компьютеров, для которых предназначалась эта операционная система. Рассмотрим подробнее, что представляет собой парольная защита в Windows 95/98, какие у нее имеются изъяны и как от них избавиться средствами самой операционной системы.

Как установить парольную защиту Windows 95/98

Чтобы установить парольную защиту в Windows 95/98, необходимо выполнить следующую процедуру:

1. Дважды щелкните левой кнопкой мыши на пиктограмме

Мой компьютер

(My Computer).

2. Теперь дважды щелкните на пиктограмме

Панель управления

(Control Panel). Если вы не можете отыскать пиктограмму

Мой компьютер

(My Computer), щелкните на кнопке

Пуск

(Start), выберите раздел

Настройка

(Settings), затем

Панель управления

(Control Panel) и перейдите к пункту 3.

3. Найдите пиктограмму, которая называется

Пароли

(Passwords), и дважды щелкните на ней. После двойного щелчка на пиктограмме Пароли (Passwords) Windows может отобразить диалоговое окно, в котором ним будет задан вопрос о том, хотите ли вы одновременно с этим изменить пароль экранной заставки Windows 95/98.
Это окно появится только в том случае, если вы уже используете опцию экранной заставки. Суть вопроса в том, чтобы предоставить вам возможность использовать одинаковый пароль и для открытия сеанса работы с Windows 95/98, и для экранной заставки.

4. Щелкните на опции

Сменить пароль Windows

(Change Windows Passwords).

5. Введите новый пароль в поле

Новый пароль

(New Password) диалогового окна

Изменение пароля Windows

(Change Windows Passwords) (рис. 3.1). He обращайте внимания на поле

Старый пароль

(Old Password), оно должно остаться незаполненным. Однако если вы хотите изменить существующий пароль, то сначала введите его, а затем новый пароль. Операционная система Windows 95/98 внесет соответствующие изменения.

6. В поле

Подтверждение пароля

(Confirm New Password) введите пароль, указанный вами в пункте 5. Затем щелкните на кнопке ОК. Windows 95/98 выведет сообщение о том, что смена пароля прошла успешно.



Рис. 3.1. Диалоговое окно Изменение пароля Windows



7. Щелкните на кнопке

ОК

для закрытия диалогового окна

Свойства: Пароли

(Passwords Properties).



Почему парольная защита Windows 95/98 ненадежна



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

Отнюдь. Почему? Да по той простой причине, что в основе функционирования Windows 95/98 лежат принципы, которые были применены на практике при создании другой, более примитивной операционной системы корпорации Microsoft — DOS. Несмотря на то, что Windows 95/98 старается "упрятать" DOS как можно дальше, она по-прежнему использует эту безнадежно устаревшую операционную систему для обеспечения работоспособности старых программ, которые остались у пользователей, сменивших DOS на Windows 95/98.


А ведь хорошо известно, что в DOS напрочь отсутствуют защитные механизмы, которые предотвращают несанкционированный доступ к файлам и программам компьютера, работающего под ее управлением. Ведь в сущности DOS и задумывалась-то именно для выполнения совершенно противоположной задачи — предоставить всем возможность обращаться к любым файлам. Как следствие, существует несколько способов обойти парольную защиту Windows 95/98, загружая на компьютере операционную систему DOS вместо Windows 95/98.



Как предотвратить несанкционированную загрузку системы



В ходе инсталляции операционной системы Windows 95/98 корпорация Microsoft настойчиво рекомендует ее пользователям сразу же создать так называемый

загрузочный диск.

В этой рекомендации есть свой резон: если возникнут какие-либо проблемы при переходе на Windows 95/98, вы сможете воспользоваться загрузочным диском, чтобы внести необходимые поправки.

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

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

(Add/Remove Programs) на

Панели управления

(Control Panel) Windows 95/98, а затем щелкните на переключателе

Загрузочный диск

(Startup Disk). После этого нажмите кнопку

Создать диск

(Create

Disk) и вставьте гибкий диск в дисковод. Чтобы создать загрузочный диск Ж Windows 95/98, вам потребуется всего одна дискета.

Таким образом, для создания загрузочного диска не требуется каких-либо особенных познаний. Зато с его помощью можно без всяких хлопот обойти систему парольной защиты Windows 95/98. Эта система активируется только при загрузке Windows 95/98. При использовании же загрузочного диска происходит запуск не Windows 95/98, а ее подсистемы, функционально эквивалентной операционной системе DOS и не имеющей никаких средств обеспечения безопасной работы с компьютером (наподобие парольной защиты). Затем путем нехитрых манипуляций злоумышленник может не только установить собственный пароль для последующего открытия сеанса работы с Windows 95/98, но и сделать так, чтобы все остальные ее пользователи ничего не заметили и продолжали регистрироваться в Windows 95/98 посредством своих законных паролей.



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

Подобные меры окажутся весьма действенными и в том случае, если злоумышленник захочет использовать возможность загрузки Windows 95/98 в режиме защиты от сбоев, который также называется

защищенным режимом

(Safe Mode). Этот режим представляет собой специальный способ работы с Windows 95/98, с помощью которого можно запустить эту операционную систему, невзирая на всякие "мелочи" вроде парольной защиты. Для этого после включения питания компьютера достаточно удерживать в нажатом положении клавишу <F5> компьютерной клавиатуры.

Помимо <F5>, на клавиатуре имеются две другие особо "опасные" клавиши — <Ctrl> и <F8>, нажимая которые в ходе первоначальной загрузки Windows 95/98, злоумышленник может вызвать на экран дисплея специальное меню. В нем в качестве одной из опций присутствует возможность вместо Windows 95/98 запустить операционную систему DOS. С помощью этого меню можно заставить Windows 95/98 грузиться в режиме защиты от сбоев. Присутствие обеих этих возможностей одинаково нежелательно с точки зрения обеспечения в Windows 95/98 надежной парольной защиты.

Поэтому использование <F5>, <F8> и <Ctrl> и других подобных им клавиш в ходе первоначальной загрузки следует запретить, заставив Windows 95/98 никак не реагировать на их нажатие. Для этого достаточно отредактировать системный файл MSDOS.SYS, располагающийся, как правило, в разделе жесткого диска, с которого грузится Windows 95/98. Открыв MSDOS.SYS при помощи обычного редактора, вы увидите текст примерно следующего содержания:



[Paths]

WinDir=C:\WINDOWS

WinBootDir=C:\WINDOWS

HostWinBootDrv=C

[Options]

BootGUI=l

;

; The following lines are required for compatibility with other programs.

;Do not remove them (MSDOS.SYS needs to be >1024 bytes).

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxa ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxb

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx c

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x e ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxf ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxg ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxh ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxi

; ххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххх j ; ххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххх k

; ххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххх m

; ххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххх o

; хххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххр xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxq

; ххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххх r

; ххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххх s

Добавьте в раздел [Options] файла MSDOS.SYS одну из двух команд: BootKeys = 0

или BootDeiay= 0 . Обе эти команды позволяют дезактивировать работу клавиш <F5>, <F8> и <Ctrl> в ходе первоначальной загрузки. А чтобы слишком умный взломщик не смог незаметно убрать команду BootKeys = 0 или BootDeiay= 0 , предусмотрительно помещенную вами в файл MSDOS.SYS, следует защитить его при помощи антивирусного сканера, который своевременно предупредит вас обо всех попытках внести несанкционированные изменения в этот файл.



Как запретить кэширование паролей в Windows 95/98



Пользователи миллионов компьютеров, применяющих парольную защиту Windows 95/98, часто даже не подозревают о еще одной грозящей им опасности.


Проблема связана с кэшированием паролей — методом, который был разработан корпорацией Microsoft для их хранения в Windows 95/98. Многие выбирают кэширование паролей, даже не догадываясь об этом, поскольку кэширование в Windows 95/98 разрешено по умолчанию. В этом случае пользовательский пароль помещается операционной системой в отдельный файл на магнитном диске. Например, если ваше имя — Вадим, и оно также является идентификатором для входа в систему, то ваш пароль будет сохранен в файле C:\WINDOWS\BAAHM.PWL.

При кэшировании пароль записывается в PWL-файл в зашифрованном виде. В корпорации Microsoft утверждают, что применяемый метод шифроваия является лучшим среди разрешенных правительством США для экспорта за пределы страны. Суть возражений оппонентов Microsoft состоит в том. if что реализация этого метода в Windows 95/98 далеко не безупречна, и в результате его стойкость совершенно не отвечает современным требованиям. А Программы, предназначенные для дешифрования парольных файлов, можно легко отыскать в глобальной сети Internet (например, по адресу

http://www.c2.org/hacksoft/),

что свидетельствует об уязвимости метола шифрования паролей в Windows 95/98.

Существует 2 пути решения этой проблемы. Во-первых, можно получить от Microsoft "заплату", которая позволяет использовать в Windows 95/98 более

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

Во-вторых, кэширование паролей можно отключить. Правда, чтобы сделать это, придется немного повозиться. Для начала потребуется установить программу, которая называется Редактор системных правил (System Policy Editor). Эта программа входит в комплект Windows 95/98 Resource Kit (Набор ресурсов Windows 95/98), который включен в поставку Windows 95/98 на компакт-диске. Чтобы ее установить, надо выполнить следующее:

1. Используя пиктограмму

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

(Add/Remove Programs) в Панели управления (Control Panel), выберите вкладку



Установка Windows

(Windows Settings).

2. Нажмите на кнопку

Установить с диска

(Have Disk) и в появившемся диалоговом окне укажите каталог E:\ADMIN\APPTOOLS\POLED1T для Windows 95 или E:\TOOLS\RESKIT\NETADMIN\POLEDIT для Windows 98 (если ваш CD-ROM установлен как диск Е).

3. В диалоговом окне, появившемся после нажатия кнопки

Установить с диска

(Have Disk), выберите программу Редактор системных правил (System Policy Editor), а затем нажмите кнопку

Установить

(Install).

4. Нажмите кнопку

ОК,

чтобы закрыть диалоговое окно

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

(Add/Remove Programs).

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

Программы

(Programs) меню

Пуск

(Start), затем

Стандартные

(Accessories), далее

Служебные

(System Tools) и наконец —

Редактор системных правил

(System Policy Editor). Немного погодя перед вами появится диалоговое окно этой программы.

Выполнив команду

Создать

(New File) меню

Файл

(File), вы увидите пиктограммы

Стандартный компьютер

(Default Computer) и

Стандартный пользователь

(Default User). Щелкнув дважды сначала на пиктограмме

Стандартный компьютер

(Default Computer), а затем — на кнопках

Сеть

(Network) и

Пароли

(Passwords), можно пометить галочкой строку

Отключить кэширование паролей

(Disable Password Cashing).

Затем внесенные изменения следует сохранить на диске в виде файла системных правил с расширением POL, назвав его по своему усмотрению. При следующем запуске Windows 95/98 файл системных правил загрузится автоматически и будет определять работу компьютера.



Соблюдайте осторожность: парольная защита ненадежна



Попробуйте набрать произвольную последовательность символов, когда Windows 95/98 предложит вам ввести свое регистрационное имя и соответствующий пароль. Вы думаете, эта операционная система гневно ответит вам: "Руки прочь от компьютера! Введенное вами имя нельзя использовать, т. к. оно не зарегистрировано"? Ничего подобного! Вместо этого она ласково скажет: "Да вы, батенька, никогда раньше этим именем не пользовались.


А не желаете ли зарегистрироваться?"

Злоумышленник, конечно же, с радостью согласится, и Windows 95/98 будет в его полном распоряжении. Примерно то же самое получится, если в ответ на приглашение зарегистрироваться нажать на клавиатуре компьютера клавишу <ESC>.

Эти простые приемы должны убедить вас в полной бесполезности парольной защиты Windows 95/98 в деле обеспечения безопасной работы с компьютером. Если вас такое положение дел не устраивает, загрузите улучшенный вариант библиотеки программ, реализующий парольную защиту в Windows 95/98, с Internet-сервера корпорации Microsoft по адресу

http://www.microsoft.com/windows/download/mspwlupd.exe.

После запуска программы mspwlupd.exe надо будет ответить Да



(Yes) на вопрос о том, желаете ли вы заменить библиотеку, реализующую работу с паролями в Windows 95/98. Соответствующее программное обеспечение установится автоматически и будет работать после перезагрузки операционной системы.

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

Уместен вопрос: а зачем вообще в Windows 95/98 нужна такая ничтожная парольная защита? Тем, кто уже приготовился произнести гневную тираду в адрес корпорации Microsoft, лучше приберечь свой пыл для более подходящего случая, поскольку ею официально заявлено, что основное назначение паролей Windows 95/98 состоит в предоставляемой ими возможности по-разному настраивать один и тот же компьютер для различных пользователей. А посему тем, кому нужна полноценная парольная защита, следует посоветовать обратиться к другой операционной системе семейства Windows (Windows NT) или воспользоваться дополнительными программными средствами, специально предназначенными для безопасной работы с Windows 95/98 (например, пакетом программ Norton Your Eyes Only компании Symatec).



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

определенные выводы относительно подсистемы безопасности Windows 2000 пока еще преждевременно.

Конечно, чисто теоретически использование протокола Kerberos позволяет существенно улучшить механизм аутентификации в Windows 2000 даже по сравнению с Windows NT, не говоря уже о Windows 95/98. Однако вопрос о том, насколько хорошей будет практическая реализация этого протокола, остается открытым вплоть до официального выхода в свет финальной версии Windows 2000. Дело в том, что бета-версии операционных систем, как правило, не обладают функциональной полнотой их финальных версий, а также часто содержат ошибки, большинство которых исправляется к моменту выпуска финальных версий. Поэтому бета-версии программных продуктов могут служить лишь подсобным материалом для сугубо предварительного тестирования. "Сенсационная" информация в прессе о том, что пользователи могут регистрироваться в третьей по счету бета-версии Windows 2000 без ввода пароля, отнюдь не означает, что то же самое можно будет проделывать в ее финальной версии, которая, как планируется, должна поступить в продажу 17 февраля 2000 г. И целенаправленный поиск дыр в подсистеме безопасности операционной системы Windows 2000 лучше всею отложить до момента выхода ее финальной версии.









 

Парольные взломщики


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

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

Что такое парольный взломщик

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

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


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

парольные взломщики

— специализированные программы, которые служат для взлома паролей операционных систем.



Как работает парольный взломщик



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

где N — число символов в наборе, L — предельная длина пароля, S — количество проверок в секунду (зависит от операционной системы и быстродействия компьютера, на котором производится взлом ее парольной защиты).



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

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

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

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


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

к

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

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

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

 








Взлом парольной защиты операционной системы Windows NT


База данных учетных записей пользователей

Одним из основных компонентов системы безопасности Windows NT является

диспетчер учетных записей

пользователей. Он обеспечивает взаимодействие других компонентов системы безопасности, приложений и служб Windows NT с базой данных учетных записей пользователей (Security Account Management Database, SAM). Эта база обязательно имеется на каждом компьютере с операционной системой Windows NT. В ней хранится вся информация, используемая для аутентификации пользователей Windows NT при интерактивном входе в систему и при удаленном доступе к ней по компьютерной сети.

База данных SAM представляет собой один из кустов (hive) системного реестра (registry) Windows NT. Этот куст принадлежит ветви (subtree) HKEY_LOCAL_MACHINE и называется SAM. Он располагается в каталоге \wmnt_root\System32\ConfIg (winnt_root — условное обозначение каталога с системными файлами Windows NT) в отдельном файле, который тоже называется SAM.

Информация в базе данных SAM хранится в основном в двоичном виде. Доступ к ней обычно осуществляется через диспетчер учетных записей. Изменять записи, находящиеся в базе данных SAM, при помощи программ, позволяющих напрямую редактировать реестр Windows NT (REGEDT или REGEDT32), не рекомендуется. По умолчанию этого и нельзя делать, т. к. доступ к базе данных SAM запрещен для всех без исключения категорий пользователей операционной системы Windows NT.

Хранение паролей пользователей

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

При использовании первого метода строка символов пользовательского пароля хэшируется с помощью функции MD4.
В итоге из символьного пароля, введенного пользователем, получается 16-байтовая последовательность — хэшированный пароль Windows NT. Данная последовательность затем шифруется по DES-алгоритму5, и результат шифрования сохраняется в базе данных SAM. При этом в качестве ключа используется так называемый относительный идентификатор пользователя (Relative Identifier, RID), который представляет собой автоматически увеличивающийся порядковый номер учетной записи данного пользователя в базе данных SAM.

Для совместимости с другим программным обеспечением корпорации Microsoft (Windows for Workgroups, Windows 95/98 и Lan Manager) в базе данных SAM хранится также информация о пароле пользователя в стандарте Lan Manager. Для ее формирования используется второй метод. Все буквенные символы исходной строки пользовательского пароля приводятся к верхнему регистру, и, если пароль содержит меньше 14 символов, то он дополняется нулями. Из каждой 7-байтовой половины преобразованного таким образом пароля пользователя отдельно формируется ключ для шифрования фиксированной 8-байтовой последовательности по DES-алгоритму. Полученные в результате две 8-байтовые половины хэшированного пароля Lan Manager еще раз шифруются по DES-алгоритму (при этом в качестве ключа используется RID пользователя) и помещаются в базу данных SAM.



Использование пароля



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

Обычно в базе данных SAM хранятся в зашифрованном виде оба хэшированных пароля. Однако в некоторых случаях операционная система вычисляет только один из них. Например, если пользователь домена Windows NT изменит свой пароль, работая на компьютере с Windows for Workgroups, то в его учетной записи останется только пароль Lan Manager.


А если пользовательский пароль содержит более 14 символов или если эти символы не входят в так называемый

набор поставщика оборудования

(original equipment manufacturer, OEM), то в базу данных SAM будет занесен только пароль Windows NT.



Возможные атаки на базу данных SAM



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

По умолчанию в операционной системе Windows NT доступ к файлу \winnt_root\System32\Config\SAM заблокирован для всех без исключения ее пользователей. Тем не менее, с помощью программы NTBACKUP любой обладатель права на резервное копирование файлов и каталогов Windows NT может перенести этот файл с жесткого диска на магнитную ленту. Резервную копию реестра также можно создать утилитой REG ВАК из Windows NT Resource Kit. Кроме того, несомненный интерес для любого взломщика представляют резервная копия файла SAM (SAM.SAV) в каталоге \winnt_root\System32\Config и сжатая архивная копия SAM (файл SAM._) в каталоге \winnt_root\Repair.

При наличии физической копии файла SAM извлечь хранимую в нем информацию не представляет никакого труда. Загрузив файл SAM в реестр любого другого компьютера с Windows NT (например, с помощью команды Load Hive программы REGEDT32), можно в деталях изучить учетные записи пользователей, чтобы определить значения RID пользователей и шифрованные варианты их хэшированных паролей. Зная RID пользователя и имея зашифрованную версию его хэшированного пароля, компьютерный взломщик может попытаться расшифровать этот пароль, чтобы использовать его, например, для получения сетевого доступа к другому компьютеру. Однако для интерактивного входа в систему одного лишь знания хэшированного пароля недостаточно. Необходимо получить его символьное представление.



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

(http://www.10pht.com/IOphtcrack/).

Другим распространенным парольным взломщиком Windows NT является Advanced NT Security Explorer (сокращенно — ANTExp). Его можно найти в Internet по адресу

http://www.elcomsoft.com/antexp.html.

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



Защита системы от парольных взломщиков



Итак, вывод однозначен: одна из главных задач системного администратора Windows NT состоит в защите от несанкционированного доступа той информации, которая хранится в базе данных SAM. С этой целью ему, прежде всего, необходимо ограничить физический доступ к компьютерам сети и прежде всего — к контроллерам доменов. Дополнительно, при наличии соответствующих программно-аппаратных средств, следует установить пароли BIOS на включение компьютеров и на изменение настроек BIOS. Затем, , используя настройки BIOS, рекомендуется отключить загрузку компьютеров с гибких и компакт-дисков. А для обеспечения контроля доступа к файлам и папкам операционной системы Windows NT системный раздел жесткою диска должен иметь формат NTFS.

Каталог \winnt_root\repair нужно средствами операционной системы закрыть для доступа всех пользователей, включая администраторов, и разрешать к ней доступ только во время работы утилиты RDISK, создающей в этом каталоге архивные копии системного реестра Windows NT.


Системные администраторы также должны внимательно следить за тем, где и как хранятся дискеты аварийного восстановления (Emergency Repair Disks) и архивные копии на магнитных лентах, если на последних присутствует дубликат системного реестра Windows NT.

Если компьютер с операционной системой Windows NT входит в домен, то по умолчанию имена и хэшированные пароли последних 10-ти пользователей, регистрировавшихся на этом компьютере, сохраняются (кэшируются) в его локальном системном реестре (в разделе SECURITY\Policy\Secrets куста HKEY LOCAL_MACHINE). Чтобы отменить кэширование паролей на компьютерах домена, нужно с помощью утилиты REGEDT32 в раздел Micro-soft\WindowsNT\CurrentVersion\Winlogon куста HKEY_LOCAL MACHINE добавить параметр CashedLogonsCount, установив его значение равным нулю, а тип — REG_SZ.

Для защиты базы данных SAM можно применить утилиту SYSKEY, входящую в состав пакета обновления Windows NT Service Pack 3. Эта утилита позволяет включить режим дополнительного шифрования информации о паролях, которая хранится в базе данных SAM. Уникальный 128-битовый ключ для дополнительного шифрования паролей (так называемый

ключ шифрования паролей —

Password Encryption Key, РЕК) автоматически сохраняется в системном реестре для дальнейшего использования.

Перед помещением в системный реестр ключ РЕК шифруется при помощи Другого 128-битового ключа, который называется системным ключом (System Key), и может храниться либо в системном реестре, либо в файле с именем STARTUP.KEY в корневом каталоге на отдельной дискете. Можно не сохранять системный ключ на магнитном носителе, и тогда каждый раз при запуске операционной системы он будет вычисляться с помощью алгоритма MD5 на основе пароля, набираемого на клавиатуре в диалоговом окне утилиты SYSKEY. Последние два способа хранения системного ключа обеспечивают максимальную защиту паролей в базе данных SAM, однако приводят к невозможности автоматической перезагрузки операционной системы, поскольку для завершения процесса перезагрузки потребуется либо вставить дискету с системным ключом и подтвердить ее наличие в дисководе путем нажатия кнопки ОК в появившемся диалоговом окне, либо вручную ввести системный ключ с клавиатуры.



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

Утилита PASSPROP из состава Windows NT Resource Kit, запущенная с ключом /COMPLEX, заставляет пользователей вводить более устойчивые пароли, которые или сочетают буквы в разном регистре, или буквы с цифрами, или буквы со специальными символами. Более строгие правила фильтрации нестойких паролей можно задать после установки любого из пакетов обновления Windows NT, начиная с Service Pack 2. Тогда специальная библиотека PASSFJLT.DLL, находящаяся в каталоге \winnt_root\System32, будет следить за тем, чтобы каждый пользовательский

пароль состоял не менее чем из 5 символов, не содержал имени пользователя, включал символы, по крайней мере, трех наборов из четырех возможных, составленных из прописных букв, строчных букв, цифр и специальных символов (знаков препинания и т. д.) соответственно. Чтобы задать такой режим проверки паролей пользователей, необходимо в раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControISet\Control\Lsa системного реестра с помощью программы REGEDT32 добавить параметр Noti fi cation Packages типа REG_MULTI_SZ и вписать в него строку PASSFILT Если этот параметр уже имеется, то новую строку следует дописать после уже существующей.

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


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














Взлом парольной защиты операционной системы UNIX


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

bill:5fg63fhD3d5g:9406:12:Bill Spencer:/home/fsg/will:/bin/bash

Здесь 5fg63fhD3d5g — это и есть информация о пароле пользователя bill.

При первоначальном задании или изменении пользовательского пароля операционная система UNIX генерирует два случайных байта (в приведенном выше примере 5 и f) к которым добавляются байты пароля. Полученная в результате байтовая строка шифруется при помощи специальной криптографической процедуры Crypt2 (в качестве ключа используется пароль пользователя) и в зашифрованном виде (g63fliD3d5g) вместе с двумя случайными байтами (5f) записывается в файл /etc/passwd после имени пользователя и двоеточия.

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

Самой эффективной и популярной такой программой является Crack. И хотя она предназначена для запуска на компьютерах, работающих только по.: управлением операционных систем семейства UNIX, инициируемый ею процесс поиска паролей может быть без особых усилий распределен междх различными платформами, подключенными к единой компьютерной сет. Среди них могут оказаться и IBM-совместимые персональные компьютеры , с операционной системой Linux, и рабочие станции RS/6000 с AIX. и Macintosh с A/UX.

CrackJack — еще одна известная программа для взлома паролей операционной системы UNIX. К сожалению, работает она только под управлением операционной системы DOS, но зато весьма непритязательна в том, что касается компьютерных ресурсов. К другим недостаткам этого парольною взломщика можно отнести запрет на одновременное использование сразу нескольких словарей и принципиальную невозможность запуска CrackJack под Windows 95/98.


В отличие от CrackJack, парольный взломщик PaceCrack95 работает пол Windows 95/98 в качестве полноценного DOS-приложения. К тому же он достаточно быстр, компактен и эффективен.

Парольные взломщики Q-Crack и John the Ripper примечательны тем, что существуют версии этих взломщиков, предназначенные для работы не только на DOS/Windows-платформах, но и на компьютерах

с

операционной системой Linux.

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

Существует множество других программ взлома паролей операционной системы UNIX. Они устойчивы к сбоям электропитания компьютеров, на которых работают (XiT), позволяют планировать время своей работы (Star Cracker), при выполнении монополизируют процессор для достижения максимальной производительности (Killer Cracker), не только взламывают пароли операционной системы UNIX, но и помогают преодолеть парольную защиту других программ, которые требуют, чтобы пользователь зарегистрировался путем ввода своего имени и соответствующего пароля (Claymore).

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

затенения

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