보안위협에 대한 정량적·정성적 위험평가 방법

|

위험평가 시 다차원적으로 접근해야 효과 및 정확성 향상 가능
위험평가 방법 가운데 평판 위험에 대한 가중치 이해해야

SANS연구소는 글로벌 보안연구 및 교육기관으로 연구활동과 함께 다양한 교육 프로그램을 마련해 전 세계적으로 활동하고 있다. 이에 본지에서는 최근 사이버 공격에 대한 이해도를 높이고, 글로벌 보안위협 추세와 대응방안을 살펴보기 위해 SANS코리아의 협조로 SANS연구소의 유명 보안전문가들의 기고를 3회에 걸쳐 연재한다. [편집자 주]


연재순서-----------------------------------------

1. 시뮬레이션 환경에서 APT 공격결과 분석 - 롭 리

2. 침투시험 가치 극대화하기 - 브라이스 갤브레이스

3. 정량적 및 정성적 위험평가 방법 - 스테판 심스

------------------------------------------------


[보안뉴스=스테판 심스 SANS연구소] 위험평가 및 위험관리 분야는 운영, 감사, 컴플라이언스, 예산 등 사업적인 측면에서 다양하게 사용됨에 따라 점점 더 복잡해지고 있다. 그래서 보안전문가들이 조직내 많은 사업 부서에 위험평가를 하기 위해 필요한 모든 요소들을 정하고 논리적 근거를 찾고 있다.


조직에서는 합리적인 데이터 중심의 결과를 요구하고 있다. 보안전문가들이 최신 제로데이(Zero-Day) 공격에만 집중하고, 연구실에서만 머물러 있는 시대는 지나갔다. 보안전문가들도 이제는 바깥 세상에 노출되었으며, 고객, 직원 및 핵심데이터를 보호하기 위해 더 큰 책임을 감수해야 한다.


DNS(Domain Name Server)를 사용하는 이유는 사람들은 숫자로 되어 있는 IP 주소 대신 이름으로 된 인터넷 사이트를 접근하는 것을 선호하기 때문이라는 것을 알 수 있다. 예를 들어 64.4.32.7보다 www.hotmail.com을 기억하는 것이 훨씬 쉽다. 위험평가 분야에서 사업부서는 이름보다 숫자를 더 선호한다는 점이다.


단순한 숫자가 아니라 반복적이고, 내부적으로 일관성이 있는 숫자를 선호한다. 하지만 정보보호에서는 숫자에만 기반하여 최종 위험평가를 하면 분석결과가 좋지 않게 된다. 다양한 요소를 복합하여 위험평가를 하면 조직의 위협수준을 훨씬 더 정확하게 이해할 수 있다. 그래서 다차원적인 위험평가 관점을 가지면 관련된 위험을 평가할 때 복잡도 수준을 만들 수 있다. 이에 여기에서는 정량적 및 정성적 측정방법 개념을 소개할 예정이다.


정량적 위험평가

정량적 위험평가는 특정 위험에 대해서 금액으로 표시하고자 할 때 중요한 요소가 된다. 예를 들어 병원에서 하나의 데이터베이스에 1,000개의 환자 개인정보 레코드가 있다고 하자. 웹 서버는 이 데이터베이스에 직접 접속하고, 웹 서버는 DMZ 환경 또는 반쯤 신뢰할 수 있는 곳에 있다. 웹 서버가 데이터베이스와 통신하는 과정에서 해킹되어 1,000개의 환자 데이터가 노출될 수 있다.

사업영향 분석(BIA)를 통해 레코드 하나를 대체하는 비용이 3만원이라는 것을 알고 있다. 3만원이라는 비용에는 환자에게 사고사실을 알리는 것과 환자계정을 변경하고, 새로운 환자 카드를 발급하는 비용이 포함되어 있다. 그래서 모든 데이터가 해킹된다면 시스템의 최대 정량적 손실은 3천만 원이다. 이 정도면 크게 나쁘지 않는 결과다.

하지만 이것보다 고려해야 할 것이 더 많다. 정량적 위험이 항상 돈으로 표현이 되어야 하는 것일까? 답은 아니다. 20개 핵심 통제사항(www.sans.org/critical-security-controls
)을 살펴보면, 15개의 통제사항은 완전히 자동화될 수 있다는 점을 명심해야 한다. 사업부서 관리자를 위한 대쉬보드 또는 보고서로 생성·사용될 수 있는 내부적으로 일관성 있고 반복 가능한 숫자가 만들어질 수 있다.


정성적 위험평가

정성적 위험평가는 다양한 형식으로 문제가 되고 있다. 위의 예를 이용해서 추가적인 요소 및 위협 벡터에 대해서 소개한다. 1,000개의 레코드가 가지고 있는 데이터베이스가 1만개에서 5만개 레코드 수준으로 증가한다고 하자. 조직에서 여러 개의 그룹들이 매일 접근하고 수정하고 있으며, 운영 그룹에서 이 시스템을 통제하고 있다는 사실을 알게 된다.


어떤 부서에서 데이터 몇 개를 변경했으며, 복잡도가 크게 증가했다. 그런데 갑자기 누군가 사무실에 들어오는 것을 알아차렸다. 알고 보니 감사자이다. 관련 자료를 숨기려고 하는데, 감사자들이 들어와서는 데이터베이스에 있는 데이터가 저장 및 전송 시 암호화되지 않고 있다고 알려준다. 감사자는 또한 회사에 시스템이 개인정보보호 등 관련 법률을 준수하지 않았으므로 관련 문제점을 문서화하고 해결하라고 지시한 후, 90일이라는 시간을 주고 떠난다. 이제 우리는 최종 위험평가 방정식에 추가적인 위험평가 요소를 포함해야 한다.


여기서 우리는 시스템 또는 응용과정에서 존재하는 고유 취약점에 대해서 이해해야 한다. 시간을 줄이기 위해 데이터베이스와 연결된 웹 응용 인터페이스에 대해서 코드 분석을 수행했다. 코드 분석 결과, 웹 인터페이스가 SQL 인젝션으로 알려진 공격에 취약하다는 사실을 발견했다. 이 방법을 이용하면 악의적인 사용자는 SQL 구문에 데이터를 추가하여 허가되지 않은 데이터 또는 시스템에 접근할 수 있다. 만약에 웹 응용과정에서 사용자 입력 값을 필터링하지 않는다면 이러한 공격에 취약하게 된다.


시스템에 존재하는 취약점을 찾았기 때문에 해킹 당했을 때 발생할 수 있는 비용뿐만 아니라 실행 난이도 및 다른 요소들로 구성된 취약점 발견 가능성도 알아야 한다. 먼저 해킹되었을 때 발생할 수 있는 비용부터 계산해보자. 데이터베이스에 50만개의 레코드가 있기 때문에, 최악의 시나리오를 가정해 보자.


50만개×3만원(레코드당) = 150억원이다. 이 값은 위험과 관련된 정량적 값이다. 이러한 방식은 단순한 1차원적인 계산식이다. 1,000억원을 안전한 창고에 저장하고 있다고 해서 범죄자가 훔치지 못한다는 것은 아니다. 다시 이것을 정량적으로 분석해보자. 먼저 취약점에 위험수준을 할당해야 한다. 대부분의 기관에서는 3단계 또는 5단계 위험수준을 가지고 있다. 간단하게 하기 위해서 낮음, 중간, 높음 등 3단계를 이용하자.


정량적 및 정성적 데이터를 어디서 구해야 하는가? 많은 보안전문가들이 침투시험 및 취약점 스캐너에서 관련 정보를 얻는다. 여기서 얻은 정보는 괜찮지만 전부는 아니다. 시스템을 분석하고 관련 정보를 획득하는 데는 외부 관점, 내부 관점, 그리고 사용자 관점 등 3가지 관점이 있다. 외부 관점이란 운영체제 외부인 네트워크에서 수집되는 정보이다. 내부 관점은 운영체제에서 직접 수집되는 정보이다. 여기서는 운영체제에서 동작하는 에이전트가 필요하다. 에이전트는 맥아피 HIPS 제품, Bit 9 또는 시큐니아 PSI 제품들이 있으며, 이 에이전트가 SIEM 또는 콘솔로 정보를 보내준다. 마지막으로 시스템의 사용자 활동과 관련된 정보가 있다. 사용자들이 방문하는 곳, 행위 정보 및 클릭하는 정보들이다.


이 정보를 모두 합쳐보자. 지금까지 분석 환경에서 다음과 같은 것을 알고 있다.


·데이터베이스는 1만개에서 50만개 레코드가 가지고 있다.

·레코드는 한 개당 3만원의 가치가 있다.

·데이터는 저장 및 전송 시 암호화되지 않고 있다.

·다양한 사업부서에서 데이터에 접근하고 변경한다.

·시스템은 운영 그룹에서 관리한다.

·감사팀에서 암호화 문제를 문서화하고, 관련 통제사항을 적용하라고 한다.


마지막으로 전체적인 위험평가 방법을 소개한다. 평판 위험은 사업에 대한 부정적인 결과가 공개되어 투자자 및 고객 또는 매출에 미치는 영향이다. 현재 환경에서는 시스템 또는 네트워크가 해킹되어 고객데이터가 공개되는 것이다. 이 결과로 인한 부정적인 영향은 정량적 위험 평가와 관련된 금전적 손실을 초과할 수 있다. 이 요소는 위험평가 전체 평가 시에 반드시 고려되어야 한다. 회사내 법률 부서에 연락하여 이 문제를 논의할 때 회사의 평판 위험에 대한 가중치를 이해해야 한다.


