2015. 4. 20.

백업 주기는 어떻게 정해야 할까요

"백업주기를 어떻게 정해야 할까요?"

실제로 전산담당자에게 이와 같은 질문을 하면, "보안책임자의 의지에 따라" 혹은 "특별한 이유가 없이.." 와 같은 많은 답변을 받을 수 있습니다. 

백업주기는 이렇게 추상적인 개념으로 정해지는 것이 아닙니다. 백업은 전산적인 측면에서 봤을때 반드시 수행해야 할, 그리고 가장 중요한 업무 중 하나 입니다. 그렇기 때문에 이러한 백업의 주기는 반드시 정확한 분석으로 정해져야 합니다. 또한 이러한 분석은 해당 데이터의 비즈니스 측면의 가치에 기반하여야 합니다. 

그러면 백업 주기를 정하는 계산법은 무엇일까요?

우선 그전에 아래의 개념을 이해해야 합니다. 
  • 복구 지점 목표 ( RPO ; Recovery Point Objective ) / 최대 데이터 손실 ( Maximum Data Loss ) 
  • 비즈니스 영향 분석 ( BIA ; Business Impact Analysis )
** 비즈니스 연속성에 관련한 국제 표준인 ISO 22301에서는 ‘복구지점목표(RPO)'와 ‘최대 데이터 손실' 은 같은 의미라고 표현하고 있습니다.


1. BPO / Maximum Data Loss / BIA

1) 복구 지점 목표(RPO)

'복구 지점 목표’ 는 각종 재해상황에서 수용할 수 있는 최대 허용 데이터 손실을 의미합니다. 기본적으로 다음의 질문을 통해 복구 지점 목표’를 구할 수 있습니다.
  • “얼마정도의 데이터를 손실하여도 (사업적으로) 감당할 수 있는가?
  • “즉, 수용할 수 있는 데이터 손실이 어느정도 인가?"

2) 업무 연속성 평가 (Business Impact Analysis)

위의 ‘복구지점목표(RPO)’를 분석하는 가장 쉬운 방법이 바로 '비즈니스 영향 분석(BIA)’ 입니다.’비즈니스 영향분석(BIA)’를 간단하게 정의하면 ‘장애나 재해로 인한 운영상의 주요 손실을 가정하여, 시간흐름에 따른 영향도 및 손실평가를 조사하여 BCP를 구축하기 위한 핵심 절차 입니다.(여기서 BCP란, Business Impact Analysis의 약자로서 업무 영향 분석을 의미합니다)

'비즈니스 영향 분석’은 조직내 모든 대상 (데이터베이스, 어플리케이션, 파일 또는 서비스, etc) 를 대상으로 진행 될 수 있습니다. 각각의 담당자들은 인터뷰 혹은 질문서를 통해서 ‘수용할 수 있는 수준의 최대 데이터 손실’ 수치화 하여 값을 도출하게 됩니다. 보통 시간을 기준으로 하지만, 트랜잭션, 레코드로도 도출될 수 있습니다.

BIA 분석에 대한 핵심 명제는 ‘회사 입장에서의 잠재적인 데이터 손실’ 입니다. 이것은 금적적인 손실도 될 수 있고, 범법, 명성 등과 같은 영향도 포함됩니다. 이 기준을 수행할때는 기존에 수행하고 있던 백업주기를 고려하면 안되며, 오직 지금 수행하고 있는 백업이 깨지게 되었을때, 얼마동안의 손실을 수용할 수 있는가 입니다. 도출된 ‘복구지점목표(RPO)는 24시간이 될 수도 있고, 2시간이 될 수도 있습니다. 

2. 그러면 백업 주기는 어떻게 정해야 할까요?

다시 처음으로 돌아와서, 백업 주기 수립 방법에 대해 이야기 해보도록 합니다. 은행을 예로 들어서 설명하도록 하겠습니다. 은행의 핵심 업무 활동이 '대출 프로세스' 와 '지불 프로세스’라고 가정해 보고, 각각의 '복구지점목표(RPO)'를 추측해보도록 하겠습니다. 

