본문 바로가기
보안

2016.09.12) MySQL 제로데이 취약점

by 티옌.liy 2016. 9. 21.




오라클의 오픈소스 관계형 DB 관리 시스템인 MySQL은 추석 연휴 전인 2016년 9월 12일 오전 6시 경, 제로데이의 취약점이 드러났다. 그러나 대부분의 한국 기업들은 추석으로 인해, 연휴 이후에 정상 업무를 시작하는 기관 또는 기업들의 보안 관리에 빨간불이 켜졌다.   제로데이는 추석에도 멈추지 않아 Boy♂ 

게다가 아직 오라클은 제로데이로부터 어떠한 패치도 발표하지 않아, 더더욱 각 기업과 기관들이 보안에 주의를 해야한다. 특히 MySQL은 2016년을 기준으로 시장 점유율이 무려 80%에 달한다. 때문에 해외를 비롯한 국내의 대부분의 기업과 기관들이 무방비 상태에 놓이는 것이다. 게다가 MySQL은 고성능이지만 속도가 빠르고 유연하여 어디서든 인터넷으로 접근이 가능하기에, 대처하기도 전에 크래커가 빠른 공격을 할 수도 있다.


현재 드러난 취약점은 크게 2가지다.



CVE-2016-6662


이 취약점은 크게 2가지 공격방법을 사용하고 있다.



1. MySQL의 설정 파일 이용하기


① 원격 또는 로컬로 MySQL의 설정파일(my,cnf)을 임의의 설정값으로 인젝션 할 수 있도록 허용시킨다.


② 루트 권한 획득 후  임의의 코드 실행


③ 자신이 원하는대로 MySQL 조종.  (DB 접근 가능)




2. 리눅스의 디폴트 정책을 악용하기.


① 인증된 MySQL DB접근 ( 네트워크 연결 )

    PHPMyAdmin접근 ( 웹 인터페이스 접근 )        이 2가지로 취약점을 파고든다.


② 루트 권한을 획득 후 임의의 코드 실행


③ 자신이 원하는대로 MySQL 조종.  (DB 접근 가능)


디폴트 정책 : SELinux or AppArmor Linux 커널 보안 모듈 등, 주요 리눅스 배포판에서 MySQL 서비스를 지원하는 기본값.



이 취약점은 기본으로 설정된 MySQL 서버에 영향을 주고 DB가 재부팅 되는 시점부터 적용된다.

대부분 시스템이나 패키지를 업데이트 한 후 재부팅을 하게 되는데, 이때 DB도 같이 재부팅 되기에 매우 위험하다.





CVE-2016-6663


이 취약점은 CVE-2016-6662의 아종이다.

CVE-2016-6662보다 더 쉽고 빠르게 취약점을 공격 할 수 있는것으로 밝혀졌다.

현재 밝혀진 것은 CVE-2016-6662와 동일하게 루트 권한을 획득 한 후 임의의 코드를 실행한다.

그 외에 자세한 공격방법은 아직 공개되지 않아 위험하다.





현재 취약점을 적용받는 MySQL 버전은 모든 버전이 취약하다. 안전한 버전은 없다!

그 중 최신버전인 <5.7.15>, <5.6.33>, <5.5.52> 에서 악용되고 있는 추세다. 

(출처 : http://seclists.org/oss-sec/2016/q3/481 )



현재 오라클로부터 공식적인 보안 패치가 나오지 않은 상황에서 개인 또는 기업들은 스스로 대비를 해야한다.

그러므로 아래의 방법들을 사용하며 오라클로부터 공식 보안 패치가 나오기를 기원하자.


▶ 보안패치가 공개되기 전까지 개인, 기관들은 MySQL파일이 사용자들에게 노출되지 않도록 해야한다.

 환경설정 파일을 이용하는 공격이므로 환경설정 파일의 더미(미끼)파일들을 생성하여 시간을 버는 방법이 있다.

 현재 MariaDB와 PerconaDB는 이 취약점에 대한 보안 패치를 이미 완료하였다. 때문에 공식 보안 패치가 나오기 전 까지는 당분간 위 DBMS를 사용할 필요가 있다.






'보안' 카테고리의 다른 글

[중요] '가짜' 원도우 업데이트로 위장한 랜섬웨어  (0) 2016.09.25

댓글