АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

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

Читайте также:
  1. B) должен хорошо знать только физико-химические методы анализа
  2. E. интерпретирование аналитических результатов по конкретно заданным вопросам правоохранительных органов или суда.
  3. I. Естественные методы
  4. V. Способы и методы обеззараживания и/или обезвреживания медицинских отходов классов Б и В
  5. V1: Методы анализа электрических цепей постоянного тока
  6. V1: Переходные процессы в линейных электрических цепях, методы анализа переходных процессов
  7. V2: МЕТОДЫ ГИСТОЛОГИЧЕСКИХ ИССЛЕДОВАНИЙ
  8. V2: Цитология и методы цитологии
  9. Административно-правовые методы менеджмента
  10. Амортизация основных средств: понятие, назначение, методы расчёта.
  11. Аналитические методы сглаживания временных рядов
  12. Б. Методы активного изымания фактуры

Шифрование методами аналитических преобразований основано на понятии односторонней функции. Будем говорить, что функция у=f(х) является односторонней, если она за сравнительно небольшое число операций преобразует элемент открытого текста х в элемент шифртекста у для всех значений х из области определения, а обратная операция (вычисление x=F**-1(y) при известном шифртексте) является вычислительно трудоемкой.

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

· умножение матриц;

· решение задачи об укладке ранца;

· вычисление значения полинома по модулю;

· экспоненциальные преобразования и другие.

 

17. Защита от отладчиков.

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

*дизассемблер - средство статического анализа.

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

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

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

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

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

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

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

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

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

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

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

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

Int 1 - пошаговый режим выполнения;

Int 3 - точка приостанова.
Ваша задача незаметно, не используя стандартные средства, которые легко отслеживаются как самим отладчиком, так и хакером изменить значения адреса этих векторов. Периодически необходимо проверять занесенные значения. Пошаговый режим выполнения включается при установленном флаге TF процессора. Сброс этого флага в ноль приводит к выключению отладчика. Все отладчики отслеживают команду popf и восстанавливают значение флага TF, но очень мало отладчиков понимают смоделированный возврат из прерывания, когда в стеке находится слово флагов с выключенным флагом трассировки. Аналогично все отладчики отслеживают команду pushf и очищают флаг TF, но большинство отладчиков не понимают команду cs:pushf или es:pushf.

Еще более изящно использовать вектора отладчика в своих целях. Например, вы можете переназначить 21 вектор на 3 и обращаться к MSDOS не через int 21h, а через int 3h это короче на 1 байт и поэтому не позволит взломщику произвести обратную замену.

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

 

Защищенный режим работы процессора открывает перед вами новую возможность. Возьмите любую программу, работающую в защищенном режиме, и попытайтесь запустить ее по управлением какого-либо отладчика (например, Turbo Debugger или Code View). Все будет хорошо до тех пор, пока ваша программа не попытается загрузить регистр IDTR при помощи команды LIDT. После выполнения этой команды отладчик "зависает" и единственное средство вновь оживить компьютер - нажать на кнопку сброса. Причина - изменились расположение и формат дескрипторной таблицы прерываний. Она подготовлена для работы в защищенном режиме, но отладчик работает в реальном режиме. Поэтому обработка всех прерываний, в том числе и от клавиатуры, невозможна. Идея использования защищенного режима работы процессора при создании программ, защищенных от несанкционированного доступа, копирования, очевидна.

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

Находясь в защищенном режиме вы не можете обращаться к функциям DOS и BIOS, - вы можете читать и писать секторы дискеты только используя уровень портов ввода/вывода контроллера флопи-диска.

 

 

18. Предпосылки кризисной ситуации с обеспечением защиты информации. Задачи разработчиков современных информационных систем в контексте безопасности.

1 Увеличение вычислительных мощностей параллельно с упрощением эксплуатации по

2 Несоответствие скорстей развития технологии программирования и проработки теории иб

3 Необходимость создания международных стандартов иб

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

5 развитие гибких и мобильных технологий

 

Задачи разработчиков:

1 обеспечение безопасности всех видов ресурсов

2 обеспечение хорошей интеграции при удаленном доступе

3 защита от автоматических средств нападения

4 интеграция защиты информации в процесс разработки систем автоматизированной обработки информации в качестве обязательного элемента

 

 

19. Классификация информации по ее доступности.

1 общедоступная

2 доступ к которой не может быть ограничен

3 информация, доступ к которой ограничен по закону

4 информация, не подлежащая разглашению

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)