ПРог_ЗАкл (1085436), страница 5

Файл №1085436 ПРог_ЗАкл (Темы и ответы на них) 5 страницаПРог_ЗАкл (1085436) страница 52018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 5)

б) поиск критических участков кода методом семантического

анализа (анализ фрагментов кода на выполняемые ими функции,

например, выполнение НСЗ, часто сопряженный с дисассемблированием

или эмуляцией выполнения).

Ниже мы остановимся на нескольких принципиально важных для

построения защиты от закладок методах, а именно:

  • выявление разрушающих воздействий в BIOS;

  • построение систем контроля целостности;

  • построение изолированной операционной среды.

7.1. Выявление закладок в программно-аппаратной среде.

Как было выяснено, большую опасность представляют

программы-закладки, помещенные в ПЗУ (BIOS) и ассоциированные с

существенно важными прерываниями. Для их автоматизированного

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

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

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

защита. Обычно это прерывания int 13h, int 40h (запись и чтение

информации на внешние магнитные накопители прямого доступа),

int 14h (обмен с RS232 портом), int 10h (обслуживание

видеотерминала), а также в обязательном порядке прерывания

таймера int 8h, int 1Ch и прерывания клавиатуры int 9h и int 16h.

2. Для выделенной группы прерываний определяются точки входа

(адреса входа) в ПЭУ используя справочную информацию, либо

выполняя прерывание в режиме трассировки.

3. Для выделенных адресов создаются цепочки исполняемых

команд от точки входа до команды IRET - возврату управления из

BIOS.

Надо отметить, что запись в сегмент BIOS невозможна и поэтому

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

кода во время его исполнения в качестве защиты от изучения [18].

В цепочках исполняемых команд выделяются

  • команды работы с портами;

  • команды передачи управления;

  • команды пересылки данных.

Они используются либо для информативного анализа, либо

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

Порождение новых цепочек исполняемых команд происходит тогда,

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

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

Определяются:

  • опасные действия первой группы:

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

работы с недокументированными портами;

Наличие таких команд, как правило, указывает на передачу

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

интерфейсу (общей шине), например, встроенной радиопередающей

закладке.

Данная ситуация имела место при закупке одной из партий

персональных ЭВМ, где были обнаружены радиомаяки, посылавшие

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

(POST: Power On Self Test) в BIOS.

  • опасные действия второй группы:

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

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

  • опасные действия третьей группы:

- в цепочках присутствуют команды перемещения данных из BIOS

в оперативную память (кроме таблицы прерываний и RAM BIOS);

  • опасные действия четвертой группы:

- в цепочках присутствуют команды передачи управления в

оперативную память или в сегменты расширенного BIOS.

В случае если опасных действий не обнаружено,

аппаратно-программная среда ПЭВМ без загруженной операционной

среды считается безопасной.

Для проверки операционной системы используется аналогичный

алгоритм:

1. По таблице прерываний определяются адреса входа для

существенно важных прерываний.

2. Данные прерывания выполняются покомандно в режиме

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

алгоритму. В этом случае команды типа JMP не анализируются,

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

автоматически.

Выполнение происходит до того момента, когда будет достигнут

адрес ПЗУ.

Для полного анализа необходимо выполнить все используемые

программой функции исследуемого прерывания. Например, для int 13h

- функции О, 2, 3, 16.

7.2. Создание изолированной программной среды. Целостность

данных.

Основываясь на модели закладки и утверждении 1 можно

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

деструктивные последствия невозможны.

Предположим, что в ПЗУ и операционной системе отсутствуют

закладки - проверка произведена по методике параграфа 7.1. Пусть

также имеется программа, процесс написания и отладки которой

полностью контролируется, т. е. в ней также исключено наличие

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

Program with Verified Design (PVD), мы будем называть их

проверенными программами.

Утечки (потери) информации гарантированно невозможны, если

программная среда изолирована:

1. На ПЭВМ с проверенным BIOS установлена проверенная

операционная среда.

2. Достоверно установлена неизменность DOS и BIOS.

3. Кроме проверенных программ в данной программно-аппаратной

среде не запускалось никаких иных программ.

4. Исключен запуск проверенных программ в какой-либо иной

ситуации, т. е. вне проверенной среды.

Выполнение данных условий может быть достигнуто при

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

невозможен без загрузки с нее.

Подробнее остановимся на последнем требовании. Загрузка с

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

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

оператор, не допускает ошибок или преднамеренных действий

(запускает находящиеся на дискете программы без загрузки с

дискеты). Такого рода действия не только нарушают изолированность

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

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

Итак, можно сформулировать концепцию, которой предполагается

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

Концепция ограниченного доверия, к программно-аппаратной

среде состоит в следующем:

  • аппаратная среда ПЭВМ не содержит закладок и остается

неизменной на протяжении всего времени работы с данной ПЭВМ. В

