Шифрование системы

ghytr00013

В общем, задача такая. Есть некая интернет-система; написана на пхп и перле. Появился покупатель, готовый хорошо заплатить за это дело. Но есть следующие трудности:
1) он хочет, чтобы система была на диске, т.е. на локальном компе, а не на сервере в интернете.
2) нет к товарищу доверия, деньги большие - может кинуть.
3) сроки у меня - максимум неделя.
Есть такая извращенная идея решения - поставить freebsd поверх vmware, внутри сделать шифрование разделов и поставить систему. Соответственно пароль рута покупатель не знает и будет сложно это дело поломать. Если не будут соблюдены условия договора - кроном уничтожить систему через некоторое время. Или через какое-то число запусков. Понимаю, это весьма криво.
Думаю, мало кто сталкивался, но какие будут идеи у народа?

ghytr00013

Черт. Сейчас подумал - не получится ведь шифровать, при каждом запуске надо будет пароль вводить. Фигня.

ghytr00013

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

sergey_m

По-моему невозможно сделать то, что ты хочешь.

ghytr00013

Вообще, конечно, нельзя. Но надо чтобы на взлом ушло много усилий. Можно ли, скажем, так копнуть ядро, чтобы в него прописать пароль для системы? И сколько уйдет времени, учитывая отсутствие опыта ядрокодинга?

ghytr00013

Ну так и что, идей ни у кого нет?

AlexV769

отдельно php вроде можно зашифровать. насчет perl не знаю.

ghytr00013

Интересная мысль. Но что-то в инете ничего не нашел, не ткнешь куда глянуть?
А пароль при этом в апаче лежит?
Я вот думаю, сделать бинарник, монтирующий шифрованную систему, в который вкомпилить пароль. Это, конечно, тоже ломается, но придется возиться.
На перл можно забить, его там мало. Важна БД (mysql) и пхп.

AlexV769

спроси уже у гугла, а

ava3443

1) он хочет, чтобы система была на диске, т.е. на локальном компе, а не на сервере в интернете.
2) нет к товарищу доверия, деньги большие - может кинуть.
3) сроки у меня - максимум неделя.
Проблема-то вроде не техническая?
Трудно поставить покупателю триалку, не уведомляя его об этом, а как заплатит полностью - заменить?

ghytr00013

Триалка не прокатит. Смысл в том, что покупатель должен сам это дело сдать, и очень скоро. А тут у нас проект, который почти полностью ему по заданию. Чтобы что-то сдать он должен иметь полную версию со всеми фичами.
Посмотрел на Zend SafeGuard, поставил на сервак - вроде, что надо. Т.е. пхп скрипты оно шифрует. А потом нормально запускает. Можно и время действия скриптов поставить - всё вроде ок.
Теперь надо бы понять, что делать с БД. Но вроде должны быть какие-то механизмы защиты базы при получении к ней физического доступа. Будем искать.

family

Встрой в систему мину замедленного действия-то есть что-то, что либо при получении определённого запроса, либо по прошествии определённого времени перезаписывает все файлы твоей системы файлами нулевой длины.

olga-grabskaja

Продай базу данных вместе с сервером. Внутри сервера закрепи гранату, чтобы при вскрытии рвануло

ghytr00013

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

sergey_m

Все вышеперечисленные советы не канают, если покупатель ушлый и догадывается, что что-то планируется. Он просто сразу после покупки выймет винты и всё сбэкапит. Короче говоря, нужно закладываться на то, что система попадает ему в руки на неограниченное время.

family

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

sergey_m

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

family

Гы, ну тогда сказать ему, чтобы в VMWare он машину не выключал, а саспендил. 1 раз ввести пароль и заблокировать консоль нафик. Конечно, система будет во включенном состоянии, но затраты на анализ дампа памяти у товарища будут сопоставимы со стоимостью самой системы.

sergey_m

но затраты на анализ дампа памяти у товарища будут сопоставимы со стоимостью самой системы
Отнюдь нет.

ghytr00013

Насчет саспенда - может и прокатит. А каким образом можно вытащить данные из машинки если не будет доступа к консоли?
Система покупается за примерно миллион. Так что стыбрить может быть сильно дешевле.

ghytr00013

Не пойдет передавать ключ из инета. Можно же отследить, куда обращения идут. Если там будет пароль, то его надо хранить в системе, тогда до него можно добраться. А если пароля нет, то ключ сразу будет известен.
Если его каждый раз менять, то возникнут глюки при одновременной работе нескольких систем.

sergey_m

Насчет саспенда - может и прокатит. А каким образом можно вытащить данные из машинки если не будет доступа к консоли?
Но ведь ты говорил, что продукт отдаётся в руки покупателя. Отсюда я сделал вывод, что у него будет доступ.

ghytr00013

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

sergey_m

Да, у него ж есть доступ к системе, в которой работает vmware, значит он может получить образ памяти работающей системы. И не понятно на счёт пароля введённого заранее. А если перегрузится?

sergey_m

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

ghytr00013

Если перегрузится, то все грохнется. Об этом ему будет сказано в руководстве.
Товарищи манагеры стараются, но покупатель сам должен сдать продукт по контракту, где обозначена вполне конкретная функциональность и с этим ничего не сделаешь.
На перле там небольшие вставки, ничего критического нет. Весь пхп я переберу Zend Encoder-ом. А вот что с мусклом делать, не знаю. Фактически надо чтобы системный рут не мог прочитать базу. База, вообще говоря, ценнее скриптов, т.к. над ней 3 года специалисты работали и тщательно всё выверялось.

stm6695895

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

ghytr00013

Потому что после передачи продукта он должен его показать комиссии, а деньги получит только после успешной его сдачи. После этого может быть кидалово с его стороны. Юридически ничего не сделать, т.к. у них ООО и денег на их счете может не оказаться. Конечно, аванс в 300 килорублей, я все равно получу.

sergey_m

А комиссия будет проверять базу? Дай 10% реальной базы до получения денег.

ghytr00013

Это хорошо. Ломать-то комиссия точно ничего не будет. И смотреть, думаю, будут очень поверхностно. Т.е. даже 5% базы хватит чтобы сдать всё.

CapitanJack

кстати на счет шифрования - посмотри, может тебе VMware ACE поможет.

ghytr00013

Думаю, всё же поставлю на шифрованную бздю в суспенде шифрованый пхп и 10% базы. Если захотят взломать, взломают, но куча времени и сил уйдет.
Оставить комментарий
Имя или ник:
Комментарий: