Аспекты информационной безопасности и подходы к построению различных систем защиты сети

39.1

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

Содержание

Введение .........................................................................................................................

39.3

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

информации ............................................................................................................

39.3

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

39.4

Криптографические методы защиты ..........................................................................................................

39.10

2.Построение систем защиты от угрозы нарушения целостности

информации ..........................................................................................................

39.10

Организационно-технологические меры защиты целостности информации на машинных носителях 39.10

Целостность данных в АС .............................................................................................................................

39.11

Цифровая подпись ........................................................................................................................................

39.14

Защита от угрозы нарушения целостности информации на уровне содержания ..................................

39.15

3. Построение систем защиты от угрозы отказа доступа к информации ...........

39.16

Защита от сбоев программно-аппаратной среды ......................................................................................

39.16

Защита семантического анализа и актуальности информации ...............................................................

39.19

4.Построение систем защиты от угрозы раскрытия параметров

информационной системы ...................................................................................

39.19

Теория безопасных систем (ТСВ) ................................................................................................................

39.22

39.2

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

Введение

Важнейшими аспектами безопасности при построении информационной системы (системы защиты корпора$ тивной сети) являются:

конфиденциальность,

целостность,

доступность,

защита от угрозы раскрытия параметров системы.

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

Например, ведущие предприятия$гиганты аэрокосмического комплекса США (типа Boing) затратили на защиту своих сетей примерно по 500 млн. $.

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

Рассмотрим особенности построения систем защиты автоматизированных систем (АС) в зависимости от уг$ роз нарушения различных аспектов информационной безопасности.

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

Организационно$режимные меры защиты носителей информации в АС Проблема защиты машинных носителей информации (МНИ) в АС решается в основном за счет организацион$

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

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

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

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

Кроме этого, МНИ характеризуются:

различными физическими принципами реализации;

широким спектром объемов хранимой информации $ от единиц до десятков тысяч мегабайт,

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

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

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

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

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

Злоумышленник не может получить доступ к информации на машинном носителе в двух случаях:

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

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

Следует отметить, что в настоящее время разработаны МНИ (например, Zip фирмы Iomega) с встроенными в сам носитель (!) средствами защиты, т.е. для обращения к такому накопителю задается пароль доступа, и в результате прочитать или вообще получить доступ к содержимому носителя нельзя ни на каком другом при$ воде.

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

39.3

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

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

Основными задачами обеспечения информационной безопасности АС от угрозы раскрытия конфиденциаль$ ности на уровне МНИ являются:

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

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

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

Регламентация порядка обращения с носителями предусматривает выполнение комплекса мер:

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

Передачу МНИ между подразделениями организации, эксплуатирующей АС, под расписку.

Вынос МНИ за пределы организации только с разрешения уполномоченных лиц.

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

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

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

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

ращения с носителями и их физической сохранности.

В соответствии с данными условиями можно установить требования, выдвигаемые к обслуживающему пер$ соналу АС. Лицам, эксплуатирующим и обслуживающим АС, запрещается:

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

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

Хранить на МНИ информацию с более высокой степенью секретности, чем определено для него в момент регистрации.

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

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

Вносить в помещения, где расположены СВТ АС, постороннее имущество и материалы, в том числе кинофо$ тоаппаратуру и радиоаппаратуру.

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

Делать на этикетках МНИ или на их упаковках пометки и надписи, раскрывающие содержание этих носи$ телей.

Уничтожать МНИ и документы без санкции соответствующего должностного лица и оформления в уста$ новленном порядке.

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

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

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

39.4

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

ществляемый с использованием штатных средств, предоставляемых СВТ или АС (подробнее см. соответству$ ющую тему). НСД может носить случайный или преднамеренный характер.

Можно выделить несколько обобщенных категорий методов защиты от НСД, в частности:

организационные;

технологические;

правовые.

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

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

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

Аутентификация это проверка принадлежности пользователю предъявленного им идентификатора. Часто аутентификацию также называют подтверждением или проверкой подлинности.

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

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

• индивидуального объекта заданного типа;

• знаний некоторой известной только ему и проверяющей стороне информации;

• индивидуальных биометрических характеристик.

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

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

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

