모의해킹의 중요 요소인 '연결 고리'를 잘 활용하여, 모의해킹의 효과를 최대화하기 위해서는 다음과 같은 단위로 모의해킹을 수행하는 것을 권한다. (하나의 예일뿐 절대적인 단위는 아니다.)
  • 네트워크 단위
  • 시스템 단위
  • 애플리케이션 단위
네트워크 단위에 대한 모의해킹 수행조직 전체 또는 일부 구역의 보안 위협을 도출하고자 할 때 적합하다. 모의해킹을 한번도 수행해보지 않은 조직이라면 적극적으로 권하는 방법이다. 보안 진단은 '전수 검사'를 수행하기 어렵기 때문에 중요도 또는 샘플링을 통해서 일부 시스템을 대상으로 한다. (요즘은 보안 컨설팅이라는 것이 많이 변질되어 SI 용역 비슷하게 전락하였다. '전수 검사'를 해준다고 하지만... 현실적으로 말이 안되는 요청이며, 제안이다. 왜 이러한 요청이 말이 안되는 지와 누구에게 책임이 있는지에 대해서는 다음에 또 언급하고자 한다.) 관리자의 무관심이나 실수 또는 규정 위반자 등의 다양한 원인으로 취약한 시스템이 방치되는 경우가 많다. 항상 보안 사고는 관리되지 않거나 예외적인 시스템으로 인해 발생한다. 따라서 시간과 비용이 많이 들더라도 1년에 한번 정도는 이러한 단위의 모의해킹을 실시하여, 외부와 내부의 중요 영역에 대해 보안 위협을 파악할 것을 권하고 싶다. 이는 조직의 보안 위험을 파악하고 사고를 예방하는 데 큰 도움이 될 것이다. 

시스템 단위의 모의해킹은 현재 주로 이루어 지고 있는 형태이다. 특정 시스템 몇 개를 선정하고 그 시스템의 보안 위협을 도출하고자 할 때 적합하다. 이 방식은 처음 모의해킹을 수행하는 조직엔 적합하지 않은 방식이다. 이는 네트워크 단위의 모의해킹을 수행한 상황에서 신규 시스템이 도입되거나 중요 시스템에 대해서 보다 깊이 있게 보안 위협을 도출하고자 할 때 적합하다. 동 네트워크에 대한 보안 점검 또는 모의해킹이 수행되지 않은 상황에서 해당 시스템에 대해서만 모의해킹을 실시하는 것은 도움이 되지 못한다. 왜냐하면, 동 네트워크의 취약한 시스템에 의해서 보안 수준이 높은 시스템도 취약하게 되기 때문이다. 취약 수준은 항상 하향 평준화됨을 잊어서는 안된다. 예를 들어 A라는 회사의 관리되지도 않고 비즈니스에 큰 비중도 차지하지 않는 시스템이 침해사고를 당했다고 해보자. 관리자 또는 회사 내부에서는 “별로 중요하지도 않은 시스템인데 뭘...”이라고 생각할지 몰라도, 언론에서는 "A 회사 해킹 사고 당해 ...”이라고 다룰 것이다. 이러한 정성적인 이유뿐만 아니라 기술적인 이유에서도, 동 네트워크의 시스템이 침해를 당한다면 스니핑, 신뢰성을 이용한 내부 시스템 침해 등 매우 심각한 보안 위협이 발생할 수 있다는 잊어서는 안될 것이다. 
시스템 단위의 모의해킹을 수행할 때도 연결 고리는 매우 중요하게 작용한다. 대상 시스텍으로 선정된 시스템의 연관성, 해당 시스템에서 구동 중인 서비스 또는 프로프램의 연관성은 보안 위협을 도출하는 데 중요한 요소가 된다. 

애플리케이션 단위의 해킹은 몇 년전부터 유행하고 있는 웹 해킹과 같은 형태이다. 특정 애플리케이션(도메인 또는 URL)을 선정 또는 지정받아 수행하는 것으로 이는 네트워크와 시스템에 대한 보안 수준이 어느 정도 보장되는 환경에 적합하다. 애플리케이션에 대한 모의해킹을 수행 할때는 애플리케이션에서 제공하고 있는 기능들이 주요 연결고리를 이용하여, 보안 위협을 도출하게 된다. 특정 기능(파일 업로드, 데이터베이스 연동, 로그인 등)의 보안 취약점으로 인해서 얼마만큼 심각한 보안 위협이 발생할 수 있는 지를 파악하는 것이 주요 포인트이다. 

