Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
учебник Васильков.docx
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
627.86 Кб
Скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2) проверяется соответствие кодов, предъявленных пользователем, эталонным кодам. При несовпадении кодов дальнейшая работа блокируется;

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

4) программа механизма защиты посылает контрольным процедурам контрольный код модуля;

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

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

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

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

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

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

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

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

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

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

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