최근 온라인에 흥미롭고 통찰있는 질문 하나가 올라왔다:
"수학자도, 통계학자도, 데이터 과학자도 아니지만, 버라이즌의 데이터 유출 조사 보고서(DBIR)가 틀렸거나 하자가 있다고 생각하는 똑똑한 사람들이 있다. 그들은 매우 열정적이고 격정적이다. 단절은 어디에 있는가? 데이터의 통신에 있나? 방법론적인 문제인가?"
나는 이 질문에서 DBIR (내가 2011년부터 2015년까지 함께 집필한)을 “공공 연구"로 바꿀 수도 있을 것 같다. 왜냐하면 이건 특정한 하나의 발표에만 국한된 것은 아니기 때문이다. 또한 사이버 보안은 그것을 뚫기 위해 고용된 사람들이 가득하고 공개적인 망신이 보안 사고방식에 깊숙히 뿌리박힌 상태이기는 해도, 사이버 보안에 국한되었는지는 의문이다. 하지만 나는 그것에 대해 깊이 생각하지는 않을 것이다. 대신에, 공공 연구를 발표하거나 소비하고, 우리의 사이버 보안에 대한 이해를 개선하기 위해 우리가 소비자, 또는 생산자로서 어떤 역할을 해야 하는지에 대해 초점을 맞추고자 한다.
통계와 확률은 직관적이지 않다.
우선, 통계학과 공공 연구의 비판 사이에 있는 격차에 대해서 말해야 할 것 같다. 이러한 격차는 통계 분석에 대한 이해가 부족한 데에서 나타나며, 논쟁이 논리적인 것 같아 보이는 것이 문제를 더 크게 만든다. 그럴듯한 관습적인 생각들과 연구에 대해 의심하는 것이 상대적으로 말을 만들기에 더 쉽기 때문이다. 하지만 이건 큰 해를 끼치기 마련인데, 왜냐하면 통계, 특히 확률은 상식에 반하는 경우가 많기 때문이다. 직관이 비교적 평온하게 잘 동작한다 하더라도, 직관만으로 무장한 채 어떤 연구를 비판하는 것은 대게 재앙이 되기 마련이다.
이건 특히 엔지니어링이나 프로그래밍 배경을 가진 사람들(우리가 흔히 사이버 보안에서 가지고 있는 사람들처럼)에게는 도전적인 일이 될 것이다. 상식은 우리에게 2 + 2는 늘 4라고 얘기한다. 우리가 코드를 컴파일해서 2 + 2라는 코드를 아무리 계속 실행해보아도, 답은 언제나 4이다. 하지만 우리가 실세계의 어떤 현상을 측정하려고 할 때, 모든 것을 측정하기는 불가능한 경우가 많다. 그래서 우리는 어떤 조각이나 샘플을 사용하게 되고, 그리고 근사치를 사용하게 된다. 다른 말로, 거대하고 복잡한 시스템에서 2 + 2를 관찰하면 정확하게 4가 결과값으로 나오는 일은 거의 없다. 하지만 좋은 소식은, 실제 값에 가까운 근사치를 얻을 수 있다는 것과, 2 + 2는 0.3 에러 마진인 3.9가 될 수도 있다는 것이 제한된 범위 내에서 우리의 불확실성을 줄여줄 수 있다는 것을 이해할 수 있을 만큼 진화해 왔다는 것이다.
2 + 2 = 3.9라고 어딘가 나와 있는 것이나, 그게 정답이라고 말하는 멍청이들이 보이는 것을 쉽게 발견할 수 있다. 그렇지 않은가? 하지만 이건 우리가 실세계의 현상을 묘사하기 위해 데이터를 분석할 때 실제로 많이 마주하게 되는 일이다. 무슨 일이 벌어지고 있는지 밝혀내고자 할 때, 데이터들은 엉망이고, 노이즈가 심하며, 협조적이지도 않다.
그리고 우리는 사이버 보안 데이터를 다루는데 큰 문제가 있는데, 우리는 보통 편의표본추출로 추출된 데이터로 제한되기 때문이다. 이것은 우리가 접근할 수 있는 데이터로 분석할 수 있는 데이터가 제한된다는 것을 의미한다. 우리는 우리 회사의 로그에 남아 있는 공격, 그룹에서 공유하는 지표, 혹은 특정한 공급자의 고객들이 생성하는 데이터에만 접근할 수 있다. 그 결과 데이터에는 편향이 생기게 되고, 이러한 샘플 편향을 해결하기 위해서는 다양한 관점에서 데이터를 얻는 방법 밖에 없다. 하지만 이게 편의표본추출에서 얻은 것들을 모두 버려야 한다는 것을 의미하는 것은 아니다 - 그냥 서로 다른 관점에 있는 것일 뿐이다. 왜냐하면 편의표본추출은 다양한 관점에 의해 개선되기 때문이다. 우리는 뭔가 발표하고 싶거나 공유하려는 모든 공급자들의 관점을 이용해야 한다. 간단히 말해서, 우리가 가진 데이터를 모아서 작업을 하고, 토의하는 일들을 더 잘 해야 한다는 것이다.
“공공” 연구는 공개적인 이유가 있다
연구는 어렵고, 좋은 연구는 더 어렵다. 연구가 어려운 이유 중의 하나는 연구가 데이터에게 속아 넘어가기 쉽기 때문이다. 가벼운 실수나 문제는 연구의 모든 단계에서 나타날 수 있으며, 그로 인해 데이터를 잘못 이해할 확률을 줄이는데 초점을 맞추게 된다. 하지만 그게 정말 큰 문제는 아니다. 정말 큰 문제는 당신의 발견을 다른 사람에게 설명하는 것이다. 왜냐하면, “공공” 연구를 할 때, 대부분의 사람들은 어떤 방법으로 연구했는지 신경쓰지 않는다 - 오직 결과만 신경쓴다. 하지만 결과와 방법을 분리해서 생각할 수는 없다. 또한 연구자들은 공공연구를 고의로 읽기 쉽고, 재미있거나 흥미롭게 받아들여지도록 설계하기도 한다. 만약 공공 연구가 모든 의사결정 과정이나 세부적인 내용을 설명하는데 시간을 소비한다면, 그 연구는 흥미도 덜하고 덜 유명하게 될 것이다.
이것은 더 많은 사람들에게 다가가고자 하는 욕망을 가진 사람들이 주의를 기울이지 않은 덕에 생겨난 것으로, 양쪽 모두를 분노하게 만든다. 공공연구의 생산자들은 접근 가능한 내용을 만들어내기 위해 연구를 하지만, 소비자들은 충분한 피드백을 제공하기 위한 기반을 가지고 있지 않다. 하지만 데이터가 속일 수 있는 (그리고 기만적이고 이기적인 발표의 가능성에 의한) 안일함을 생각한다면, 공공 연구의 나쁜점을 쉽게 생각할 수 있을 것이다.
사과 소스와 오렌지 휘핑 비교하기(실제로는 비교할 수 없는 것을 비교한다는 뜻)
2 + 2로 얘기를 이끌어가는게 터무니없어 보이겠지만, 우리가 하려는 일을 한번 생각해보자. 우리는 시간이 지남에 따라 계속 변화하는 환경을 측정하려고 한다. 관측치는 관점에 굉장히 의존적이며 전세계에 걸쳐, 대부분의 조직과 나라에 퍼져 있다. 그리고 이 데이터들은 수천가지의 표준과 분류법, 그리고 엄격하지 않은 용어들로 가공되어 있다. 사이버보안의 세계에 온 걸 환영한다. 이곳은 두 연구가 서로 모순되는 것을 기대할 수 있을 뿐 아니라, 그 모순은 서로 다른 버전의 진실을 이야기하고 있음을 받아들이고 축하해야 하는, 이제 막 태동한 복잡한 세상이다.
예를 들어, 두 연구 발표의 결과가 서로 대치될 때, 연구가 얼마나 잘못됐는지 밝히려는 이러한 시도도 있다. 버라이즌의 데이터 유출 조사 보고서는 국내의 10%의 사건이 밝혀졌다고 보고하고 있지만, 트러스트웨이브 세계 보안 보고서는 41%라고 말하고 있다. 이것은 분명히 어딘가 잘못된 것이다. 그렇지 않은가? 어떻게 두 연구가 이렇게 다를 수 있을까? 버라이즌은 다양한 출처로부터 받은 6,133건의 사건 데이터를 가지고 있지만, 트러스트웨이브의 경우는 트러스트웨이브 연구기관에서 얻은 수백개의 데이터를 가지고 있다. 둘 다 틀리진 않았다. 그들은 각자가 할 수 있는 최선의 상태에서 각자의 관점을 보고한 것이라고 생각하면 안심이 된다. 우리가 깊이 파내려가보면, 버라이즌의 경우 10% ~ 30% 사이의 시간이 흐름에 따른 트렌드를 보여주고 있는 반면, 트러스트웨이브는 작년에 19% 였다는 것을 보고할 뿐이다. 그럼 이것은 트러스트웨이브가 본 것 중 41%는 잘못되었고, 이것에 대해 부끄러워해야 할 것이다… 맞나? 절대 그렇지 않다. 이들은 더 큰 그림의 서로 다른 두 부분을 나타내고 있음을 받아들이고, 이러한 연구가 계속 발표되고 논의되도록 지지해야 한다.
공공 연구 생산자와 소비자들을 위한 마지막 인사
공공 연구의 소비자와 생산자들은 각각 수행해야 할 역할이 있다. 소비자들은 어느 어느 정도의 연구 투명성을 기대해야 하며, 연구자들은 사람들의 신뢰와 관심을 모두 얻을 수 있도록 열심히 연구해야 한다. 훌륭한 공공 연구란:
얼마나 많은 데이터가 분석되었는지 밝혀야 한다: “수백개의 데이터를 사용”했다는 식의 표현은 200개와 900개의 샘플의 영향력이 명확하게 차이가 나는 것에서 볼 수 있듯이, 별 도움이 되지 않는다. 표본 크기가 언급조차 되지 않는 것은 더 나쁘지만, 이건 언급할 가치도 없다. 공공 연구는 얼마나 많은 데이터를 수집했는지에 대해 논의해야 한다.
데이터를 어떻게 수집했는지 밝혀야 한다: 연구자들은 데이터를 어디에서 얻었는지 밝혀야 하고, 그 데이터에 있을 수 있는 편향에 대해 논의하는 것을 두려워해서는 안된다. 이것은 몸이 젖는 것에 대해 논의하는 것을 피하려는 수영 선수와도 같다. 모든 데이터 샘플들은 어느 정도의 편차가 있기 마련이고, 그렇기 때문에 우리는 얻을 수 있는 데이터들을 모두 수용하면서, 이로 인해 나타날 수 있는 관점들에 대해서 논의해야 한다.
용어와 분류의 방법을 정의해야 한다: 이벤트, 사건, 유출과 같은 일반적인 용어라도 서로 다른 독자들에게 엄청나게 다른 의미로 읽힐 수 있다. 연구자들은 독자들이 연구자들이 생각하는 것을 이해하고 있다고 가정해서 생기는 혼란을 피해야 한다.
솔직하고 도움이 되어야 한다: 연구자들은 많은 독자들이 발표된 연구 결과를 마음 깊숙히 받아들인다는 것을 기억해야 한다. 의사 결정을 하거나, 시간을 보내고, 손을 쓸 때 영향을 준다. 그 힘을 사용하기 전에 응당 가져야 할 책임감을 생각해야 한다. 소비자들은 연구자들과 관계를 맺고 질문을 해야 한다. 연구자들에게 최고의 경험 중의 하나는, 연구에 흥미가 있고 그것에 대해 말하기 좋아하는 독자들과 관계를 맺고 그것으로 연구를 개선하는 것이다.
마지막으로, 공개적으로 비난하는 것을 잘 하고, 쌓아올리는 것 보다 헐뜯는 게 훨씬 더 쉬울지 몰라도, 우리는 공공 연구를 계속 지지해야 한다. 왜냐하면 연구 논문이 편의표본추출에 의해 편향되어 있거나 당신이 연구하던 것과 다른 관점과 맞지 않다 하더라도, 괜찮기 때문이다. 우리의 학습하고 개선할 줄 아는 능력은 어느 한 연구자에게서 오는 것이 아니기 때문이다. 그대신, 연구의 강점은 모두가 함께 수집한 샘플로부터 나온다. 그러니 나가서, 당신의 데이터를 공개하고, 당신의 연구를 공유하고, 그 복잡함을 축하하라.
***
원문 : Navigating statistical data and common sense
역자 : 한승균
이전 글 : 모의해킹 - 취약점이 도출 안될 때 대응 자세는?
다음 글 : 디자인 패턴 다시 보기: 관찰자 패턴 (2/2)
최신 콘텐츠