[ET시론]로스의 가르침

Photo Image
로스 앤더슨 교수

올해 3월 24일 영국의 암호학자이며 보안학자였던 로스 앤더슨(Ross J. Anderson) 교수가 67세의 젊은 나이에 세상을 떠났다. 필자의 연구에 가장 큰 영향을 주었던 학자 중 하나인 로스를 추모하며 그의 가르침에 대해 생각해 보고자 한다.

로스는 많은 실질적 영향을 주는 논문을 통해서 보안 분야에 기여했다. 'The Resurrecting Duckling'(1999) 논문에선 블루투스 같은 근거리 무선통신이 우리 생활에 많이 쓰일 것을 예상하고 안전한 설계를 위한 방향을 제시했다.

'Programming Satan's Computer'(2002)에서는 악의적인 공격자 관점에서 보안 시스템을 분석하고 취약점을 발견하는 방법론을 제시했다.

'TCPA/Palladium FAQ'(2003)에선 마이크로소프트(MS)의 신뢰플랫폼모듈(TPM)을 기반으로 한 차세대 보안 컴퓨팅 기반(NGCSB) 기술의 여러 가지 취약점과 문제점을 지적해 최근 유행하고 있는 하드웨어(HW) 보안 기술이 가질 수 있는 문제점을 가장 먼저 짚어냈다.

'Chip & Pin is broken'(2010)에선 당시 EMV 표준인 칩앤드핀(Chip & Pin) 기술에 심각한 보안 문제가 있음을 입증했다. 이 기술을 쓰면서 보안 사고가 났을 경우 책임을 소비자에게 돌리려고 했던 영국 정부의 정책이 틀렸음을 입증했다.

재미있거나 때로는 심각한 제목을 갖는 논문들을 통해서 현재 우리가 사용하는 보안 매커니즘의 근간을 수립했으며 현대 보안의 방향을 제시했다고 볼 수 있다.

새로운 연구를 통해 기술 방향을 제시했을 뿐만 아니라 보안 교과서를 집필해 보안을 전공하는 학생들에게도 큰 영향을 줬다.

많은 대학교의 학부 프로그램에서 수업에 사용돼 보안 교육의 바이블로 불리는 '보안공학:신뢰할 수 있는 분산시스템 구축 가이드(Security Engineering:A Guide to Building Dependable Distributed Systems)'를 들 수 있다. 2001년 처음 출간 이후 2020년 3판이 출판됐다.

이 책은 크게 세 부분으로 구성돼 있다. 1부에선 보안 정책 모델, 암호화 프리미티브, 액세스 제어 원칙, 인증 및 권한 부여 메커니즘 등 보안 공학의 기초 이론과 개념을, 2부에선 운영체제, 네트워크, 지불 시스템, 암호 프로토콜, 키 관리, 전자 메일 등 다양한 주제별 보안 문제를 다룬다. 3부에선 보안 시스템의 개발, 배포, 운영 단계에서 고려해야 할 사항들을 자세히 설명한다.

단순 지식 전달을 하는 교과서들과 달리 이 책이 바이블이라고 불리는 데는 몇 가지 이유가 있다.

먼저 분산돼 있던 보안 관련 지식과 실무 경험을 하나의 체계적인 분야로 통합하고 정리했으며, 다양한 실제 사례 분석을 통해서 실무에 직접 적용 가능한 통찰력과 지침을 제공한다.

또 운영체제, 네트워크, 지불 시스템 등 폭넓은 보안 이슈를 다뤄 보안에 대한 시야를 확장했고, 인센티브와 비용이 보안 의사 결정에 미치는 보안경제학을 교과서에 최초로 도입했다. 끝으로 설계, 구축, 배포, 운영 등 전체 보안 라이프 사이클에 대한 보안 지침서가 됐다. 보안을 전공하는 학생뿐 아니라 시스템 설계자, 개발자들도 일독을 권한다.

이 책은 첫 문장에서부터 보안에 대한 시야를 다르게 한다. '보안 공학이란 시스템이 악의적인 공격, 오류, 또는 우연한 사고에도 신뢰성을 유지할 수 있도록 설계하고 구축하는 것을 의미한다'는 이 한 줄의 정의는 매우 많은 의미를 내포하고 있다. 세상에 '보안 공학'이 적용될 분야가 무한히 많다는 것을 알게 한다. (5세대) 자율주행차라면 우리가 'KAIST로 가자'라고 했을 때 악의적인 공격, SW·HW 오류, 혹은 우연한 사고에도 우리를 KAIST로 데려다줘야 한다. 전세 사기가 불가능한 전세 시스템의 설계, 보이스피싱이 불가능한 통신 인프라 설계 등 세상에 보안 공학을 적용해야 할 분야는 엄청 많아 보인다.

로스는 이 문장에서 시스템의 정의를 암호 프로토콜이나 개인용컴퓨터(PC)와 같은 작은 단위뿐 아니라 운용체계, 통신 등과 같은 기반 인프라, 운영체제 위에 동작하는 응용 프로그램, 또 시스템 관리자, 사용자까지 고려해야 한다고 이야기하고 있다.

