Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизСегодня выбрал тему дипломный работы. Найти похожие ветки
← →
картман © (2012-09-15 01:43) [80]
> Rouse_ © (15.09.12 00:34) [76]
разведка докладывает, что есть некий чел, взламывающий любую твою защиту.
ЗЫ. я б его нанял))
← →
картман © (2012-09-15 01:47) [81]
> Sha © (15.09.12 01:38) [79]
> Второе - мы способны отличить правильное поведение нелегальной
> системы от неправильного.
а вот это каким макаром? И вообще, что такое "правильное поведение нелегальной(неправильной?) системы"?
> я не вижу причин не взломать программу за неограниченное
> время.
об этом я не упоминал, но все ж давай считать, что время разумное
← →
Rouse_ © (2012-09-15 01:50) [82]
> картман © (15.09.12 01:43) [80]
> разведка докладывает, что есть некий чел, взламывающий любую
> твою защиту.
ну значит есть еще поле для работы, если "некий чел" не лопухнулся в своих доводах.
А так конечно мы за любой кипиш акромя голодовки :)
← →
картман © (2012-09-15 01:58) [83]
> если "некий чел" не лопухнулся в своих доводах.
это ты так говорил
← →
Германн © (2012-09-15 02:13) [84]
> А так конечно мы за любой кипиш акромя голодовки :)
Будь я на месте кармана, я бы понял. :)
← →
Sha © (2012-09-15 02:13) [85]
> картман © (15.09.12 01:47) [81]
> И вообще, что такое "правильное поведение нелегальной(неправильной?) системы"?
Например, поведение системы без аппаратного ключа, совпадающее с поведением легальной системы в ее предметной области
> давай считать, что время разумное
Так вокруг этого все и крутится, единственный способ защититься от взлома - это увеличить время взлома, уложился в отведенные рамки - взломал, не уложился - не взломал. Разумное - это какое? Год? Знаю систему, которую ломали 3 года. Это, по-твоему, взломали или нет?
← →
картман © (2012-09-15 02:22) [86]
> Германн © (15.09.12 02:13) [84]
>
>
> > А так конечно мы за любой кипиш акромя голодовки :)
>
> Будь я на месте кармана, я бы понял. :)
на моем месте ты б не пропустил букву:)
> Так вокруг этого все и крутится,
да.
> Разумное - это какое? Год? Знаю систему, которую ломали
> 3 года. Это, по-твоему, взломали или нет?
да хз, смотря что ломали))
эээ... извини за жестокий оффтоп, но не новую же ветку заводить(сорри за копипаст):
как ты придумал это:
"Бит установлен – это минус"
с твоего сайта - интересно, как ты думал это сделтьа и как до этого дошел
← →
Sha © (2012-09-15 02:33) [87]> картман © (15.09.12 02:22) [86]
на форуме как-то обсуждалась эта задача,
а когда искал пример позапутанней для демки,
она случайно вспомнилась и решилась )
← →
Германн © (2012-09-15 02:39) [88]
> на моем месте ты б не пропустил букву:)
Эт да.:)
За что приношу свои извинения. :(
← →
картман © (2012-09-15 03:11) [89]
> Германн © (15.09.12 02:39) [88]
>
>
принимается
> Sha © (15.09.12 02:33) [87]
>
> > картман © (15.09.12 02:22) [86]
>
> на форуме как-то обсуждалась эта задача,
круто, не могу понять, что это:
n:=(n+2-(a[0] or a[len-1]) shr rig) shr 1;
?
← →
Sha © (2012-09-15 11:36) [90]
> картман © (15.09.12 03:11) [89]
Количество неотрицательных чисел k вычислить довольно просто - надо из общего количества вычесть число отрицательных, т.е. тех, у которых установлен знаковый бит, т.е. можно вычесть вообще все знаковые биты.
С количеством групп чуть хитрее. Сначала вычислим количество групп n соседних чисел с одинаковым знаком в завернутом в кольцо массиве (т.е. считаем нулевой и последний элементы соседями). Это количество будет равно числу соседей с разными знаками, получаем его суммированием. Очевидно, что там ровно половину составляют отрицательные группы, другую половину - неотрицательные.
Приведенная тобой формула преобразует так вычисленное n в количество групп неотрицательных чисел в простом (незавернутом массиве). Для этого сначала немного (и неточно) корректируется количество границ неотрицательных групп и затем делится на 2.
И чтобы получить окончательный ответ, осталось поделить одно на другое.
← →
Rouse_ © (2012-09-15 17:03) [91]
> Sha © (15.09.12 01:38) [79]
> Разумеется, все это в предположении, что мы способны понять
> код любой сложности. Тут большущее отличие от криптографии
> в двух вещах. Первое - мы имеем возможность наблюдать правильное
> поведение легальной системы. Второе - мы способны отличить
> правильное поведение нелегальной системы от неправильного.
> По определению также программа не может помешать нашему
> наблюдению при известных усилиях с нашей стороны, ей также
> запрещены деструктивные действия, или мы способны их предотвратить.
> При таких условиях и зная последовательность правильных
> состояний системы мы сможем сэмулировать код и оборудование
> любой сложности, и я не вижу причин не взломать программу
> за неограниченное время.
Все это конечно правильно, но что делать если программа каждый раз генерирует новый граф выполнения кода, если рассматривать трассировку под отладчиком? Конечно реализация такого подхода требует значительных усилий, но окупается это в разы. В свое время потратив примерно три недели на матбазу и последующую реализацию я обнаружил на руборде пост от одного из наших бывших взломщиков о том что он уперся уже во вторую итерацию ветвлений и заканчивает разработку эмуляторов под наше ПО.
Был конечно разочарован, т.к. в итоге это был просто барьер перед непосредственным ядром защиты, до которого так в итоге никто и не добрался и я даже сейчас не знаю, на сколько оно устойчиво :)
← →
Sha © (2012-09-15 17:47) [92]> Rouse_ © (15.09.12 17:03) [91]
Чисто теоретически. Мы наблюдаем переход легальной программы из одного состояния в следующеее состояние (скажем ее реакцию на нажатие кнопки). По какой траектории это произойдет, нам по большому счету по барабану. Добиваемся точно такой же траектории от нелегальной копии. При таком подходе проблема может возникнуть только, если часть вычислений у нее вынесена сторону.
← →
Pavia © (2012-09-15 17:54) [93]
> Rouse_ © (15.09.12 17:03) [91]
Ну да зачем эмулировать граф? Если можно зациклить одну правильную ветку.
← →
Rouse_ © (2012-09-15 18:05) [94]
> Pavia © (15.09.12 17:54) [93]
> Sha © (15.09.12 17:47) [92]
там автомат состояний ВМ, т.е. смысла в зацикливании нет, т.к. просто на выходе получится не тот результат. Смысла пускать по старой ветке опять-же нет, т.к. опять на выходе получим не то число. Грубо каждый обрабатываемый параметр в диапазоне от 0 до $FFFFFFFFFFFFFFFF может быть правильно преобразован только одним единственным способом. Подменять его, менять логику ветвлений не даст ровным способом ничего, ибо буффер сгенерированный с использованием переданного значения банально неверно раскриптуется выходным. Сама генерация числа и буфера находится в ключе, туда доступа нет и повлиять на данные выходного буффера и 8-байтного вектора инициализации у взломщика нет. Чтобы проще понять - это нечто наподобие ассиметрической криптографии, где знание паблик ключа не дает особых преимуществ.
← →
Rouse_ © (2012-09-15 18:08) [95]А ну да - самый цимус что в процессе преобразования происходит от 1 до 10 запросов на ключ, ответы которого используются при преобразованиях, собственно в этом и была основная идея. Т.е. таким образом невозможно отвязать программу от ключа, т.к. траффик обмена с ключем в действительности не является мусорным. и узнать список возможных запросов нельзя, т.к. используется полный диапазон. Ну а только для хранения FFFFFFFFFFFFFFFF 8 байтовых ответов сами можете посчитать сколько нужно вагонов с хардешниками.
← →
Rouse_ © (2012-09-15 18:24) [96]ЗЫ, ну и резюмируя, вполне возможно что этот момент я когда нибудь покажу в виде отдельной статьи, ибо после этого: http://alexander-bagel.blogspot.com/2012/09/blog-post.html
у меня на почтовом ящике появилось пара десятков писем плана "ты не умничай - код давай" :)
← →
Sha © (2012-09-15 18:43) [97]> Rouse_ © (15.09.12 18:05) [94]
Похоже на датчик случайных чисел в железе, начальное состояние которого является ключом. Пользователю навязывается работа с ключом, т.к. необходимые для работы данные в базе изначально зашифрованы. Придется попотеть при программировании работы со строками. Ну и вся надежда на то, что программу, которая в железке, никто не узнает.
← →
Rouse_ © (2012-09-15 18:45) [98]
> Ну и вся надежда на то, что программу, которая в железке,
> никто не узнает.
как всегда видишь суть :)
Страницы: 1 2 3 вся ветка
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.63 MB
Время: 0.075 c