'대출 프로세스'는 아마 24시간 동안의 손실을 감수할 수 있을 것입니다. 이유는, 사고 발생 후 고객이 자신의 정보를 다시 요청하였을때 해당 데이터를 재생성하기가 매우 어렵기 때문입니다. 하지만 '지불 프로세스'의 경우 아주 작은 단일 트랜잭션의 손실 조차도 감수할 수 없을 것 입니다. 이유는 보통 지불프로세스는 트랜잭션으로 이루어진 하나의 큰 볼륨이기 때문입니다.

결론은 아주 간단합니다. 이러한 업무영향분석(BIA)를 통해 ‘복구목표시간(RPO)’을 24시간으로 정한다면, 백업은 하루에 한번은 수행되어야 합니다. ‘복구목표시간(RPO)’이 두시간 이면, 백업을 두시간마다 한번씩 수행해야 한다는 것이고, RPO가 제로라면, 흔히 말하는 미러사이트를 구축해서 실시간으로 데이터를 복제해야 할 것입니다. 

하지만 언제나 가격이 문제가 될 수 있습니다. 혹은 두시간 마다 한번씩 백업을 하는 것은 불가능하다고 반문할 수도 있습니다. 하지만 명심해야 하는 기본적인 사실은 조직내 중요 데이터를 모두 잃었을 경우, 비즈니스 전체에 회복할 수 없을 만큼의 큰 손실이 발생한다는 것이 분명하다는 것입니다. 

Continue reading

2015. 4. 16.

현대인의 삶의 일부가 된 '암호화'

현재 시대를 디지털 유니버스(Digital Universe)라고 부른다고 한다. 스마트폰의 발전과 함께 기하급수적인 양의 정보가 생성되고 있으며, 지금까지 약 4.4조 기가바이트의 정보가 생성되었고 지금까지도 Facebook, Twitter, Instagram, Youtube 등에서 데일리로 엄청난 양의 데이터가 생성되고 있다. <참고 사이트>

여기서 우리가 절대로 간과해서는 안될 사항이 바로 ‘암호학’이다. (참고 : 암호학의 현재와 미래)
데이터를 암호화를 하지 않는다는것은, 기밀 데이터를 아무런 보호대책없이 모든 사람들이 볼수 있는 공유폴더에 올려놓는 것과 같다고 볼 수 있다. 왜? 암호화되지 않은 데이터는 누구나 볼 수 있기 때문이다. 혹자는 너무 비약이 심하다고 할수도 있겠다. 하지만 결코 비약이 아니다.  

우리가 어떤 데이터를 PC에 저장하고 있든, 다른 원격지의 대상에게 전송하든간에, 해당 데이터는 악의적인 사용자에게 언제든지 탈취 당할 수 있다. 데이터를 전송하기 위한 다양한 방법이 있지만, 악의적인 해커 역시 다양한 기술을 사용하여 데이터를 탈취 할 수 있다. 

이번 포스팅에서는 암호학의 중요성을 강조하기 위해 우리가 실제 사례들 예로 들면서, 1) 악의적인 공격자가 어떻게 우리의 데이터에 접근할 수 있는지 2) 그들을 대비하기 위해, 데이터에 수행되어야 하는 조치는 무엇인 있는지 에 대해 정리해 보도록 한다.

우리가 가지고 있는 정보들의 형태는 아래와 같이 5가지 종류로 분류될 수 있다.
  • USB 디바이스
  • 하드 드라이브 (PC / 데스크탑)
  • 클라우드에 동기화된 파일 (Dropbox / SpiderOak)
  • 클라우드에 저장되는 데이터베이스 서버
  • 모바일 폰

1. 온라인 및 오프라인에서의 데이터 저장 위험