이에 더불어 우리가 보안 공학을 적용할 때 너무 좁게 시스템을 정의하면 보안 문제가 생길 수 있음을 지적하고 있다. 예를 들어, 쓰기 불편한 시스템을 인간은 최대한 우회하려고 하고, 따라서 보안 문제는 생길 수밖에 없다.

Photo Image

보안 공학을 잘하기 위해 로스는 네 가지 필수 요소를 잘 만들어야 한다고 한다. 정책(Policy)은 우리가 이루고자 하는 목표를 의미하고, 장치(Mechanism)는 정책을 구현하기 위해 조합하는 암호화 기술, 접근 제어 등 다양한 장치들이다. 보증(Assurance)은 각 메커니즘에 대한 신뢰도를 의미하고, 인센티브(Incentive)는 시스템을 보호하고 유지하는 사람들이 자신의 일을 제대로 수행하려는 동기, 그리고 공격자들이 당신의 정책을 무력화하려는 동기다. 로스는 이 모든 요소가 상호작용한다고 설명한다.

각각의 장치가 제공하는 보증은 다르다. 따라서 어떤 장치들을 사용하는가는 각각의 공격의 난이도와 현재 시스템의 구성에 따라 중요한 장치와 그렇지 않은 장치를 선별할 필요가 있다. 예를 들어, 미국은 911 사태 이후 19조원의 예산으로 공항 검색을 강화했고 1300억원의 예산으로 비행기 조종석에 대한 물리적 보안을 적용했다. 100배 이상의 예산을 썼지만, 공항 검색은 여전히 많은 구멍을 보여주고 있고 비행기 조종석은 이후 거의 뚫리지 않았다. 이런 선택을 하게 된 가장 큰 이유로 로스는 정책입안자들이 효과적 해결책보다는 눈에 보이는 정책을 선호한다는 '보안 극장'을 이야기하고 있다.

겨우 3페이지에 해당하는 위 내용은 우리에게도 많은 시사점을 주고 있다. 예를 들어, 현재 한국의 정책은 북한이 한국을 공격하는 인센티브를 제공하고 있지 않는가? 우리 국민 대다수가 사용하는 필수 금융 SW들은 충분히 안전한 지 검증이 돼 있는가? 충분한 경쟁을 유도하기 위해 금융인증서를 도입했는데 왜 아직도 사용자 대부분은 공동인증서를 사용하고 있는가? 우리 보안 정책이 이루고자 하는 근본 목표가 공격을 예방하는 것인지 아니면 공격으로 인한 침해가 생기면 이에 대응하는 것인가? 액티브액스를 거쳐 이제는 실행파일 형식의 보안 솔루션이 제공되고 있는데 실행 파일 형식의 보안 솔루션은 액티브액스 방식에 비해 보안성이 더 높은가? 비행기 조종석에 대한 물리적 보안과 같이 우리 금융 SW의 보안성을 비약적으로 발전시킬 수 있는 방법은 없을까? 우리의 보안 정책은 기술적으로 안전하게 구현 가능한가? 왜 공식적으로 보안 SW의 사용이 강제되지 않고 있는데 금융 기관들은 필수 SW라며 설치를 강제할까?

위의 예들에서 보듯이 한국 보안 정책 관련해서도 많은 질문을 쉽게 할 수 있다. 이러한 질문에 대답을 잘할 수 있을 때 한국 보안은 진일보할 수 있을 것으로 생각한다. 제자인 김형식 성균관대 교수와 공저한 논문에서 로스는 한국 보안 SW에 대해 아래와 같은 말을 남겼다.

“독점 보안 SW는 최선의 경우에도 보안 수준을 약간 개선할 뿐이며, 확실히 신뢰할 수 있는 사용자 플랫폼을 제공할 수는 없다. 기술 독점의 강요는 기술 경쟁을 약화시키며 보안 또한 약화시킨다. 따라서 은행들은 외부 플러그인 사용을 최소화해야 한다고 권고했습니다.” 고맙습니다, 로스!

김용대 한국과학기술원(KAIST) 과학치안연구센터장 (전기및전자공학부·정보보호대학원 교수) yongdaek@kaist.ac.kr

Photo Image
김용대 한국과학기술원 교수

〈필자〉30여년간 보안을 연구했다. 국가보안기술연구소 전신인 한국전자통신연구원(ETRI) 부호기술부를 거쳐 미국 미네소타대 교수를 지냈다. 2012년 귀국해 한국과학기술원(KAIST) 전자공학부 및 정보보호대학원에서 보안 연구를 이어 가고 있다. 주요 연구 분야는 자율주행차, 드론, 이동통신, 블록체인 등 미래에 각광 받을 신기술의 보안 취약점이다. 김 교수는 세계 보안 최우수 학회 가운데 하나인 ACM CCS를 한국에 유치하는 등 한국과 세계 각국의 보안 연구를 연결하기 위해 노력하고 있다.