Wins blog

글로벌 정보보안 파트너! Global Security  No.1 윈스는 국가대표 정보보안 기업에서 글로벌 강소기업으로 도약합니다.

보안 정보

앞 내용 보기 다음 내용 보기
취약점 정보Aerospike Database Server 취약점(CVE-2016-9050)
작성일 2017-01-24 조회 1075

1.개요

최근 CISCO에서 Aerospike 데이터베이스 서버에 대한 취약점 PoC를 공개했다. 해당 취약점은 Out-of-bounds 읽기 가능한 취약점이다. 
 
 

[취약점 버전 정보]
Aerospike Database Server 3.10.0.3

 
 
[용어 설명]
o Out-of-bounds read
지정된 영역을 벗어난 메모리 영역을 읽어들이는 행위를 말한다.
 
 

[어플리케이션 정보]

Aerospike Database Server

Aerospike는 엔터프라이즈급의 분산형, 확장 가능한 NoSQL 데이터베이스이다. 이 아키텍처는 세 가지 핵심 목표를 가지고 있다. 웹 규모 어플리케이션을 위한 유연하고 확장 가능한 플랫폼을 만들고, 전통적인 데이터베이스에서 기대되는 견고성과 안정성 (ACID와 같은)을 제공하고 최소한의 수동 조작으로 운영 효율성을 제공한다. Aerospike 아키텍처는 클라이언트 계층과 클러스터링 및 데이터 배포 계층, 데이터 저장소 계층의 세 가지 계층으로 구성된다.

 

 

 

2.분석 내역

해당 취약점은 as_msg_peek 함수에서 필드 사이즈의 최소값을 체크하지 않기 때문에 경계값을 벗어난 데이터 영역에 접근하게 됨으로 취약점이 발생하게 된다. 아래 [그림1]은 취약점이 발생하는 지점의 소스코드 내용이다.


[그림1] 취약점 발생 지점

 

위 [그림1]은 as_msg_peek 함수 내용이다. 해당 함수에서는 AS_MSG_FIELD_TYPE_DIGEST_RIPE 필드를 패킷 밖에서 읽어들이고, 데이터에 대한 포인터 값을 peek->keyd에 저장하는 것을 확인 할 수 있다. 이때 함수 내에서 해당 필드의 최소 사이즈를 체크하지 않아 경계값을 벗어난 외부 데이터에 접근 할 수 있다. 


[그림2] 취약점 발생 지점
 

 

3.정리

해당 취약점은 Aerospike Database Server 3.10.0.3 버전에 존재한다. 해당 PoC를 이용하여 서비스 거부 공격이 가능하므로 이에 대한 각별한 주의가 필요하다. 이를 피하기 위해 해당 소프트웨어를 사용시에는 반드시 최신 버전으로 업그레이드하여 사용하도록 한다.

 

 

4.대응 방안

1)최신 버전으로 업그레이드한다.

[Aerospike 업데이트] https://github.com/aerospike/aerospike-server


 

2) 아래와 같은 패턴으로 대응이 가능하다.

[Snort Rule] 

alert tcp any any -> any 3000 (msg:"Aerospike Database Server Information Disclosure Vulnerability(CVE-2016-9050)"; flow:to_server; content:"|02 03|"; offset:0; depth:2; content:"|00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00|"; distance:6; within:18; content:"|00 00|"; distance:2; within:2; content:"|00|"; distance:4; within:1; content:"|00 00 00 01|"; distance:3; within:4; byte_test:1,<,8,0,relative; priority:2; sid:20170123; rev:1;)

 

 

5.참고

http://www.talosintelligence.com/reports/TALOS-2016-0264/

 
첨부파일 첨부파일이 없습니다.
태그   Aerospike Database Server  CVE-2016-9050