Технологии
Никита Логинов

В США придумали способ защитить компьютеры от большинства взломов — он не даёт атаковать ошибки памяти программ

Технологии ZeRØ и No-FAT защищают память на аппаратном уровне почти без влияния на производительность и энергопотребление компьютера.

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

Исследователи отметили, что большинство ошибок и уязвимостей в компьютерных программах — результат неправильной работы с памятью. Программисты на языках вроде С и С++ часто ошибаются при работе с указателями на адреса памяти, а также забывают проверять границы массивов данных на целостность. Причём эти ошибки совершают даже программисты в крупных компаниях — в том же Google Chromium 70% уязвимостей приходится на неправильную работу с памятью.

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

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

Общая схема работы технологии ZeRØ Скриншот оригинального документа

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

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

Общая схема работы технологии No-FAT Скриншот оригинального документа

Испытания показали, что технология No-FAT снижает производительность программ примерно на 8% — по словам авторов работы, это лучший показатель среди аналогичных технологий. No-FAT, как и ZeRØ, не требуют изменения существующих программ и позволяют программистам писать код, не задумываясь о дополнительных проверках.

Обе разработки привлекли внимание частных компаний и военных — создатели ZeRØ и No-FAT уже получили гранты ВВС США и Управления военно-морских исследований, а также стипендию Qualcomm Innovation Fellowship.

#безопасность #компьютеры #взломы