Một kỹ thuật mới đã được phát hiện để khai thác các lỗ hổng trong SQLite

phiên bản SQLite dễ bị tấn công

Các Các nhà nghiên cứu của Check Point gần đây đã tiết lộ trong hội nghị DEF với các chi tiết của một kỹ thuật mới đã được khám phá, cái này được sử dụng pĐể tấn công các ứng dụng sử dụng các phiên bản SQLite dễ bị tấn công.

Phương pháp Check Point coi các tệp cơ sở dữ liệu là cơ hội để tích hợp các kịch bản khai thác lỗ hổng bảo mật trong các hệ thống con SQLite nội bộ khác nhau không thể truy cập để khai thác trán. Các nhà nghiên cứu cũng phát triển một kỹ thuật khai thác các lỗ hổng bằng mã hóa khai thác dưới dạng một chuỗi các truy vấn SELECT trong cơ sở dữ liệu SQLite, cho phép tránh được ASLR.

Về lỗ hổng

Các nhà nghiên cứu của Check Point nêu chi tiết rằng để tấn công thành công, kẻ tấn công phải có khả năng sửa đổi các tệp cơ sở dữ liệu của các ứng dụng bị tấn công, điều này hạn chế phương pháp tấn công các ứng dụng sử dụng cơ sở dữ liệu SQLite làm định dạng cho dữ liệu đầu vào và chuyển tiếp.

Tuy nhiên họ cũng tiết lộ rằng phương pháp này cũng có thể được sử dụng để mở rộng quyền truy cập cục bộ đã có được, chẳng hạn như để tích hợp các cửa sau ẩn trong các ứng dụng được sử dụng, cũng như để tránh các nhà nghiên cứu bảo mật khi phân tích phần mềm độc hại.

Hoạt động sau khi mạo danh tệp được thực hiện tại thời điểm ứng dụng thực hiện yêu cầu SELECT đầu tiên đối với bảng trong cơ sở dữ liệu đã sửa đổi.

Ví dụ, khả năng chạy mã trên iOS khi mở sổ địa chỉ đã được chứng minh, tệp với cơ sở dữ liệu «Sổ địa chỉ.sqlitedb»Đã được sửa đổi bằng phương pháp được đề xuất.

Đối với cuộc tấn công, một lỗ hổng đã được sử dụng trong hàm fts3_tokenizer (CVE-2019-8602, khả năng bỏ qua một con trỏ), đã được sửa trong bản cập nhật SQLite 2.28 tháng XNUMX, cùng với một lỗ hổng khác trong việc triển khai các chức năng cửa sổ.

Bên cạnh đó, minh họa việc sử dụng phương pháp này để chiếm quyền điều khiển từ xa của một máy chủ phụ trợ từ những kẻ tấn công được viết bằng PHP, tích lũy các mật khẩu bị chặn trong quá trình hoạt động của mã độc hại (các mật khẩu bị chặn được chuyển dưới dạng cơ sở dữ liệu SQLite).

Phương pháp tấn công dựa trên việc sử dụng hai kỹ thuật, Query Hijacking và Query Oriented Programming, cho phép khai thác các vấn đề tùy ý dẫn đến hỏng bộ nhớ trong SQLite engine.

Bản chất của "Query hijacking" là thay thế nội dung của trường "sql" trong bảng dịch vụ sqlite_master xác định cấu trúc cơ sở dữ liệu. Trường được chỉ định chứa khối DDL (Ngôn ngữ Định nghĩa Dữ liệu) được sử dụng để mô tả cấu trúc của các đối tượng trong cơ sở dữ liệu.

Mô tả được đặt bằng cú pháp SQL bình thường, tức là. Cấu trúc "CREATE TABLE", được thực hiện trong quá trình khởi tạo cơ sở dữ liệu (trong lần thực thi đầu tiên của hàm sqlite3LocateTable) được sử dụng để tạo cấu trúc bên trong liên kết với bảng trong bộ nhớ.

Ý tưởng đó là kết quả của việc thay thế "TẠO BẢNG" và "TẠO CHẾ ĐỘ XEM, có thể kiểm soát bất kỳ quyền truy cập nào vào cơ sở dữ liệu thông qua định nghĩa khung nhìn của nó.

Mặt khác, bằng cách sử dụng lệnh "CREATE VIEW", thao tác "SELECT" được gắn vào bảng, thao tác này sẽ được gọi thay vì "CREATE TABLE" và cho phép kẻ tấn công truy cập vào các phần khác nhau của trình thông dịch SQLite.

Bên cạnh đó, cách dễ nhất để tấn công là gọi hàm "load_extension", cho phép kẻ tấn công có thể tải một thư viện tùy ý với phần mở rộng, nhưng chức năng này bị tắt theo mặc định.

Để thực hiện một cuộc tấn công trong điều kiện khả năng thực hiện hoạt động SELECT, kỹ thuật lập trình hướng truy vấn đã được đề xuất, cho phép khai thác các vấn đề trong SQLite dẫn đến hỏng bộ nhớ.

Kỹ thuật này gợi nhớ đến Lập trình hướng trở lại (ROP), nhưng sử dụng các đoạn mã máy không tồn tại, nhưng được chèn vào một tập hợp các truy vấn con trong SELECT để xây dựng một chuỗi lệnh gọi ("tiện ích").

Fuente: https://threatpost.com/


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.