Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MeteorNEO
2 / 2 / 0
Регистрация: 20.04.2013
Сообщений: 15
#1

Методы проектирования по информационной безопасности - C++

01.05.2013, 15:38. Просмотров 404. Ответов 4
Метки нет (Все метки)

Описание: В настоящее время отличается большой актуальностью проблема защиты авторских прав разработчиков ПО. Незначительная модификация готовых программных продуктов (замена заголовков окон, переименование файлов и т. п.) позволяет претендовать на авторство лицам, не имеющим отношения к разработке и распространению ПО. В настоящей лабораторной работе рассматриваются вопросы затруднения модификации готовых программных продуктов. Борьбу с модификацией готовых программных продуктов предлагается вести, например, следующим образом:
− подсчитывать сумму байтов файла с расширением exe этого ПО и записывать ее в конец файла;
− при запуске такого exe-файла проверять соответствует ли сумма байтов требуемому значению. Если не соответствует, при возможности оповещать автора электронным письмом, выдавать соответствующие сообщения, прекращать выполнение предписанных функций и т. д.
При этом предъявляются высокие требования к программному коду, реализующему блокировку модификации. Если злоумышленник будет знать, что в конце exe-файла должна располагаться сумма его байтов, он без труда сможет скорректировать эту сумму с учетом модификации. Обычно затрудняют жизнь злоумышленнику следующим образом:
− вместо суммы вычисляют более сложную функцию от каждого байта;
− фрагменты программного кода хранят криптографически преобразованными и расшифровывают их лишь перед этапом выполнения. Это затрудняет дизассемблирование и понимание логики работы ПО;
− функции защиты от модификации рассредотачивают по программному коду.
Следует помнить, что не существует абсолютных методов защиты информации от несанкционированного доступа. Однако часто возможно сделать трудоемкость несанкционированного доступа не менее сложной, чем создание требуемого программного продукта.


Задание: Разработать в среде визуального программирования ПО, позволяющее к любому exe- файлу добавлять 4-х байтовое слово, содержащее сумму всех байтов этого файла по mod 2^32


Вопросы пока такие: 1) Как узнать размер файла *.exe из его сигнатуры
2) "при запуске такого exe-файла проверять соответствует ли сумма байтов требуемому значению" - проверять должна та прога, экзешник которой запустили?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2013, 15:38     Методы проектирования по информационной безопасности
Посмотрите здесь:
Реализовать систему симметричного блочного шифрования (лаба по информационной безопасности) C++
C++ Объектно-ориентированного проектирования и проектирования на основе структур данных
C++ Шаблоны проектирования
Шаблоны проектирования C++
C++ Ошибка проектирования класса
Паттерны проектирования (Фабрики) C++
C++ Паттерн проектирования «Фасад»
Знание шаблонов проектирования. Что знать ? C++
C++ Шаблоны проектирования при создании карт
С чего начать изучать паттерны проектирования? C++
C++ Шаблоны проектирования (литература для изучения)
C++ Паттерны проектирования, нужен код на С++ и UML диаграмма

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gazlan
3130 / 1905 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
01.05.2013, 17:07     Методы проектирования по информационной безопасности #2
GetFileSize function

Размер надо определять только средствами OS, файл может содержать оверлей, быть склейкой нескольких файлов, содержать собственную FS.

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

Проверка, типа одиночной CRC32 (неважно, на диске или в памяти), отламывается минут за пять в отладчике.
MeteorNEO
2 / 2 / 0
Регистрация: 20.04.2013
Сообщений: 15
01.05.2013, 21:03  [ТС]     Методы проектирования по информационной безопасности #3
Если можно, то чуть проще, ибо я этой темой только недавно задался. Мне по сути надо написать программу позволяющую к любому exe- файлу добавлять 4-х байтовое слово, содержащее сумму всех байтов этого файла по mod 2^32. А затем придумать тест для выявления степени реализации её функциональных возможностей.
gazlan
3130 / 1905 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
01.05.2013, 21:38     Методы проектирования по информационной безопасности #4
Все, что вы собираетесь добавлять изначально есть и предусмотрено стандартом.

Цитата из Hard Wisdom "PE Format 1.3.0"
58h DWord File CheckSum контрольная сумма всего файла
Предполагалось ее рассчитывать как инверсию суммы всех байтов файла.
Посмотрите готовое:

Availability and description of the File Checksum Integrity Verifier utility
CheckSumMappedFile function
Как подсчитать File CheckSum
Make your own CheckSumMappedFile
Реализация собственной функции CheckSumMappedFile
MeteorNEO
2 / 2 / 0
Регистрация: 20.04.2013
Сообщений: 15
11.05.2013, 03:37  [ТС]     Методы проектирования по информационной безопасности #5
Цитата Сообщение от gazlan Посмотреть сообщение
Все, что вы собираетесь добавлять изначально есть и предусмотрено стандартом.
Ну это лабораторная по защите информации на С++, почти все, чему учат уже сделано до нас, но тем не менее мы же продолжаем изобретать велосипеды.
Yandex
Объявления
11.05.2013, 03:37     Методы проектирования по информационной безопасности
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru