ГЛАВА 4.
ОРГАНИЗАЦИЯ ЗАЩИТЫ
ЭЛЕКТРОННОЙ КОММЕРЦИИ
Особого режима правового регулирования требуют информационные сообщения в Интернете, так как электронные сообщения могут быть носителями КТ. Экономика информационных Интеренет-технологий связана с быстрой информатизацией бизнеса. Интернет-технологии «новой» экономики непрерывно расширяют информационную составляющую бизнеса, увеличивая его возможности. Но одновременно еще более быстрыми темпами растет количество информационных мошенничеств. Высокий уровень мошенничества в Интернете — сдерживающий фактор развития электронной коммерции25. В России уровень мошенничества в Интернете составляет 0,5—3% оборотов электронной коммерции. Отсюда новые риски, поскольку утрата информации (особенно конфиденциальной) может поставить под удар весь бизнес компании.
Ведущая фирма США в области защиты информации Symantec в 2002 г. обследовала информационную безопасность крупнейших корпораций и банков мира. Лишь в 60% обследованных банков проблемой защиты информации занимается высшее руководство, т. е. имеются стратегии безопасности. В других корпорациях и в госструктурах данная цифра не превышает 20%; стратегия безопасности отсутствует, сама проблема зачастую считается второстепенной и отнесена главным образом к ведению службы информационных технологий. Обследование показало:
— высшие менеджеры чаще всего обходят систему защиты, требуя для себя особых полномочий в доступе к информации. Информация находится в их переносных компьютерах, мобильных телефонах. Забытые или похищенные, они могут служить источником к закрытой информации о владельце и компании;
— не проводится тестирование средств информационной безопасности, так как нет уверенности в их практической эффективности; — отсутствуют системы обнаружения вторжений;
— не ведется учет нарушения политики информационной безопасности;
— менеджеры, ответственные за информационную безопасность, не имеют представления, в какой мере достаточны вложения в системы обеспечения безопасности;
— регулярный аудит информационной безопасности не осуществляется;
— как правило, проблема защиты информации воспринимается высшими менеджерами как защита от компьютерных вирусов и от вторжения хакеров.
Такие вопросы, как контроль удаленного доступа, безопасность при работе с Интернетом, ранжирование конфиденциальности, безопасность в ходе электронной коммерции, защита от мошенничества внутри компании, защита от кражи (потери) информации, обычно даже не рассматриваются.
Быстрый рост электронного бизнеса в целом привлек значительное внимание регулирующих органов и глобальной бизнес-общественности к проблемам адекватного отражения выручки в отчетности и качеству самой корпоративной отчетности. Пользователи корпоративной отчетности — особенно финансовые аналитики -часто фокусируют внимание на росте доходов и валовой прибыли компаний, а не на традиционных мерах по получению чистой прибыли и доходах на одну акцию. Доходы часто заявляются под влиянием резкого роста эффекта операций, когда доходы и расходы представляются в преувеличенных размерах. Валовые доходы также переоцениваются посредством неправильной классификации затрат по продажам и маркетинговым расходам [40J.
Многие компании в настоящее время готовят и распространяют свои финансовые отчеты электронным образом. Однако надежность и достоверность такой информации уже поставлена под вопрос многими профессиональными организациями. Сложность и проблематичность, связанные с рисками электронного бизнеса, остаются реальными угрозами для всех компаний, ведущих бизнес через Интернет. Возрастает роль аудиторских комитетов, призванных предвидеть, как компания управляет своим электронным бизнесом.
Точность и целостность информации, приобретаемой при общении через Интернет, может быть важным фактором в определении надежности финансовой информации. Однако зачастую сообщения, посылаемые при помощи электронной почты, являются не только удобными средствами электронной коммуникации, но и оказываются нередко объектом мошеннических финансовых действий и незаконных присвоений активов27.
Еще один источник угроз информационной безопасности системам электронного ведения бизнеса — проблема вирусов и спамов. Теперь это не только угроза личному времени и эмоциональному состоянию. По данным лаборатории Касперского, количество программ, содержащих вредный код (вирус), в Интернете возросло с 1998 г. более чем в 15 000 раз! При этом значительно трансформировались мотивы создания вирусов: если в конце 1980-х — начале 1990-х гг. все зараженные программы создавались кибер-хулиганами, то в конце 1990-х их доля снизилась до 70%, соответственно 30% приходилось на долю программ, цель создания которых — мелкое мошенничество; в 2003 г. уже только 50% зараженных программ создаются и рассылаются с относительно безобидной целью, 50% составили программы, преследующие корыстные цели. Появились вирусы, рассылаемые кибер-преступниками; вирусы, которые используют спам-технологии. Например, вирус Sobig.f находился в каждом двадцатом письме. Спамеры рассылают троянские программы, которые, заражая машины пользователей, служат площадкой для рассылки спама. В 2003 г. впервые сложилась ситуация, когда доля спама в трафике электронной почты превысила долю обычных писем. По оценке крупных российских почтовых служб, на спамписьма приходится уже до 80% обслуживаемого ими почтовоготрафика [73, 74]. Меняется содержание писем. В Рунете отмечен резкий рост числа предложений товаров и услуг и, соответственно, снижение относительных долей предложений «для взрослых» (в количественном плане предложений «для взрослых» не стало меньше) и откровенного мошенничества. Оправдались прогнозы о распространении политического спама. Он активно использовался в избирательной кампании 2003 г. на всех уровнях. В Рунете, как и во всем мире, наблюдается «укрупнение» спамерского бизнеса, начинается эпоха мобильного спама (SMS-спама). По сути, это весьма успешная реклама.
Россия идет по пути экономически развитых государств — все большее значение в жизни каждого ее гражданина приобретает Интернет-пространство и возрастает число пользователей Интернета. Чем интенсивнее будет развиваться эта отрасль в России, а сеть Интернет становиться все более массовой, тем будет все больше нарушителей общепринятых правил работы в Интернете и больший интерес со стороны криминала она будет вызывать. Увеличение доли кибер-преступников в рассылаемых вирусах в 2004 г. составило до 10% (т. е. в 2 раза по сравнению с 2003 г.). Если тенденция продолжится, начнется самоорганизация кибер-преступников в преступные международные сообщества и плановые действия в Интернетсети. Мафия способна выйти в виртуальное пространство, и кибер-преступность может занять ведущее место в сети Интернет29. Этот фактор нельзя игнорировать пользователям ИТ. На сегодняшний день Интернет собирает уже достаточное количество пользователей, все большее их количество использует его не только как средство общения или получения информации, но и в качестве инструмента для зарабатывания денег.
Такие сегменты электронного бизнеса, как интернет-трейдинг, интернет-банкинг и другие современные направления развития финансовых Интернет-услуг, могут оказаться под угрозой несанкционированного доступа. Это способно в обозримом будущем перерасти в глобальную проблему Интернет-сообщества.
Полностью искоренить это явление, видимо, не удастся, но бороться с ним можно и необходимо. Пользователи должны стать более осторожными. Производители программного обеспечения надо обращать серьезное внимание на «дыры» в программных продуктах, через которые в компьютеры пользователей проникают вредоносные коды. Необходимо менять также глобальные правила доступа в Интернет и правила работы в сети, применять антиспамерское программное обеспечение. Выход может быть найден в развитии новых безопасных сетей, которые вообще не будут связаны с современным общедоступным Интернетом.
Бизнес-операции по Интернету должны охраняться от воровства
и мошенничества. Организации, использующие электронный бизнес, должны формировать адекватные и эффективные процедуры безопасности, чтобы подтвердить надежность, целостность и качество операций электронного бизнеса.
4.1. ОРГАНИЗАЦИЯ ЗАЩИТЫ
ЭЛЕКТРОННОЙ СДЕЛКИ
В настоящее время коммерция с использованием Интернета — новый, быстро растущий сектор рынка. Поэтому остро встала необходимость внедрения коммерческих операций в «киберпространство». Однако сама процедура покупки товара с использованием Интернета, например, кредитной карты, требует регистрации адреса, набор кодов, которые немедленно могут стать известными злоумышленнику.
Интернет — открытая система, поэтому риски участников электронной сделки весьма значительны. Возможности, сложности, проблемы и изменения, связанные с электронной коммерцией и электронным бизнесом, в целом создают соответствующие риски, к которым относятся:
— риск безопасности;
— риск частного характера;
— юридические риски;
— риск покупателя;
— риск мошеннических финансовых отчетов;
— риски электронного маркетинга;
— риск технических сбоев и др.
Поэтому основной проблемой электронного бизнеса является достижение степени уверенности покупателя относительно безопасности электронной сделки, обеспечивающей развитие ускоренными темпами электронной коммерции. Для этого должен быть выработан системный комплекс информационной защиты электронных сделок, в том числе и правовой: специальными процедурами (тоже носящими электронный характер) предусматривается выполнение юридических условий заключения и исполнения электронных сделок. Как следствие, для реализации электронной коммерции требуются соответствующие протоколы и средства обеспечения безопасности трансакций и секретности информации. Рассмотрим их подробнее.
Интернет и "Web не приспособлены для проведения каких-либо коммерческих операций, вследствие чего передаваемые по сети данные могут быть перехвачены. Так как передаваемые в течение трансакции данные обычно представляют собой текстовую информацию, лицу, осуществляемому такой перехват, для ее прочтения нет необходимости прилагать дополнительные усилия. И первой основной проблемой коммерческих трансакций в Интернете исключение возможности для посторонних лиц прочитения или изменения передаваемой информации, например, адреса, номера кредитной карточки и др. Поэтому, прежде всего, необходимо зашифровать информацию, чтобы ее было невозможно (или исключительно трудно) просмотреть посторонним.
Законодательство ряда стран (в частности, США) запрещает экспорт высоких технологий в области шифрования. Сами продавцы, работающие через Интернет, вынуждены зачастую внедрять специальные технологии шифрования и кодирования информации для безопасной пересылки номеров и кодов кредитной карты. В частности, компании Netscape Communications, CommerceNet, Microsoft в сотрудничестве с VISA American Express и MasterCard ведут работу в этой области, конечная цель которой — четкая идентифицикация как покупателя, так и продавца.
Вторая основная проблема для коммерции в Интернете — идентификация. При покупке товаров с помощью кредитной карточки клерк проводит визуальную идентификацию покупателя и определяет, является ли покупатель настоящим владельцем карточки. При совершении покупок в Интернете ситуация изменяется коренным образом. Здесь нет и не может быть физического контакта продавца и покупателя. Поэтому продавец должен обладать иным способом идентификации покупателя.
Процесс создания цифровой подписи, с помощью которой можно идентифицировать создателя информации, схематично представлен на рис. 4.1.
В настоящее время существует несколько специально созданных для проведения коммерческих трансакций с помощью кредитных карточек сетевых протоколов с поддержкой средств шифрования, например, S-HTTP и SSL, и методов, с помощью которых можно зашифровать передаваемые данные и создать цифровые подписи и тем самым существенно повысить безопасность передаваемых данных и коммерческих трансакций в целом.
Третья проблема — секретность информации. Если при покупке в обычном магазине расплата производится наличными деньгами, то не сохранится записи, кто вы такой, что купили и т. д. При совершении покупки через Интернет с помощью кредитной карточки будет сделана как минимум одна запись об этой трансакции и магазин сохранит запись о личности покупателя, приобретенном товаре и т. д. Компания, реализующая кредитные карточки, поддерживает базу данных, хранящую информацию обо всех совершаемых покупках, благодаря чему она может определить предпочтения, заработок
и прочую информацию о покупателе. Подобная информация может быть использована как продавцом, так и посторонними людьми. Однако эти сведения зачастую могут оказать и неоценимую услугу, например, при проведении судебных исков.
Для обеспечения режима секретности в настоящее время используются цифровые деньги (digital cash), которые обеспечивают примерно такой же уровень конфиденциальности, как и обычные деньги, т. е. покупатель может делать приобретения, не беспокоясь о том, что где-то может остаться информация о его покупке. С другой стороны, цифровые деньги помогают «отмывать» нечестные доходы и обходить закон.
Цифровые деньги могут принимать различные формы: от смарт-карт (микродевайсы) до похожих на купюры электронных сертификатов, выдаваемых банками, и систем типа CyberCash Secure Internet Payment System. Существуют и другие формы электронного коммерческого обмена, например, цифровые чеки.
Одним из основных производителей систем цифровых денег является компания CyberCash, Inc, пользователи которой наряду с обычными кредитными карточками могут использовать и возможности протокола SSL. С его помощью можно производить покупки 24 часа в сутки и 7 дней в неделю.
Цифровые деньги основаны на использовании систем шифрования с цифровыми подписями. Эта система работает с парой ключей, которые можно сравнить с двумя половинками шифр-блокнота: сообщения, зашифрованные с помощью одного ключа, можно расшифровать только с помощью второго ключа. Один ключ может быть доступен всем желающим (он называется открытым). Другой же должен быть известен только его хозяину (этот ключ называется личным). Например, если банк предоставит всем пользователям открытый ключ, они смогут посылать банку сообщения, зашифрованные с его помощью. Основные этапы использования шифрования с открытым ключом представлены на рис. 4.2 [66].
Способ шифрования с открытым ключом позволяет пользователям создавать так называемые цифровые подписи. С их помощью банк может проверить, действительно ли автором сообщения является то лицо, чьи имя и фамилия указаны в полученном документе.
В системах цифровых денег в качестве «купюр» используются случайные числа. Затем цифровая купюра «блокируется» с помощью случайного фактора и передается в банк. Например, если пользователь хочет получить подпись банка на сумму Z, но не желает при этом, чтобы размер суммы стал известен банку, он может сделать это с помощью протокола заблокированных подписей. Для этого необходимо проделать следующие операции:
1. Пользователь использует случайный фактор блокировки. После этого он умножает номер купюры на полученный фактор блокировки. Результат умножения зашифровывается с помощью открытого ключа банка. Затем полученное значение пересылается банку.
2. Получив такое сообщение, банк расшифровывает заблокированную купюру с помощью своего личного ключа и создает цифровую подпись полеченной купюры. Для этого создается смешанное значение купюры, которое зашифровывается с помощью личного ключа банка. Затем полученное значение добавляется к первоначальному сообщению и пересылается пользователю. В зависимости от договоренности пользователя и банка, купюра может пересылаться как текст с цифровой подписью или как зашифрованный (с помощью открытого ключа пользователя) текст с цифровой подписью.
3. Если купюра зашифрована, пользователь должен расшифровать ее с помощью своего личного ключа. В результате у него должно получиться заблокированное сообщение с цифровой подписью.
4. Пользователь с помощью простейшей операции деления удаляет фактор блокировки с заблокированной купюры. В результате у него должна получиться настоящая купюра с цифровой подписью.
5. В завершение пользователь сохраняет полученную купюру на своем компьютере. Так как фактор блокировки является случайным числом, банк не может определить номер банкнота, а соответственно, и узнать его номинал.
При переводе банком денег клиенту создается цифровая подпись купюр с помощью своего личного ключа, а после этого отправляет сумму клиенту (рис. 4.3) [66].
После того как пользователь получит перевод и его программное обеспечение «деблокирует» сумму, получится купюра с цифровой подписью банка (рис. 4.4) [66].
После этого пользователь может воспользоваться купюрой для совершения покупки. При этом продавец всегда сможет проверить достоверность купюры с помощью цифровой подписи (рис. 4.5) [66].
Затем продавец передает купюру в свой банк. Этот банк, в свою очередь, проверяет цифровую подпись банка — создателя купюры. После этого банк-создатель переводит деньги банку продавца.
Цифровые деньги предоставляют большую безопасность не только покупателям, но и продавцам. Ни покупатель, ни продавец не могут подделать цифровую подпись банка — ведь у них нет доступа к личному ключу банка. С другой стороны, с ее помощью любой человек может проверить достоверность купюры. С помощью фактора блокировки покупатель всегда сможет доказать, что покупку оплатил именно он, а не кто-либо другой. Однако, так как пользователь заблокировал начальный номер купюры, банк не может ассоциировать подпись с оплатой. Благодаря комбинации блокировки, цифровой подписи и шифрования цифровые деньги защищают банк от подделки, продавца — от отказа банка использовать действительную купюру и пользователя — от сфабрикованных обвинений и вторжения в частную жизнь.
К недостаткам цифровых денег относится их возможное повторное использование. При приобретении товаров с помощью обычных денег покупатель должен дать продавцу настоящие купюры. В случае оплаты цифровыми деньгами можно создать копию переданной банком купюры и повторно использовать ее неограниченное количество раз. Чтобы избежать этого, продавцы используют системы
вызовов и ответов. Прежде чем принять оплату, эта система посылает покупателю непредсказуемый вызов, на что программное обеспечение пользователя пересылает продавцу дополнительную информацию о номере купюры (рис. 4.6) [66].
Однако эта информация не содержит никаких сведений о пользователе. Если же пользователь попытается воспользоваться купюрой во второй раз, программное обеспечение продавца узнает об этом. Кроме того, с помощью ответов банк может идентифицировать злоумышленника и уличить его в мошенничестве.
В отличие от обычных денег, которые печатаются правительством в одном месте (на монетном дворе), покупателям и продавцам не обязательно сверяться с настоящими деньгами, т. е. они сами могут создавать деньги, что, естественно, является нарушением закона.
Создание достаточного количества цифровых «монет» различного достоинства слишком обременительно для банка. Для их хранения потребуются специальные «хранилища».
Система, заставляющая продавца возвращать сдачу, по стоимости примерно соизмерима с системой хранения денег. Для решения этой проблемы созданы электронные «чеки» — число, в котором хранится несколько денежных знаков различного номинала, достаточных для проведения любой трансакции, не выходящей за пределы суммы чека. В момент оплаты из чека изымается необходимая сумма. На компьютере пользователя хранятся номера «чеков», которые связаны с соответствующими купюрами банка. Если вся сумма чека истрачена, пользователь должен обратиться в банк и «купить» денег снова.
Чек содержит цифровую подпись (такую же, как и на настоящей купюре) банка, а также систему ответа, чтобы предотвратить повторное использование суммы.
Наиболее известной и доступной версией цифровых денег в настоящее время является система компании DigiCash — ecash.
Программное обеспечение ecash работает на всех основных компьютерных платформах: MS Windows, Macintosh и Unix. Графический пользовательский интерфейс работает с окном состояния, в котором отображается количество денег. Существует также версия программы, работающая в текстовом режиме.
Допустим, электронный магазин, использующий ecash, требует оплатить покупку. В этом случае (в зависимости от установок) программное обеспечение может провести трансакцию автономно или при необходимости запросить у пользователя подтверждение. Программное обеспечение ecash может работать при подключении к сети или с электронной почтой.
Шифрование и цифровые подписи играют ключевую роль в проведении коммерческих трансакций.
Как в традиционной кредитной трансакции, так и в коммерческой трансакции в Интернете участвуют три стороны: покупатель, продавец и компания по предоставлению кредитных карточек. Перед пересылкой данных о кредитной карточке по Интернету необходимо обязательно проверить безопасность текущего соединения. Кроме того, необходимо проверить, отображает ли броузер информацию о безопасности.
Некоторые серверы разрешают просматривать смешанные документы (документы, состоящие из обычной и безопасной частей) полностью, несмотря на то что доступ к серверу был получен при помощи небезопасного метода (http://). Однако большинство безопасных серверов хранят обычные и безопасные документы раздельно.
Например, если по некоторой причине сервер перенаправит безопасный URL на небезопасное место, Netscape Navigator сообщит об этом пользователю. Пользователь получит предупреждение и в том случае, если броузер поместит информацию в безопасную форму при помощи небезопасного метода, т. е. если броузер передает заведомо секретную информацию обычным способом, Netscape Navigator предупредит об этом.
Internet Explorer также сообщает пользователю о попадании в зону безопасности, просматривает безопасный документ или использует небезопасный метод.
Во время работы с безопасным соединением все передаваемые пользователем или сервером данные перед отправлением зашифровываются. Большинство пользователей могут спокойно использовать свои кредитные карточки для заказов товаров через Интернет.
Соединившись с безопасным Web-сайтом, необходимо проверить, тот ли это сайт. Хакеры могут подменить даже безопасные Web-узлы. Благодаря этому они могут получить от ничего не подозревающего пользователя конфиденциальную информацию. Для избежания этого необходимо проверять цифровой сертификат каждого безопасного сайта. Например, протокол SSL требует, чтобы каждый Web-сайт, обеспечивающий безопасность соединения с помощью этого протокола, содержал не менее одного цифрового сертификата. Такой сертификат должен содержать имя компании, место расположения, наименование ведомства сертификатов, выдавшего сертификат, а также срок его действия. Если какая-либо информация пропущена или срок действия сертификата уже истек, такому сайту доверять нельзя.
Метод проведения безопасных диалоговых трансакций компанией First Virtual, объявившей себя первым диалоговым банкиром Интернета, основан на том, что она никогда не требует от своих клиентов помещать конфиденциальную информацию в Интернете. Альтернативой этому компания First Virtual распространяет VirtualPIN — средство, которое можно использовать в пределах любого сайта компании. При этом информация о кредитной карточке хранится на безопасных компьютерах, не соединенных с Интернетом.
При совершении покупки с помощью VirtualPIN компания First Virtual высылает клиенту сообщение по электронной почте, в котором содержится запрос на подтверждение покупки. До тех пор пока не будет получен ответ (тоже по электронной почте), компания не изменяет содержимое карточки клиента.
В настоящее время в большинстве электронных банков используется несколько уровней защиты с помощью пароля и цифровых подписей.
Четвертая проблема в сфере электронной коммерции во всем мире с точки зрения оперативности взаимодействия связана с доставкой товара покупателю (если только это не информационные ресурсы). Поэтому на первых этапах становления электронной коммерции наиболее интенсивно развивалась торговля продуктами интеллектуальной деятельности: программным обеспечением, результатами различных исследований. Стремясь преодолеть затруднения, связанные с оплатой товаров и услуг в электронной форме, многие торговые фирмы значительно обедняют спектр торговых услуг, например, ограничивая их возможностью диалогового заказа, тогда как оплата товаров должна вестись в обычном режиме или осуществляться на условиях наложенного платежа.
Пятая проблема в сфере электронной коммерции связана с электронными платежами, служащими для расчетов между пользователями в Сети. Расчеты анонимны или псевдоанонимны и совершаются в считаные секунды. В каждой электронной платежной системе (ЭПС) используется некоторая электронная наличность, которая является эквивалентом обычно реальной валюты или драгоценных металлов. Весь объем этой наличности, находящийся в обращении в ЭПС, должен быть подтвержден этими эквивалентами, т. е. Web-деньги должны иметь стопроцентную и моментальную ликвидность.
Электронные платежные системы не имеют какой-либо общепринятой классификации, по крайней мере в техническом понимании вопроса. Управление электронным счетом и осуществление операций с ним может происходить через Web-интерфейс, например, ЭПС e-port (http://eport.ru): через клиентское приложение, например, ЭПС ЯндексДеньги (http://money.yandex.ru) или могут использоваться оба способа взаимодействия, например, ЭПС WebMoney (http://webmoney.ru): и через Web (версия Light), и через программу клиента (версия Classic) [72].
Компания ЗАО «Компьютерные и информационные технологии» (ЗАО «КИТ») разработала ЭПС WebMoney в 1998 г. Для Classic-версии программы при запуске ЭПС WebMoney ПО-системы — WM Keeper— устанавливают соединение с серверами сертификации. Все операции проходят в закодированном виде, с использованием алгоритма защиты, подобного RSA, с длиной ключа более 1024 бит. Для каждого сеанса (трансакции) используются уникальные ключи сеанса, поэтому в течение трансакции никто, кроме отправителя, не имеет возможности определить назначение платежа и его сумму. Для каждой сделки используются уникальные реквизиты, а попытки применить их повторно отслеживаются и пресекаются. Используемые алгоритмы кодирования — RC5, MD4, MD5, SSL.
В ЭПС WebMoney на пользовательском уровне реализовано несколько степеней защиты: доступ по уникальному WMID и паролю, а также обязательное наличие так называемого файла ключей (*.kwm). В этом файле хранится личный ключ для доступа в систему; ключ зашифрован с использованием WMID и пароля. Таким образом, для того, чтобы иметь доступ к средствам в системе, необходимо знать не только пароль к WM1D, но и обладать секретным файлом *.kwm. Знание одного лишь пароля недостаточно.
Система эта весьма надежна, и удачных попыток прямого взлома ЭПС WebMoney-сервера или самой программы WM Keeper не было. Зато случаев распространения программ-вирусов «Троянский конь», «ворующих» файлы с ключами под лозунгом «Скачайте нашу программу-кряк и генерируйте WM сколько душе угодно», довольно много. Причем чаще всего для правдоподобности за эту программу- кряк необходимо заплатить небольшую сумму денег. Авторы подобного «Троянского коня» остаются в выигрыше при любом исходе: и в случае если пользователь заплатит за программу, и если он при этом не сможет защититься.
В качестве защиты от таких программ-вирусов пользователям ЭПС WebMoney была дана возможность сохранять файл с ключами на смарт-карте, а также искусственно увеличивать его размер вплоть до 10 Мб, чтобы затруднить возможность его несанкционированного скачивания. Введена процедура активации специального кода, необходимого для манипуляций средствами на электронных кошельках. Используется также программа (https://security.webmoney.ru), позволяющая заблокировать доступ к своему WMID со всех IP-адресов, кроме входящих в список разрешенных.
Электронная платежная система Яндекс .Деньги (PayCash до июля 2002 г.) появилась в начале 1998 г. Сложные процедуры регистрации и использования ПО-системы, а также сложность финансовой схемы привели к тому, что по числу пользователей ЭПС PayCash на порядок отставала от ЭПС WebMoney. В этих условиях Яндекс взял на себя продвижение системы, переименованной в «ЯндексДеньги». Тогда же она получила банковское свидетельство Центробанка России.
Схема ЭПС PayCash основана на так называемой классической технологии цифровой наличности, впервые предложенной голландским разработчиком Дэвидом Чаумом (система «eCash»). Он создал денежный суррогат — бессрочные денежные обязательства на предъявителя, эмитированные банком или другой финансовой организацией в форме электронных сертификатов, которые могут быть использованы для расчетов через Интернет.
Эта технология использует криптографические алгоритмы RSA сданной ключа в 1024 бита и более, электронную цифровую подпись (ЭЦП), а также «спелую» электронную подпись. Для работы с ЭПС Яндекс. Деньги рядовому пользователю необходимо скачать программу-клиент под названием «Интернет.Кошелек».
Электронная платежная система e-port была основана в 1999 г. По своей сути она построена на использовании единых карт e-port. Каждая карта может представлять собой всего лишь учетные данные — номер и PIN-код (это так называемая виртуальная карта e-port, которую можно получить в режиме онлайн, или она может иметь и вполне осязаемое физическое обличив).
Карта e-port служит отдаленным аналогом кредиток, используемых при оплате в Сети. На карте e-port аккумулируются зачисленные денежные средства, которые затем могут быть потрачены на оплату товаров и услуг в подключенных к системе электронных магазинах, а также для покупок в Momentalno.Ru — Интернет-магазине системы, каторый торгует товарами, не требующими физической доставки. В рамках Momentalno.Ru система e-port имеет агентские соглашения с мобильными операторами, Интернет-провайдерами и провайдерами IP-телефонии, платного телевидения, а также Интернет-казино. Благодаря этому можно пополнить, например, свой счет на мобильном телефоне или купить карту доступа в Сеть.
Управление счетом в системе e-port происходит через Web-интерфейс по протоколу https с использованием SSL версии 3.0. Для каждого сеанса (сессии) используются генерируемые сеансовые SSL-ключи, которыми обмениваются клиент и сервер. После обмена ключами данные шифруются по симметричному криптографическому алгоритму RC4. Стойкость шифра — 40, 56 или 128 бит. Визуальных Win-приложений для управления своим счетом у системы e-port нет.
Простое открытие электронного кошелька в ЭПС позволяет принимать платежи на своем сайте. Однако вопросам автоматизации уделяется большое внимание. Например, ЭПС WebMoney с помощью соответствующих элементов ActiveX, вставленных на Web-страницу, можно предложить пользователю запустить Keeper и в случае его согласия сделать это автоматически и даже побудить его начать процедуру инсталляции Кеерег,а, если программа еще не установлена.
Для приема оплаты на сайте ЭПС WebMoney предоставляет возможности использования модуля аутентификации для автоматической выписки счета или сервиса Merchant (http://merchant.webmon-ey.ru). Первый вариант считается устаревшим вследствие сложности. Суть его заключается в автоматической выписке счета покупателю и в последующей проверке состояния его оплаты. Для этого необходимо скачать и инсталлировать на сервере специальный модуль аутентификации, в задачи которого входит формирование ЭЦП каждой операции. Это позволяет производить операции в системе только от имени WM-идентификатора, с использованием секретных ключей которого модуль производит подпись. Инсталляция под Unix может выглядеть как: chmod a+x ./compl.sh ./compl.sh
Для автоматической выписки счета, проверки состояния его оплаты, а также автоматического перевода средств с электронного кошелька клиента на электронный кошелек продавца необходимо использовать предлагаемые ЭПС WebMoney интерфейсы.
Недостатками этого варианта являются высокая вероятность сбоя или «погрешности» в работе системы в зависимости от состояния подключения к серверу ЭПС WebMoney, необходимость работать в открытом виде на сервере с файлом ключей kwm при функционировании модуля аутентификации, а также наличие специального ini-файла, который должен содержать WMID, пароль к нему и путь к ключам на сервере.
Главная и единственная защитная мера — хранение их как можно «глубже» на сервере, когда наткнуться на файл с ключами сможет только опытный хакер.
Второй вариант приема оплат через ЭПС WebMoney использует сервис Merchant. По этой схеме серверу WebMoney передается информация о заказе (номер, сумма и пр.), пользователь проходит на сервере ЭПС WebMoney авторизацию, после чего с его счета списывается соответствующая сумма, а пользователь перенаправляется обратно на сайт.
Аналогичные услуги, хотя и менее удобные и прозрачные, чем у ЭПС WebMoney, предоставляет и ЭПС Яндекс.Деньги.
У ЭПС e-port аналогичные разработки по подключению электронных магазинов обеспечиваются программным продуктом e-POS.
Разработанная WebMoney услуга Software Activation Service (SAS)32 позволяет разработчикам программного продукта продавать его напрямую конечному пользователю через ЭПС WebMoney. При этом в SAS имеется возможность контролировать количество инсталляций программы и, соответственно, число случаев использования выданного регистрационного номера. Рекомендуется разрешать 3—4 инсталляции на регкей, чтобы покупатель мог сделать одну инсталляцию дома, одну на работе, а также на случай переустановки Windows и, как следствие, последующей переустановки приобретенной программы. При этом ЭПС WebMoney с помощью SAS как бы интегрируется в программный продукт, устанавливая зависимость между программным продуктом и WMID, с которого была произведена ее оплата. Приобретение программного продукта происходит без участия его создателя, который только получает деньги на свой счет в ЭПС WebMoney.
Защита электронной сделки включена в саму процедуру осуществления купли-продажи товара. Маркетинг проводится покупателем на основе изучения соответствующего сайта в Интернете, а предложение заключить сделку направляется продавцу в виде запроса на выставление счета. Продавец направляет покупателю счет, подписанный электронной подписью, в котором содержатся соответствующие реквизиты сделки (наименование товара, его стоимость, код продавца, время и дата совершения сделки). Счет является юридическим согласием (предложением) продавца заключить соответствующий договор. Юридический факт заключения договора в электронной системе означает, что покупатель подписал предъявленный ему счет цифровой подписью и отправил продавцу. С момента подписания покупателем выставленного счета договор считается заключенным.
В дальнейшем также осуществляется целый ряд процедур, имеющих целью защиту сторон в электронной сделке. Сюда входят: конфиденциальность, целостность, аутентификация, т. е. информацию может получить только тот, для кого она предназначена. Отправитель не может отказаться от послания, если оно однозначно идентифицирован. Информация не может быть изменена ни при хранении, ни при передаче. Эти важнейшие условия безопасности обеспечиваются шифрованием и электронной цифровой подписью. Технология
цифровой подписи описана в разд. 4.3.
Кроме того, гарантом исполнения заключенных сделок выступают платежные системы. Существуют специальные протоколы и стандарты безопасности электронных платежей (протокол SSL и стандарт SET).
А.Д. Гацмен в обзоре платежных систем для В2В, опубликованном в Интернете, называет три типа платежных систем, действующих в сфере В2В-платежей в западном секторе Интернета:
— выполняющие функции традиционных банков и финансовых компаний;
— сотрудничающие с банками и финансовыми компаниями в области обеспечения сервиса, предлагаемого этими компаниями клиентам;
— использующие для обработки платежей систему автоматического клиринга.
Все модели платежных систем содержат следующие атрибутивные признаки:
— обеспечение оценки кредитоспособности покупателя, продавца (или обеспечение гарантий платежа покупателем, продавцом);
— обеспечение покупателю гарантий того, что товар будет иметь определенное качество и будет доставлен (сервис условного депонирования);
— наличие возможностей ведения продавцом бизнеса с неизвестным партнером без опасения столкнуться с мошенничеством или отказом от совершенных сделок;
— предложение продавцам широкого спектра денежных средств с дисконтами (за дополнительную плату). Снижение расходов, трудностей и рисков, связанных с передачей документов с рук на руки после установки исходных аккаунтов;
— обеспечение отчетности о доставке товаров, подтверждении,
выставлении счетов-фактур, платежей, инкассации и др.
Особо выделим предоставляемые платежными системами услуги условного депонирования. В В2В-коммерции предлагаются онлайновые услуги для торговых партнеров, которые раньше не имели деловых взаимоотношений. Условное депонирование — это смешанная система электронного выставления счетов, т. е. средняя между онлайновым и онлайновым режимами оплаты, что позволяет организациям гарантировать качество покупок, совершаемых у новых торговых партнеров (путем открытия счета условного депонирования). Покупатели получают возможность давать свое согласие на получаемый товар до передачи денег, а продавцы получают платежи без риска, гарантированно. В любом случае деньги не переходят от покупателя к продавцу, пока продукция не будет получена и принята по качеству и количеству покупателем. В свою очередь, поставщик имеет гарантию оплаты. Услуги по условному депонированию лежат в основе платежных систем: Pitney Escrow и Pitney Pay,
Обслуживание оптовой торговли предъявляет к системам защиты информации несравнимо более высокие требования, чем в случае розничной торговли, так как цена ошибки или злоупотреблений существенно выше.
4.2. ОРГАНИЗАЦИЯ ЗАЩИТЫ
ЭЛЕКТРОННЫХ ДОКУМЕНТОВ
Для кредитных карточек существуют дополнительные специфические издержки, связанные с мошенничеством и безнадежными долгами. Безнадежные долги — постоянная проблема при всех формах кредитных карточек. Политика предоставления ссуд в организациях по кредитным карточкам очень различна. Так, карточки для туризма и развлечений технически не имеют верхних пределов сумм ежемесячного кредита, но по ним тщательно отслеживаются ежемесячные платежи. Банковские карточки обычно имеются у клиентов банка. Как правило, имеется достаточная информация о кредитных и платежных возможностях, в то время как с розничными карточками необходимо соотносить превышение оборота и прибыльности продаж и непокрытой задолженности. Большинство банковских карточек сопряжено со сложной системой кредитного рейтинга, выявляющей наиболее опасные риски заявителей.
Политика покрытия длительных просрочек долга общая для всех организаций, выпускающих карточки. Успешный контроль в основном зависит от раннего выявления просроченных платежей, поддержания контакта с держателем карточки для определения причин отказа от платежа для возможного изменения графика выплат, приемлемого для обеих сторон, или для обращения в судебные инстанции.
Мошенничество — это использование пластиковой карточки не тем лицом, для которого она была выпущена. Материал, из которого сделаны кредитные карточки, сам по себе малоценен, но позволяет получить доступ к кредитованию. В начале 1980-х гг. наблюдалось большое увеличение мошеннического использования пластиковых карточек: банковских, чековых, «Т & Е» и розничной торговли.
Возможности такой защиты предоставляет большинство ПО при работе в Интернете. Так, банками и другими производителями систем пользования карточками постоянно разрабатываютя новые средства контроля и предотвращения возможного мошенничества с ними, обеспечивающие более полное предоставление информации для продавцов и держателей карточек и повышение характеристик безопасности самих карточек; для производства пластиковых карточек используется все более совершенное технологическое оборудование. Снижение остроты проблемы мошенничества с пластиковыми карточками обусловлено и тем, что системы терминалов (сети терминалов пунктов продаж) обеспечивают более частый доступ и более быстрое получение данных из центральных файлов для специального подтверждения принадлежности держателю карточки.
В России в настоящее время граждане в целом относятся с большим сомнением к посылке по Интернету данных о своих карточках на платформы для электронных платежей, например, CyberPlat, работающие с карточками, выпускаемыми российскими банками, так как в стране очень развито мошенничество с кредитными карточками. Опыт работы Интернет-магазинов показывает, что только каждый двадцатый клиент осуществляет электронный платеж по кредитной карточке; остальные предпочитают рассчитываться наличными при доставке заказанных товаров.
Автоматизированная система защиты электронных документов от несанкционированного доступа обеспечивает высокий уровень надежности, исключающий возможности ошибок и злоупотреблений со стороны персонала, гарантирующий строгий учет и доступ к информации в соответствии с политикой безопасности компании, реализующей контроль в режиме реального времени за отработкой электронных документов.
Применение криптографических средств защиты делает использование электронных документов более безопасным, чем бумажных. Снижение влияния человеческого фактора на процесс учета обращения с электронными документами увеличивает степень безопасности системы.
Так, государственная политика в сфере информатизации потребовала создания и организации серийного выпуска российских интеллектуальных карт (smart card), которые можно применять в прикладных системах различного уровня — начиная от локальных и заканчивая общенациональными системами и обеспеченных надежной криптографической защитой на основе отечественных стандартов.
В рамках трехстороннего договора между предприятием «Ангстрем», научно-техническим центром (НТЦ) «Атлас» и компанией «Юнион Кард» при научно-техническом сопровождении со стороны ФАПСИ завершена разработка отечественного микроконтроллера и подготовка к серийному производству российской интеллектуальной карты (РИК) на его основе, применяемой в настоящее время платежной системой «Юнион Кард» [37].
Созданная карта обладает достаточными для большинства областей применения специальными техническими характеристиками. Она построена на базе оригинального процессорного ядра RISC-архитектуры. Алгоритм шифрования, соответствующий ГОСТ 28147 в защищенном исполнении, реализуется со скоростью до 5 килобайт в секунду. Микроконтроллер содержит 2 килобайта энергонезависимой памяти, 8 килобайт постоянной памяти и 256 байт оперативной памяти.
Система информационной безопасности РИК основывается на системе физической безопасности кристалла микроконтроллера и дополняется программно-алгоритмическими мерами защиты, реализованными в составе криптографического модуля операционной системы (ОС). В средствах операционной системы РИК реализуются алгоритмические меры защиты: тестовые проверки при включении питания карты; криптографическая защита данных; контроль их целостности и др. В карте имеется встроенный аппаратно-программный датчик случайных чисел, надежно обеспечивающий поддержку со стороны РИК криптографических протоколов взаимной идентификации и выработку разовых сеансов ключей шифрования данных, взаимодействие с терминальным оборудованием.
Система безопасности РИК полностью соответствует разработанной в 1998 г. концепции обеспечения информационной безопасности платежной системы на основе интеллектуальных карт и по своим функциональным возможностям и уровню защиты от несанкционированного доступа к хранимой информации РИК в целом не уступает своим зарубежным аналогом.
Технические характеристики РИК обусловливают весьма широкий спектр областей возможного ее использования для решения задач по защите информации в различных системах.
Использование РИК в платежных системах обеспечивает необходимый уровень безопасности электронных платежных транзакций в сочетании с необходимыми системными мерами информационной безопасности программно-аппаратных средств. РИК обеспечивает защиту как от масштабных атак на платежные системы (с целью их дезорганизации и наводнения фальшивыми платежными карточками), так и от угроз конкретным субъектам систем: банкам, клиентам.
В качестве носителя идентификационной информации РИК хорошо интегрируется в системы разграничения доступа к ресурсам информации в дополнение или вместо пароля, вводимого с клавиатуры терминала. Это позволяет существенно повысить уровень защиты ресурсов, так как, в отличие от пароля, хранящаяся в РИК информация надежно защищена от несанкционированного доступа при случайных или злоумышленных действиях лица, использующего такую карту. Программно-аппаратные средства РИК гарантируют передачу идентификационной информации из карты в терминал? или на удаленный сервер системы только в случае положительного результата взаимной идентификации, т. е. в соответствии с поддерживаемыми ОС надежными криптографическими протоколами.
Применение персональных карточек для доступа к ресурсам информации позволяет осуществлять динамический контроль за работой пользователя и в случае его отсутствия или перерыва в работе. Когда карточка вынимается пользователем из приемного устройства, можно блокировать доступ.
Применение микропроцессорных карт позволяет в числе других обеспечить взаимную достоверную идентификацию карточки и контрольного устройства и шифрование информации, передаваемой между карточкой и контрольным устройством, таким образом, что наиболее конфиденциальная часть данных никогда не покидает памяти карты в открытом виде и не может быть перехвачена злоумышленником.
Известно, сколь сложным и дорогим является обеспечение защиты от несанкционированного доступа на охраняемые территории, например, объекты атомной энергетики, военные базы, гражданские объекты, содержащие много ценностей, и т. п. Использование РИК в качестве пропуска на охраняемые территории позволяет администраторам безопасности получать абсолютно достоверную регистрацию пересечения всех ходов и выходов на охраняемой территории. В контрольные журналы автоматически записываются все данные пользователя карточки и точное время прохода. Применение РИК позволяет также обеспечить защиту паролей и секретных ключей на карте, что делает безопасной всю систему в целом даже при утере пользователем корточки. Применение же других средств контроля — не на основе интеллектуальной карты — требует существенно более дорогих и более сложных электронных устройств, линий связи и т. п.
Использование карты как носителя ключевой информации связано с развитием всех сетевых и телекоммуникационных технологий.
В настоящее время в системах передач данных наблюдается тенденция к переходу на принцип абонентского засекречивания «точка — точка», при котором шифраторы и ключевые носители находятся непосредственно в распоряжении абонента. В этих условиях существенно расширяется круг людей, допущенных к ключевым документам. Использование защищенных ключевых носителей типа магнитных дисков или карты с магнитной полосой может привести к компрометации конфиденциальной информации за счет утраты таких ключей и их незаконного копирования.
Одним из решений проблемы является применение алгоритмически и физически защищенных от несанкционированного доступа ключевых носителей. Проведенные специалистами ФАПСИ исследования показали, что разработанные и интегрированные в программно-аппаратную среду РИК меры защиты, а также специальные свойства кристалла позволяют обеспечить надежную защиту ключевых носителей на базе РИК.
Использование новых документов — пропусков на основе пластиковых карт со встроенным микроконтроллером — позволяет применять современные информационно-электрографические технологии, обеспечивающие высокий уровень защиты при попытках подделки таких пропусков, а также дополнительные охранные функции в части создания зон различных уровней доступа и мониторинга находящихся в них лиц.
Требования в части информационной безопасности РИК, используемой в качестве электронного документа, аналогичны требованиям к применению РИК в качестве платежного средства.
Одним из перспективных решений в области электронных документов являются электронные паспорта организаций — специальные смарт-карты, позволяющие идентифицировать организацию по присвоенному ей цифровому коду. Это может существенно упростить взаимодействие официальных представителей организации с административными, финансовыми и налоговыми органами, таможней.
В электронный паспорт организации заносятся адрес, наименование, имена руководителей, банковские реквизиты, любая другая необходимая информация.
Использование РИК может исключить ненужное дублирование фискальной информации в различных органах и предотвратить доступ лиц, не имеющих права на получение данных сведений.
В случае необходимости установления идентичности лица как с помощью интеллектуальной карты, так и по дополнительным биометрическим признакам, в частности, по отпечаткам пальцев, подписанные электронно-цифровой подписью образцы этих признаков предполагается хранить в памяти пользователей РИК.
Ведрение нового технологического процесса, относящегося к стандарту в области электронной цифровой подписи ГОСТ Р-3410, позволит совместить криптографический сопроцессор для модульной арифметики на одном кристалле с уже разработанным микро-
контроллером для ныне существующей российской карты и обеспечит возможность создания персональных носителей для системы цифровых сертификатов на базе отечественной криптографии, позволит повысить уровень безопасности информационного обмена по сетям Интернет, предложить надежные решения в области электронной коммерции.
Сочетание симметричной и открытой криптографии с разработкой конкретных систем защиты на базе РИК позволит обеспечить криптографически стойкое и эффективное администрирование системы безопасности; повысить специальные эксплуатационные свойства системы разграничения доступа в платежных системах; переместит защиту электронных платежей с физической защиты преимущественно на модуль безопасности с его криптографической защитой.
Имеющаяся в ФАПСИ нормативная база является достаточной для проведения сертификации по требованиям информационной безопасности средств системы КОД, использующей карты подобного типа.
Нарушения авторских и смежных прав в глобальной компьютерной сети Интернет приобрели в настоящее время массовый характер. Положения закона «Об авторском праве и смежных правах» позволяют сделать однозначный вывод о том, что произведения, опубликованные в сети Интернет в электронной форме, являются объектами авторского права и соответственно авторские права должны неукоснительно соблюдаться. Способы защиты произведений, публикуемых в сети Интернет, можно подразделить на две основные группы: правовые и технические. Основные способы правовой защиты:
— нотариальное заверение распечатки созданного произведения с указанием даты создания и автора;
— опубликование произведения на более традиционном носителе (например, на бумаге), надежно подтверждающее право авторства;
— депонирование в хранилище произведения, записанного на лазерный диск, что существенно упрощает решение вопроса об авторском приоритете;
— регистрация информации в качестве программы для ЭВМ или базы данных в Роспатенте;
— любое другое удостоверение факта существования произведения на определенную дату.
Однако безупречного правового механизма защиты авторских прав в Интернете в настоящие время не существует. Поэтому защита авторских и смежных прав в глобальной компьютерной сети Интернет осуществляется преимущественно техническими способами, которые рассмотрены в следующем разделе.
4.3. ОРГАНИЗАЦИЯ ЗАЩИТЫ ИНФОРМАЦИИ
В КОМПЬЮТЕРНЫХ СЕТЯХ
Защитa информации в компьютерных сетях основывается на выявлении, оценке и парировании возможных угроз безопасности информации с учетом частоты их проявления и вероятности потери информации, возможности по противодействию и ликвидации "последствий проявления этих угроз. Защищенные информационные системы предполагают [9]:
— безотказность;
— безопасность;
— конфиденциальность;
— бизнес-этику.
Безотказность — компьютерная система готова к работе в любой момент, когда в этом возникает необходимость, и функционирует, как и ожидается, на соответствующем уровне.
Безопасность — система устойчива к атакам, и секретность и целостность ее данных находятся под защитой.
Конфиденциальность — у пользователей есть возможность контролировать данные о самих себе, а те, кто добропорядочно использует эти данные, следуют принципам честного использования информации.
Бизнес-этика — компании-разработчики несут ответственность перед Клиентами, помогают им найти решения, отвечающие их потребностям, и в отношениях с клиентами действуют открыто.
Защита конфиденциальной информации в компьютерных сетях обеспечивается проведением комплекса организационно-технических мероприятий, которые можно сгруппировать по следующим направлениям:
— предотвращение несанкционированного доступа (НСД) к компьютерной информации с целью ее уничтожения, модификации, блокирования или копирования;
— блокирование каналов утечки за счет побочных электромагнитных излучений и наводок (ПЭМИН);
— предотвращение специальных программно-технических воздействий, вызывающих уничтожение, модификацию, блокирование информации или сбои в работе средств вычислительной техники;
— выявление внедренных в технические средства специальных устройств негласного съема информации (закладных устройств).
Предотвращение НСД к информации обеспечивается применением специальных программно-аппаратных средств защиты от НСД, использованием криптографических средств защиты информации и организационными мероприятиями.
Средства защиты информации от НСД должны обеспечивать управление доступом к ресурсам вычислительной системы, регистрацию и учет входа и выхода из системы, процессов печати документов, сигнализацию и регистрацию попыток НСД к ресурсам, контроль целостности программной среды и обрабатываемой информации.
Предотвращение НСД к информации, осуществляемого с помощью программных средств, реализуется определением для каждой программы перечня санкционируемых функций, применением средств и технологий программирования, обеспечивающих минимальную вероятность наличия дополнительных возможностей, которые могут быть использованы для осуществления НСД, предупреждением внесения несанкционированных изменений в программы при их разработке и эксплуатации, регулярной проверкой неизменности и целостности системного, сетевого и прикладного программного обеспечения.
На рабочие места целесообразно установить специальные программы блокировки клавиатуры, диска или каталога при временном оставлении рабочего места пользователем, а также программы, обеспечивающие уничтожение фрагментов данных в ОЗУ, регистрах процессора и ЗУ принтера.
Защита от несанкционированного копирования программ и данных обеспечивается: подключением к параллельному порту специальных программируемых заглушек, к которым программа обращается в первую очередь для считывания кода запуска программы (например, электронными ключами HASP для компьютеров, открытых систем на базе UNIX-платформ и сетей NOVELL), преднамеренными искажениями магнитного диска, на котором размещаются часть программ или данные, и введением в программу специального перемещаемого модуля декодирования, программными средствами, искажающими реальное число дорожек магнитного диска, шифрованием кодов программы, размещением части программы в закрытых от пользователя областях внутренней и внешней памяти.
Защита информации, передаваемой по каналам связи между элементами компьютерных сетей, обеспечивается шифрованием. Обеспечение подлинности сведений, их защита от искажений и идентификация отправителя осуществляется за счет применения электронной цифровой подписи.
Организационные мероприятия направлены на затруднение доступа к техническим средствам компьютерных сетей и обрабатываемой информации. Это достигается организацией режима ограниченного доступа в помещения, предназначенные для размещения элементов компьютерных сетей, размещением таких помещений в пределах контролируемой зоны на максимальном удалении от ее границ, размещением печатающих устройств, видеотерминалов, графопостроителей в местах, максимально затрудняющих визуальный просмотр информации посторонними лицами, а также применением дополнительных мер, исключающих подобный просмотр (штор, жалюзи, непрозрачных экранов и т. д.).
Блокирование каналов утечки информации за счет побочных электромагнитных излучений и наводок обеспечивается применением защищенных технических средств, аппаратных средств защиты информации, установлением контролируемой зоны необходимого размера вокруг средств вычислительной техники. В случае применения средств шифрования и электронной цифровой подписи величины соответствующих параметров устанавливаются исходя из условий сертификатов на эти средства. При этом на границе контролируемой зоны должны выполняться отношения сигнал/шум не более:
— для объектов 1 степени защищенности — 0,2;
— для объектов 2 степени защищенности — 0,8;
— для объектов 3 степени защищенности — 1,4.
В случае невыполнения требований по отношению сигнал/шум применяются активные средства защиты — генераторы шума.
Для обеспечения безопасности информации при отключении или бросках питающего напряжения необходимо использовать источники бесперебойного питания.
Предотвращение вредоносных программно-технических воздействий, вызывающих уничтожение, искажение информации или сбои в работе средств информатизации, обеспечивается применением специальных программных и аппаратных средств защиты (антивирусных процессоров, антивирусных программ), а также средств криптографической защиты информации.
Для организации защиты процесса обработки информации в компьютерных сетях в составе структуры информационных систем организуется служба администраторов безопасности, являющаяся, как правило, подразделением службы информационной безопасности. Администратор информационной безопасности обеспечивает регистрацию пользователей, формирование матрицы доступа к вычислительным и информационным ресурсам сети, учет наступления системных событий, связанных с инициализацией функций сети, изменением ее конфигурации и прав доступа, формирование параметров входа в сеть (идентификаторов) и шифр-ключей, контроль текущего функционального состояния сети.
Организационно-технические мероприятия по защите информации выполняются на всех этапах жизненного цикла информационных систем и со временем, а также по результатам работы могут уточняться и изменяться.
Для компенсации последствий возможных угроз информационным ресурсам и компьютерным системам при несанкционированном доступе к информации в компьютерных сетях целесообразно использование страхования. Например, РОСНО имеет лицензию на оказание услуг по страхованию от преступлений в сфере компьютерной информации и электронных средств связи, обеспечивающую возможность страхования информационных ресурсов и систем в целом, отдельных аппаратных и программных составляющих серверов, сетевых устройств, рабочих станций и компьютерной информации от несанкционированной модификации, блокирования и уничтожения в результате различных противоправных действий.
4.3.1. ПРОГРАММНО-ТЕХНИЧЕСКИЕ
СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ
Рейтинг уровней защиты
Существует четыре основных уровня зашиты33. Каждый из них подразделяется на классы; в общей сложности существует семь классов уровней защиты.
Уровень защиты D1. Класс D1 — наименьший уровень защиты. Система с уровнем защиты D1 не обеспечивает существенную защиту для файлов или пользователей. Наиболее распространенной формой такой системы являются локальные ОС (например, Microsoft Windows 98) или частично не защищенные сети.
Уровень защиты С. Классы уровня зашиты С обеспечивают избирательную защиту сети и функции отслеживания пользовательских действий и возможностей (так называемый аудит). Уровень С подразделяется на две подкатегории — С1 и С2.
Уровень защиты С1. Системы с уровнем зашиты С1 удовлетворяют требованиям избирательной защиты путем предоставления некоторого разделения пользователей и данных. Системы класса С1 включают некоторые виды жесткого контроля, позволяющего установить ограничение доступа для конкретных пользователей, и дают возможность пользователям защищать их личную информацию и предохранить данные от случайного чтения или разрушения. В таких системах все пользователи обрабатывают данные на одинаковом уровне, т. е. все документы для систем с уровнем защиты С1 выглядят одинаково секретными. Хорошим примером являются версии сетевого программного обеспечения Novell Netware. Каждый компьютер, связанный с сетью, имеет уровень защиты С1, поскольку он подвергается физическому риску. Минимальные требования для обеспечения уровня защиты С1 следующие:
— определенный и контролируемый доступ между именованными пользователями и именованными объектами;
— система идентификации и паролей, которая должна быть пройдена пользователями, прежде чем они получат доступ к информации в сети.
Уровень защиты С2. Системы с уровнем защиты С2 обладают более гибкими средствами контроля по сравнению с системами с уровнем зашиты С1. Пользователям систем С2 предоставляются индивидуальные счета (account) для каждого из действий при соединении с сетью. Системы С2 обеспечивают эту возможность, пользуясь процедурами входа, путем прослеживания (аудита) всех событий, имеющих отношение к безопасности работы, и путем изолирования ресурсов. Системы с уровнем защиты С2 обладают всеми свойствами систем С1, а также должны удовлетворять следующим требованиям:
— элементы управления доступом включают как целые группы, так и отдельных пользователей;
— элементы управления доступом должны ограничивать копирование прав доступа;
— механизм избирательного доступа будет, по явно заданным пользователем параметрам или по умолчанию, обеспечивать защиту от незарегистрированного доступа;
— элементы управления доступом могут разрешать или ограничивать доступ определенных пользователей к определенным
объектам;
— система идентификации уникальным образом определяет каждого пользователя, связанного с системой;
— операционная система ассоциирует каждое действие, произведенное определенным пользователем, с уникальным идентификатором этого пользователя;
— сеть может создавать и поддерживать функции аудита всех попыток доступа к сетевым объектам (например, к файлам).
Уровень защиты В. Уровень защиты В подразделяется на классы Bl, B2 и ВЗ. Принципиальная разница между уровнями В и С в том, что системы с уровнем защиты В должны иметь обязательную защиту. Это означает, что на каждом уровне доступа к системе используются свои правила, т. е. каждый объект должен обладать своим уровнем безопасности. Подобная система не позволит пользователю сохранить созданный объект, если он не определит уровень защиты этого объекта.
Уровень защиты В1. Системы класса В1 должны отвечать всем требованиям к системам класса С2. Кроме того, в системах В1 должен физически обеспечиваться обязательный контроль доступа над субъектами и объектами и неформальное следование некоторой стратегии зашиты. Системы с уровнем защиты В1 должны удовлетворять следующим требованиям:
— система должна поддерживать «метки чувствительности» для каждого объекта, над которым сеть осуществляет контроль. Метка чувствительности — это индикатор чувствительности объекта. Например, можно пометить цифры предстоящих продаж как «чувствительные», а деловые проекты — как «особо чувствительные»;
— система должна использовать чувствительные метки как основу для принятия решений по осуществлению обязательного контроля доступа;
— система будет помечать импортированные, непомеченные объекты, прежде чем поместить их в систему, и не разрешит непомеченным объектам проникать в систему;
— метки чувствительности должны точно определять уровни безопасности различных объектов;
— когда системный администратор создает систему либо добавляет новые коммуникационные каналы или устройства ввода-вывода в систему, он должен определить каждый коммуникационный канал и каждое устройство ввода-вывода как одноуровневое или многоуровневое. Изменить это определение администратор может только вручную;
— многоуровневые устройства поддерживают метку чувствительности информации, передаваемой им с помощью сети;
— одноуровневые устройства не поддерживают уровень чувствительности передаваемой информации;
— все выходные данные, передаваемые пользователям, независимо от того, являются они виртуальными (мониторы) или физическими (бумага), должны сопровождаться меткой, которая определяет уровень чувствительности объектов на выходе;
— система должна использовать пароли и методы идентификации для определения уровня доступа каждого пользователя. Более того, уровни доступа и безопасности пользователя должны применяться при каждом его обращении к объекту;
— система должна регистрировать все попытки несанкционированного доступа в специальном журнале.
Уровень защиты В2. Системы класса В2 должны удовлетворять всем требованиям, предъявляемым к системам класса В1. Кроме того, системному администратору необходимо при инсталляции системы основывать надежную вычислительную базу с помощью четко определенной и подкрепленной документально модели безопасности системы. Особенность систем класса В2 в том, что они должны распространять избирательные и обязательные элементы управления доступом систем класса В1 на все объекты и субъекты системы. Системы с уровнем защиты В2 адресуют незащищенные элементы и четко разделяют на критичные и не критичные к защите элементы. Системы этого класса могут оказывать достаточно сильное сопротивление атакам хакеров. Они должны удовлетворять следующим требованиям:
— система должна немедленно сообщать пользователю о каждом изменении его уровня доступа во время текущего сеанса работы;
— система должна поддерживать надежные коммуникации между собой и пользователем во время его регистрации и идентификации. Только пользователь может стать инициатором сеанса связи во время работы с надежными коммуникациями;
каналов и определять максимальную пропускную способность каждого из них;
— надежная вычислительная основа будет поддерживать отдельные функции оператора и администратора;
— реализация системы должна включать в себя диспетчера конфигурации — человека, который будет заниматься проверкой того, что коренные изменения системы проводятся людьми с соответствующими правами и разрешениями.
Уровень защиты ВЗ. Системы класса ВЗ должны удовлетворять всем требованиям, предъявляемым к системам В2. Кроме того, разработчики создают системы этого класса, ставя целью ограничение доступа и защиту от копирования с минимизацией компонентов, упрощающих анализ и тестирование системы. Надежная вычислительная основа должна исключить все те программы, которые являются несущественными для проведения политики защиты. Проектировщики должны свести к минимуму сложность системы, дня того чтобы упростить ее анализ. У такой системы должен быть постоянный администратор, расширенный механизм аудита и процедуры восстановления системы. Системы класса ВЗ в высшей мере устойчивы к атакам хакеров и должны удовлетворять следующим требованиям:
— они контролируют доступ всех пользователей к любому объекту (как и системы класса В2), системы класса ВЗ должны генерировать читабельный список безопасности. В этом списке должны быть отмечены все зарегистрированные в системе пользователи и их доступ ко всем объектам системы;
— каждый зарегистрированный объект должен поддерживать спецификацию списка пользователей, не обладающих правами доступа к этому объекту;
— прежде чем предпринять какие-то действия, система ВЗ требует обязательной идентификации пользователя;
— системы ВЗ идентифицируют каждого пользователя не только внутренне, но и с внешними протоколами безопасности. Система не будет предоставлять внутренний доступ пользователям, которые, по ее определению, не имеют доступа на внешнем уровне безопасности, несмотря на корректность безопасности. Система должна создать сообщение для журнала аудита, в котором указывается причина отказа в доступе;
— проектировщики должны логически выделить и безошибочно отличить надежный путь коммуникации от всех остальных;
— надежная коммуникационная основа должна создавать информацию аудита для каждого действия любого зарегистрированного пользователя над каждым объектом. К тому же всякий раз, когда зарегистрированный пользователь пытается выполнить какое-либо действие, надежная коммуникационная основа должна создать полную информацию аудита для администратора;
— надежная вычислительная основа должна поддерживать отдельные функции администратора безопасности;
— система должна поддерживать надежное восстановление (другими словами, система не будет перезагружаться без соблюдения условий безопасности).
Уровень защиты А. Уровень защиты А — высший по системе уровней и содержит только один класс систем — А1. Его характеризует использование формальных методов контроля безопасности. Формальные методы безопасности обеспечивают то, что элементы обязательного и избирательного контроля безопасности системы могут эффективно защищать классифицируемые или другие высокочувствительные данные, содержащиеся или обрабатываемые в системе. Уровень защиты А требует обширной документации для демонстрации того, что система удовлетворяет всем требованиям безопасности.
Уровень защиты AL Системы класса А1 функционально идентичны системам класса ВЗ в том, что не требуют отличий в архитектуре или требованиях политики. Отличие систем класса А1 в том, что проектировщики каждой системы должны анализировать систему сточки зрения формальной разработки. После анализа системы проектировщики должны интенсивно применять методы проверки для гарантии того, что система удовлетворяет всем формальным требованиям. В частности, системы класса А1 должны также удовлетворять следующим требованиям:
— диспетчер безопасности системы должен получить от разработчика системы формальную модель политики зашиты. Эта модель ясно определяет и устанавливает в письменном виде все аспекты политики, включая математическое доказательство того, что модель согласуется со своими аксиомами и достаточна для поддержки требуемого уровня защиты;
— все инсталляции систем класса А1 требуют наличия диспетчера безопасности системы;
— диспетчер безопасности системы должен установить систему класса А1, формально задокументировать каждый шаг инсталляции и показать, что система согласуется с моделью безопасности и формальной моделью.
Немногие системы должны обладать уровнем зашиты А1.
Операционная система (ОС) — важнейший компонент ПО вычислительной техники, осуществляя управление компьютером и его ресурсами, запуск прикладных программ на выполнение, обеспечивая диалог пользователя с компьютером. Следовательно, от уровня безопасности ОС зависит безопасность информационной системы в целом.
Обеспечить безопасность ОС — значит, исключить случайное или преднамеренное нарушение ее функционирования, а также нарушение функционирования находящихся под управлением ОС ресурсов системы.
Операционная система MS DOS не представляет каких-либо методов защиты: нет разделения оперативной памяти между программами, отсутствует защита файлов.
Операционные системы Windows 98 и Millennium не имеют достаточного уровня безопасности, в частности, весь объем оперативной памяти доступен для любой программы. Меры сетевой безопасности не отвечают современным требованиям.
Более высокую систему безопасности имеют операционные системы Windows NT, 2000. Они активно используют возможности защищенного режима процессоров Intel и могут надежно защитить данные и программы от других программ.
Операционная система UNIX разрабатывалась как сетевая и многопользовательская и изначально включала средства информационной безопасности.
Уровень безопасности ОС зависит от степени безопасности, предоставляемой брандмауэром и включает:
— проверку событий операционной системой. Операционная система с уровнем зашиты С2 и выше должна содержать возможности полной регистрации (аудита) любых событий, связанных с безопасностью системы. Это должно помочь определить размер нанесенного хакером ущерба. С помощью средств аудита можно определить, проводится ли атака в настоящее время или система уже взломана;
— политику обязательного доступа. Можно использовать политику обязательного доступа в системах с уровнем защиты В1 и выше для защиты от вируса «троянский конь». Этот уровень гарантирует, что только определенные пользователи имеют доступ к системным файлам. Обычные пользователи брандмауэра (например, пользователи FTP) и многие другие процессы-демоны34 работают, как правило, на более низком уровне защиты, поэтому возникает необходимость защиты системных файлов от их воздействия.
Требования к программно-техническим средствам защиты информации сформулированы также в руководящих документах Государственной технической комиссии (ГТК) при Президенте РФ. Основой всего набора таких документов является руководящий документ «Концепция защиты средств вычислительной техники и автоматизированных систем от несанкционированного доступа (НСД) к информации».
Этим документом вводится понятие «штатные средства», под которыми понимается совокупность программного, микропрограммного и технического обеспечения средств вычислительной техники и компьютерных сетей.
Главным средством защиты считается система разграничения доступа (СРД) субъектов к объектам доступа [9].
Технические средства защиты от НСД должны оцениваться по степени полноты охвата правил разграничения доступа реализованной СРД и ее качеству, составу и качеству обеспечивающих средств для СРД, гарантии правильности функционирования СРД и обеспечивающих ее средств.
Подключение компьютерных сетей к другим информационным системам и сетям производится через межсетевые экраны не ниже 3 класса защищенности, сертифицированные по требованиям руководящего документа Гостехкомиссии России «Средства вычислительной техники. Межсетевые экраны. Показатели защищенности от несанкционированного доступа к информации».
Объектам компьютерных сетей присваивается различная степень защищенности для определения требуемых организационно-технических мероприятий по защите информации в зависимости от ее важности, реальных условий размещения элементов компьютерных сетей, возможных каналов утечки информации, а также для минимизации затрат на защиту информации. Допускается присваивать различные степени защищенности по отдельным элементам компьютерных сетей при обработке ими информации различной степени конфиденциальности. Целесообразно установить следующие степени (категории) защищенности объектов компьютерных сетей в соответствии со степенью конфиденциальности обрабатываемой информации:
— 1 степень (категория) — объекты, связанные с обработкой строго конфиденциальной информации;
— 2 степень (категория) — объекты, связанные с обработкой конфиденциальной информации;
— 3 степень (категория) — объекты, связанные с обработкой служебной информации.
Биржа обычно использует целый комплекс мер по обеспечению безопасности торговой и клиринговой биржевых систем [63]. К ним относятся законодательные, морально-этические, административные, физические, технические меры. С целью защиты торгово-клирингового комплекса от всего спектра физических и технических угроз безопасность компьютерной системы должна быть реализована на нескольких уровнях.
Первый уровень — парольный доступ к компьютеру торгового терминала по закрытому ключу. Он защищает каждый отдельный компьютер и содержащуюся в нем информацию от несанкционированного использования.
Второй уровень — обеспечивает защиту сервера доступа. Этот вид защиты реализован в виде пароля к серверу доступа по открытому ключу и в процессе проверки идентифицирует права каждого конкретного участника торгов.
Третий уровень — реализован аппаратно для всей системы в целом путем соответствующего управления интеллектуальными концентраторами.
Четвертый уровень — реализован для защиты торговой системы и организован на уровне парольного доступа к базе данных по открытому ключу с проверкой прав терминала, осуществляющего попытку доступа к торговой системе.
Пятый уровень — обеспечивается самой базой данных SQL Server путем проверки целостности базы, он осуществляет основную защиту торговой базы данных от угрозы вмешательства.
Операционная система сервера на базе NT-подобных операционных систем, на основе которой строится обычно система биржевой торговли в России, соответствует высокому уровню системы защиты в соответствии с международным стандартом безопасности С2.
Для нормального взаимодействия номинального держателя и регистратора между ними должен быть выработан стандарт предоставления информации, в связи с чем в этих системах должна быть предусмотрена возможность перевода данных в файлы формата DBF.
Наиболее совершенные информационные системы ведения реестра (ИСВР) и информационные депозитарные системы (ИДС) предусматривают функции, обеспечивающие многоуровневую защиту данных, которая включает в себя:
— защиту данных от несанкционированного доступа, т. е. использование процедуры аутентификации пользователя по идентификатору и паролю при входе в систему;
— наличие процедур кодирования и шифровки информации;
— многоуровневый доступ к данным — наличие нескольких типов пользователей в соответствии с их полномочиями;
— защиту информации от случайного уничтожения при сбое системы или неправильных действий персонала;
— наличие средств контроля достоверности и непротиворечивости данных;
— возможность резервного сохранения и последующего восстановления данных.
Брандмауэр
Основным программно-техническим средством защиты вычислительных сетей является межсетевой экран (брандмауэр, Firewall). Гостехкомиссией разработан руководящий документ «Средства вычислительной техники. Межсетевые экраны. Защита от несанкционированного доступа к информации Показатели защищенности от несанкционированного доступа к информации». В указанном документе межсетевой экран определяется как локальное (однокомпонентное) или функционально-распределенное программное (программно-аппаратное) средство (комплекс), реализующее контроль за информацией, поступающей в компьютерную сеть или выходящей из нее. Межсетевой экран обеспечивает защиту компьютерной сети посредством фильтрации информации (как минимум, на сетевом уровне), т. е. ее анализа по совокупности критериев и принятия решения о ее распространении в (из) компьютерной сети на основе заданных правил, проводя таким образом разграничение доступа субъектов из одной компьютерной сети к объектам другой. Каждое правило запрещает или разрешает передачу информации определенного вида между субъектами и объектами. Как следствие, субъекты из одной компьютерной сети получают доступ только к разрешенным информационным объектам из другой компьютерной сети. Интерпретация набора правил выполняется последовательностью фильтров, которые разрешают или запрещают передачи данных (пакетов) на следующий фильтр или уровень протокола.
Брандмауэр — это совокупность аппаратных средств и программного обеспечения, которая связывает две и больше сетей и одновременно разделяет защищенную и незащищенную сети или защищенную область сети от незащищенной области той же сети, являясь центральным пунктом управления безопасностью, обеспечивая контроль взаимного доступа сетей друг к другу и защиту этого соединения сетей от постороннего вмешательства.
Брандмауэры могут реализовываться как программно, так и аппаратно-программно. Аппаратные брандмауэры являются специализированными компьютерами, как правило, встраиваемыми в стойку с сетевой ОС, адаптированной под выполняемые функции.
При присоединении сети к Интернет основой безопасности этого соединения должен стать брандмауэр. Обычно брандмауэр устанавливается между корпоративной сетью организации и Интернетом как способ закрыть доступ остальному миру к корпоративной сети.
Брандмауэр обеспечивает возможность центрального управления безопасностью сети. Обычно он строится на основе компьютера-бастиона.
Компьютер-бастион — это компьютер, специально установленный для защиты от атак на сеть.
Проектировщики сетей используют компьютеры-бастионы в качестве первой линии обороны. Компьютер-бастион является своеобразной «заслонкой» для всех коммуникаций между сетью и Интернетом. Другими словами, ни один компьютер сети не может получить доступ к Интернету иначе чем через компьютер-бастион; с другой стороны, ни один внешний (по отношению к сети) пользователь не сможет проникнуть в сеть, минуя компьютер-бастион. При использовании центрального доступа к сети через один компьютер упрощается обеспечение безопасности сети. Более того, предоставляя доступ к Интернету только одному компьютеру сети, разработчик значительно облегчает себе выбор надлежащего программного обеспечения для защиты сети.
Экранирующий маршрутизатор
В дополнение к традиционному аппаратному и программному обеспечению брандмауэров для большей безопасности используют экранирующий маршрутизатор — аппаратное и программное обеспечение для фильтрации пакетов данных, основываясь на заданном администратором критерии. Можно создать экранирующий маршрутизатор на базе ПК или компьютера, работающего под
управлением Unix.
Экранирующий маршрутизатор (screening router) — это специальный компьютер или электронное устройство, экранирующее (фильтрующее) пакеты, основываясь на установленном администратором критерии. В качестве экранирующего маршрутизатора может использоваться ПК, или рабочая станция, или специальное электронное устройство. Критерии для выбора пакетов устанавливаются с помощью специального программного обеспечения или аппаратно. После установления стратегии безопасности организации определяются пользователи, каторые могут иметь доступ к маршрутизатору и какие протоколы они могут использовать. Запрограммируйте маршрутизатор, написав набор правил в специальном файле маршрутизатора. Эти правила являются инструкцией для вашего маршрутизатора, т. е. определяют, как маршрутизатор должен обрабатывать каждый входящий пакет в зависимости от заголовка пакета. Например, можно заблокировать всю информацию, поступающую от неизвестных пользователей, но в то же время пропускать данные ICMP (Internet Control Message Protocol), вроде электронной почты SNMP. После того как вы запрограммируете экранирующий маршрутизатор, установите его между вашей локальной сетью и той сетью, от которой вы защищаетесь (т. е. другой локальной сетью или Интернет). Экранирующий маршрутизатор, в свою очередь, будет просматривать все коммуникации между этими двумя сетями. Помните, что маршрутизатор должен быть единственным физическим соединением между вашей и другой сетью (чаше всего Интернет).
Фильтрация экранирующим маршрутизатором проходящих через него пакетов представлена на рис. 4.7 [66].
Для достижения определенного уровня защиты от атак хакеров из Интернета достаточно правильно сконфигурировать брандмауэр,
используя комбинацию компьютеров-бастионов и маршрутизаторов. Правильно установленный брандмауэр поможет значительно повысить уровень защиты информации внутри организации.
При создании сети организации следует ставить своей целью защиту конфиденциальных документов каждого отдела от внешних атак, независимо от того производят ли эти атаки внешние пользователи Интернет или пользователи внутренней сети, работающие в соседнем отделе. В большинстве случаев организации выгоднее создавать сети, основываясь на принципе «доступ по необходимости», т. е. если пользователю не требуется доступа к конкретной информации, он и не должен иметь этот доступ.
Брандмауэры обеспечивают достаточную защиту сети, не зависящую от требований внутренней безопасности. К тому же брандмауэр или брандмауэры, которые используют для защиты вашей сети от пользователей Интернета, очень похожи на брандмауэры, используемые для защиты документов каждого отдела. Сравнительно простая конфигурация брандмауэра, в которой используется один компьютер-бастион с тремя сетевыми картами для защиты трех отделов от случайных (или намеренных) вторжений друг к другу, представлена на рис. 4.8 [66].
Первым уровнем защиты от вторжений в присоединенных сетях является экранирующий маршрутизатор, который выполняет фильтрацию пакетов на сетевом и канальном уровнях независимо от уровня приложений. Поэтому экранирующий маршрутизатор позволяет
контролировать движение данных в сети без изменения приложений клиента или сервера, как показано на рис. 4.9 [66].
Хотя этот маршрутизатор относительно недорог и удобен в использовании, он не может обеспечить достаточного уровня защиты. Основное его преимущество в том, что он работает исключительно на сетевом и транспортном уровнях модели ISO/OSI. Однако, чтобы действительно защитить сеть от нежелательных вмешательств извне, брандмауэр должен защищать каждый уровень протокола TCP/IP.
Основной недостаток экранирующих маршрутизаторов в том, что они осуществляют фильтрование данных, основываясь на недостаточном объеме данных. Ограничения, накладываемые на сетевой и канальный уровни, позволяют получить доступ только к IP-адресам, номерам портов и флагам TCP. Из-за отсутствия контекстной информации у маршрутизаторов могут возникать проблемы с фильтрованием таких протоколов, как UDP. И наконец, администраторы, которые работают с экранирующими маршрутизаторами, должны
помнить, что у большинства устройств, осуществляющих фильтрацию пакетов, включая экранирующие маршрутизаторы, отсутствуют механизмы аудита и подачи сигнала тревоги, т. е. маршрутизаторы могут подвергаться атакам и отражать большое их количество, а администраторы даже не будут осведомлены об этом. Поэтому для защиты сетей администраторы должны дополнительно использовать другие технологии фильтрования пакетов совместно с применением брандмауэров (рис. 4.10) [66].
Архитектура брандмауэров
Поскольку брандмауэры предоставляют возможности фильтрации данных на верхних уровнях модели ISO/OSI, а не только на сетевом и канальном, для критериев отбора можно воспользоваться полной информацией уровня приложений. В то же время фильтрация будет происходить и на сетевом, и на транспортном уровнях. Здесь брандмауэр проверяет IP- и TCP-заголовки проходящих сквозь него пакетов. Таким образом, брандмауэр отбрасывает или пропускает пакеты, основываясь на заранее определенных правилах фильтрования.
Обычно брандмауэр устанавливается между локальной сетью и Интернетом. Он препятствует проникновению пользователей всего мира в частную сеть и контролирует доступ к данным, хранящимся в ней. Брандмауэр не является отдельным оборудованием или программой, которая сделает все. Он всего лишь предоставляет обширные возможности для максимальной защиты сети от постороннего вмешательства, не создавая при этом особых неудобств зарегистрированным пользователям сети.
Для создания самого лучшего брандмауэра достаточно просто отключить (физически) сеть от Интернета. Если сеть не будет подсоединена к Интернету, посторонние пользователи Интернета никогда не смогут проникнуть или атаковать локальную сеть организации. Например, если организации требуется только внутренняя сеть, которая обеспечивает доступ к базе данных по продажам, и нет необходимости в том, чтобы в эту сеть можно было проникнуть извне, можно физически изолировать компьютерную сеть от Интернета.
На самом нижнем уровне сети расположены физические каналы. Используйте два набора каналов: один — для вашей локальной сети, другой — для Интернета. При этом сотрудники фирмы получат доступ как к внешней, так и к внутренней сетям. Сетевая конфигурация, в которой используется сервер (компьютер-бастион) с двумя сетевыми картами, представлена на рис. 4.11 [66].
Сетевые карты подсоединены к компьютеру через разные, изолированные друг от друга порты. Пользователи вашей сети могут переключать использующуюся в настоящий момент сетевую карту с помощью программного обеспечения. При этом они могут пользоваться и локальной сетью, и Интернетом, но не тем и другим одновременно.
Одно из преимуществ подобной конструкции в том, что она полностью защищает внутреннюю сеть от внешних пользователей. В то же время эта конструкция обеспечивает достаточно простую связь с Интернетом тем пользователям, которым это требуется.
Поскольку при такой конструкции необходимо добавить вторую сетевую карту, реализация этого проекта обходится недешево, а цена увеличивается по мере роста пользователей, которым требуется доступ к Интернету. Кроме того, когда число пользователей вашей сети, которым требуется доступ к Интернету, возрастет, вместо описанной выше конструкции более предпочтительным станет использование брандмауэра и компьютера-бастиона.
Создание брандмауэра — сложная задача, поскольку требуется разумно совместить функциональные возможности со средствами безопасности. Брандмауэр должен позволять зарегистрированным пользователям передвигаться в локальной сети и в Интернете без существенных препятствий. Но при этом брандмауэр должен пропускать незарегистрированных пользователей лишь на очень ограниченную территорию.
Большинство проектировщиков брандмауэров называют эту малую территорию зоной риска (region of risk). Зона риска — это та информация и системы сети организации, которые подвергаются риску при атаке хакеров. Например, когда сеть напрямую соединена с Интернетом, то она полностью превращается в зону риска.
Можно считать каждый компьютер незащищенной сети подвергаемым риску, и в этом случае ни один из файлов или систем не являются конфиденциальными. Хорошо выполненный брандмауэр ограничивает зону риска до рамок самого брандмауэра или до нескольких компьютеров сети.
Зона риска для сети, защищенной брандмауэром, ограничивается самим брандмауэром.
Зона риска, естественно, будет расширяться, если хакер проникнет в брандмауэр. При этом он может использовать брандмауэр как средство для атаки сети. Взломанный брандмауэр может послужить отправной точкой для проведения атак на другие компьютеры сети. Однако, если взломщик пройдет через заслонку, создаваемую брандмауэром, шансы на выявление, поиск и устранение хакера из сети возрастают. Хакер, проникающий и покидающий систему через узкое пространство брандмауэра, неизбежно оставит после себя информацию, с помощью которой системный администратор сможет его выявить и выследить. Кроме того, благодаря вторжениям опытный системный администратор сможет найти способ закрыть ту узкую щель, через которую проникает хакер.
Хорошо выполненный брандмауэр будет снабжать системного администратора информацией о том, какие виды переноса данных проходят через брандмауэр, какие не проходят и сколько раз испорченные пакеты пытались пройти через него. Последняя информация часто помогает определить, сколько раз хакеры пытались взломать брандмауэр.
Большинство брандмауэров поддерживают один или несколько уровней шифрования (encryption). Шифрование — это способ защитить передаваемую информацию от перехвата. Для защиты от атак необходимо зашифровывать всю информацию, исходящую из вашей сети. Многие брандмауэры, которые предоставляют возможности шифрования, защищают исходящие из сети данные, автоматически зашифровывая их перед отправлением в Интернет. Кроме того, они автоматически расшифровывают приводящие данные, прежде чем отправить их в локальную сеть. Используя функции шифрования, предоставляемые брандмауэрами, можно пересылать данные через Интернет удаленным пользователям, не беспокоясь о том, что кто-то может случайно перехватить и прочесть их.
Необходимость в брандмауэре возникает, когда организация ставит задачу соединения своей локальной сети с Интернетом. Определение конструкции брандмауэра начинают с анализа всего разнообразия коммуникаций, которые организация будет осуществлять между локальной сетью и Интернетом. Прежде чем выбрать и сконструировать брандмауэр, организации следует определить:
— хочет ли она, чтобы пользователи Интернета могли загружать свои файлы на сервер вашей сети;
— хочет ли она, чтобы пользователи Интернета могли загружать файлы с сервера вашей сети;
— хочет ли она, чтобы определенным пользователям (например, конкурентам) было отказано в доступе к вашей сети;
— должна ли сеть включать доступные из Интернета интернетстраницы;
— будет ли сайт организации поддерживать Telnet;
— какие права доступа к Интернету нужно предоставить сотрудникам организации;
— выделить ли отдельных сотрудников, которые будут заниматься вопросами обеспечения безопасности брандмауэра;
— самое худшее, что может произойти с вашей сетью и данными, если кто-то взломает ее.
Брандмауэр может быть весьма простым — единственным маршрутизатором или же весьма сложным — системой маршрутизаторов и хорошо защищенных серверов (главных компьютеров). Брандмауэры можно установить внутри корпоративной сети, чтобы усилить меры безопасности для отдельных ее сегментов.
Чтобы удовлетворить требованиям широкого диапазона пользователей, существует три типа брандмауэров: сетевого уровня, уровня приложений и уровня соединения. Каждый из этих трех типов брандмауэров использует несколько различных подходов к защите корпоративных сетей. Решение о выборе брандмауэра должно учитывать тип и степень защиты, требуемой для сети, а именно это и определяет необходимую конструкцию брандмауэра. Сделав наиболее оптимальный выбор, можно лучше разработать брандмауэр.
Бравдмауэр сетевого уровня [9, 66] — это обычно экранирующий маршрутизатор или специальный компьютер, который исследует адреса пакетов, чтобы определить, передать ли пакет в корпоративную сеть (из нее) или отклонить его. Как известно, пакеты наряду с другой информацией содержат IP-адреса отправителя и получателя, а также массу другой информации, которую использует брандмауэр для управления доступом к пакету. Можно, например, сконфигурировать брандмауэр сетевого уровня или маршрутизатор так, что он будет блокировать все сообщения из того или иного сайта, например, поступающие от определенного сайта конкурента, и все сообщения, отправляемые серверу конкурента из вашей сети. Обычно настройка экранирующего маршрутизатора на блокирование определенных пакетов происходит с помощью файла, который содержит IP-адреса сайтов (мест назначения), чьи пакеты следует блокировать. Брандмауэр (или маршрутизатор) должен блокировать пакеты, в которых эти адреса фигурируют как адреса отправителя или получателя. Когда экранирующий маршрутизатор встречает пакет, содержащий определенный в этом файле адрес, он отбрасывает пакет и не дает ему проникнуть в локальную сеть или выйти из нее. Подобное блокирование конкретных узлов часто называется методом черного списка (blacklisting). Большая часть программного обеспечения экранирующих маршрутизаторов позволяет внести в черный список (заблокировать) сообщения от внешних сайтов (другими словами, от внешних сетей), но не от определенных пользователей или компьютеров вашей сети.
Пакет, пришедший на экранирующий маршрутизатор, может содержать сообщение, любое количество информации, например, сообщение электронной почты, запрос на услугу типа HTTP (доступ к Интернет-странице), FTP (возможность пересылки или загрузки файла) или даже запрос Telnet на вход в корпоративную систему (запрос от удаленного пользователя на доступ к вашему компьютеру). В зависимости от того, как вы составите файл экранирующего маршрутизатора, маршрутизатор сетевого уровня распознает каждый тип запроса и будет предоставлять различные функции для каждого типа запросов. Так, можно запрограммировать маршрутизатор, разрешив пользователям Интернета просматривать Интернет-страницы организации, но не позволять им использовать FTP для пересылки файлов на корпоративный сервер или из него. Или можно запрограммировать маршрутизатор так, чтобы он позволял пользователям Интернета загружать файлы с вашего сервера на их серверы, не позволяя загружать файлы с их серверов на ваш. Обычно экранирующий маршрутизатор программируется так, что для принятия решения о том, пропустить или не пропустить через себя пакет, им рассматривается следующая информация:
— адрес источника пакета;
— адрес места назначения пакета;
— тип протокола сеанса данных (например, TCP, UDP или ICMP);
— порт источника и порт приложения назначения для требуемой службы;
— является ли пакет запросом на соединение.
Если вы правильно установили и сконфигурировали брандмауэр сетевого уровня, его работа будет достаточно быстрой и почти незаметной для пользователей. Конечно, для тех, кто находится в черном списке, это будет совсем не так.
Правильно установленный и сконфигурированный брандмауэр сетевого уровня является быстродействующим и «прозрачным» для пользователей. Конечно, для пользователей, помещенных в черный список, маршрутизатор оправдает свое название (брандмауэр) с точки зрения эффективности задержания нежелательных посетителей.
Как правило, маршрутизаторы поставляются с соответствующим программным обеспечением. Для программирования маршрутизатора в специализированный файл вводятся соответствующие правила, которые указывают маршрутизатору, как обрабатывать каждый входящий пакет.
В качестве брандмауэра уровня приложения обычно используется главный компьютер сети, использующий программное обеспечение сервера-посредника ((прокси-сервер (proxy-server))35 [9, 66].
Сервер-посредник — это программа, управляющая трафиком и контролирующая передачу данных между двумя сетями, обеспечивая связь между пользователями локальной сети и серверами присоединенной (внешней) сети.
В некоторых случаях он может управлять всеми сообщениями нескольких пользователей сети. Например, какой-либо пользователь сети, обладающий доступом к Интернету через сервер-посредник, будет казаться остальным компьютерам, входящим в Интернет, сервером-посредником (т. е. пользователь использует TCP-адрес сервера-посредника). В сети сервер-посредник может предоставлять доступ к определенной секретной информации (например, секретная база данных) без передачи (прямым текстом) пароля клиента.
Когда вы используете брандмауэр сетевого уровня, локальная сеть не подсоединена к Интернету. Более того, поток данных, который перемещается по одной сети, никогда не пересекается с потоком данных, который перемещается по другой сети, поскольку сетевые кабели этих сетей не соединены друг с другом. При использовании брандмауэра уровня приложения корпоративная сеть и Интернет физически не соединены. Трафик одной сети никогда не смешивается с трафиком другой, потому что их кабели разъединены. Работа прокси-сервера заключается в передаче изолированных копий пакетов из одной сети в другую. Сервер-посредник передает отдельную копию для каждого пакета, поступающего от одной сети другой, независимо от того, содержит этот пакет входящие или выходящие данные. Брандмауэр уровня приложений эффективно маскирует происхождение инициализации соединения (источник, от которого исходит запрос на соединение), и защищает корпоративную сеть от пользователей Интернета, пытающихся получить доступ к информации о сети организации.
Поскольку сервер-посредник распознает сетевые протоколы, можно запрограммировать его таким образом, что он будет отслеживать, какая именно служба требуется, и установить набор услуг, предоставляемых корпоративной сетью. Например, сервер-посредник можно настроить так, чтобы он позволял клиентам осуществлять загрузку с помощью FTP файлов с вашего сервера, но не позволит загружать с помощью FTP файлы на ваш сервер. Серверы-посредники предоставляют множество функций доступа, таких как HTTP, Telnet, FTP. В отличие от маршрутизатора необходимо устанавливать различные серверы-посредники для разных сетевых служб. Например, для сетей на базе Unix и Linux используют TIS Интернет Firewall Toolkit и SOCKS. Если сервер на базе NT-подобных операционных систем, поддержку сервера-посредника осуществляет как Microsoft Интернет Information Server, так и Netscape Commerce Server.
При установке сервера-посредника уровня приложения пользователи должны применять клиентское программное обеспечение, поддерживающее режим посредника с сервером-посредником. Проектировщики сетей создали множество протоколов TCP/IP, включая HTTP, FTP и др., в которых осуществлена поддержка сервера-посредника. В большинстве Web-броузеров пользователи могут с легкостью сконфигурировать их на поддержку сервера-посредника, используя предпочтения программного обеспечения броузеров. Необходимо выбирать приложение для работы в Интернет, основываясь на том, совместимо оно или нет со стандартными протоколами посредников. Например, приложения, которые поддерживают протокол посредников SOCKS, являются хорошим выбором, если вся сеть базируется на SOCKS. Когда устанавливается брандмауэр уровня приложений, следует также оценить, будут ли пользователи вашей сети использовать клиентское программное обеспечение, которое поддерживает службы посредника.
Таким образом, брандмауэры уровня приложения позволяют контролировать тип и объем трафика (передач данных), поступающего на сайт. Так как брандмауэры уровня приложений устанавливают определенное физическое разделение между локальной сетью и Интернетом, они отвечает самым высоким требованиям безопасности. Однако, поскольку программа должна анализировать пакеты и принимать решения по управлению доступом, брандмауэры уровня приложения могут уменьшать эффективность сети, в частности, ее производительность. Если предполагается использовать брандмауэр уровня приложений, то для установки сервера-посредника необходимо использовать наиболее быстродействующий компьютер.
Брандмауэр уровня соединения подобен брандмауэру уровня приложения — оба они являются серверами-посредниками. Однако для [ брандмауэра уровня соединения не нужно использовать специальные приложения, поддерживающие режим связи между сервером-посредником и клиентом [9, 66].
Брандмауэр уровня соединения устанавливает связь между клиентом и сервером, не требуя, чтобы каждое приложение знало что-либо о сервисе, т. е. клиент и сервер сообщаются через брандмауэр уровня соединения без сообщения с самим брандмауэром. Брандмауэры ; уровня связи защищают только начальный этап транзакции и не вмешиваются в ее дальнейший ход
Преимущество брандмауэра уровня соединения в том, что он обеспечивает сервис для широкого класса протоколов, в то время как брандмауэр уровня приложения требует отдельного посредника уровня приложений этого уровня для всех и каждого вида сервиса, который осуществляется брандмауэром. Так, используя брандмауэр уровня соединения для HTTP, FTP или, например, Telnet, нет необходимости вносить изменения в существующие приложения или добавлять новые серверы-посредники для каждой службы — можно просто использовать существующее программное обеспечение. Другая особенность брандмауэров уровня соединения в том, что можно работать только с одним сервером-посредником, что проще, чем регистрировать и контролировать несколько серверов.
При создании брандмауэра необходимо определить, какой трафик (какие виды данных) брандмауэр будет пропускать через свою корпоративную сеть, а какие нет. Можно выбрать маршрутизатор, который будет фильтровать выбранные пакеты, или использовать некоторый тип программы-посредника, которая будет выполняться на главном компьютере сети. Наилучшей зашитой для сети будет являться использование в архитектуре брандмауэра как маршрутизатора, так и сервера-посредника.
Существует три наиболее популярных типа архитектуры брандмауэра:
— двусторонний главный брандмауэр;
— фильтрующий главный брандмауэр;
— фильтрующий брандмауэр подсети.
Брандмауэры второго и третьего типов используют комбинацию маршрутизаторов и серверов-посредников, в то время как двусторонний главный брандмауэр использует две отдельные сетевые карты.
Двусторонний главный брандмауэр — это простая, но обеспечивающая очень высокую степень безопасности конфигурация, в которой один главный компьютер играет роль разделительной линии между корпоративной сетью и Интернетом [9, 66]. В главном компьютере используются две отдельные сетевые платы для соединения с каждой сетью. Двусторонний главный брандмауэр работает, используя набор серверов-посредников уровня приложений или уровня соединения. Будучи двусторонним (соединенным с двумя сетями), главный компьютер брандмауэра видит пакеты в обеих сетях, т. е. брандмауэр использует программное обеспечение сервера-посредника для контроля передачи данных между двумя сетями — будь это две локальные сети или локальная сеть и Интернет.
Используя двусторонний главный брандмауэр, необходимо блокировать возможности маршрутизации компьютера, чтобы он не смог осуществлять соединение сетей с помощью программного обеспечения. С отключением маршрутизации данные должны будут проходить через заслонку — уровень приложений (имеется в виду, что он находится на верху стека протоколов), и этот путь является единственным между сетями или сетевыми сегментами. Сетевые сегменты — это любые части сети, которые являются в некоторой степени независимыми и замкнутыми. Например, можно разделить сеть в организации на сегмент продаж и сегмент реализации и разделить эти два сегмента с помощью маршрутизатора или брандмауэра.
Однако, если разрешить открытую стандартную внутреннюю маршрутизацию на главном компьютере, брандмауэр становится бесполезным. Например, если установить внутреннюю маршрутизацию так, чтобы она разрешала пересылку IP, данные будут свободно обходить уровень приложений двустороннего главного брандмауэра. Сети, работающие на основе Unix, особенно восприимчивы ко всем уязвимым местам брандмауэров сдвоенного хоста. Некоторые из версий Unix (особенно Berkeley Unix) включают функции маршрутизации по умолчанию. Поэтому при работе в сетях на базе Unix следует убедиться в том, что операционная система отключила все функции маршрутизации в брандмауэре сдвоенного хоста. Если это не так, следуем перестроить ядро Unix в компьютере-брандмауэре, чтобы операционная система отключила эти функции. Поэтому один из недостатков этой конфигурации в том, что можно просто по неосторожности разрешить доступ к внутренней сети, случайно включив средства маршрутизации и создав тем самым брешь в системе защиты брандмауэра.
Фильтрующий главный брандмауэр может обеспечивать более высокую степень безопасности, чем двусторонний [9, 66]. Добавляя маршрутизатор и помещая этим главный компьютер вне доступа из Интернета (т. е. хост не связан непосредственно с Интернет), можно получить очень эффективный и простой в работе брандмауэр. Экранирующий маршрутизатор соединяет Интернет с корпоративной сетью и одновременно фильтрует проходящие через него пакеты всех типов. Необходимо сконфигурировать экранирующий маршрутизатор таким образом, чтобы ему был «виден» только один главный компьютер сети — хост. Пользователи корпоративной сети, желающие соединиться с Интернетом, будут вынуждены проходить через сервер (главный компьютер). Таким образом, для внутренних пользователей имеется прямой доступ в Интернет, в то время как сервер будет ограничивать доступ внешних пользователей в корпоративную сеть.
Архитектура фильтрующего брандмауэра подсети еще более изолирует корпоративную сеть от Интернета, включая между ними промежуточную периферийную сеть [9, 66]. В фильтрующем брандмауэре подсети главный компьютер помещается на этой периферийной сети, к которой пользователи имеют доступ через два отдельных маршрутизатора. При конструировании фильтрующего брандмауэра подсети сервер-посредник помещается в сеть, состоящую из двух экранирующих маршрутизаторов. Один из маршрутизаторов контролирует трафик (передачу данных) по корпоративной сети, а второй — входящие и выходящие из Интернет сообщения.
Фильтрующий брандмауэр подсети обеспечивает наиболее эффективную защиту от возможных атак через Интернет. Он изолирует сервер (главный компьютер) в отдельной сети, что уменьшает вероятность успешных атак на главный компьютер и сводит к минимуму возможный ущерб, который может быть нанесен внутренней сети. В дополнение к этому маршрутизатор, находящийся в локальной сети, обеспечивает защиту от внутреннего доступа к серверу.
Для эффективного использования брандмауэра операционная система должна иметь как минимум уровень зашиты С2. Это существенно уменьшит возможности атак на систему. Не выполняя элементарных правил обеспечения безопасности работы в сети, нельзя определить, когда хакер взломал систему. Помните, что процедура к входа в систему, инициируемая сервером-посредником для протоколов TCP/IP, действительна только для событий TCP/IP. Несмотря на то что с помощью отслеживания таких событий можно определить атакующего, поддержка аудита действий на уровне операционной системы (например, попытка скопировать файл с паролями системы) более существенна. Особенно это касается атак на брандмауэры.
Ограничения брандмауэра
Многие организации используют дорогие и мощные брандмауэры для зашиты от атак извне. В то же время у многих из них нет нормальной политики зашиты данных от воровства или разрушения информации, происходящего при прямом соединении с их системами. Если просто установить брандмауэр в сети, он не защитит от незаконного доступа к информации. Брандмауэр в этом случае В не предотвратит воровства, независимо от того, исходит ли оно от настоящего пользователя или от кого-то, кто пользуется паролем зарегистрированного пользователя. У брандмауэров существует ряд ограничений на уровень зашиты [66]:
— обеспечение целостности данных. Хотя большинство брандмауэров нового поколения предоставляют программное обеспечение
(ПО),обеспечивающее защиту от вирусов , проникающих с входящими пакетами, это не является сильной стороной брандмауэров. В больших сетях, где количество входящих и выходящих пакетов велико, обращение к брандмауэру для проверки каждого пакета (и каждого файла в двоичном коде, связанного с пакетом) на более чем тысячу известных типов вирусов может сильно замедлить работу сети. Вместо этого можно выделить ограниченный участок, на который будут первоначально
поступать все входящие файлы. Затем они будут в фоновом режиме проверяться на наличие вирусов. После проверки чистые файлы можно направлять по месту их назначения;
— идентификация источников данных. Брандмауэр не сможет помочь в вопросе определения подлинности источника данных. Он не исправит одну из наиболее характерных слабостей TCP/ IP в вопросах безопасности — пользователь, работая на незарегистрированном компьютере, может создать сообщение,
выдавая себя за кого-либо другого. Таким образом, брандмауэр не предоставляет никаких средств защиты от атак подмены;
— конфиденциальность данных. Брандмауэр не сможет обеспечить конфиденциальность данных при работе во внешних сетях. Большинство брандмауэров последнего поколения предоставляют средства шифрования для исходящих пакетов, но при использовании этих средств брандмауэры получателя и отправителя должны быть одинаковыми, что конечно же не всегда выполняется.
Применяя межсетевые экраны, целесообразно использовать и возможности защиты, предоставляемые системным программным обеспечением. В частности, целесообразно использовать следующие технологии и методы защиты:
— разграничение доступа (применяя возможности файловой системы NTFS);
— правильная бюджетная и парольная политика;
— углубленная идентификация и аутентификация;
— аудит, контроль и защита средствами NT-подобных операционных систем;
— правильно сконфигурированное программное обеспечение.
Криптография
Защита передаваемых данных при помощи шифрования
Сообщения электронной почты (и многие другие данные TCP/ IP) передаются по Интернету в форме пакетов. При такой передаче информации по сети прежде, чем попасть к получателю, ваше сообщение проходит через некоторое количество компьютеров. В этом случае отравитель пакета подвергается огромному риску — его пакет может быть перехвачен и использован посторонними людьми. При этом любой из них может прочитать информацию, содержащуюся в электронной «открытке».
Предположим, необходимо послать при помощи Интернета конфиденциальное сообщение, которое подразумевает, что никто, кроме получателя, не должен его прочитать. Для этого необходимо воспользоваться шифрованием информации, или кодированием. В этом случае вся отправляемая информация передается по сети в зашифрованном виде, а конфиденциальное сообщение превращается в малопонятный набор символов. Чтобы прочитать (расшифровать) такое сообщение, необходима специальная программа и ключ шифрования. Поэтому никто не сможет прочитать переданного вами сообщения (за исключением, разумеется, человека, которому оно предназначалось). Во время шифрования текст документа превращается набор чисел, который сможет расшифровать только тот, у кого есть ключ для этого.
Поэтому актуальность решения вопросов информационной безопасности и защиты информации при помощи криптографических методов с течением времени становится все более очевидной. Криптография, ранее являвшаяся стратегической технологией, теперь благодаря быстрому развитию корпоративных сетей и Интернета проникла в широкие сферы деятельности и стала применяться большим количеством пользователей.
Технология криптографии и протоколы шифрования данных специально созданы для применения в условиях, когда принимающая и передающая стороны не уверены в том, что переданная информация не будет перехвачена третьей стороной. Конфиденциальность переданной информации будет обеспечена, так как хотя она и перехвачена, но без расшифровки использовать ее невозможно.
Рассмотрим основные понятия шифрования, применяемые для защиты данных при их передаче в корпоративных сетях, в электронных и цифровых платежных системах Интернета.
1. Шифрование закрытым (единым) ключом [9, 66]. Шифрование по какому-либо алгоритму означает преобразование исходного сообщения в зашифрованное. Это подразумевает создание секретного ключа-пароля, без которого невозможно раскодировать сообщение. Такой ключ должен быть засекречен, иначе сообщение легко будет прочитано нежелательными лицами.
В обычной системе шифрования с единым ключом и отправитель, и получатель используют один и тот же (единый) ключ для кодирования и декодирования информации. Таким образом, отправитель должен передать ключ получателю до пересылки закодированной информации. Для этого необходимо воспользоваться особыми (безопасными) каналами. Например, для кодирования сообщения можно сдвинуть все символы алфавита (включая и пробел, стоящий после символа 2) на три буквы вправо. При этом слово DOG превратится bGRJ. Для того чтобы расшифровать это сообщение, получатель должен сместить все буквы алфавита на три позиции влево (слово GRJснова превратится в DOG).
Наиболее известные и применяемые в США и Европе криптографические алгоритмы шифрования данных закрытым ключом — DES, IDEA, RC2-RC5, PGP for Windows.
Основным недостатком использования схемы с единым ключом в Интернет является то, что для нормальной работы необходимо, чтобы ключ был известен обеим сторонам до начала пересылки информации. Кроме того, при этой схеме приходится использовать разные ключи для различных получателей. Только так можно гарантировать, что информация будет прочитана одним, а не всеми получателями сразу.
Очевидно, что в методе шифрования с единым ключом зачастую приходится использовать огромное количество ключей. Кроме того, если у вас есть безопасный канал (необходимый для пересылки ключа), то можно просто пересылать данные по нему. В настоящее время разработаны новые методы кодирования информации, при помощи которых можно избежать всех этих проблем. Эти методы известны под названием шифрование с открытым ключом.
2. Шифрование открытым ключом [9, 66]. В настоящее время более широко распространен метод шифрования с открытым ключом. Шифрование сообщения открытым ключом подразумевает создание двух связанных друг с другом ключей — открытого и закрытого. Кодирующая и декодирующая стороны используют абсолютно разные (но связанные друг с другом) ключи. С помощью открытого ключа можно зашифровать сообщение, но расшифровать его возможно, только применяя закрытый ключ. Один из них — открытый — можно спокойно передавать партнерам по бизнесу, своим конкурентам и другим получателям сообщений. Свободно распространяя открытый ключ, вы даете возможность шифровать и посылать вам шифрованные сообщения, которые кроме вас никто расшифровать не сможет. Второй — личный — ключ должен храниться в безопасном месте (например, на компьютере), так чтобы его никто не смог узнать. Каждый из ключей декодирует сообщение, создаваемое при помощи другого ключа.
Для осуществления двусторонней коммуникации стороны создают каждая свою пару ключей и затем обмениваются открытыми ключами. Передаваемые сообщения шифруются каждой стороной с применением открытых ключей партнера, а расшифровка производится при использовании своих собственных закрытых ключей. Другими
словами, при помощи системы шифрования с открытым ключом можно поместить свой открытый ключ в Интернет или переслать его по обычной электронной почте. После этого можно использовать этот ключ для кодирования сообщений. Расшифровать такое сообщение может только один человек — получатель. Другой человек не сможет расшифровать его, если нет соответствующего ключа. Если же получатель захочет ответить вам, он должен закодировать сообщение при помощи вашего открытого ключа. Зашифрованное таким образом сообщение сможете расшифровать только вы сами.
Метод открытого ключа избавляет пользователей от основного недостатка метода с единым ключом: пересылки по безопасным каналам связи ключа для расшифровки текста.
После создания открытого и личного ключей (при помощи PGP или какой-нибудь другой программы) они помещаются на компьютере пользователя. Большинство программ создают открытый и личный ключи во время установки. После этого они обычно предлагают сохранить копии ключей на флоппи-диске или любом другом носителе информации.
Никому не показывайте свой личный ключ. Только так можно защитить сообщения от взлома. Дело в том, что, не зная личного ключа получателя, практически невозможно расшифровать передаваемое сообщение. Если же личный ключ станет известен хакеру, он легко сможет расшифровать любое ваше послание. Более того, обладая личным ключом, хакер может подписывать сообщения так, как будто он — это отправитель сообщения.
Наоборот, свой открытый ключ можно (и нужно) поместить на наиболее известные кольца открытых ключей. Если кто-нибудь получит ваше письмо по электронной почте или захочет послать вам зашифрованное сообщение, то этому человеку понадобится ваш открытый ключ. Поэтому, как правило, лучше помещать открытый ключ в таком месте, где он будет доступен всем.
Если кодирование сообщений используется только в пределах организации, то необходимо избегать размещения открытого ключа на общедоступном сервере. Целесообразнее поместить его на сервере корпорации или отправлять при помощи электронной почты.
Основные алгоритмы кодирования с открытым ключом были открыты двумя группами исследователей: Ривестом, Шамиром и Эдл-маном, а также Диффи и Хеллманом.
Алгоритм шифрования с открытым ключом RSA [66]. Как и любой другой алгоритм шифрования, RSA — это набор математических формул. Каждый раз, когда зашифровываете сообщение, компьютер производит (при помощи этих формул) некоторые вычисления над полученными данными и выдает зашифрованный текст. Этот набор вычислений обычно называют алгоритмом шифрования.
Существует огромная разница между математическим алгоритмом и реализующей его программой. Алгоритм R.SA был создан Ривестом, Шамиром и Эдлманом. Сущность этого алгоритма в следующем: во-первых, компьютер должен сгенерировать (случайно) большое простое число — открытый ключ. После этого при помощи некоторых математических операций вычисляется второе число личный ключ. Полученные таким образом ключи используются для дальнейшего кодирования и декодирования текста.
Далее приводятся четыре основные принципа алгоритма RSA.
1.Расшифровка зашифрованной формы сообщения должна давать в результате первоначальный текст. Этот принцип можно записать в следующей форме:
D(E(M)) = M,
где D — это функция декодирования;
Е— функция кодирования;
М— исходный текст сообщения.
2. Е и D должны достаточно легко вычисляться.
3. Предоставление доступа к значению Е никоим образом не упрощает процесс вычисления (взлома) D. Таким образом, зашифрованное при помощи Е сообщение может расшифровать только человек, обладающий значением D.
4. Применение процедуры расшифровки к сообщению М и последующее применение процедуры шифрования должно привести к первоначальному значению. Этот принцип можно записать в следующей форме:
E(D{M))<=M.
Ривест, Шамир и Эдлман доказали, что использование третьего принципа приводит к тому, что для взлома зашифрованного сообщения необходимо перебирать все возможные значения до тех пор, пока не будет найдено значение, удовлетворяющее требованию Е(М) = D. Задача кажется достаточно легкой при использовании десяти- и даже двадцатиразрядных (в десятичном представлении) чисел. Однако в схемах RSA обычно используются числа, содержащие вплоть до 512 разрядов для открытого ключа (Е) и 154 разрядов для личного ключа (D). Кроме того, оба этих числа должны быть простыми. На вычисление этих чисел затрачивается огромное количество компьютерного времени. К настоящему моменту никто так и не смог взломать при помощи прямых вычислений 512-разрядный ключ.
Функция, удовлетворяющая критериям 1—3, называется однонаправленной функцией с потайным ходом. Однонаправленной она называется потому, что ее можно вычислять только в одном направлении (кодировать) и практически нельзя в обратном. Словосочетание «с потайным ходом» означает то, что обратная функция легко вычисляется при помощи некоторой дополнительной информации (личного ключа).
Для понимания алгоритма RSA не требуется глубокого знания математики. Для его реализации необходимо выполнить все перечисленные выше условия и создать программу, производящую все необходимые действия для правильного кодирования файла. Ключ для кодирования (обозначим его Е) содержит в себе константу п, которая задает предельную длину кодируемого блока (т. е. сколько байт данных может содержаться в одном блоке). Процесс кодирования заключается в следующем [66]:
1. Программа, реализующая алгоритм RSA, преобразует текст в некоторое целое число, расположенное в интервале от 0 до (я - 1). Метод преобразования зависит от каждой конкретной программы. Если текст настолько велик, что не может быть адекватно представлен значением меньше, чем (п - 1), то его разбивают на несколько блоков, каждый из которых может быть представлен целым числом, лежащим между 0 и (л — 1).
2. После этого программа возводит полученные целые значения в степень Е (т. е. используется формула блокЕ). Результат этой операции делится на п, а в качестве закодированного сообщения используется остаток от деления. Давайте обозначим закодированный таким образом текст буквой С.
3. Чтобы декодировать документ С, нужно возвести его в степень D, а затем взять остаток от деления на число п. Полученные целые значения нужно преобразовать в текст по правилу, обратному тому, что использовалось на первом этапе кодирования.
Таким образом, пользователь предоставляет общественности ключ для кодирования (Е, п), или открытый ключ, и хранит у себя ключ для декодирования (D, п) ~ личный ключ.
Используемые в этом алгоритме математические формулы следующие [66].
1. Найдите два очень больших простых числа р и q.
2. Найдите число п (открытый модуль) такое, что n=pxq.B 256-битной системе шифрования п содержит 300 и более разрядов.
3. Выберите число Е (открытый показатель степени) < п и являлось простым.
4. Вычислите число D (личный показатель степени) так, чтобы
ExD=1mod((p-l)x(q- 1)).
Открытый ключ — это величина (Е, п), а личным ключом является величина (D, и). Пользователь никому не должен сообщать значения чисел р и q (лучше всего уничтожить их). PGP и многие другие программы кодирования с открытым ключом хранят эти числа, для того чтобы ускорить процесс шифрования информации. Однако сами эти значения хранятся в зашифрованном файле и не могут быть прочитаны обычным методом.
3. Алгоритм открытого распределения ключей [9,66]. Другой вариант с открытыми ключами — алгоритм открытого распределения ключей (алгоритм Диффи—Хеллмана38) позволяет сформировать один общий секретный ключ для шифрования данных без передачи его по каналу связи. Этот алгоритм также основан на использовании пары ключей (открытый/ закрытый) и формируется следующим образом:
— обе стороны создают свои пары ключей;
— после этого они обмениваются открытыми ключами;
— из комбинации двух ключей — свой (закрытый) и чужой (открытый), — применяя данный алгоритм, генерируется одинаковый и единственный для двух сторон закрытый (секретный) ключ;
— после этого сообщения шифруются и расшифровываются единственным закрытым ключом.
У. Диффи и М.Е. Хеллман в 1976 г. положили начало новому поколению систем шифрования, введя понятие кодирования с открытым ключом. С его помощью пользователи могут пересылать ключи по электронной почте. В работе [67] Диффи и Хеллман привели простейший пример системы кодирования с открытым ключом, известной в настоящее время под названием обмена ключей Диффи— Хеллмана. Позже, в 1978 г., Ривест, Шамир и Эдлман создали более завершенный вариант подобной системы шифрования, которая и легла в основу алгоритма RSA. С помощью системы RSA можно как распространять ключи, так и создавать цифровые подписи документов. Можно применять этот алгоритм и для шифрования сообщений, однако он работает гораздо медленнее обычных алгоритмов.
Приведенный Диффи и Хеллманом пример системы кодирования содержит элементы завершенной системы шифрования с открытым ключом, открытой доктором Эль Гамалем. Кроме того, Эль Гамаль добавил возможность создания цифровых подписей. National Institute of Standards and Technology (NIST) — Национальный институт стандартов и технологий в 1994 г. принял стандарт DSS (Digital Signature Standard — стандарт цифровых подписей), основанный на модернизированном варианте цифровой подписи Эль Гамаля. Таким образом, совместное использование обмена ключей Диффи— Хеллмана и цифровой подписи Эль Гамаля (в форме стандарта DSS) предоставляет те же возможности, что и обычный алгоритм RSA.
Диффи и Хеллман предположили, что если использовать для кодирования информации большое простое число, то с его помощью можно получить другое простое число (тоже очень большое), которое позволяет декодировать информацию, зашифрованную при помощи первого числа. Формула Диффи—Хеллмана — это базовое уравнение для модулярных методов кодирования.
С помощью протокола соглашений о ключах Диффи—Хеллмана две обменивающиеся данными стороны (А и В) могут передавать конфиденциальную информацию при помощи открытых каналов. Для этого они должны договориться о ключе — личном (дли писем) или едином (для общения в реальном масштабе времени). Допустим, что кто-то (например, С) хочет подслушать их беседу. Но он не сможет этого сделать потому, что ему неизвестно данное соглашение. В протоколе соглашений о ключах Диффи— Хеллмана используется простое число р — первичный модуль и генератор. Работу системы кодирования можно представить в следующем виде [66]:
А: Выбирает х1 и посылает В сигнал ух = аХ1 тоd р.
В: Выбирает х2 и посылает А сигнал у,=аХ2 mod p.
А: Вычисляет ключ (у2)X1 mod р = ах mod p.
В: Вычисляет ключ (у,) X2mod р = аХ1Х2 mod p.
С, который видит только сигналы y1 и у2, для расшифровки сообщения должен решить один из вариантов уравнения Диффи—Хеллмана с начальными данными (У1,У2). Без значений а, р,х1: или х2 он никогда не сможет решить это уравнение (и соответственно расшифровать данные).
Проще всего понять алгоритм Диффи—Хеллмана, считая, что он полностью эквивалентен (с точки зрения математики) алгоритму RSA; при этом не стоит забывать, что алгоритмы реализуются совсем по-разному.
Устойчивость алгоритма кодирования определяется тем, какое количество времени потребуется на то, чтобы расшифровать закодированное с его помощью сообщение. При этом подразумевается, что для расшифровки используется только известный всем открытый ключ. Вся мощь RSA заключается в том, что до сих пор не найдено способов разложить число на простые сомножители. В то же время алгоритм Диффи—Хеллмана построен на сложности вычисления дискретных логарифмов в ограниченном поле, генерируемом при помощи простого числа.
Оба этих алгоритма шифрования относятся к «трудноразрешимым» математическим проблемам. Математики считают проблему дискретных алгоритмов более сложной, чем вычисление простых множителей. Однако на данном этапе развития вычислительной техники обе проблемы требуют для своего решения невероятно огромного (нереального) количества времени.
Если рассматривать проблему взламывания алгоритмов с прикладной точки зрения, то оба алгоритма приблизительно одинаковы по сложности. В зависимости от конкретных обстоятельств, один метод может превосходить другой, однако при теперешней мощности процессоров эти различия практически незаметны для чисел длиной от 512 до 1024 бит. Но при большей длине ключа алгоритм Диффи—Хеллмана обладает большей стойкостью к взлому. И RSA, и алгоритм Диффи—Хеллмана, несмотря на то что их алгоритмы построены на абсолютно различных математических принципах, с практической точки зрения обладают почти одинаковой достаточно высокой устойчивостью к взлому при помощи «грубой силы» (т. е. к прямому декодированию с использованием мощных компьютеров). Дело в том, что количество возможных комбинаций ключей приближается к бесконечности.
Однако все сказанное выше отнюдь не говорит, что эти методы шифрования не будут взломаны в будущем (особенно учитывая быстрый рост производительности компьютеров). Существует вероятность, что новые открытия в теории чисел помогут найти зависящий от времени полиномиальный алгоритм, способный поставить под угрозу весь алгоритм RSA. Уже сейчас хакеры могут приблизительно вывести диапазон чисел, в котором находится значение ключа. Для этого им достаточно знать время, затрачиваемое на кодирование передаваемого сообщения. Иными словами, не существует абсолютных методов шифрования, следовательно, ни один из них не может гарантировать полную безопасность передаваемых сообщений. Вся мощь алгоритма RSA основана только на сложности разложения числа на простые множители.
Кодирование с открытым ключом — достаточно сложный процесс, включающий в себя огромное количество операций умножения и деления больших чисел. Поэтому алгоритмы с открытым ключом требуют для своей работы огромного количества времени — гораздо большего, чем в случае алгоритма с единым ключом. Повысить скорость кодирования можно, используя следующие операции [66].
1. Для кодирования сообщения необходимо воспользоваться высококачественным и быстрым алгоритмом кодирования с единым ключом. Полученный ключ назовем одноразовым ключом.
2. Необходимо закодировать одноразовый ключ при помощи открытого ключа получателя. Закодированный одноразовый ключ пересылается адресату вместе с зашифрованным с его помощью текстом (такой текс»часто называют шифровкой).
3. Получатель расшифровывает полученный одноразовый ключ при помощи своего личного ключа.
4. После этого адресат быстро расшифровывает послание при помощи полученного одноразового ключа.
В программных продуктах для шифрования с открытым ключом для работы с ключами используется идентификатор ключа (key ID). Идентификатор ключа — это крайние (расположенные в конце числа) соответствующего п-го (например, 64-го) разряда открытого ключа. Если документ или ссылка отображает открытый идентификатор (на сервере ключей, как добавку к зашифрованному файлу или как часть цифровой подписи), то этот идентификатор будет представлен только последними 32 битами. Многие ключи обладают одинаковыми пользовательскими идентификаторами (у пользователя может быть столько ключей, сколько он захочет), однако не существует двух ключей с одинаковыми идентификаторами.
При работе с инструментами шифрования с открытым ключом отправитель должен поместить в начале документа сертификат подписи, содержащий идентификатор ключа, использованного для шифрования. Затем следует профиль документа, а также дата и время создания подписи. Таким образом, получатель может отыскать при помощи идентификатора расположенный в Интернет открытый ключ отправителя и проверить цифровую подпись.
Программы шифрования размещают в начале закодированного файла идентификатор ключа, использованного дли шифрования последующей информации. При помощи этого идентификатора получатель может найти секретный ключ, необходимый для расшифровки информации. Программное обеспечение автоматически проведет поиск необходимого ключа. Для этого оно обратится к кольцу секретных ключей получателя.
Кольца ключей [66] — это базы данных, содержащие сертификаты открытых или личных ключей различных пользователей.
Кольца открытых и секретных ключей — это основные способы хранения ключей и управления ими. Вместо того чтобы держать индивидуальные ключи в различных файлах, они все вместе собраны на кольцах ключей. Благодаря этому возможен автоматический поиск ключей при помощи идентификатора ключа или идентификатора пользователя. Каждый пользователь содержит пару колец ключей. Индивидуальный открытый ключ временно хранится в отдельном файж. Если поместить свой открытый ключ на одно из таких колец, то он будет помещен в отдельный сертификат ключа, который содержит имя владельца, время и дату создания ключа, а также сам ключ.
Некоторые программы шифрования самостоятельно создают сертификаты личных ключей. Подобный сертификат содержит данные о личном ключе пользователя и хранится на его компьютере. Например, во время генерации пары ключей при помощи PGP программа создаст в своем каталоге два файла: pubring.skr и secring. skr. Кроме того, PGP предложит пользователю сохранить копии этих файлов также и вне компьютера. В файле pubring.skr находится сертификат открытого ключа. Этот файл можно оставлять в любом сайте Интернет. В файле secring.skr содержится сертификат личного ключа; этот файл нужно тщательно оберегать от посторонних.
Как и PGP, множество программ шифрования генерируют вместе с открытым ключом и его сертификат. Всякий раз, когда пользователь помещает подобный сертификат в кольце открытых ключей, программа автоматически передает его от имени пользователя.
Кольца открытых ключей хранят сертификаты открытых ключей, а в кольцах секретных ключей содержатся личные ключи. Отдельные лица и целые компании помешают кольца открытых ключей на различные серверы. Можно загрузить любой из них себе в компьютер и использовать его для шифрования данных (разумеется, при помощи программы PGP,), отправляемых владельцу ключа.
Процесс поиска ключа в кольцах является достаточно простым. Большая часть колец обеспечивает поиск ключа при помощи имени владельца или идентификатора ключа. В результате каждого из этих способов поиска пользователю предоставляется список всех ключей, расположенных на сервере. Найдя нужный ключ, пользователь может при помощи PGP добавить его к своему личному кольцу ключей. После этого он может использовать новый ключ для шифрования сообщений, отправляемых владельцу ключа, а также для проверки цифровых подписей документов.
PGP и другие программы шифрования с открытым ключом относятся к категории Privacy Enhanced Mail (РЕМ) — набору процедур идентификации и шифрования сообщений. Он разработан группами PSRG (Privacy and Security Research Group) — одним из подразделений IRTF (Интернет Research Task Force) — и РЕМ WG (Privacy-Enhanced Electronic Mail Working Group) — подразделением IETF (Internet Engineering Task Force). Стандарты РЕМ отображены в RFC (Request for 1 Comments) 1421, 1422, 1423 и 1424. Стандарты РЕМ позволяют пользователям работать с различными методами шифрования, предоставляющими конфиденциальность, идентификацию и проверку целостности передаваемой информации. Целостность передаваемой информации (согласно стандарту РЕМ) позволяет пользователям проверить ее неизменность с момента отправки, т. е. пользователю предоставляется возможность удостовериться в том, что никто не изменял текст передаваемого сообщения в процессе его транспортировки. Идентификация отправителя помогает установить авторство РЕМ-сообщения. Конфиденциальность сообщения подразумевает секретность информации, т. е. она не должна быть известна никому, кроме получателя.
Схема идентификации РЕМ определена в документе RFC 1422, «Privacy Enhancement for Интернет Electronic Mail. Part II: Certificate-Based Key Management». Эта схема предусматривает основные концепции иерархической идентификации. В их основе лежат сертификаты, в которых содержится описание используемого алгоритма цифровых подписей, четко определенное имя (distinguished name) объекта, имя создателя сертификата, период его действия, а также открытый ключ и создавший его алгоритм. Подобный иерархический подход к сертификатам позволяет пользователю удостовериться, что полученный сертификат принадлежит именно тому человеку, чье имя стоит в сертификате. Эта схема сильно усложняет подделку сертификатов — среди пользователей найдется не так уж много желающих воспользоваться сертификатом с неизвестным создателем.
Для реализации конфиденциальности сообщений в РЕМ используются стандартизированные алгоритмы шифрования. RFC 1423, «Privacy Enhancement for Интернет Electronic Mail, Part III: Algorithms, Modes, and Identifiers» описывает используемые для кодирования РЕМ-сообщений алгоритмы шифрования с единым ключом и алгоритмы шифрования с открытым ключом. Основным алгоритмом шифрования является алгоритм DES (Data Encryption Standard) в режиме СВС (Cipher Block Chaining). В RFC 1423 указано, что DES является стандартом как для ЕСВ (Electronic Block Book), так и для режима EDE (Encrypt-Decrypt-Encrypt). В РЕМ используется алгоритм RSA.
4. Алгоритмы профиля сообщения [66]. Для обеспечения целостности данных в РЕМ реализована концепция, известная под названием профиля сообщения.
Профиль сообщения [66] — это зашифрованная посредством однонаправленной функции смешивания данных контрольная сумма.
Такая функция входит в состав любого зашифрованного при помощи PGP сообщения. Однонаправленная функция смешивания данных получила такое название потому, что нельзя подучить исходные данные, основываясь на тех данных, которые получены в результате ее действия. Функция смешивания профиля сообщения использует расположенную в некотором файле информацию в качестве исходных данных для однонаправленной функции смешивания данных. В результате этого получается некоторое смешанное значение. Если кто-либо изменит файл, то вместе с ним изменится и смешанное значение. Получатель документа может легко обнаружить постороннее вмешательство, сравнив исходное смешанное значение с новым. Если переданный и полученный профили совпадают, пользователь имеет все основания считать, что полученное сообщение не было изменено во время передачи. Выбор пал на профили сообщений потому, что их можно достаточно быстро вычислить на компьютере, однако практически невозможно взломать постороннему человеку — очень сложно получить два различных сообщения, обладающих одинаковыми профилями.
Профиль сообщения очень похож на контрольную сумму или CRC40. При помощи профиля сообщения можно зафиксировать изменения сообщения. Однако, в отличие от CRC, профиль сообщения практически не поддается взлому. Другими словами, невозможно создать другое сообщение (отличное от исходного), которое будет обладать таким же профилем. Для большей безопасности профиль сообщения шифруется при помощи секретного ключа — полученное значение и есть цифровая подпись документа.
Наиболее распространенными формами профилей в режимах управления симметричным и асимметричным ключом являются схемы RSA-MD2 и RSA-MD5. Существенно, что оба алгоритма используют «сообщения» с заранее установленной длиной. В качестве такого сообщения может выступать любой файл или документ. Результатом действия алгоритма является некоторое 16-байтное значение. После этого (согласно РЕМ) оно зашифровывается при помощи любого современного метода управления ключами. Получатель подобного сообщения может использовать его для вычисления нового значения профиля.
5. Uuencode и SMTP [66]. Для пересылки электронной почты по Интернету пользователи наиболее часто используют протокол SMTP (Simple Mail Transfer Protocol). Это достаточно эффективный протокол, однако с его помощью нельзя передавать зашифрованные сообщения — ведь они по сути представляют собой двоичные данные, а не текст. Таким образом, для передачи шифровок придется «превратить» их в текст.
Наиболее распространенным и простым в использовании инструментом для кодирования двоичных данных в виде текста является утилита под названием uuencode — она входит в состав большинства пакетов электронной почты. С ее помощью отправитель может закодировать свое сообщение, а получатель — расшифровать его. После этого он должен преобразовать полученную шифровку в обычный файл при помощи своего личного ключа. Двойное кодирование исходных данных только повышает их стойкость к взлому и тем самым увеличивает эффективность всего метода в целом. Однако налицо и явный недостаток этого метода — он отнимает достаточно много времени.
6. Microsoft CryptoAPI [66]. CryptoAPI — это интерфейс прикладного программирования, при помощи которого можно добавить функции шифрования к любой программе. В CryptoAPI, как и в PGP, используются базы данных с ключами: к исходным данным применяется набор ключей, затем полученное зашифрованное сообщение сохраняется (или пересылается). В CryptoAPI имеется три основных набора функций: функции сертификата, упрощенные функции шифрования и базовые функции шифрования. Для их реализации необходимо воспользоваться моделью, показанной на рис. 4.12 [66].
Упрощенные функции шифрования включают в себя функции высокого уровня, с помощью которых можно создавать и использовать ключи, а также зашифровывать и расшифровывать информацию. Функции сертификата предоставляют возможность распаковывать, хранить и сверять помещаемые в документы сертификаты, а также работать с расположенными в компьютере сертификатами. На нижнем уровне располагаются базовые функции шифрования. Следует избегать работы с ними для предотвращения конфликта программы с не установленными поставщиками услуг шифрования (CSP — Cryptographic Service Providers), необходимости использования определенного CSP и т. д.
Прежде чем создать приложение для шифрования, необходимо разработать подобную базу данных ключей, необходимую для работы с CryptoAPI. Для работы с CryptoAPI необходимо вызывать функции этого интерфейса из программ, написанных на С или C++. Базовые" функции CryptoAPI подразделяются на четыре основные категории: CSP, ключи, объекты смешивания и подписи.
7. Шифрование с помощью эллиптических кривых [66]. Как известно, все современные методы шифрования построены на базе взятия по модулю (использование остатка от целочисленного деления), подробно обсуждавшегося в предыдущих частях этой главы. Однако в середине 1980-х гг. появился мощный алгоритм шифрования — эллиптические кривые. Это обширные математические структуры, сделавшие неоценимый вклад в некоторых приложениях, включая анализ простых чисел (т. е. определения, является ли число простым) и разбиение чисел на множители. Одним из возможных применений эллиптических кривых являются системы шифрования с открытым ключом. Эллиптические кривые могут привести к открытию новых разновидностей современных систем шифрования, которые основаны на какой-либо сложной математической проблеме. Рассмотрим различия между системами шифрования, основанных на эллиптических кривых (ЕСС — Elliptic-Curve Cryptography), и обычными системами (основанными на операции взятия по модулю).
Новые системы шифрования являются аналогами уже существующих. Оказывается, что можно достаточно просто перенести все наработки современных систем шифрования на новые алгоритмы. Существует возможность определить системы шифрования с открытым ключом, являющиеся аналогом систем, основанных на проблеме дискретных логарифмов. Подобные аналоги условно подразделяют на два класса. Первый класс основан на ограниченном поле с нечетными математическими характеристиками (обычно это большие простые числа), а второй — на поле с математически четными характеристиками. На первый взгляд все это кажется лишь техническими различиями, но на самом деле выбор поля может повлиять как на безопасность, так и на эффективность системы шифрования. Это различие очень напоминает то, которое встречается в системах с дискретными логарифмами.
Проблемы нахождения простых сомножителей и дискретных логарифмов над полем простых чисел приблизительно одинаковы по сложности. Поэтому можно попытаться приспособить методы решения одной проблемы для решения другой. Действительно, существуют построенные на эллиптических кривых аналоги алгоритма RSA. Однако все они представляют собой только академический интерес, так как не обладают преимуществами по отношению к этому алгоритму. Эти аналоги построены на той же проблеме, что и сам алгоритм RSA, — на проблеме разложения на множители.
Совсем другими возможностями обладают аналоги систем шифрования, основанных на дискретных логарифмах. Безопасность подобных аналогов основывается на новом определении проблемы дискретных логарифмов по отношению к эллиптическим кривым. Новое определение проблемы построено так, что созданные к настоящему моменту алгоритмы решения проблемы обычных дискретных логарифмов (они называются субэкспоненциальным временем) ни в коей мере не упрощают решение подобной проблемы для эллиптических кривых. Наоборот, для нахождения дискретных логарифмов на эллиптических кривых подходят более общие методы, известные под названием экспоненциального времени.
На функциональном уровне механизмы шифрования или создания цифровых подписей могут быть разработаны так, чтобы они зависели только от одной из трех рассмотренных выше проблем — разбиения целого числа на простые множители, обычных дискретных логарифмов и дискретных логарифмов на эллиптических кривых.
При обсуждении какой-либо проблемы в качестве показателя ее сложности мы использовали понятие «трудность взлома». Для систем с открытым ключом сложность решения проблемы напрямую связана с числом п — длиной ключа. Для систем шифрования на эллиптических кривых показателем сложности является число N— количество точек в открытой группе, используемой для вычислений. Однако для упрощения рассуждений будем считать, что количество точек в этой группе равняется размеру базового поля.
Проблема дискретных логарифмов на эллиптических кривых достаточно сложна. Основанные на этой проблеме программы шифрования могут использовать несколько алгоритмов, время вычисления которых пропорционально квадратному корню из N.
Считается, что системы шифровании на эллиптических кривых, использующие 160-битные поля СД2160), обеспечивают такую же устойчивость к взлому, как и 1024-битные ключи RSA. Таким образом, эти системы позволяют использовать более короткие ключи, чем в алгоритме RSA, а это может сильно повлиять на устойчивость и производительность систем шифрования в целом.
Те же расчеты показывают, что системы шифрования на эллиптических кривых над 136-битным полем GF(2m) обеспечивают приблизительно такую же устойчивость к взлому, как и 768-битные ключи RSA.
Математические принципы ЕСС отличны от алгоритмов R.SA иДиффи—Хеллмана. В функции ЕСС группа — это множество элементов с некоторым образом определенными арифметическими операциями над ними. Поле — это множество элементов с некоторым образом определенными арифметическими операциями над ними. Однако на арифметические операции в поле наложены более строгие условия, чем на операции в группе. Элементами группы эллиптических кривых являются наборы из двух чисел — (х,у). Эти наборы называют точками.
Значения х и у могут быть обычными (действительными) числами, а могут являться членами из ограниченного поля типа Fp (p — простое число). Подобные поля называются базовыми полями (или базой) группы эллиптических кривых. Выбор базового поля влияет на количество точек группы, скорость вычислений и трудность связанной с группой проблемы дискретных алгоритмов.
Таким образом, выбор базового поля в программе шифрования непосредственным образом влияет на размер ключа, вычислительную мощность системы и устойчивость к взлому. Выбор различных базовых полей предоставляет возможность выбора огромного количества различных эллиптических кривых.
Алгоритм ЕСС хорош тем, что он обеспечивает такую же стойкость к взлому при размере ключа гораздо меньшем, чем у современных алгоритмов шифрования. Кроме того, реализация некоторых вычислений с эллиптическими кривыми может оказаться проще, чем у алгоритмов RSA или Диффи—Хеллмана.
Меньшие размеры ключей и более простая реализация предоставляют методу ЕСС большие возможности по сравнению с современными системами шифрования. Например, новый алгоритм мог бы успешно применяться в сотовой связи, где существуют определенные ограничения по мощности процессора и объему памяти.
В настоящее время программы обладают возможностями создания ключей длиной в 4096 и более бит.
Идентификация сообщений
В PGP и многих других системах кодирования широко используется идентификация сообщений.
Идентификация сообщений [66] — метод, позволяющий получателю сообщения проверить авторство и неизменность переданного документа.
1. Цифровая подпись [9, 66]. Прежде чем отправить сообщение, пользователь должен закодировать его при помощи специального ключа и таким образом подписать его. С помощью этого секретного ключа создается цифровая подпись, которую может проверить получатель (или любой другой человек — подпись служит только для подтверждения авторства документа (действительно ли автором переданного документа является человек, оставивший подпись), но не для его кодирования).
Цифровая подпись [66] — это уникальное значение, создаваемое при помощи специального программного обеспечения, получаемое в результате обработки файла специальной функцией и последующего кодирования полученного результата.
В последнее время цифровые подписи становятся все более популярными во многих коммерческих областях, а также в сфере диалоговых коммуникаций и передачи компонентов. Технология цифровой подписи позволяет однозначно определить владельца передаваемой информации. Граждане страны смогут участвовать в голосовании, не выходя из своего дома. Они будут пользоваться Интернетом и цифровыми подписями, которые можно будет идентифицировать на избирательном пункте. Без этого изобретения невозможно было бы обеспечить безопасность передаваемой по глобальной сети информации. В будущем с помощью цифровых подписей можно будет осуществлять общение и обмен информацией прямо в «киберпро-странстве».
Цифровая подпись необходима в электронных и цифровых платежных системах и применяется в электронной коммерции. В частности, цифровые подписи играют важную роль в совместном использовании информации и производимых посредством Интернета коммерческих операциях. Например, в большинстве легальных систем и документов создатель файла должен добавить к нему дату и время создания. С их помощью получатель сможет определить, когда была поставлена цифровая подпись или когда документ вступил в силу Проставить дату и время можно и при помощи цифровой подписи — это создаст гарантии ее неизменности. Кроме того, цифровая подпись может послужить в качестве улики. Другими словами, цифровую подпись можно использовать в качестве вещественного доказательства того, что данное сообщение принадлежит некоторому физическому лицу (его отправителю).
Лица, использующие системы пересылки капитала, также могут получить выгоду от использования цифровых подписей. Предположим, что некто создал сообщение об электронной пересылке капитала суммой в 10 000 долл. с одного счета на другой. Если это сообщение пересылается при помощи незащищенной сети, оно может попасть в руки хакера. Тот может изменить размер суммы. Но если отправитель создаст цифровую подпись сообщения, то получатель сможет сразу определить, имело ли место вмешательство извне.
Во многих деловых приложениях, требующих наличия написанной от руки подписи, можно воспользоваться цифровыми подписями. В качестве примера рассмотрим обмен электронными данными (EDI — Electronic Data Interchange). EDI — это метол пересылки деловых документов между компьютерами. Федеральное правительство США использует EDI для закупки товаров и услуг. В документе EDI подпись, сделанную от руки, можно заменить на цифровую, с помощью которой правительство выражает согласие на предложенную цену и заключает контракты, — и все это можно сделать при помощи одной лишь «электронной среды обитания».
Цифровые подписи можно использовать и для обеспечения целостности баз данных. Управляющий базой данных может настроить систему так, чтобы все желающие внести в нее новую информацию должны были приложить к ней цифровую подпись. Кроме того, система может потребовать у пользователей электронные подписи на все поступающие в базу обновления или изменения. Прежде чем предоставить новую информацию для использования, система должна проверить цифровую подпись автора или редактора. Таким образом, можно гарантировать, что хранимая в базе данных информация не будет изменена посторонними людьми.
Цифровую подпись может создать только тот, кто обладает личным ключом. Таким образом, цифровая подпись однозначно идентифицирует только этого человека. Кроме того, подпись зависит от содержания документа, даты, времени и т. д. Таким образом, она позволяет проверить, не изменялся ли файл во время передачи или после нее.
Для создания цифровой подписи документа необходимо добавить к пересылаемому файлу уникальное числовое значение (зависящее от самого файла). С помощью этого значения получатель сможет проверить авторство полученного документа, а также неизменность файла во время передачи. В электронном сообщении цифровая подпись занимает столько же места, сколько и обычная подпись в бумажном документе. Однако, в отличие от обычных подписей, цифровую подпись практически невозможно подделать. Дело в том, что цифровые подписи зависят от каждого конкретного сообщения, от личного ключа отправителя и содержания отправляемого сообщения. Таким образом, проверка целостности (неприкосновенности) документа — это еще одна выгода от использования цифровых подписей, т. е. если хакер изменит сообщение, то оно не пройдет проверку подписи.
Создание цифровой подписи проходит в два этапа. Сначала файл обрабатывается при помощи функции смешивания, которая создает уникальное значение, зависящее от расположенных в файле данных. Располагая только этим полученным значением и функцией смешивания, нельзя получить исходный текст.
После создания значения смешивания программа создания цифровой подписи зашифровывает его при помощи личного ключа пользователя. И наконец, эта программа создает файл с подписью, в котором обычно хранится информация о самой программе, а также о начале и конце подписанного файла. Создание цифровой подписи и ее декодирование на стороне получателя схематично показано на рис. 4.13 [66].
Чтобы проверить подпись, получатель файла должен расшифровать ее при помощи открытого ключа отправителя и получить, таким образом, смешанное значение. На рис. 4.13 показано, как программа расшифровки получает смешанное значение файла. Полученное значение сохраняется во временном файле. Программа получателя использует этот файл в качестве входных данных функции смешивания, использованной отправителем. Полученное таким образом значение сверяется с сохраненным расшифрованным значением. Если они совпадают, программа сообщает о том, что подпись верна (рис. 4.14) 66
Национальный институт стандартов и технологий (NIST — National Institute of Standards and Technology) 30 августа 1991 г. ввел федеральный стандарт на цифровые подписи. Он назван стандартом цифровой подписи (DSS — Digita Signature Standard). С помощью этого стандарта вводится метод определения целостности передаваемых цифровых данных и идентификации автора.
Пока использование DSS носит обязательный характер только для федеральных агентств. Однако правительство США собирается постепенно перенести данный стандарт на частный сектор. Вместо того чтобы производить различные программные продукты, многие компании будут стараться создавать программы, удовлетворяющие стандарту DSS. Введение этого закона предусматривало передачу управления безопасностью компьютеров граждан США в обязанности NIST, а также ограничение деятельности Агентства национальной безопасности (NSA — National Security Agency).
NIST периодически проверяет программное обеспечение на соответствие стандарту DSS. Если организация должна передать документы с цифровой подписью какому-либо федеральному агентству, необходимо убедиться, что используемое организацией программное обеспечение по созданию цифровых подписей соответствует требованиям DSS.
С момента появления стандарта DSS NIST постоянно вводит в него новые дополнения и усовершенствования. DSS (известный в настоящее время как федеральный стандарт обработки информации (FIPS — Federal Information Processing Standard)) определяет алгоритм цифровой подписи (DSA — Digital Signature Algorithm), при помощи которого можно вычислять и сверять цифровые подписи. Для генерации и проверки цифровых подписей в DSS используются стандарты F1PS 180-1 и SHS (Secure Hash Standard). Он представляет достаточно мощный однонаправленный алгоритм смешивания, а безопасность обеспечивается путем идентификации автора документа.
Многие шифровальщики считают, что указанный в SHS алгоритм SHA (Secure Hash Algorithm — алгоритм хеширования) — это наиболее мощный в настоящее время алгоритм. Его можно использовать в любом приложении, требующем идентификации файла. Другими словами, при помощи SHA можно оставлять «отпечатки пальцев» на пересылаемом файле, которые впоследствии будут использованы для проверки целостности данных.
Если использовать в алгоритме SHA сообщения длиной менее 2 бит, то на выходе будет получен профиль сообщения, длина которого составляет 160 бит. После этого полученный профиль обрабатывается при помощи алгоритма DSA. В результате будет получена цифровая подпись сообщения. Создание цифровой подписи при помощи малого по размеру профиля сообщения значительно увеличивает эффективность шифрования.
Алгоритм SHA очень похож на тот, что предложен в 1990 г. Рональдом Л. Ривестом (одним из создателей алгоритма Ривеста— Шамира—Эдлмана) и использован при разработке алгоритма профиля сообщения MD-4.
Алгоритм хеширования [9], применяемый для создания цифровой подписи, — специальный математический алгоритм, используя который формируют из какого-либо файла другой небольшой и хеш-файл. Полученный хеш-файл шифруется с помощью закрытого ключа и полученное зашифрованное сообщение является цифровой подписью. После чего исходный незашифрованный файл вместе с цифровой подписью отсылается другой стороне.
Теперь принимающая сторона может проверить подлинность принимаемого сообщения и передающую сторону. Это можно сделать:
— с помощью открытого ключа получатель расшифровывает цифровую подпись, восстанавливает хеш-файл;
— используя алгоритм хеширования, создает свой хеш-файл из исходного полученного файла;
— сравнивая две копии хеш-файлов. Совпадение этих файлов означает подлинность передающей стороны и полученной информации.
2. Слепая подпись (blind signature) [9]. Этот алгоритм применяется в системах электронных платежей; является разновидностью
к цифровой подписи и подразумевает обмен сообщениями таким образом, что принимающая сторона не может расшифровать полученное сообщение, но может быть вполне уверена, с кем имеет дело. Например, клиенту электронного магазина нежелательно передавать свой номер кредитной карты, а продавцу необходимо точно знать, с кем он имеет дело. Посредником в коммерческих операциях выступает банк, который проверяет подлинность и продавца, и покупателя и затем производит перевод денег со счета клиента на счет продавца.
Соответствующие протоколы шифрования и интерфейсы прикладного программирования входят в состав системного программного обеспечения компьютерных сетей.
3. Цифровой сертификат [66]. Наиболее популярной и наиболее важной сферой применения цифровых подписей является распространение программного обеспечения посредством Интернета, например, Authenticode (технология цифровых сертификатов компании Microsoft, основанная на цифровых подписях). Как и обычная цифровая подпись, цифровой сертификат основан на алгоритме с открытым ключом. В этом алгоритме используются два ключа: личный — для шифрования и открытый — для расшифровки.
Шифрование и расшифровка больших файлов при помощи алгоритма открытого ключа отнимает огромное количество времени. Поэтому при помощи этого алгоритма шифруются не сами сообщения, а только цифровые подписи. Эта уловка значительно ускоряет процесс шифрования. Процессы создания и использования цифровых подписей представлены на рис. 4.15 [66].
В методе цифровой подписи существенным является использование смешанного значения файла — некоторого аналога контрольной суммы файла или отпечатков пальцев (fingerprint). Например, программа Aulhenticode получает в результате смешивания данных файла некоторое значение длиной 160 и более бит. Сначала программа смешивает некоторым образом расположенные в файле данные — в результате такого смешивания получается отпечаток, который затем зашифровывается при помощи личного ключа пользователя. Для создания подписи цифрового сертификата Autheniicode добавляет к зашифрованному отпечатку открытый ключ пользователя. Для создания подписи цифрового сертификата необходимо [66]:
1) убедиться, что Autheniicode имеет доступ к вашему личному и открытому ключам;
2) создать цифровую подпись файла (т. е. смешать данные файла и зашифровать полученное значение);
3) добавить к исходному файлу цифровую подпись и открытый ключ.
Получив такой файл, пользователь сможет проверить, не изменялось ли содержание файла во время пересылки. Процесс проверки целостности файла при помощи цифровой подписи показан на рис. 4.16 [66].
Выполняемые программой (если используется Aulhenticode, то в роли такой программы будет выступать Web-броузер) проверки цифровой подписи на стороне получателя операции включает следующие шаги [66]:
1. Программа распаковывает цифровую подпись и получает зашифрованное значение отпечатка и открытый ключ.
2. Программа расшифровывает при помощи открытого ключа отпечаток.
3. Программа смешивает данные присланного файла и сравнивает полученное смешанное значение со значением, полученным на предыдущем этапе.
Если значения, полученные на этапе 2 и 3, совпадают, то загрузка прошла успешно. Если же это не так, то кто-то (или что-то) изменил переданные данные.
Если пришедший файл содержит цифровую подпись, остается еше одна нерешенная проблема — кто же на самом деле его автор? Например, идентификация подтвердила, что полученный файл принадлежит А. Однако является ли этот человек действительным автором сообщения, и существует ли он вообще? Для решения подобных проблем созданы ведомства сертификатов. Выдавая сертификат, они стараются проверить личность будущего владельца и тем самым устранить все недоразумения. Ведомства сертификатов гарантируют, что если какой-либо пользователь загрузит ваш файл, то автором этого файла является только один человек на земле — это вы сами. Кроме того, пользователь может быть уверен, что автор сообщения — это реальное физическое лицо, а не человек-невидимка. Вдобавок в компетенцию ведомств сертификатов входит наблюдение за тем, чтобы кто-либо не подделал вашу подпись.
Для использования Aulhenticode необходимо получить цифровой сертификат в ведомстве сертификатов. Обычно это организация третьей стороны. При этом цифровой сертификат — это то же самое, что и печать нотариуса. После обращения за услугами в ведомство сертификатов последнее проверяет личность просителя и посылает ему цифровой сертификат, в котором содержится информация о личности нового владельца и копии открытого и личного ключей. Пересылаемый сертификат зашифрован при помощи личного ключа ведомства сертификатов.
Во время создания цифровой подписи программа Authenticode добавляет к компоненту цифровую подпись и цифровой сертификат. Таким образом, получатель файла может легко проверить, не подделал ли кто-либо подпись. Для проверки цифровой подписи программа Auihenticode сравнивает содержащийся в файле открытый ключ отправителя с копией, хранящейся в сертификате. Для получения информации о личности отправителя пользователь может просмотреть его сертификат. Проверив таким образом файл, можно с достаточной уверенностью сказать, что создателем файла является именно тот человек, чье имя стоит в сертификате.
Броузеры не отображают никакой информации об открытом ключе ведомства сертификатов. Поэтому их пользователи не могут проверить достоверность этого ключа.
Цифровые сертификаты выдаются только на определенный срок, после которого владелец сертификата должен обновить его. Если Интернет Explorer (параметры безопасности должны быть установлены на Medium) встретит подписанный компонент с просроченным сертификатом, то на экране появится окно с сообщением о просроченной подписи.
Работа Аuihenticode построена на двух предположениях. Во-первых, предполагается, что пользователи не могут легко вычислить личный ключ при помощи открытого ключа. Некоторые эксперты считают, что на взлом 1024-битного ключа потребуется 90 млрд. MIPS-лет, т. е. 1млн компьютеров, выполняющих 1 млрд. операций в секунду, будут взламывать одну подпись 90 лет. Однако никто в действительности не знает, сколько времени нужно на взлом; за историю шифрования был взломан не один код.
Во-вторых, работа программы Authenticode построена на предположении, что никто не может украсть ваш личный ключ. Однако это не всегда так. Кто-нибудь может похитить его точно так же, как и обычный ключ или кредитную карточку. Чтобы уберечься от воровства кредитных карточек, финансовые структуры хранят список номеров украденных или утерянных карточек. При покупке по кредитной карточке (особенно когда стоимость покупки высока) продавец сверяет ее номер с номерами, расположенными в этом списке. Точно так же программа Authenticode просматривает список аннулированных сертификатов (CRL — Certificate Revocation List).
В настоящее время существует два вида сертификатов: коммерческие и индивидуальные. При выдаче коммерческого сертификата для получения сведений об экономической стабильности организации VeriSign использует доклад Dunn & Bradstreet. Для выдачи индивидуального сертификата требуется номер социального страхования.
4.3.2. КОМПЬЮТЕРНЫЕ ВИРУСЫ
И АНТИВИРУСНЫЕ ПРОГРАММЫ
Проблема компьютерных вирусов (KB) возникла давно и сразу же получила широкое распространение. В 1988 г. с появлением в сети «вируса Морриса» фактически началось целенаправленное развитие антивирусных средств. Термин «вирус» в применении к компьютерам предложен Фредом Когеном из Университета Южной Каролины. Слово «вирус» латинского происхождения и означает «яд». Исторически вирусом называется любая программа, инфицирующая выполняемые или объектные файлы. Программу, воспроизводящую себя без санкции пользователя, также можно отнести к вирусам.
Компьютерный вирус [9] — это достаточно сложная и своеобразная программа, выполняющая несанкционированные пользователем действия, которая пытается тайно записать себя на компьютерные диски.
Большинство вирусов распространяется одним из двух методов: записывается на файлы (проникнув систему, KB записывается на каждый исполняемый или объектный файл, размешенный на компьютере) или загрузочные сектора жесткого или флоппи-диска, помещенного в дисковод зараженного компьютера. В последнем случае KB проникают и в компьютеры, загружающиеся с инфицированного диска. Каждый раз, когда компьютер загружается с инфицированного диска, происходит скрытое инфицирование. При этом любой KB записывает свой код в тело программы. Чаще всего KB помещает свое тело в программном файле так, чтобы он активизировался при каждом запуске программы. Перенос своего тела на дискеты и жесткие диски является для KB гарантией того, что он будет запущен при каждом включении системы, т. е. будет выполняться при каждом запуске программы.
Способ функционирования большинства KB — это такое изменение системных файлов компьютера пользователя, в результате которого KB начинает свою деятельность либо при каждой загрузке, либо в момент, когда происходит некоторое «событие вызова».
В связи с созданием все более искусных антивирусных программ разработчики KB изменили стратегию: прежде чем инфицировать очередной файл, KB изменяет свое тело. Выбрав объект инфицирования, KB копирует себя из оперативной памяти компьютера внутрь инфицируемого файла.
Файлы данных не могут быть заражены вирусом. Однако существуют так называемые макровирусы, которые распространяются с помощью файлов шаблонов. Кроме того, в Интернете существует значительное количество «мнимых» вирусов.
KB — это одна из наиболее широко известных опасностей для сетей. В настоящее время имеется около тысячи видов вирусов. Учитывая тот факт, что каждый из них существует в нескольких модификациях, это число следует увеличить в 5-10 раз42. Специалисты утверждают, что только 5% всех KB могут вызвать серьезные неполадки в аппаратном обеспечении или разрушение операционной системы. Большинство «электронных инфекций» только тем и занимается, что воспроизводит себя. Их главная задача — выжить, а не нанести вред компьютерной системе. Однако это совсем не значит, что нужно забыть об их существовании — «безобидных» вирусов не существует.
Cуществует предположение, что KB — это одна из форм жизни, более точно — виртуальная форма жизни.
Известно множество определений смысла жизни, источников и форм ее движения, теорий и методологий познания. Так, в соответствии с [65]: жизнь — одна из форм существования материи, закономерно возникающая при определенных условиях в процессе ее развития. Живые организмы отличаются от неживых объектов обменом веществ, раздражимостью, способностью к размножению, росту, развитию, активной регуляции своего состава и функций, к различным формам движения, приспособляемостью к среде и т. п.
Подобно живым микроорганизмам-паразитам, KB:
1) обмениваются энергией с внешней средой, например, используют ресурсы оперативной памяти компьютера (занимают часть объема оперативной памяти и используют часть электрической энергии, обеспечивающей функционирование оперативной памяти (участвуют в обмене веществ);
2) активизируются (по крайней мере, некоторые из них) под действием внешнего сигнала (обладают раздражимостью);
3) обладают способностью к многократному копированию самого себя (способностью к размножению);
4) обладают способностью к изменению размера своего тела (способностью к росту);
5) обладают способностью к модификации (KB может изменять свое тело), самосовершенствованию, расширению своих функциональных возможностей (некоторые KB могут избирательно добывать информацию из Интернета для целей собственной самоорганизации и расширения функциональных возможностей), т. е. обладают способностью к развитию, активной регуляции своего состава и функций;
6) распространяются (с помощью флоппи-диска, компакт-диска, локальной сети, электронной почтой или через Интернет), «заражая» неинфицированные программы (обладают способностью к различным формам движения);
7) способны приспосабливаться к среде (записываются на файлы, загрузочные сектора жесткого или флоппи-диска; существуют также макровирусы, которые распространяются с помощью файлов-шаблонов).
8) смертны (при выключении компьютера KB, размещенный в его оперативной памяти, исчезает; также существуют антивирусные программы, которые «убивают» KB).
Главной составляющей жизни является энергия: физическая, химическая, биологическая, социальная, духовно-мыслительная. Она проявляется в ритмах, колебаниях, движениях материи, мысли, духа, информации, виртуальной реальности и т. д. Многообразие форм проявления жизни — это отражение богатства ее содержания (необходимого разнообразия), движений и превращений43.
Борьба за энергию — всеобщий закон жизни. Живые организмы выживают в борьбе с неорганической природой в условиях превышения запасов их энергии над энергией неорганических веществ.
Процесс заражения файла практически одинаков у всех КВ. Например, простейшие KB заражают файлы следующим образом [66]:
1. Пользователь должен загрузить зараженный файл в оперативную память компьютера. Этот файл может попасть в компьютер с помощью с помощью флоппи-диска, компакт-диска, локальной сети, электронной почтой или через Интернет. После его запуска KB копирует себя в оперативную память компьютера.
2. Разместившись в оперативной памяти, KB ожидает загрузки следующей программы (это очень напоминает поведение живых микроорганизмов-паразитов, ожидающих появления нового «хозяина»).
3. После запуска следующей программы KB помещает свое тело внутрь объекта инфицирования. Кроме того, KB помещает свое тело и внутри копии программы, хранящейся на диске, т. е. KB воспроизводит самого себя (создает свои копии).
4. Компьютерный вирус продолжает заражать программы до тех пор, пока не заразит их все или пока пользователь не выключит компьютер. Тогда расположенный в его памяти KB исчезает. Однако для него это не так уж и страшно — ведь он расположен внутри зараженных файлов, хранимых на диске.
5. После включения компьютера и загрузки зараженной программы вирус снова начинает свою «невидимую» жизнь в оперативной памяти компьютерной системы. И так до бесконечности.
Приведенная выше модель работы вируса упрощена. На самом деле существуют и такие вирусы, которые сохраняются на жестком диске так, чтобы быть загруженными в память при каждом запуске операционной системы. Некоторые вирусы умеют прятаться внутри сжатых файлов. Более того, некоторые вирусы умеют заражать системы с помощью текстового процессора. Однако важно уяснить, что вирус заражает компьютер только в том случае, если вы запускаете инфицированную программу. Даже вирусы, паразитирующие на текстовых процессорах, для своей активизации требуют выполнения специальной программы — макрокоманды.
Наиболее простой метод инфицирования ЕХЕ-файла заключается в следующем. Прежде всего, KB создает в памяти дополнительную область для своего размещения. После этого он прочитывает заголовок ЕХЕ-файла и переделывает его так, чтобы он содержал информацию и о месте в памяти, занимаемом вирусом. С этого момента и начинается процесс инфицирования программы [66].
1. KB считывает текущий заголовок файла и сохраняет его для дальнейшего использования. В этом заголовке хранится информация о длине файла, значении контрольной суммы и т. д.
2. КБ определяет, какое количество памяти он должен прибавить к текущему размеру файла, чтобы разместить там свое тело.
3. KB копирует свое тело в файл. Размер KB и внесенных им изменений в заголовок файла составляют сигнатуру КВ.
Вирусная сигнатура — это некоторая уникальная характеристика вирусной программы, которая выдает присутствие KB в компьютерной системе.
4. KB снова записывает информацию заголовка в программу. Теперь заголовок содержит информацию о месте, занимаемом вирусом.
5. KB сохраняет измененную программу на диске.
Описанный выше тип вирусов называется вирусом-паразитом.
КВ-паразит добавляет свое тело к программе и после этого продолжает свою жизнь наравне с программой. Если же вы удалите инфицированный файл, то вместе с ним исчезнет и КВ. Кроме КВ-паразитов существуют так называемые загрузочные KB, размещающие свое тело в подпрограмме загрузки операционной системы. Этот тип вирусов совершенно отличен от КВ-паразитов. Дело в том, что загрузочные KB паразитируют не на исполняемых программах, а на самой операционной системе.
При разработке современных KB используется много технических новшеств, однако большая часть KB является имитацией и модификацией нескольких классических схем.
Вирусы можно классифицировать по типу поведения следующим образом [9]:
1. Вирусы, поражающие загрузочный сектор, пытаются заменить или инфицировать часть дискеты (или жесткого диска), зарезервированную только для операционной системы и хранения файлов запуска. Они загружаются в память при каждом включении компьютера. Тем самым вирусу дается полная возможность контролировать любой выполняемый компьютером процесс. Эти вирусы обладают наибольшей способностью к размножению и могут постоянно распространяться на новые диски.
2. Вирусы, инфицирующие файлы. Чтобы остаться необнаруженными, множество вирусов пытается инфицировать исполняемые файлы. Обычно вирусы отдают предпочтение ЕХЕ- и СОМ-файлам, однако в связи с растущей популярностью Windows некоторые авторы вирусов стараются инфицировать файлы библиотек динамической связи (DLL).
Файловые вирусы распространяются медленнее, чем вирусы, поражающие загрузочный сектор, вирус активизируется и начинает размножаться, только когда инфицированный файл запущен на выполнение. Единственное условие распространения вируса — это выполнение инфицированного программного файла. При этом он будет загружаться в память и сможет приступать к работе.
3. Многофункциональные вирусы. Некоторые вирусы используют для инфицирования компьютерный системы как загрузочный сектор ,так метод заражения файлов. Это несколько затрудняет выявление и идентификацию вируса специальными программами и ведет к быстрому его распространению.
4. Вирусы-невидимки. Один из способов выявления и идентификации вируса антивирусными программами — проверка контрольных сумм. Первоначально этот метод использовался в связи. Контрольная сумма — это результат выполнения математического алгоритма, проверяющего соответствие длины полученного файла длине его первоначальной копии. Ряд антивирусных программ создает списки контрольных сумм файлов, находящихся на вашем диске. Вирусы-невидимки используют ряд методов для маскировки своего присутствия — они фальсифицируют фактические значения контрольных сумм, что затрудняет их обнаружение.
5. Системные вирусы. Пытаясь остаться незамеченными, системные вирусы поражают не загрузочный сектор, а операционные системы. Основные жертвы этих вирусов — это таблица размещения файлов (оглавление диска), таблицы разделов, драйверы устройств и системные файлы.
Существует несколько различных классов (или типов) вирусов. Вирусы каждого из классов используют различные методы воспроизведения. К наиболее известным классам относятся троянские кони, полиморфные вирусы и неполиморфные шифрующиеся вирусы, стелс-вирусы, медленные вирусы, ретро-вирусы, составные вирусы, вооруженные вирусы, вирусы-фаги и макровирусы. Рассмотрим основные из них [66].
Троянскими конями называются KB, скрытые в файлах данных (например, сжатых файлах или документах). Чтобы избежать обнаружения, некоторые разновидности троянских коней скрыты и в исполняемых файлах. Таким образом, эта программа может располагаться и в программных файлах, и в файлах библиотек, пришедших в сжатом виде. Однако зачастую троянские кони содержат только подпрограммы КВ. Согласно Дэну Эдварду44, троянским конем называется «небезопасная программа, скрывающаяся под видом безобидного приложения типа архиватора, игры или программы обнаружения и уничтожения вирусов».
Большинство современных антивирусных программ обнаруживает практически всех троянских коней.
Одной из наиболее известных троянских коней стала программа Crackerjack. Как и все другие средства для взлома паролей, доступные в Интернет, эта программа тестировала относительную мощность паролей, расположенных в выбранном файле. После своего запуска она выдавала список взломанных паролей и предлагала пользователю удалить этот файл. Первая версия программы не только взламывала пароли, но также и передавала их автору троянского коня.
Полиморфные вирусы — это KB, которые зашифровывают свое тело и благодаря этому могут избежать обнаружения путем проверки сигнатуры КВ. Прежде чем приступить к работе, такой KB расшифровывает себя с помощью специальной процедуры расшифровки. Процедура расшифровки превращает зашифрованную информацию в обычную. Чтобы расшифровать тело KB, процедура расшифровки захватывает управление компьютером. После расшифровки управление компьютером передается расшифрованному КВ.
Первые шифрующиеся KB были неполиморфными, т. е. процедура расшифровки KB не изменялась от копии к копии. Поэтому антивирусные программы могли обнаружить KB по сигнатуре, присущей процедуре расшифровки.
Полиморфные вирусы обнаружить очень трудно, поскольку они генерируют абсолютно новые процедуры расшифровки при каждом новом инфицировании. Благодаря этому сигнатура KB изменяется от файла к файлу. Для изменения процедуры шифрования используется достаточно простой генератор машинного кода, называющийся генератором мутаций. Он использует генератор случайных чисел и достаточно простой алгоритм изменения сигнатуры КВ. С его помощью программист может превратить любой KB в полиморфный. Для этого он должен изменить текст KB таким образом, чтобы перед каждым созданием своей копии он вызывал генератор мутаций.
Несмотря на то что полиморфные KB нельзя обнаружить с помощью обычных методов проверки (вроде сравнения строк кода), они все же детектируются специальными антивирусными программами. Однако этот процесс занимает огромное количество времени, а на создание такой антивирусной программы требуется много усилий. Наиболее свежие обновления антивирусного программного обеспечения производят поиск процедур шифрования, с помощью которой обнаруживают полиморфные КВ.
Стелс-вирусы — это вирусы, которые скрывают изменения, созданные в инфицированном файле. Для этого они отслеживают системные функции чтения файлов или секторов на носителях ин формации. Если происходит вызов такой функции, то стелс-вирус изменяет полученные ею результаты: вместо настоящей информации стелс-вирус передает функции данные неинфицированного файла. Таким образом, антивирусная программа не может обнаружить никаких изменений в файле. Но чтобы перехватывать системные вызовы, стелс-вирус должен находиться в оперативной памяти компьютерной системы. Все достаточно хорошие антивирусные программы могут обнаружить подобные KB во время загрузки инфицированной программы.
Примером стелс-вируса является один из первых задокументированных вирусов DOS — Brain. Этот загрузочный вирус просматривал все дисковые системные операции ввода/вывода и перенаправлял вызов всякий раз, когда система пыталась считать зараженный загрузочный сектор. При этом система считывала информацию не с загрузочного сектора, а с того места, где вирус сохранил копию этого сектора. Стелс-вирусами также являются вирусы Number, Beast и Frodo. Говоря языком программистов, они перехватывают прерывание 21Н — основное прерывание DOS. Поэтому всякая команда пользователя, способная обнаружить присутствие стелс-вируса, перенаправляется стелс-вирусом в определенное место в оперативной памяти. Благодаря этому пользователь не может «заметить» стелс-вирус.
Как правило, стелс-вирусы либо обладают невидимым размером, либо они невидимы для чтения. Стелс-вирусы с невидимым размером принадлежат к подвиду KB, заражающих файлы. Такие стелс-вирусы помешают свое тело внутрь файла, вызывая тем самым увеличение его размера. Однако стелс-вирус изменяет информацию о размере файла таким образом, чтобы пользователь не мог обнаружить его присутствия, т. е. система указывает на то, что длина инфицировнного файла равняется длине обычного (неинфицированного) файла. Стелс-вирусы, невидимые для чтения (например, Stoned. Monkey), перехватывают запросы на чтение инфицированной загрузочной записи или файла и предоставляют в ответ первоначальную, не измененную стелс-вирусом информацию. При этом пользователь не может обнаружить присутствие стелс-вируса.
Большинство стандартных антивирусных программ обнаруживают стелс-вирусы. Для этого достаточно запустить антивирусную программу до того, как вирус будет размещен в оперативной памяти компьютерной системы. Необходимо запустить компьютер с чистой загрузочной дискеты, а затем выполнить антивирусную программу. Стелс-вирусы могут скрываться, только если они уже размещены в памяти. Если же это не так, то антивирусная программа легко обнаружит наличие таких KB на жестком диске. Процесс заражения стелс-вирусом представлен на рис. 4.17.
Медленные вирусы очень трудно обнаружить, так как они инфицируют только те файлы, которые изменяются или копируются операционной системой. Медленный вирус инфицирует любой исполняемый файл, причем делает это в тот момент, когда пользователь выполняет некоторые операции с этим файлом. Например, медленный вирус может производить заражение загрузочной записи дискеты при выполнении команд системы, изменяющих эту запись (например, FORMAT или SYS). Медленный вирус может заразить копию файла, не заразив при этом файл-источник. Одним из наиболее известных медленных вирусов является Darth_Vader, который заражает только СОМ-файлы и только во время их записи.
Обнаружение медленных вирусов — это достатонно сложный процесс. Хранитель целостности (антивирусная программа, наблюдающая за содержанием жестких дисков, а также за размером
A) Приложение запрашивает чтение загрузочной записи жесткого диска.
B) Стелс-вирус перехватывает запрос (понимая, что приложение пытается прочитать зараженную загрузочную запись). Стелс-вирус изменяет запрос так, чтобы он вернул первоначальную загрузочную запись, расположенную в другом месте.
C) и D). Стелс-вирус предоставляет приложению настоящую первоначальную загрузочную запись.
и контрольной суммой каждого из расположенных на них файлов) должен обнаружить новый файл и сообщить пользователю о том, «то у этого файла нет значения контрольной суммы. Если хранитель обнаружит изменения в содержании или размере, то он немедленно сообщит об этом пользователю. Однако сообщение будет выдано и в том случае, если пользователь сам создаст новый файл. Поэтому пользователь, скорее, укажет хранителю целостности вычислить новую контрольную сумму для нового (инфицированного) файла.
Наиболее, удачным средством против медленных вирусов являются оболочки целостности (резидентные хранители целостности). Они постоянно находятся в памяти компьютера и наблюдают за созданием каждого нового файла, и у медленного вируса не остается практически никаких шансов. Еще одним способом проверки целостности является создание ловушек. Здесь специальная антивирусная программа создает несколько СОМ- и ЕХЕ-файлов определенного содержания. Затем программа проверяет содержимое этих файлов. Если медленный вирус инфицирует их, то пользователь сразу же узнает об этом.
Например, медленный вирус может наблюдать за программой копирования файлов. Если DOS выполняет запрос на копирование, то вирус поместит свое тело в новую копию файла. Процесс инфицирования медленным вирусом копии файлов включает:
1) медленный вирус остается в памяти;
2) DOS записывает зараженный файл на диск;
3) диск содержит зараженную программу, которая будет запускать медленный вирус при каждом своем запуске.
Ретро-вирус — это KB, пытающийся обойти или помешать действиям антивирусных программ. Эти вирусы атакуют антивирусное программное обеспечение. Компьютерные профессионалы называют ретро-вирусы анти-антивирусами45.
Создание ретро-вируса является относительно несложной задачей, так как создатели вирусов обладают доступом ко всем антивирусным программам. Исследуя такую программу, они изучают ее работу, находят в ней слабости с точки зрения возможного воздействия KB и создают на этой основе вирус. Большинство ретро-вирусов занимается поисками и удалением файлов с данными о сигнатурах КВ. Таким образом, антивирусная программа, использовавшая этот файл, не может больше нормально функционировать. Более сложные ретро-вирусы занимаются поиском и удалением баз данных, содержащих информацию о целостности файлов. Удаление подобной базы производит на хранителя целостности такой же эффект, как уничтожение файлов с сигнатурами вирусов на антивирусную программу.
Многие ретро-вирусы обнаруживают активизацию антивирусных программ, а затем прячутся от программы либо останавливают ее выполнение. Кроме того, они могут запустить процедуру разрушения до того, как антивирусная программа обнаружит их присутствие. Некоторые ретро-вирусы изменяют оболочку вычислений антивируса и таким образом влияют на выполнение антивирусных программ. Кроме того, существуют ретро-вирусы, использующие недостатки антивирусного программного обеспечения, чтобы замедлить его работу или существенно снизить эффективность программы.
Составные вирусы инфицируют как исполняемые файлы, так и загрузочные секторы дисков. Кроме того, они могут инфицировать загрузочные сектора дискет. Такое название они получили потому, что инфицируют компьютер различными путями. Другими словами, они не ограничиваются одним типом файлов или определенным местом на диске. Если запустить инфицированную программу, составной вирус инфицирует загрузочную запись жесткого диска. При следующем включении компьютера составной вирус активизируется и будет инфицировать все запущенные программы. Одним из наиболее известных составных вирусов является One-Half, который обладает признаками стелс-вируса и полиморфного вируса. Процесс инфицирования составным вирусом включает:
1) составной KB записывает себя в загрузочной записи;
2) чистая программа загружена в память;
3) составной вирус заражает программу;
4) DOS записывает зараженный файл на диск.
Вооруженные вирусы защищают себя с помощью специального кода, благодаря которому сильно усложняется отслеживание и дизассемблирование КВ. Вооруженные вирусы могут воспользоваться для защиты «пустышкой». Это — код, позволяющий увести разработчика антивирусных программ от настоящего кода КВ. Кроме того, вооруженный вирус может включать в себя специальный фрагмент, указывающий на то, что KB расположен в одном месте, хотя на самом деле его там не будет. Одним из наиболее известных вооруженных вирусов является Whale.
Вирусы-компаньоны создают параллельно с инфицированным файлом файл с таким же именем, но с другим расширением. Например, вирус-компаньон может сохранить свое тело в файле winword.com. Благодаря этому операционная система перед каждым запуском файла winword.exe будет запускать файл winword.com, который будет располагаться в памяти компьютера. Обычно вирусы-компаньоны генерируются вирусами-фагами.
Вирус-фаг — это программа, которая изменяет другие программы или базы данных. Компьютерные профессионалы называют эти вирусы фагами потому, что по своему действию они напоминают живые микроорганизмы. В природе вирусы-фаги представляют собой особенно вредные микроорганизмы, которые замещают содержимое клетки своим собственным. По аналогии вирусы-фаги обычно замещают текст программы своим собственным кодом. Чаще всего они являются генераторами вирусов-компаньонов. Вирусы-фаги — это наиболее опасный вид КВ. Дело в том, что они не только размножаются и заражают другие программы, но и стремятся уничтожить все инфицированные программы.
Вирус-червь старается вывести из строя инфицированный компьютер, создатель вируса должен наделить его способностями перемещаться с помощью сети от одного компьютера к другому. Вирусы-черви копируют себя на другие компьютеры с помощью протоколов и иных подобных систем. Удаленное воспроизведение необходимо, так как после отключения компьютера пользователь постарается удалить все имеющиеся на жестком диске КВ. Для своего распространения вирусам-червям не требуется изменять программы хоста.
Для нормальной работы вирусам-червям необходимы операционные системы, обеспечивающие возможность удаленного выполнения и позволяющие приходящим программам выполняться на компьютере. В 1988 г. такими возможностями обладала только одна операционная система — Unix. До недавнего времени многие персональные компьютеры не могли быть инфицированы вирусом-червем — этого не позволяют сделать ни DOS, ни Windows 98. Однако NT-подобные операционные системы обладают возможностями удаленного выполнения и поэтому может поддерживать работу вирусов-червей.
Одним из самых распространенных вирусов в Интернет является WINSTART. Свое название он получил от имени файла — winstart. bat, — в котором обычно и располагается тело вируса. Этот червь, как и многие остальные, копирует себя в памяти компьютера до тех пор, пока не будет выведена из строя операционная система. После этого компьютер автоматически зависает. Во время своего выполнения вирус-червь параллельно занимается поиском следующей компьютерной операционной системы.
Файловые вирусы и макровирусы — наиболее опасные типы КВ. Именно с ними приходится иметь дело администраторам сетевых серверов и одноранговых сетей, соединенных с Интернет. Загрузочные вирусы обычно не распространяются по Интернету, так как соединенный с Интернетом компьютер не может произвести на другом компьютере дисковые операции низкого уровня. Сервер Интернета обычно не может записывать файлы на другой компьютер. Такую операцию в состоянии произвести только компьютер-получатель.
Файловым вирусом может быть троянский конь, вооруженный вирус, стелс-вирус и некоторые другие. Файловые вирусы опасны для данных, хранящихся на сервере, одноранговых сетей и в какой-то степени, Интернет. Способы инфицирования сетевого сервера следующие:
— копирование (пользователем или администратором) инфицированных файлов прямо на сервер. После этого KB, расположившийся в файле, начнет инфицировать все остальные файлы;
— наличие файлового вируса на рабочей станции может инфицировать сеть. После своего запуска вирус сможет инфицировать любое приложение, хранимое на сервере. Если же вирус сумеет проникнуть в какой-либо файл, расположенный на сервере, то он сможет инфицировать и все компьютерные системы в сети;
— наличие резидентного вируса на рабочей станции может вызвать инфицирование всей сети. После своего запуска резидентный вирус может получить информацию о передаваемых данных и скопировать себя на сервер, не обладая при этом прямым доступом к расположенной на сервере информации.
Абсолютно не важно, как вирус попадет в сеть. Он может быть размещен на дискете, получен с сообщением электронной почты или загружен из Интернета вместе с исполняемым файлом. Как только вирус попадает на компьютер, обладающий доступом к другим сетевым компьютерам, то он способен инфицировать все остальные компьютерные системы. Инфицировав всего первую компьютерную систему в сети, вирус начнет распространяться по всей сети и в конечном итоге попадет на сервер.
После заражения файлового сервера любой пользователь, запустивший инфицированную программу, может инфицировать файлы на своем жестком диске или другие файлы, размещенные на том же сервере. Кроме того, администратор, зарегистрировавшийся в сети с правами суперпользователя, может обойти запреты на доступ к файлам и каталогам и инфицировать еще большее количество файлов. При загрузке сервер размещает в памяти достаточно большое количество сетевых приложений. Инфицированный сервер становится носителем исполняемых файловых вирусов. Компьютерные вирусы не размножаются на сервере и не портят его программ. Они переносятся, если пользователь загрузит инфицированную программу на свою рабочую станцию. До сих пор не зарегистрировано ни одного KB, способного внедриться в программное обеспечение сервера и инфицировать файлы во время чтения или записи на сервер. Однако технологии создания вирусов не стоят на месте, и возможно появление именно такого типа вирусов.
Одноранговые сети еще более подвержены атакам файловых вирусов. Средства безопасности одноранговой сети слабы, а ее архитектура (каждая компьютерная система одновременно является и сервером, и рабочей станцией) делает компьютерные системы еще более уязвимыми.
Файловые вирусы не могут размножаться в Интернете и инфицировать удаленные компьютеры, поэтому Интернет является не «-инкубатором» для КБ, а носителем КВ. Чтобы произошло инфицирование, компьютер должен загрузить зараженный файл из сети и запустить его.
В последнее время возросло количество KB, распространяемых с помощью Интернета. Обычные текстовые сообщения электронной почты не могут содержать КВ. Текстовые сообщения относятся к файлам данных, которые не являются программами и не могут выполняться на компьютерной системе. Компьютерные вирусы могут заражать только исполняемые программы (не считая макровирусов).
То же самое можно сказать практически обо всех сообщениях электронной почты. Однако существуют ситуации, когда файл с данными оказывался исполняемым файлом. Некоторые Web-броузеры и диалоговые служебные программы (вроде America Online) выполняют программы сразу после их загрузки.
Гораздо чаще пользователям приходится иметь дело с пересылкой файлов данных текстовых процессоров (например, документы Microsoft Word). Благодаря разработкам в области текстовых процессоров эти файлы перестали быть просто файлами данных. В большинстве случаев такие файлы содержат внедренные макрокоманды, с помощью которых можно существенно ускорить работу. На самом деле макрокоманда является некоторой разновидностью программ. Благодаря этому стало возможным создание макровирусов.
Макровирус — это макрокоманда, которая воспроизводит себя в каждом новом документе.
Большинство современных макровирусов не представляют собой большой опасности. Однако потенциально они обладают огромными возможностями. Макрокоманды обладают доступом к набору операций, с помощью которых можно производить различные (в том числе и разрушительные) действия в системе. Например, с помощью макрокоманды можно удалить с жесткого диска системные файлы.
Макровирусы — наиболее быстро развивающаяся разновидность I KB, способных перемещаться посредством Интернета. Макровирусы представляют опасность не только для сетей, но и для автономных компьютеров, так как они не зависят от компьютерной платформы и от конкретной операционной системы. Более того, эти KB заражают не исполняемые файлы, а файлы с данными, которых гораздо больше.
Макровирус — это программа, написанная на внутреннем языке программирования (иногда эти языки называют языками разработки сценариев или макроязыками) какого-либо приложения. В качестве таких приложений обычно выступают текстовые или табличные процессоры, а также графические пакеты.
Обычно макровирусы распространяются путем создания копий в каждом новом документе. Таким образом, макровирус может попадать на другие компьютерные системы вместе с инфицированными документами. Наиболее часто макровирусы удаляют файлы так, чтобы впоследствии их нельзя было восстановить. Макровирусы могут выполняться на любом типе компьютеров, в том числе с различными операционными системами. Главное, чтобы на компьютере была необходимая им программа обработки документов вместе со своим внутренним языком программирования. Именно благодаря этому языку макровирусы могут выполняться на различных платформах и под управлением различных операционных систем.
Внутренние языки программирования наиболее популярных приложений представляют собой очень эффективное инструментальное средство. С их помощью можно удалять или переименовывать файлы и каталоги, а также изменять содержимое файлов. Созданные на таких языках программирования макровирусы могут проделывать аналогичные операции.
В настоящее время большинство известных макровирусов написано на Microsoft WordBasic или Visual Basic for Application (VBA). WordBasic — это внутренний язык программирования текстового процессора Word for Windows (начиная с версии 6.0) и Word 6.0 for Macintosh. По сравнению с созданием системных вирусов с помощью ассемблера написать макровирус не так уж сложно. WordBasic и VBA представляют собой достаточно простые языки программирования.
Так как при каждом использовании программы из пакета Microsoft Office выполняется и VBA, то написанные с его помощью макровирусы представляют для системы чрезвычайную опасность. Макровирус, созданный с помощью VBA, может заражать и таблицы Excel, и базы данных Access, и презентации PowerPoint. С ростом возможностей внутренних языков программирования возрастет и количество новых макровирусов.
Microsoft Word обладает огромными возможностями, благодаря которым макровирус может производить различные действия. Кроме того, созданы версии этой программы для различных компьютерных платформ: существуют версии для DOS, Windows 2000 и Mac OS. Это увеличивает поле деятельности макровирусов.
Общий шаблон (в Windows он хранится в файле normal.dot) содержит глобальные макрокоманды, всегда доступные в Microsoft Word. Именно в этом шаблоне обычно и размещается тело макровируса. Именно из него вирус заражает все созданные в текстовом процессоре документы.
Microsoft Word автоматически выполняет указанные макрокоманды без участия пользователя. Благодаря этому макровирус может выполняться вместе с обычными макрокомандами (с помощью обычных макрокоманд программа производит открытие и закрытие документа, а также завершение своей работы).
Обычно пользователи помешают документы Word в сообщения электронной почты, на FTP-сайты и в листы рассылки. Все это способствует быстрому распространению макровирусов.
Word Macro/Concept, известный также как Word Prank Macro или WWW6 Macro, — это макровирус, написанный на внутреннем языке Microsoft Word 6.0. На самом деле он состоит из нескольких макрокоманд: AAAZAO, AAAZFS, AutoOpen, fileSaveAs и PayLoad. Макрокоманды AutoOpen и FileSaveAs являются стандартными. Макровирус пытается инфицировать общий шаблон документов normal.dot. Если же в процессе инфицирования вирус обнаружит, что в файле шаблона уже находится макрокоманда PayLoad или FileSaveAs, то он прекратит атаку. Инфицировав общий шаблон, макровирус начинает инфицировать все документы, сохраненные с помощью команды Сохранить как. Для обнаружения макровируса воспользуйтесь меню Сервис и выберите в нем пункт Макрос. Если в появившемся окне есть макрокоманда AAAZFS, скорее всего, вирус уже поразил вашу систему.
Для борьбы с макровирусом достаточно создать пустую макро-команду с именем PayLoad — она запишется поверх макрокоманды макровируса. Теперь система надежно защищена от инфицирования. Макровирус, обнаружив эту макрокоманду, посчитает, что I система уже инфицирована, и не станет ее инфицировать. Однако создание макрокоманды-пустышки — это лишь временное решение. Возможно, что именно в этот момент кто-то изменяет Concept таким образом, чтобы он заражал систему, не обращая внимания на макрокоманды, расположенные в шаблоне normal.dot.
В макровирусе Word Macro/Atom зашифрована макрокоманда макровируса, поэтому его гораздо сложнее обнаружить. Макровирус воспроизводится во время открытия или сохранения файла. Он производит два вида разрушений, похожих по действию, но различных в реализации.
Макровирус активизируется 13 декабря. При этом он пытается удалить все файлы из текущего каталога. Вторая активизация наступает в тот момент, когда пользователь запускает команду FileSaveAs, а внутренние часы компьютера показывают 13 секунд. При этом на сохраняемый документ накладывается пароль, и пользователь больше не сможет открыть его. Чтобы остановить действие макровируса, необходимо отключить автоматическое выполнение макрокоманд или заставить Word запрашивать разрешение на сохранение изменений в normal.dot. Для этого откройте меню Сервис и выберите пункт Параметры. Выберите в появившемся диалоговом окне закладку Сохранение и поставьте флажок напротив пункта Запрос на сохранение шаблона «Обычный».
Word Macro/Bandung состоит из шести макрокоманд: AutoExec, AutoOpen, fi/eSave, FileSaveAs, ToolsCusiomiie и ToolsMacra. При открытии зараженного файла (или запуске Word с зараженным файлом общего шаблона) после 11:00 начиная с двадцатого числа каждого месяца (и до конца месяца) вирус удаляет файлы во всех подкаталогах диска С:, за исключением каталогов \WINDOWS, \WINWORD или \WINW0RD6. Во время этой операции в строке состояния высвечивается сообщение «Reading menu ... Please Wait!». После удаления вирус создает файл c:\pesan.txt и оставляет в нем свое сообщение.
Если при просмотре зараженного документа пользователь выберет меню Сервис, а в нем пункт Макрос, то вирус отобразит на экране диалоговое окно с сообщением «Fail on step 29296» (в заголовке окна будет отображена строка Егг@#*(с) и символ STOP). После этого вирус заменит в документе все символы а на #@, а затем сохранит документ.
Макровирус WordMacro/Colors (иногда его еще называют Rainbow) поддерживает в файле win.ini счетчик поколений — он располагается в секции [windows] в строке countersu=. При каждом выполнении макрокоманды значение счетчика увеличивается на единицу. После некоторого значения макровирус изменяет установки цветов системы. При следующей загрузке Windows она будет раскрашена в случайно подобранные цвета. Этот макровирус заражает документы Word так же, как и многие остальные вирусы. Однако он не полагается на автоматическое выполнение макрокоманд и активизируется даже в том случае, если запущен Word с параметром DisableAutoMacros или средства защиты шаблонов от вирусов (они расположены на Web-сайте http://www.microsoft.com).
Во время выполнения макрокоманд макровирус активизируется и инфицирует файл normal.dot. После открытия инфицированного документа макровирус будет выполняться при каждом создании нового файла, закрытии инфицированного файла и сохранении открытого файла. Кроме того, он будет выполняться и при открытии подменю Макрос в меню Сервис. Таким образом, не нужно пользоваться этим подменю для определения макровируса. Необходимо открыть меню Файл, выбрать подменю Шаблоны и открыть с его помощью диалоговое окно Организатор. В этом окне необходимо выбрать закладку Макро, в которой можно определить и удалить опасные макрокоманды. Однако макровирус может заново переписать их — в макровирусе предусмотрен встроенный режим отладки.
Макровирус Word Macro/Hot содержит четыре макрокоманды. Этот макроирус создает строку (QLHot=120401) в файле winword. ini, где записана «горячая дата», — она должна наступить через две недели после инфицирования. После этого вирус копирует в файл normal.dot макрокоманды AutoOpen, StartOfDoc, DrawBringlnFront, AutoOpen, InsertPBreak, Insert Page Break, ToolsRepaginat, FileSave.
Через несколько дней после наступления «горячей даты» макровирус активизируется и удалит выбранные случайным образом файлы. Чтобы избавиться от этого макровируса, необходимо удалить его макрокоманды.
Макровирус Word Macro/MDMA содержит всего лишь одну макрокоманду — AutoClose. Этот макровирус инфицирует все версии от WinWord 6.0 и более поздние, причем он действует и на PC, и на Macintosh. Вирус активизируется первого числа каждого месяца. Его действия зависят от компьютерной платформы. На компьютерах Macintosh он пытается удалить все файлы, расположенные в текущей папке. Однако из-за ошибки в своем тексте вирус не может выполнить своего предназначения. При этом возникает синтаксическая ошибка, и макровирус не причиняет никакого вреда. В NT-подобных операционных системах KB уничтожает все файлы в текущем каталоге, а также файл c:\shmk.
Очень распространенным является макровирус W^rd Macro/ Nuclear. Как и остальные макровирусы, он старается инфицировать основной шаблон документов. Однако он не пытается раскрыть своего присутствия с помощью диалоговых окон. Вместо этого вирус незаметно инфицирует каждый документ, созданный с помощью подменю Сохранить как в меню Файл. При этом он добавляет к документу свою макрокоманду. Чтобы не быть обнаруженным, при каждом закрытии документа Nuclear сбрасывает флажок Запрос на сохранение шаблона «Обычный». После этого Word больше не будет запрашивать у пользователя разрешение на сохранение изменений файла normal.dot. Благодаря этому вирус становится практически незаметным. Некоторые пользователи используют этот параметр для защиты от макровирусов, не предполагая, что макровирус может изменить его.
Пятого апреля макрокоманда вируса — PayLoad — пытается удалить системные файлы io.sys, msdos.sys и command.com. Кроме того, макровирус добавляет в конце каждого напечатанного или посланного по факсу (из Word) документа в течение последних пяти секунд каждой минуты следующие строки: «And finally I would like to say: STOP ALL FRENCH NUCLEAR TESTING. IN THE PACIFIC (А напоследок я скажу: ПРЕКРАТИТЕ ВСЕ ФРАНЦУЗСКИЕ АТОМНЫЕ ИСПЫТАНИЯ В ТИХОМ ОКЕАНЕ)». Так как эти строки добавляются только во время печати, то пользователь не может их увидеть во время просмотра документа. Это действие производит макрокоманда макровируса Insert PayLoad. Чтобы уничтожить вирус, необходимо воспользоваться подменю Макрос в меню Сервис: при обнаружении макрокоманды типа InsertPayLoad необходимо ее удалить. Макровирус WordMacro/Wazzu содержит всего лишь одну макрокоманду — AutoOpen. Поэтому он не зависит от языка. Другими словами, этот макровирус может выполняться в локализованных версиях Word. Макровирус Wazzu изменяет содержание зараженных документов: он перемешивает слова и вставляет слово «wazzu».
Wоrd 97 и более поздние версии автоматически предупреждают пользователей о том, что открываемый документ содержит макрокоманды. Компания Microsoft создала для Word специальное средство борьбы с макровирусами — MVP (Macro Virus Protection), которое устанавливает набор защитных макрокоманд, обнаруживающих подозрительные файлы и предупреждающих пользователя о потенциальной опасности открываемых файлов. С помощью этого инструментального средства можно также просматривать все документы Wоrd, поступающие по электронной почте или загруженные из Интернет.
Самые последние версии Word менее подвержены действию макровирусов. Однако тот факт, что один и тот же внутренний язык программирования — Visual Basic for Application (VBA) поддерживается многими приложениями, может привести к появлению нового поколения макровирусов, которые смогут работать и инфицировать не только Word, но также все остальные приложения и их
документы.
В Интернете существует значительное количество «мнимых» вирусов. Один из наиболее известных «мнимых» вирусов — это троянский конь aol4free.com. Когда большая часть сообщества Интернета узнала о том, что такого вируса нет, а сообщение о нем — это просто чья-то злая шутка, некоторые создатели вирусов создали троянского коня с именем aol4free.com. Этот вирус также, как и одноименный «мнимый* вирус aol4free.com, предлагает бесплатный доступ к службе America Online, а вместо этого удаляет элементы каталогов на жестком диске, используя команду DELTREE. Каталоги можно восстановить с помощью любой удобной пользователю утилиты, входящей в пакеты Norton Utilities или Mace Utilities.
Чтобы избежать самоуничтожения, KB используют сигнатуру. Большинство обычных KB (включая и макровирусы) использует символьные сигнатуры. Более сложные вирусы (полиморфные) используют сигнатуры алгоритмов. Независимо от типа сигнатуры KB антивирусные программы используют их для обнаружения КВ. Поэтому наилучший способ защитить компьютерную систему от вирусов — регулярно использовать антивирусные программы, предназначенные для проверки памяти и файлов системы, а также поиска сигнатур вирусов. Обычно в антивирусные программы входит периодически обновляемая база данных сигнатур вирусов. При выполнении антивирусная программа просматривает компьютерную систему на предмет наличия в ней4 сигнатур, подобных имеющимся в базе данных.
Хорошее антивирусное программное обеспечение не только ищет соответствие с сигнатурами в базе данных, но использует и другие методы. Такие антивирусные программы могут выявить новый KB даже тогда, когда он еще не был специально идентифицирован.
Большинство KB обезвреживается путем поиска соответствия с базой данных. Когда программа находит такое соответствие, она будет пытаться удалить обнаруженный КВ. Однако этот процесс зависит от сложности КБ и качества антивирусной программы. Наиболее сложно обнаружить троянских коней и полиморфные вирусы. Первые из них не добавляют свое тело к программе, а внедряются внутрь нее. Что касается вторых, то антивирусные программы должны потратить достаточно много времени, чтобы определить сигнатуру полиморфных вирусов. Дело в том, что их сигнатуры меняются с каждой новой копией.
Важно постоянно пополнять имеющуюся базу вирусных сигнатур. Большинство поставщиков антивирусного программного обеспечения распространяет файлы обновлений через Интернет, Для успешной борьбы с KB необходимо также проверять, не является ли файл уже инфицированным этим же КВ.
Существуют следующие основные методы поиска KB с помощью антивирусных программ.
В первом методе поиск KB производится при начальной загрузке. При этом команду запуска антивирусной программы включают в AUTOEXEC.BAT. Этот метод эффективен, но при его использовании увеличивается время начальной загрузки компьютера. Преимущество же его в том, что просмотр при загрузке происходит автоматически.
Второй метод заключается в том, что пользователь вручную выполняет сканирование системы с помощью антивирусной программы. Этот метод может быть столь же эффективным, как и первый, если он выполняется добросовестно, как и резервное копирование.
Третий метод поиска KB состоит в просмотре каждого загружаемого файла, при этом не придется слишком часто проверять всю систему.
Иногда встречаются KB, идентификация которых затруднена (некоторые KB не могут быть обнаружены даже самыми лучшими антивирусными программами) либо вследствие их новизны, либо из-за большого промежутка времени перед их активизацией (у вирусов имеется некоторый инкубационный период и они некоторое время скрываются, прежде чем активизироваться и распространиться на другие диски и системы). Поэтому следует обращать внимание наследующее:
1. Самопроизвольное уменьшение объема свободного места на жестком диске.
2. Команды CHKD.SK и SCANDISK возвращают некорректные значения.
3. Имена файлов изменяются без видимых причин.
4. Доступ к жесткому диску запрещен.
5. Изменение размеров программы или файла по непонятным причинам. Файловые вирусы почти всегда изменяют размер зараженных файлов, поэтому если вы заметите, что объем какого-либо файла, особенно СОМ или ЕХЕ, вырос на несколько килобайт, необходимо немедленно обследовать жесткие диски антивирусной программой.
6. Необычное поведение компютерной системы. При загрузке KB, как и любой новой программы, в компьютерную систему происходит некоторое изменение в ее поведении. Это может быть:
— неожиданное изменение времени перезагрузки;
— нажатие клавиш сопровождаются странными звуками;
— более медленная, чем обычно, загрузка программ;
— несанкционированное появление и исчезновение файлов;
— то, что элементы экрана выглядят нечеткими, размытыми;
— появление на экране необычных сообщений.
Все эти симптомы означают, что следует незамедлительно запустить антивирусную программу.
Если вы обнаружили в компьютере какой-либо из указанных выше симптомов, а антивирусная программа не в состоянии обнаружить вирусную инфекцию, следует обратить внимание на саму антивирусную программу — она может быть устаревшей (не содержать новых вирусных сигнатур) или же сама может быть заражена. В этом случае необходимо запустить надежную антивирусную программу.
Предотвращение или существенное снижение вероятности проникновения в компьютерные сети KB достигается также за счет:
— блокировки запуска исполняемых программных файлов с дискет;
— использования только дистрибутивов программных продуктов, приобретенных через официальных дилеров фирм — разработчиков этих продуктов;
— обязательного контроля целостности программной среды;
— организации постоянного антивирусного контроля.
При разработке антивирусной стратегии компании следует помнить, что основными путями распространения KB являются продаваемое программное обеспечение, системы электронной почты в локальных сетях, а также дискеты, используемые служащими в их домашних компьютерах.
Существует опасность заражения компьютерной системы через программное обеспечение. Если кто-то уже использовал эти дискеты на зараженном компьютере, то с большой долей вероятности можно утверждать, что эти диски уже заражены. Чтобы избежать подобных проблем, многие компании (включая и Microsoft) начали запаковывать отдельные дискеты и только затем помещать их в коробки.
Любой разработчик и владелец Web-сайта (Web-master), электронных досок объявлений, а также авторы программного обеспечения, желающие и дальше иметь прибыль от своего бизнеса, должны тщательно проверять каждый файл на наличие КВ. Конечно же это ни коей мере не освобождает от проверки программ, загружаемых с помощью Интернета.
Пользователь может верить сообщениям о вирусах, рассылаемым специальными группами из организаций по компьютерной безопасности. Большинство этих организаций зашифровывают свои сообщения с помощью PGP или другой системы шифрования с открытым ключом. Чтобы идентифицировать создателя сообщения, достаточно расшифровать это сообщение с помощью открытого ключа организации, т. е. необходимо проверять источник сообщения. Открытые ключи организаций хранятся на их Интернет-страницах. Избегайте сообщений, не прошедших процедуру идентификации. При обнаружении нового вируса необходимо сообщить об этом в организацию по компьютерной безопасности. Доверьтесь профессионалам.
Для защиты корпоративной сети от KB необходимо выполнять с приходящими данными следующие операции.
Во-первых, необходимо проверять всю приходящую информацию с помощью антивирусных программ. И не важно, как пришла эта информация: на дискетах или в сообщениях электронной почты. Только после этого можно запускать полученные программы или просматривать пришедшие документы.
Во-вторых, необходимо установить антивирусное программное обеспечение прямо в брандмауэре так, чтобы инфицированные файлы не могли проникнуть в сеть. Практически все брандмауэры содержат средства проверки на вирусы. Большинство из них содержат готовые антивирусные программы, а также средства проверки целостности данных. С их помощью можно просматривать в реальном времени все изменения в системе. Так пользователь сможет заметить большинство операций, производимых вирусами. Кроме того, большинство брандмауэров предоставляют средства защиты DOS-сеансов.
В-третьих, установите антивирусное программное обеспечение на каждой подключенной к сети компьютерной системе. Так вы сможете предотвратить распространение вирусов по сети, если один из компьютеров будет заражен.
В настоящее время появляется все больше и больше KB, рассчитанных на работу в сети. В связи с этим возрастает нагрузка на сетевых администраторов и простых пользователей. Правила компьютерной безопасности приведены в приложении 8.
4.3.3. ЗАЩИТА СЕТЕЙ,
ОСНОВАННЫХ НА NT-СИСТЕМАХ
Windows-2000 работает с сетями, созданными на основе NT*7-noдобных операционных систем сервера. С помощью NT-подобных операционных систем можно присоединяться к серверам Novell NetWare или Unix.
NT-подобные операционные системы построены на объектной модели безопасности, т. е. в этой операционной системе есть возможность обеспечения безопасности каждого файла и каталога в отдельности. Модель безопасности NT-подобных операционных систем состоит из четырех компонентов: локального ведомства безопасности, диспетчера учетных записей, монитора ссылок безопасности и пользовательского интерфейса.
Для управления передачей данных в NT-подобных операционных системах используется протокол SMB. Все остальные сетевые протоколы реализуются на основе (поверх) протокола SMB.
В операционную систему NT-подобных операционных систем встроен интерфейс SSP, с помощью которого поддерживается несколько интерфейсов безопасности.
Для создания безопасной сети требуется обеспечение физической безопасности сервера.
NT-подобные операционные системы в качестве файловой системы, являющейся основой безопасности любой операционной системы, используют NTFS. С ее помощью сервер может управлять доступом к своим файлам. Используемая в NT-подобных операционных системах модель безопасности может быть достаточно просто расширена, чтобы включать другие средства обеспечения безопасности.
Каждый объект NT-подобных операционных систем обладает своими собственными атрибутами безопасности — дескрипторами безопасности. С«их помощью операционная система управляет доступом отдельных пользователей к этому объекту. Дескриптор безопасности состоит из двух компонентов: списка управления доступом (обязательного для обеспечения безопасности класса С2) и информации о самом объекте.
Системы класса защиты С2 обладают достаточно хорошими средствами управления сетевыми объектами. На каждого пользователя подобной системы налагается ответственность за свои действия в сети. Для этого в системах класса защиты С2 используются процедуры регистрации, аудит связанных с безопасностью событий и локализация ресурсов (серверы печати и файлов должны располагаться на отдельных компютерах). Кроме того, системы класса защиты С2 удовлетворяют всем требованиям класса зашиты С1, а также должны обладать следующим свойствами:
— определенный и контролируемый доступ между именованными пользователями и именованными объектами;
— система идентификации и паролей, которые должны быть пройдены пользователями, прежде чем они получат доступ к информации в сети;
— элементы управления доступом как целых групп, так и отдельных пользователей;
— элементы управления доступом должны ограничивать копирование прав доступа;
— механизм дискреционного контроля доступа будет по явно заданным пользователем параметрам или по умолчанию обеспечивать защиту от незарегистрированного доступа;
— элементы управления доступом могут разрешать или ограничивать доступ определенных пользователей к определенным объектам;
— система идентификации уникальным образом определяет каждого пользователя, связанного с системой;
— операционная система ассоциирует каждое действие, произведенное определенным пользователем, с уникальным идентификатором этого пользователя;
— сеть может создавать и поддерживать функции аудита всех попыток доступа к сетевым объектам (например, к файлам).
В модели безопасности NT-подобных операционных систем использована концепция пользователей и групп, а также предоставляемых им прав. Список управления доступом определяет тип и права доступа отдельных пользователей и групп. Под группами понимаются объединения пользователей с одинаковыми правами (например, администраторы) или принадлежащие к одной области деятельности или отделу фирмы (например, отдел маркетинга). По умолчанию при установке NT-подобных операционных систем создается несколько групп: «Все», «Опытные пользователи» и «Администраторы». При этом операционная система управляет типом и правами доступа каждого пользователя или группы к каждому объекту. Так, каждая ' группа в NT-подобных операционных системах может обладать отличными от других правами доступа. Например, группа «Все» может обладать только правами на чтение некоторого объекта, а группа «Опытные пользователи» может обладать правами на чтение, запись, копирование и удаление того же объекта.
Список управления доступом состоит из двух частей: дополнительного списка управления доступом и системного списка управления доступом. Каждый из этих компонентов отвечает за два различных типа ограничений безопасности объекта. Дополнительный список управления доступом определяет тип и права доступа к объекту отдельных пользователей. Именно этот список изменяется наиболее часто, так как основная информация хранится в системном списке управления доступом.
Дополнительный список управления доступом содержит описания каждого из пользователей и групп, зарегистрированных в системе. Эти описания также называют элементами управления доступом. Каждый из них содержит информацию об уровне доступа к объекту каждого пользователя или группы.
Когда пользователь или служба NT-подобных операционных систем создает новый объект, то вместе с ним автоматически создается дескриптор безопасности. Если пользователь (или служба) не определит атрибуты безопасности нового объекта, то операционная система присвоит ему пустой дополнительный список управления доступом, т. е. NT-подобные операционные системы не присвоят объекту атрибутов доступа.
Основные требования класса защиты С2 можно выразить так: «Запрещено все, что не разрешено». Поэтому доступ к новому объекту будет запрещен всем. Более того, после присвоения объекту специальных атрибутов доступом к нему будут обладать только те пользователи и группы, которые определены в дополнительном списке управления доступом. Описание компонентов модели безопасности NT-подобных операционных систем приводится в табл. 4.1 [66].
Очевидно, что локальное ведомство безопасности выполняет основную долю работы по обеспечению безопасности системы.
По мере необходимости оно вызывает службы диспетчера безопасности учетных записей и монитор ссылок безопасности. Полученные результаты предоставляются пользователю через пользовательский интерфейс. Взаимодействие всех четырех компонентов безопасности NT-подобных операционных систем показано на рис. 4.18 [66].
Таким образом, чтобы получить доступ к какому-либо объекту, пользователь должен обладать соответствующими правами. Без них никто не может работать с объектом.
Идентификация пользователей
Диспетчер безопасности учетных записей предоставляет локальному ведомству безопасности службу идентификации пользователей. Процесс идентификации заключается в следующем.
Пользователь должен зарегистрироваться в системе. Если NT-подобная операционная система опознает имя и пароль пользователя, она зарегистрирует его. При этом операционная система создаст объект-маркер, представляющий пользователя. Впоследствии каждый запускаемый пользователем процесс будет ассоциирован с этим маркером (или его копией). Совокупность маркера и связанного с ним процесса называется в NT-подобных операционных системах субъектом. Если пользователь запустит какую-либо программу (например, Word), то операционная система создаст субъект, содержащий процесс (или поток) программы и маркер пользователя. Модель создания субъекта представлена на рис. 4.19 [66].
Прежде чем предоставить субъекту доступ к объектам, операционная система сверит его маркер со списком управления доступом. В зависимости от настроек сервера, каждая попытка доступа (как успешная, так и неудачная) может быть зарегистрирована средствами аудита.
Аудит — лучшее средство для борьбы с хакерами. Поэтому необходимо создать политику аудита для каждого сервера. В частности, она должна включать следующие сведения:
1. Какие события нужно регистрировать (поведение пользователей, изменения файлов или процессов и т. д.).
2. Как долго нужно хранить записи аудита. Как долго нужно хранить резервные копии записей аудита.
3. Нужно ли подключать средства аудита на всех компьютерах или только на серверах.
Завершив разработку политики аудита, сконфигурируйте соответственно средства аудита. Вы наверняка заметите, что достаточно трудно вести записи аудита без специальных средств просмотра информации, содержащейся в журнале событий, а также без набора политик обработки самих журналов событий. Кроме того, средства аудита могут существенно снизить производительность системы в целом.
Поэтому при подключении средств аудита необходимо определить количество событий, которые могут регистрировать средства аудита без существенного снижения трафика сети. Так как NT-подобные операционные системы хранят журналы регистрации на локальных дисках, журналы событий необходимо оградить от вторжения со стороны хакеров. И здесь может понадобиться создание копий журналов на одном или нескольких защищенных серверах журналов регистрации.
Домены и рабочие группы
Каждая рабочая станция NT-подобных операционных систем входит в состав некоторой рабочей группы или домена. Домен состоит из одного или более серверов NT-подобных операционных систем, причем все они должны функционировать как единая система. Кроме серверов в домен могут входить и рабочие станции, а также компьютеры, управляемые операционной системой Windows для рабочих групп, рабочие станции Windows, компьютеры под управлением LAN Manager и др. Расположенная на сервере NT-подобных операционных систем база данных пользователей и групп содержит информацию обо всех ресурсах домена. Благодаря этому сервер может проверять права доступа пользователя рабочей станции Windows точно так же, как права доступа пользователя рабочей станции NT-подобных операционных систем.
С помощью надежных доменов можно объединить несколько доменов вместе. Надежными доменами называются независимые домены, совместно использующие ресурсы и информацию о правах доступа (например, учетные записи и пароли). Преимуществом надежных доменов является тот факт, что для доступа к ресурсам всех доменов пользователю нужна только одна учетная запись и пароль. Кроме того, они позволяют использовать центральное управление ресурсами всех доменов.
Рабочая группа — это совокупность рабочих станций, не принадлежащих к какому-то домену. Автономная рабочая станция — это отдельный вид рабочей группы.
Среды домена и рабочей группы по-разному воспринимают учетные записи пользователей и групп. Среды рабочей группы не предоставляют практически никаких средств обеспечения безопасности. Внутри домена можно определить учетную запись пользователя на локальном уровне или уровне всего домена. Локальная учетная запись позволяет ее пользователю входить в систему только на одном компьютере. Если же учетная запись пользователя определена на уровне домена, то он может зарегистрироваться в системе на любой рабочей станции домена.
В NT-подобных операционных системах можно определить учетные записи уровня домена для глобальной группы (например, учетная запись группы «Все»). Учетная запись глобальной группы дает возможность предоставить права доступа некоторому подмножеству пользователей домена.
Учетная запись группы связана с группой пользователей, совместно использующих некоторые свойства безопасности (например, работники какого-либо подразделения фирмы). В NT-подобных операционных системах имеется возможность определить привилегии доступа для целой группы пользователей, а также включать в группу отдельных пользователей. При этом каждый новый участник группы будет обладать такими же правами доступа, как и все остальные ее участники. Дополнительно можно назначить индивидуальные привилегии каждому участнику группы. Там, где можно объединить нескольких пользователей в одну группу, так и делается. Это облегчает управление пользователями и уменьшает количество времени, затрачиваемое на изменение привилегий каждого отдельного пользователя. Кроме того, снижается вероятность совершения ошибки.
Кроме того, в NT-подобных операционных системах можно определить учетные записи для локальных групп. Такая запись будет содержать информацию об учетных записях глобальной группы и учетных записях пользователей.
В пределах домена все серверы совместно используют базу данных, хранящую информацию обо всех пользователях и группах. Входящие в домен рабочие станции NT-подобных операционных систем не содержат подобной базы данных, однако они могут получить к ней доступ. Если же говорить о рабочей группе, то там каждый компьютер обладает такой базой данных, но она не предоставляет ее другим компьютерам.
При установке сервера операционная система автоматически создаст шесть стандартных групп пользователей: «Администраторы», «Операторы резервного копирования», «Гости», «Опытные пользователи», «Репликаторы» и «Пользователи». Каждой из групп по умолчанию присваиваются свои собственные (отличные от других) права. Например, «Администраторы» обладают полным доступом ко всем файлам и каталогам домена. Пользователи-администраторы должны оыть зарегистрированы в группах «Администраторы» и «Опытные пользователи». Кроме того, они должны обладать неэлектронными средствами просмотра регистрации других администраторов в системе. Права всех стандартных групп NT-подобных операционных систем приведены в табл. 4.2 [66].
Кроме того, что при установке операционная система создает несколько стандартных групп домена, с помощью которых можно управлять привилегиями пользователей домена, NT-подобные операционные системы создают несколько стандартных локальных групп, которые могут проводить определенные операции на сервере Часть этих операций лучше всего предоставить только администраторам, которые могут производить любые операции в сети Однако участники некоторых групп могут обладать даже большими правами чем администраторы. Список этих групп приведен в табл 4 3 [66].
Кроме того, участники всех этих групп могут регистрироваться в системе с помощью консоли.
NT-подобные операционные системы достаточно устойчивы по отношению ко многим типам атак и предоставляют усовершенствованные средства обеспечения безопасности коммуникаций Но несмотря на все свои достоинства с точки зрения обеспечения и поддержания информационной безопасности сети, эта операционная система обладает рядом недостатков, у нее есть свои уязвимые места, и многие атаки хакеров построены именно на использовании недоработок NT-подобных операционных систем. Поэтому для обеспечения безопасности сети NT-подобных операционных систем прежде всего, необходимо воспользоваться элементарными средствами защиты от хакеров.
Для создания безопасной сети требуется обеспечение физической безопасности сервера, что является одним из наиболее важных аспектов безопасности системы в целом. Если хакер получит физический доступ к серверу, то он может взломать его. Так, если хакер получит доступ к серверу, то он может перегрузить его с помощью загрузочной дискеты MS-DOS и воспользоваться программой nifsdos ехе, которая позволяет получить доступ к файловой системе NTFS Несмотря на то что хакер может только считывать информацию он узнает много полезной информации для последующего проведения атаки грубой силы. Например, он может скопировать базу данных паролей. Если же у него будет возможность воспользоваться компакт-диском с Linux, он сможет легко взломать сервер с помощью этой операционной системы.
Необходимо тщательно следить за правами доступа и привилегиями безопасности групп, перечисленных в табл. 4.3. Если хакер сможет получить права «Оператора сервера», он легко разместит на сервере вирус «Троянский конь», который будет активизироваться после удаленного выключения сервера или предоставит хакеру права «Администратора».
Во время установки NT-подобные операционные системы предоставляют пользователям всех стандартных групп определенные права доступа к каталогам. Так, «Администраторы» обладают полным доступам ко всем каталогам и файлам сервера и домена. Список прав, предоставляемых остальным группам, приведен в табл. 4.4 [66].
При создании разрешений для каждой из групп может потребоваться изменить их права доступа к каталогам, перечисленным в табл. 4.4. Однако нельзя полностью запрещать доступ к системным каталогам. Например, «пользователи» должны обладать правами чтения каталогов winnt и \system32, потому что именно в них большинство программ хранит необходимые для своей работы файлы.
Участники группы «Администраторы» обладают полным доступом ко всем ресурсам. Например, они могут получить доступ к файлу или каталогу даже в том случае, если разрешения файла запрещают это. Поэтому необходимо тщательно выбирать пользователей ,
которым можно предоставить права администратора. Кроме того, следует периодически проверять учетные записи этой группы, чтобы вовремя выявить злоумышленника. В NT-подобных операционных системах с помощью средств аудита можно просматривать использование идентификаторов участников группы «Администраторы». Операционная система позволяет идентифицировать каталоги и файлы каждого пользователя.
Необходимо назначить всем пользователям, которые должны обладать наивысшими правами доступа, второй идентификатор, принадлежащий группе «Администраторы», благодаря которому можно отслеживать все регистрации в системе и работу с файлами каждого такого пользователя. Права «Администратора» следует предоставлять строго ограниченному числу лиц.
Необходимо обязать «Администраторов» использовать свой идентификатор только в тех случаях, когда это действительно необходимо. Например, это может понадобиться, если какой-либо пользователь не может зарегистрироваться в системе. Другими словами, в своей обычной работе «Администраторы» должны регистрироваться в качестве пользователей; все «Администраторы» должны пользоваться своими «сверх возможностями» только в экстренных случаях, а в обычной работе им следует регистрироваться в качестве пользователей.
Отметим, что в NT-подобных операционных системах не существует средства аудита действий «Администраторов». Поэтому политика безопасности должна включать в себя просмотр журнала событий. С помощью таких просмотров можно определить пользователя, использующего идентификатор «Администратора». Кроме того, должны существовать некоторые средства регулирования регистрации администраторов в системе.
Иногда необходимо, чтобы отдельные пользователи системы могли изменять права доступа других пользователей. Например, управляющему проектом может понадобиться подключить к работе новых сотрудников. Вместо того чтобы предоставлять ему права «Администратора», можно зарегистрировать управляющего как участника группы «Операторы учета». После этого «Администратор» должен предоставить участникам этой группы полные права в необходимой для создания проекта области сети.
Если назначить различных «Операторов учета» во всех подразделениях фирмы, это значительно уменьшит нагрузку на системных администраторов. Кроме того, если кто-то из «Операторов учета» предоставит пользователям избыточные права, то «Администратор» легко сможет это определить. Эта операция отняла бы гораздо больше сил и времени, если бы ее совершил участник группы «Администраторы».
Наиболее опасным дою систем NT-подобных операционных систем является наличие учетных записей группы «Администраторы без пароля». В случае обнаружения такой учетной записи измените ее пароль.
По умолчанию NT-подобная операционная система не может заблокировать «Администратора» после нескольких неудачных попыток регистрации в системе. Поэтому он наиболее уязвим для атак словаря. Для устранения этого недостатка системы можно выполнить следующие операции:
1. Произвести переименование учетной записи администратора так, чтобы хакер не мог догадаться о ее предназначении.
2. Добавить нового пользователя с именем «Администратор» к группе «Гости». Присвоить этому пользователю очень длинный пароль. И наконец, подключить средства аудита неудачных попыток регистрации в системе. После этого необходимо тщательно наблюдать за «поведением» подобного «Гостя».
3. Произвести замену права «Администраторов» так, чтобы они не могли производить удаленную регистрацию в сети. После этого для регистрации в системе они должны будут использовать консоль. Таким образом, для взлома учетной записи администратора хакеру не обойтись без системной консоли. Необходимо также блокировать всех пользователей, неудачно регистрировавшихся в сети пять раз подряд.
Если учетные записи «Гостей», у которых нет паролей, не отключены, хакер сможет зарегистрироваться на хосте в качестве «Гостя» под любым именем и с помощью любого пароля. В случае, если не изменены права доступа «Гостей» к реестру Windows и некоторым важным файлам, хакер сможет нанести непоправимый вред системе и даже разрушить ее. Очевидно, что для избежания подобных ситуаций необходимо отключить учетную запись «Гость». Кроме того, тщательно просмотрите права «Гостей»; запретите им доступ к особо важным файлам вашей системы.
Группа программ администрирования
В процессе установки NT-подобная операционная система создает специальную группу программ «Администрирование (общее)». Несмотря на то что просматривать эту группу могут все пользователи, для запуска ее программ необходимо специальное разрешение. Список программ администрирования и необходимый уровень доступа для их запуска представлен в табл. 4.5 [66].
Только тщательная политика безопасности может предотвратить получение хакером привилегий «Администратора». Однако и в этом случае у хакера остаются пути для проведения атаки. Например, хакер может зарегистрироваться в системе в качестве пользователя и уже вовремя сеанса работы попытаться получить права «Администратора». Переход из группы с меньшими правами в другую группу называется атакой обхода безопасности (security step-up attack).
Одним из наилучших методов защиты от атак обхода безопасности является удаление группы «Администраторы» или изменение ее прав. Например, можно создать новую группу (назовем ее «Сетевые администраторы») и предоставить ее участникам полный доступ к системе. После этого можно изменить права группы «Администраторы». Теперь хакеру будет достаточно трудно определить, кто же на самом деле является администратором системы.
Хранение паролей
Каждая операционная система содержит специальную базу данных, в которой хранятся пароли всех пользователей системы. В NT-подобных операционных системах она располагается на сервере в каталоге \winnt\system32\config\sam. Однако там нет никаких паролей. Наоборот, в этом каталоге хранятся их однонаправленные функции смешанных значений, которые преобразуют исходные данные в некоторое значение. В NT-подобных операционных системах пароль пользователя преобразуется к кодировке Unicode, а затем с помощью алгоритма MD4 — в однонаправленное смешанное значение [66].
Когда кто-либо из пользователей пытается зарегистрироваться на сервере, рабочая станция NT-подобных операционных систем проделывает те же шаги, что и при первоначальной регистрации пользователя в системе. Введенный пользователем пароль преобразуется в смешанное значение MD4. После этого рабочая станция передает результат вычислений серверу. Тот, в свою очередь, сверяет полученное значение с элементами своей базы данных. Если какой-либо элемент совпадает с полученным значением, то сервер зарегистрирует пользователя в системе.
Таким образом, хранящиеся в базе данных значения не являются зашифрованным текстом (как это сделано в Unix-системах). Кроме того, благодаря этому рабочая станция должна пересылать серверу не зашифрованный пароль, а его смешанное значение, что существенно усложняет взлом перехваченных данных.
При проведении атаки на систему NT-подобных операционных систем хакер сначала пытается получить чей-либо пароль. Если не установлена блокировка учетных записей (Account Lockout), хакер сможет найти нужный пароль с помощью простейшего перебора всех возможных комбинаций. Для упрощения подобной операции он может воспользоваться специальной программой, которая будет перебират пароли до тех пор, пока не получит правильный. Этот метод называется методом взлома паролей с применением грубой силы. В Интернете широко распространена одна из таких программ. Все они пытаются заполучить пароль, подставляя простейшие комбинации вроде аа, ab, ас и т. д. В конце концов эта программа найдет хоть одну подходящую комбинацию. Весь вопрос только во времени.
По своей природе атака грубой силы требует консольного доступа к серверу или обладание хакером копией базы данных паролей. Для взлома пароля, состоящего из 16 символов, хакеру понадобится не более нескольких дней.
Если блокировка учетных записей не производится, система по умолчанию установит нулевой период блокировки для пользователей, некорректно регистрировавшихся в системе много раз. Благодаря этому хакер может спокойно провести на системе атаку грубой силы. Обязательно установите блокировку учетных записей. Однако не следует устанавливать слишком большой период блокировки, так как хакер сможет провести атаку отказа служб. Компания Microsoft рекомендует установить систему блокировки учетных пользователей, отключающую пользователя после пяти неудачных попыток регистрации в системе.
Наилучшим методом защиты от подобных атак является обеспечение физической безопасности сервера. Благодаря этому у хакера не останется шансов для проведения подобной атаки.
Для более быстрого получения паролей хакер может воспользоваться атакой словаря. Чтобы узнать пароли для работы в чужой сети, хакер должен получить доступ к чьему-либо имени и используемой в NT-подобных операционных системах реализации алгоритма MD4. К каталогу sam могут обратиться только «Администраторы». Поэтому, чтобы заполучить базу данных с паролями, хакеру понадобится консоль или резервная копия базы, т. е. хакер должен обладать физическим доступом к системе. Обеспечивая физическую безопасность сервера и резервных копий файлов, можно существенно уменьшить шансы нападающего. Скопировав базу данных с паролями, хакер попытается взломать ее с помощью атаки словаря. Последняя может проводиться двумя способами. Во-первых, хакер может попытаться перебрать все возможные слова (они расположены в файле со словарем) для входа в систему. Во-вторых, если у хакера есть копия базы данных паролей и алгоритм вычисления смешанных значений NT-подобных операционных систем, он может попытаться зашифровать слова из словаря и сравнить их с записями базы данных.Если какое-либо из значений совпадет с одним из элементов базы, %то связанное с этим значением слово является паролем.
Предоставление доступа — наиболее важный и наиболее чувствительный процесс в системе. Защита от атак хакеров предполагает регулярное изменение всеми пользователями паролей. Необходимо периодически запускать программы анализа системных паролей. Пользователи должны выбирать только очень сложные пароли дли-ной не менее восьми символов. Пароли пользователей должны со- стоять из чисел, букв и символов. Ни в коем случае нельзя использовать в качестве пароля какие-либо осмысленные слова, применяемые в человеческой речи, особенно похожие на их имена. Не используйте для создания паролей каких-либо алгоритмов. Пользователям нельзя слишком долго использовать один и тот же пароль. Кроме того, пользователь должен изменять свой пароль во время первой регистрации в системе.
В сети существует несколько бесплатных программ, с помощью которых можно обязать пользователей соблюдать правила создания удачных паролей.
Связь NT-подобных операционных систем с TCP/IP и HTTP
Наиболее опасными для систем NT-подобных операционных систем являются атаки с использованием SMTP (Simple Mail Transport Protocol) и HTTP (Hypertext Transport Protocol). Поэтому необходимо сделать так, чтобы при загрузке системы службы этих протоколов обладали ограниченными (до прав «Пользователя») правами доступа. Например, службе протокола HTTP необходимо предоставить только права на чтение каталогов, содержащих Web-файлы. Если же какой-либо сценарий CGI сгенерирует во время выполнения специфическую страницу, то в этом случае необходимо предоставить ему права чтения записи только для этой страницы. Ни в коем случае нельзя предоставлять службам SMTP и HTTP полный доступ к жесткому диску сервера NT-подобных операционных систем [66].
Службы обмена информацией с сервером
Для управления сетевыми службами и службами удаленного доступа к серверу в NT-подобных операционных системах используется протокол обмена информацией с сервером (Secure Message Block — SMB), который предоставляет пользователям возможности удаленного использования совместных каталогов, реестра и других служб системы. С его помощью пользователи могут получить доступ к любой службе сервера, доступной при использовании протокола NetBIOS (сетевой протокол NT-подобных операционных систем). Кроме того, с помощью этого протокола можно устанавливать свои (для протокола) разрешение доступа к совместно используемым каталогам, файлам, параметрам реестра и принтерам [66].
На протяжении всего сеанса работы с протоколом SMB NT-подобная операционная система управляет доступом с помощью имен пользователей и паролей. Учетная запись «Гость» не имеет своего пароля. Необходимо всегда отключать эту учетную запись, если она не используется. Обязательно отключите учетные записи «Гостей» на всех компьютерах, подключенных к Интернету или другой незащищенной среде.
Даже если все учетные записи обладают паролями, хакер может ] угадать имя пользователя и его пароль. Чтобы избежать этого, по- 1 просите своих пользователей чаще изменять пароли. Кроме того, вы должны установить ограничения на количество неудачных попыток регистрации. Если какой-либо пользователь превысит это ограничение, то система должна «заблокировать» его учетную запись. Можно отключить учетную запись на любой промежуток времени. Однако лучше всего блокировать записи как минимум на сутки. Благодаря этому администратору легче будет обнаружить хакера — в этом ему будут помогать пользователи.
Не следует устанавливать ограничения на количество некорректных регистрации для участников группы «Администраторы». Так вы сможете избежать атак отказа служб. Хакер может попытаться перебрать пароли всех пользователей системы (в том числе и «Администраторов») и вызвать блокировку всех учетных записей. Вследствие этого система может запретить доступ всем пользователям. Вместо этого можно изменить название группы «Администраторы», сделать пароли «Администраторов» наиболее длинными и трудными для взлома (для этого они должны содержать наряду с буквами цифры и прочие символы). Можно запретить «Администраторам» удаленную регистрацию.
Наилучшим методом защиты от атак, построенных на использовании протокола SMB, является отключение удаленного доступа к службам SMB. Если установлен маршрутизатор, необходимо отключить порты UDB/TCP (137, 138, 139). Благодаря этому станет невозможным присоединение NetBIOS с TCP/IP портами NT-подобных операционных систем.
Службы сообщений и оповещения
Основные уязвимые места NT-подобных операционных систем связаны с используемыми в ней службами. Службами называются программы, выполняемые на сервере NT-подобных операционных систем (обычно в фоновом режиме). С их помощью операционная си, тема может работать с различными протоколами, управлять серверами печати или накопителями информации и т. д. [66].
Используемые в NT-подобных операционных системах службы сообщений и оповещения позволяют пользователям домена обмениваться сообщениями. С их помощью хакер может проводить атаки прикладной социологии. Например, хакер может послать пользователю сообщение с требованием ввести имя и пароль.
Во время использования этих служб NT-подобная операционная система вынуждена передавать имя пользователя в таблицу имен NetBIOS. Благодаря этому хакер может перехватить имя пользователя и попытаться подобрать его пароль. Поэтому старайтесь избегать использования служб сообщений и оповещения. Наилучшим решением может быть удаление этих служб.
Совместно используемые ресурсы NetBIOS
При установке операционная система создает несколько совместно используемых ресурсов NetBIOS (совместно используемыми ресурсами называются совместно используемые файлы, каталоги и т. д.). К сожалению, по умолчанию эти ресурсы предоставляют всем пользователям полный доступ. Поэтому лучшим решением этой проблемы является установление строгих прав доступа к каждому из таких ресурсов [66].
Служба Network Monitor
Встроенная в NT-подобные операционные системы служба Network Monitor позволяет любому сетевому компьютеру просматривать все проходящие по сети пакеты. Работать с этой программой могут только администраторы. Для работы с этой программой необходимо наличие дополнительного пароля. К сожалению, эти пароли зашифровываются с помощью достаточно простого алгоритма и сохраняют его в DLL. Любой пользователь системы, у которого есть права чтения файла bhsupp.dll, может легко расшифровать пароль. Поэтому использовать Network Monitor целесообразно только в экстренных случаях [66].
Отключите агента Network Monitor и удалите файл bhsupp.dll. Для дальнейшего использования этой службы можно применить уникальный для каждого сеанса пароль или вообще обойтись без паролей. Завершив работу, удалите вновь созданный файл bhsupp.dll.
Служба расписания
Поставляемая вместе с NT-подобными операционными системами служба расписания позволяет администраторам автономно запускать пакетные задачи в определенное время. Обычно служба использует для своей работы учетную запись системы. Поэтому она может изменить права остальных учетных записей. С ее помощью хакер может запустить вирус «Троянский конь», который изменит (с помощью той же службы) разрешения для сети. При настройке компьютеры для обеспечения защиты класса С2 NT-подобных операционных систем отключают службу расписания. Запускать эту службу могут только участники группы «Администраторы» [66].
Существует два способа уменьшить опасность использования службы расписания хакером. Например, можно настроить службу так, чтобы она выполняла команды, используя учетную запись пользователя. Это решение особенно подходит для небольших Web-сайтов.
Реестр NT-подобных операционных систем
Операционная система NT-подобных операционных систем хранит большинство своих установок в реестре. В основном правами на чтение и запись реестра обладают только участники групп «Администраторы» и «Опытные пользователи», которые будут устанавливать новое программное обеспечение или просматривать журналы событий [66].
Если же вы предоставите права на изменение реестра «Обычным пользователям» или «Гостям», то хакеры смогут редактировать его элементы. К сожалению, в реестре хранятся не только сведения об установленных в системе программах, но также и очень важная информация о самой системе. Благодаря реестру можно коренным образом изменить вид и установки сервера NT-подобных операционных систем.
Если хакер будет иметь доступ к записям реестра, он сможет просмотреть список элементов управления доступом. Эта информация располагается в разделах HKEY_LOCAL_MACHINE и HKEY_ CLASSES_ROOT. Если же хакер будет иметь права на изменение реестра, он сможет контролировать любой его элемент (включая ассоциации, программы и т. д.). Изменив реестр, хакер может установить вирус «Троянский конь», который после перезагрузки системы будет передавать ему информацию.
Более того, если изменять реестр смогут участники группы «Гости», то нельзя вообще говорить ни о какой системе безопасности. Поэтому необходимо регулярно просматривать разрешения на файлы реестра. В NT-подобных операционных системах можно вообще запретить доступ к реестру из сети.
NT-подобные операционные системы и компьютерные вирусы
Некоторые виды KB (например, макровирусы) могут выполняться на компьютерах, работающих под управлением NT-подобных операционных систем. Определенные KB могут поражать эту операционную систему на компьютерах с двойной загрузкой (т. е. с двумя операционными системами). Дело в том, что загрузочные KB, поразившие вторую операционную систему (типа DOS, OS/2 или Windows 2000), могут вывести из строя загрузочную запись NT-подобных операционных систем. Многие известные вирусы DOS функционируют в эмулируемом в NT-подобных операционных системах режиме DOS. Большинство известных загрузочных KB могут заставить NT-подобные операционные системы выдавать сообщение о невозможности доступа к загрузочной записи [66]. С помощью антивирусных программ, работающих под управлением NT-подобных операционных систем, можно обезопасить сервер этих систем от проникновения KB с других компьютеров.
Обеспечение безопасности RAS
Одной из наиболее часто используемых служб NT-подобных операционных систем является служба удаленного доступа (RAS — Remote Access Service). Она управляет регистрацией удаленных пользователей в сети NT-подобных операционных систем, включая регистрации по телефону и через Интернет. Служба RAS работает совместно с локальным ведомством безопасности (LSA — Local Security Authority), диспетчером безопасности учетных записей (SAM — Security Account Manager) и монитором ссылок безопасности (SRM — Security Reference Monitor). С их помощью к сети могут присоединяться и такие пользователи, которые не присоединены к сети физически. Рост популярности RAS связан с увеличением количества пользователей, работающих в рамках корпоративных и глобальных сетей.
Служба RAS устанавливает соединение почти так же, как это делает сетевая служба. Удаленный компьютер передает полученное с помощью MD4 смешанное значение пароля и имя пользователя серверу NT-подобных операционных систем. Сервер, в свою очередь, сверяет смешанное значение с элементами базы данных паролей. Однако по умолчанию служба RAS зашифровывает только пароль. Чаще всего компьютеры пересылают данные RAS «открытым текстом».
Очевидно, что служба RAS создает огромное количество проблем, связанных с безопасностью сети. Пользователи с правами надежного доступа могут считывать и записывать файлы на компьютер, выполняющий службу удаленного доступа. Благодаря этому хакер может получить доступ ко всей сети и целом.
Для обеспечения большей безопасности сервера, использующего службу RAS, необходимо:
]) защитить сервер с помощью брандмауэра экранирующей подсети. С одной стороны подсети необходимо поместить экранирующий маршрутизатор, блокирующий каналы доступа между сервером RAS и компьютерами за брандмауэром. С другой стороны подсети необходимо поместить экранирующий маршрутизатор, блокирующий определенные действия (например, доступ с помощью протокола FTP). Общая схема расположения брандмауэра экранирующей подсети и сервера RAS представлена на рис. 4.20 [66];
2) подключить средства аудита службы RAS. После подключения стандартных средств аудита необходимо подключить средства аудита службы RAS. Это обеспечит регистрацию в журнале событий всех попыток использования удаленного доступа;
3) установить средства идентификации службы RAS. После этого служба будет требовать от пользователя создания цифровых подписей для каждого пересылаемого пакета. Благодаря этому можно избежать атак наблюдения48. С помощью цифровых подписей сервер всегда сможет обнаружить нарушение целостности данных пакета;
4) установить средства шифрования службы RAS. После этого сервер RAS будет пересылать удаленному пользователю одноразовый ключ (после удачной регистрации в системе). Одноразовый ключ зашифровывается службой RAS с помощью симметричного ключа, а сервер RAS генерирует новый одноразовый ключ при каждой регистрации удаленного клиента. Благодаря этому хакер не может повторно использовать чей-либо перехваченный ключ. Большинство одноразовых ключей являются симметричными, и многие из них обладают своим сроком существования. Одна из наиболее сложных проблем, связанных с шифрованием RAS в NT-подобных операционных системах, в том, что сервер передает одноразовый ключ «открытым текстом». Благодаря этому хакер может взломать ключ и воспользоваться им в течение одного сеанса. Эта проблема устраняется использованием встроенной реализации системы Kerberos, которая обладает достаточно мощными средствами защиты распределенных сетей;
5) подключить функции обратного дозвона («dial-back»). После этого сервер RAS будет проверять имя и пароль удаленного пользователя, а затем разъединять связь. После этого сервер наберет заранее запрограммированный номер пользователя и соединится с ним повторно. Благодаря этому можно зафиксировать телефон и месторасположение пользователя. Если у вас есть пользователи, которым нельзя дозвониться (например, агенты по продажам, расположившиеся в отеле), то создайте для них специальную учетную запись, которая не будет использовать функцию обратного дозвона.
6) наложить ограничения по времени на использование службы удаленного доступа. Например, можно разрешить удаленным пользователям регистрироваться в системе только с 6 утра и до 10 вечера.
Проделав эти операции, вы существенно повысите уровень безопасности своего сервера RAS. Если служба RAS не нужна, ее целесообразно отключить.
Атаки отказа служб
Отказом службы называется такая ситуация, когда сервер (или рабочая станция) делает одну из своих служб недоступной для других. Это наиболее распространенный вид атак на системы. Однако NT-подобные операционные системы достаточно устойчивы к подобным атакам. Попытки проведения атак отказа служб на NT-подобную операционную систем хакером могут включать [66]:
— установку хакером на компьютере вирус «Троянский конь» (для своей активизации вирус требует перезагрузки системы);
— скрытие хакером следов своей атаки или преднамеренный сбой процессора, который может заставить администратора поверить в то, что это была лишь «случайность» (или очередной «сбой» операционной системы);
— попытку вывода хакером из строя сервера.
Однако и системный администратор может сам провести атаку отказа служб на своем сервере, если, например, хочет удостовериться в устойчивости сервера к этому типу атак или если какой-нибудь процесс на сервере вышел из-под контроля и угрожает расположенным на диске данным и пользователям, подключенным к серверу. Очевидно, что необходимо отключить сервер. Если системный администратор находится на значительном расстоянии от сервера, то поможет только атака отказа служб.
ТСР-атаки
Хакеры могут перехватывать передаваемую информацию с помощью атак предсказания последовательности пакетов, шторма АСК-пакетов и т. д. Благодаря своему методу обработки ТСР-пакетов, сервер NT-подобных операционных систем, как правило, достаточно защищен от нападений, основанных на использовании протокола TCP, за исключением атак, напрямую использующих порты TCP и UDP. Здесь хакеры могут воспользоваться атакой «внедрения» [66].
Основные правила безопасности сервера NT-подобных операционных систем следующие [66]:
1. Защищайте свои серверы на физическом уровне. Невозможно говорить о безопасности того сервера, к которому имеют доступ обычные пользователи. 2. Запретите удаленную регистрацию на рабочих станциях.
3. Не держите несколько операционных систем на одном компьютере. На жестких дисках всех компьютеров должна стоять только одна операционная система NT-подобных операционных систем с файловой системой NTFS.
4. Удалите расширенные права использования реестра группы «Все».
5. Обязательно используйте средства аудита. При соединении с Интернет средства аудита должны быть использованы максимально.
6. Постоянно используйте обновленные пакеты дополнений (однако не используйте самые последние версии — в них могут быть ошибки).
7. Удостоверьтесь в том, чтобы каталоги с исполняемыми файлами были открыты только для чтения и выполнения. Старайтесь хранить частные файлы отдельно от общих.
8. Проверьте «хозяев» каталогов. Даже если у пользователя нет прав «Администратора», он в некоторых ситуациях может изменить права доступа к своему каталогу и расположенным в нем файлам.
9. Создайте с помощью программы «Диспетчер пользователей» жесткую политику паролей.
10. Отмените отображение имени пользователя, последним входившего в систему (Last Login).
11. Добавьте к локальным группам администраторов всех рабочих станций глобальную группу администраторов домена.
12. На контроллерах доменов запретите группе администраторов производить регистрацию из сети.
13. Если возможно, удалите службу расписания.
14. Запретите доступ к потенциально опасным на ваш взгляд приложениям (например, cmd.exe или ntbackup.exe).
15. Используйте брандмауэр. Как минимум, запретите внешний доступ к портам 135—139 с помощью протоколов TCP и UDP. Поместите Web, FTP и другие открытые серверы за пределами брандмауэра или в экранирующей подсети между двумя брандмауэрами.
16. Чтобы оградить серверы от действий определенных групп «Пользователей», применяйте «внутренние» брандмауэры.
17. С помощью специальной программы регистрируйте все попытки захвата паролей.
18. Ежедневно просматривайте записи аудита. Однако не стоит слепо верить, что средства аудита операционной системы могут зарегистрировать все события в системе. Исследуйте все странные записи; выясните причину появления каждой такой записи. Возможно, одна из них наведет вас на хакера.
19. Определите, обладает ли сервер уровнем безопасности класса С2.
20. Регулярно запускайте антивирусные программы и утилиту C2 Config.
21. Подпишитесь на рассылку и знакомьтесь со всеми новыми статьями о NT-подобных операционных системах, распространяемыми в группах новостей.
22. Будьте предельно внимательны. Не упускайте ни одной, даже самой малой детали. Каждое непредвиденное событие или неадекватное поведение системы рассматривайте как последствие попытки взлома.
23. Для уменьшения потенциального риска пользователям NT-подобных операционных систем необходимо:
— устанавливать все дополнения компании Microsoft;
— тщательно устанавливать разрешения всех файлов;
— регулярно производить проверку защищенности системы.
24. Для обеспечения безопасности сети NT-подобных операционных систем необходимо, прежде всего, воспользоваться элементарными средствами защиты от хакеров. Только каждодневная работа администраторов может уберечь систему от результативных атак хакеров.
25. Администратору сервера NT-подобных операционных систем обязательно необходимо знать обо всех новых средствах обеспечения безопасности этих операционных систем.
4.3.4. ПОЛИТИКА БЕЗОПАСНОСТИ СЕТИ
Каждая компания должна создать специальную структуру, занимающуюся вопросами безопасности сети. Политика безопасности включает следующие аспекты [66].
Индивидуальность — некоторая схема разделения и присвоения имен различным членам сети (членом сети может быть и пользователь, и хост).
Идентификация — метод определения прав на использование имени некоторого пользователя. Иначе говоря, с помощью идентификации можно определить, является ли некоторый пользователь тем, за кого он себя выдает. Средства идентификации состоят не только из механизмов проверки отдельных пользователей, но также и подразумевают создание эффективных паролей. Однако создание паролей относится уже к социальным проблемам — они зависят не от системы, а от уровня знаний пользователей.
Идентификация информации — метод определения создателя информации. Чаще всего для идентификации информации используются цифровые подписи.
Целостность данных — метод определения неизменности данных с момента их отправки. Для определения целостности данных также используются цифровые подписи.
Безопасность информации — 1) обеспечение защиты информации от случайного или преднамеренного доступа лиц, не имеющих на это права; 2) интегральное свойство информации, характеризующееся конфиденциальностью, целостностью и доступностью; 3) защищенность устройств, процессов, программ: среды и данных, обеспечивающая целостность информации, которая обрабатывается, хранится и передается этими средствами; 4) свойство среды обеспечивать защиту информации.
Безопасность информационной сети — меры, предохраняющие информационную сеть от несанкционированного доступа, случайного или преднамеренного вмешательства в нормальные действия или попыток разрушения ее компонентов.
Безопасность объекта — состояние защищенности объекта от различных угроз, при котором созданы условия для его нормального функционирования и строгого соблюдения на нем установленных режимов. Безопасность объекта обеспечивается и поддерживается путем разработки и реализации системы мер, осуществляемых администрацией объекта.
Конфиденциальность информации — метод защиты передаваемых по сети данных от несанкционированного доступа. В идеале конфиденциальную информацию должен прочитать только тот, кому она предназначается (для остальных она должна быть недоступна). Для обеспечения конфиденциальности информации чаще всего используется шифрование.
Определение прав — механизм, с помощью которого система определяет, может ли конкретный пользователь воспользоваться некоторой функцией или получить доступ к некоторой информации. Во многих системах определением прав занимается операционная система. В других (типа Kerberos) определением прав занимается специальный безопасный сервер.
Аудит — метод получения и хранения информации обо всех сетевых транзакциях.
Определение прав и аудита требуют определенных накладных расходов (процесс создания учетных записей). Каждый из пунктов списка может быть связан с остальными. Например, конфиденциальность информации связана с проблемами определения прав.
В процессе реализации политики безопасности необходимо определить, какие из перечисленных понятий наиболее важны для вашей системы. Только после этого можно приступать к разработке политики безопасности. Кроме того, вы должны создать письменный вариант реализации политики безопасности и предоставить его всем администраторам сети.
Несмотря на то что каждая система обладает уникальной политикой безопасности, основные принципы создания политики безопасности должны быть следующими [66]:
1. Каждая сеть должна обладать своей уникальной политикой безопасности.
2. Для создания политики безопасности необходима слаженная работа всего коллектива — от администраторов до простых пользователей.
3. Оценка риска подразумевает под собой определение всех нуждающихся в защите объектов системы и грозящей им потенциальной опасности.
4. Прежде всего, политика безопасности должна ответить на вопрос «что нужно защищать?» и лишь затем — как защищать (методы защиты).
5. Прежде чем приступить к реализации политики безопасности, необходимо тщательно продумать все ее аспекты.
6. Хорошая политика безопасности должна определять меры наказания нарушителей.
7. Эффективность политики безопасности определяется методами ее реализации и поддержания.
Формирование политики безопасности должно начинаться с разработки плана действий по осуществлению безопасности системы. Необходимо обеспечить защиту от проникновения хакера в систему. Наиболее общими в разработке безопасности системы являются следующие операции [66].
1. Определите, какие объекты нуждаются в защите. Выясните характеристики этих объектов. Например, предположим, что сервер содержит базы данных с важной для компании информацией. Чтобы определить необходимый уровень безопасности этих баз данных, вы должны выяснить, какими правами доступа обладают различные пользователи в настоящий момент.
2. Определите, что необходимо защищать и от кого нужно защищаться. Например, необходимо защитить базы данных от доступа внешних пользователей или записи каждого пользователя от остальных пользователей.
3. Определите степень вероятности угроз. Если область вашей деятельности достаточно узка или вы работаете только в определенном регионе, скорее всего, необходимо защищаться от своих же работников, а не от «внешних» хакеров.
4. Достаточно важным параметром средств обеспечения защиты информации является величина связанных с ними затрат. Одним из наиболее важных аспектов создания политики безопасности является оценка материальных затрат на ее внедрение. Речь идет об эффективном вложении ресурсов в создание средств безопасности. Например, многие администраторы сосредотачивают все свое внимание на вторжениях извне. Однако статистика показывает, что большая часть потерь организаций приходится на «внутренних» злоумышленников. Наиболее результативными в этом плане являются пароли, зашифрованные записи и брандмауэры.
5. Постоянно следите за состоянием безопасности системы. Немедленно устраняйте все найденные недостатки.
Первые три пункта являются определяющими компонентами политики безопасности системы. При разработке системы безопасности не забывайте о том, что она должна стоить меньше, чем восстановление системы после успешной атаки хакера.
Не имея четкого представления о том, что нужно защищать и от чего нужно защищаться, вы не сможете следовать приведенным выше правилам. Схема создания и реализации политики безопасности представлена на рис. 4.21 [66].
Чтобы определить официальную политику безопасности системы, необходимо выяснить, какие требования на систему налагает организация, в интересах которой разрабатывается политика безопасности. Кроме того, разрабатываемая политика безопасности должна включать средства предотвращения нападений и реакции
на нарушения безопасности. Чтобы решить эти задачи, необходимо четко определить специфические особенности организации, в интересах которой разрабатывается политика безопасности. Для этого необходимо:
— определить цели организации и методы их реализации. Например, военная база должна обладать гораздо более изощренными средствами безопасности, чем университет. Что же касается частных фирм, то здесь все определяется каждым
конкретным случаем;
— разработать политику безопасности, согласующуюся с уже существующими правилами, ограничениями и законами соответствующей организации. Для этого необходимо как минимум понимать все эти правила и законы;
— если система не является автономной (имеется связь с внешним миром), то необходимо продумать средства защиты от вторжений извне. В частности, необходимо рассмотреть возможности удаленного выполнения программ. Например, необходимо определить, как будут решаться проблемы, связанные с работой удаленных сайтов или неавторизованным доступом удаленных клиентов.
Для разработки политики безопасности необходимо привлечь сотрудников (разработчиков и исполнителей), обладающих различными полномочиями в организации и правами в сети. Разработчики должны заниматься поисками проблем и разрабатывать методы их устранения, исполнители — должны реализовывать найденные решения на практике. Кроме того, разработчики должны контролировать исполнителей.
Разработав политику безопасности, убедитесь, что каждый пользователь системы знаком со своими обязанностями. Политика безопасности может определять (и ограничивать) действия всех пользователей системы. Поэтому каждый пользователь организации
должен понимать, насколько важна политика безопасности, и строго выполнять установленные правила.
Например, только от пользователей зависит создание и правильное применение паролей. Каждый пользователь может обладать несколькими уровнями ответственности. Один из таких уровней может включать в себя ответственность за защиту учетной записи. Если пользователи будут передавать посторонним людям свое имя и пароль, то ни о какой политике безопасности не может быть и речи.
Администраторы системы могут организовать еще один уровень защиты — уровень физической безопасности компьютеров системы. После назначения разработчиков и исполнителей проекта политики безопасности, определите, что вы будете защищать.
Для большинства сетевых администраторов реализация безопасности системы напрямую определяется пониманием грозящих ей потенциальных опасностей. Анализ опасностей включает в себя определение объектов, нуждающихся в защите, а также оценку потенциальных угроз этим объектам. Лишь после этого можно определять методы защиты системы. Необходимо рассмотреть все возможные ситуации, определить объекты, нуждающиеся в защите, и определить их степень опасности. Для каждого объекта необходимо определить доступность, секретность и целостность. Для каждой опасности необходимо определить ее влияние на все три параметра объектов и способ защиты от нее.
Оценка опасности (потенциальных угроз) заключается в принятии приемлемых по величине затрат управленческих решений для каждой из потенциальных опасностей. При этом затраты на обеспечение безопасности не должны превышать ущерба от последствий атак [66].
Первым этапом анализа опасности является определение объектов, нуждающихся в защите. Очевидно, это будут некоторые части аппаратного обеспечения. Однако можно упустить не менее важные объекты, например, пользователей вашей системы. Основной задачей здесь является создание списка всех объектов (программ, документов периферийных устройств), которые могут подвергнуться опасности.
Основные категории объектов, нуждающихся в защите, следующие:
1. Данные. Наиболее распространенными типами данных являются документы, базы данных и журналы регистрации. Необходимо определить источники данных: память, архивные файлы, магнитная лента и т. д. и обеспечить защиту всех данных системы.
2. Программное обеспечение. Наиболее распространенными видами программного обеспечения являются исходные тексты программ, объектные коды, утилиты, программы диагностики, операционные системы и коммуникационные программы. Необходимо обеспечить защиту всего программного обеспечения, распространяемого организацией и установленного в системе.
3. Аппаратное обеспечение. Необходимо обеспечить защиту всего аппаратного обеспечения, используя для этого средства физической защиты и специальные программы.
4. Пользователи. Необходимо обеспечить надежную защиту учетных записей пользователей. У всех должны быть уникальные имена. У пользователей не должно быть прав, ненужных им по определению. Кроме того, все администраторы должны создать для себя вторые (пользовательские) учетные записи.
5. Документация. Необходимо обеспечить защиту документации посредством хранения защищенных оригиналов программ, аппаратного обеспечения, систем, локальных административных процедур и саму политику безопасности в месте, недоступном для других пользователей.
6. Аксессуары. Необходимо обеспечить защиту бумажных носителей информации, форм, лент и магнитных носителей. В последние годы наибольший урон организации понесли вследствие воровства именно этих носителей.
При разработке политики безопасности необходимо составить список всех объектов, принадлежащих одной из этих категорий.
Чтобы определить возможную опасность, необходимо выявить слабые места системы. Политика безопасности должна предусматривать методы усиления безопасности и уменьшения возможности нападений во всех областях системы. Области системы, наиболее часто подвергающиеся атакам, следующие:
— точки доступа. Неавторизованные пользователи используют эти точки для проникновения в систему. Чем больше точек доступа, тем больше шансов у хакера проникнуть в систему. Ссылки на сети, расположенные за рамками организации, могут помочь внешним пользователям получить доступ к сети организации. Чаше всего ссылка на сеть предоставляет доступ к большому количеству сетевых служб, что существенно повышает шансы хакера. Телефонные линии, в зависимости от своей конфигурации, могут предоставить доступ прямо к порту регистрации в системе. Если такая линия соединена с сервером терминала, то с ее помощью хакер сможет получить доступ ко всей системе. Серверы терминалов сами по себе представляют достаточно большую опасность для системы. Например, многие из них не проводят никакой идентификации пользователей. Зачастую они используются хакерами для обеспечения скрытности своих действий от администраторов. Для этого хакер присоединяется к такому серверу с помощью телефонной линии, а затем проникает в локальную сеть. Некоторые серверы терминалов используют конфигурацию, позволяющую хакерам использовать Telnet из внешней сети, что усложняет преследование;
— неправильно сконфигурированные системы. Огромное количество проблем безопасности связано с неправильно сконфигурированными системами. Современные операционные системы стали настолько сложными, что одно только изучение их работы превращается в целую науку. Часто администраторами систем становятся лица, не являющиеся специалистами в этой области. Частично ответственность за неправильную конфигурацию систем ложится и на продавцов. Чтобы облегчить работу с системой, продавцы выбирают конфигурацию, которая не обеспечивает должного уровня безопасности;
— ошибки в программном обеспечении. Не существует программ без ошибок. Ошибки — это один основных путей проникновения в систему. Чтобы решить этот вопрос, необходимо постоянно знакомиться со всеми известными проблемами безопасности и периодически обновлять программы. Обнаружив ошибку в программе, сообщите о ней поставщику;
— «внутренние» опасности. Эти опасности представляют собой наиболее распространенные проблемы для многих систем. Например, это может быть недовольный (уволенный) работник организации. Основное преимущество подобных нарушителей в том, что они обладают прямым доступом к системе и аппаратному обеспечению. Например, «внутренние» злоумышленники могут свободно использовать большинство рабочих станций и получать привилегированный доступ к системе. Доступ к локальной сети позволяет просматривать передаваемые по ней данные.
Каждый сайт может содержать и свои специфические проблемы безопасности.
На втором этапе для прогнозирования последствий атак необходимо определить, какая опасность грозит каждому из перечисленных объектов. Прежде всего, следует выяснить, от каких именно опасностей вы будете защищать свою систему. Основные типы опасностей могут быть следующие.
1. Неавторизованный доступ. Он может проявляться в различных формах. Например, кто-либо может воспользоваться учетной записью одного пользователей .серьезность подобных действий изменяется от сайта к сайту.
2. Рассекречивание информации. Необходимо определить ценность хранящейся в компьютерах информации. Рассекречивание файла с паролями может привести к использованию неавторизованного доступа в будущем. Например, знание планов организации может принести конкурентам неоспоримое преимущество в дальнейшей борьбе.
3. Отказ служб. Компьютеры и сети существуют, чтобы предоставлять своим пользователям некоторые специфические услуги. Многие люди вполне доверяют сетям и компьютерам. Представьте теперь, что одна из этих услуг более недоступна. Это может привести к перебоям в деятельности организации. Как известно, атаки отказа служб могут принимать различные формы. Причиной отказа служб могут стать помехи в сети, некорректный пакет или выход из строя одного из компонентов. Компьютерные вирусы могут замедлить работу системы или привести ее в полную негодность. Каждый сайт должен определить наиболее важные службы и последствия, вызванные их отказом.
Процесс разработки политики безопасности включает следующие основные этапы:
1. Определение того, кто может использовать каждый ресурс.
2. Определение необходимого доступа к ресурсу.
3. Определение того, кто может изменить права доступа к ресурсу.
4. Определение того, кто должен и будет обладать привилегиями администратора.
5. Определение прав и обязанности пользователей.
6. Определение различия между правами и обязанностями администраторов и пользователей.
7. Определение методов защиты важной и обычной информацию.
Разрабатывая политику безопасности, необходимо четко определить, кто может пользоваться системой и ее отдельными службами. Политика должна четко разграничить права доступа к ресурсу. Речь идет не об определении прав каждого пользователя в отдельности, а об определении прав для выполнения каких-либо работ, а также права пользователя в зависимости от положения в организации. Например, необходимо предоставить секретарям доступ к документам, хранящимся в их собственном каталоге, а также в определенных каталогах их непосредственных руководителей. Однако не следует предоставлять секретарям доступ ко всем каталогам их руководителя или каталогам других секретарей.
Определив права доступа к ресурсу, необходимо сформулировать правила работы с ним. У различных типов пользователей могут быть различные правила работы с одним и тем же ресурсом. Политика безопасности должна давать четкое определение правильной работы с ресурсом, а также содержать описание запрещенных методов работы. Необходимо определить ограничения на доступ и ввести различные уровни доступа отдельных пользователей и целых групп.
Индивидуальная ответственность должна существовать в любом случае. Политика «приемлемого использования» должна базироваться на ответственности каждого пользователя за свои действия. Этапы построения политики «приемлемого использования» включают определение:
— можно ли пользователям взламывать чужие учетные записи;
— обладают ли пользователи правом взламывать чужие пароли;
— можно ли пользователям выводить из строя сетевые службы;
— разрешено ли пользователям читать общие файлы;
— позволяет ли компания пользователям изменить чужие файлы;
— разрешается ли пользователям совместно использовать учетные записи.
Необходимо отдельно рассмотреть вопрос использования зарегистрированного программного обеспечения. Лицензионные соглашения с поставщиком могут содержать требования защиты программного обеспечения от некорректного использования программ пользователями. Необходимо напомнить служащим, что копирование защищенных авторскими правами программ является нарушением закона.
В политику безопасности целесообразно включить следующую информацию:
— пользователям не разрешается создание копий лицензированных и защищенных авторскими правами программ;
— пользователи должны четко знать правила использования лицензированных и защищенных авторскими правами программ;
— если сомневаетесь в своей правоте, не копируйте.
Политика «приемлемого использования» является очень важным компонентом политики безопасности. Без нее нельзя доказать, что кто-либо из пользователей не нарушает политики безопасности.
Существует несколько исключений для пользователей или администраторов, желающих приобрести «лицензии на хакерство». Например, это может произойти, если пользователь или администратор пытаются взломать систему, чтобы обнаружить ее недостатки. Вы должны тщательно продумать эту ситуацию и определить, разрешите ли вы проводить подобные «тесты» на системе. Необходимо принять во внимание следующее:
— разрешается ли в компании хакерская деятельность;
— какой тип действий разрешен: взлом системы снаружи, создание червей, вирусов и т. д.;
— какой тип элементов управления процессом взлома нужно установить, чтобы последний не вышел из-под контроля. Например, можно выделить для своих хакеров отдельный сегмент сети;
— как защищать от тестов остальных пользователей, включая внешних пользователей и присоединенные к вам сети;
— что необходимо для получения от начальства компании разрешения на хакерские действия.
Если возможность проведения подобных тестов предусматривается, необходимо изолировать используемый хакерами сегмент сети. Нельзя вводить вирусы в работающую сеть. Предусмотрите в политике безопасности дополнительные расходы на привлечение таких специалистов, занимающихся проверкой надежности вашей системы.
Политика безопасности должна определять людей, которые могут изменять права доступа к ресурсу. Необходимо указать, какие права они могут предоставлять. Если какой-либо работник организации не может контролировать доступ к ресурсу, то нельзя гарантировать и безопасность системы в целом.
Можно разработать несколько схем контроля предоставления доступа к системе. Определение пользователей, способных изменять права доступа, необходимо проводить в соответствии со следующими критериями [66]:
— необходимо определить, будут ли права предоставляться централизованно. Можно создать централизованную схему управления распределением прав в распределенной системе. Управленческое решение должно определяться соображениями безопасности и удобства. Чем более централизована система, тем легче обеспечивать ее безопасность;
— необходимо определить, каким образом будет проводиться создание учетных записей и ограничения доступа. С точки зрения безопасности системы создание учетных записей является особенно важным ее аспектом. Наименее жесткий вариант заключается в том, чтобы разрешить некоторым пользователям изменять права напрямую. В этом случае эти лица должны обладать возможностью зарегистрироваться в системе и создать новую учетную запись вручную или с помощью специальных механизмов. В целом подобные механизмы предоставляют использующему их лицу достаточно большие возможности и привилегии. Если выбирается именно этот вариант, то для такой работы подбираются достаточно надежные исполнители. И наоборот, можно создать интегрированную систему, предоставленную в пользование всем пользователям системы. Однако созданные с ее помощью учетные записи будут обладать ограниченными правами. Помните, что нельзя полностью застраховаться от неправильного использования средств создания учетных записей;
— необходимо разработать специальные процедуры создания учетных записей и убедиться в том, что использующие эти процедуры лица четко понимают их назначение.
Одним из наиболее важных вопросов организации безопасности системы является выбор администраторов. Очевидно, что системному администратору нужен полный доступ к системе. Однако не стоит делать системными администраторами всех пользователей, нуждающихся в нестандартных правах доступа. Основная задача политики безопасности состоит в выборе прав доступа для пользователей, выполняющих некоторые специфические задачи в системе. Здесь необходимо придерживаться правила: не предоставлять пользователям излишних прав. Их должно быть ровно столько, сколько необходимо для выполнения задач.
Кроме того, пользователи со специальными привилегиями должны контролироваться.
Политика безопасности должна определять права и обязанности всех пользователей системы. Каждый пользователь должен быть поставлен в известность о том, что он является ответственным за все :вои действия и соблюдение правил безопасности системы. При формировании политики безопасности должны быть освещены [66]:
— правила использования ресурса;
— к чему может привести неправильное использование ресурса;
— возможность разрешения пользователям совместно использовать учетные записи;
— как «секретные» пользователи должны хранить свои пароли;
— как часто пользователи должны менять свои пароли. Кроме того, какие ограничения следует наложить на пароли;
— кто будет создавать резервные копии (определенное лицо или подобные возможности будут предоставлены остальным пользователям);
— рассекречивание важной информации организации;
— закон о конфиденциальности электронной почты (Electronic Communication Privacy Act);
— участие в группах обсуждения или списках рассылки;
— политика электронных коммуникаций, касающаяся подделки почтовых сообщений и т. д. Ассоциация электронной почты (Electronic Mail Association — ЕМА) предоставила средства для создания спецификаций («white paper») о конфиденциальности сообщений электронной почты в компаниях. В частности, члены ассоциации рекомендуют всем компаниям создавать политику защиты конфиденциальности данных своих служащих не только для электронной почты, но и для остальных;
— когда следует обращаться к правоохранительным органам;
— может ли управляющий системы связаться с удаленным сайтом, если тот посылает запрос на соединение;
— кто может распространять информацию;
— извещение каждого пользователя о процедурах проведения контактов с «внешним» миром.
Кроме правил поведения, политика безопасности должна содержать описание действий, вызванных нарушением этих правил. Каждое нарушение политики безопасности должно рассматриваться как инцидент. Каждый пользователь должен быть ознакомлен с реакциями на все виды инцидентов.
Реакцию на инциденты определяют два метода [66]. Первый — стратегия типа «защитись и продолжи» — применяется на недостаточно защищенных сайтах. Кроме того, эта стратегия может быть использована пользователями сети. Основной целью этого метода является защита сайта. Администрация может попытаться помешать злоумышленнику, предотвратить дальнейшие попытки доступа и немедленно приступить к оценке нанесенного ущерба и восстановлению системы. Этот процесс может включать в себя отключение сетевых служб, запрет доступа к сети или более серьезные меры. Основным его недостатком является тот факт, что, пока вы не установите личность злоумышленника, он может вернуться (или атаковать другой сайт) с помощью других методов.
Второй метод — «преследование и наказание» — служит для определения злоумышленника. При этом администратор должен позволить злоумышленнику работать до тех пор, пока не будет выяснена его личность. Обычно так поступают органы власти. Основным недостатком метода является тот факт, что придется вести постоянные тяжбы с хакерами, нанесшими ущерб системе, а также нести дополнительные расходы на выслеживание и поимку хакера.
Наказание — это не единственный метод борьбы со злоумышленниками. Если злоумышленником системы оказался сотрудник, организация может ограничиться устным взысканием. Политика безопасности должна содержать четкие инструкции по отношению к своим «нарушителям».
Руководство сайта должно определить методы обеспечения безопасности системы. Выбор стратегии может зависеть от конкретных обстоятельств. Однако стратегия может определяться и глобально, для всех случаев.
Стратегия «защитись и продолжи» основана на укреплении средств безопасности системы после обнаружения постороннего вмешательства. Этой стратегии следует придерживать, если:
— сеть не слишком хорошо защищена;
— продолжительное вмешательство может привести к большим финансовым потерям;
— нет возможностей для привлечения злоумышленника к ответственности;
— неизвестны все пользователи системы, т. е. невозможно точно идентифицировать злоумышленника;
— пользователи не столь опытны, а выполняемая ими работа достаточно уязвима для постороннего вмешательства;
— сеть может стать причиной судебных разбирательств. Например, если обворованный с помощью коммерческой компьютерной сети пользователь потребует возмещения убытков.
Стратегия «преследование и наказание» используется лишь в том случае, если все последующие утверждения верны:
— хорошо защищенная система;
— регулярно создаются резервные копии всех своих данных;
— цена риска выше, чем последствия текущего вмешательства и возможных будущих вмешательств одного и того же нарушителя;
— атака представляет собой постоянно повторяющийся активный процесс;
— сайт представляет интерес для многих хакеров;
— администратор сайта хочет выяснить личность хакера даже ценой некоторых убытков;
— хорошо развиты средства управления доступом хакеров;
— достаточно хорошо настроенные средства аудита, т.е. имеются хорошие шансы на поимку хакера;
— персонал, обслуживающий сеть, обладает достаточным уровнем знаний об операционной системе, ее утилитах и системах отслеживания посторонних вторжений;
— управление компании хочет наказать злоумышленника;
— администратору системы известны пути вычисления хакера. Кроме того, они должны быть задокументированы (перенесены на бумагу);
— установлен контакт с правоохранительными органами;
— имеется юрист;
— подготовлен сайт для законных действий пользователей, если преследование хакера может вызвать разрушение их данных или систем.
Определив политику безопасности, необходимо отобрать людей, ответственных за ее реализацию. Это могут быть группы пользователей, занимающихся аудитом и управлением системы, структуры, обеспечивающие физическую безопасность, и т. д. Отвечать за создание политики должен один определенный человек (или группа людей). Отвечать за реализацию политики безопасности должны также все пользователи с достаточно широкими правами доступа. В каждом подразделении выделяется лицо (с наиболее высокими правами доступа к системе), отвечающее за реализацию политики безопасности в подразделении. Очень важно определить людей, ответственных за интерпретацию политики безопасности. Этим может заниматься один человек или целая организация.
Сформированную политику безопасности необходимо представить на рассмотрение всем пользователям своей системы. При этом не следует ограничиваться лишь листами рассылки. Пользователи должны высказать свои мнения и замечания по поводу политики безопасности. Для выяснения реакции пользователей необходимо провести семинары, собрания и т. д. Кроме того, таким образом осуществляется помощь пользователям в понимании всех аспектов политики безопасности. На этих семинарах должны присутствовать не только администраторы, но и простые служащие: безопасность системы зависит от всех ее пользователей. В идеале политика должна представлять собой некоторый компромисс между эффективностью системы и ее безопасностью.
Администратор сайта не должен ограничиваться одним изданием политики безопасности. Он должен периодически рассылать ее всем пользователям (со всеми внесенными изменениями). Кроме того, необходимо рассылать описание политики безопасности всем новым пользователям системы. Например, каждый новый пользователь должен ознакомиться с политикой безопасности вашей системы и подписать документ, удостоверяющий, что он усвоил ее и согласен придерживаться ее требований. Этот документ поможет в законном преследовании нарушений политики безопасности.
Политика безопасности должна определять то, что нужно защищать, основную оценку опасности различных типов нападений и их последствий, а также содержать прямые указания о том, как защищать. Последнее входит в обязанности процедур безопасности. Политика безопасности должна представлять собой документ высокого уровня, определяющий основную стратегию работы средств безопасности. Все детали ложатся на процедуры безопасности. В частности, список защищаемых элементов системы существенным образом влияет на создание эффективных процедур безопасности.
Создание процедур безопасности осуществляется с определения соответствующих механизмов. Например, сделать заявление: «На наш сайт можно входить со всех хостов, с помощью модемов с обратным дозвоном и smart-карт». Этот метод может привести к созданию излишне защищенных областей наравне с областями, защищенными недостаточно хорошо. Политика безопасности должна гарантировать, что используемые процедуры обеспечивают достаточный уровень защиты всех объектов.
Установив объекты, нуждающиеся в защите, и оценив опасность, грозящую системе, вы должны реализовать средства обеспечения безопасности системы. При этом средства безопасности, во-первых, должны удовлетворять требованиям политики безопасности и, во-вторых, должны быть не очень дорогими. Не стоит приобретать слишком дорогие средства безопасности и излишне сковывать действия пользователей, если опасность невелика. Основные факторы, влияющие на выбор необходимых средств безопасности [66]:
— правильный набор средств. Выбранные средства безопасности должны представлять собой «первую линию обороны». Если основной угрозой для системы является нападение извне, не стоит выбирать биометрические приборы идентификации пользователей. Если же системе чаше всего угрожают «внутренние» злоумышленники, возможно, лучше воспользоваться очень жесткими процедурами идентификации;
— здравый смысл. Все сверхсложные системы не смогут спасти вас от вторжений, если администратор (или пользователи) будет допускать ошибки. Например, один из служащих, использующий достаточно простой пароль, может свести к нулю все меры по обеспечению безопасности системы;
— использование нескольких стратегий. В случае провала одной стратегии необходимо немедленно воспользоваться другой. Используйте несколько методов обеспечения безопасности, предоставляющих одинаковые уровни защиты. Благодаря этому вы заметно повысите уровень безопасности системы. Несколько простых стратегий лучше, чем одна слишком сложная. Например, можно использовать модемы с обратным дозвоном вместе с традиционными механизмами регистрации в системе;
— физическая безопасность. Нельзя говорить о безопасности компьютерной системы, если не реализована физическая безопасность входящего в нее аппаратного обеспечения. Получив физический доступ к компьютеру, хакер может «подвесить» ее или перевести в привилегированный режим, удалить или изменить содержимое диска и т. д. Вы должны определить все достаточно важные компоненты системы (серверов или линии связи) и обеспечить их физическую безопасность. Некоторые системы безопасности (например, Kerberos) также требуют физической безопасности компьютеров. Сайты должны рассмотреть вопрос ограничения прав доступа ненадежных компьютеров к надежным. В частности, крайне рискованно предоставлять ненадежным хостам возможность надежного доступа (например, с помощью команд удаленной работы BSD Unix) к надежным хостам. В этом случае необходимо проследить, кто обладает доступом к компьютеру.