1) USB 디바이스
주말에 잔업을 처리하기 위해서, 회사에서 사용하는 정보를 USB에 넣어 집으로 가던 중 USB를 분실하게 될 수도 있다. 이때 USB가 암호화 되어 있지 않은 경우, 악의적인 사용자가 해당 데이터를 악의적인 용도로 사용 할수도 있다. 이를 대비하기 위해 안전한 패스워드 기준을 준수하여, USB 디바이스를 암호화하여야 한다. <참고 : 안전한 패스워드 기준> 네트워크를 이용하여 데이터를 전송하는 경우에도 안전한 암호 알고리즘으로 암호화 하여야 한다. <참고 : 안전한 암호알고리즘> 암호화 되지 않은 채널을 통해 데이터를 전송할 경우, 해커가 쉽게 데이터를 획득할 수 있다.

2) 하드 디스크
지금 본인이 사용하고 있는 PC 또는 데스크탑에는 굉장히 중요한 정보들이 많이 있을 것이다. 악의적인 사용자가 PC를 훔쳐가서 하드 드라이브로 접근하게 되면 모든 데이터가 노출되게 된다. 컴퓨터에 암호를 걸면 되긴하지만 이 역시 문제가 되지 않는다. 공격자는 Live - CD  와 같이 다른 환경에서 쉽게 하드드라이브를 마운트 할 수 있다. 다른 사람이 로그온하는 것을 막기 위해 사용되는 패스워드는 오직 다른 컴퓨터 사용자가 ‘로그인 하는 것’ 만 막아줄 뿐이다. 이러한 종류의 위험을 방지하기 위해서는, 하드 드라이브를 적절한 벙법으로 암호화 해야한다. 최대의 보안을 적용하기 위해 사용하고 있는 OS 역시 암호화하여야 한다.

3) 클라우드에 동기화된 파일
하드 드라이브에 있는 파일들을 다음과 같은 파일동기화 서비스를 통해 동기화 할 수도 있다.
  • Google Drive
  • Dropbox
  • SugerSync
  • Amazon Cloud Drive
  • Micro OneDrive
  • SpiderOak
  • Wuala
(이외에도 많은 서비스들이 있으며, 위는 그들중 몇개 일 뿐이다. )

파일은 선택하여 로컬 컴퓨터와 클라우드 서비스 모두에서 동기화(synchronized) 되도록 하는 서비스 이다. 문제는 서비스에 따라, 클라우드에 동기화된 파일들이 암호화 되고 그렇지 않을 수 있다는 것이다. 예를 들면, Dropbox 는 파일을 클라우드에 저장할때 암호화하고 있지 않다. 반면 SpiderOak 는 암호화해야 한다.SpiderOak 클라이언트들은 클라우로 파일을 올릴때 로컬에서 파일을 암호화 작업을 수행해야 한다. 그렇기 때문에 암호화된 파일만이 클라우드 데이터 서버로 보내지는 것이다.

4) 클라우드에 저장된 데이터베이스 서버
시스템 관리자는 종종 SQL/NoSQL 데이터베이스를 설치해야 하는 경우가 있다. SQL/NoSQL은 데이터를 저장하기 위해 몇몇 어플리케이션에 의해 사용된다. 대부분의 username, password는 데이터베이스에 저장되는데, 즉 그 말은 데이터베이스는 민감한 정보를 가지고 있다는 것이다. 또한 코멘트, 사진, 비디오, 사용자 정보들까지 아주 다양하다. 때문에 안전한 워크플로우 및 운영을 보장하기 위해, 데이터베이스이 강조되는 것이다. 문제는 데이터베이스가 클라우드에 저장되어 있을 경우 다소 확장된다. 클라우드에서 DB 관련한 설치, 운영, 확장(Scailing) 작업을 보다 쉽게 할 수 있게 하는 다양한 종류의 서비스가 있다. (예를 들면, Googe Cloud SQL, Amazon Relational Database Service(Amazon RDS))