이와 같이 여러 단위로 모의해킹을 수행함에 있어서 추가적으로 중요한 요소는 고객의 비즈니스이다. 모의해킹은 보안 위협을 도출하기 위한 것으로 단순히 기술적인 수준의 취약점만을 도출하는 것에 그쳐서는 안된다. 취약점 간의 연결고리와 더불어 고객의 비즈니스 위협이 연결되어야 보다 더 현실적인 보안 위협들이 도출될 수 있다.  

PS. 다시 한번 강조하자면, 모의해킹이란 “안전합니다”라는 보장을 받기 위한 것이 아니라, 현재 상태에 초점을 두고, 보안 취약성 간의 상호 연관성과 이로 인해서 발생할 수 있는 피해를 파악하기 위한 것임을 강조하고자 한다.  


신고
보안 컨설턴트 or Penetration Tester로서 시간이 거듭하면 할 수록 부딪치는 어려움 중에 하나는 모의해킹에 대한 인식 부족이다. 고객 뿐만 아니라 보안 컨설팅 회사, 심지어는 모의해킹을 수행하고 있는 사람들 조차 잘못된 인식의 틀을 가지고 있는 것이 현실이다. 

잘못된 인식의 틀에서 현재의 모의해킹은 많이 왜곡되어 가고 있는 것 같다. 

그 잘못된 인식 중에 하나는 바로 모의해킹을 '형식'이라는 틀에 고정 시키려고 하는 것이다. 

'해킹'이란 규칙을 깨는 것이고, 문제를 제기하는 것이며, 규정을 위반하는 것이라고 생각한다. 그런데 점점 모의해킹은 정형화되어 가고, 보안 진단과 별반 차이가 없어지고 있다.  보안 진단이란 모의해킹으로 인해 도출되는 다양한 보안 위험 중에서 그 도출 빈도수가 높고, 그 중요도가 높은 것들을 정형화하여, 이를 주기적으로 진단하고 관리하기 위한 것이다. 그런데 요즘은 모의해킹을 수행하는 방향 또는 요구하는 방향을 보면, 모의해킹을 요구하는 것인지 보안 진단을 요구하는 것인지 애매모호한 경우가 많다. 

모의해킹의 중요 요소는 바로 연결 고리를 이어하는 것이다. 즉, 개별적인 취약점들의 상호연관성과 중요도 등이 서로 맞물려서 결과가 나타날 때 모의해킹은 진정한 가치가 있다. 그런데 현실은 이와는 별 관계없이 돌아가는 것 같다. 보안업계에서 모의해킹 전담 또는 팀은 사라져가고, Generalist가 되어가고 있는 것 같다. 따라서 모의해킹은 그 목적과 특징을 충분히 살려서 좋은 결과(예상치 못한 위험이나 금전적 손실 등을 사전에 탐지하고 대응)를 도출하기 보다는, 기계적인 수행을 하고 보안진단과 별반 차이가 없는 점검을 실시하는 경우가 많다. 

애플리케이션이 어떤 기능을 가지고 있는 지 알지도 못하면서, 단순히 기술 위주의 점검을 실시한다.  스캐너의 결과를 단순히 리뷰하는 수준에 그치는 경우도 있다. 이렇게 되다보니 이제는 모의해킹을 단순히 도구(스캐너 또는 특정 공격을 위해 제작된 도구)로 수행하는 것이라고 생각하는 인식들까지 일반화되어가고 있다. 

모의해킹을 제대로 수행하기 또는 적용하기 위해서는 우선 목적이 명확해야 한다. 목적이 애매모호해지거나 두 마리 토끼를 잡으려 하는 것은 자제했으면 하는 바람이다. 앞서도 얘기를 했지만 모의해킹의 중요 요소로서 연결 고리를 잇는다는 것은 다음과 같이 설명할 수 있다. 흩어져 있는 취약점들은 보안 진단을 통해서도 충분히 도출될 수 있는 것들이 많다.(일부는 기존의 취약점 진단 방법론에서 하지 못하는 것도 있다.) 그러나 보안 진단과 모의해킹의 결과는 확연히 다르다는 것을 두 가지 서비스를 받아본 사람이라면 느낄 것이다. 그 차이는 바로 연결 고리에서 나온다. 보안 진단은 개별 시스템에 초점이 맞춰져 있는 반면, 모의해킹은 단계별(정보 수집->권한획득->권한 오용 또는 상위 정보 획득)로 필요한 취약점들을 연결에 연결을 시키는 것이다. 취약점은 굳이 시스템적인 것에 한정되지 않으며, 취약점은 단순히 목적을 이루기 위한 수단에 지나지 않는다.

