데이터베이스 활동 모니터링

Database activity monitoring

데이터베이스 활동 모니터링(DAM, a.k.a) 기업 데이터베이스 감사실시간 보호[1])는 데이터베이스 활동을 모니터링하고 분석하기 위한 데이터베이스 보안 기술이다. DAM은 네트워크 기반 모니터링 및 기본 감사 정보의 데이터를 결합하여 데이터베이스 활동의 종합적인 그림을 제공할 수 있다. DAM이 수집한 데이터는 데이터베이스 활동에 대한 분석 및 보고, 침해 조사 지원, 이상 징후 경보 등에 사용된다. DAM은 일반적으로 지속적으로 실시간으로 수행된다.

DAMP(Database Activity Monitoring and Prevention, 데이터베이스 활동 모니터링 및 방지)는 모니터링 및 경보를 넘어 무단 활동을 차단하는 DAMP로의 확장이다.

DAM은 기업이 PCI DSS(Payment Card Industry Data Security Standard), HIPAA(Health Insurance Portability and Accountability Act), Sarbanes-Oxley법(SOX), NIST 800-53과 같은 미국 정부 규제 및 EU 규제와 같은 규제 준수 요건을 해결할 수 있도록 돕는다.

DAM은 또한 사이버 범죄자들의 외부 공격으로부터 민감한 데이터베이스를 보호하는 중요한 기술이다. 2009년 Verizon Business의 데이터 침해 조사 보고서에 따르면, 2008년 동안 2억 8천 5백만 건의 손상된 기록이 포함된 90건의 확인된 위반에 대해 Verizon Business의 데이터 침해 조사 보고서에서 분석된 데이터에 따르면, 모든 침해된 기록의 75%가 손상된 데이터베이스 서버에서 가져온 것이라고 한다.

가트너에 따르면, "DAM은 기본 데이터베이스 로깅 및 감사 기능과 무관한 특권적인 사용자 및 애플리케이션 액세스 모니터링을 제공한다. 관리자 활동을 모니터링하여 권한 있는 사용자 분리 문제에 대한 보상 제어 기능을 수행할 수 있다. 이 기술은 또한 애플리케이션 계층에서 비정상적인 데이터베이스 읽기 및 업데이트 활동을 감지하여 데이터베이스 보안을 향상시킨다. 데이터베이스 이벤트 집계, 상관관계 및 보고 기능은 기본 데이터베이스 감사 기능(감사 수준이 증가함에 따라 리소스 집약적임)을 활성화할 필요 없이 데이터베이스 감사 기능을 제공한다."[2]

독립 오라클 사용자 그룹(IOUG)의 조사에 따르면 "대부분의 조직은 데이터베이스 관리자 및 기타 특권 데이터베이스 사용자가 재무, HR 또는 기타 비즈니스 애플리케이션에서 중요한 정보를 읽거나 변조하는 것을 방지할 수 있는 메커니즘을 가지고 있지 않다. 대부분은 아직도 그러한 위반이나 사건을 감지할 수조차 없다."

Forrester는 이 범주를 "데이터베이스 감사 및 실시간 보호"[1]라고 한다.

DAM의 공통 사용 사례

권한 있는 사용자 모니터링: 일반적으로 기업 데이터베이스에 대한 제한 없이 액세스할 수 있는 데이터베이스 관리자(DBA), 시스템 관리자(또는 sysadmin), 개발자, 헬프 데스크 및 아웃소싱 직원과 같은 권한 있는 사용자(또는 슈퍼 유저)를 모니터링하는 것은 외부 및 내부 위협으로부터 보호하는 데 필수적이다. 권한 있는 사용자 모니터링에는 모든 활동 및 트랜잭션 감사, 비정상적인 활동 식별(예: 중요한 데이터 보기 또는 수퍼유저 권한이 있는 새 계정 만들기), 관찰된 활동(예: 테이블 추가 또는 삭제)을 인증된 변경 요청과 조정하는 작업이 포함된다.

대부분의 조직은 이미 경계 수준에서 보호되고 있기 때문에, 실제로 주요 관심사는 특권 사용자로부터 감시하고 보호해야 하는 필요성에 있다. 따라서 데이터베이스 보안내부자 위협으로부터 보호해야 할 필요성 사이에는 높은 상관관계가 있다. 대부분의 특권 사용자들은 전통적인 방법으로 탐지하기 어려울 수 있는 데이터베이스 저장 프로시저, 트리거, 보기 및 난독화된 트래픽 공격을 공격하기 위해 정교한 기술을 사용할 수 있기 때문에 이것은 복잡한 작업이다.

또한 표적형 공격은 공격자가 특권적인 사용자 자격 증명을 획득하는 경우가 많기 때문에 특권 활동에 대한 모니터링도 손상된 시스템을 식별하는 효과적인 방법이다.