여기서 전체 위험평가시 사용되는 많은 요소들을 소개했다. SQL 인젝션을 통한 외부자 위협, 이 취약점을 이용한 공격은 시스템 로그나 침입탐지 시스템이 탐지하지 못할 수 있다는 사실과 50만개의 레코드가 해킹되었을 때 발생할 수 있는 평판 위험과 이 공격 벡터가 반복해서 발생할 수 있는 확률 등이 주어졌을 때 정성적 위험은 ‘높음’으로 평가할 수 있다. 정량적 위험평가 값은 150억원이고, 정성적 위험은 ‘높음’이다.


여기서 조직의 고위간부는 도출된 위험평가 결과를 수용할지를 또는 위험평가 결과를 낮출 수 있는 지에 대해서 고민할 수 있다. 여기서 잠시 SANS 보안 기초 과정(SEC 401, www.itlkorea.kr/sans/sec401.php)에서 다루는 단일 손실 기댓값(SLE)을 계산하는 방법에 대해서 알아보자.


먼저 자산의 가치를 파악한다. 이 경우 하나의 레코드 가치는 3만원이다. 그리고 노출요소를 파악한다. 여기서 노출요소는 50만개의 레코드이다. 자산가치와 노출요소를 곱하면 150억원의 값이 나온다. 이 방정식이 SLE 방식이다. 그리고 다시 연간 손실 기댓값(ALE)을 반드시 계산해야 한다. 그래서 1년에 몇 번 발생할 수 있는지를 추측한다. ALE를 계산하기 위해서는 SLE와 연간 발생 비율(ARO)를 곱한다. 여기서 문제점은 데이터베이스 시스템이 새로 구축되어 과거의 경험에 의한 유용한 위협정보가 없다는 것이다. 이러한 공격 발생 가능성을 줄이기 위해 통제사항을 새롭게 구축하는 비용이 전체 해킹으로 발생할 수 있는 전체 금융 손실에 단지 일부분에 불과하다고 한다면 위협을 적절하게 해결할 수 있다.


위험 완화 권고사항을 제출하면, 회사에서는 데이터베이스를 위협하는 트래픽에 경고를 주기 위해 적절한 침입탐지 시그너처를 만드는 데 투자할 것이다. 호스트 기반의 침입예방 시스템(HIPS)이 웹 응용 서버 및 데이터베이스 서버에 설치될 것이다. 그리고 칼럼 데이터 암호와 전송 데이터 암호화를 위해 별도의 프로젝트가 진행될 것이다. 이와 함께 회사에서는 코드 분석에서 발견된 사항을 수정하기 위해 6개월 간을 투자할 것이다.


여기서 고유 위험수준이 ‘높음’에서 ‘중간’으로 낮출 수 있다는 것에 만족할 수 있다. 그리고 침투시험을 통해서 IDS와 HIPS가 정상적으로 동작하고 공격을 차단할 수 있는지 확인해야 한다. 코드 상에서 발견된 취약점이 수정된다면 좀 더 자신감을 가질 수 있으며, 잔류 위험 수준은 ‘낮음’으로 변경될 수 있다.


위험평가에서 가장 흥미로운 점은 우리가 직면하는 각각의 환경에서 위험수준을 결정하기 위해 각 조직에 맞는 기준이 필요하다는 것이다. 위의 예를 통해서 저장 또는 전송 시 암호화하지 않는 것과 관련된 내부 위험 벡터도 고려되어야 한다. 취약성을 평가하기 위해 필요한 여러 가지 요소들을 교육하면 효율성과 일관성이 확실히 높아지게 된다. 위험평가 시 여기에서 언급된 영역을 포함하여 다차원적으로 접근하면, 위험평가 효과와 정확성을 확실히 높일 수 있다.


필자는---------------------------------------------------------

스테판 심스(Stephen Sims), SANS 공인강사


스테판 심스는 정보기술 및 정보보호 분야에 15년 이상의 전문가 경력을 가지고 있다. 스테판은 현재 샌프란시스코에 있는 웰즈 파고에서 보안 아키텍트로 근무하고 있다. 스테판은 공격기법 개발과 리버스 엔지니어링 분야에서 수년간 일을 했다. 스테판은 노르위치 대학에서 정보보증 석사학위를 가지고 있으며, SANS 연구소에서 교육 교재 개발 및 공인강사로 활동하고 있다.

스테판은 SANS의 700 수준의 SEC710 : 고급 공격기법 개발과정 개발자로, 이 과정은 힙 오버플로우, 패치 디핑 및 클라이언트 측 공격에 관한 교육과정이다. 또한, 스테판은 SEC 660 : 고급 침투 시험, 공격기법 및 윤리적 해킹의 선임 코스 개발자이기도 하다. 스테판은 GIAC 보안 전문가 자격증(GSE)과 CISSP, CISA 및 Immunity NOP 및 다수의 자격증을 보유하고 있으며, 오는 11월 개최되는 ‘SANS Korea 2012(www.itlkorea.kr/sans/sanskorea2012.php)’에서 SEC 401 : 보안 기초 과정(www.itlkorea.kr/sans/sec401.php)을 강의할 예정이다.

------------------------------------------------------------------



<저작권자: 보안뉴스(http://www.boannews.com/) 무단전재-재배포금지>

 

And