예를 들어 설명하자면, 서버 A와 서버 B를 대상으로 보안 진단과 모의해킹을 실시했을 경우, 보안 진단에서 아래와 같이 도출된 취약점들이 모의해킹에서는 다른 결과를 나타낼 수 있다는 것이다. 보안 진단의 결과에서는 큰 보안 위험으로 다가오지 않는 결과이지만, 모의해킹을 수행한 결과로서는 매우 심각한 보안 위험이었음을 알 수 있다. (아래와 유사한 사례를 직접 경험한 적이 있음을 강조하고자 한다.) 
  • 보안진단
    • 서버 A: 불필요한 서비스 존재 
    • 서버 B: 불필요한 파일 존재
  • 모의해킹
    • 서버 B에서 획득한 정보를 바탕으로 서버 A의 telnet 서비스를 통해 시스템 관리자 권한을 획득하고, 신뢰 관계에 있는 서버 B의 일반 계정을 획득함.
모의해킹의 중요 요소인 '연결 고리'에 대해 문제를 제기하는 수준에서 이 글은 마감을 하고, 다음 글엔 바람직한 모의해킹 수행 방안을 얘기해보고자 한다. 

PS. 이전에도 언급을 했지만 이 글은 보안 진단과 모의해킹 중 어느 것이 낫다는 것을 말하고자 하는 것이 아니다. 보안 진단은 보안 진단으로서의 장점과 역할이 있으며, 모의해킹은 모의해킹으로서의 장점과 역할이 있다. 이를 충분히 알리고 컨설턴트는 컨설턴트로서 제대로 된 서비스를 하고 고객은 이를 통해 안전한 서비스 제공을 할 수 있었으면 하는 바람이다. 
신고
보안 진단(네트워크 진단, 시스템 진단, 웹 진단, 등)과 모의해킹의 구분이 모호해지고 있음을 접하게 된다. 이러한 현상은 고객사에서 뿐만 아니라 보안 회사에서도 발생하고 있어, 오랜 시간동안 이 문제에 대해서 고민하게 되었다. 이 글은 보안 점검(보안 진단과 모의해킹을 통합하는 의미로 '점검'이라는 단어를 사용하기로 하겠다.)을 서비스 받는 이용자와 서비스 제공자 모두를 대상으로 한다.

이 글을 읽고 왜? 보안 점검을 실시하는 지를 각 점검을 계획, 실시하기 전에 반드시 고민해보았으면 한다.

보안 진단과 모의해킹의 차이를 한 가지 예를 들어 살펴보자. 병의 발생을 막기위한 방법을 크게 두 가지로 구분해보자. 혈액 검사, X-ray 등과 같은 검사를 통해서 주기적으로 환자의 건강 상태를 점검하여 발병을 사전에 예방하는 방법과, 예방 접종을 실시하여 병에 대한 면역력을 길러주는 방법이 존재한다. 예방 접종이란 병의 근원이 되는 바이러스를 몸에 침투시켜 면역성을 높이는 것으로, 체질이 특이할 경우 사고가 발생할 수 있으므로 사전에 주의가 요구되는 위험성이 존재하는 방법이다. 앞서 설명한 건강 관리는 보안 점검에 해당 되며, 예방 접종은 모의해킹에 비유될 수 있다. 건강한 몸을 유지하는 것이라는 광의의 목적은 동일하지만, 건강 검진과 예방 접종은 엄연히 그 역할과 목적이 틀리다.

최근 느끼는 것은 사람들이 예방 접종을 만병 통치약으로 생각한다는 것이다. 모든 것을 모의해킹으로 푼다는 것이 얼마나 잘못된 인식에서 비롯된 것인가를 알지 못한다. 다시 한번 강조하지만, 모의해킹은 만병통치약이 아니다.

