Техника безопасности, позволяющая обойти потенциальную кибератаку

Прочитано: 177 раз(а)


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

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

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

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

«В настоящее время очень распространено совместное использование компьютера с другими, особенно если вы выполняете вычисления в облаке или даже на своем мобильном устройстве. даже очень мелкозернистой информации», — говорит старший автор Мэнцзя Ян, доцент Гомера А. Бернелла по развитию карьеры в области электротехники и компьютерных наук (EECS) и член Лаборатории компьютерных наук и искусственного интеллекта (CSAIL).

Соавторами являются аспиранты CSAIL Питер Дойч и Юхэн Ян. Среди дополнительных соавторов Джоэл Эмер, профессор практики в EECS, и аспиранты CSAIL Томас Бурже и Жюль Дрин. Исследование будет представлено на Международной конференции по архитектурной поддержке языков программирования и операционных систем.

Преданный памяти

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

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

«Злоумышленник тычет в контроллер памяти, в дверь библиотеки, чтобы спросить: «Он сейчас занят?» Если они будут заблокированы из-за того, что дверь библиотеки уже открыта, потому что программа-жертва уже использует контроллер памяти, они будут задержаны. Обнаружение этой задержки — это утечка информации», — говорит Эмер.

Чтобы предотвратить конфликтные атаки, исследователи разработали схему, которая «формирует» запросы программы к памяти в предопределенный шаблон, который не зависит от того, когда программе действительно нужно использовать контроллер памяти. Прежде чем программа сможет получить доступ к контроллеру памяти и прежде чем она сможет вмешаться в запрос памяти другой программы, она должна пройти через «формирователь запросов», который использует структуру графа для обработки запросов и отправки их контроллеру памяти по фиксированному расписанию. Этот тип графа известен как направленный ациклический граф (DAG), а схема безопасности группы называется DAGguise.

Обман злоумышленника

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

«Иногда программе придется ждать лишний день, чтобы пойти в библиотеку, а иногда она пойдет, когда это действительно не нужно. Но, выполняя этот очень структурированный шаблон, вы можете скрыть от злоумышленника то, что вы на самом деле Эти задержки и поддельные запросы — вот что обеспечивает безопасность», — говорит Дойч.

DAGguise представляет запросы программы на доступ к памяти в виде графа, где каждый запрос хранится в «узле», а «ребра», соединяющие узлы, представляют собой временные зависимости между запросами. (Запрос A должен быть выполнен до запроса B.) Границы между узлами — время между каждым запросом — фиксированы.

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

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

Повышение производительности

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

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

«Когда вы добавляете эти функции безопасности, ваше выполнение замедляется по сравнению с обычным выполнением. Вы будете платить за это производительностью», — объясняет Дойч.

Хотя их метод был медленнее, чем базовая небезопасная реализация, по сравнению с другими схемами безопасности DAGguise привел к увеличению производительности на 12 процентов.

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

Техника безопасности, позволяющая обойти потенциальную кибератаку



Новости партнеров