안전하게! 쉽게! 빠르게!··· '데이터 가상화'가 데브옵스와 찰떡궁합인 이유

CIO

데브옵스와 지속적 전달(continuous delivery)를 적극 이용하려 할 때 데이터가 걸림돌일 수 있다. 이에 대한 해답 중 하는 데이터 가상화다. 


Image Credit : Getty Images Bank

개발에서 라이브(live) 데이터를 사용한다는 것은, 실제 작업부하를 테스트할 수 있고 실제적인 결과물을 얻을 수 있다는 의미다. 그러나 영국 아동용품 소매점 키디케어(Kiddicare)가 최근 깨달은 것처럼 커다란 보안 리스크 요인이기도 하다: 이 회사는 실제 고객명, 배송 주소, 이메일 주소, 전화번호를 테스트 사이트에 사용했는데 그 과정에서 데이터가 추출돼 피싱에 악용되는 사태에 직면해야 했다.

2015년 크라우드펀딩 사이트 패트레온(Patreon)의 사례도 있다. CEO 잭 콘테는 이 크라우드펀딩 사이트 사용자 230만 명의 이름, 배송 주소, 이메일 주소가 유출됐다고 인정했다. 그는 당시 “웹사이트의 디버그 버전을 통해” 발생했다고 전했다.

그리고 올해 초 호주 시드니대학(Sydney University)의 한 개발자는 6,700명의 장애 학생들의 개인정보와 의료정보가 담긴 데이터베이스의 암호화되지 않은 카피가 들어있는 노트북을 분실하기도 했다.

'해브 아이 빈 판드?'(Have I Been Pwned?) 사이트를 운영하는 보안 전문가 트로이 헌트는 “키디케어와 패트레온 같은 사고에서 실제 데이터 취급의 위험성을 볼 수 있다. 이 문제가 얼마나 심각해질 수 있는지를 보여주는 업계 사례가 있다”라며 다음과 같이 말했다.

“현장 데이터를 테스트에 이용하려는 물류기업을 생각해보자. 누군가 이들 두 환경에 접속해있는데, 그게 제품 데이터에 대한 접속권을 가진 테스트 환경의 링크된 SQL 서버일 수 있다. 나는 이런 상황이 큰 위험을 초래하는 것을 자주 보아왔다. 개발자들로부터 흔히 듣게 되는 변명은 ‘생산에서만 일어나는 버그를 복제해야 했다’라는 것이다. 그러나 그러한 해명은 그들의 오류 처리 및 업무 처리 문제를 드러낼 뿐이다.”

헌트는 이어 더 안전할 뿐 아니라 생산성도 높일 수 있는 방법이 바로 데이터 시뮬레이션이나 가상화라고 강조했다. 그는 “테스트 데이터를 자동화된 방식으로 생성하면 동일 환경을 손쉽게 재구성할 수 있게 된다. 간단히 데이터 생성 스크립트를 켬으로써 완전히 채워진 비생산 환경을 프로비저닝할 수 있게 된다. 물론 이게 일회성 현장 데이터 복사보다 일이 조금 더 많을 수 있다. 그러나 한번 해두면 생산 외부 고객 데이터를 처리하는 상황을 피할 수 있다”라고 말했다.

보안과 민첩성
데이터 가상화 벤더 델픽스(Delphix)의 제품 관리 부회장 대니얼 그레이브스에 따르면, 이러한 데이터 보안 및 데이터 민첩성의 조합은 만약 IT 전략 방향을 시스템 유지에서 혁신으로 이전시키려할 때 특히 핵심적이다. 델픽스 소프트웨어는 sQL 서버, IBM DB2, 오라클 데이터베이스(Oracle Database), E-비즈니스 스위트(E-Business Suite) 그리고 곧 몽고DB(MongoDB) 같은 데이터베이스에서 데이터를 간편히 가상 복사할 수 있도록 돕는 업체다,

