Технологии цифровых подписей

 

Ответ:

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

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

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

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

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

Представим теперь готовую к передаче хеш-сумму в виде нескольких k-битных блоков hi, где k – это размер сообщений по алгоритму RSA в предыдущем параграфе. Вычислим над каждым блоком значение si=((hi)d)mod n, где d – это тот самый закрытый ключ отправителя. Теперь сообщение, состоящее из блоков si можно "спокойно" передавать по сети. Никакой опасности по известным hi и si найти Ваш секретный ключ нет – это настолько же сложная задача, как и задача "логарифмирования в конечном поле". А вот любой получатель сообщения может легко прочесть исходное значение hi, выполнив операцию ((si)e)mod n = ((hi)d*e)mod n = hi – Ваш открытый ключ (e,n) есть у всех, а то, что возведение любого числа в степень (e*d) по модулю n дает исходное число, мы доказали в прошлом параграфе. При этом никто другой, кроме Вас, не зная Вашего закрытого ключа d не может, изменив текст, а следовательно, и хеш-сумму, вычислить такие s'i, чтобы при их возведении в степень e получилась хеш-сумма h'i, совпадающая с хеш-суммой фальсифицированного текста.

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

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

 

Сетевая безопасность

 

Ответ:

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

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

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

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

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

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

А вот проблема вывода из строя (нарушения нормального функционирования) сервисов довольно актуальна в современном компьютерном мире. Класс подобных атак получил название атака "отказ в сервисе" (англ. deny of service – DoS ). Атака "отказ в сервисе" может быть реализована на целом диапазоне уровней модели OSI : физическом, канальном, сетевом, сеансовом. Детально схемы реализации данной атаки мы рассмотрим в параграфе, посвященном модели OSI.

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

DNS-служба (англ. Domain Name System – служба доменных имен) в сетях Intra- и Inter- Net отвечает за сопоставление "произносимых" и легко запоминаемых доменных имен (например, www.intel.com или mail.metacom.ru) к их IP-адресам (например, 165.140.12.200 или 194.186.106.26). Пакеты между станциями всегда передаются только на основании IP-адресов (маршрутизаторы ориентируются только на их значения при выборе направления отправки пакета – доменное имя вообще не включается в отправляемый пакет), а служба DNS была создана в основном для удобства пользователей сети. Как следствие и во многих сетевых программах имя удаленного компьютера для большей гибкости или для удобства операторов заносится не в виде 4-байтного IP-адреса, а в виде доменного имени. Да, действительно, два указанных преимущества будут достигнуты в этом случае, а вот безопасность пострадает.

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

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

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

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

Те троянские программы, которые постоянно обеспечивают доступ к зараженной ЭВМ, а, следовательно, держат на ней открытый порт какого-либо транспортного протокола, можно обнаруживать с помощью утилит контроля за сетевыми портами. Например, для операционных систем клона Microsoft Windows такой утилитой является программа NetStat. Запуск ее с ключом "netstat -a" выведет на экран все активные порты ЭВМ. От оператора в этом случае требуется знать порты стандартных сервисов, которые постоянно открыты на ЭВМ, и тогда, любая новая запись на мониторе должна привлечь его внимание. На сегодняшний день существует уже несколько программных продуктов, производящих подобный контроль автоматически.

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

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

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

Естественно, основным видом атак на среду передачи информации является ее прослушивание. В отношении возможности прослушивания все линии связи делятся на :

  • широковещательные с неограниченным доступом
  • широковещательные с ограниченным доступом
  • каналы "точка-точка"

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

К широковещательной категории сетей относятся сеть TokenRing, сеть EtherNet на коаксиальной жиле и на повторителях (хабах – англ. hub). Целенаправленную (защищенную от прослушивания другими рабочими станциями) передачу данных в сетях EtherNet производят сетевые коммутаторы типа свич (англ. switch) и различного рода маршрутизаторы (роутеры – англ. router). Сеть, построенная по схеме с защитой трафика от прослушивания смежными рабочими станциями, почти всегда будет стоить дороже, чем широковещательная топология, но за безопасность нужно платить.

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

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

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

Атаки на узлы коммутации преследуют обычно две цели : либо нарушение целостности сети ("отказ в сервисе"), либо перенаправление трафика по неверному пути, каким-либо образом выгодному злоумышленнику.

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

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

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

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

 

17. ПО и информационная безопасность

 

Ответ:

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

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

Операционная система MS-DOS является ОС реального режима микропроцессора Intel, а потому здесь не может идти речи о разделении оперативной памяти между процессами. Все резидентные программы и основная программа используют общее пространство ОЗУ. Защита файлов отсутствует, о сетевой безопасности трудно сказать что-либо определенное, поскольку на том этапе развития ПО драйверы для сетевого взаимодействия разрабатывались не фирмой MicroSoft, а сторонними разработчиками.

