Обнаружен новый метод эксплуатации уязвимостей в SQLite

уязвимые версии SQLite

Исследователи Check Point недавно обнаружили в конференции DEF с подробностями новой техники, которая была открыта, это используется pДля атаки приложений, использующих уязвимые версии SQLite.

Метод Check Point рассматривает файлы базы данных как возможность интегрировать сценарии эксплуатации уязвимостей. в различных внутренних подсистемах SQLite, недоступных для использования в лоб. Исследователи также разработали метод использования уязвимостей с кодированием эксплойтов в виде строки запросов SELECT в базе данных SQLite, что позволяет избежать ASLR.

Об уязвимости

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

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

Операция после олицетворения файла выполняется во время выполнения приложением первого запроса SELECT к таблице в измененной базе данных.

В качестве примера была продемонстрирована возможность запуска кода на iOS при открытии адресной книги, файл с базой данных «Адресная книга.sqlitedb»Которая была доработана с использованием предложенного метода.

Для атаки, уязвимость использовалась в функции fts3_tokenizer (CVE-2019-8602, возможность разыменования указателя), исправленный в апрельском обновлении SQLite 2.28, наряду с другой уязвимостью в реализации оконных функций.

Кроме того, демонстрирует использование метода удаленного захвата управления сервером backend от злоумышленников, написанного на PHP., который накапливает перехваченные пароли при работе вредоносного кода (перехваченные пароли передавались в виде базы данных SQLite).

Метод атаки основан на использовании двух методов, перехвата запросов и программирования, ориентированного на запросы, которые позволяют использовать произвольные проблемы, приводящие к повреждению памяти в ядре SQLite.

Суть «перехвата запросов» заключается в замене содержимого поля «sql» в служебной таблице sqlite_master, определяющей структуру базы данных. Указанное поле содержит блок DDL (язык определения данных), используемый для описания структуры объектов в базе данных.

Описание задается с использованием обычного синтаксиса SQL, т.е. Конструкция «CREATE TABLE», которая выполняется во время инициализации базы данных (во время первого выполнения функции sqlite3LocateTable), используется для создания внутренних структур, связанных с таблицей в памяти.

По идее, в результате замены «СОЗДАТЬ ТАБЛИЦУ» и «СОЗДАТЬ ВИД», можно контролировать любой доступ к базе данных через определение ее представления.

С другой стороны, с помощью команды «CREATE VIEW» к таблице присоединяется операция «SELECT», которая будет вызываться вместо «CREATE TABLE» и позволяет злоумышленнику получить доступ к различным частям интерпретатора SQLite.

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

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

Этот метод напоминает возвратно-ориентированное программирование (ROP), но использует несуществующие фрагменты машинного кода, но вставляется в набор подзапросов в SELECT для построения цепочки вызовов («гаджетов»).

источник: https://threatpost.com/


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.