Диплом - 1.5.3 Требования по защите программного обеспечения

Безопасность программного обеспечения (ПО) в широком смысле является свойством данного ПО функционировать без проявления различных негативных последствий для конкретной компьютерной системы. Под уровнем безопасности ПО понимается вероятность того, что при заданных условиях в процессе его эксплуатации будет получен функционально пригодный результат. Причины, приводящие к функционально непригодному результату могут быть разными: сбои компьютерных систем, ошибки программистов и операторов, дефекты в ПО. При этом дефекты принято рассматривать двух типов: преднамеренные и непреднамеренные. Первые являются, как правило, результатом злоумышленных действий, вторые - ошибочных действий пользователя. Отсюда следует, что любой программный продукт должен иметь защитные механизмы как от злоумышленных действий так и от ошибок пользователя. Подробное рассмотрение защиты от ошибочных действий пользователя будет рассмотрена в разделе "Разработка и отладка программы". А теперь рассмотрим реально применяемые в разрабатываемой программе защитные механизмы.
Главный механизм защиты применяемый в данной программе это - защита от несанкционированного доступа т.е. при запуске программы появляется диалоговое окно которое предлагает пользователю ввести пароль. Если пароль ведён правильно появляется главное окно программы, а если пароль не соответствует правильному, пользователю предлагается повторить попытку. В данном случае пароль не хранится в открытом виде, а применяется механизм вычисления хеша от строки т.е. от введённого пароля (алгоритм MD5) и уже данный хеш хранится в системе. При проверке пароля (при входе в программу) вычисляется хеш от ведённой строки и если он совпадает с эталонным хешем, хранящимся в системе, то доступ разрешён. Это один из множества "парольной" защиты программы.
Так же в данной программе есть модуль который защищает EXE файл программы от изменения. Если по какой то причине (заражение вирусом, действием злоумышленника и т.д.) EXE файл подвергся редактированию или какому либо изменению, программа при запуске сообщает об этом пользователю (рисунок 1.1). При каждом запуске программа проверяет целостность EXE файла. То есть подсчитывается контрольная сумма файла и сравнивает с эталонной хранящейся в системе. Если сравниваемые значения совпадают то доступ разрешён.
Так же во время загрузки программы идёт проверка на имя запускаемого файла, оно строго должно быть "Metodist.exe". Т.е. нельзя переименовывать данный файл. Данная проверка служит для детектирования заражения вирусом, при несовпадении имени с эталонным выскакивает диалоговое окно (рисунок 1.2). Т.к. существует такой класс файловых вирусов которые при заражении переносят часть заражаемой программы (равную размеру вируса) в конец файла и дописывают в начало своё тело. При запуске такого файла управление получает вирус и создаёт пустой файл со случайным именем и записывает туда файл-жертву в чистом виде и запускает. Из выше сказанного следует что данная проверка необходима.

Хостинг от uCoz