Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзамену ПАЗИ.doc
Скачиваний:
60
Добавлен:
19.09.2019
Размер:
726.53 Кб
Скачать
  1. Перечислите методы противодействия дизассемблированию программ для эвм, охарактеризуйте их.

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

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

  • шифрование;

  • архивация:

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

  • «обман» дизассемблера.

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

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

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

  • нестандартная структура программы;

  • скрытые переходы, вызовы процедур, возвраты из них и из прерываний;

  • переходы и вызовы подпрограмм по динамически изме- няемым адресам;

  • модификация исполняемых кодов.

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

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

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

ВАРИАНТ 2

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

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

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

Во-вторых, необходимо осуществить выбор эффективного ключа и, если необходимо, надежно хранить ключ.

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

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

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

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

Достоинства метода: - уменьшение размера исполняемого файла.

Минусы метода: - методы работы известны многим взломщикам.

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

Например, следующие:

перемещения участков кода;

всевозможные функции от истинного кода (контрольной суммы истинного кода);

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

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

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

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

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

Методы обнаружения компьютерных вирусов.

1.  Сканирование.

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

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

 2.  Обнаружение изменений, или контроль целостности.

 Контроль целостности основан на выполнении двух процедур:

·      постановка на учет;

·      контроль поставленного на учет.

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

3.  Эвристический анализ.

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

4.  Метод резидентного сторожа.

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

 5.  Вакцинирование программ.

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

Виды антивирусных программ.

Классификация антивирусов в зависимости от их принципа действия (определяющего функциональность):

  • Сканеры (устаревший вариант — «полифаги») — определяют наличие вируса по базе сигнатур, хранящей сигнатуры (или их контрольные суммы) вирусов. Их эффективность определяется актуальностью вирусной базы и наличием эвристического анализатора (см.: Эвристическое сканирование).

  • Ревизоры (класс, близкий к IDS) — запоминают состояние файловой системы, что делает в дальнейшем возможным анализ изменений.

  • Сторожа (мониторы) — отслеживают потенциально опасные операции, выдавая пользователю соответствующий запрос на разрешение/запрещение операции.

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

Современные антивирусы сочетают все вышесказанные функции.

Антивирусы так же можно разделить на:

  • Продукты для домашних пользователей:

  • Собственно антивирусы;

  • Комбинированные продукты (например, к классическому антивирусу добавлен антиспам, файрвол, антируткит и т. д.);

  • Корпоративные продукты:

  • Серверные антивирусы;

  • Антивирусы на рабочих станциях («endpoint»).

 Основные критерии качества антивирусной программы.

› качество эвристического анализа;

 › скорость реакции при обнаружении вирусов;

 › качество сигнатурного анализа;

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

 › способность к лечению активных заражений;

 › способность к выявлению активных руткитов;

 › качество самозащиты;

 › возможность поддержки упаковщиков;

 › частота ложных срабатываний.

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

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

В зависимости от числа ключей, применяемых в конкретном алгоритме, криптоалгоритмы подразделяют:

  1. Бесключевые криптоалгоритмы (КА) – не используют вычисление никаких ключей;

  2. Одноключевые КА – работают с одним ключевым параметром (секретным ключом);

  3. Двухключевые КА – на различных стадиях работы в них применяются два ключевых параметра: секретный (закрытый) и открытый ключи.

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

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

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

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

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

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

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

Обобщенная схема алгоритма шифрования DES

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

Алгоритм DES построен в соответствии с методологией сети Фейстеля и состоит из чередующейся последовательности перестановок и подстановок.

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

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

Альтернативой сети Фейстеля является подстановочно-перестановочная сеть.

Алгоритм DES осуществляет шифрование 64-х битового ключа, в котором значащими являются 56 бит, остальные 8 бит для контроля на честность.

Процесс шифрования заключается в начальной перестановке битов 64-х битного блока, 16-ти циклах шифрования и заканчивается конечной перестановкой битов.

Расшифрование в DES является обратной шифрованию, выполняется путем операций шифрования в обратной последовательности.

