Слайд 2
![Защита ПО – это комплекс мер, направленных на защиту программного](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-1.jpg)
Защита ПО – это комплекс мер, направленных на защиту программного обеспечения
от несанкционированного приобретения, использования, распространения, модифицирования, изучения и воссоздания аналогов.
Слайд 3
![Причины использования систем защиты ПО: 1. незаконное использование алгоритмов, являющихся](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-2.jpg)
Причины использования систем защиты ПО:
1. незаконное использование алгоритмов, являющихся интеллектуальной собственностью автора,
при написании аналогов продукта (промышленный шпионаж);
2. несанкционированное использование ПО (кража и копирование);
3. несанкционированная модификация ПО с целью внедрения программных злоупотреблений;
4. незаконное распространение и сбыт ПО (пиратство).
Слайд 4
![ПО должно быть защищено от воздействия: человека.; аппаратуры; специализированных программ](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-3.jpg)
ПО должно быть защищено от воздействия:
человека.;
аппаратуры;
специализированных программ
Слайд 5
![Системы защиты ПО по методу установки можно подразделить на системы,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-4.jpg)
Системы защиты ПО по методу установки можно подразделить на
системы,
устанавливаемые на скомпилированные модули ПО;
системы, встраиваемые в исходный код ПО до компиляции;
комбинированные
Слайд 6
![По используемым механизмам защиты средства защиты делятся на: системы, использующие](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-5.jpg)
По используемым механизмам защиты средства защиты делятся на:
системы, использующие сложные
логические механизмы - различные методы и приёмы, ориентированные на затруднение дизассемблирования, отладки и анализа алгоритма СЗ и защищаемого ПО;
Дизассемблирование – процесс и/или способ получения исходного текста программы.
Слайд 7
![По используемым механизмам защиты средства защиты делятся на: системы, использующие](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-6.jpg)
По используемым механизмам защиты средства защиты делятся на:
системы, использующие шифрование
защищаемого ПО – для дезактивации защиты необходимо определение ключа дешифрации ПО;
комбинированные системы.
Слайд 8
![Методы, препятствующие дизассемблированию информации • шифрование; • архивация: • использование самогенерирующих кодов; • «обман» дизассемблера.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-7.jpg)
Методы, препятствующие дизассемблированию информации
• шифрование;
• архивация:
• использование самогенерирующих кодов;
• «обман» дизассемблера.
Слайд 9
![Обзор методов защиты программного обеспечения](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-8.jpg)
Обзор методов защиты программного обеспечения
Слайд 10
![1. Организационные меры Полноценное использование программного продукта невозможно без соответствующей](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-9.jpg)
1. Организационные меры
Полноценное использование программного продукта невозможно без соответствующей поддержки со стороны
производителя: подробной пользовательской документации, «горячей линии», системы обучения пользователей и т.п.
Слайд 11
![2. Правовые меры Заключаются в установлении ответственности за использование программного](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-10.jpg)
2. Правовые меры
Заключаются в установлении ответственности за использование программного обеспечения с нарушением
порядка, установленного действующим законодательством.
Слайд 12
![3. Технические средства Можно классифицировать по способу распространения защищаемого программного обеспечения и типу носителя лицензии.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-11.jpg)
3. Технические средства
Можно классифицировать по способу распространения защищаемого программного обеспечения и типу
носителя лицензии.
Слайд 13
![Локальная программная защита Подразумевает необходимость ввода серийного номера (ключа) при](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-12.jpg)
Локальная программная защита
Подразумевает необходимость ввода серийного номера (ключа) при установке или
запуске программы.
В настоящий момент метод используется только в совокупности одним или более других методов.
Слайд 14
![Сетевая программная защита Осуществляемое программой сканирование сети исключает одновременный запуск](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-13.jpg)
Сетевая программная защита
Осуществляемое программой сканирование сети исключает одновременный запуск двух программ
с одним регистрационным ключом на двух компьютерах в пределах одной локальной сети.
Слайд 15
![Глобальная программная защита Если программа работает с каким-то централизованным сервером](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-14.jpg)
Глобальная программная защита
Если программа работает с каким-то централизованным сервером и без
него бесполезна, она может передавать серверу свой серийный номер; если номер неправильный, сервер отказывает в услуге. Недостаток: существует возможность создать сервер, который не делает такой проверки.
Слайд 16
![Защита при помощи компакт-дисков Программа требует оригинальный компакт-диск.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-15.jpg)
Защита при помощи компакт-дисков
Программа требует оригинальный компакт-диск.
Слайд 17
![Для защиты от копирования используется: запись информации в неиспользуемых секторах;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-16.jpg)
Для защиты от копирования используется:
запись информации в неиспользуемых секторах;
проверка расположения и
содержимого «сбойных» секторов;
проверка скорости чтения отдельных секторов.
Слайд 18
![Программно-аппаратные средства защиты ПО с электронными ключами Электронный ключ –](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-17.jpg)
Программно-аппаратные средства защиты ПО с электронными ключами
Электронный ключ – это аппаратная
часть системы защиты, представляющая собой плату с микросхемами памяти либо с микропроцессором, помещенную в корпус и предназначенную для установки в один из стандартных портов ПК или слот расширения материнской платы.
Слайд 19
![Электронный ключ содержит ключевые данные, называемые также лицензией, записанные в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-18.jpg)
Электронный ключ содержит ключевые данные, называемые также лицензией, записанные в него
разработчиком защищенной программы.
Защита программы основывается на том, что только ему (разработчику) известен полный алгоритм работы ключа.
Слайд 20
![Виды электронных ключей ключи с памятью (без микропроцессора); ключи с микропроцессором (и памятью).](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-19.jpg)
Виды электронных ключей
ключи с памятью (без микропроцессора);
ключи с микропроцессором (и памятью).
Слайд 21
![Ключи с памятью хранят критическую информацию (ключ дешифрации, таблица переходов)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-20.jpg)
Ключи с памятью хранят критическую информацию (ключ дешифрации, таблица переходов) в
памяти электронного ключа.
Для дезактивации необходимо наличие у злоумышленника аппаратной части системы защиты, либо снятие логической защиты.
Слайд 22
![Ключи с микропроцессором содержат в аппаратной части не только ключ](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-21.jpg)
Ключи с микропроцессором содержат в аппаратной части не только ключ дешифрации,
но и блоки шифрации/дешифрации данных, при работе защиты в электронный ключ передаются блоки зашифрованной информации, и принимаются расшифрованные данные
Слайд 23
![Достоинства: 1. Ключ можно использовать в любом компьютере, на котором](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-22.jpg)
Достоинства:
1. Ключ можно использовать в любом компьютере, на котором необходимо запустить
программу.
2. Значительное затруднение нелегального распространения и использования ПО.
3. Избавление производителя ПО от разработки собственной системы защиты.
4. Высокая автоматизация процесса защиты ПО.
Слайд 24
![Недостатки: 1. Дополнительные затраты на приобретение системы защиты и обучение](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-23.jpg)
Недостатки:
1. Дополнительные затраты на приобретение системы защиты и обучение персонала.
2. Замедление продаж из-за
необходимости физической передачи аппаратной части.
3. Повышение системных требований из-за защиты (совместимость, драйверы).
4. Несовместимость защиты и аппаратуры пользователя.
5. Затруднения использования защищенного ПО в мобильных ПК.
Слайд 25
![Привязка к параметрам компьютера и активация В процессе установки программа](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-24.jpg)
Привязка к параметрам компьютера и активация
В процессе установки программа подсчитывает код
активации – контрольное значение, однозначно соответствующее установленным комплектующим компьютера и параметрам установленной программы.
Это значение передается разработчику программы. На его основе разработчик генерирует ключ активации, подходящий для активации приложения только на указанной машине.
Слайд 26
![Достоинства: не требуется никакого специфического аппаратного обеспечения](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-25.jpg)
Достоинства:
не требуется никакого специфического аппаратного обеспечения
Слайд 27
![Недостатки: 1. Программное обеспечение становится неработоспособным в случае, если пользователь](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-26.jpg)
Недостатки:
1. Программное обеспечение становится неработоспособным в случае, если пользователь производит модернизацию компьютера
(если привязка осуществляется к аппаратной конфигурации компьютера).
2. Ложные срабатывания СЗПО при любых изменениях в параметрах ПК.
3. Низкая стойкость при доступе злоумышленника к ПК пользователя.
4. Возможность конфликтов с системным ПО.
Слайд 28
![Алгоритмы защиты ПО 1. Алгоритмы запутывания – используются хаотические переходы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-27.jpg)
Алгоритмы защиты ПО
1. Алгоритмы запутывания – используются хаотические переходы в разные части
кода, внедрение ложных процедур - "пустышек", холостые циклы, искажение количества реальных параметров процедур ПО, разброс участков кода по разным областям ОЗУ и т.п. (метод «спагетти»)
Слайд 29
![Алгоритмы защиты ПО 2. Алгоритмы мутации - создаются таблицы соответствия](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-28.jpg)
Алгоритмы защиты ПО
2. Алгоритмы мутации - создаются таблицы соответствия операндов - синонимов
и замена их друг на друга при каждом запуске программы по определенной схеме или случайным образом, случайные изменения структуры программы.
Слайд 30
![Алгоритмы защиты ПО 3. Алгоритмы компрессии данных - программа упаковывается,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-29.jpg)
Алгоритмы защиты ПО
3. Алгоритмы компрессии данных - программа упаковывается, а затем распаковывается
по мере выполнения. (EXEPACK - это один из первых EXE-упаковщиков, разработанный ещё в начале 80-х годов, zLib)
Слайд 31
![Алгоритмы защиты ПО 4. Алгоритмы шифрования данных - программа шифруется,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-30.jpg)
Алгоритмы защиты ПО
4. Алгоритмы шифрования данных - программа шифруется, а затем расшифровывается
по мере выполнения. (Полная – частичная расшифровка)
Слайд 32
![Алгоритмы защиты ПО 5. Методы затруднения дизассемблирования - используются различные](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-31.jpg)
Алгоритмы защиты ПО
5. Методы затруднения дизассемблирования - используются различные приемы, направленные на
предотвращение дизассемблирования в пакетном режиме.
Слайд 33
![Алгоритмы защиты ПО 6. Методы затруднения отладки - используются различные приемы, направленные на усложнение отладки программы.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-32.jpg)
Алгоритмы защиты ПО
6. Методы затруднения отладки - используются различные приемы, направленные на
усложнение отладки программы.
Слайд 34
![Алгоритмы защиты ПО 7. Эмуляция процессоров и операционных систем -](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-33.jpg)
Алгоритмы защиты ПО
7. Эмуляция процессоров и операционных систем - создается виртуальный процессор
и/или операционная система и программа-переводчик из системы команд ПК в систему команд созданного процессора или ОС, после такого перевода ПО может выполняться только при помощи эмулятора, что резко затрудняет исследование алгоритма ПО.
Слайд 35
![Алгоритмы защиты ПО 8. Нестандартные методы работы с аппаратным обеспечением](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-34.jpg)
Алгоритмы защиты ПО
8. Нестандартные методы работы с аппаратным обеспечением - модули системы
защиты обращаются к аппаратуре, минуя процедуры операционной системы, и используют малоизвестные или недокументированные её возможности.
Слайд 36
![По принципу функционирования СЗ можно подразделить на упаковщики / шифраторы;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-35.jpg)
По принципу функционирования СЗ можно подразделить на
упаковщики / шифраторы;
СЗ
от несанкционированного копирования;
СЗ от несанкционированного доступа (НСД).
Слайд 37
![Упаковщики/шифраторы Используются алгоритмы компрессии данных; приёмы, связанные с использованием недокументированных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-36.jpg)
Упаковщики/шифраторы
Используются алгоритмы компрессии данных; приёмы, связанные с использованием недокументированных особенностей операционных
систем (ОС), криптографические методы, алгоритмы мутации, запутывание логики программы.
Слайд 38
![Недостатки: 1. Замедляют выполнение кода ПО. 2. Шифрование / упаковка](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-37.jpg)
Недостатки:
1. Замедляют выполнение кода ПО.
2. Шифрование / упаковка кода ПО вызывает затруднения при
обновлении (update) и исправлении ошибок (bugfix, servicepack).
3. Данный класс систем уязвим, так как программный код, в конечном итоге, распаковывается или расшифровывается для выполнения.
4. Упаковка и шифрование исполняемого кода вступает в конфликт с запрещением самомодифицирующегося кода в современных ОС.
Слайд 39
![Средства защиты от несанкционированного копирования Средства защиты от несанкционированного копирования осуществляют "привязку" ПО к дистрибутивному носителю](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-38.jpg)
Средства защиты от несанкционированного копирования
Средства защиты от несанкционированного копирования осуществляют "привязку"
ПО к дистрибутивному носителю
Слайд 40
![Достоинства: 1. Затруднение нелегального копирования и распространения ПО; 2. Защита прав пользователя на приобретённое ПО.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-39.jpg)
Достоинства:
1. Затруднение нелегального копирования и распространения ПО;
2. Защита прав пользователя на приобретённое ПО.
Слайд 41
![Недостатки: 1. Большая трудоёмкость реализации системы защиты; 2. Затруднение продаж](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/313709/slide-40.jpg)
Недостатки:
1. Большая трудоёмкость реализации системы защиты;
2. Затруднение продаж из-за необходимости физической передачи дистрибутивного
носителя;
3. Снижение отказоустойчивости ПО;
4. На время работы ПО занимается накопитель;