Атака по времени на соседнюю VM в облачном хостинге для извлечения секретных ключей

Discussion in 'Мировые новости. Обсуждения.' started by Solitude, 29 Oct 2012.

  1. Solitude

    Solitude Member

    Joined:
    29 Aug 2011
    Messages:
    445
    Likes Received:
    23
    Reputations:
    1
    Атака по времени на соседнюю VM в облачном хостинге для извлечения секретных ключей

    Группа исследователей представила на конференции ACM CCS интересную научную работу (pdf), которая посвящена специфическим криптографическим уязвимостям облачных сервисов. Дело в том, что многие современные веб-сайты полностью размещаются в облаке, обычно — на виртуальных машинах хостинг-провайдера Amazon. В результате, их сервисы TLS и SSH основаны на секретных ключах, которые генерируются в виртуальных машинах хостинг-провайдера. Проблема в том, что инстансы VM зачастую работают на одном и том же оборудовании, то есть на одних и тех же серверах. По соседству с вашим инстансом может быть виртуальная машина злоумышленника. Именно такую ситуацию описывает группа исследователей под руководством известного криптолога Арии Джуелса (Ari Juels) из RSA Laboratories в научной работе “Cross-VM Side Channels and Their Use to Extract Private Keys”.

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

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

    В опубликованном исследовании идёт работа с гипервизором Xen, который используется в облаке Amazon EC2, а также похожее оборудование: многоядерные серверы с отключённым SMT. Атака предполагает, что злоумышленник и жертва находятся на одном сервере и жертва расшифровывает текст по схеме Эль-Гамаля с помощью библиотеки libgcrypt v.1.5.0.

    Схема Эль-Гамаля предполагает, что берётся фрагмент сообщения x, после чего вычисляется x^e mod N, где e — это секретный ключ, а N — обычно, простое число. Возведение в степень осуществляется по быстрому алгоритму.

    [​IMG]

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

    Способ атаки по сторонним каналам на алгоритм быстрого возведения в степень известен с 90-х годов, но сейчас исследователи показали, как можно на практике использовать его на виртуальных машинах с гипервизором Xen и на оборудовании, близком к Amazon EC2. Вычисление тайминга процесса на соседней VM осуществляется через общий доступ к кэшу L1 процессора на сервере (VCPU). В случае с 2-VCPU VM исследователи нагружают второй VCPU работой, чтобы гарантированно иметь доступ к тому же VCPU, на котором осуществляет криптографические вычисления виртуальная машина жертвы.

    [​IMG]

    Исследователи разработали метод эффективного сбора данных с соседней VM, при условии, что она выполняет большой объём вычислительной работы с одним и тем же секретным ключом. Это вполне логичное предположение, если секретный ключ используется для SSL. Таким образом, нивелируются различные погрешности сбора данных из кэша, связанные с фрагментацией и выполнением посторонних процессов, не имеющих отношения к криптографии.

    При каждой операции удаётся восстановить маленький фрагмент секретного ключа, потом фрагменты объединяются в единое целое.
    Code:
    S1: RSRMRSRMRSRSRSMR
    S2:        MRSRSRSRMR**SRMRSR
    S3:      SRMRSRSR                    
    S4:                      MRSRSRSR**SRMRSR
    S5:                                  MR*RSRMRSRMRSR
    S6:                MRSRSRMRSRSRSRMR
        ------------------------------------------------
        SRSRMRSRMRSRSRSMRSRSRMRSRSRSRMRSRMRSRSRMRSRMRSR
    Во время эксперимента была осуществлена атака на 4096-битный открытый ключ Эль-Гамаля, который (из-за оптимизаций libgcrypt) соответствует 457-битному секретному ключу. После нескольких часов сбора данных было собрано около тысячи фрагментов закрытого ключа, из которых 330 были достаточно длинными для использования в реконструкции оригинала. Это позволило исследователям восстановить секретный ключ почти полностью, за исключением нескольких бит, которые легко подбираются брутфорсом.

    [​IMG]

    Подобную атаку на OpenSSL/RSA осуществить гораздо сложнее, чем на ключ Эль-Гамаля и libgcrypt, но теоретически это возможно, если вам удастся попасть на один сервер с жертвой.

    29.10.2012
    http://www.xakep.ru/post/59547/​
     
  2. shell_c0de

    shell_c0de Hack All World

    Joined:
    7 Jul 2009
    Messages:
    1,051
    Likes Received:
    615
    Reputations:
    690
    отлично! умно! но не осилил )
     
    _________________________