Поскольку за последние несколько дней тема продажи алгоритмов стала популярна, решил написать немного на тему защиты интеллектуальной собственности.
Так уж получилось, что перед тем как заняться количественным анализом и алгоритмами я более десяти лет посвятил защите программного обеспечения от пиратства и до сих пор тесно связан с этим вопросом.
Так вот, основной проблемой при продаже роботов является защита алгоритма от изучения, пожалуй, за исключением тех случаев, когда этот алгоритм полностью описан и отдается заказчику. В том случае, когда продается черный ящик, алгоритм должен быть надежно спрятан. Сказать это намного проще, чем сделать и тут все зависит от технологии реализации.
Вариантов может быть несколько и самый простой для защиты — это когда программа собирается в исполняемый машинный код (native code). Этот код можно изучать с помощью дизассемблеров, некоторые из них (IDA) позволяют привести его к виду C. Для защиты от изучения можно использовать так называемые конверты, которые выполняют две основные функции: обфускация (затемнение) кода и вируализация. Этот код изучать значительно сложнее. Тут я могу смело порекомендовать VMProtect, с автором которого мы сотрудничаем долгое время.
(
Читать дальше )