The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Представлен неподдающийся обратному инжинирингу метод запутывания кода

02.08.2013 23:09

Группа учёных из массачусетского, колумбийского, техасского и калифорнийского университетов предложила новый способ (PDF) запутывания кода программного обеспечения (obfuscation), с целью приведения его к нечитаемому виду, непригодному для восстановления алгоритма работы. В отличие от применяемых ныне методов запутывания кода новый способ оперирует техникой функционального шифрования, что не даёт возможности провести обратный инжиниринг и восстановить хотя бы в общих чертах логику работы закодированного приложения.

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

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

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



  1. Главная ссылка к новости (http://newsroom.ucla.edu/porta...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/37587-obfuscation
Ключевые слова: obfuscation
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (170) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 23:17, 02/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +21 +/
    Удивительная новость на ресурсе, посвященному опенсорсу.
     
     
  • 2.2, PavelR (ok), 23:21, 02/08/2013 [^] [^^] [^^^] [ответить]  
  • +41 +/
    "Врага надо знать в лицо".
     
     
  • 3.15, Аноним (-), 23:46, 02/08/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Они что, полиморфные вирусы изобрели? Мне кажется, вирусописатели придумали подобные трюки лет 20 назад. Как раз с подобной целью. Что от аверов их все-равно не особо спасло. Не получается влобовую - изучат вызовы и поведение в целом. Не идеально, но достаточно для понимания что за хрень и как с ней бороться.
     
     
  • 4.22, angra (ok), 00:30, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +12 +/
    Нет. Основной код полиморфа выполняется в расшифрованном виде. Дешифратор заполняется мусором и антиотладочными трюками. Две копии вируса не похожи друг на друга, но если перехватить момент дешифрации, то получаем чистый код основной части вируса.

    А в данном случае дешифрации вообще не происходит ни на каком этапе. Код всегда остается "зашифрованным"(это не правильный термин ибо суть совсем в другом), но тем не менее при исполнении дает правильный результат. И никаких антиотладочных трюков и мусора, они здесь просто не нужны.

    Так что ничего общего с полиморфами данное исследование не имеет. Но тем, кто хочет понять о чем ребята говорят, придется серьезно налечь на матан и функан.

     
     
  • 5.26, souryogurt (ok), 01:45, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Есть полиморфные вирусы которые не только дешифратор, но и "полезную" нагрузку генерируют с мусором. Но в целом вы правы.
     
  • 5.51, Аноним (-), 08:18, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Половина полиморфиков кроме этого еще и густо разбавляет полезный код бесполе... большой текст свёрнут, показать
     
     
  • 6.73, FF (?), 10:50, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ты новость читал? Тогда в сад, писатель.

     
     
  • 7.89, Аноним (-), 14:02, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Ты новость читал? Тогда в сад, писатель.

    Как раз почитал. И понял что это подозрительно напоминает мне трюки авторов полиморфиков 20-летней давности...


     
  • 6.113, arisu (ok), 20:31, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Нормальные полиморфики именно так и работали всю жизнь.

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

     
  • 4.97, True (?), 16:15, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >Они что, полиморфные вирусы изобрели?

    Нет. Всего лишь Perl.

     
     
  • 5.136, kurokaze (ok), 16:07, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >Нет. Всего лишь гвидобейсик.

    Исправил, не благодари

     
  • 3.28, ffirefox (?), 01:57, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это враги из параллельной вселенной. GPL такой код не пройдет, а у BSD никому и вовсе не сдался. А пропирасты пусть перед друг другом выпендриваются.

     
     
  • 4.33, Аноним (-), 03:44, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А Вы уверены, что GPL подобный код не пройдёт? Американский суд может решить иначе.
     
     
  • 5.102, Aceler (ok), 17:02, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    В апстрим-то он точно не попадёт, потому что не пройдёт review :-)

    А вот в микрософте очень обрадуются.

     
     
  • 6.104, Аноним (-), 17:17, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > А вот в микрософте очень обрадуются.

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

     
  • 4.35, анон (?), 03:47, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    а как тебе неломаемые игры/программы?
     
     
  • 5.38, Sabakwaka (ok), 04:02, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > а как тебе неломаемые игры/программы?

    Ура! Превратятся в покупаемые! :)

     
     
  • 6.52, Организация Объединённых Тюленей (?), 08:21, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Непокупаемые.
     
  • 6.72, Evolve32 (ok), 10:50, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так это же и хорошо. Может хоть небольшая доля людей задумается о свободной альтернативе. Если, конечно, они действительно станут не ломаемые, в чем я сомневаюсь.
     
  • 5.53, Аноним (-), 08:23, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > а как тебе неломаемые игры/программы?

    Не ломается только компьютер который забыли включить. Все остальное - весьма зависит от.

     
     
  • 6.135, Аноним (-), 14:44, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Не ломается только компьютер который забыли включить.

    Ломается! Еще как ломается! Вот его выключили, несколько лет не включали, потом попробовали включить - а он, собака, не включается! Поломался! ;)

     
  • 5.54, Аноним (-), 08:23, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так не бывает. Если нельзя модифицировать программу модифицируют окружение в котором она запускается.
     
  • 5.103, Aceler (ok), 17:03, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > а как тебе неломаемые игры/программы?

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

     
  • 4.81, Crazy Alex (ok), 12:28, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +8 +/
    хм, взять gpl-код, засунуть в проприетарный продукт, вот так обработать... только интересно, что там от быстродействия остаётся
     
     
  • 5.105, Аноним (-), 17:20, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > хм, взять gpl-код, засунуть в проприетарный продукт, вот так обработать...

    А вот это - реальная опасность. Плюсанул. Реальная возможность проприетарщикам воровать открытый код и эффективно прятать улики. Возможно, это и является целью проекта.

     
  • 4.98, True (?), 16:18, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Это враги из параллельной вселенной. GPL такой код не пройдет, а у
    > BSD никому и вовсе не сдался. А пропирасты пусть перед друг
    > другом выпендриваются.

    Пишешь программу, шлепаешь лицензию GPL или BSD, исходники нате пожалуйста и продаешь по $9.99 каждую копию.

     
     
  • 5.137, kurokaze (ok), 16:09, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Пишешь программу, шлепаешь лицензию GPL или BSD, исходники нате пожалуйста и продаешь
    > по $9.99 каждую копию.

    Не получится, ты быстро обанкротишься, продашь квартиру и почку и станешь бомжом.

     
  • 4.146, Аноним (-), 19:43, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Почему сразу враги? Если отпетые проприетасты внезапно начнут выпускать люто тормозящие программы, то это ж гут.
     
  • 2.6, arka (?), 23:25, 02/08/2013 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Сейчас выстрелит BSD? :)
     
     
  • 3.17, Аноним (-), 23:49, 02/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Сейчас выстрелит BSD? :)

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

     
     
  • 4.45, SubGun (ok), 07:43, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Зато, когда изобретут, это будет гасс-пушка, в то время как остальные будут с рогатками бегать.
     
     
  • 5.55, Аноним (-), 08:24, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > с рогатками бегать.

    Вы только забыли уточнить что с рогатками они будут бегать лишь потому что доигрались с ядерным оружием и устроили reboot своей эволюции случайно :)

     
     
  • 6.66, Aesthetus Animus (ok), 08:43, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > доигрались с ядерным оружием и устроили reboot своей эволюции случайно :)

    Но это не отменяет того факта, что у нас будет "гасс-пушк" (wtf? это типа пушка Гаусса? Не важно, проще говоря, вундервафля), а вас - рогатка.

     
     
  • 7.69, Аноним (-), 10:05, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Но это не отменяет того факта, что у нас будет "гасс-пушк" (wtf?
    > это типа пушка Гаусса? Не важно, проще говоря, вундервафля), а вас - рогатка.

    Ну да. Правда не в этой жизни. Или в параллельной вселенной. А так все ничего.

     
  • 7.114, arisu (ok), 20:34, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Но это не отменяет того факта, что у нас будет «гасс-пушк» (wtf?
    > это типа пушка Гаусса? Не важно, проще говоря, вундервафля), а вас
    > — рогатка.

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

     
     
  • 8.126, Аноним (-), 08:57, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема еще и в том что нужда стрелять обычно приспичивает в момент когда на те... текст свёрнут, показать
     
  • 5.138, kurokaze (ok), 16:10, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Зато, когда изобретут, это будет гасс-пушка, в то время как остальные будут
    > с рогатками бегать.

    США рельсотронами оснастит суда к 2020, а вы да, будете бегать с рогатками

     
     
  • 6.141, arisu (ok), 17:37, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > США рельсотронами оснастит суда к 2020, а вы да, будете бегать с
    > рогатками

    рельсотрон не панацея.

     
     
  • 7.154, Аноним (-), 01:51, 05/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > рельсотрон не панацея.

    Ну учитывая дальность и пробиную силу, с развитием систем наведения можно будет подойти за пределы действия береговых батарей и вынести их :)

     
     
  • 8.169, Neus (?), 22:17, 05/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А теперь представь какого размера аналогичную пушку можно разместить на берегу ... текст свёрнут, показать
     
     
  • 9.181, Evgueni (?), 15:43, 11/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема не в размере пушки, а в скорости сгорания пороха Так что ресольтрон ... текст свёрнут, показать
     
  • 4.148, MrClon (?), 22:51, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Сейчас выстрелит BSD? :)
    > У них наверняка пистолет еще не готов. И вообще, при попытке выстрелить
    > окажется что надо изобрести порох, придумать пули, сбилдить пистолет, и вот
    > тогда, через пару столетий, можно стрелять.

    Помнится про Linux что-то похожее говорили в своё время (:

     
  • 2.7, Buy (ok), 23:27, 02/08/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Все нормально. Запутать необратимо код, а потом открыть исходники под GPL. Изучайте, модифицируйте, используйте. Все условия соблюдены.
     
     
  • 3.18, Аноним (-), 23:49, 02/08/2013 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > Все условия соблюдены.

    Ага, щаз. Было мнение что обфусцированный код - исходниками не является.

     
     
  • 4.34, Аноним (-), 03:46, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Разумеется, очень обоснованное мнение. Судьи в США также считают?
     
     
  • 5.56, Аноним (-), 08:26, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Разумеется, очень обоснованное мнение.

    Ну это мнение FSF и их юристов.

    > Судьи в США также считают?

    Ну если вы хотите проверить - идите и попинайтесь с FSF в суде. Как раз и узнаете как считают судьи.

     
     
  • 6.156, linux must __RIP__ (?), 08:58, 05/08/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Разумеется, очень обоснованное мнение.
    > Ну это мнение FSF и их юристов.

    позвольте - а как же на счет обфускации патчей ядра со стороны RedHat ?

     
     
  • 7.170, Led (ok), 06:10, 06/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> Разумеется, очень обоснованное мнение.
    >> Ну это мнение FSF и их юристов.
    > позвольте - а как же на счет обфускации патчей ядра со стороны
    > RedHat ?

    Дурачок, нет там никакой "обфускации". Это тебе с твоими дружками-ламерами из оракла всё что сложнее helloworld.c кажется "обфускациями.

    P.S. Неоднократно выбирал одиночные коммиты/фиксы из RHEL'овских патчей. Это несложно - может, потому что я в школе учился, а не в оракловской-майкрософтовкой бурсе для дибилов, как ты?

     
  • 5.94, Аноним (-), 15:08, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот, кстати, повод задуматься о cледующей версии GPLv3.1
     
  • 4.39, Sabakwaka (ok), 04:24, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > обфусцированный код - исходниками не является.

    Не «обфусцированный», а МИНИМИЗИРОВАННЫЙ ! :)
    Для вашей же пользы, чтоп быстрее исполнялся :)

     
     
  • 5.57, Аноним (-), 08:27, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Не «обфусцированный», а МИНИМИЗИРОВАННЫЙ ! :)

    В случае компилируемых исходников это никак не влияет на скорсоть исполнения. Там компилер покруче минимизацию выполняет своим оптимизатором.

    > Для вашей же пользы, чтоп быстрее исполнялся :)

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

     
     
  • 6.74, Константин (??), 10:52, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если описанное преобразование является криптографичски стойким, то полученный код будет практически неоптимизируем. Соответственно, программа, скомпилированная из обработанного исходника, будет работать в разы медленнее нормальной (если вообще будет работать), и обработанный код уже не сможет считаться исходником нормальной программы.
     
     
  • 7.107, Аноним (-), 17:24, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Если описанное преобразование является криптографичски стойким

    Со половинкой ключа, сданной в ...


     
  • 5.106, Аноним (-), 17:23, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> обфусцированный код - исходниками не является.
    > Не «обфусцированный», а МИНИМИЗИРОВАННЫЙ ! :)
    > Для вашей же пользы, чтоп быстрее исполнялся :)

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

     
  • 3.20, Алексей (??), 23:51, 02/08/2013 [^] [^^] [^^^] [ответить]  
  • +6 +/
    "The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work." -- https://www.gnu.org/licenses/gpl-3.0.en.html
     
  • 3.41, Evgueni (?), 05:56, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Значит придёт время GPL4 с запрещением обфуркации.
     
     
  • 4.58, Аноним (-), 08:28, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Значит придёт время GPL4 с запрещением обфуркации.

    Да вообще-то оно не проходит и с 2/3 уже. Так, по мнению юристов.

     
  • 2.24, Аноним (-), 01:26, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Удивительна она еще тем, что автор не знаком с русским языком.
     
  • 2.32, Аноним (-), 03:41, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Я думаю, что как раз весьма актуальная для open source штука. Если всё так, как они говорят.
     
  • 2.78, Boboms (ok), 11:43, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Удивительная новость на ресурсе, посвященному опенсорсу.

    Да, не стоит смотреть дальше своего носа...

     
  • 2.99, Аноним (-), 16:21, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Закройте глаза, заткните себе уши и старайтесь не замечать обратных тенденций..
     
  • 2.119, Аноним (-), 23:05, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Речь идёт о запутывании программы на уровне _исходного текста_ или на уровне _машинного кода_?
     
     
  • 3.120, GG (ok), 23:06, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Речь идёт о запутывании программы на уровне _исходного текста_ или на уровне
    > _машинного кода_?

    Речь идёт о запутывании программы на уровне исходного текста так сильно, что машинный код из такого текста получается ещё более запутаным, но каким-то чудом всё-равно работает

     

     ....большая нить свёрнута, показать (62)

  • 1.3, commiethebeastie (ok), 23:23, 02/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Фотография справа какбэ намекает на производительность и стабильность конечного решения.
     
     
  • 2.147, tessel (?), 22:15, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Индусу просто очень хочется кушать хлеб с маслом.
     

  • 1.4, Аноним (-), 23:24, 02/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Все алгоритмы давно известны, а мимолетная блобопроприетарщина пусть идет в /dev/null
     
  • 1.5, Аноним (-), 23:24, 02/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Посоны расходимся - пишут что лажа, практически не применить, накладные расходы огромные.
     
     
  • 2.9, Аноним (-), 23:29, 02/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Дисятки гигов оперативки?)

    Это похоже на scrypt ))

     
     
  • 3.11, Аноним (-), 23:35, 02/08/2013 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Скорее на java.
     
  • 2.82, eoranged (ok), 12:29, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А где пишут? Можно линк?
     

  • 1.8, Аноним (-), 23:28, 02/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Чем это лучше боянной обфускации на конечных автоматах?
     
     
  • 2.10, Аноним (-), 23:31, 02/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Чем это лучше боянной обфускации на конечных автоматах?

    Генрация больших кусков навоза внутри кода

     
     
  • 3.19, Аноним (-), 23:51, 02/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Генрация больших кусков навоза внутри кода

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

     
  • 2.14, Аноним (-), 23:44, 02/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Сорри, не совсем в курсе, но добавлю одно предположение.
    Перевод гиперболического шифрования на язык конечных автоматов позволяет выделить классы ненадежных кривых. Вероятно обфускация на конечных автоматах может быть более верифицируема - и, возможно, доказано нерасшифруема иначе как брутфорсом.
    Смотреть их пруфы в статье у меня квалификации не хватает.
    Вспоминается что МС как-то подписалась с кем-то из Скандинавии (ПрологЛабс или похоже) на криптинг ДЛЛек в виртуальные машины. Т.е. такое сабджевое уже не первый год (
    Скоро бинарники будут все более монолитными и хрен реверсируемыми - DRM, виртуалка и полная обфускация + привязка с прошивкой.
     
     
  • 3.21, Аноним (-), 23:53, 02/08/2013 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Скоро бинарники будут все более монолитными и хрен реверсируемыми - DRM, виртуалка
    > и полная обфускация + привязка с прошивкой.

    И закончится все это тем что оно само помрет под натиском опенсорса.

    Как бывший реверсер могу отметить что глупо ломиться в железную дверь с крутыми замками, если она стоит в чистом поле. Можно просто взять и обойти. Это намного проще :).

     
     
  • 4.46, SubGun (ok), 07:45, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Бывший реверсер и вдв-шник. И это в 15 лет. Угу-угу.
     
     
  • 5.60, Аноним (-), 08:29, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Бывший реверсер и вдв-шник. И это в 15 лет. Угу-угу.

    Ну подумаешь, ошибся в пару раз. Форумным аналитикам простительно.

    Эй, аналитик, "какая вероятность того что я на улице встречу динозавра?" :)

     
     
  • 6.115, Аноним (-), 20:37, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Эй, аналитик, "какая вероятность того что я на улице встречу динозавра?" :)

    Не выходя на улицу? Околонулевая. В противном случае — что-то около ста процентов. Современная наука считает, что все птицы — динозавры. Попробуй пройтись по улице, не встретив ни одного голубя :)

     
     
  • 7.127, тень_pavel_simple (?), 12:08, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >Современная наука считает, что все птицы — динозавры.

    альтернативно одарённый представитель науки?

     
     
  • 8.134, Аноним (-), 13:56, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, просто лучше-чем-лично-ты осведомлённый человек ... текст свёрнут, показать
     
  • 7.128, Аноним (-), 13:08, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Эй, аналитик, "какая вероятность того что я на улице встречу динозавра?" :)
    > Не выходя на улицу? Околонулевая. В противном случае — что-то около ста
    > процентов. Современная наука считает, что все птицы — динозавры. Попробуй пройтись
    > по улице, не встретив ни одного голубя :)

    Вранье. Не 100, а только 50 - то ли встретишь, то ли нет.

     
  • 3.80, Аноним (-), 12:27, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > гиперболического шифрования

    Конечно же эллиптические кривые. Как же я налажал )))

     
  • 2.85, Аноним (-), 13:30, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Чем это лучше боянной обфускации на конечных автоматах?

    Чем грузины.

     

  • 1.12, IMHO (?), 23:39, 02/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +15 +/
    зачем, ведь есть Perl
    > Perl — это тот язык, который одинаково выглядит как до, так и после RSA шифрования… — Keith Bostic
     
     
  • 2.70, Аноним (-), 10:09, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > зачем, ведь есть Perl

    Участники obfuscated C code contest считают вас галимым скрипткидисом, а поклонники брейнфака - просто малодушным слабаком.

     
     
  • 3.79, тоже Аноним (ok), 12:21, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Посмотрите результаты этого конкурса:
    http://www.askdev.ru/question/1969/Code-Golf-%D0%B8%D0%B3
    Написано живыми людьми и без всякой обсфуркации. При этом рефреном звучат комментарии: "а как это работает"? Я вот сейчас глянул - не скажу, чтобы собственное решение показалось мне понятным ;)
     
  • 3.87, ИМХО (?), 13:46, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Участники obfuscated C code contest

    гореть тем в аду кто код на С обфускацией гадит

     
     
  • 4.88, Аноним (-), 14:01, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > гореть тем в аду кто код на С обфускацией гадит

    Да ладно, специально обгаженый код бывает прикольным. Например одним большим палиндромом, или там еще чем.

     

  • 1.13, Анонимус_8470100500 (?), 23:40, 02/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >..задачи, выполнение которой на современных компьютерах потребует нескольких сотен лет вычислений.

    Умный в гору не пойдёт - умный гору обойдёт.

     
     
  • 2.16, Аноним (-), 23:46, 02/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Умный в гору не пойдёт - умный гору обойдёт.

    Скорее толстый

     

  • 1.23, Dfox (?), 01:12, 03/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Спасибо за светлое будущее.
     
  • 1.25, ffirefox (?), 01:38, 03/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Я так понимаю, что никто из этих ученых никогда не ковырялся в машинном коде?
    Или код так будет зашифрован, что даже процессор его будет выполнять не понимая, что выполняет?

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

     
     
  • 2.43, Восторженный школьник (?), 07:22, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >даже процессор его будет выполнять не понимая, что выполняет?

    Вообще-то да.

     
  • 2.47, SubGun (ok), 07:47, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Непонятно, зачем еще запутывать программный код, если нижний уровень это машинные коды
    > (ассемблер). Ну, не хочешь отдавать исходники - не отдавай.

    При чем тут исходники? У вас заело?
    Данный метод в первую очередь предназначен для защиты от взлома программ. И он уж всяко будет сильнее, чем ASPack и Themida.

     
     
  • 3.62, Аноним (-), 08:31, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > он уж всяко будет сильнее, чем ASPack и Themida.

    Авторы полиморфной вирусни похожие по смыслу трюки придумали лет 20 назад.

     
  • 3.122, pansa (ok), 02:51, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я вас разочарую, но обфускация предназначена как раз для защиты исходного кода и алгоритма.
    Что вы вносите в понятие "взлом программы" тоже не совсем понятно.
     
  • 2.68, Аноним (-), 10:02, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >Или код так будет зашифрован, что даже процессор его будет выполнять не понимая, что выполняет?

    Он всегда так делает. Что дали то и выполняет.

     
  • 2.116, arisu (ok), 20:38, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > даже процессор его будет выполнять не понимая, что выполняет?

    ты, наверное, удивишься, но именно так и происходит *абсолютно со всем машинным кодом*. процессор реально ничего не понимает, потому что это каменюка, и «понималкой» не наделена.

     

  • 1.27, energia (ok), 01:47, 03/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Кто-нибудь что-нибудь понял из этой запутанной чуши? Есть предположение, что смысл новости уже зашифрован "на уровне функциональности"
     
     
  • 2.29, YetAnotherOnanym (ok), 02:09, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +4 +/
    "Представлен неподдающийся пониманию метод запутывания новостей" - это Вы имели в виду?
     
  • 2.36, Аноним (-), 03:52, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я, например, понял. И я не удивлён, что ничего не поняли Вы.
     

  • 1.30, Аноним (-), 03:11, 03/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    >Для восстановления исходного вида требуется решение мат задачи

    А никого исходный вид не интересует. Берём отладчик, генерим асм, выбрасываем мусор

     
     
  • 2.37, Аноним (-), 03:55, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Смысл в том, что теперь такое западло можно называть СПО.
     
     
  • 3.63, Аноним (-), 08:31, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Смысл в том, что теперь такое западло можно называть СПО.

    А белое можно называть черным. Лжецам и лицемерам невпервой.

     
  • 2.48, SubGun (ok), 07:49, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А никого исходный вид не интересует. Берём отладчик, генерим асм, выбрасываем мусор

    Ну что, очередной школьник? Фишка блин в том как раз, что "мусор" не выбросить.

     
     
  • 3.64, Аноним (-), 08:32, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > не выбросить.

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

     
  • 2.59, Аноним (-), 08:29, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > выбрасываем мусор

    Там только мусор

     

  • 1.31, Аноним (-), 03:39, 03/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хорошо зашифровали, дальше что, система как то должна понимать этот код. Ладно научили понимать зашифрованный код через программный или аппаратный уровень. Но почему в новости нет информации о том как это шифрование сказывается на производительности конечного результата. Да и никто не может исключить ошибку в алгоритме которая позволит с периода сотен лет сократить процесс до считанных дней. Такое уже происходило неоднократно с многими алгоритмами шифрования, которые тоже начинались со слов, для этого алгоритма требуется сотни лет. Человеческий фактор исключить нельзя даже у группы ученных
     
     
  • 2.49, SubGun (ok), 07:51, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это да, лень - штука такая.
     
  • 2.67, Аноним (-), 10:01, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    "При использовании метода, код программы преобразуется в зашифрованное на уровне функциональности представление, при котором зашифрованный код остаётся исполняемым"
     

  • 1.40, pavlinux (ok), 05:33, 03/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мутатень всё это, алгоритмы и шифры уже ломают лазерами....
    Та же IBM хакала то ли ГОСТовский шифр, то ль кого-то из *Fish_ей
    через расчёт потребления мощности на кристалле.
     
     
  • 2.92, Аноним (-), 14:50, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Очень интресно. Можно ссылочку?
     
     
  • 3.109, XVilka (ok), 19:34, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Пожалуйста. Из свежего https://media.blackhat.com/us-13/US-13-OFlynn-Power-Analysis-Attacks-for-Cheap и https://media.blackhat.com/us-13/US-13-OFlynn-Power-Analysis-Attacks-for-Cheap
     
     
  • 4.110, Аноним (-), 20:14, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо за интересные ссылочки про побочные каналы.

    Но, хотелось узнать, как можно лазером сломать алгоритм. %)

    >алгоритмы и шифры уже ломают лазерами....  

     
     
  • 5.123, pavlinux (ok), 04:43, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Спасибо за интересные ссылочки про побочные каналы.
    > Но, хотелось узнать, как можно лазером сломать алгоритм.

    Лазером низя, как и отладчиком.
    А вот воспользоватся результатами работы этих приборов - можно.

    Как я понял суть была в том, что на микруху приклеивают некий кристалл,
    из какого-то материала, который под действием ЭМИ от микрух искривляет
    луч лазера. Ну и на выходе эти параметры  сравниваются с начальными.

    Программно задают некие шаблоны шифруемого текста (например все нули или единицы),
    и изучают отклонения на всём периоде шифрования. В том шифре строго на 6-ом и 17-ом (цифры не точные)
    раундах, возникали скачки ЭМИ. Как дальше это использовали не писали.

    Но по любому, отклонение от равномерной работы алгоритма в шифре - это провал. :)  

     
     
  • 6.168, Аноним (-), 21:49, 05/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо за столь подробный ответ. Кристалл - это серьезно. 8)
     

  • 1.42, AS (??), 07:01, 03/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    а если я в как-бы ящике виртуалку другую обфусцирую то я интелект прячу да ??
     
     
  • 2.90, Аноним (-), 14:09, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ваш интелект не спрячешь.
     

  • 1.44, Аноним (-), 07:24, 03/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Это похоже на гомоморфное шифрование?
     
     
  • 2.83, Crazy Alex (ok), 12:33, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    да, нечто близкое
     

  • 1.71, Baz (?), 10:14, 03/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    а давайте так зашифруем весь интЫрнет (МС)
     
  • 1.76, Аноним (-), 11:09, 03/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Дали бы примеры кода зашифрованного и нет.
     
     
  • 2.77, Andrey Mitrofanov (?), 11:20, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Дали бы примеры кода зашифрованного и нет.

    Все говорят "дали бы", а ты _купи_!

     

  • 1.84, AnonymousSL (?), 12:49, 03/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Оригинал статьи не читал. Как я понял, код будет зашифрован в исполняемый код некоей виртуальной машины, внутри которой текущий код тоже нужно будет преобразовать, чтобы получить реальное исполнение для ВМ, а потом выполнить. Кто читал подробно, скажите, так?
    Могу предположить, что сама ВМ тоже является одним из вариантов текущей ВМ и поэтому выявить алгоритм самой ВМ в общем виде будет не такой простой задачей.
     
     
  • 2.86, Аноним (-), 13:33, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Оригинал статьи не читал. Как я понял, код будет зашифрован в исполняемый

    "Не читал, но осуждаю" (с)

     
     
  • 3.93, AnonymousSL (?), 14:59, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Правильно говорить: "Пастернака не читал, но осуждаю"
     
     
  • 4.130, Аноним (-), 13:10, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Правильно говорить: "Пастернака не читал, но осуждаю"

    Я в курсях, как правильно. Все поняли.

     

  • 1.91, Аноним (-), 14:12, 03/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ничего в pdf'ке интересно, -- они рассматривают топологию скотта и делают её гомеоморфное преобразование с рандомизацией. Фактически неявно опираются на предположение, что NP/=P. Скука..
     
  • 1.95, paver (?), 15:25, 03/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Не понял причины негативного отношения к новости. Как сабж вредит (делу) СПО?
     
     
  • 2.131, Аноним (-), 13:11, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Не понял причины негативного отношения к новости. Как сабж вредит (делу) СПО?

    Эти недоумки своим существованием СПО вредят. А прыгать с крыши никак не желают.


     

  • 1.96, Аноним (-), 16:01, 03/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    название pdf-файла напомнило роман, где пожарники из-за тоталитаризма книги жгли.
     
  • 1.108, Anonymouse (?), 18:55, 03/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А там  не любую функцию можно спрятать, а вроде только из класса NC
    http://en.wikipedia.org/wiki/NC_(complexity)
    >Our first result is a candidate construction of an indistinguishability obfuscator iO for all polynomial-size,

    log-depth circuits (i.e. NC)
    Не?

     
     
  • 2.112, Аноним (-), 20:21, 03/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А че там с производительностью таких программ? На скорость выполнения кода оно влияет или нет?
     

  • 1.111, Аноним (-), 20:21, 03/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    ад наступает
     
     
  • 2.132, Аноним (-), 13:11, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > ад наступает

    Мы все умрем! (с)

     

  • 1.117, cordatus (ok), 21:02, 03/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Круто, круто... Да уж, кто за что борется.
     
  • 1.118, GG (ok), 21:46, 03/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Пора пилить GNU GPL v4
     
     
  • 2.172, danfe (?), 06:30, 06/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем?  Еще в GPLv2 явно указано, что "source code for a work means the preferred form of the work for making modifications to it."  Код, который любым способом был переведен в неудобочитаемый (и тем более нечитаемый вовсе) вид, под это определение не попадает ни разу.
     

  • 1.121, Xasd (ok), 02:43, 04/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    здорово! молодцы!

    ...но всё равно я не понял -- что за значения нужно подставлять вутрь переменных ---- a[..], g, e[..], z[..]

    http://www.opennet.me/opennews/pics_base/0_1375470183.jpg

     
  • 1.124, Аноним (-), 05:34, 04/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Пусть пусть запутывают. Вследствие этого проприетарщина станет ещё более тормозной и непотребной.
     
     
  • 2.133, Аноним (-), 13:12, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Пусть пусть запутывают. Вследствие этого проприетарщина станет ещё более тормозной и непотребной.

    А еще за нее деньги платят. А вот патчи к линю в уплату - увы и ах! - не принимают нигде.

     
     
  • 3.139, arisu (ok), 17:32, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А еще за нее деньги платят. А вот патчи к линю в
    > уплату — увы и ах! — не принимают нигде.

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

    а если понимать так, что платят разработчикам и продавцам, то погугли по двум словам: «red hat». и перестань уже нести свою чушь.

     
     
  • 4.142, Xasd (ok), 17:38, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    кстате в пивном магазине -- я даже фарами от автомобиля врядле смогу расплатиться за пиво :)

    ..ну или там -- металлическими дорожными знаками :-) :-)

     
     
  • 5.143, arisu (ok), 17:46, 04/08/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > кстате в пивном магазине — я даже фарами от автомобиля врядле смогу
    > расплатиться за пиво :)
    > ..ну или там — металлическими дорожными знаками :-) :-)

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

     

  • 1.149, EuPhobos (ok), 23:47, 04/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну вот, а потом удивляемся, почему нынешние %@цать гигабайт оперативы, и 16 ядер не хватает, что бы нормально, быстро и плавно работала винда.
    Конечно, когда каждая функция в коде будет выполнять(или уже выполняет) лишнюю крипто-работу, мол "главное что бы не заметили что код ворованный".
    Любители по-воровать у GPL, возрадуются.
     
  • 1.150, Аноним (-), 01:06, 05/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    посоны, не парьтесь! есть и положительная сторона можно таким макаром стеганографии рвать одну программу в другую, например фс с криптоконтейнером в майнсвипера и хрен кто докажет что на компе вообще есть криптоконтейнер
     
     
  • 2.151, Аноним (-), 01:08, 05/08/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    извините за неровный почерк - пишу с кофеварки
     

  • 1.152, Zip (ok), 01:14, 05/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    друзья мои, а никто не задумывался, как это пропирастические программеры будут отлавливать баги в своих зашифрованых поделтях или принимать от пользователей бан-репорты? Если такое шифрование сделает практически недоступным отладку, то и применять шифрование не будут или поделия спросом не будут пользоваться вообще.
     
  • 1.153, Zip (ok), 01:24, 05/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Баг-репорты! Опечатался.
     
  • 1.157, Алексей (??), 11:02, 05/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вирусы выходят на новый уровень!!!

    Если сделать программу по их методу а потом в нее внедрить кусочек вируса уже никто не сможет - понять как работает программа!!!!

     
  • 1.158, asdf (?), 11:31, 05/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Наверное очень весело искать причины сегфолта в таких программах.
     
  • 1.159, WishMaster (ok), 17:03, 05/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Имея двоичный код, можно восстановить последовательность действий, зная последовательность действий можно понять, какой код - мусор.-))
     
     
  • 2.171, Led (ok), 06:12, 06/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Имея двоичный код, можно восстановить последовательность действий, зная последовательность
    > действий можно понять, какой код - мусор.-))

    Школоте языком молоть - не мешки ворочать. Ты, для началя, хотя бы "расшифруй" обычный код, скомпилированный с -O3.

     

  • 1.160, Алекс (??), 19:03, 05/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хочу что бы кто-нибудь пояснил что значит "Сама функция не поддаётся анализу и выполняется в зашифрованном виде, без стадии расшифровки." ?
    Только просьба без словоблудства, нормально объяснил.
     
     
  • 2.161, Аноним (-), 19:16, 05/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Математическая функция имелось в виду. На вход дают какие-то данные, на выход - она их выдает. Как посчитать то что она выдаст - непонятно.
     
     
  • 3.162, Алекс (??), 19:30, 05/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Поясню что я имею ввиду.

    У нас есть процессор(+память,кэш и т.д.), некий алгоритм (который якобы выпоняется в зашифрованном виде, черный ящик с входом и выходом). Все хорошо только вот что, процессор не умеет расшифровывать ему нужно сказать чтобы он расшифровал, а значит он это положит в память (кэш) это может быть сделано как угодно последовательно (т.е. по частям), параллельно (т.е. сразу все) ну это будет сделано, поскольку как я уже написал выше у процессора нет встроенного алгоритма шифрования/дешифрования я имею ввиду обычный процессор (MIPS, SPARC, x86 и т.д.).
    Либо новость не точно написано, либо они смогли зашифровать так что этот набор битиков и байтиков (посути мусор в общем понимании) ложится в процессорные команды - ну тогда это тянет как минимум на охеренную премию и я снимаю перед ними шляпу, потому что то что было сделано до этого полная херня.

     
     
  • 4.163, Аноним (-), 19:39, 05/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Да забудьте Вы уже про зашифрованный код, это к делу не относится (можно по такому же принципу и код зашифровать, но необязательно). Представьте себе программу из кучи условных ветвлений. А по какой ветке пойдет - зависит как раз от этой самой функции. Ну да, будете знать какие команды процессор выполняет, но какой от этого толк, в каждом конкретном случае - выполнится ветка, которую выберет разработчик по каким-то своим критериям, предсказать или повторить - будет невозможно.


     
     
  • 5.164, Алекс (??), 19:53, 05/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ветвление это хорошо, вот только это не является шифрованием (я говорю про статью, а там шифрование написано). Ветвление можно отследить, да сложно но можно.
    Именно из-за шифрования и приковал мой взгляд эта статья.

    Была (и есть) одна программка если я не ошибаюсь UltraEDIT32 дак вот в ней шифрованный код поднимался в память и там дешифровывался, но кроме всего там была сумасшедшая система ветвления этого кода. Вообщем креки для нее можно найти в инете т.е. взломали (SoftIce им в помощь).

    Не канает ответ.

     
  • 5.165, Алекс (??), 19:55, 05/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Да забудьте Вы уже про зашифрованный код, это к делу не относится
    > (можно по такому же принципу и код зашифровать, но необязательно). Представьте
    > себе программу из кучи условных ветвлений. А по какой ветке пойдет
    > - зависит как раз от этой самой функции. Ну да, будете
    > знать какие команды процессор выполняет, но какой от этого толк, в
    > каждом конкретном случае - выполнится ветка, которую выберет разработчик по каким-то
    > своим критериям, предсказать или повторить - будет невозможно.

    Да кстати в статье на английском говорится именно про шифрование.


     
     
  • 6.166, Аноним (-), 21:43, 05/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ответ в теме уже прозвучал. См. "гомоморфное шифрование".
     
     
  • 7.167, Аноним (-), 21:47, 05/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    В любом случае, как я это вижу, область применения ограничена. Например, IO-ориентированный код явно в пролете. ?
    А для черного ящика (в данном случае - абсолютно черного) без особых требований к производительности - очень неплохо.
     
  • 6.174, Аноним (-), 16:50, 07/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    При необходимости - можно написать и шифрование (алгоритм работы этой кучи ветвлений и будет алгоритмом дешифровки), только смысла в этом будет немного (у нас задача получить программу, которую невозможно понять, а не расшифрованный кусок понятного кода).
     

  • 1.173, Аноним (-), 14:40, 06/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    где пример скачать? у меня курсовая по этой теме!
     
  • 1.175, northbear (??), 10:36, 10/08/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну, полный бред. Индусы, они и в Америке индусы. Чуваки видимо тупо хотят денег и разводят на бабки своих индусских олигархов.

    Элементарное рассуждение: Есть класс функций преобразовывающих пространство А в пространство B. Допустим чувак изобрёл крутую функцию преобразования (алгоритм), которая  эффективней других делает это преобразование.
    Эти индусы по сути преобразуют эту функцию в другую функцию из этого класса.

    Дальше три варианта:
    1) Сложность полученной функции меньше сложности исходной функции. Это Нобелевка однозначно...
    2) Сложность полученной функции больше сложности исходной. Зачем надо было тогда изобретать такой алгоритм, чтобы потом его изнахратить этой хренью?! Смысл в этой функции будет только, если её сложность всё еще будет меньше других известных алгоритмов. Ну, кто следит за этим думаю поняли что я хотел сказать...
    3) Сложность осталось той же... Это очень узкий подкласс функций. Собственно оптимизирующие компиляторы сами занимаются подобными преобразованиями, выбрасывая всё лишнее из кода. Тут уже всё придумано до них... Боюсь после качественного оптимизирующего компилятора от их обфуркации останутся рожки да ножки...  

    Развод лохов короче...
    Пипец какой-то...

     
     
  • 2.176, arisu (ok), 10:47, 10/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    ну, на самом деле свести с ума оптимизатор не так уж сложно: он же не рассчитан на патологически идиотский код. при достаточно большом количестве кусочков пазла он просто поднимет лапки и скажет: «баста, карапузики, дальше без меня.»

    эффективность выхлопа, правда… ну, пичалечка. но, как известно: «если наша программа у вас тормозит — купите технику помощнее». двойной профит: ещё и стимуляция продаж железа.

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

     
     
  • 3.179, northbear (ok), 20:54, 10/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > ну, на самом деле свести с ума оптимизатор не так уж сложно:
    > он же не рассчитан на патологически идиотский код. при достаточно большом
    > количестве кусочков пазла он просто поднимет лапки и скажет: «баста, карапузики,
    > дальше без меня.»

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

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

    С функциями всё сложней, конечно. Но не более того...

    > эффективность выхлопа, правда… ну, пичалечка. но, как известно: «если наша
    > программа у вас тормозит — купите технику помощнее». двойной профит: ещё
    > и стимуляция продаж железа.

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

    Хотел бы я посмотреть как они это всё отлаживать будут в случае, если алгоритм вдруг будет работать неправильно...  

     
  • 2.177, Аноним (-), 17:58, 10/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >Эти индусы по сути преобразуют эту функцию в другую функцию из этого класса.

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

     
     
  • 3.178, northbear (??), 20:27, 10/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Вы не поняли. Из алгоритма сортировки пузырьком получить алгоритм быстрой сортировки тоже математически сложная задача, если не сказать больше. Вопрос в том, нужна ли кому-то сортировка пузырьком?
     
     
  • 4.182, Аноним (-), 13:03, 13/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А откуда вы узнаете, что это именно алгоритм быстрой сортировки, перебрав все возможные входные значения? Если он работает на ограниченном наборе как пузырек - это еще не значит, что это именно сортировка.
     
     
  • 5.183, northbear (ok), 12:24, 14/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Я просто привел пример на пальцах... Лично мне всё равно как алгоритм называется, имеет лишь значение, хорошо ли он выполняет свою работу в контексте моей задачи или нет.

    И даже при этом, мне нужны будут очень веские основания, чтобы использовать в своей работе некий непонятный "зашифорванный" алгоритм, код которого я не могу проверить. Предпочту воспользоваться открытыми алгоритмами, даже если они чуть менее эффективны.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру