Обеспечение безопасности компьютерных сетей
Безопасность компьютерных сетей обеспечивается за счет политики и практик, принятых для предотвращения и мониторинга несанкционированного доступа, неправильного использования, модификации или отключения сети и доступных для нее ресурсов. Она включает в себя авторизацию доступа к данным, которая контролируется сетевым администратором. Пользователи выбирают или назначают идентификатор и пароль или другую аутентификационную информацию, которая позволяет им получать доступ к данным и программам в пределах своих полномочий.
Сетевая безопасность охватывает множество компьютерных сетей, как государственных, так и частных, которые используются в повседневной работе, проводя транзакции и коммуникации между предприятиями, государственными учреждениями и частными лицами.
Сети могут быть частными (например, внутри компании) и иными (которые могут быть открыты для доступа общественности). Безопасность компьютерных сетей связана с организациями, предприятиями и другими типами учреждений. Это защищает сеть, а также выполняет защитные и надзорные операции. Наиболее распространенным и простым способом защиты сетевого ресурса является присвоение ему уникального имени и соответствующего пароля.
Управление безопасностью
Управление безопасностью для сетей может быть различным для разных ситуаций. Домашний или малый офис может требовать только базовой безопасности, в то время как крупным предприятиям может потребоваться обслуживание с высоким уровнем надежности и расширенное программное и аппаратное обеспечение для предотвращения взлома и рассылки нежелательных атак.
Типы атак и уязвимостей сети Уязвимость является слабостью в дизайне, реализации, работе или внутреннем контроле. Большинство обнаруженных уязвимостей задокументированы в базе данных Common Vulnerabilitiesand Exposures (CVE). Сети могут подвергаться атакам из различных источников. Они могут быть двух категорий: «Пассивные», когда сетевой нарушитель перехватывает данные, проходящие через сеть, и «Активные», при которых злоумышленник инициирует команды для нарушения нормальной работы сети или для проведения мониторинга с целью получить доступ к данным.
Чтобы защитить компьютерную систему, важно разобраться в типах атак, которые могут быть осуществлены против нее. Эти угрозы могут быть разделены на следующие категории. «Задняя дверь» Бэкдор в компьютерной системе, криптосистеме или алгоритме - это любой секретный метод обхода обычных средств проверки подлинности или безопасности. Они могут существовать по ряду причин, в том числе по причине оригинального дизайна или из-за плохой конфигурации. Они могут быть добавлены разработчиком с целью разрешить какой-либо законный доступ, или же злоумышленником по иным причинам. Независимо от мотивов их существования они создают уязвимость.
Атаки типа «отказ в обслуживании» Атаки на отказ в обслуживании (DoS) предназначены для того, чтобы сделать компьютер или сетевой ресурс недоступным для его предполагаемых пользователей. Организаторы такой атаки могут закрыть доступ к сети отдельным жертвам, например, путем преднамеренного ввода неправильного пароля много раз подряд, чтобы вызвать блокировку учетной записи, или же перегружать возможности машины или сети и блокировать всех пользователей одновременно. В то время как сетевая атака с одного IP-адреса может быть заблокирована добавлением нового правила брандмауэра, возможны многие формы атак с распределенным отказом в обслуживании (DDoS), где сигналы исходят от большого количества адресов.
В таком случае защита намного сложнее. Такие атаки могут происходить из компьютеров, управляемых ботами, но возможен целый ряд других методов, включая атаки отражения и усиления, где целые системы непроизвольно осуществляют передачу такого сигнала. Атаки прямого доступа Несанкционированный пользователь, получающий физический доступ к компьютеру, скорее всего, может напрямую копировать данные из него.
Такие злоумышленники также могут поставить под угрозу безопасность путем внесения изменений в операционную систему, установки программных червей, клавиатурных шпионов, скрытых устройств для прослушивания или использования беспроводных мышей. Даже если система защищена стандартными мерами безопасности, их можно обойти, загрузив другую ОС или инструмент с компакт-диска или другого загрузочного носителя. Шифрование диска предназначено для предотвращения именно таких атак.
Концепция сетевой безопасности:
основные пункты Информационная безопасность в компьютерных сетях начинается с аутентификации, связанной с введением имени пользователя и пароля. Такая ее разновидность является однофакторной. С двухфакторной аутентификацией дополнительно используется и дополнительный параметр (токен безопасности или «ключ», карточка ATM или мобильный телефон), с трехфакторной применяется и уникальный пользовательский элемент (отпечаток пальца или сканирование сетчатки). После аутентификации брандмауэр применяет политику доступа. Эта служба безопасности компьютерной сети эффективна для предотвращения несанкционированного доступа, но этот компонент может не проверить потенциально опасный контент, такой как компьютерные черви или трояны, передаваемые по сети. Антивирусное программное обеспечение или система предотвращения вторжений (IPS) помогают обнаруживать и блокировать действие таких вредоносных программ. Система обнаружения вторжений, основанная на сканировании данных, может также отслеживать сеть для последующего анализа на высоком уровне. Новые системы, объединяющие неограниченное машинное обучение с полным анализом сетевого трафика, могут обнаруживать активных сетевых злоумышленников в виде вредоносных инсайдеров или целевых внешних вредителей, которые взломали пользовательский компьютер или учетную запись.
Кроме того, связь между двумя хостами может быть зашифрована для обеспечения большей конфиденциальности. Защита компьютера В обеспечении безопасности компьютерной сети применяются контрмеры - действия, устройства, процедура или техника, которые уменьшают угрозу, уязвимость или атаку, устраняя или предотвращая ее, минимизируя причиненный вред или обнаруживая и сообщая о его наличии.
Безопасное кодирование
Это одна из основных мер безопасности компьютерных сетей. В разработке программного обеспечения безопасное кодирование направлено на предотвращение случайного внедрения уязвимостей. Также возможно создать ПО, разработанное с нуля для обеспечения безопасности. Такие системы «безопасны по дизайну». Помимо этого, формальная проверка направлена на то, чтобы доказать правильность алгоритмов, лежащих в основе системы. Это особенно важно для криптографических протоколов. Данная мера означает, что программное обеспечение разрабатывается с нуля для обеспечения безопасности информации в компьютерных сетях. В этом случае она считается основной особенностью. Некоторые из методов этого подхода включают: Принцип наименьших привилегий, при котором каждая часть системы имеет только определенные полномочия, необходимые для ее функционирования. Таким образом, даже если злоумышленник получает доступ к этой части, он получит ограниченные полномочия относительно всей системы. Кодовые обзоры и модульные тесты – это подходы к обеспечению большей безопасности модулей, когда формальные доказательства корректности невозможны. Глубокая защита, где дизайн таков, что необходимо нарушить несколько подсистем, чтобы нарушить целостность системы и информацию, которую она хранит. Это более глубокая техника безопасности компьютерных сетей.
Архитектура безопасности Организация
Open Security Architecture определяет архитектуру IT-безопасности как "артефакты дизайна, которые описывают расположение элементов управления безопасностью (контрмеры безопасности) и их взаимосвязь с общей архитектурой информационных технологий". Эти элементы управления служат для поддержания таких атрибутов качества системы, как конфиденциальность, целостность, доступность, ответственность и гарантии.
Другие специалисты определяют ее как единый дизайн безопасности компьютерных сетей и безопасности информационных систем, который учитывает потребности и потенциальные риски, связанные с определенным сценарием или средой, а также определяет, когда и где применять определенные средства. Ключевыми ее атрибутами являются: отношения разных компонентов и того, как они зависят друг от друга. определение мер контроля на основе оценки рисков, передовой практики, финансов и правовых вопросов. стандартизации средств контроля.
Обеспечение безопасности компьютерной сети
Состояние «безопасности» компьютера - это концептуальный идеал, достигаемый при использовании трех процессов: предотвращения угрозы, ее обнаружения и ответа на нее. Эти процессы основаны на различных политиках и системных компонентах, которые включают следующее: Элементы управления доступом к учетной записи пользователя и криптографию, которые могут защищать системные файлы и данные. Брандмауэры, которые на сегодняшний день являются наиболее распространенными системами профилактики с точки зрения безопасности компьютерных сетей. Это связано с тем, что они способны (в том случае, если их правильно настроить) защищать доступ к внутренним сетевым службам и блокировать определенные виды атак посредством фильтрации пакетов. Брандмауэры могут быть как аппаратными, так и программными. Системы обнаружения вторжений (IDS), которые предназначены для обнаружения сетевых атак в процессе их осуществления, а также для оказания помощи после атаки, в то время как контрольные журналы и каталоги выполняют аналогичную функцию для отдельных систем. «Ответ» обязательно определяется оцененными требованиями безопасности отдельной системы и может охватывать диапазон от простого обновления защиты до уведомления соответствующих инстанций, контратаки и т. п. В некоторых особых случаях лучше всего уничтожить взломанную или поврежденную систему, так как может случиться, что не все уязвимые ресурсы будут обнаружены.
Что такое брандмауэр?
Сегодня система безопасности компьютерной сети включает в себя в основном «профилактические» меры, такие как брандмауэры или процедуру выхода. Брандмауэр можно определить как способ фильтрации сетевых данных между хостом или сетью и другой сетью, такой как Интернет. Он может быть реализован как программное обеспечение, запущенное на машине и подключающееся к сетевому стеку (или, в случае UNIX-подобных систем, встроенное в ядро ОС), чтобы обеспечить фильтрацию и блокировку в реальном времени. Другая реализация - это так называемый «физический брандмауэр», который состоит из отдельной фильтрации сетевого трафика. Такие средства распространены среди компьютеров, которые постоянно подключены к Интернету, и активно применяются для обеспечения информационной безопасности компьютерных сетей. Некоторые организации обращаются к крупным платформам данных (таким как Apache Hadoop) для обеспечения доступности данных и машинного обучения для обнаружения передовых постоянных угроз. Однако относительно немногие организации поддерживают компьютерные системы с эффективными системами обнаружения, и они имеют еще меньше механизмов организованного реагирования. Это создает проблемы обеспечения технологической безопасности компьютерной сети. Основным препятствием для эффективного искоренения киберпреступности можно назвать чрезмерную зависимость от брандмауэров и других автоматизированных систем обнаружения. Тем не менее это основополагающий сбор данных с использованием устройств захвата пакетов, которые останавливают атаки.
Управление уязвимостями
Управление уязвимостями - это цикл выявления, устранения или смягчения уязвимостей, особенно в программном обеспечении и прошивке. Этот процесс является неотъемлемой частью обеспечения безопасности компьютерных систем и сетей. Уязвимости можно обнаружить с помощью сканера, который анализирует компьютерную систему в поисках известных «слабых мест», таких как открытые порты, небезопасная конфигурация программного обеспечения и беззащитность перед вредоносным ПО. Помимо сканирования уязвимостей, многие организации заключают контракты с аутсорсингами безопасности для проведения регулярных тестов на проникновение в свои системы. В некоторых секторах это контрактное требование.
Снижение уязвимостей
Несмотря на то, что формальная проверка правильности компьютерных систем возможна, она еще не распространена. Официально проверенные ОС включают в себя seL4 и SYSGO PikeOS, но они составляют очень небольшой процент рынка. Современные компьютерные сети, обеспечивающие безопасность информации в сети, активно используют двухфакторную аутентификацию и криптографические коды. Это существенно снижает риски по следующим причинам. Взлом криптографии сегодня практически невозможен. Для ее осуществления требуется определенный некриптографический ввод (незаконно полученный ключ, открытый текст или другая дополнительная криптоаналитическая информация). Двухфакторная аутентификация - это метод смягчения несанкционированного доступа к системе или конфиденциальной информации. Для входа в защищенную систему требуется два элемента: «то, что вы знаете» - пароль или PIN-код; «то, что у вас есть» - карта, ключ, мобильный телефон или другое оборудование. Это повышает безопасность компьютерных сетей, так как несанкционированный пользователь нуждается в обоих элементах одновременно для получения доступа. Чем жестче вы будете соблюдать меры безопасности, тем меньше взломов может произойти. Можно снизить шансы злоумышленников, постоянно обновляя системы с исправлениями функций безопасности и обновлениями, использованием специальных сканеров. Эффект потери и повреждения данных может быть уменьшен путем тщательного создания резервных копий и хранения.
Механизмы защиты оборудования
Аппаратное обеспечение тоже может быть источником угрозы. Например, взлом может быть осуществлен с использованием уязвимостей микрочипов, злонамеренно введенных во время производственного процесса. Аппаратная или вспомогательная безопасность работы в компьютерных сетях также предлагает определенные методы защиты. Использование устройств и методов, таких как ключи доступа, доверенные модули платформы, системы обнаружения вторжений, блокировки дисков, отключение USB-портов и доступ с поддержкой мобильной связи, могут считаться более безопасными из-за необходимости физического доступа к сохраненным данным. Каждый из них более подробно описан ниже.
Ключи
USB-ключи обычно используются в процессе лицензирования ПО для разблокировки программных возможностей, но они также могут рассматриваться как способ предотвращения несанкционированного доступа к компьютеру или другому устройству. Ключ создает безопасный зашифрованный туннель между ним и программным приложением. Принцип заключается в том, что используемая схема шифрования (например, AdvancedEncryptionStandard (AES)), обеспечивает более высокую степень информационной безопасности в компьютерных сетях, поскольку сложнее взломать и реплицировать ключ, чем просто скопировать собственное ПО на другую машину и использовать его. Еще одно применение таких ключей – использование их для доступа к веб-контенту, например, облачному программному обеспечению или виртуальным частным сетям (VPN). Кроме того, USB-ключ может быть сконфигурирован для блокировки или разблокировки компьютера.
Защищенные устройства
Защищенные устройства доверенных платформ (TPM) интегрируют криптографические возможности на устройства доступа, используя микропроцессоры или так называемые компьютеры на кристалле. TPM, используемые в сочетании с программным обеспечением на стороне сервера, предлагают оригинальный способ обнаружения и аутентификации аппаратных устройств, а также предотвращение несанкционированного доступа к сети и данным. Обнаружение вторжений в компьютер осуществляется посредством кнопочного выключателя, который срабатывает при открытии корпуса машины. Прошивка или BIOS запрограммированы на оповещение пользователя, когда устройство будет включено в следующий раз.
Блокировка
Безопасность компьютерных сетей и безопасность информационных систем может быть достигнута и путем блокировки дисков. Это, по сути, программные инструменты для шифрования жестких дисков, делающие их недоступными для несанкционированных пользователей. Некоторые специализированные инструменты разработаны специально для шифрования внешних дисков. Отключение USB-портов - это еще один распространенный параметр безопасности для предотвращения несанкционированного и злонамеренного доступа к защищенному компьютером. Зараженные USB-ключи, подключенные к сети с устройства внутри брандмауэра, рассматриваются как наиболее распространенная угроза для компьютерной сети. Мобильные устройства с поддержкой сотовой связи становятся все более популярными из-за повсеместного использования сотовых телефонов. Такие встроенные возможности, как Bluetooth, новейшая низкочастотная связь (LE), ближняя полевая связь (NFC) привели к поиску средств, направленных на устранение уязвимостей. Сегодня активно используется как биометрическая проверка (считывание отпечатка большого пальца), так и программное обеспечение для чтения QR-кода, предназначенное для мобильных устройств. Все это предлагает новые, безопасные способы подключения мобильных телефонов к системам контроля доступа. Это обеспечивает компьютерную безопасность, а также может использоваться для контроля доступа к защищенным данным.
Возможности и списки контроля доступа
Особенности информационной безопасности в компьютерных сетях основаны на разделении привилегий и степени доступа. Широко распространены две такие модели - это списки управления доступом (ACL) и безопасность на основе возможностей. Использование ACL для ограничения работы программ оказалось во многих ситуациях небезопасным. Например, хост-компьютер можно обмануть, косвенно разрешив доступ к ограниченному файлу. Было также показано, что обещание ACL предоставить доступ к объекту только одному пользователю никогда не может быть гарантировано на практике. Таким образом, и сегодня существуют практические недостатки во всех системах на основе ACL, но разработчики активно пытаются их исправить. Безопасность на основе возможностей в основном применяется в исследовательских операционных системах, в то время как коммерческие ОС по-прежнему используют списки ACL. Однако возможности могут быть реализованы только на уровне языка, что приводит к специфическому стилю программирования, который по существу является уточнением стандартного объектно-ориентированного дизайна.
Безопасность ПК и сетей
Основными клиентами сетевой ОС являются ПК с установленными на них Windows 95, Windows 3.х и MS-DOS. Системные администраторы не видят в этом проблемы, так как Novell NetWare или Microsoft Windows NT Server считаются безопасными системами.
Но это глубочайшее заблуждение, и оно может привести к самым катастрофическим последствиям. Система безопасности сетевой ОС включает множество компонентов, и ее общий уровень безопасности определяется уровнем защиты самого слабого звена. Во многих случаях таким звеном оказывается клиент на основе Windows 95/3.х или MS-DOS.
В вычислительной технике пароли используют в двух случаях.
Для аутентификации пользователя. С помощью пароля пользователь подтверждает свои полномочия. Аутентификация может осуществляться операционной системой, программным продуктом или аппаратными средствами. Все серьезные операционные системы имеют те или иные средства аутентификации на основе паролей. Многие программные продукты, работающие с конфиденциальной информацией или предназначенные для многопользовательской среды, также определяют полномочия пользователей на основе паролей. К таким продуктам прежде всего относятся СУБД, разнообразные финансовые и бухгалтерские программы и т. п. На аппаратном уровне персональных компьютеров аутентификация осуществляется по паролю CMOS.
Пароль используют в качестве ключа при шифровании данных. Программы шифрования и алгоритмы, которые они задействуют, играют исключительную роль при работе с конфиденциальной и частной информацией. Шифрование наряду с разграничением прав доступа лежит в основе любой безопасной системы.
(Между прочим, сами пароли, применяемые для аутентификации пользователей, хранятся в зашифрованном виде в базе пользовательских бюджетов ОС, в конфигурационных файлах программных продуктов или памяти CMOS. В противном случае, при хранении незашифрованного пароля, злоумышленнику не составило бы труда отыскать его.)
Алгоритмы первого типа используют для шифрования и дешифрования один и тот же секретный ключ. Именно в этом качестве выступает пароль. Наиболее известным из подобных алгоритмов шифрования является DES (ключ имеет длину 56 разрядов). Чтобы найти ключ простым перебором комбинаций, взломщик должен проверить в среднем 70 триллионов комбинаций, что технически нереально. Программы на основе симметричного ключа очень широко распространены, хотя в коммуникационных системах они все чаще и чаще уступают место программам шифрования открытым ключом.
В алгоритмах второго типа используют два ключа: один для шифрования (открытый ключ) и один для дешифрования (личный ключ). Соответственно в качестве пароля выступает личный ключ. Установить его по открытому ключу практически нереально (в рамках возможностей современной вычислительной техники). Самыми популярными алгоритмами шифрования открытым ключом являются PGP и RSA. Подсчитано, что если при шифровании длина ключа составляет 1024 разряда, то, чтобы найти личный ключ простым перебором даже при одновременном использовании 1 млрд компьютеров, каждого производительностью 1 млрд ключей в секунду, не хватило бы времени существования Вселенной. Увы, но это в теории, на практике все оказывается зачастую совсем не так, но об этом позже.
До сих пор речь шла только о "солидных" алгоритмах шифрования. Именно о них говорят, как о невзламываемых (в теории). Правда, следует помнить, что экспортные ограничения США запрещают экспорт криптографических систем (без санкции соответствующих федеральных ведомств) на базе симметричных алгоритмов с длиной ключа, превышающей 40 разрядов, и для асимметричных систем - 512 разрядов. Это резко снижает криптографическую стойкость систем. Например, подобрать ключ к сообщению, зашифрованному протоколом S/MIME на основе 40-разрядного ключа, можно с помощью одновременно работающих 30 ПК на базе Pentium-166 в течение одного дня (если бы ключ был длиной 56 разрядов, то на это ушло бы 180 лет).
К великому сожалению, в большинстве прикладных неспециализированных программ используются еще менее надежные алгоритмы шифрования. Среди таких программ можно выделить Microsoft Word, Microsoft Excel, Microsoft Access, Corel WordPerfect, Symantec Norton Utilities и другие. Эти программные продукты не имеют надежных средств шифрования, хотя очень многие пользователи полагаются на них.
Для получения пароля злоумышленник может задействовать один из трех основных методов: дешифрование, подбор пароля и перехват (см. врезку "Методы "взлома" паролей").
В сетевой среде пользователь имеет доступ к нескольким различным типам ресурсов, в частности к ресурсам локальной ОС (т. е. ОС, установленной на персональном компьютере пользователя), к ресурсам сетевой ОС, к ресурсам баз данных и т. д. Соответственно, пользователь имеет независимые бюджеты в рамках этих систем. Очень часто все они защищаются с помощью одного и того же пароля, что значительно повышает удобство работы и позволяет автоматизировать процессы аутентификации пользователя - достаточно ввести пароль один раз, чтобы зарегистрироваться во всех системах (за счет кэширования пароля). Если в такой ситуации пароль в одной из систем плохо защищен и нестоек к взлому, то ненадежной становится защищенность всех других систем (см. Рисунок 1).
(1x1)
Рисунок 1.
Использование схожих паролей при доступе к независимым ресурсам подрывает систему безопасности.
Windows 95 и 3.х имеют одинаковую схему защиты, основанную на PWL-файлах. Когда в Windows 95/3.х заводят нового пользователя (например, Pupkin), то в каталоге WINDOWS создается соответствующий PWL-файл (PUPKIN.PWL), в котором хранится зашифрованный пароль пользователя. Применяемая при этом схема шифрования является весьма примитивной, поскольку она допускает прямое декодирование пароля. Еще более обостряет проблему файловая система FAT (VFAT в Windows 95) и отсутствие контроля доступа в Windows 95/3.х: каждый пользователь компьютера имеет доступ к любому файлу системы, в том числе и к PWL-файлам.
Если в Windows 95/3.х и в сетевой ОС задан одинаковый пароль, то, узнав пароль Windows, злоумышленник автоматически получает пароль и для сети.
Для взлома файлов PWL существует ряд программ. Наиболее известна среди них утилита GLIDE (http://freespace.virgin.net/j.wiles/hack.htm), имеющаяся не только в виде двоичного файла, но и в исходном коде на Си. Исходный код занимает всего 140 строк текста, и, помимо прочего, он позволяет понять алгоритм кодирования пароля. GLIDE взламывает пароль за считанные доли секунды. Правда, судя по сообщениям прессы, компания Microsoft выпустила заплатку, значительно усиливающую алгоритм шифрования пароля. Тем не менее проблема остается, поскольку доступность файлов PWL позволяет использовать другие формы взлома паролей (наподобие тех, что применяются для взлома паролей Windows NT и UNIX).
Каким же образом злоумышленник может получить доступ к файлам с паролями в Windows 95/3.х?
Во многих организациях весьма распространена практика, когда на ПК работают по очереди несколько пользователей. Это благодатная почва для злоупотреблений. Но все-таки наиболее опасные случаи возникают от недостатка опыта системных администраторов. Зачастую, сев за ПК пользователя для решения какой-либо проблемы, администратор входит в локальную и сетевую ОС под своим именем. Вот тогда-то и образуется файл PWL. При этом злоумышленнику необязательно стоять за углом в напряженном ожидании: он может воспользоваться PWL-файлом и через неделю, и через месяц, и через год (если пароль администратора не менялся). Соответственно злоумышленник может облюбовать для атаки не только бюджет администратора, но и другого пользователя.
Иногда злоумышленник может получить физический доступ к компьютеру, на котором когда-либо работал интересующий его пользователь. Ни в коем случае не следует полагаться на встроенную в Windows 3.х или Windows 95 систему защиты - ее очень легко обойти. Особенно грешит этим Windows 3.х, но и Windows 95 не намного лучше.
Так, если злоумышленник оказался перед выключенным ПК с Windows 95 и ни один пользовательский пароль ему неизвестен, то требуется не более двух минут, чтобы обойти систему безопасности ОС. Не поможет даже отключение меню начальной загрузки. Процедура состоит из следующих шагов.
1. Включить ПК и дождаться, пока не закончится фаза начальной загрузки (т. е. до появления заставки Windows 95).
2. В тот момент, когда Windows 95 инициализирует систему и загружает драйверы, необходимо выполнить теплую перезагрузку системы.
3. Во время перезагрузки запускать основной режим (normal mode) Windows 95 не следует. Вместо этого необходимо выбрать режим безопасной загрузки (safe mode). После чего запускается редактор Реестра (Registry), с помощью которого отменяется действие системы защиты.
Некоторые всерьез рассчитывают на системную политику (Policy) Windows 95. Но и ее легко обойти. Достаточно вынуть сетевую плату и перегрузить Windows 95, чтобы оказаться в режиме безопасной загрузки, и затем отменить защиту на основе паролей.
Системы защиты Windows 95 и Windows 3.х позволяют не только легко взламывать пароли, но и запросто уничтожать бюджет пользователя или отменять действие паролей. Так, если пользователь забыл свой пароль, то достаточно уничтожить его файл PWL.
Многие пользователи ПК возлагают надежду на пароли, записываемые в CMOS. Они полагают, что эти пароли могут защитить ОС и информацию, находящуюся на локальных дисках, от несанкционированного доступа. Но в большинстве случаев такая защита не более чем иллюзия, поскольку алгоритмы шифрования паролей CMOS довольно просты. Взломать пароли CMOS позволяют несколько утилит:
После запуска такая утилита выдает пароль. Кроме того, другие утилиты позволяют изменять пароли CMOS.
Отличительной особенностью всех этих утилит является то, что для их использования ОС на компьютере уже должна быть загружена. Если же компьютер не включен, то потребуется вскрыть корпус ПК и постараться отключить элемент питания CMOS (в наихудшем случае можно попробовать закоротить его). Отдельные модели ПК имеют переключатели сброса пароля CMOS, так что здесь процедура еще проще.
Справедливости ради надо отметить, что некоторые компьютеры, и прежде всего серверы, имеют хорошую защиту от несанкционированного доступа внутрь корпуса (к сожалению, таких компьютеров значительное меньшинство).
В любом случае задавать тот же пароль CMOS, что и пароль пользователя в сетевой и локальной ОС, не следует.
Еще один класс утилит может представлять угрозу для безопасности сети в руках злоумышленника. Это так называемые перехватчики сканкодов клавиатуры, которые записывают вводимую с клавиатуры информацию, в том числе и пароли. Больше всего их написано для MS-DOS. Перехватчики являются резидентными программами и обычно действуют незаметно для пользователей. После запуска утилита записывает сканкоды нажатых клавиш в специальный файл. Это может быть либо фиксированное количество нажатий, либо запись всех кодов до момента явной выгрузки утилиты из операционной памяти компьютера.
Схема атаки весьма тривиальна. Злоумышленник вносит в файл начальной загрузки (AUTOEXEC.BAT для MS-DOS) команду запуска перехватчика сканкодов клавиатуры перед строкой инициализации подключения к сети, и после этого приглашает администратора для решения какой-либо проблемы (мнимой или настоящей). Если администратор на этом ПК регистрируется под своим именем, то его пароль перестает быть секретным. Администратор, как правило, не проверяет содержимого файлов начальной загрузки (да и вряд ли это будет уместно в условиях дефицита времени).
Если есть возможность, то злоумышленник попытается поставить перехватчик сканкодов на машины других пользователей или замаскировать вызов перехватчика через сетевые программы. Для того чтобы скрыть файлы и каталоги с записанными сканкодами, идут на всякие ухищрения. Например, если имя каталога состоит из символов ALT+255, то в MS-DOS такой каталог делается невидимым.
В отличие от атак на файлы PWL, которые могут быть отсроченными, время использования перехватчиков сканкодов клавиатуры сильно ограничено (иначе велика вероятность того, что злоумышленника обнаружат). Применение подобных утилит обычно подразумевает явный злой умысел.
Как уже подчеркивалось, большинство перехватчиков написано для MS-DOS. Самые известные из них - Keytrap, Playback, Keycopy и др.
Перехватчики могут быть реализованы и для Windows 95/3.х, но поскольку есть более простые и эффективные способы атак (хотя бы атака на PWL-файлы), то они не получили широкого распространения.
Гораздо сложнее написать утилиты перехвата для Windows NT. Здесь требуется знание ОС на уровне системного программиста. Кроме того, для установки такой утилиты на ПК необходимы полномочия администратора Windows NT.
Помимо универсальных утилит перехвата сканкодов есть и специализированные. Например, для перехвата паролей в среде Novell NetWare существует программа Getit. Она отслеживает только обращение к функции LOGIN и, таким образом, не накапливает "мусор".
Утилиты для подбора паролей, весьма распространенные для взлома UNIX-систем, начали появляться и для Windows NT.
Любая серьезная операционная система (Windows NT, UNIX, VMS и т. д.) содержит базу бюджетов пользователей, где наряду с регистрационными именами и другой информацией хранятся зашифрованные пароли. Применяемые здесь алгоритмы шифрования весьма надежны: взломать их напрямую практически невозможно. Когда пользователь вводит свой пароль при входе в систему, то ОС запускает подпрограмму шифрования, и та выдает зашифрованный пароль. Именно эту строку ОС сравнивает с оригиналом, хранимым в базе пользовательских бюджетов. Если строки совпадают, то пользователь считается аутентифицированным.
Утилиты подбора паролей работают следующим образом. Они не пытаются напрямую декодировать пароли (по большому счету это пустая затея), а используют слабости человеческой психологии. К сожалению, люди склонны задавать в качестве паролей хорошо знакомые слова, иногда перемежая их цифрами. Также весьма распространена практика задания паролей на основе набора символов, близко расположенных на клавиатуре (например, qwerty).
В состав любой утилиты подбора паролей входит файл (называемый словарем), который содержит большое количество слов и словосочетаний из орфографического словаря. Утилита последовательно выбирает из словаря строку за строкой, шифрует ее с помощью алгоритмов шифрования, применяемых в ОС, и сравнивает полученные значения со значениями из пользовательской базы данных. Хорошие утилиты, не ограничиваясь этим, могут производить дополнительные проверки, например, добавляя в то или иное место исходной строки цифры либо специальные символы или "играя" строчными и прописными буквами (для NT это неактуально, поскольку здесь все символы пароля переводятся в прописные). Благодаря современной технике скорость работы таких утилит весьма высока и составляет до несколько десятков тысяч переборов в минуту, но процедура все равно может затянуться надолго. Если же пароль придуман сложный, то у утилит нет шанса его подобрать.
Для взлома паролей имеется множество словарей, рассчитанных на самые разные языки, поэтому, выбирая в качестве пароля русское слово, не стоит надеяться на то, что его не подберут.
Очевидно взломщику для применения подобных утилит необходим доступ к базе пользовательских бюджетов. В Windows NT такие утилиты может запускать администратор (Administrator) локальной машины в случае файловой системы NTFS и любой пользователь в случае файловой системы FAT. Соответственно для взлома пароля злоумышленник должен под каким-то предлогом завлечь системного администратора на ПК, где он (злоумышленник) является администратором локальной ОС или где ОС установлена на FAT.
Среди программ подбора паролей в Windows NT можно выделить Scan NT (http://www.ntsecurity.com/Products/ScanNT/index.html) и Password NT (http://www.ntsecurity.com/Services/Recovery/index.html).
Очевидно, что получение злоумышленником пароля системного администратора может подвергнуть риску безопасность всей сети. Поэтому необходимо выполнять ряд обязательных требований для исключения такой возможности. Кроме того, использование в сети ПК с Windows и MS-DOS накладывает дополнительные ограничения на деятельность администраторов.
Основным и важнейшим требованием для администратора является отказ от задания идентичных паролей в сетевой и локальной ОС. Также администратор не должен использовать пароль сетевой ОС при работе с программами, предоставляющими функции шифрования (Excel, Paradox, Word и т. д.). Кроме того, администратору жизненно важно максимально ограничить возможность физического доступа к своему компьютеру - это позволит избежать установки "Троянских коней" (типа перехватчика сканкодов клавиатуры) или вирусов.
Затем администратору для повседневной работы в сети лучше завести специального пользователя с ограниченными полномочиями. Для тестирования программных продуктов на чужих ПК следует завести еще одного пользователя (к примеру, GUEST), но уже с минимальными полномочиями.
Администратор не должен регистрироваться на чужих ПК с привилегированными полномочиями. Если же по каким-то чрезвычайным обстоятельствам приходится это делать, то по окончанию работ администратору необходимо удалить все свои PWL-файлы. Причем удалять надо не обычными командами DEL или ERASE, а программами, полностью стирающими блоки на диске (в противном случае злоумышленник может восстановить PWL-файлы). Такого рода программы есть во многих сервисных приложениях, например в Symantec Norton Utilities.
Для контроля событий в сети есть смысл задействовать систему аудита. Зачастую это позволяет отслеживать и выявлять попытки взлома системы. Кроме того, список ПК, с которых администратору и пользователям разрешается входить в сеть на уровне сетевой ОС, можно ограничить (хотя такая защита не совсем надежна).
Само собой разумеется, что все пароли, а особенно пароли административного персонала, не должны быть тривиальными. Лучше, если пароль системного администратора будет состоять не менее чем из восьми символов, включая не только буквы и цифры, но и специальные символы. Администратору следует менять пароль не реже, чем раз в квартал. Время от времени следует также запускать утилиты подбора паролей для выявления ненадежных паролей.
Даже опытные администраторы в различных системах довольно часто задают похожие пароли. Например, в среде Windows устанавливается пароль "wtek2lun", а в среде NetWare - "ntek2lun". Это очень опасно. Если произойдет взлом пароля в одной системе, подобрать пароль в другой не составит труда.
Системному администратору не стоит забывать устанавливать заплаты (patch) к ОС, особенно те из них, которые связаны с системой безопасности.
Все, о чем шла речь в отношении администраторов, можно было бы отнести и к обычным пользователям. Но, к сожалению, это нереально, поскольку такие меры привели бы к большим неудобствам. Тем не менее, несмотря на издержки, для пользователей с особыми полномочиями или работающих с конфиденциальной информацией рекомендуется применять те же правила безопасности, что и у административного персонала.
Как уже было сказано ранее, у неспециализированных прикладных программ, имеющих встроенные функции шифрования, пароли легко взламываются с помощью хакерских программ. Например, обойти защиту Word, Excel, Access, Paradox, WordPerfect и др. не представляет труда. Пользователям необходимо избегать задания в качестве паролей этих программ пароли сетевой ОС или СУБД. Кроме того, зашифрованную информацию не следует размещать на общедоступных сетевых дисках.
До этого времени шла речь о том, какая опасность грозит сети от пользователей-злоумышленников. Это, несомненно, актуальная тема. Но пользователи в свою очередь могут пострадать от действия системного администратора, скажем так, слишком любопытного. Здесь мы, конечно, не имеем в виду такие злонамеренные действия, как разрушение сетевой инфраструктуры. Это для администратора не проблема. Однако, поскольку поддержание работоспособной сети входит в круг непосредственных обязанностей системного администратора, то он, если не хочет быть уволенным, вряд ли пойдет на откровенный саботаж.
Но есть вещи, за которые администратор не отвечает и к которым у него не должно быть доступа. Это может быть и финансовая документация, и информация о новейших разработках предприятия, и конфиденциальная переписка руководства компании. Только не следует считать такую ситуацию высосанной из пальца: она как раз довольно типична. Кстати, один из великих хакеров современности Рандал Шварц (Randal Schwartz), работая системным администратором Intel, успел натворить немало дел, прежде чем был пойман и осужден. Но обнаружили это, в общем-то, случайно, из-за одной лишь оплошности.
Как же можно защититься от излишне любопытного системного администратора? По большому счету это сделать очень трудно, особенно если вы имеете дело с квалифицированным специалистом. Но давайте вначале рассмотрим, каковы возможности системного администратора получить доступ к закрытой информации.
На первый взгляд кажется, что если использовать мощные алгоритмы шифрования с нетривиальными паролями, то дешифровать информацию нельзя. Это и так, и не так. Возьмем, к примеру, сетевую ОС NetWare 4.х. Она позволяет создавать входные сценарии (Login Script) для контейнера NDS, для профиля и для конкретного пользователя. Причем сам пользователь может редактировать только сценарии третьего типа. Представьте себе, что администратор помещает во входной сценарий контейнера или профиля (пользователи их обычно не проверяют, так как не имеют возможности редактировать) команду запуска утилиты перехвата сканкодов клавиатуры. Все, дело в шляпе! Программу-перехватчика сканкодов можно завуалировать так, что обнаружить это будет практически невозможно.
На самом деле такой подход слишком примитивен, хотя и вполне работоспособен. Есть гораздо более изящные решения, позволяющие контролировать каждое действие пользователя с полным дублированием содержимого его дисплея.
Для исключения (или, если точнее, снижения вероятности) подобных ситуаций необходимо иметь независимого администратора аудита (безопасности).
Все мощные сетевые ОС позволяют использовать функции такого администратора. Более того, системный администратор не в состоянии напрямую влиять на аудит (протоколирование) событий в системе. Однако уровень квалификации администратора аудита не должен быть ниже уровня системного администратора. Но лишь в крупной организации это экономически оправдано.
И напоследок несколько рекомендаций для руководителей организаций.
Системных администраторов необходимо набирать с большой ответственностью и обращать внимание не только на их квалификацию, но и на, так сказать, моральный облик. Ни в коем случае нельзя экономить на зарплате системного администратора или рассматривать его в качестве мальчика на побегушках. Добром это не кончится. Обозленный администратор может нанести урон больший, чем наводнение или ураган. Если сомневаетесь в администраторе сети, то обязательно наймите администратора аудита. Береженого Бог бережет.
Дешифрование пароля
Такой вариант подходит только для самых слабых алгоритмов шифрования.
Подбор паролей (ключей)
Этот метод является основным в современной криптографии. Пароль определяется простым перебором комбинаций, либо полным, либо частичным. Полный перебор комбинаций возможен лишь для не очень стойких алгоритмов, когда длина ключа позволяет это. Частичный перебор пароля применяют для самых надежных алгоритмов шифрования. Обычно он состоит в простом переборе значений в соответствии с некоторыми критериями (например, по орфографическому словарю английского языка).
Перехват пароля
Пожалуй, самый эффективный способ получения пароля для многих алгоритмов шифрования. Перехват может быть осуществлен либо визуально (подсматривание из-за плеча), либо с помощью специализированных программных средств.