본문 바로가기
프로그래머/프로그래밍

MS SQL 서버 신규 원격코드실행 취약점

by plog 2008. 12. 29.

MS SQL 서버 신규 원격코드실행 취약점 주의
□ 개요
   o sp_replwritetovarbin라는 확장 저장 프로시저(Extended Stored Procedure) 에 존재하는 힙 오버플로우 취약점에 의한 원격코드실행 문제 [1]
   o 공격이 성공하면 공격자는 영향 받는 시스템에 대해 완전한 권한 획득 가능
   - 공격을 성공하기 위해서 공격자는 로컬이나 리모트의 인증된 사용자이어야 함
   - SQL 인젝션 공격과 결합하면 취약한 웹 서버를 대상으로 인증없이 공격 가능 

□ 해당시스템
   o 영향 받는 소프트웨어
     - Microsoft SQL Server 2000
     - Microsoft SQL Server 2005
     - Microsoft SQL Server 2005 Express Edition
     - Microsoft SQL Server 2000 Desktop Engine (MSDE 2000)
     - Microsoft SQL Server 2000 Desktop Engine (WMSDE)
     - Windows Internal Database (WYukon)

   o 영향 받지 않는 소프트웨어
     - Microsoft SQL Server 7.0 Service Pack 4
     - Microsoft SQL Server 2005 Service Pack 3
     - Microsoft SQL Server 2008  

□ 해결책
   o 현재 해당 취약점에 대한 마이크로소프트사의 보안업데이트는 발표되지 않았으나, sp_replwritetovarbin의 접근 권한을 제한(Deny)하면 해당 취약점을 해결 가능함 [1, 2]
※ 대부분의 경우에는 sp_replwritetovarbin를 비활성화하더라도 아무런 영 향이 없지만, 업데이트 가능한 구독 설정을 가진 트랜잭션 복제 (Transactional Replication)를 사용할 경우에는 sp_replwritetovarbin의 비활성화가 구독 테이블의 업데이트를 막기 때문에  주의를 요함
     - SQL 서버에 sysadmin으로 연결하여 다음의 T-SQL 스크립트를 실행:
       use master
       deny execute on sp_replwritetovarbin to public

     - 다음의 SQL 서버 관리용 GUI 도구를 사용하여 접근 권한 설정을 변경:
       * Server Enterprise Manager (SQL 2000)
       * SQL Server Management Studio (SQL 2005)  

□ 참조사이트 
[1]
http://www.microsoft.com/technet/security/advisory/961040.mspx
[2]
http://blogs.technet.com/swi/archive/2008/12/22/more-information-about-the-sql-stored-procedure-vulnerability.aspx
[3]
http://www.windowsitlibrary.com/Content/77/20/1.html
[4] http://download.microsoft.com/download/a/d/c/adc1e134-7e30-4aae-a834-cc2d30bddf67/replication_swanchoi_v02.ppt

댓글