2020-02-27 07:05 (목)
[황석훈 대표 기고-2] 정보보안을 위한 가장 기본적인 시각…’로깅’
상태바
[황석훈 대표 기고-2] 정보보안을 위한 가장 기본적인 시각…’로깅’
  • 길민권 기자
  • 승인 2017.07.18 13:02
이 기사를 공유합니다

정보보안, 사각지대 없는 가시성 확보가 핵심…그 중심엔 ‘로그’가 있다

▲ 황석훈 타이거팀 대표
▲ 황석훈 타이거팀 대표
앞선 기고에서 필자는 정보보안 활동의 기본은 업무를 이해함에서 출발한다고 언급한바 있다. 업무를 이해한다는 것은 데이터의 본질과 속성을 이해하고 흐름을 안다는 것을 전제로 한다. 만약 충분한 이해를 가졌다면, 다음에 필요한 생각은 무엇일까?

필자는 두번째로 고민해야 할 것은 사각지대가 없는 가시성 확보라고 생각한다.

데이터의 흐름을 추적할 수 있어야 하고 데이터의 속성이 변하지 않음을 확인할 수 있어야 하고 안전하게 관리되고 있음을 보장해 주어야 하는 것이 보안업무의 기본 속성이다.

보안의 3대 요소를 기밀성, 무결성, 가용성이라고 하지 않았던가.

이러한 것들이 가능해지려면 가장 먼저 흐름을 파악하고 추적할 수 있는 가장 기초적인 가시성 확보가 무엇보다 중요하다. 집안 곳곳에 CCTV를 설치해 놓고 침입을 모니터링하는 것과 안방에 앉아서 감으로 침입을 알아내는 것과 같을 수가 있겠는가?

즉, 우리는 우리의 업무시스템에 최소한의 비용으로 사각지대와 불필요한 중복이 최소화된 CCTV 배치를 고민해야만 한다.

정보보안의 입장에서 보면, 이를 구현해줄 가장 중요한 정보는 ‘로그’라고 하겠다. 여기에서 로그란, 패킷을 복사하는 것 뿐만 아니라 시스템의 로그, 보안장비의 로그 등을 모두 포함한다.

정보보안을 위해서는 로그를 얼마나 잘 활용하고 있는가에 대한 고민이 매우 중요하다.업무의 흐름을 따라가다 보면 업무와 관련이 있는 다음과 같은 자산들이 연결된다. 네트워크, 서버, PC 등이 될 수도 있고, 각종 보안장비 또는 정보를 생산, 관리하는 주체인 어플리케이션도 해당 된다.

데이터를 생성, 관리, 사용, 폐기하는 업무시스템은 반드시 필요한 로그를 제대로 남겨야 한다. 개발 과정에서 데이터의 기밀성, 무결성, 가용성에 대한 로깅요건을 반드시 보안팀과 협의해 시스템에 반영시켜야 한다.

특히 어플리케이션 레벨에서의 로깅은 가장 의미가 있다고 필자는 생각한다.

이는 개발보안 프로세스중 기획 및 설계단계에서 검토되어야 할 가장 기본적인 활동이다.서비스가 요구하는 데이터는 개발자가 누구보다 정확하게 이해하고 있으므로 이에 대한 위변조 등이 발생할 경우 즉시 파악이 가능하다. 여기에는 오탐이 거의 존재하지 않으며, 매우 신속하고 정교할 수 밖에 없다.

네트워크 영역의 로깅은 다음과 같이 이해할 수 있겠다.

네트워크의 기본은 데이터를 전달하는 역할자이지 처리하는 역할자가 아니다. 따라서 이 영역에서는 처리자의 데이터를 다루고 로깅하는 행위가 적절한지는 고민의 대상이 될 수 있다.

현재 네트워크 장비 및 유관 보안장비 등은 해당 부분을 많이 다루고 있다. 필자가 옳고 그름을 논하기 보다는 영역상의 특징을 빗대어 봤을 때 타 영역에서 처리 가능한 부분을 굳이 다룸으로 인해 하나의 장비로 큰 영역을 처리할 수 있는 장점은 있지만, 반대로 오탐의 가능성이 높아지고 타 영역과의 오브랩이 발생할 수 있는 점을 고민할 필요가 있다고 생각한다.

예를 들면, 네트워크에서는 전달이 아닌 처리의 영역(어플리케이션)에 대한 데이터를 검증하고자 할 경우 가장 큰 문제점은 데이터의 속성을 확인할 방법이 없다는 점이다.

특정값이 인증이나 권한에 관련된 값인지 아닌지를 네트워크 상에서는 이해하기가 매우 어렵다. 물론 회사 전체에 기준을 명확하게 정의하고 모두 같은 컨셉으로 개발할 경우, 패턴 등록으로 가능할지도 모른다.

또한 숫자인지 문자여야 하는지 등에 대한 판단 자체가 네트워크에서는 매우 어렵다. 이 때문에 많은 네트워크 탐지 솔루션들의 경우 오탐이 너무 많아서 분석에 매우 어려움을 가중시키고는 한다.