Если в процедуре аутентификации участвуют только две стороны, устанавливающие подлинность друг друга, такая процедура называется непосредственной аутентификацией (direct password authentication). Если же в процессе аутентификации участвуют не только эти стороны, но и другие, вспомогательные, говорят об аутен$ тификации с участием доверенной стороны (trusted third party authentication). При этом третью сторону называют сервером аутентификации (authentication server) или арбитром (arbitrator).

Общие подходы к построению парольных систем

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

по хранимой копии пароля или его свёртке (plaintext$equivalent);

по некоторому проверочному значению (verifier$based);’

без непосредственной передачи информации о пароле проверяющей стороне (zero$knowledge);

с использованием пароля для получения криптографического ключа (cryptographic).

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

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

39.5

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

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

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

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

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

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

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

Учетная запись пользователя совокупность его идентификатора и его пароля.

База данных пользователей парольной системы содержит учетные записи всех пользователей данной па$ рольной системы.

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

Основными компонентами парольной системы являются:

интерфейс пользователя;

интерфейс администратора;

модуль сопряжения с другими подсистемами безопасности;

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

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

1. Разглашение параметров учетной записи через:

подбор в интерактивном режиме;

подсматривание;

преднамеренную передачу пароля его владельцем другому лицу;

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

перехват переданной по сети информации о пароле;

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

2. Вмешательство в функционирование компонентов парольной системы через:

внедрение программных закладок;

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

выведение из строя парольной системы.

Некоторые из перечисленных типов угроз связаны с наличием так называемого человеческого фактора, про$ являющегося в том, что пользователь может:

выбрать пароль, который легко запомнить и также легко подобрать;

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

ввести пароль так, что его смогут увидеть посторонние;

передать пароль другому лицу намеренно или под влиянием заблуждения.

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

39.6

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

Выбор паролей

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

Таблица 1

Требование к выбору пароля

Получаемый эффект

 

 

Установление минимальной

Усложняет задачу злоумышленника при попытке подсмотреть пароль или подобрать па

роль методом

длины пароля

"тотального опробования"

 

 

 

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

Усложняет задачу злоумышленника при попытке подобрать пароль методом "тотальног

различных групп символов

о опробования"

 

 

Проверка и отбраковка пароля по словарю

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

 

 

 

Усложняет задачу злоумышленника по подбору

Установление максимального

паролей методом тотального опробования, в том

срока действия пароля

числе без непосредственного обращения к системе

 

защиты (режим off-line)

 

 

Установление минимального

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

пароль на старый после его смены по предыдущему

срока действия пароля

требованию

 

 

 

Ведение журнала истории

Обеспечивает дополнительную степень защиты по

паролей

предыдущему требованию

 

 

Применение эвристического

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

алгоритма, бракующего пароли на основании д

спользованием

анных журнала истории

эвристического алгоритма

 

 

Ограничение числа попыток ввода пароля

Препятствует интерактивному подбору паролей

злоумышленником

 

 

 

Поддержка режима

Обеспечивает эффективность требования,

ограничивающего максимальный срок действия

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

пароля

 

 

 

Использование задержки при вводе неправиль

Препятствует интерактивному подбору паролей

ного пароля

злоумышленником

 

 

 

Исключает возможность подобрать пароль по сло-

Запрет на выбор пароля самим пользователем

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

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

ет подбирать

 

пароли только методом "тотального опробования"

 

 

Принудительная смена пароля при первой рег

Защищает от неправомерных действий системного

истрации

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

пользователя в системе

момент создания учетной записи

 

 

В качестве иллюстрации рассмотрим задачу определения минимальной мощности пространства паролей (за$ висящей от параметров А и L) в соответствии с заданной вероятностью подбора пароля в течение его срока дей$ ствия.

Задано Р=106. Необходимо найти минимальную длину пароля, которая обеспечит его стойкость в течение од$ ной недели непрерывных попыток подобрать пароль. Пусть скорость интерактивного подбора паролей не$ большая и равна V=10 паролей/мин. Тогда в течение недели можно перебрать

10 х 60 х 24 х 7= 100800 паролей.

Далее, учитывая, что параметры S, V , Т и Р связаны соотношением P=V х T/S, получаем: S = 100 х 800/10$6 = 1,008 х 1011 ~ 1011.

Полученному значению S соответствуют пары: A=26, L=8 и A=36, L=6.

Хранение паролей

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

в открытом виде;

в виде сверток (хеширование);