5) 모바일 폰 
그러나 가장 중요한 것은, 모바일폰에 저장된 정보이다. 휴대폰 분실에 대한 사건사고는 굉장히 많이 보고 듣고 겪어 보았을 것이다. 휴대폰을 분실하게 되면 기기에 저장되어 있는 데이터도 같이 분실하게된다.
대부분의 사람의 경우 사진, 비디오, 전화번호 등과 같은 전화번호를 분실한 사실에 걱정할 것이다. 이와 같은 사례를 대비하여 행해져야할 가장 중요한 일은 데이터를 백업하는 것이다. 이는 굉장히 중요한 고려사항이다. 그리고 몇몇 사람들은 기기에 저장되어 있는 사생활 데이터가 유출되지 않을까 걱정하기도 할것이다. (이에 대한 솔루션은 아래에서 이야기하겠다.)

2. 온라인 및 오프라인에서의 데이터 보안 방안

지금부터는 '유출 또는 분실된 데이터를 읽으려는 행위를 막는 방법' 에 대해 이야기한다. 이는 데이터를 훔치려는 공격자를 막는 방법에 대해 이야기하는 것이 아니다. 위와 같은 방법으로 공격자가 데이터를 획득한 다는 가정에서, 데이터 보호를 위한 방법에 대해 이야기 하는 것이다.

1) USB 디바이스
USB 디바이스를 적절히 암호화하기 위해서는, 다음과 같은 소프트웨어를 사용할 수 있다.
  • DiskCryptor
  • VeraCrypt
  • BoxCryptor
** 반면, TrueCrypt 는 사용하면 안된다. 이는 지원이 종료된 것으로, 더이상 지원하지 않을 계획이라고 한다. 즉, 안전하지 않다는 것이다.

2) 하드 드라이브
하드 드라이브를 암호화하기 위해서는, OS시스템에 따라 소프트웨어를 선택해야한다
  • Linux : DM-Crypt LUKS
  • Windows : BitLocker
3) 클라우드 
클라우드에 서비스를 선택할때, 암호화 업로드를 지원하는지 또한 'Zero-Knowledge'를 지원하는지를 확인해야 한다. (Zero-Knowledge : http://en.wikipedia.org/wiki/Zero_knowledge) 지금 현재는 Dropbox 는 해당 기능을 지원하지 않기때문에, 대안으로 SpiderOak 를 사용해야 한다. 

4) 클라우드에 저장된 데이터베이스 서버
클라우드 업로드된 DB 보안을 위해서는 다음과 같은 소프트웨어를 사용할 수 있다.
  • ClearDB
5) 모바일 폰
대부분의 안드로이드 모바일 폰은 자체적으로 암호화를 지원한다. 안드로이드 ‘Setting’ 의 ‘Encrypt’ 에서 암호화를 진행할 수 있다.

3. 결론
지금까지 데이터를 보호함에 있어 '암호화'가 얼마나 중요한 요소인지 살펴보았다. USB 디바이스든 클라우드든 암호화가 필요한것은 마찬가지이며, 암호화만 제대로 수행해도 악의적인 공격자가 인가받지 않은 데이터에 접근하지는 못할 것이다.

또한 클라우드에 서비스를 사용할때, 해당 데이터는 언제든지 악의적인 공격자에 의해서 탈취당할 수 있다는것을 항상 인지해야 한다. 때문에, 데이터를 보호할 수 있는 최대한의 방안을 적용해야 하며, 그 보안 방안이 암호화가 되는 것이다. 

우리는 ‘보안’ 과 ‘보안을 보장하기 위해 투자하는 시간’, 이 두 요소의 균형을 어떻게 조율할지 진지하게 고민해 볼 필요가 있다.소 잃고 외양간 고친다’ 라는 말의 의미를 정확히 되새기며, 각자의 삶을 대상으로 '보안'과 ‘투자시간'과의 균형을 조절해보는 시간을 갖도록 해보자.

Continue reading

Popular Posts

Recent Posts

Powered by Blogger.