[SaaS 보안 02] ‘책임 공유 모델’이 실제 작동하려면
출처: pexels.com
클라우드 서비스는 인프라 서비스(IaaS: Infrastructure as a Service), 플랫폼 서비스(Platform as a Service) 사업자, 소프트웨어 서비스(Software as a Service)로 분류되고, 이들을 제공하는 사업자를 클라우드 서비스 제공자(CSP: Cloud Service Provider)라고 한다. 이 정의에 따르면, SaaS 사업자는 주요 CSP 중 하나이면서, 동시에 IaaS를 사용하는 주요 클라우드 서비스 이용자(CSC: Cloud Service Customer)인 셈이다.
하지만 클라우드 사업자라고 하면 AWS나 마이크로소프트, 구글이 생각날 정도로 클라우드 산업은 일부 예외를 제외하고는 IaaS 사업자가 주도하는 시장이다. 클라우드를 단순 저장소로 이용하는 중소규모 사업자뿐 아니라 대다수 SaaS 사업자 역시 IaaS 사업자와 비교해 보면, 규모와 역할, 역량의 차이가 크다. 넷플릭스나 카카오 등 대형 컨텐츠 사업자가 회선 이용자로서 인터넷 회선 사업자(ISP: Internet Service Provider)보다 우위에 있는 인터넷 시장과는 사뭇 다르다.
그림 1. AWS의 ‘책임 공유 모델’
출처: AWS
IaaS 사업자들의 주도권은 보안 분야에서 더 뚜렷하다. IaaS 사업자들은 초기부터 ‘책임 공유 모델’이라는 보안 모델을 내세웠다. ‘책임 공유 모델’에서 IaaS 사업자는 클라우드 서비스를 실행하는 하드웨어, 소프트웨어, 네트워킹, 시설로 구성된 클라우드 인프라의 보안을 책임지고, IaaS 이용자(고객)는 EC2 인스턴스, S3, 데이터 관리 등 IaaS 이용자가 사용하는 ‘클라우드에서의 보안’을 책임지는 것으로 규정했다.
AWS는 이를 ‘공동 책임 모델’이라고 부른다. ‘공동 책임’이라 하면 참여하는 양자 또는 다자가 대등한 위치에 있어야 의미가 있는데, IaaS 사업자가 클라우드 인프라를 설계·구축·운영하고, 그에 대한 보안취약점과 보안 도구 역시 IaaS 사업자가 가장 잘 아는 환경에서 그것들을 알기 어려운 IaaS 이용자들에게 ‘공동 책임’을 지라고 하는 것이 타당한지 의문이 들기도 한다.
5년 전쯤 스타트업에 합류하여 AWS를 사용하기 시작하면서 클라우드 보안에 관심을 갖게 되었다. AWS 사이트에서 제공하는 각종 설명 문서를 읽고, AWS와 여러 기관의 교육에도 참여했지만, 서비스 운영에서 클라우드 보안 아키텍처를 설계하기가 쉽지 않았다. 국내 굴지의 MSP(Managed Service Provider)에 SaaS 개발과 운영에 필요한 질문도 하고 도움도 요청했으나, 만족할 만한 답변을 받지는 못했다. 설정 오류, 사용 부주의, 해킹 등을 통해 발생하는 클라우드에서의 개인정보 유출 사고 뉴스를 보면서 그 회사의 보안 상황이 어떨지 조금은 짐작이 간다.
그림 2. AWS Security Reference Architecture – Network account
출처: AWS Security Reference Architecture
IaaS 사업자는 IaaS 이용자들에게 다양한 보안 도구를 제공한다. 각각을 별도 솔루션으로 구매하면 비용도 많이 들고, 구축, 운영에 시간이 많이 들었을 보안 솔루션을 클릭 몇 번으로 사용할 수 있다는 점은 클라우드의 위력이자 매력이다. 하지만 솔루션을 구매했다면 받았을 기술 지원을 클라우드 환경에서는 해 주는 이가 없다. 질문해도 답변을 받아내기가 쉽지 않으니, 서비스 인프라에 대한 보안 설계를 지원해 줄 만한 곳은 더더욱 없다.
예를 들어 AWS S3의 보안 설정이 잘못 설정되어 발생한 대규모 개인정보 유출 사건은 아마도 S3의 접근 권한이 ‘Public access’로 설정되었을 가능성이 있다. 해당 저장소에 대한 접근 권한을 굳이 Public access로 설정해 놓을 이유가 없다면, 그것을 해제하면 되는데, 그렇지 않은 가장 큰 이유는 아마 ‘몰라서’였지 않았을까.
지난 3년 정도를 돌아보면, 개인정보 유출 사고 등 외부에 알려진 클라우드 보안 사고는 주로 SaaS 사업자나 클라우드 스토리지 이용자 등 IaaS 이용자의 ‘보안 책임 영역’에서 발생하였다. IaaS 사업자 사이트에 그들이 취득한 보안 인증이나 준수하는 각종 표준, 각 나라의 주요 규제 등 방대한 자료를 나열할 정도로 보안에 많은 노력을 쏟아왔으니 IaaS 사업자의 책임 범위에서 발생하는 보안 사고는 이제 별로 많지 않은 것 같다.
IaaS 이용자들의 개인정보 유출 등 보안 사고가 IaaS 이용자들의 ‘보안 책임 영역’에서 일어난다고 해서 IaaS 이용자들의 문제라고만 미루는 것은 바람직하지 않다는 것이 필자의 생각이다. 결국에는 IaaS 사업자들에 부담이 될 여지가 있다. IaaS 이용자들이 데이터 유출 사고가 더는 나지 않도록 지원하는 것이 IaaS 사업자들에게도 유익하지 않을까 싶다.
이제 IaaS 이용자들이 클라우드 서비스 보안 설계와 주요 보안 도구 이용 및 설정을 잘 이용할 수 있도록 IaaS 사업자가 지원해 주면 좋겠다. ‘보안 모델’ 기준으로 본다면, 이러한 역할과 업무를 IaaS 사업자의 ‘보안 책임 영역’에 포함하는 것이다. MSP가 그러한 역할을 대행할 수 있도록 MSP의 보안 서비스 역량을 강화하는 것도 필요하다. 그래야 ‘책임 공유 모델’이 IaaS 사업자들이 자신의 책임 한계를 설정함으로써 클라우드에서의 보안 사고에 관한 책임을 회피하기 위한 ‘책임 회피 모델’이 되지 않을 수 있다.