зашифрованными на некотором ключе.

Наибольший интерес представляют второй и третий способы, которые имеют ряд особенностей.

39.7

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

 

Таблица 2

 

 

 

Параметр

Способ определения

 

 

 

 

Мощность алфавита паролей À

Могут варьироваться для обеспечения заданного значения S

 

 

(S=AL)

 

 

 

 

Длина пароля L

 

 

 

 

 

Мощность пространства паролей S

Вычисляется на основе заданных значений Ð, Ò èëè V

 

 

 

 

Скорость подбора паролей V:

 

 

Для интерактивного режима определяется как скорость

Может быть искусственно увеличена для защиты от данной

 

обработки одной попытки регистрации проверяющей сторо-

угрозы.

 

íîé.

 

 

• Для режима off-line (на основе свертки пароля) определяется

 

 

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

• Задается используемым алгоритмом вычисления свертки.

 

ного пароля

Алгоритм, имеющий медленные реализации, повышает стой-

 

 

кость по отношению к данной угрозе

 

 

 

 

Срок действия пароля (задает промежуток времени, по исте-

Определяется исходя из заданной вероятности Ð. или полага-

 

чении которого пароль должен быть обязательно сменен) Ò

ется заданным для дальнейшего определения S

 

 

 

 

Вероятность подбора пароля в течение его срока действия

Выбирается заранее для дальнейшего определения S или Ò

 

(подбор продолжается непрерывно в течение всего срока

 

 

действия пароля) Ð.

 

 

 

 

 

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

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

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

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

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

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

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

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

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

Передача пароля по сети

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

39.8

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

фика в сети, основанной на широковещательной передаче пакетов данных. Напомним основные виды защиты сетевого трафика:

физическая защита сети;

оконечное шифрование;

шифрование пакетов.

Распространены следующие способы передачи по сети паролей:

в открытом виде;

зашифрованными;

в виде сверток;

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

перехват и повторное использование информации;

перехват и восстановление паролей;

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

имитация злоумышленником действий проверяющей стороны для введения в заблуждение пользователя. Схемы аутентификации “с нулевым знанием” или “с нулевым разглашением” впервые появились в середине 80$х$начале 90$х годов. Их основная идея заключается в том, чтобы обеспечить возможность одному из пары субъектов доказать истинность некоторого утверждения второму, при этом не сообщая ему никакой инфор$ мации о содержании самого утверждения. Например, первый субъект (“доказывающий”) может убедить вто$ рого (“проверяющего”), что знает определенный пароль, в действительности не передавая тому никакой ин$ формации о самом пароле. Эта идея и отражена в термине “доказательство с нулевым разглашением”. При$ менительно к парольной защите это означает, что если на месте проверяющего субъекта оказывается зло$ умышленник, он не получает никакой информации о доказываемом утверждении и, в частности, о пароле. Общая схема процедуры аутентификации с нулевым разглашением состоит из последовательности информа$ ционных обменов (итераций) между двумя участниками процедуры, по завершению которой проверяющий с заданной вероятностью делает правильный вывод об истинности проверяемого утверждения. С увеличени$ ем числа итераций возрастает вероятность правильного распознавания истинности (или ложности) утверж$ дения.

Классическим примером неформального описания системы аутентификации с нулевым разглашением служит так называемая пещера Али$Бабы.

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

1.Проверяющий становится в точку А.

2.Доказывающий проходит в пещеру и добирается до двери (оказывается в точке С или D). Проверяющий не видит, в какой из двух коридоров тот свернул.

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

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

A

B

CD

Puc. 1. Пример системы аутентификации с нулевым разглашением (пещера Али$Бабы)

Итерация повторяется столько раз, сколько требуется для распознавания истинности утверждения “доказыва$ ющий владеет ключом от двери” с заданной вероятностью. После i$й итерации вероятность того, что проверя$ ющий попросит доказывающего выйти из того же коридора, в который вошел доказывающий, равна (1/2)i.

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

39.9

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

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

Криптографические методы защиты

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

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

2. Построение систем защиты от угрозы нарушения целостности информации

Организационно-технологические меры защиты целостности информации на машинных носителях

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

организационные меры по поддержке целостности информации, хранящейся на МНИ;

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

создание резервных копий информации, хранимой на МНИ;

обеспечение правильных условий хранения и эксплуатации МНИ.

