SQLite의 취약점을 악용하는 새로운 기술이 발견되었습니다.

취약한 SQLite 버전

체크 포인트 연구원들이 최근 공개 DEF 회의에서 세부 사항과 함께 발견 된 새로운 기술의, 이것은 사용됩니다 p취약한 버전의 SQLite를 사용하는 애플리케이션을 공격합니다.

방법 Check Point는 데이터베이스 파일을 취약점 악용 시나리오를 통합 할 기회로 간주합니다. 이마 공격을 위해 액세스 할 수없는 다양한 내부 SQLite 하위 시스템에서. 연구원들은 또한 SQLite 데이터베이스에서 SELECT 쿼리 문자열 형태의 익스플로잇 코딩으로 취약점을 악용하는 기술을 개발하여 ASLR을 피할 수 있습니다.

취약성에 대해

Check Point 연구원은 성공적인 공격을 위해 공격자는 공격받은 애플리케이션의 데이터베이스 파일을 수정할 수 있어야합니다., 이는 전송 및 입력 데이터의 형식으로 SQLite 데이터베이스를 사용하는 애플리케이션을 공격하는 방법을 제한합니다.

그러나 또한 이미 획득 한 로컬 액세스를 확장하는 데이 방법을 사용할 수도 있음을 공개합니다. 예를 들어, 사용 된 애플리케이션에 숨겨진 백도어를 통합하고 맬웨어를 분석 할 때 보안 연구원을 피할 수 있습니다.

파일 가장 후 작업은 응용 프로그램이 수정 된 데이터베이스의 테이블에 대한 첫 번째 SELECT 요청을 실행할 때 수행됩니다.

예를 들어, 주소록을 열 때 iOS에서 코드를 실행하는 기능이 시연되었습니다. «데이터베이스가있는 파일주소록.sqlitedb»제안 된 방법을 사용하여 수정되었습니다.

공격을 위해 fts3_tokenizer 함수에 취약점이 사용되었습니다. (CVE-2019-8602, 포인터 역 참조 기능), 2.28 월 SQLite XNUMX 업데이트에서 수정되었으며 창 기능 구현의 또 다른 취약점이 있습니다.

또한, PHP로 작성된 공격자로부터 백엔드 서버를 원격 제어하는 ​​방법을 사용하는 방법을 보여줍니다., 이는 악성 코드 작업 중에 도청 된 암호를 축적합니다 (도청 된 암호는 SQLite 데이터베이스 형태로 전송 됨).

공격 방법은 쿼리 하이재킹 (Query Hijacking)과 쿼리 지향 프로그래밍 (Query Oriented Programming)이라는 두 가지 기술을 사용하여 SQLite 엔진에서 메모리 손상을 유발하는 임의의 문제를 악용 할 수 있습니다.

"쿼리 하이재킹"의 본질은 데이터베이스 구조를 정의하는 sqlite_master 서비스 테이블에서 "sql"필드의 내용을 대체하는 것입니다. 지정된 필드에는 데이터베이스의 개체 구조를 설명하는 데 사용되는 DDL (데이터 정의 언어) 블록이 포함됩니다.

설명은 일반적인 SQL 구문을 사용하여 설정됩니다. 데이터베이스 초기화 중 (sqlite3LocateTable 함수의 첫 번째 실행 중에) 수행되는 "CREATE TABLE"구조는 메모리의 테이블과 연관된 내부 구조를 작성하는 데 사용됩니다.

아이디어는 "CREATE TABLE"및 "CREATE VIEW"를 대체 한 결과, 뷰 정의를 통해 데이터베이스에 대한 모든 액세스를 제어 할 수 있습니다.

반면에 "CREATE VIEW"명령을 사용하면 "CREATE TABLE"대신 호출되는 "SELECT"작업이 테이블에 첨부되어 공격자가 SQLite 인터프리터의 다양한 부분에 액세스 할 수 있습니다.

이 외에도 공격하는 가장 쉬운 방법은 "load_extension"함수를 호출하는 것입니다. 그러면 공격자가 확장을 사용하여 임의의 라이브러리를로드 할 수 있지만이 기능은 기본적으로 비활성화되어 있습니다.

SELECT 연산을 수행 할 수있는 조건에서 공격을 수행하기 위해 쿼리 지향 프로그래밍 기법을 제안하여 메모리 손상을 유발하는 SQLite의 문제를 악용 할 수 있습니다.

이 기술은 ROP (Return Oriented Programming)를 연상 시키지만 존재하지 않는 기계 코드 스 니펫을 사용하지만 SELECT 내의 하위 쿼리 세트에 삽입되어 호출 체인 ( "가젯")을 구축합니다.

출처 : https://threatpost.com/


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.