그레이브스는 “일반 기업의 경우 앱의 배포 스케줄을 분기별에서 월별로 바꾸고자 한다. 웹사이트들은 일별에서 시간별 배포로 이동하고자 한다. 우리 고객사 중 은행 몇몇은 소프트웨어 업데이트 주기를 일년에 두 번에서 매주 수 차례 수준으로 바꿔가는 중이다. 이렇듯 더 많은 기능을 더 빠르게 전달하려는 시도는 모든 산업에서 일어나고 있다. 전혀 그렇지 않을 것 같은 곳에서도 일어나고 있다. 정부도 이를 하고 있고 의료 조직들도 마찬가지다”라고 말했다.

그에 따르면 기업의 고객-지향 앱과 서비스를 데브옵스 및 지속적 전달로 빈번히 업데이트하려 할 때, 개발자가 데이터접속을 기다리는 경우가 있어서는 안 된다. 그레이브스는 “막대한 양의 데이터를 관리하는 것이 핵심 방해요인이 되어왔다. 데브옵스(DevOps) 툴로서 자체 인프라를 자동화하고 VM 수 조정을 더 빠르게 만들 수 있지만 데이터 관련 작업들까지 가속화시키기는 어렵다”라고 설명했다.
 


그는 이어 “데이터 추출, 네트워크상에서 이동, 물리적 카피 만들기는 느리고, 손이 많이 가는 작업이다. 델픽스는 기업 데이터 환경을 조작해 이를 주 단위가 아닌 분 단위로 셀프서비스 방식으로 조작할 수 있게 할 수 있다”라고 덧붙였다. 


데이터로의 더 빠른 접속은 생산성 향상은 물론, 심지어 소프트웨어 품질까지 향상시킬 수 있다. 개발자들이 모든 테스트 런에 클린 카피를 훨씬 빠르게 받을 수 있게 됨으로써 더 많은 테스트를 해볼 수 있기 때문이다.

그레이브스는 “테스트 시스템의 실행 준비에 하루가 걸릴 수 있다; 만약 한 시간이 걸리는 회귀 테스트 한 세트를 돌리면 환경을 리셋 해야 하는데 이게 16에서 18시간 걸린다”라고 설명했다. 만약 한 시간 분량 테스트 준비에 하루가 걸리면 일주일에 7번의 테스트밖에 못하는 셈이다.

그는 “만약 당신이 1분 안에 리셋을 할 수 있다면 하루에 24번의 테스트를 해볼 수 있고 이는 개발 주기에서 버그를 훨씬 빨리 찾아냄을 의미하는 것이다. 결국 수리 비용과 복잡성을 줄이게 된다”라고 말했다.

만약 상황에 따라 동일한 데이터를 사용해야 하고 매번 클린 카피를 필요로 하는 다수의 개발자와 QA 팀이 있다면 그들 각각에게 독자적인 샌드박스를 줄 수 있다. 델픽스의 고객 중 하나인 온라인 티켓 서비스 기업 스터브허브는 자체 데이터 카피 7개를 필요로 했다: 3개는 개발자용, 3개는 QA용, 하나는 베타테스트용이었다. 하지만 현재는 100 개가 넘는 카피를 가지고 있다.

그레이브스는 “이는 물리적 세계에서는 절대 할 수 없는 것”이라며 “만약 기업의 데이터베이스가 수십 테라바이트 규모라면 150개의 복사본을 저장할 수 있는 스토리지를 사려하지 않을 것이다. 또 각각의 복사본을 관리할 DBA를 고용하지도 않을 것이다. 데이터가 일단 가상화되면 경량이면서 즉석이고 안전하게 보안리스크 증가 위험 없이 확산하는 방법이 생긴다”라고 강조했다.

한편 델픽스는 개발 과정에서 보안을 위해 데이터를 마스크하고 토큰화할 수도 있다. 예를 들어 의료 분야는 데이터 측면에서 복잡한 규제 대상이다. 그레이브스는 “개발 프로세스에서 그 정보를 쓰는데 극도로 주의해야 한다”라며, 결제 정보를 다룰 때도 마찬가지라고 전했다.

그는 이어 “새로운 시스템을 시장에 출시하기 위해 이런 모든 규정과 법률을 세심하게 지켜야 한다. 우리는 이름과 주소 그리고 다른 개인 식별 정보를 찾기 위해 소스 데이터베이스를 프로파일링 해서 민감한 데이터를 식별할 수 있다. 이후 마스킹 알고리즘을 사용해 실제적으로 보이지만 완전히 분산된 버전을 만들어내 애플리케이션의 순수성을 보호한다”라고 설명했다.