Создание резервных копий информации, хранимой на МНИ, должно быть обязательной регулярной процеду$ рой, периодичность которой зависит от технологии обработки информации, в частности от объема, вводи$ мых данных, важности информации, возможности повторного ввода и т.д. Для создания резервных копий могут использоваться как стандартные утилиты, которые сохраняют выбранные файлы или каталоги, так и специа$ лизированные системы резервного копирования, адаптированные к конкретной АС. В последнем случае можно применять собственные методы архивирования, например, так называемое “разностное” архивирование, когда на вспомогательный носитель записывается не весь объем базы данных, а только та часть, которая была вве$ дена с момента последнего сохранения.

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

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

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

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

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

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

Контрольный код, представляемый полиномом R(x), вычисляется как остаток от деления полинома А(х) У на G(x):

R(х)=(A(х)xr)modG(х),

где г$степень порождающего полинома.

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

39.10

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

только параметрами МНИ. Например, для контроллеров гибких магнитных дисков г=16 и порождающий по$ лином G(x) имеет следующий вид:

G(x)=x16+x12+x5+1.

Целостность данных в АС

Понятие целостности данных в научной литературе определяется несколькими способами, описанию и срав$ нению которых посвящены отдельные научные статьи. Одна из наиболее распространенных трактовок, ис$ пользуемая далее в пособии, под целостностью данных подразумевает отсутствие ненадлежащих измене ний. Смысл понятия “ненадлежащее изменение” раскрыт в работах Д.Кларка и Д.Вилсона: ни одному пользо вателю АС, в том числе и авторизованному , не должны быть разрешены такие изменения данных, которые повлекут за собой их разрушение или потерю.

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

корректность транзакций;

аутентификация пользователей;

минимизация привилегий;

разграничение функциональных обязанностей;

аудит произошедших событий;

объективный контроль;

управление передачей привилегий;

обеспечение непрерывной работоспособности;

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

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

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

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

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

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

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

39.11

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

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

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

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

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

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

реализация механизмов безопасности плохо соответствует сложившемуся у администраторов интуитив$ ному их пониманию;

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

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

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

Защита памяти

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

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

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

совместный доступ разрешен и ничем не ограничен.

 

 

 

Таблица 3.

 

 

 

 

 

Чтение

Запись

Исполнение

 

 

 

 

Приложение 1

Да

Да

Да

 

 

 

 

Приложение 2

Да

Да

Нет

 

 

 

 

Приложение 3

Да

Нет

Нет

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

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

используемым объектам;

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

Барьерные адреса

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

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

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

39.12

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

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

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

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

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

Динамические области памяти

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

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

Адресные регистры

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

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

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

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

 

 

 

Таблица 4.

 

 

 

 

Адрес ячейки

Чтение

Запись

Исполнение

000000315

Да

Да

Нет

 

 

 

 

000000316

Да

Нет

Нет

 

 

 

 

000000317

Да

Нет

Да

 

 

 

 

39.13

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

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

Более совершенные средства защиты памяти обеспечиваются механизмами страничной организации памяти и сегментации.

Страницы и сегменты памяти

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

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

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

Цифровая подпись

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

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

Вчем состоит проблема аутентификации данных или цифровой подписи?

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

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

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

Перечислим возможные способы обмана (нарушения подлинности сообщения) при условии, что между учас$ тниками модели А, В, С отсутствует кооперация.

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

Способ В1: получатель В изменяет полученное от отправителя А сообщение Т и заявляет, что данное изменен$ ное сообщение он получил от отправителя А (подмена принятого сообщения).

39.14

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

Способ В2: получатель В сам формирует сообщение и заявляет, что получил его от отправителя А (имитация принятого сообщения).

Способ С1: злоумышленник С искажает сообщение, которое отправитель А передает получателю В (подмена передаваемого сообщения).

Способ С2: злоумышленник С формирует и посылает получателю В сообщение Т от имени отправителя А (ими$ тация передаваемого сообщения).

Способ СЗ: злоумышленник С повторяет ранее переданное сообщение, которое отправитель А посылал получате$ лю В (повтор ранее переданного сообщения).

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

При обычной подписи:

каждая личность использует индивидуальные, только ей присущие характеристики $ почерк, давление на ручку и т. д.;

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

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

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

При цифровой подписи:

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

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

