Навигация
Обмен ссылками

 

Технологические причины

автор: Art
Разработка программного обеспечения давно уже превратилась в отдельную индустрию, которая живет по своим законам и использует свои технологии. Эти технологии призваны сократить время разработки, повысить качество готовой продукции и, в конечном итоге, повысить прибыть от продажи программ.

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

18.5.2. Преемственность
Если первая версия программного продукта оказалась более-менее успешной, то через некоторое время выпускается следующая версия, в которой исправляются обнаруженные ошибки и добавляются новые функции, придуманные разработчиками. И этот процесс может повторяться очень долго,
т. к. почти в любой программе есть что исправить или добавить. Разумеется, при выпуске каждой новой версии разработчики стремятся ис- пользовать как можно больше из того, что уже было создано, а не пишут весь код заново. Со временем это часто приводит к тому, что почти любой модуль, входящий в состав программы, представляет собой нагромождение заплаток и надстроек, но вся система в целом является более-менее работоспособной. Если защита добавляется в уже спроектированную систему, то функции безопасности будут реализованы как надстройки над существующими процессами обработки информации. А это редко дает хорошие результаты.

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


 
 
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
 
Авторизация
Топ новостей