이번에 문제가 된 보안결함은 미국의 DB보안 전문업체인 임퍼바(Imperva)가 발견해 오라클에 제보한 것으로 DB최초 접속 시 로그인 매커니즘의 허점을 이용한 것이다.
보안결함 뭔가 = 통상 PC 클라이언트에서 DBMS로 로그인할 때 DB 인증정보와 세션 초기화 SQL이 DB서버로 전달되는데, 이 과정에서 일반 DB사용자 계정과 특정 해킹프로그램만 있으면 초기화 SQL정보를 변경, 관리자(DBA)의 권한으로 손쉽게 DB를 초토화할 수 있다는 것이다.
최근에는 이같은 취약점을 이용해 일반 사용자 계정으로 DBA 권한을 획득할 수 있는 방법과 소스가 DBMS 전문 사이트들을 통해 공개된 것으로 확인됐다. 변경된 SQL은 관리자 권한으로 실행되므로 DBA 권한 획득 외에 사용자, 테이블 및 데이터에 대한 생성, 변경, 삭제 등 다양한 방법으로 악용될 수 있다고 전문가들은 경고하고 있다. 사내 전문가나 회사 외주업체 관계자가 악의로 DB의 데이터를 완전히 망실시키거나 의도적으로 조작할 가능성이 있다는 것.
정부나 금융권 등 많은 사이트가 오라클 DB를 기반으로 하고 있는 국내 실정을 감안할 때 각별한 주의가 요망되는 것이다. 오라클의 국내 DBMS시장 점유율은 60% 이상인 것으로 추산되며 국내 금융기관 계정계 DB중 상당수가 오라클 제품으로 관리되고 있다. 또 정부 대국민 서비스의 DB도 상당수가 오라클을 활용하고 있다.
오라클은 보안취약점 문제를 해결하기 위해 지난달 17일 패치사이트인 메타링크를 통해 패치 배포에 나섰다. 문제는 PC와 달리 기업용 DB의 경우, 패치의 충돌가능성이나 데이터망실, DB 오작동을 우려해 일정 기간 모의 DB로 테스트를 거친 뒤 설치가 이뤄진다는 점이다. 이로 인해 시스템에 따라 패치 작업까지 한달 이상의 공백기가 생긴다.
패치 지원 안 되는 제품도=오라클은 취약점이 있는 것으로 드러난 8i, 9i, 10g 제품을 대상으로 패치를 제공하고 있으나 한 보안업체의 테스트 결과 제공되는 패치는 이 제품들의 세부버전 전부가 아닌 최신 버전만을 지원하는 것으로 나타났다. 9i의 9.2.0.4 버전의 경우 최신제품인 9.2.0.6으로 업그레이드해야만 보안 패치 적용이 가능하다. 기업들이 DBMS의 세부버전을 항상 최신으로 유지하는 것은 아니라는 점을 감안하면 이 많은 DB가 당분간 치명적인 보안 위협에 노출되게 된다. 또 보안 패치를 위해 버전 업그레이드를 해야 하는 부담이 생긴다. 7과 8버전은 취약점은 발견되지 않는 것으로 나타났다.
엑셈 조종암 사장은 "이 취약점으로 인한 피해 우려가 높은 만큼 한국오라클과 고객사 모두 철저하게 대처해야 한다"고 밝혔다. 또 다른 DB보안업체 관계자도 "미국 보안업체로부터 최근 이같은 보안취약점에 대한 경고메일을 받고 대책을 마련 중"이라며 "오라클에 접근관리 기능과 DB암호화 기능이 있지만 DBA가 복잡해 사용하지 않는 경우가 많아 위험성이 크다"고 밝혔다.
오라클 적극 대응 나서야=한국오라클 측은 "패치를 배포하면서 취약점에 대한 자세한 내용을 알리지 않은 것은 악의적 사용가능성이 있기 때문"이라며 "방화벽으로 외부와 단절된 기업 내부시스템인 만큼 외부 해킹가능성이 적고 내부에서도 전문지식이 있어야 가능하겠지만 내부자에 의한 해킹 개연성이 있는 만큼 DB보안에 유의해야 한다"고 밝혔다.
또 "이미 상당수 고객 문의를 접수해 대응하고 있다"면서 "패치가 가장 확실한 방법인 만큼 서둘러 설치를 하고 24시간 가동되는 시스템이라면 업그레이드 및 패치 설치를 위한 스케줄을 확정해달라"고 당부했다.
오라클의 이같은 움직임에도 불구하고 관련업계는 취약점의 내용이 심각한 만큼 보다 적극적인 고객지원을 통해 고객들의 불안감을 해소해줘야 한다는 지적이다.
한 DB 보안 전문가는 "과거 인텔은 문제가 있는 자사 칩셋을 수 억 달러의 비용을 들여가며 전량 수거, 교체한 덕에 도덕성과 신뢰성을 높였다"며 "이번 문제에 오라클이 더욱 적극적으로 대처해야 한다"고 말했다.
◇보안 문제 최소화하려면 어떻게 해야 하나
- 근본적으로는 패치의 적용이 필수적이지만 패치까지 걸리는 시간을 감안, 우선 위험성을 최소화 할 수 있는 조치를 취하는 게 필요하다는 보안업계 전문가들의 조언이다.
1. 불필요한 테스트용 DB 계정을 삭제
2. 패스워드 변경 및 모든 DB 계정정보에 대한 엄격한 관리
3. IP 주소/접속 방법(protocol)등에 따른 DB 접속 통제
4. DB 보안 솔루션을 통한 접근 통제
5. 관리자 계정의 권한을 제한하고 데이터 삭제 등 데이터 관리와 관련한 중요한 행위에 대해서는 별도의 권한을 받도록 조치