마스킹이 그리 새로운 것은 아니다. 이를테면 SQL 서버 2016은 자동으로 데이터베이스 보고서의 선택 영역을 마스크하고 역할에 따라 익스포트 하기 위한 정책을 설정하게 해준다. 하지만 마스킹을 데이터 소스 모두를 커버하는 데이터 가상화와 결합하는 것은 새로운 것이라고 그레이브스는 강조했다.

그는 “가령 내가 QA 팀에 있에 있다고 치자. 운영자는 내가 이 애플리케이션상에서 작업할 때 항상 최신 마지막 달의 데이터를 받고 그게 언제나 마스킹 되어 있도록 설정할 수 있다. 내가 이를 바꿀 수는 없다”라고 말했다.

이러한 기능은 개발자들이 데이터 보호에 있어서 회사 정책을 종종 따르지 않기 때문에 중요하다. 그레이브스는 “데이터가 QA와 개발테스트에서 탈취되거나 누설되기도 한다. 기업 데이터는 커피숍 누군가의 노트북에도 있을 수 있다. 공격자들은 당신의 시스템에서 가장 방어체계가 낮은 곳을 찾을 것이다”라고 말했다.


오프사이트와 하이브리드 클라우드 보안
데이터 가상화는 개발자만의 것이 아니다. 비즈니스 애널리스트부터 IT팀에 이르는 모두를 도울 수 있다. 특히 기업이 하이브리드 클라우드를 고려할 때 그렇다. 그레이브스는 다음과 같이 설명했다.

“기업이 델픽스로 데이터를 동기화하고 그 데이터를 마스킹한 후 AWS같은 클라우드 서비스로 위치를 옮긴 이후, 클라우드에서 개발테스트와 보고가 이뤄지도록 할 수 있다. 애널리틱스도 동일하다. 완전히 실제적인 데이터 세트를 동기화할 수 있다. 그리고 마스킹은 되돌릴 수 없는 프로세스다. 다시 되돌릴 수 없기 때문에 이게 만약 탈취되어도 별로 문제가 되지 않는다. 이는 기업 워크로드 상당량을 클라우드 환경으로 옮겨 비용을 절감하도록 할 수 있다는 의미다. 마스킹 덕분에 보안, 거버넌스, 제어 측면에서 변화가 발생하지 않고도 말이다.”

토큰화처럼 되돌릴 수 있는 옵션도 있을 수 있다. 만약 데이터 가상화를 재난 복구에 사용하고 싶은 경우에 적용된다. 그레이브스는 “중요한 점은 올바른 사용자에게 그들이 필요로 할 때 올바른 형식으로 올바른 데이터를 가져다 주는 것”이라고 말했다.

데이터 가상화와 마스킹에는 수많은 장점들이 있으며, 이러한 장점들은 시도에 대한 충분한 이유를 제공한다. 예를 들어 암호화되지 않은 테스트 데이터 손실은 유럽 일반 데이터 보호 법률 (GDPR: General Data Protection Regulation)에 의해 벌금이 부과될 수 있는 실책이다.

하지만 기업이 마스킹이나 다른 형태의 반익명화를 사용한다면 유출 보고를 하거나 데이터 접속과 데이터 제거 요청에 응답하지 않아도 되며, 자동화된 결정과 프로파일링에 대한 동의를 요청하지 않아도 된다.

국제 로펌 필드피셔(Fieldfisher)의 프라이버시, 보안, 정보팀 담당자 필 리는 “유럽 일반 데이터 보호 법률은 데이터 마스킹 홍보를 위한 당근과 채찍 전략을 도입하고 있다. 반익명화 기술을 좋은 정보 관리의 일환으로 권장된다. 규제 부담을 줄여주는 방식을 통해서다. 이와 반대로 GDPR을 준수하지 않는 회사들은 강력한 규제에 직면하게 된다. 잠재적 벌금이 연간 전세계 매출의 4%까지 부과될 수 있다”라고 말했다. ciokr@idg.co.kr