그 결과, 감사인은 현재 광범위한 규제뿐만 아니라 보안 모범 사례에 대한 특권 사용자에 대한 모니터링을 요구하고 있다. 권한 있는 사용자 모니터링을 통해 보장되는 이점:

• 인증된 애플리케이션과 사용자만 중요한 데이터를 볼 수 있도록 데이터 개인 정보 보호
• 중요한 데이터베이스 구조와 가치가 기업 변경 통제 절차 외부에서 변경되지 않도록 데이터 거버넌스.

응용 프로그램 활동 모니터링: 애플리케이션 활동 모니터링의 주요 목적은 데이터베이스에 직접 액세스하는 것이 아니라 기업 애플리케이션을 통해 발생하는 부정 행위(및 기타 합법적 액세스 남용)를 탐지하고 보다 높은 수준의 최종 사용자 책임을 제공하는 것이다.

Oracle EBS, PeopleSoft, JD Edwards, SAP, Siebel Systems, Business Intelligence와 같은 다중 계층 엔터프라이즈 애플리케이션과 IBM WebSphere, Oracle WebLogic Server와 같은 표준 중간 계층 서버에 구축된 사용자 지정 애플리케이션은 데이터베이스 트랜잭션 수준에서 최종 사용자의 신원을 가린다. 이것은 "연결 풀링"이라고 알려진 최적화 메커니즘으로 이루어진다. 풀링된 연결을 사용하여 응용 프로그램은 일반 서비스 계정 이름으로만 식별되는 몇 개의 데이터베이스 연결 내의 모든 사용자 트래픽을 집계한다. 애플리케이션 활동 모니터링은 조직이 특정 데이터베이스 트랜잭션을 특정 애플리케이션 최종 사용자와 연결하여 승인되지 않았거나 의심스러운 활동을 식별할 수 있도록 한다.

Sarbanes와 같은 데이터 거버넌스 요구사항에 대해 최종 사용자의 책임감이 요구되는 경우가 많다.옥슬리 법. SOX 준수를 위한 공공 회사 회계 감독 위원회의 새로운 감사 지침 또한 부정 행위 방지 통제에 대한 강조를 증가시켰다.

사이버 공격 방지: SQL 주입은 관계형 데이터베이스를 사용하는 응용프로그램의 잘못된 코딩 관행을 이용하기 위해 사용되는 공격의 일종이다. 공격자는 응용프로그램을 사용하여 공격자가 소개하는 추가 문과 연결된 응용 프로그램 문으로 구성된 SQL 문을 전송한다.[3]

많은 애플리케이션 개발자들은 문자열을 연결하여 SQL 문을 작성하고 준비된 문을 사용하지 않는다. 이 경우 애플리케이션은 SQL 주입 공격에 취약하다. 이 기술은 애플리케이션 SQL 문을 무고한 SQL 호출에서 무단 액세스, 데이터 삭제 또는 정보 도용을 유발할 수 있는 악성 호출로 변환한다.[3]

DAM이 SQL 주입을 방지할 수 있는 한 가지 방법은 애플리케이션 활동을 모니터링하고 "정상 동작"의 기준선을 생성하며, 정상적인 SQL 구조와 정상 시퀀스와의 차이를 기반으로 공격을 식별하는 것이다. 대체 접근방식은 데이터베이스 실행 계획과 SQL 문의 컨텍스트가 모두 보이는 데이터베이스의 메모리를 모니터링하며, 정책에 기초하여 개체 수준에서 세분화된 보호를 제공할 수 있다.

DAM의 핵심 기능

Gartner에서 정의한 바와 같이, "DAM 도구는 여러 데이터 수집 메커니즘(서버 기반 에이전트 소프트웨어 및 인라인 또는 대역 외 네트워크 수집기 등)을 사용하고, 분석을 위해 중앙 위치에서 데이터를 집계하며, 보안 정책 및/또는 서명을 위반하거나 행동 이상 징후를 나타내는 행동을 기준으로 보고한다. DAM 수요는 주로 컴플라이언스 관련 감사 결과를 해결하기 위한 권한 있는 사용자 모니터링의 필요성과 데이터베이스 액세스를 모니터링하기 위한 위협 관리 요건에 의해 주도된다. 기업 DAM 요건은 악성 행위 탐지 기능이나 부적절하거나 승인되지 않은 데이터베이스 관리자(DBA) 액세스 등 기본 기능을 넘어 확대되기 시작하고 있다. [4]

보다 발전된 DAM 기능은 다음과 같다.

  • 데이터베이스 내 공격 및 백도어를 실시간으로 모니터링할 수 있는 기능(예: 저장 프로시저, 트리거, 보기 등)
  • 암호화 또는 네트워크 토폴로지 등 대부분의 IT 인프라 변수에 구애받지 않는 솔루션
  • 트랜잭션에 속하지 않고 차단 및 방지
  • 위험 데이터에 대한 능동적 검색
  • 애플리케이션 트래픽에 대한 가시성 향상
  • 잘 정의되거나 일관된 네트워크 토폴로지가[5] 없는 가상화 환경이나 클라우드에서도 데이터베이스 활동 모니터링을 제공할 수 있는 기능