필자가 예전에 봤던 특정 기업의 관제 화면중 웹방화벽 로그가 초당 수십건이 올라가는 화면은 매우 충격적이었다. 다만, 어플리케이션 레이어에 대한 지원은 기존 장비를 수정하기 어려운 경우 매우 도움이 되기도 한다.

따라서 장단점에 대한 고민을 충분히 하고 가시성 확보에 대한 측면에서 트레이드오프를 통한 의사결정이 필요하다고 생각한다. 단순히 설치하면 잘 되겠지가 아니어야 한다는 말이다.

결론적으로, 네트워크 로그를 이용해서 분석해야 할 가장 이상적인 부분은 전달자 입장에서 봐야 할 가용성이 될 것이다.

일반적으로 OSI 7 레이어에서 5계층까지는 분석에 오류가 거의 없고 명확하기 때문에 이 부분에 대한 가시성 확보는 명확하다 하겠다. 서버간에 문제가 없는지, 트래픽의 흐름의 방향이 어디에서 어디인지, 몰래 흘러다니는 패킷이 무엇인지 패턴보다는 비정형 행위에 대한 감시가 업무에 더 효과적일 수 있다는게 필자의 생각이다.

추가적으로 보안장비 로그의 최대 단점은 자산 맵핑조차 안되어 있는 경우에는 공격 대상이 맞는지 조차 분석하지 못하는 문제가 있다.

예를 들면, 외부에서 내부 특정 서버로 80 패킷이 들어왔는데, 보안장비가 공격이라고 탐지했지만, 해당 서버에는 80 서비스가 없다는 것이다. 물론 자산에 대한 맵핑이 잘 되어 있는 경우에는 가능할 수 있다. 이러한 공격의 탐지는 위협의 관점보다는 관리상 이슈로 정보 제공 되어야 할지도 모른다.

또한 정작 패턴을 우회한 공격이 아니라면 해커 입장에서 보안장비로 인해 성공할 수 없다는 점이다. 즉 공격에 성공했다는 의미는 보안장비에 탐지되지 않았다는 의미이므로, 보안장비의 로그중에는 실제 공격을 탐지 못할 수 있는 가능성을 내재하고 있다는 것이 로깅상의 특징이라고 할 수 있다.

그렇다면 로깅이 일어나다 사라지는 경우 우리는 반드시 엔드단의 로그를 분석해서 공격의 진위 여부와 성공 여부를 확인하지 않으면 안되는 것이다. 엔드단이라 함은 일반적으로 PC 또는 서버가 될 것이다.

엔드단의 로깅은 운영체제 또는 어플리케이션 서버에서 남기는 것으로 어플리케이션 자체가 남기는 것과는 다소 다르다. 하지만 대다수의 경우 서버측 로그는 기본 옵션만으로는 충분하지 못한 경우가 대다수다.

하지만 기본 옵션만 설정하고 사용하고 있는 것이 현실이다. 적어도 필자가 지금껏 봤던 서버중에서 로깅 기능을 최대한으로 활성화해서 사용하는 고객사는 1%도 안되었던것 같다. CPU는 사용율이 5% 미만임에도 불구하고 말이다.

즉 가장 확실한 정보를 수집할 수 있는 곳이지만, 자체적 사각지대로 우리는 충분한 시야확보를 하지 못하고 있다는 점이다. 우리가 보안활동을 보다 정교하고 의미있고 효과적으로 하기 위해서는 로깅 분석이 가장 중요함은 누구도 부인할 수 없을 것이라고 생각한다.

하지만 현재 솔루션들의 그러한 부분들에 대해서 충분히 고민하고 있는지에 대해서는 고민이 필요하다 하겠다.

필자가 솔루션 전문가는 아니지만, 적어도 필자가 보기에는 솔루션 조합으로 인해 사각지대 또한 중복이 너무 많은 것이 아닌가 하는 생각이 든다. 가장 큰 사각지대는 솔루션만을 무한신뢰하는 보안담당자 일지도 모르겠지만 말이다. 보안담당자로서, 자신의 네트워크 구성도를 떠올려볼 때, 얼마나 가시성을 확보하고 있는지 돌아보는 시간이 되기를 바란다.

로깅을 잘하기 위해서는 반드시 영역별 로깅에서의 장단점을 정확하게 이해해 역할분담을 명확하게 하는 것이 좋다고 본다.

네트워크에서는 어플리케이션을 제외한 모든 레이어 그리고 자산맵핑에 대한 고려가 필요하다고 판단되며, 보안장비는 목적과 위치 등이 고려되어야 하고, 무엇보다 오탐을 최소화하기 위한 노력이 필수로 반영되어야 한다. 또 엔드단의 경우에는 시스템에서 허용되는 범위내에서 최대한의 로깅이 가능하도록 설정되어야 하며 어플리케이션에서는 가용성, 기밀성, 무결성 외에 필요한 모든 로깅을 남겨야 한다.

이러한 정보가 유기적으로 잘 조합되어야만 가시성을 충분히 확보할 수 있을 것이다. 마지막으로 로깅 분석에 대한 업무를 전담할 수 있는 분석 전문가는 필수다. [글. 황석훈 타이거팀 대표]

★정보보안 대표 미디어 데일리시큐!★