Home
Журнал Тигры Below are the 1 most recent journal entries recorded in the "Alexey Tigarev" journal:
April 19th, 2005
05:52 pm

[Link]

Защита исходников PHP
У меня возникла потребность защитить исходники на PHP при инсталляции на third-party сервер. Есть следующие категории программ для этого: обфускаторы, шифровальщики исходников и генераторы байт-кода. Можно совмещать, некоторые программы объединяют в себе два уровня.

Обфускаторы портят имена переменных, классов и методов, затрудняя реверс-инжиниринг логики программы. Однако, структура исходников остаётся прежней. Про то, что они форматирование кода портят - я уж и не говорю, это легче всего восстанавливается имеющимися в избытке утилитами.

Шифровальщики исходников - вообще не добавляют секьюрности (а только создают её иллюзию) - перед выполнением всё одно исходники раскодируются.

Генераторы байт-кода компилируют исходники в байт-код, такой же, который генерирует само PHP при прекомпиляции скрипта. При этом теряется структура (вложенные блоки с циклами и ветвлениями становятся линейным кодом с переходами и условными переходами). Возможно, сохраняются идентификаторы - я не смотрел (тогда добавочно можно доработать напиль обфускатором).

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

Ограничивает использование генераторов байт-кода необходимость убеждать хостинг-провайдера установить на свой веб-сервер загрузчик этого самого байт-кода.

Из трёх защит, работающих на уровне генератора байт-кода, я рассматривал Zend Encoder, ionCube PHP Encoder, и microCODE.

Zend кусается (лицензия на год от $600, пожизненная - около $2500), microCode - судя по текущему номеру версии, ещё недозрелый. Предварительно я выбрал ionCube PHP Encoder - посмотрим на документацию и на триал, как скачаются.

Список всех ссылок, которые я использовал при поиске/оценке: http://del.icio.us/t_gra/php+obfuscation

Current Mood: productive
Current Music: Rammstein - Links 2 3 4 (Westbam Technoelectro mix)
Tags: , , ,

(6 comments | Leave a comment)

AgileProductivity: Утройте продуктивность команды программистов, используя гибкие методологии Powered by LiveJournal.com