Достоинства алгоритма DES:

  • Используется один ключ длинной 56 бит;

  • Относительная простота алгоритма обеспечивает высокую скорость обработки;

  • Зашифровав сообщение с помощью одного пакета программ, для расшифрования можно использовать другой пакет программ, соответствующий алгоритму DES;

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

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

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

Основные режимы работы блочного симметричного алгоритма:

  1. Простая замена;

  2. Гаммирование;

  3. Гаммирование с обратной связью;

  4. Генерация эмитоприставок.

  1. Дайте определение основным понятиям процесса разграничения доступа к объектам операционной системы (ОС): «объект доступа»; «метод доступа»; «субъект доступа»; «право доступа». Приведите правила избирательного разграничения доступа и поясните их реализацию на примере матрицы доступа, дайте определение понятиям: домен доступа; список прав доступа.

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

Возможность доступа к объектам ОС определяется не только архитектурой ОС, но и текущей политикой безопасности.

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

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

Методом доступа к объекту называется операция, определенная для объекта, тип операции зависит от объектов.

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

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

Обычно полагают, что множество субъектов доступа и множество объектов доступа не пересекаются. Иногда к субъектам доступа относят процессы, выполняющиеся в системе.

Вместе с тем логичнее считать субъектом доступа именно пользователя, от имени которого выполняется процесс.

Естественно, по субъектом доступа подразумевают не физического пользователя, работающего с компьютером, а «логического» пользователи, от имени которого выполняются процессы ОС.

Т.о. объект доступа - это то, к чему осуществляется доступ, субъект доступа – это тот, кто осуществляет доступ и метод доступа – это то, как осуществляется доступ.

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

На владельца, как правило, возлагается ответственность за корректное ограничение прав доступа к данному объекту других субъектов.

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

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

При избирательном разграничении доступа возможность доступа определена однозначно для каждой тройки субъект – объект – метод, при полномочном разграничении доступа ситуация несколько сложнее.

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

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

За соблюдением этих правил субъектами доступа следит монитор ссылок – часть подсистемы защиты ОС.

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

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

  • Не должны допускать разрушающие воздействия субъектов доступа на ОС, выражающиеся в несанкционированном изменении, удалении или другом воздействии на объекты жизненно важные для нормальной работы ОС;

  • Любой объект доступа должен иметь владельца. Недопустимо присутствие ничейных объектов – объектов, не имеющих владельца;

  • Не допускать присутствия недоступных объектов – объектов, к которым не может обратиться ни один субъект доступа ни по одному методу доступа;

  • Не допускать утечки конфиденциальной информации.

Субъектами могут быть пользователи, процессы и процедуры. Объекты: файлы, программы, директории, терминалы, каналы связи, устройства и т.д.

Субъект доступа — это лицо или процесс, действия которого регламентируются правилами разграничения доступа

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

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

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

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

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

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

  • аутентификацию (установление подлинности) объекта или субъекта по предъявленному им идентификатору;

  • проверку полномочий (проверка соответствия дня недели, времени суток, запрашиваемых ресурсов и процедур установленному регламенту);

  • разрешение и создание условий работы в пределах установленного регламента;

  • регистрацию (протоколирование) обращений к защищаемым ресурсам;

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

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

Классификация методов и средств борьбы с компьютерными вирусами.

Методы:

1.  Сканирование.

 2.  Обнаружение изменений, или контроль целостности.

3.  Эвристический анализ.

4.  Метод резидентного сторожа.

5.  Вакцинирование программ.

 Средства:

  1. Сканеры (устаревший вариант — «полифаги»).

  2. Ревизоры (класс, близкий к IDS).

  3. Сторожа (мониторы). 

  4. Вакцины.

  5. Антивирусные комплесы.

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

Сканирование.

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

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

 Обнаружение изменений, или контроль целостности.

 Контроль целостности основан на выполнении двух процедур:

·      постановка на учет;

·      контроль поставленного на учет.

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

Эвристический анализ.

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