Методы и средства обеспечения целостности и достоверности используемого программного кода

Методы защиты программ от несанкционированных изменений

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

  • РПС может быть внедрены в авторскую программу или эта программа может быть полностью заменена на программуноситель РПС;
  • могут быть изменены характеристики (атрибуты) программы;
  • злоумышленник может выдать себя за настоящего владельца программы;
  • законный владелец программы может отказаться от факта правообладания ею.

Наиболее эффективными методами защиты от подобных злоумышленных действий предоставляют криптографические методы защиты. Это обусловлено тем, что хорошо известные способы контроля целостности программ, основанные на контрольной сумме, продольном контроле и контроле на четность, как правило, представляют собой довольно простые способы защиты от внесения изменений в код программ. Так как область значений, например, контрольной суммы сильно ограничена, а значения функции контроля на четность вообще представляются однимдвумя битами, то для опытного нарушителя не составляет труда найти следующую коллизию: f(k1)=f(k2), где k1 код программы без внесенной нарушителем закладки, а k2 с внесенной программным закладкой и f функция контроля. В этом случае значения функции для разных аргументов совпадают при тестировании и, следовательно, закладка обнаружена не будет.


Ведете ли вы блог?

Да
Нет
Планирую


Результаты опроса

Новостной блок