일부 기업은 다음과 같은 다른 기능도 모색하고 있다.

  • 미국 Sarbanes-Oxley 법에서 요구하는 감사 준수를 위한 구성 감사
  • PCI(Payment Card Industry) 및 기타 데이터 중심 규제 프레임워크의 데이터 식별 및 보호 요구사항뿐만 아니라 보안 문제를 해결하는 DLP 기능
  • 광범위한 규정에 필요한 데이터베이스 사용자 권한 증명 보고
  • 잘 정의되거나 일관된 네트워크 토폴로지가 없는 가상화 환경이나 클라우드에서도 데이터베이스 활동 모니터링을 제공할 수 있는 기능
  • 취약성 검색 제품과의 통합 개선

공통 DAM 아키텍처

가로채기 기반: 대부분의 최신 DAM 시스템은 데이터베이스 클라이언트와 데이터베이스 서버 사이의 통신을 "보기"할 수 있게 함으로써 데이터베이스가 하는 것을 수집한다. DAM 시스템이 하는 일은 데이터베이스의 참여 없이도 통신 스트림을 보고 요청과 응답을 받을 수 있는 장소를 찾는 것이다. Database Security Proxy는 DAM을 위한 비침해적 방법이다. 가로채기 자체는 데이터베이스 메모리(예: SGA), 네트워크(통신 암호화되지 않은 경우 네트워크 TAP 또는 SPAN 포트 사용), 운영 체제 수준 또는 데이터베이스 라이브러리 수준에서도 수행될 수 있다.[3]

암호화되지 않은 네트워크 트래픽이 있는 경우 패킷 스니핑을 사용할 수 있다. 이점은 호스트에서 처리되지 않는다는 것이지만, 로컬 트래픽과 정교한 데이터베이스 내 공격이 모두 감지되지 않는다는 것이 주된 단점이다. 로컬 액세스를 캡처하기 위해 일부 네트워크 기반 공급업체는 호스트에서 실행되는 시도를 배포한다. 이 시도는 모든 로컬 액세스를 차단하고 네트워크 장비를 사용하지 않으려는 경우 또는 데이터베이스 통신이 암호화되는 경우 모든 네트워크 액세스를 차단할 수 있다. 그러나 에이전트가 모든 처리를 수행하는 것이 아니라 모든 처리가 발생하는 DAM 어플라이언스에 데이터를 중계하기 때문에 모든 로컬 트래픽과 네트워크 성능에 영향을 미칠 수 있으며 실시간 세션 종료가 너무 느려서 무단 쿼리를 중단하지 못할 수 있다.

메모리 기반: 일부 DAM 시스템에는 보호대상 데이터베이스에 부착된 경량 센서가 있으며, 수행 중인 SQL 문을 수집하기 위해 시스템 전역 영역(SGA)을 지속적으로 폴링한다. 유사한 아키텍처는 이전에 SGA 및 기타 공유 데이터 구조를 사용한 성능 최적화 제품에 의해 사용되었다.[3]

이 기술의 최신 버전에서는 경량 센서가 호스트에서 실행되고 OS 레벨의 프로세스에 부착되어 개인 데이터 구조를 검사한다. 이 접근법의 장점은 다음과 같다.

  • 모든 데이터베이스 트랜잭션에 대한 완전한 적용 범위 - 센서는 네트워크, 호스트 및 백도어(저장된 절차, 트리거, 보기)에서 오는 트래픽을 포괄함
  • 대부분의 IT 인프라 변수에 구애받지 않는 솔루션 - 네트워크를 다시 설계할 필요 없고, 네트워크를 암호화하면 포트를 열거나 키 관리를 걱정할 필요가 없으며, 이 모델을 사용하여 가상화된 환경이나 클라우드에 구축된 데이터베이스를 보호할 수도 있다.

로그 기반: 일부 DAM 시스템은 트랜잭션 로그(예: redo 로그)에서 정보를 분석하고 추출한다. 이러한 시스템은 많은 데이터가 redo 로그에 저장되고 이러한 로그를 스크래치한다는 사실을 사용한다. 유감스럽게도 필요한 모든 정보가 redo 로그에 있는 것은 아니다. 예를 들어, SELECT 문장은 그렇지 않기 때문에 이러한 시스템은 그림 3과 같이 redo 로그에서 수집하는 데이터를 기본 감사 추적에서 수집하는 데이터로 증가시킨다. 이 시스템은 (DBMS로부터 완전히 독립된) 진정한 DAM 시스템과 데이터베이스에 의해 생성된 데이터에 의존하는 SIEM 사이의 하이브리드 시스템이다. 이러한 아키텍처들은 대개 데이터베이스 서버에 대한 오버헤드가 더 크다는 것을 의미한다.[3]

참조

[1]