클라우드는 일종의 컴퓨터다. 컴퓨터가 가진 취약함이 곧 클라우드에서도 발생할 수 있다는 뜻이다. 완전해 보이는 클라우드의 허점은 시스템 설계, 구현 과정 등 어디서든 나타날 수 있고, 사전에 제대로 대처하지 않으면 보안에 문제가 생기는 것은 시간문제다. 세상에 완벽한 기술은 없다.
제삼자 신뢰점 문제 해결을 위한 보안 하드웨어
클라우드는 일종의 컴퓨터이지만 데이터를 처리하는 과정 등에서 개인이 사용하는 일반 PC와는 다르다. 따라서 컴퓨터에 저장된 정보를 지키는 보안 방법도 일반 PC와는 차이가 있다. 클라우드 보안 기술은 ‘격리’라는 키워드로 설명할 수 있다.
제삼자 신뢰점 문제
개인 PC는 사용자가 모든 권한을 갖는다. 데이터와 코드 등 모든 정보 처리 과정이 개인 PC에서 이뤄진다. 반면, 클라우드는 데이터 처리 과정에 필요한 권한이 클라우드 서비스 공급자에게 있다. 쉽게 말해 내 정보와 그 정보를 다룰 권한이 남에게 있는 것이다.
이것을 보안 분야에서는 ‘신뢰점(RoT· Root of trust)’이 제삼자에게 있다고 말한다. 정보의 주인이 아닌 제삼자가 만든 보안 체계에 사용자 정보의 안전성이 결정된다는 의미다. 신뢰점은 데이터 무결성(위·변조 방지)이 보장되고, 보안상 신뢰할 수 있는 소프트웨어나 하드웨어를 말한다.
제삼자에게 신뢰점을 두는 보안 정책은 사용자 정보가 본인 의지나 명시적 동의 없이 누출되거나 훼손될 수 있는 위험이 따른다. 클라우드 연구자들은 클라우드를 사용하면서 이런 문제가 발생하지 않도록 다양한 방법으로 보안을 강화할 방법을 찾고 있다.
근래에는 암호학 분야의 ‘동형암호’ 시스템이 이를 해결할 수 있는 기술로 대두되고 있다. 동형암호는 정보를 암호화한 상태에서 연산한 결과가, 암호화하지 않았을 때의 연산 결과물과 형태가 같은 암호체계다.
대개 정보 유출은 암호를 풀거나, 정보를 암호화하는 과정에서 발생한다. 동형암호는 암호화로 정보 보안은 높이되, 암호를 풀지 않은 상태로 정보를 보존하는 강력한 보안 방법이다. 문제는 상용화 단계까지는 상당한 시간이 필요한 실정이라는 점이다.
현재는 제삼자 신뢰점 문제 해결을 위해 ‘SGX(Software Guard Extensions)’라는 보안 하드웨어가 쓰인다. 서버와 PC의 핵심 CPU를 생산하는 반도체 업체인 미국 인텔에서 개발한 하드웨어다. SGX는 클라우드 제공자를 신뢰점에서 ‘제거’하고, 사용자 정보가 ‘격리’된 형태로 안전하게 처리될 수 있는 신뢰 환경을 제공한다.
그런데 이 역시 맹점이 있다. 인텔이라는 기업이 제공하는 하드웨어가 제삼자 신뢰점이 되기 때문이다. 클라우드 공급자만 아닐 뿐, 결국 개인정보는 다시 외부 기업에 맡겨진다. 또 SGX가 꽤 높은 수준으로 안전성을 보장하는 기술력을 자랑하고 있으나, 암호체계를 공격하는 부채널 공격(side channel attack) 등 여전히 보안 취약점이 남아있다.
SGX의 이런 취약점을 보완하기 위해 필자는 SGX와는 별도의 보안 환경을 제공하는 하드웨어를 탑재하는 방법으로 클라우드 제공자를 신뢰점에서 완전히 제거하는 격리 기술을 연구중이다.
격리 기술을 우회하는 부채널 공격 등 클라우드 사용자 공격 기술에 대응하는 방어 방법도 개발 중이다. ‘ORAM(Oblivious RAM)’ 기법이 그 좋은 예다. 다만 아직 성능이 좋지 않고, 실용성도 떨어져 성능 개선과 상용화 문제가 남아있다. 또 기계학습을 이용해 여러 형태의 공격을 탐지해 네트워크 보안을 높이는 연구도 있다.
△ 클라우드 가상화 기술로 가상머신을 만들면 한 대의 컴퓨터로 여러 운영체제를 동시에 실행할 수 있다. 이때 한 가상머신이 다른 가상머신을 공격할 수 있다. 가상머신 관리자인 ‘하이퍼바이저’를 이용해 가상머신들의 동작을 분석, 감시해 가상머신 간의 침입을 막을 수 있다.
유용한 가상머신 안전하게 쓰려면
클라우드는 가상화 기술을 이용해 가상머신(VM·Virtual Machine, 가상 서버와 같은 뜻)을 제공하는 서비스다. 이는 컴퓨팅 환경을 소프트웨어로 구현한 것으로, 가상머신상에서 운영체제나 응용프로그램 설치하고 실행할 수 있어 유용하다.
그러나 여러 대의 가상머신이 존재하기 때문에 발생하는 잠재적 문제도 있다. 클라우드를 이용하면 여러 사용자의 운영체제, 응용프로그램 등의 IT자원이 가상머신에서 동시에 작동한다. 여러 개의 가상머신이 하나의 물리적 공간에서 IT자원을 공유하다 보니, 한 가상머신이 다른 가상머신의 취약점을 이용해서 공격할 수 있다.
전문가들은 격리 기술을 활용해 유용한 가상머신을 안전하게 쓰기 위해 한 서버 내에서 가상머신의 공격을 막을 방법을 찾았다. 가상머신의 운영체제를 변형해 만든 격리 공간 ‘컨테이너’를 만드는 것이 대표적이다.
필자는 클라우드 내에서 가상머신을 관리하는 ‘하이퍼바이저’라는 시스템 관리자를 이용해 가상머신을 보호하는 방법을 개발했다. 하이퍼바이저로 가상머신을 분석하며 그들의 동적 행위를 감시하는 ‘가상머신 내부정보 분석(VMI·Virtual Machine Introspection)’ 기술이다.
하이퍼바이저는 한 컴퓨터에서 실행되는 여러 개의 가상머신의 운영체제를 동시에 관리하고 통제하며 가상화의 핵심 역할을 한다. 가상머신들의 동작을 분석, 감시, 행위 통제를 하는 것이다.
이를 이용해 개발된 VMI는 가상머신 내부 상태를 분석해 외부 침입을 탐지한다. 가상 메모리의 내용, CPU 등의 활동을 보고 가상머신의 악성 행위를 찾는 것이다. 이것으로 가상머신이 발생시키는 가상 네트워크도 분석 가능해 네트워크 공격까지 막을 수 있다.
미래 클라우드에 맞는 보안 시스템 갖춰야
이처럼 각국의 클라우드 보안 연구자들은 현재 이용되는 클라우드 기술의 보안을 강화해 안전하게 쓰일 수 있도록 연구하고 있다. 그러나 기술 발전에 따라 계속해서 새로운 클라우드가 개발되고 있고, 여기에 맞는 새로운 보안 시스템을 갖추는 등 앞으로 해결해야 할 과제가 많다.
한 예로 최근 클라우드에 집중되는 연산을 분산하고, 서비스의 제공시간 지연을 줄이기 위해 에지 클라우드 등 분산형 클라우드 플랫폼이 차세대 클라우드로 주목받고 있다. 그런데 이런 분산형 클라우드 플랫폼은 성능 면에서는 유리하지만, 공격자에게 더 넓은 공격 표면(attack surface)을 제공해서 공격 여지를 준다. 결과적으로 보안 측면에서 더욱 취약해질 수 있다.
또 인공지능(AI) 기술이 발달해 더 많은 사람이 AI 기술을 이용하고, AI가 판단한 결과물에 의지하는 추세다. 그만큼 AI 기술은 정확한 결과물을 내려고 하고, 더 좋은 성능이 요구된다. AI와 클라우드가 결합된 AI 클라우드는 앞으로 점점 더 많이 쓰일 전망이다.
그러나 AI 클라우드는 새로운 형태의 보안 문제를 만든다. 기존 프로그램은 민감한 데이터를 정의한 후 다른 데이터로부터 적절히 격리하는, 비교적 명확한 방식으로 악성 코드의 접근을 제어할 수 있었다 그러나 AI 클라우드의 경우엔 불가능하다. AI 모델을 정의하는 인자, 입력 데이터 하나하나가 모두 보호해야 할 정보이기 때문이다.
이런 AI 모델 정보 중 일부라도 노출되면 공격자가 AI 전체 결정 과정에 쉽게 개입할 수 있다. 특히 딥러닝의 인공신경망은 육안으로는 구분할 수 없는 미세한 차이만으로 전혀 다른 결과물을 만들어 낸다. 즉, 악의를 가진 누군가가 AI에 의도적으로 접근해 입력값을 조작하고, 잘못된 판단을 내리도록 유도하는 보안 문제를 일으킬 수 있다.
AI가 점점 복잡한 일을 수행하게 되며 AI 모델을 정의하는 데이터는 제한된 공간에 모두 격리하기 힘들 정도로 많아졌다. 특히 대규모 연산이 요구되는 AI 연산을 위해서는 그래픽처리장치(GPU) 등 정보 보호가 어려운 고성능 계산기기에 데이터를 수시로 보내야 해서, 전체 AI 모델 데이터를 안전하게 보호하는 게 난제로 남아있다. 이는 필자의 최근 연구 주제이기도 하다.
새로운 클라우드 보안 기술과 개념은 지금 이 순간에도 나오고 있다. 그러나 여전히 다수는 학계에서만 통용된다. 클라우드는 앞으로 더 많이 쓰이고, 많은 정보를 다룰 것이기에 보안 기술의 허점을 보완, 극복해 클라우드를 현실에서 안전하게 사용할 수 있는 기술로 정착시켜야 한다. 또 에지, AI 클라우드 등 새 유형의 서비스가 등장할 때마다 우리는 그에 맞는 보안 시스템을 미리 준비해야 할 것이다.
백윤흥
서울대 전기·정보공학부 교수다. 서울대에서 컴퓨터공학을 공부하고, 미국 일리노이주립대(UIUC)에서 전산학으로 박사 학위를 받았다. 소프트웨어 분석과 컴퓨터 시스템 최적화 연구를 기반으로 시스템 보안을 연구하고 있으며, 최근에는 인공지능(AI)과 보안을 접목하는 기술에 관심을 두고 연구하고 있다. ypaek@snu.ac.kr