противном случае работа на данной ПЭВМ не ведется;

  • программная среда (операционная система и прикладные

программы) данной ПЭВМ может подвергаться воздействию

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

  • пользователь располагает магнитным носителем, содержащим

набор проверенных программ, проверенную DOS и проверенную

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

исполняемых файлов, а также данные для проведения контроля

целостности;

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

нежели как после загрузки операционной среды с его помощью.

Указанный метод создания изолированной программной среды

применен в разработке Unvisible Disk фирмы ЛАН Крипто.

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

Предположим, что имеется некоторый файл F - последовательность

байт - и некоторый алгоритм А, преобразующий файл F в некоторый

файл М (последовательность байт) меньшей длины. Этот алгоритм

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

множества возможных соответствующие им числа М с высокой

вероятностью различны. Тогда проверка целостности данных строится

так: рассматриваем файл F, по известному алгоритму А строим К = А

(F) и сравниваем М заранее вычисленное как М = А (F) с К. При

совпадении считаем файл неизменным. Алгоритм А называют, как

правило, хещ-функцией или реже, контрольной суммой, а число М -

хеш-значением.

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

следующих условий:

  • по известному числу М = А (F) очень трудоемким будет

нахождение другого файла G не равного F такого, что M=A(G);

  • число М должно быть недоступно для изменения.

Поясним смысл этих условий. Пусть программа злоумышленника

изменила файл F. Тогда, вообще говоря, хеш-значение М для данного

файла изменится. Если программе злоумышленника доступно число М,

то она может по известному алгоритму А вычислить новое

хеш-значение для измененного файла и заместить им исходное. С

другой стороны, пусть хеш-значение недоступно, тогда можно

попытаться так построить измененный файл, чтобы хеш-значение его

не изменилось.

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

легко обратимых хеш-функций, которые применяются в настоящее

время для контроля в распространенных пакетах (например,

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

Чтобы показать это, докажем следующее утверждение:

Утверждение 3.

Пусть хеш-функция задана автоматом без выхода А. Результат

хеширования файла F = f1,f2.....fk есть состояние s, в которое

перешел данный автомат после подачи на его вход

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

Предположим выполнение следующих условий:

  • функция переходов биективна, т. е. А (х, S) - подстановка,

х - фиксированный входной символ;

  • существует покрытие всей симметрической группы подстановок

мощности р для системы образующих А (х, S).

Утверждается, что в этом случае трудоемкость подделки

хеш-функции определяется как трудоемкость обращения функции

переходов (построения А**(-1)) и происходит путем конкатенации

блока d (из символов входного алфавита) такого, что:

s=A(d,r)

с любым файлом G = g1,g2.....gk, где r = А (s0, G) - состояние, в

которое перешел автомат А из начального состояния s0 при подаче

на вход последовательности G, |d| не более р.

Доказательство:

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

состояния r найдется некоторая входная последовательность d,

которая переведет автомат в любое состояние s.

Тогда на файле g1,g2,...gk, d хеш-функция имеет то же

значение.

Длина блока d по определению покрытия симметрической группы

подстановок А (S, х) с числом образующих, равным мощности

входного алфавита, х - фиксированный входной символ, не будет

превосходить р.

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

заданного полиномом над полем GF(2**n) степени k, р определяется

как k слов в алфавите 0, 1, ... , 2**n-1 или в битах:

d=2**n x k,

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

решения системы из k линейных уравнений в поле GF(2**n)).

Что касается требования покрытия симметрической группы

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

Действительно, при невыполнении этого условия некоторые

состояния автомата будут недостижимы при любых входных

последовательностях, что свидетельствует о плохом качестве

хеш-функции с точки зрения вероятностных характеристик.

На практике же мощность покрытия симметрической группы

подстановок оценивается в битах как log(2) S.

Это означает, что при заданной длине входного слова достижимы

все состояния автомата, что является необходимым априорным

требованием для хеш-функции.

Известно, что в ПЗУ и программных модулях, как правило, либо

имеется неиспользуемое место либо выделена область данных,

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

в утверждении образом.

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

хеш-функций, применяемых в настоящее время для контроля

целостности данных. В частности, рекомендуемые зарубежными

источниками хеш-функции типа CRC-24 могут быть легко подделаны.

В связи с этим необходимо либо полностью хранить

контролируемые массивы (это допустимо при их малом объеме.

Например, ВIOS занимает 64 килобайта), либо использовать

хеш-функции с труднообратимыми функциями перехода и сильной

нелинейностью.

7.3. Практические вопросы построения изолированной

программной среды.

Рассмотрим процесс загрузки ПЭВМ.

Первоначально программы начальной загрузки из ПЗУ

Характеристики

Тип файла
Документ
Размер
218,5 Kb
Высшее учебное заведение

Список файлов ответов (шпаргалок)

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6314
Авторов
на СтудИзбе
312
Средний доход
с одного платного файла
Обучение Подробнее