오늘은 보안 진단과 모의해킹의 목적에 대해서 살펴보자.
보안 사고(피해)는 아래 그림과 같은 과정을 거쳐서 발생하게 된다. 공격자가 정보를 획득하고, 이를 통해서 관리자 또는 특정인의 권한을 획득한다. 획득한 권한을 이용하여 개인정보 노출, 또는 기업의 주요 정보가 노출되거나 특정 권한이 악용되어 다양한 피해가 발생하게 된다.
피해 발생 과정과 보안 점검의 주요 영역

보안 진단은 권한 노출이나 피해가 발생하지 않도록 사전에 위험을 제거하는 것이 가장 큰 목적이다. 따라서 피해를 발생시킬 수 있는 정보의 노출이나 권한 노출의 원인이 될 수 있는 것들이 존재하는 지를 파악하여 위험을 제거하게 된다. 이때, 빠짐없이 점검하기 위해 ”체크리스트”라는 것을 사용한다. 그리고 이 체크리스트의 위험도를 바탕으로 도출된 위험들을 하나둘씩 제거하는 것이다. 모든 작업이 완료되었을 때 해당 시스템(또는 환경)이 완벽하게 안전하다고 할 수는 없지만, 일반적으로 발생되는 위험들로부터는 어느 수준까지 안전할 수 있다. (보안 점검의 딜레마라는 것이 존재한다. 오늘까지 알려진 보안 위험들로부터 안전하다고 해서 내일도 안전하다고 할 수는 없다. 첫째, 내가 알고 있는 보안 위험이 세상에 존재하는 모든 위험이 아닐 수도 있다. 제로데이 익스플로잇 같은 것들은 소수의 사람들만 알고 있으며, 이것이 대외적으로 널리 알려지기까지는 시간이 걸린다. 둘째, 내일 새로운 위험이 등장할 수 있기 때문이다.)
모의해킹은 현재의 보안 수준에서 얼마만큼의 피해가 어떠한 형태로 발생할 수 있는 지를 도출하는 것이다. 점검자는 가능한한 모든 수단과 방법을 동원하여 최대한의 피해가 발생하도록 시도한다. 모의해킹에서의 체크리스트는 보안 진단의 체크리스트와 틀리다. 비즈니스 로직 또는 환경에 따라서 수행 시나리오(체크리스트; 어떤 위치에서 어디를 대상으로 어떠한 경로를 따라서 특정 정보 또는 권한을 어느 수준까지 획득이 가능한가 등의 형태)를 구성한 후 다양한 방법을 활용하여 결과를 도출한다. 이는 점검자에 따라서 방법과 도출되는 피해의 차이가 발생한다.

보안 진단을 통해서 얻을 수 있는 것은 현재의 보안 상태와 문제점, 그리고 이를 차단할 수 있는 방법들로써, 보안 진단은 피해 발생의 초기 단계에서 정보 노출이나 권한 관리 영역을 중점적으로 관리할 수 있다는 이점이 있다. 모의해킹을 통해서 얻을 수 있는 것은 피해 규모 및 대상 등 결론적인 것들이다. 이는 임직원들에게 보안의 심각성을 일깨우게 할 수 있는 정량적 또는 정성적 기준이 될 수 있다. 또한 부가적으로 문제가 발생한 원인을 중심으로 보안 진단을 실시하여, 위험을 관리할 수 있다. 따라서, 보안 진단은 피해 발생의 원인이 되는 초기에 초점을 맞추어 진행되어야 하며, 모의해킹은 서비스를 이해하고 정보를 수집하여 발생 가능한 피해를 극대화하는 것에 초점을 맞추어야 한다.

모의해킹은 권한 또는 정보를 획득하고 피해를 직접 보여준다는 점에서 그 효과는 즉각적이며, 표면적으로 매우 화려하게 보인다. 보안의 진정한 목적, 정보 자산을 안전하게 보호하는 측면에서 살펴보자면, 현재 자신의 수준 또는 목적에 부합하는 보안 점검이 무엇인지를 알고 그에 맞는 보안 점검을 받아야 한다. 진단과 모의해킹은 목적성이 틀리므로 점검하는 사람 역시 그 목적에 충실한 수행과 결과를 도출할 수 있도록 노력해야 한다.
신고
이전 1 다음

티스토리 툴바