Семейство операционных систем Windows 95, 98, Millenium – это клоны, изначально ориентированные на работу в домашних ЭВМ. Эти операционные системы используют уровни привилегий защищенного режима, но не делают никаких дополнительных проверок и не поддерживают системы дескрипторов безопасности. В результате этого любое приложение может получить доступ ко всему объему доступной оперативной памяти как с правами чтения, так и с правами записи. Меры сетевой безопасности присутствуют, однако, их реализация не на высоте. Более того, в версии Windows 95 была допущена основательная ошибка, позволяющая удаленно буквально за несколько пакетов приводить к "зависанию" ЭВМ, что также значительно подорвало репутацию ОС, в последующих версиях было сделано много шагов по улучшению сетевой безопасности этого клона.

Поколение операционных систем Windows NT, 2000 уже значительно более надежная разработка компании MicroSoft. Они явялются действительно многопользовательскими системами, надежно защищающими файлы различных пользователей на жестком диске (правда, шифрование данных все же не производится и файлы можно без проблем прочитать, загрузившись с диска другой операционной системы – например, MS-DOS). Данные ОС активно используют возможности защищенного режима процессоров Intel, и могут надежно защитить данные и код процесса от других программ, если только он сам не захочет предоставлять к ним дополнительного доступа извне процесса.

За долгое время разработки было учтено множество различных сетевых атак и ошибок в системе безопасности. Исправления к ним выходили в виде блоков обновлений (англ. service pack). На сегодняшний день для Windows NT 4.0 самым последним является обновление "Service Pack 6", естественно все исправления, включенные в него были учтены и при разработке Windows 2000. Таким образом две эти операционные системы имеют примерно равную (и очень высокую) систему безопасности.

Другая ветвь клонов растет от операционной системы UNIX. Эта ОС изначально разрабатывалась как сетевая и многопользовательская, а потому сразу же содержала в себе средства информационной безопасности. Практически все широко распространенные клоны UNIX прошли долгий путь разработки и по мере модификации учли все открытые за это время способы атак. Достаточно себя зарекомендовали : LINUX (S.U.S.E.), OpenBSD, FreeBSD, Sun Solaris. Естественно все сказанное относится к последним версиям этих операционных систем. Основные ошибки в этих системах относятся уже не к ядру, которое работает безукоризненно, а к системным и прикладным утилитам. Наличие ошибок в них часто приводит к потере всего запаса прочности системы.

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

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

Ошибки активно ищутся группами "хакеров" практически во всем более или менее распространенном ПО, однако, наибольшую известность приобретают, конечно, исследования программ, установленных почти у каждого пользователя. Так, например, в одной из недавних версий MicroSoft Internet Explorer'а была обнаружена ошибка, связанная с переполнением буфера, которая приводила к тому, что часть URL-адреса попадала на "исполнение" и трактовалась как последовательность команд процессора. При этом длины этого участка хватало, например, для того, чтобы загрузить на ЭВМ из сети троянскую программу и передать ей управление. В последующей версии ошибка была исправлена. Программа ICQ – самый популярный электронный пейджер в сети Интернет – в очередной своей версии была снабжена своими создателями возможностью поддерживать миниатюрный WWW-сервер. Однако, ошибка в его реализации позволяла при добавлении слева точек в имени первого каталога получать доступ ко всем файлам жесткого диска – открывался полный (!) сетевой доступ по чтению.

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

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

Моралью этого параграфа является правило "семь раз отмерь – один отрежь" на этапе разработки собственного программного обеспечения.

 

18. Комплексная система безопасности. Классификация информационных объектов

Ответ:

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

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

Параметр класс 0 класс 1 класс 2 класс 3
Максимально возможное непрерывное время отказа 1 неделя 1 сутки 1 час 1 час
В какое время время отказа не может превышать указанное выше ? в рабочее в рабочее в рабочее 24 часа в сутки
Средняя вероятность доступности данных в произвольный момент времени 80% 95% 99.5% 99.9%
Среднее максимальное время отказа 1 день в неделю 2 часа в неделю 20 минут в неделю 12 минут в месяц

 

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

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

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

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

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

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

При работе с информацией 2-го класса конфиденциальности к перечисленным выше требованиям добавляются следующие :

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

При работе с информацией 3-го класса конфиденциальности ко всем перечисленным выше требованиям добавляются следующие :

  • детальный план спасения либо надежного уничтожения информации в аварийных ситуациях (пожар, наводнение, взрыв)
  • защита ЭВМ либо носителей информации от повреждения водой и высокой температурой
  • криптографическая проверка целостности информации