Составители:
351
ограничений по месту, его все равно достаточно для планирования
разнообразных типов атак, а не одной узконаправленной. Такая гибкость
схемы позволила разработчикам продемонстрировать две конкретные
конструкции и реализовать их практически в конкретной системе FPGA-
чипа, то есть процессора с перепрограммируемой логикой.
Вот примеры, подтверждающие общую концепцию.
Эскалация привилегий. Используя механизм доступа к памяти,
реализован вредоносный сервис, поднимающий привилегии
пользовательского процесса до высшего (root) уровня. При выполнении
такой атаки программа эскалации привилегий использует аппаратную
закладку в процессоре для отключения защиты привилегированных областей
памяти. Он позволяет напрямую нарушать все предположения ОС
относительно обеспечиваемой защиты памяти.
Входной бэкдор. Используя специально разработанный механизм
теневого режима, разработчики реализовали вредоносный сервис, служащий
постоянным «черным ходом» в систему. Чтобы начать атаку захвата,
злоумышленник посылает сетевой пакет в систему жертвы, где ОС первым
делом инспектирует этот пакет, проверяя контрольную сумму UDP. Сам акт
проверки пакета (необходимый для принятия решения о том, следует ли его
отвергнуть) запускает троянскую закладку в железе, а вредоносная
программа интерпретирует содержимое пакета как новый код прошивки,
который невидимо загружается в процессор. Операционная же система тем
временем отбрасывает непрошеный пакет и продолжает работу, не заметив
атаки.
Код прошивки, реализующий теневой режим, отслеживает login-
приложение для входа в систему. И когда некто пытается войти с особым,
заранее известным закладке паролем, та подменяет значение функции
проверки пароля на «правильный» и тем самым гарантирует доступ в
систему любому, кто знает хитрость. Чтобы скрыть следы атаки, сразу после
успешной попытки логина прошивка сама себя выгружает и отключает
теневой режим, возвращая системе все ресурсы процессора. Таким образом,
послав сетевой UDP-пакет и тут же войдя в систему, злоумышленник может
сократить время работы теневого режима до минимума. Если же система
жертвы не имеет выхода в сеть, то для включения закладки-бэкдора можно
использовать похожий механизм на основе внешнего накопителя. Например,
в USB-модуле флэш-памяти для этого подходит самый первый блок,
необходимый для идентификации типа файловой системы. Механизм
теневого режима увеличивает количество логических гейтов схемы всего на
0,08%, давая при этом неограниченный доступ к компьютеру без опоры на
какие-либо программные уязвимости.
Похищение паролей. С помощью того же механизма теневого режима
можно реализовать сервис, ворующий пароли доступа у легитимных
пользователей системы. Главная трудность здесь - отыскание паролей в
гигантских массивах случайных данных. Но и эта задача вполне разрешима,
ограничений по месту, его все равно достаточно для планирования
разнообразных типов атак, а не одной узконаправленной. Такая гибкость
схемы позволила разработчикам продемонстрировать две конкретные
конструкции и реализовать их практически в конкретной системе FPGA-
чипа, то есть процессора с перепрограммируемой логикой.
Вот примеры, подтверждающие общую концепцию.
Эскалация привилегий. Используя механизм доступа к памяти,
реализован вредоносный сервис, поднимающий привилегии
пользовательского процесса до высшего (root) уровня. При выполнении
такой атаки программа эскалации привилегий использует аппаратную
закладку в процессоре для отключения защиты привилегированных областей
памяти. Он позволяет напрямую нарушать все предположения ОС
относительно обеспечиваемой защиты памяти.
Входной бэкдор. Используя специально разработанный механизм
теневого режима, разработчики реализовали вредоносный сервис, служащий
постоянным «черным ходом» в систему. Чтобы начать атаку захвата,
злоумышленник посылает сетевой пакет в систему жертвы, где ОС первым
делом инспектирует этот пакет, проверяя контрольную сумму UDP. Сам акт
проверки пакета (необходимый для принятия решения о том, следует ли его
отвергнуть) запускает троянскую закладку в железе, а вредоносная
программа интерпретирует содержимое пакета как новый код прошивки,
который невидимо загружается в процессор. Операционная же система тем
временем отбрасывает непрошеный пакет и продолжает работу, не заметив
атаки.
Код прошивки, реализующий теневой режим, отслеживает login-
приложение для входа в систему. И когда некто пытается войти с особым,
заранее известным закладке паролем, та подменяет значение функции
проверки пароля на «правильный» и тем самым гарантирует доступ в
систему любому, кто знает хитрость. Чтобы скрыть следы атаки, сразу после
успешной попытки логина прошивка сама себя выгружает и отключает
теневой режим, возвращая системе все ресурсы процессора. Таким образом,
послав сетевой UDP-пакет и тут же войдя в систему, злоумышленник может
сократить время работы теневого режима до минимума. Если же система
жертвы не имеет выхода в сеть, то для включения закладки-бэкдора можно
использовать похожий механизм на основе внешнего накопителя. Например,
в USB-модуле флэш-памяти для этого подходит самый первый блок,
необходимый для идентификации типа файловой системы. Механизм
теневого режима увеличивает количество логических гейтов схемы всего на
0,08%, давая при этом неограниченный доступ к компьютеру без опоры на
какие-либо программные уязвимости.
Похищение паролей. С помощью того же механизма теневого режима
можно реализовать сервис, ворующий пароли доступа у легитимных
пользователей системы. Главная трудность здесь - отыскание паролей в
гигантских массивах случайных данных. Но и эта задача вполне разрешима,
351
Страницы
- « первая
- ‹ предыдущая
- …
- 349
- 350
- 351
- 352
- 353
- …
- следующая ›
- последняя »
