The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Выявлена проблема с генерацией предсказуемых случайных чисел..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выявлена проблема с генерацией предсказуемых случайных чисел..."  +/
Сообщение от opennews (??) on 09-Сен-13, 23:39 
Обсуждая порочность предложения инженеров из компании Intel об использовании в качестве энтропии для генератора случайных чисел ядра Linux только инструкции RDRAND (http://ru.wikipedia.org/wiki/RdRand), Theodore Ts'o обнаружил (https://plus.google.com/u/0/117091380454742934025/posts/SDco...) существенную проблему в безопасности (https://lists.openwrt.org/pipermail/openwrt-devel/2013-Septe...), проявляющуюся на процессорах с архитектурой MIPS. Энтропия для многих генераторов псевдослучайных чисел формируется на основе вызова get_cycles(), который на деле не работает для систем MIPS и вместо числа отработанных циклов CPU всегда возвращает ноль. Таким образом, на системах MIPS, используемых во многих беспроводных маршрутизаторах, выдаются заведомо предсказуемые случайные числа, что в свою очередь приводит к генерации предсказуемых ключей шифрования.


URL: https://lists.openwrt.org/pipermail/openwrt-devel/2013-Septe...
Новость: http://www.opennet.ru/opennews/art.shtml?num=37869

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  –6 +/
Сообщение от Аноним (??) on 09-Сен-13, 23:39 
Не надо использовать "многих генераторов псевдослучайных чисел" - используйте один проверенный.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +5 +/
Сообщение от Аноним (??) on 09-Сен-13, 23:46 
Ха! Вот вам и закладка от АНБ. Хорошо, что обнаружили. А сколько их ещё осталось...?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +1 +/
Сообщение от sfstudio email(ok) on 09-Сен-13, 23:54 
И не тлько в MIPS, почти половины поддерживаемых архитектур в timex.h функция выглядит так:
static inline cycles_t get_cycles (void)
{
        return 0;
}
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  –1 +/
Сообщение от platon on 10-Сен-13, 00:14 
как временное решение - возвращать там jiffies
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  –4 +/
Сообщение от pavlinux (ok) on 10-Сен-13, 00:14 
Блин, переводчика надо покромсать на маленьких тузиков...
Да и Тцо тоже, чтоб шухер не поднимал.


void add_device_randomness(const void *buf, unsigned int size)
{
         unsigned long time = get_cycles() ^ jiffies; // В случае МИПСа, time будет равен jiffies;
         // Эти функции пихают size байт по адресу из второго аргумента
         // и пихают в общий пул (первый арг.)              
         mix_pool_bytes(&input_pool, buf, size, NULL);
         mix_pool_bytes(&input_pool, &time, sizeof(time), NULL);
         mix_pool_bytes(&nonblocking_pool, buf, size, NULL);
         mix_pool_bytes(&nonblocking_pool, &time, sizeof(time), NULL);
}

mix_pool_bytes  - развернуто, это вот такая шняга.

static void _mix_pool_bytes(struct entropy_store *r, const void *in, int nbytes, __u8 out[64]) {

         unsigned long i, j, tap1, tap2, tap3, tap4, tap5;
         int input_rotate;
         int wordmask = r->poolinfo->poolwords - 1;
         const char *bytes = in;
         __u32 w;

         tap1 = r->poolinfo->tap1;
         tap2 = r->poolinfo->tap2;
         tap3 = r->poolinfo->tap3;
         tap4 = r->poolinfo->tap4;
         tap5 = r->poolinfo->tap5;

         smp_rmb();
         input_rotate = ACCESS_ONCE(r->input_rotate);
         i = ACCESS_ONCE(r->add_ptr);

         /* mix one byte at a time to simplify size handling and churn faster */
         while (nbytes--) {
                 w = rol32(*bytes++, input_rotate & 31);
                 i = (i - 1) & wordmask;

                 /* XOR in the various taps */
                 w ^= r->pool[i];
                 w ^= r->pool[(i + tap1) & wordmask];
                 w ^= r->pool[(i + tap2) & wordmask];
                 w ^= r->pool[(i + tap3) & wordmask];
                 w ^= r->pool[(i + tap4) & wordmask];
                 w ^= r->pool[(i + tap5) & wordmask];

                 /* Mix the result back in with a twist */
                 r->pool[i] = (w >> 3) ^ twist_table[w & 7];

                 /*
                  * Normally, we add 7 bits of rotation to the pool.
                  * At the beginning of the pool, add an extra 7 bits
                  * rotation, so that successive passes spread the
                  * input bits across the pool evenly.
                  */
                 input_rotate += i ? 7 : 14;
         }

         ACCESS_ONCE(r->input_rotate) = input_rotate;
         ACCESS_ONCE(r->add_ptr) = i;
         smp_wmb();

         if (out)
                 for (j = 0; j < 16; j++)
                         ((__u32 *)out)[j] = r->pool[(i - j) & wordmask];
}  

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

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +2 +/
Сообщение от Аноним (??) on 10-Сен-13, 00:24 
Вот это порадовало:

> Sure, I could imagine an option where the user specifies random.i_trust_the_intel_RDAND_hasnt_been_teampered_by_the_nsa=1 on the boot command line which routes RDRAND directly into /dev/random, where we blindly trust that RDRAND has full, completely trusted entropy.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  –2 +/
Сообщение от pavlinux (ok) on 10-Сен-13, 00:26 
> ... by_the_nsa=1

Массовая шиза от NSA  

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +/
Сообщение от pkunk (ok) on 10-Сен-13, 00:28 
http://www.zazzle.com/14_is_a_random_number_t_shirts-2350463...
Ответить | Правка | Наверх | Cообщить модератору

11. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +/
Сообщение от pkunk (ok) on 10-Сен-13, 00:31 
http://dilbert.com/strips/comic/2001-10-25/
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

13. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +3 +/
Сообщение от pavlinux (ok) on 10-Сен-13, 00:41 
> как временное решение - возвращать там jiffies

Ещо один криптограф!  

jiffies ^ jiffies будет 0, а то точно пи....ц! :)


Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

16. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +3 +/
Сообщение от ананим on 10-Сен-13, 00:55 
Не шиза, а паранойя.
И да, паранойя не смертельна. В отличие от недостатка контрацепции.

Зыж
Цитату Дольфа Лунгрена приводить?

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

22. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +/
Сообщение от ананим on 10-Сен-13, 01:07 
> Sure, I could imagine an option where the user specifies random.i_trust_the_intel_RDAND_hasnt_been_teampered_by_the_nsa=1 on the boot command line which routes RDRAND directly into /dev/random, where we blindly trust that RDRAND has full, completely trusted entropy.

В мемориз адназначна.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

24. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +/
Сообщение от AnonuS on 10-Сен-13, 01:39 
> Таким образом, на системах MIPS, используемых во многих беспроводных маршрутизаторах, выдаются заведомо предсказуемые случайные числа, что в свою очередь приводит к генерации предсказуемых ключей шифрования.

На КикСтартере начат сбор средств на производство "Вангователя" для систем MIPS. Разработчики "Вангователя", не имеющего аналогов в мире, и кстати основанного на последних достижениях нанотехнологий, обещают 99,99 процентную вероятность и распределение имени Гаусса. Вносите деньги господа !

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

25. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +1 +/
Сообщение от AnonuS on 10-Сен-13, 01:50 
Из описания "Вангователя":

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

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

32. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +/
Сообщение от хрюкотающий зелюк on 10-Сен-13, 08:26 
ok, jiffies + n, где n каждое обращение прибавляется из некоей таблицы с нормальным распределением, которая сформирована при включении устройства на основании системного времени - достаточно случайно? и это в добавок к srand от системного времени
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

33. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +2 +/
Сообщение от Mna (??) on 10-Сен-13, 08:33 
Осталось ≈ (∞-1)
подпись: ♘☃ (snowman on white horse)
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

34. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +2 +/
Сообщение от Аноним (??) on 10-Сен-13, 09:07 
Без get_cycles() знтропия на MIPS получается зависима только от времени, т.е. вполне предсказуема за разумное число попыток перебора. Время загрузки известно, прошивка и условия загрузки неизменны, поэтому становятся применимы соответствующие техники атаки.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

35. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  –1 +/
Сообщение от Нанобот (ok) on 10-Сен-13, 10:00 
давайте лучше параноиков тролить, например так: "Theodore Ts'o обнаружил закладку АНБ во всех mips-роутерах мира"
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

36. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +2 +/
Сообщение от Аноним (??) on 10-Сен-13, 12:53 
> используйте один проверенный.

Это какой? Одобренный АНБ? Как-то так?

int random()
{
return 4; //chosen by fair dice roll - guaranteed to be random
}

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

37. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +2 +/
Сообщение от Аноним (??) on 10-Сен-13, 12:56 
Попыткой всучить закладку  от АНБ смотрится:

> только инструкции RDRAND

... а потом окажется что не такой уж он и RAND - и вот это будет весело.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

38. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +/
Сообщение от Аноним (??) on 10-Сен-13, 12:58 
> Вращения с семью побайтными XOR это необратимая ж...а.

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

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

39. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +1 +/
Сообщение от Аноним (??) on 10-Сен-13, 12:59 
> Не шиза, а паранойя.

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

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

40. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +4 +/
Сообщение от Аноним (??) on 10-Сен-13, 13:01 
> давайте лучше параноиков тролить,

У тебя мозг хиловат будет чтобы криптографов затроллить. Ты с твоим IQ можешь затроллить как максимум амеб в пробирке. Если сильно повезет - дождевых червяков. И то не факт.

Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

41. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +/
Сообщение от Crazy Alex (ok) on 10-Сен-13, 13:34 
Угу, вот на это больше шансов. А баги - они были, есть и будут.
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

42. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  –1 +/
Сообщение от Нанобот (ok) on 10-Сен-13, 16:47 
зато местных оналитегов - аж бигом
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

43. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +/
Сообщение от anonymous (??) on 10-Сен-13, 16:55 
> закладку АНБ во
> всех mips-роутерах мира"

Есть мнение, что так оно и есть.

Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

44. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +/
Сообщение от Аноним (??) on 10-Сен-13, 17:14 
> Угу, вот на это больше шансов. А баги - они были, есть и будут.

Да как делать нефиг - засунуть PRNG, например, и выдавать его вывод. Без знания алгоритма качественный PRNG вполне сойдет за "рандом".

Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

45. "Выявлена проблема с генерацией предсказуемых случайных..."  +/
Сообщение от arisu (ok) on 10-Сен-13, 17:23 
без знания алгоритма этот PRNG — плохой. а проанализировать его всё равно можно, просто открытый менее трудозатратно.
Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

46. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +1 +/
Сообщение от Аноним (??) on 10-Сен-13, 18:16 
Молодец какой, сам себя затролил :)
Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

47. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +/
Сообщение от ананим on 11-Сен-13, 09:58 
>При том паранойя - профессиональное заболевание криптографов.

Скорее всё же это его проф. обязанности.
Поэтому легко спутать.

Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

48. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +/
Сообщение от Проходил мимо on 11-Сен-13, 17:39 
ХоулиШиит.
Заглянул в исходники паршивки своего домашнего древнего SOHO routera MIPS(ADP), и там такого нет - там эсть код.


З.Ы.
Скачал потому как обновлений прошивок уже не будет, а подправить кое-чего нужно было, там даже всё с тулчейном и инструкции есть.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

49. "Выявлена проблема с генерацией предсказуемых случайных чисел..."  +/
Сообщение от Andrey Mitrofanov on 11-Сен-13, 20:11 
> З.Ы.
> Скачал потому как

Не надо стесняться! Тут тебя Понимают. </:-P>

Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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