цифровая подпись документа есть функция от содержания этого документа и секретного ключа; цифро$ вая подпись может передаваться отдельно от документа;

копия документа с цифровой подписью не отличается от его оригинала (нет проблем каждой копии). Для аутентификации информации Диффи и Хеллман в 1976 г. предложили концепцию “цифровой под$ писи”. Она заключается в том, что каждый абонент сети имеет личный секретный ключ, на котором он формирует подпись и известную всем другим абонентам сети проверочную комбинацию, необходимую для проверки подписи (эту проверочную комбинацию иногда называют открытым ключом). Цифровая подпись вычисляется на основе сообщения и секретного ключа отправителя. Любой получатель, имею$ щий соответствующую проверочную комбинацию, может аутентифицировать сообщение по подписи. При этом знание лишь проверочной комбинации не позволяет подделать подпись. Такие схемы называются

асимметричными схемами аутентификации.

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

Известны два класса формирования цифровой подписи.

Первый класс способов использует труднообратимые функции типа возведения в степень в конечных полях большой размерности (сотни и даже тысячи битов). К этому классу относится Российский ГОСТ на цифровую подпись (ГОСТ Р 34.10$94 и ГОСТ Р 34.11$94). Он является усложнением алгоритмов цифровой подписи RSA и Эль$Гамаля.

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

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

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

Защита от угрозы нарушения целостности информации на уровне содержания

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

39.15

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

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

прямое сокрытие фактов;

тенденциозный подбор данных;

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

подача правды в таком контексте (добавлением ложного факта или намека), чтобы она воспринималась как ложь;

изложение важнейших данных на ярком фоне отвлекающих внимание сведений;

смешивание разнородных мнений и фактов;

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

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

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

передачи только части сообщения;

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

пропуска фактуры через призму субъективно$личностных отношений.

Для успешности борьбы с вероятной дезинформацией следует:

различать факты и мнения;

применять дублирующие каналы информации;

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

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

Вместе с тем, даже в обычных учетных АС необходимо предусматривать наличие подсистем, проводящих пер$ вичный смысловой анализ и в определенной степени контролирующих работу оператора. Примером простей$ шей легко реализуемой смысловой проверки является контроль соблюдения диапазона дат. Так, персональный компьютер, хранящийся на складе, не может быть выпущен раньше 1980 г. Более сложные алгоритмы контроля связаны со спецификой обрабатываемой информации и технологии ее обработки. Наличие подобных подсис$ тем позволяет защитить информацию в АС не только от случайных, но и преднамеренных ошибок.

3. Построение систем защиты от угрозы отказа доступа к информации

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

Защита от сбоев программно-аппаратной среды

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

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

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

39.16

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

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

Существуют два основных подхода к обеспечению защиты ПО АС от угрозы отказа функционирования $ предот$ вращение неисправностей (fault avoidance) и отказоустойчивость (fault tolerance).

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

Обеспечение отказоустойчивости ПО АС

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

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

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

Временная избыточность состоит в использовании некоторой части производительности компьютера для кон$ троля исполнения программ и восстановления (рестарта) вычислительного процесса. Для этого при проек$ тировании АС должен предусматриваться запас производительности, который затем будет использоваться системами контроля и для повышения надежности и безопасности функционирования. Значение временной избыточности зависит от требований к безопасности функционирования или обработки информации и на$ ходится в пределах от 5...10% производительности до трех$четырехкратного дублирования в мажоритарных вычислительных комплексах.

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

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

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

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

39.17

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

Предотвращение неисправностей в ПО АС

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

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

анализ и спецификация требований;

проектирование;

исполнение.

Рассмотрим содержание каждой из фаз, в контексте решения задачи предотвращения неисправностей ПО.

1.Фаза анализа и спецификации требований. Стремление к достижению большей надёжности ПО привлека$ ет особое внимание к самым ранним фазам цикла создания программ. Новейшая и наименее разработанная область обеспечения программной надежности $ область спецификаций требований. Анализ всей совокуп$ ности требований к системотехническому заданию (ТЗ) выполняется на начальной фазе создания программ. ТЗ составляется на основании перечня требований, предъявленных к системе заказчиком (классы решаемых задач, их характеристики и особенности, режим работы АС, сопряжение с внешними объектами, пропускная способность, время ответа и т.п. при заданных ограничениях на стоимость, длительность разработки и др.). Цель создания ТЗ $ уточнить и сформулировать задачи, возлагаемые на систему, согласовать требования за$ казчика и возможности исполнителя, составить техническое задание на ПО. Это делается для того, чтобы удо$ стовериться, что от программ требуются только те системные требования, которые могут быть достигнуты.

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

