Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемАлександр Четвертаков
1 Два типа ошибок интерференция данных непредусмотренное взаимодействие данных между собой и данных с кодом Практически единственным способом вызвать интерференцию данных, либо данных и кода является умышленное переполнение буфера непредусмотренное взаимодействие данных между собой и данных с кодом Практически единственным способом вызвать интерференцию данных, либо данных и кода является умышленное переполнение буфера нарушение неявных ограничений Проблема ограничений, которые разработчик программы считает само собой разумеющимися, но которые на самом деле могут не выполняться. Это могут быть: отрицательное время или сумма платежа, текстовое значение на месте числа, и строки, созданные целиком из управляющих символов… Проблема ограничений, которые разработчик программы считает само собой разумеющимися, но которые на самом деле могут не выполняться. Это могут быть: отрицательное время или сумма платежа, текстовое значение на месте числа, и строки, созданные целиком из управляющих символов… Основные ошибки
2 Основные положения по разработке ПО не используйте экзотические и недокументированные возможности языка программирования оформляйте исходный текст ясно и четко, используйте необходимые комментарии используйте скобки для явного указания порядка операций : компилятор может оптимизировать выполнение выражений и начать, скажем, сложение F(1)+F(2)+F(3) со второго знака "+", тем самым вызвав сначала функцию F от 2, затем от 3, а только затем от 1 – если в функции изменяются какие-либо глобальные переменные это может привести к непредсказуемым последствиям
3 Основные положения по разработке ПО при всех удобных случаях используйте передачу параметров функции в качестве аргументов, а не в глобальных переменных выполняйте постулаты структурного программирования никогда не программируйте недокументированные возможности : технология "reverse engineering" – дизассемблирование и обратная компиляция" – на сегодняшний день достигла огромных результатов, особенно в отношении высокоуровневых языков программирования
4 Основные положения по разработке ПО закрывайте файлы сразу же по окончании работы с ними, а если Вы записываете важную информацию в течение долгого времени – периодически вызывайте функции сброса файлового буфера на дисковый накопитель проверяйте свободное место на диске перед записью в файл : некоторые операционные выдают ошибки при записи на переполненный диск нестандартным образом, блокируйте файлы и наборы данных, если Вы обращаетесь к ним по записи из нескольких параллельно работающих процессов или программ
5 Основные положения по разработке ПО старайтесь как можно сильнее сократить время записи в совместно используемые файлы, а, следовательно, и время их блокирования не будьте заранее уверенными, что программа запущена из той директории, где расположен ее исполнимый файл, – одной из первых команд после запуска программы явно смените каталог на желаемый при работе с внешними и сетевыми устройствами и дисками стройте циклы ожидания таким образом, чтобы из них был возможен выход по истечении определенного периода ожидания ответа – тайм-аута
6 Основные положения по разработке ПО очень тщательно разрабатывайте схему синхронизации параллельно работающих с одними и теми же данными процессов тщательно проверяйте алгоритмы на синдром "мертвой петли" – это ситуация, когда процесс A, начав изменять объект 1 и заблокировав его в связи с этим, ожидает снятия блокирования с объекта 2, в то время как процесс B, в то же самое время начавший изменять объект 2 и заблокировав его, ожидает снятия блокировки с объекта 1 – подобная проблема при такой схеме синхронизации теоретически неразрешима, единственный выход из нее – рассматривать объекты 1 и 2 как единое целое с возможностью только совместной блокировки
7 Основные положения по разработке ПО аккуратно выделяйте и очищайте объекты в динамической памяти при необходимости используйте криптографию никогда не передавайте пароль открытым текстом используйте криптостойкие алгоритмы шифрования и хеширования вычищайте блоки оперативной памяти после того как информация (пароли, ключи, конфиденциальные данные), находившаяся в них, стала ненужной
8 Основные положения по разработке ПО всегда проверяйте длины строк и массивов перед началом работы с ними встраивайте в Ваши системы требование регистрации каждого оператора с уникальным паролем и записью как можно большего количества информации о сеансе в лог- файл, недоступный для изменения операторам тщательно тестируйте Ваши приложения, в том числе на больших и неправильных входных данных
9 МАТЕМАТИЧЕСКИЕ ОСНОВЫ БЕЗОПАСНОСТИ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ Основные понятия
10 Основные понятия криптографии(I) Область применения криптографических средств – обеспечение конфиденциальности и неотказуемости. Открытый (исходный) текст данные (не обязательно текстовые), передаваемые без использования криптографии. Открытый (исходный) текст Шифрованный (закрытый) текст данные, полученные после применения криптосистемы с указанным ключом.ключом Криптосистема семейство обратимых преобразований открытого текста в шифрованный. Криптосистема Ключ параметр шифра, определяющий выбор конкретного преобразования данного текста. В современных шифрах алгоритм шифрования известен, и криптографическая стойкость шифра целиком определяется секретностью ключа (Принцип Керкгоффса). Ключкриптографическая стойкостьПринцип Керкгоффса Шифрование процесс нормального применения криптографического преобразования открытого текста на основе алгоритма и ключа, в результате которого возникает шифрованный текст. Шифрование Расшифровывание процесс нормального применения криптографического преобразования шифрованного текста в открытый. Дешифрование (дешифровка) процесс извлечения открытого текста без знания криптографического ключа на основе известного шифрованного. Термин дешифрование обычно применяют по отношению к процессу криптоанализа шифротекста (криптоанализ сам по себе, вообще говоря, может заключаться и в анализе шифросистемы, а не только зашифрованного ею открытого сообщения).
11 Основные понятия криптографии(II) Криптоанализ наука, изучающая математические методы нарушения конфиденциальности и целостности информации. Криптоанализ Криптоаналитик человек, создающий и применяющий методы криптоанализа. Криптоаналитик Криптография и криптоанализ составляют криптологию, как единую науку о создании и взломе шифров (такое деление привнесено с запада, до этого в СССР и России не применялось специального деления).криптологиюнаукузападаСССРРоссии Криптографическая атака попытка криптоаналитика вызвать отклонения в атакуемой защищенной системе обмена информацией. Успешную криптографическую атаку называют взлом или вскрытие. Криптографическая атака Криптографическая стойкость способность криптографического алгоритма противостоять криптоанализу. Криптографическая стойкость Имитозащита защита от навязывания ложной информации. Имитозащита достигается обычно за счет включения в пакет передаваемых данных имитовставки. Имитозащита Имитовставка блок информации, применяемый для имитозащиты, зависящий от ключа и данных. В частном случае обеспечивается ЭЦП.ЭЦП Асимметричный шифр - шифр, являющийся асимметричной криптографической системой.
12 Формальная модель шифров X, K, Y конечные множества возможных открытых текстов, ключей и шифровок. E k : X Y правило шифрования на ключе k K. Множество {E k : k K} обозначим через E, Множество {E k (x): x X} обозначим через E k (X). D k : E k (X) X правило дешифрования на ключе k K, и D это множество {D k : k K}
13 Определение шифра
14 Принцип перестановки Определение. Пусть X = Y = i=1 L A i, K S(A), где S(A) симметричная группа подстановок множества A. Для любого ключа k K, открытого текста X = (x 1,…,x l ) и шифрованного текста y = (y 1,…,y l ) правила зашифрования и расшифрования шифра простой замены в алфавите A определяются формулами: E k (x) = (k(x 1 ),…,k(x l )), D k (x) = (k -1 (y 1 ),…,k -1 (y l )), где k -1 подстановка, обратная k. В более общей ситуации для шифра простой замены: X = i=1 L A i, Y = i=1 L 1 B i, причем |A| = |B|, а K представляет собой множество всех биекций множества A на множество B. Правила зашифрования и расшифрования определяются для k K, x X, y Y (и обратной к k биекции k -1 )
15 Принцип замены Определение. Пусть X = Y = A L и пусть K S L, где S L симметрическая группа подстановок множества {1,2,…,L}. Для любого ключа k, открытого текста x = (x 1,…,x L ) и шифрованного текста y = (y 1,…,y L ) правила зашифрования и расшифрования шифра перестановки определяются формулами: E k (x) = (x k(1),…,x k(L) )), D k (y) = (y k -1 (1),…,y k -1 (L) )), (2) где k -1 подстановка, обратная k.
16 Алгоритм симметричного шифрования
17 Алгоритм ассиметричного шифрования
18 Стеганография (от греч. στεγανός скрытый и греч. γράφω пишу, буквально «тайнопись») это наука о скрытой передаче информации путём сохранения в тайне самого факта передачи.греч. информации В отличие от криптографии, которая скрывает содержимое секретного сообщения, стеганография скрывает само его существование. Стеганографию обычно используют совместно с методами криптографии, таким образом, дополняя её.криптографии
19 Примеры использование симпатических (невидимых) чернил. запись на боковой стороне колоды карт, расположенных в условленном порядке; запись внутри вареного яйца; «жаргонные шифры», где слова имеют другое обусловленное значение; трафареты, которые, будучи положенными на текст, оставляют видимыми только значащие буквы; трафареты скрытие информации в текстовых, графических либо аудиофайлах путём использования специального программного обеспечения.программного обеспечения
20 ПОНЯТИЕ О КРИПТОАНАЛИЗЕ
21 Определение Криптоанализ (от др.-греч. κρυπτός скрытый и анализ) наука о методах получения исходного значения зашифрованной информации, не имея доступа к секретной информации (ключу), необходимой для этого. В большинстве случаев под этим подразумевается нахождение ключа. В нетехнических терминах, криптоанализ есть взлом шифра (кода). Термин был введён американским криптографом Уильямом Ф. Фридманом в 1920 году.др.-греч.анализключуключашифракодаУильямом Ф. Фридманом1920 году
22 Виды криптоанализа Основные методы криптоанализа: Атака на основе шифротекста. Атака на основе открытых текстов и соответствующих шифротекстов. Атака на основе подобранного открытого текста (возможность выбрать текст для шифрования) Атака на основе адаптивно подобранного открытого текста Дополнительные методы криптоанализа: Атака на основе подобранного шифротекста Атака на основе подобранного ключа Бандитский криптоанализ
23 Атаки на основе шифротекста Задача определить ключ с использованием которого было произведено шифрование Осуществляется в случае доступа к отрытому каналу связи и отсутствии дополнительной информации
24 Атака на основе открытых текстов и соответствующих шифротекстов Задачи: Найти ключ, использованный для преобразования открытого текста в шифротекст Создать алгоритм, способный дешифровать любое сообщение, закодированное с помощью этого ключа В распоряжении криптоаналитика есть не только шифротексты, но и соответствующие им открытые тексты
25 Атака на основе подобранного открытого текста Задачи криптоналитика повторяют задачи для атаки на основе открытого текста, то есть получить ключ шифрования, либо создать дешифрующий алгоритм для данного ключа В распоряжении криптоаналитика не только какое-то количество открытых текстов и полученных на их основе шифртотекстов. В данном случае криптоаналитик должен обладать возможностью подобрать несколько открытых текстов и получить результат их шифрования.
26 Атаки на основе адаптивно подобранного шифротекста Задачи криптоналитика повторяют задачи для атаки на основе открытого текста, то есть получить ключ шифрования, либо создать дешифрующий алгоритм для данного ключа Криптоаналитик может принять решение о шифровании того или иного открытого текста на основе уже полученных результатов операций шифрования. При осуществлении атаки на основе подобранного открытого текста криптоаналитик выбирает всего один большой блок открытого текста для последующего шифрования, а потом на основе этих данных начинает взламывать систему. Криптоаналитик может получать результаты шифрования любых блоков открытого текста, чтобы собрать интересующие его данные, которые будут учтены при выборе следующих отправляемых на шифрование блоков открытого текста и так до далее. Наличие обратной связи дает атаке на основе адаптивно подобранного шифротекста преимущество перед всеми вышеперечисленными типами атак.
27 Атака на основе подобранного шифротекста Задача определение использованного ключа при шифровании Наличие временного доступа к дешифрующей подсистеме. В данный промежуток времени криптоаналитик получает исходные сообщения для известных ему шифрововок
28 Атака на основе подобранного ключа Задача определение использованного ключа при шифровании Атака такого типа строится на том, что криптоаналитик может наблюдать за работой алгоритма шифрования, в котором используются несколько ключей. Криптоаналитик изначально ничего не знает о точном значении ключей, зато ему известно некоторое математическое отношение, связывающее между собой ключи.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.