Защищаете ли через ionCube?

Роберт

Аналитик
Защищаете ли через ionCube?

Есть ли тут кто-то кто защищает свои программы через ionCube?
Когда-то раньше , при необходимости защитить программу , я использовал ionCube 3.0.4 (в общем-то действовал по принципу - "Для менее популярного шифровальщика меньше вероятность найти ДЕшифровальщик").
Сейчас опять возникла задача защитить код. Начал искать что пишут , и ужаснулся... Всяких DeZender'ов великое множество. А про ionCube пишут что третью версию не сломать , а для пятой и шестой якобы есть взломщики (хотя мне ни одного не удалось найти). Хотя с другой стороны - многие что-то где-то услышали , а потом как реалный факт выдают...
Хотел узнать мнение у тех кто работает ionCube (последняя версия вроде 6.5.4) - стоит ли использовать данный продукт или все уже на Zend окончательно перешли?
 

WP

^_^
Гон, сломать можно всё. Если будет спец. заниматься однозначно сломает, но обычно создаются декодеры и их используют ламеры, так что тут всё упирается в гонку защитников и создателей новых декодеров. А еще - покури обфускатор, хорошая штука.
 

Роберт

Аналитик
boombick
OpenSource рулит тогда когда ты делаешь общественный продукт. А я свою машину на колокейшен отдаю. Только не тем провайдерам , которые гарантируют неприкосновенность техники. Так уж надо...

WP
Вот обфускаторы-то как раз ломаются за конечное количество времени.
Например вот о TrueBug - http://madnet.name/news/21.html
 

WP

^_^
Роберт
Я не про такие ублюдочно-смешные реализации.

А что мешает поменять провайдера или договориться с ним? Просто если кому-то сильно понадобится твой сорц, изымут сервер и все расшифруют.
 

Vallar_ultra

Любитель выпить :)
Роберт
ИМХО это параноя. В абсолютном количестве случаев, когда люди думают что все надо срочно прятать, ибо клиенты \ хостеры \ уборщицы в датацентре \ злобные хаЦкеры и прочие личности с криминальным прошлым-будущим обязательно будут воровать твой "СУПЕР СЕКРЕТНЫЙ" код на ПоХаПе - это обыкновенное непонимание того, что никому из вышеперечисленных людей твой код нафик не впился, а если вдруг и впился, то или из любопытства, или за тем, чтобы там что-нить незначительное поправить(а если ты боишся что твои баги будут видеть - то это просто неприлично). Это ведь не HPOpenView за исходники которого можно получить много денег =)
 

Alexandre

PHPПенсионер
Мы сейчас ЦМСку делаем, так ядро в последствии планируем выложить в OpenSource. Доход не от ее продажи, а от индивидуальных заказов и качественного сопровождения ...

А OpenSource - это дополнительная реклама!

Пусть все воруют, так о нас будут знать больше ...
 

Роберт

Аналитик
WP
Тогда предложи модель не смешного обфускатора. С моей точки зрения - они все смешные!

Alexandre
Мы говорим сейчас о разных моделях бизнеса. У тебя массовый продукт , а у меня единичная реализация где ценность составляет не программа , а информация , собранная в течении нескольких лет. Информация зашифрована. Разберутся с кодом программы - получат информацию. Раньше это всё стояло на моих машинах , а теперь переезжает к пользователям (огромная организация).

Но вопрос не в том - будут ли они взламывать (абонентскую плату они платят больше чем получают их сотрудники) , а в том - Если для ionCube есть свободно лежащие декодировщики - то этим грех не воспользоваться. А если и впрямь для ionCube-3 он так и не появился , а для ionCube-5 и ionCube-6 существуют - то значит для ionCube-3 и не появится.
Другими словами: задача - зашифровать. Вопрос: чем?
 

Роберт

Аналитик
Андрейка
Нет , не в коде скрипта. Информации более 6Гб. Она лежит отдельно (на этой же машине). А скрипт , помимо интерфейсов и прочего , содержит алгоритмы расшифровки.
 

Alexandre

PHPПенсионер
Роберт используй Zend, если информация того стоит, хотя есть информация что и Zend ломали.

ребятя ionCube (не знаю какая версия, но дело было несколько лен назат) сломали за 2 часа (был такой конкурс на пхпКлабе). Возможно новую версию ionCube ломать не будут или не смогут....

PS. я бы в этом случае часть разработки пренес бы в экстеншен.
 

Роберт

Аналитик
Alexandre
Что ты подразумеваешь под словом "экстеншен"?
У меня когда-то была идея чтобы шифрующий блок сделать в виде .exe файла и в Апаче его ввести как фильтр , ну типа как в:

LoadModule php4_module modules/libphp4.so
<Files *.php>
SetOutputFilter PHP
SetInputFilter PHP
</Files>

но все идеи разбились когда я так и не придумал каким обзразом защитить этот процес от передачи ему информации НЕ моим приложением. Если кому-то надо будет расшифровать данные - он просто подменит мой модуль своим , посмотрит передаваемые параметры и уже через мой модуль прогонит все данные , расшифровав их... (да и в самом .php скрипте будет хорошо видно как вызывается внешняя расшифровка)
 

