웹 서비스를 보호하는데 가장 필수적인 제품은 웹방화벽(WAF, Web Application Firewall) 입니다.

네트워크 기반 침입차단시스템(NIPS, Network based Intrusion Prevention System) 제품에 인증서를 설치하여 병행 사용이 되기도 하지만, 앞선 논의와 같이 네트워크 IPS 제품은 더 이상 필요한 제품이 아닙니다.

[1]

NIPS는 제대로 동작할 수 없고, 네트워크 복잡성으로 장애 발생 확률을 올리기까지 하므로 오히려 제거해야 할 대상입니다.

 

웹방화벽(WAF)에서 차단하지 못한 공격은 어떻게 될까요?

웹방화벽(WAF)은 계정 탈취 공격인 크리덴셜 스터핑 (Credential Stuffing)에 대응할 수 없습니다.[2]

이미 언급했지만, 웹방화벽(WAF)이 놓친 공격을 NIPS 가 탐지할 가능성은 거의 없습니다.

그럼 어떤 대안이 있을까요?

 

통합보안이벤트관리(SIEM) 솔루션은 모든 이벤트를 수집하여 상관분석으로 이상징후를 탐지합니다.

통합보안이벤트관리(SIEM)는 자체 분석할 수 있는 기능은 없습니다. 정보보안제품에서 로그에 탐지 정보를 포함하여 전송 받아 이것을 기반으로 동작하게 됩니다.

예를 들어,

1) 방화벽(Firewall): 통과(pass), 차단(deny), 본문정보(X)

2) 네트워크 기반 침입차단시스템(NIPS): 통과(pass), 차단(deny), 본문정보(X)

3) 웹방화벽(WAF) : 통과(pass), 차단(deny), 본문정보(O)

 

현재 시나리오에서는 웹방화벽에서 정상으로 판단하여 통과된 것이므로 웹 서버 로그 상에서는 모두 정상으로 기록될 것입니다.

 

그러므로, 통합보안이벤트관리(SIEM)에서 설상 웹 로그를 수집한다고 하더라도 공격으로 탐지할 가능성은 없습니다.

 

또 하나 반드시 짚어야 할 부분은 바로 요청 본문입니다.

 

요청 본문(Post-body)은 사용자가 브라우저 상에서 데이터를 입력하여 웹서버로 전송하는 데이터 영역입니다.

예를 들어, 웹메일에 로그인할 때 입력하는 영역, 아이디, 패스워드가 모두 요청 본문에 해당됩니다.

정상적인 경우, 아이디와 패스워드가 입력되겠지만, 악의적인 사용자는 이곳에 악성코드를 입력하게 됩니다.

SQL 인젝션, 크로스사이트스크립팅(XSS, Cross Site Scripting) 등이 여기에 해당됩니다.

 

요청 본문(Post-body)은 웹서버의 로그에 남지 않습니다.  우리 웹서버는 일반적으로 헤더 정보로 불리는 접속자의 IP주소, 브라우저 종류, 쿠키, 접근 경로 등만을 기록하게 됩니다.

 

통합보안이벤트관리(SIEM)의 기본적인 철학은 모든 로그를 수집, 분석하여 이상징후를 탐지한다고 하지만, 현실적으로 웹 로그 분석으로 이상징후를 탐지하지 못하는 것은 이와 같이 웹 로그에는 탐지 정보가 없고 요청본문이 남지 않아 불완전한 로그 데이터를 기반으로 하기 때문입니다.

 

PLURA-SIEM에는 글로벌 특허로 등록되어 있는 웹 로그에 요청 본문(Post-body)를 남기고, 분석하여 이상징후를 탐지하는 내용이 반영되어 있습니다.[3]

 

네줄 요약

1) 웹방화벽(WAF)은 크리덴셜 스터핑 공격에 대응할 수 없다.

2) 통합보안이벤트관리(SIEM)은 웹 로그 분석으로 이상징후를 탐지할 수 없다.

3) 요청 본문(Post-body)은 웹 로그에 남지 않는다.

4) PLURA-SIEM은 특허를 기반으로 요청 본문(Post-body)을 웹 로그에 남기고 분석하여 이상징후를 탐지한다.

 

참고 사이트

[1] 침입차단시스템(IPS)에 대한 이해 by ChatGPT, http://blog.plura.io/?p=18840

[2] 크리덴셜 스터핑 공격 대응하기, http://blog.plura.io/?p=11797

[3] 큐비트시큐리티, ‘실시간 로그 분석 기반의 공격 탐지 시스템 및 방법’ (등록번호 : 10-1896267)

[4] 샤오치잉(Xiaoqiying) 해킹 공격 대응하기, http://blog.plura.io/?p=18832