Успехи в теории программирования и вычислений обеспечили использование формальных методов при разра$ ботке ПО. Формальный метод разработки систем состоит из трёх основных компонентов:

• формальной записи спецификаций и описаний проектов;

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

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

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

• осуществлением верификации во время разработки ПО.

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

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

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

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

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

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

39.18

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

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

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

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

Таким образом, на основании анализа фаз создания ПО и допускаемых на них ошибок можно сделать вывод о том, что двумя основными разновидностями ошибок являются:

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

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

Предотвращение данных ошибок $ путь к обеспечению защиты от сбоев и неисправностей ПО.

Защита семантического анализа и актуальности информации

Рассматривая защиту АС, определим еще два ее уровня: уровень представления и уровень содержания инфор$ мации.

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

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

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

4. Построение систем защиты от угрозы раскрытия параметров информационной системы

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

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

считывание с МНИ хранящейся на нем информации;

получение доступа к содержимому логической единицы хранения информации (файла);

воспроизведение содержимого файла в штатном режиме;

экспертную оценку считанной и воспроизведенной информации.

39.19

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

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

1. Диагностика состояния носителя, включающая получение:

необходимых для конкретной ОС элементов формата носителя;

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

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

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

данных о сбойных секторах и недоступных для чтения областей;

признаков нестандартного форматирования носителя.

2.Профилактика состояния носителя (выявление причин, приведших к тому или иному состоянию носите$ ля).

3.Восстановление рабочего состояния носителя.

4.Восстановление, копирование и преобразование информации на носителе.

Как уже было отмечено, необходимым условием для считывания информации с МНИ является наличие аппарат$ ной, программной и организационной составляющих физического доступа:

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

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

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

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

внешний вид данного носителя;

информация о типе носителя;

характеристика данного носителя$

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

Если имевшийся в наличии машинный носитель был правильно идентифицирован злоумышленником, для него подобран привод, то с большой вероятностью ему будет известен формат оригинального носителя, или же этот формат будет автоматически идентифицирован операционной системой, допускающей работу с приво$ дом для данного носителя. Например, обычные 3,5" дискеты, как правило, отформатированы в стандарте IBM (MS DOS) на 1,44 Мбайта или 720 Кбайт либо в стандарте Apple Macintosh на 1,44 Мбайта или 720 Кбайт.

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

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

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

стандартное и специальное программное обеспечение для идентификации формата оригинального ма$ шинного носителя (побитовой его копии);

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

Процедура определения формата носителя на логическом уровне предполагает:

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

выделение таблицы размещения файлов;

выделение корневой директории.

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

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

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

39.20

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

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

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

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

выделение чистого кода программы;

дизассемблирование;

семантический анализ.

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

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

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

только из печатных символов.

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

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

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

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

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

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

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

Более надёжным методом является использование нестандартных упаковщиков. Если в предыдущем случае при удачном определении метода упаковки исполняемый код можно “развернуть”, используя готовое сред$ ство, то при неизвестном упаковщике эта операция потребует предварительного анализа исполняемого кода подпрограммы, осуществляющей распаковку программы при её запуске.

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

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

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

39.21

Аспекты информационной безопасности и подходы к построению различных систем защиты сети

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

ит.п.), активное противодействие путём периодической проверки и изменения векторов прерываний, в том числе

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

Теория безопасных систем (ТСВ)

Понятие “доверенная вычислительная среда” (trusted computing base$ТСВ) появилось в зарубежной практи$ ке обеспечения информационной безопасности достаточно давно. Смысл характеристики “доверенная” можно пояснить следующим образом.

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

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

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

взаимодействие с аппаратным обеспечением АС;

защиту памяти;

функции файлового ввода$вывода;

управление процессами.

Некоторые из перечисленных компонентов были рассмотрены в данной теме.

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

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

определение политики безопасности;

проектирование модели АС;

разработка кода АС;

обеспечение гарантий соответствия реализации заданной политике безопасности.

39.22