Alexandre

PHPПенсионер
но все идеи разбились когда я так и не придумал каким обзразом защитить этот процес от передачи ему информации НЕ моим приложением
это решается приблизительно так (на Сях)
- смотрится pid вызывающего процесса
- смотрится какое приложение запущено с данным пидом
- сравнивается данного приложения с тем, которое должно быть.
т.е. родителем твого приложения сможет быть только htppd, иначе exit(1) или иной код завершения.

но идея должна быть другой:

на php пишется WEB часть.
в экстеншен заносятся все интерфейсные функции по работе с БД (зашифрованными данными) в частности и с ключами тоже, если таковые имеются :)

php использует интерфейсные функции расширения и отдает контент пользователю.

Вопрос? где гарантия того, что прогеры, не написав свою прогу - перегонят БД в нужный формат.

Ответ - гарантии нет, прогеры могут с такой же легкостью написать паука, который сольет всю твою базу в нормальный формат (у меня такое было на практике, наш контентный проект просто напросто слизали и все).

так что, как вариант - используй ЗендЕнкодер или ИонКубе и не парься.

-~{}~ 29.06.07 16:57:

да еще вопрос в догонку - база - статика, или ее постоянно пополняют?
 

Dreammaker

***=Ф=***
>Роберт используй Zend, если информация того стоит, хотя есть информация что и Zend ломали.

Сам тестировал с год назад один из китайских зенд-декодеров - на каком-то из форумов ссылка была. Работает, зараза :)
 

fixxxer

К.О.
Партнер клуба
php в любом случае исполняет байткод zend vm.
любой енкодер, шифрующий байткод (а иначе это вообще фуфло) содержит extension, который умеет отдавать php расшифрованный байткод. соответственно, вытащить его не проблема.
основная задача сводится к восстановлению из байткода исходника, но тут уже неважно, какой енкодер используется :)

в рассматриваемом случае с данными, единственным приемлимым с точки зрения безопасности способом является аппаратный криптомодуль. это штука недешевая, но, если данные стоят меньше, то наверное вообще не стоит заморачиваться)
 

Роберт

Аналитик
fixxxer
Можно уточнить про "аппаратный криптомодуль" - ты можешь предложить какой-то работающий с PHP?
Данные действительно стоят дорого , но защищать сам сервер (наптример через апаратный "Seсure IDЕ") нельзя , так как причиной переноса сервера к клиенту является необходимая доступность сервера для аудитoров и других контрoлирующих оргaнов.
Раньше я много работал с HАSP-ключами (в основном защищал Delрhi программы) , но он не работает с РНР. А защитить надо именно скрипт! Потому что если если защищать данные , то ни кто не помешает взглянуть на алгоритм получения данных (пусть даже и через аппаратный криптомодуль) в открытом РНР-скрипте и на этой же машине поставить свой РНР-скриптик который попросту прогонит все данные).

Dreammaker
Я по этому про Zend и не спрашивал , так как вещь популярная и ни один десяток светлых голов (пусть даже и с тёмными мыслями) сейчас сидят и доканчивают расшифратор к последней версии. Да и сейчас DeZender'ов в интернете много удалось найти для более старых версий.

Alexandre
Видишь ли , родителем моего приложения по любому будет httpd , так как для получения всех данных никто не будет писать программу на другом языке. Возьмут тот же скрипт и перепишут для получения всех данных. Запустять на этой же машине и он точно также будет вызывать экстеншен , который вернёт разшифрованные данные.
Почему не хотел использовать Zend - выше уже написал (да и тут подтверждают что он декодируется). Я к сожалению так и не нашёл описанного тобой взлома ionCube (и удивлён что ты после этого сам советуешь его сипользовать).
А что касается данных - они статичны (ну тоесть старые данные закодированы , а те данные которые вводят они - хранятся отдельно открыто , а мои новые данные регулярно поступают в шифрованном варианте).
А ты хотел что-то предложить для пополнящихся? Очень интересно послушать!
 

phprus

Moderator
Команда форума
Роберт
Возьмут тот же скрипт и перепишут для получения всех данных. Запустять на этой же машине и он точно также будет вызывать экстеншен , который вернёт разшифрованные данные.
ИМХО это паранойя, так как можно просто поступить так, как уже говорил Alexandre, а именно так:
прогеры могут с такой же легкостью написать паука, который сольет всю твою базу в нормальный формат
А от этого защититься невозможно.
 

fixxxer

К.О.
Партнер клуба
Роберт, ну если возможен полный доступ злоумышленника к машине, где все это дело крутится, то это уже просто задница :) тут мне уже как-то даже нечего посоветовать.
 

Alexandre

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

вот ссылка - ей можешь доверять http://phpclub.ru/talk/showthread.php?postid=268256#post268256

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

По этому - кодировка Зендом или иным енкодером вполне достаточная мера. Пауком даже проще получить данные, нежеле заниматься декодированием.

Мне кажется, что суть абонентского обслуживания именно в том, что ты постоянно поставляешь актуальные данные, т.е. даже если они сопрут часть твоих даных, то им все равно необходима будет актуализация БД, т.е. без тебя ни куда.
 
Сверху