A09:2021 – Security Logging and Monitoring Failures

HW·2024년 11월 24일

Security Logging and Monitoring Failures (보안 로깅 및 모니터링 실패)

적절한 로깅과 모니터링이 없다면 공격을 감지하고 대응할 수 없다.

언제 발생?

  • 로그인, 로그인 실패, 고위험 거래와 같은 auditable event가 기록되지 않음
  • 경고 및 오류 메시지가 불충분하거나 불명확한 로그 메시지를 생성하거나 아예 생성하지 않음
  • 애플리케이션 및 API 로그에서 의심스러운 활동이 모니터링되지 않음
  • 로그가 로컬로만 저장됨
  • 적절한 경고 임계값 및 대응 절차가 설정되지 않거나 비효율적임
  • 동적 애플리케이션 보안 테스트(DAST) 도구(예: OWASP ZAP)에 의해 수행되는 침투 테스트 및 스캔이 경고를 발생시키지 않음
  • 애플리케이션이 실시간으로 공격을 탐지, 상승 또는 경고를 발생시키지 않음

로그 및 경고 이벤트가 사용자나 공격자에게 노출되어 정보 유출의 위험이 존재

예방

개발자는 애플리케이션의 위험도에 따라 아래와 같은 통제 수단을 구현해야 한다.

  • 모든 로그인, 액세스 제어, 서버 측 입력 검증 실패를 충분한 사용자 context를 포함하여 로그에 기록 -> 의심스러운 계정을 식별하고, 지연된 포렌식 분석을 위해 적절한 기간 동안 보관
  • 로그가 로그 관리 솔루션에서 쉽게 처리할 수 있는 형식으로 생성되도록 보장
  • 로그 데이터가 인코딩되어 로그 또는 모니터링 시스템에서 인젝션 공격을 방지할 수 있도록 보장
  • high-value transactions에는 변경(탬퍼링)이나 삭제를 방지하는 무결성 제어(예: append-only 데이터베이스 테이블 등)가 포함된 audit trail(감사 추적)을 보장
  • DevSecOps 팀은 의심스러운 활동을 빠르게 탐지하고 대응할 수 있도록 효과적인 모니터링 및 경고 체계를 구축
  • 침해 사고 대응 및 복구 계획을 수립하거나 채택(예: NIST 800-61r2 등)

OWASP ModSecurity Core Rule Set과 같은 상용 및 오픈소스 애플리케이션 보호 프레임워크와 ELK(Elasticsearch, Logstash, Kibana) 스택과 같은 오픈소스 로그 관련 소프트웨어를 사용하여 맞춤형 대시보드 및 경고 기능 구현

예시 공격 시나리오

시나리오 #1: 어린이 건강 보험 제공자의 웹사이트 운영자는 모니터링 및 로그 기록이 부족해 침해를 탐지하지 못했다. 외부에서 해당 건강 보험 제공자에게 연락하여 공격자가 3.5백만 명 이상의 어린이들의 민감한 건강 기록을 수정했다는 사실을 알렸다. 사고 후 검토 결과, 웹사이트 개발자는 중요한 취약점을 해결하지 않았고, 로그나 모니터링이 없었기에 데이터 유출은 2013년부터 계속되고 있었을 가능성이 있다.

시나리오 #2: 인도 대형 항공사는 10년 동안의 수백만 명 승객의 개인정보(여권 및 신용카드 정보)가 유출되는 사고를 겪었다. 유출 사고는 제3자 클라우드 제공업체에서 발생했으며, 해당 업체는 시간이 지나서야 항공사에 이를 알렸다.

시나리오 #3: 유럽의 대형 항공사는 결제 애플리케이션 보안 취약점이 공격자들에 의해 악용되어 400,000건 이상의 고객 결제 기록이 유출되는 GDPR 보고 대상 사고를 겪었다. 이로 인해 항공사는 개인정보 보호 규제 기관에 의해 2천만 파운드의 벌금을 부과받았다.

관련 CWE

  • CWE-117 Improper Output Neutralization for Logs
    로그 메시지를 생성할 때 특수문자나 제어 문자가 제대로 처리되지 않아, 공격자가 Log Injection 공격을 통해 보안 시스템을 우회하거나 로그를 조작할 수 있는 취약점
  • CWE-223 Omission of Security-relevant Information
    보안과 관련된 중요한 정보를 로그에 기록하지 않아, 사건 발생 시 원인을 파악하거나 문제를 추적하기 어려워지는 취약점
  • CWE-532 Insertion of Sensitive Information into Log File
    로그에 비밀번호, 세션 토큰, API 키 등과 같은 민감한 정보를 기록하여, 로그 파일이 노출될 경우 심각한 정보 유출로 이어질 수 있는 취약점
  • CWE-778 Insufficient Logging
    애플리케이션이 중요한 이벤트(예: 로그인 실패)를 기록하지 않거나, 기록 내용이 불충분하여 보안 사고를 탐지하거나 분석하기 어려운 취약점

0개의 댓글