1. 항상 파일을 암호화해서 저장해야 하는 이유
공격자로부터 당신의 데이터를 보호하는데 있어서 가장 큰 난관 중 하나는 당신이 보관하고 있는 정보 자체가 많다는 것과 그것을 훔치는 것이 상당히 쉽다는 것에 있습니다. 과거의 연락처, 통신 내용, 현재의 문서들이 노트북이나 스마트폰에 저장되어 있습니다. 개중에는 수십, 수천 명에 이르는 사람들의 민감한 정보가 담겨있기도 합니다. 스마트폰이나 노트북이 도난당하거나 압수당하면 그 안에 있던 데이터가 순식간에 복제될 수 있습니다. 이런 일이 발생할 가능성을 염두에 두고, 데이터를 항상 암호화하여 저장해 둘 수 있어야 합니다.
보안 메신저를 사용하는 등의 방법을 써서 통신 내용을 암호화하여 더 안전하게 소통하는 것과 마찬가지로, 데이터 또한 좀더 안전하게 저장하기 위해서는 데이터 자체가 저장되어 있을 때 암호화된 채로 저장되어 있도록 해야 합니다. 화면 ‘잠금’조차 설정되어 있지 않은 기기라면 압수당했을 때 데이터가 쉽게 읽을 수 있는 방법으로 저장되어 있기 때문에, 아직 스마트폰의 화면 ‘잠금’을 설정하지 않았다면 지금 즉시 잠금을 설정해야 합니다. 화면 ‘잠금’기능과 데이터 암호화가 직결되기 때문입니다. 구체적인 내용은 <4-3 스마트폰 자체의 보안>을 참고하세요.
스마트폰의 화면 ‘잠금’과 별개로 데이터 자체를 암호화하여 저장하는 것도 중요합니다. USB 메모리나 외장 하드디스크 등에 데이터가 암호화되지 않은 채로 저장되어 있다면 데이터가 그만큼 간편하게 유출될 것이기 때문입니다. 몇 개의 폴더만이 아니라, 당신의 데이터 전체를 암호화하는 것이 가장 안전하고 단순합니다.
윈도우를 사용하는 컴퓨터에는 모든 데이터를 암호화하여 저장하는 ‘비트로커(BitLocker)’가 기본으로 제공됩니다. 애플의 OS X에서는 내장된 ‘파일볼트(FileVault)’를 이용할 수 있습니다. 만일 여러 OS를 사용한다면 베라크립트(VeraCrypt)와 같은 프로그램을 사용하여 여러 OS에서 동시에 공유할 수 있는 암호화 방식으로 데이터를 암호화하여 저장하는 것을 고려할 수 있습니다.
이렇게 암호화된 데이터도 무차별 대입 공격 시도를 통해 복호화를 시도하는 공격자의 노력 앞에서 무너질 수 있습니다. 아주 단순한 비밀번호를 사용하여 암호화한다면 무차별 대입 공격 시도 앞에서 금방 무너진다는 점에 유의해야 합니다. 그렇다고 스마트폰 잠금화면의 비밀번호를 일상적으로 매우 긴 비밀번호로 유지하기도 어렵기 때문에, 절대로 유출되어서는 안 되는 기밀 데이터는 처음부터 공격자가 물리적으로 접근할 수 없는 곳에만 보관하는 방법을 취하거나, 보안성이 훨씬 안전한 기기를 사용하여 접근을 통제해야 합니다.
윈도우에서 7-Zip 을 이용한 파일 암호화
7-Zip은 여러 개의 파일이나 폴더를 하나의 압축 파일로 묶거나, 혹은 파일의 압축을 해제할 수 있는 자유, 오픈 소스 소프트웨어입니다. 윈도우에 기본 내장되어 있는 파일 압축 기능은 비밀번호를 이용한 암호화를 지원하지 않지만, 파일 압축 해제 기능은 복호화를 지원합니다. 따라서 7-Zip을 이용하여 zip 형식으로 파일을 압축하면서 암호를 지정하면, 비밀번호를 알고 있는 사람은 7-Zip이 없더라도 윈도우에서 그 압축 파일의 내용을 열어볼 수 있게 됩니다.
7-Zip을 설치하고, 아래 사진의 절차에 따라 비밀번호를 설정하세요. 먼저, 암호화하고자 하는 파일을 탐색기나 ‘내 컴퓨터’, ‘바탕화면’등에서 선택한 다음 마우스 오른쪽 버튼을 클릭합니다. 여기서 [7-Zip]에 마우스 커서를 올려 나오는 메뉴 중 [Add to archive…]를 선택합니다. 그러면 7-Zip의 [Add to Archive] 창이 열립니다.
열린 창에서 [Archive format]은 [zip]을 선택합니다. 7-Zip이 설치되어 있지 않더라도 대부분의 윈도우, 맥, 리눅스 등에서 zip 형식을 지원합니다. 창의 오른쪽 하단에 [Encryption] 영역에서 [Enter password], [Reenter password]에 암호화 및 복호화에 사용될 비밀번호를 입력합니다. Encryption method는 기본값을 그대로 사용합니다. 이제 [OK]단추를 클릭하면 해당 비밀번호를 사용하여 암호화된 압축 파일이 생성됩니다.
비밀번호는 본질적으로 다른 사람이 ‘몰라야’ 하는 정보이므로, 편의성을 위해 압축 파일의 이름에 비밀번호를 적는 것은 곤란합니다. 파일 이름만 보면 비밀번호를 알 수 있다면 다른 사람이 ‘모를 수 없는’ 정보가 되기 때문입니다. 암호화된 파일을 복호화하는 비밀번호는 제3의 경로로 전달하세요. 예를 들어 암호화된 첨부파일을 이메일로 보내고, 비밀번호는 전화를 통해 전달하는 방법을 생각할 수 있습니다. 이렇게 되면 설령 이메일과 함께 암호화된 첨부파일이 유출되더라도 전화통화까지 도청하지 않고서는 비밀번호를 알아낼 수 없어, 공격자로 하여금 공격을 어렵게 만들 수 있습니다.
2. 보안 전용 컴퓨터 별도 운용하기
자료가 유출되지 않는 안전한 환경을 유지하는 것은 어려운 일입니다. 디지털 보안 대책을 정기적으로 점검하더라도 비밀번호와 관련된 정책을 변경하거나, 컴퓨터나 기기에서 사용하는 소프트웨어를 변경하는 수준에서 머무를 수도 있습니다. 최악의 경우 자기도 모르는 사이에 기밀 정보를 유출하고 있지는 않은지, 실질적으로는 전혀 안전하지 않은 디지털 보안 대책의 절차를 기계적으로 관성적으로 유지하고 있는 것은 아닌지를 고민해야 할 수도 있습니다.
<현 시점의 ‘우리 편’과 의논할 사항은?>에서도 다뤘지만, 디지털 보안 위험을 설명하더라도 함께 일하는 동료들이 안전하지 않은 디지털 보안 관행을 요구할 수도 있습니다. 예를 들어, 동료 활동가들이 업무 효율성을 위해 당신에게 자신이 보낸 이메일 첨부파일을 가급적 빠르게 즉시열어보기를 요청할 수도 있습니다. 그러나 그러한 요청은 공격자들이 당신의 동료로 가장해서 악성 소프트웨어를 보낼 경우 바로 악성 코드 감염을 일으키는 원흉이 됩니다.
이러한 상황에서 고려할 수 있는 한 가지 방법은, 좀더 안전한 컴퓨터에만 보안성이 높은 데이터나 통신기록을 보관하고 접근을 통제하는 것입니다. 그 컴퓨터는 단지 가끔씩만 사용하고, 사용할 때에는 훨씬 더 많은 주의를 기울여야 합니다. 이를테면 첨부 파일을 열 필요가 있거나 안전하지 않은 소프트웨어를 이용할 때에는 그 컴퓨터를 사용하지 않도록 해야 합니다. 즉, 첨부 파일을 열고 안전성을 검토하는 작업을 할 때에는 이렇게 설정한 ‘보안 전용 컴퓨터’가 아닌 별도의 컴퓨터가 필요합니다.
‘보안 전용 컴퓨터’를 별도로 마련하는 것이 너무 어렵다면, 테일즈(Tails)와 같이 프라이버시 및 보안에 초점을 둔 운영체제를 사용하는 것도 고려해볼 수 있습니다. 일상적인 업무가 아닌, 민감한 이메일을 주고받는 활동이나 보안이 민감한 파일을 열람하는 수준의 활동을 할 때, 혹은 포렌식 등으로부터 안전한 작업을 할 필요가 있을 때에는 테일즈(Tails) OS가 설치된 USB메모리를 이용하여 컴퓨터를 부팅시키고, 높은 보안 설정을 기본값으로 하여 사용하는 방식을 고려해볼 수 있습니다.
일상적인 업무용 컴퓨터와 별개로 보안 전용 컴퓨터를 운용하는 데는 그리 많은 비용이 들지 않을 수 있습니다. 보안 전용 컴퓨터라는 목적으로는 반드시 최신 노트북을 사용할 필요도 없고, 중고 노트북에서 충분히 많은 작업을 할 수 있습니다.
3. 단일 공격 목표 만들지 않기
높은 기밀성이 필요한 데이터를 보관하기 위해 보안 전용 컴퓨터를 별도로 운용할 경우, 이에 따른 추가적인 위험 요소를 고려해야 합니다. 당신의 소중한 정보를 하나의 컴퓨터에 집중시키면, 이 사실을 알게 된 공격자는 그 ‘보안 전용 컴퓨터’를 단일 공격 목표로 지정하고 오직 그 컴퓨터를 노리기 위해 움직일 수도 있습니다. 이러한 민감한 데이터가 보관되어 있는 ‘보안 전용 컴퓨터’는 그 위치를 가능한 한 숨겨야 하고, 강력한 암호로 드라이브를 암호화하는 것을 잊지 말아야 합니다. 설령 도난당하더라도 비밀번호 없이는 데이터를 읽을 수 없는 상황을 보장해야 합니다.
동시에, 이 하나의 기기를 파괴하면 그 데이터가 복구 불가능하게 파괴될 위험성을 만들 가능성이 있습니다. 공격자는 이러한 데이터가 보존되어 있는 컴퓨터에 대해 랜섬웨어를 심기 위한 공격을 펼쳐올 수도 있습니다. 어떤 식으로든 공격자가 당신의 모든 데이터를 없애는 것으로부터 이익을 얻는다면, 아무리 안전하더라도 데이터를 단 하나의 장소에만 보관하면 곤란합니다. 데이터의 백업 복제본을 암호화하여 또 다른 공간에 보관하는 것이 필요합니다.
4. 물리적으로 격리된 환경 유지하기
인터넷 공격이나 온라인 감시로부터의 가장 높은 수준의 보안을 달성하는 방법은 당연히 인터넷에 연결하지 않는 것입니다. 당신의 보안 전용 컴퓨터를 절대 네트워크나 와이파이에 연결하지 않아야 한다는 말입니다. 데이터를 옮길 때는 네트워크를 사용하지 말고 DVD나 USB 디스크와 같은 물리적인 매체를 이용해 그 컴퓨터에 복제해야 합니다. 네트워크 보안에서 이는 컴퓨터와 세계 사이의 ‘공간 격리(air gap)’라고 표현합니다. 데이터를 거의 접근할 수 없는 상태로 보관하면서 도난당하고 싶지 않다면, 이 정도 수준의 물리적인 격리는 충분히 고려할 가치가 있습니다. 예를 들어, 당신이 중요한 메시지를 위해서만 사용하는 암호키, 비밀번호 목록이나 당신이 없을 경우 다른 사람이 알아야 할 지시 사항, 혹은 당신에게 맡겨진 다른 사람의 사적인 데이터의 백업 복제본 등은 이렇게까지 공들여 물리적으로 격리할 만한 가치가 있습니다. 컴퓨터 전체를 격리하는 것도 좋은 방법이지만, 저장기기만 격리하는 것도 고려해 볼 수 있습니다.
5. 논리적으로 격리된 환경 유지하기
보안 전용 컴퓨터를 굳이 인터넷에 연결해야만 하는 경우, 당신이 일상적인 업무에서 사용하는 계정을 사용하거나 로그인하거나 하는 행위를 해서는 곤란합니다. 보안 전용 컴퓨터에서의 통신에 사용하는 별개의 웹 계정이나 이메일 계정을 만들고, IP 주소를 감추기 위해 토르(Tor)를 사용하는 등의 방법을 써서, 각각의 컴퓨터에서 이뤄지는 행위가 논리적으로 분리되도록 해야 합니다.
6. 보안 위험 컴퓨터 별도 운용하기
보안 전용 컴퓨터를 별도로 운용하는 아이디어를 살짝 비틀어서 안전하지 않은 작업을 할 때에만 사용하는 컴퓨터를 별도로 운용하는 것도 한 가지 방법입니다.즉, 위험한 지역에 가거나 혹은 보안 위협에 노출될 수 있는 작업을 할 때에만 특정 장비를 사용하는 것입니다. 분실하거나 공격자에게 노출되더라도 문제가 될 만한 정보가 전혀 들어있지 않은 별도의 기기를 사용하는 것이 디지털 보안을 유지하는 좋은 방법이 될 수 있습니다.
7. 파일을 안전하게 삭제하려면
클라우드 공간에 저장된 데이터를 복구가 불가능한 방법으로 삭제할 수 있는 방법은 보장되지 않습니다. 복구가 불가능한 형태로 파일의 삭제가 완전히 이뤄져야 하는 상황이 필요하다면, 클라우드 공간에 데이터를 저장해서는 안 됩니다. 네트워크를 통해 누군가에게 전송된 적이 있는 파일은 완전히 삭제하는 것이 불가능할 수 있다는 점을 잊어서는 안 됩니다.
하드디스크, SSD 등 저장장치에 따라 시도해볼 수 있는 파일의 완전한 삭제 방법은 2015년도의 디지털 보안 가이드의 <데이터의 안전한 보호 및 삭제>를 참고하세요. 핵심적인 내용은 “저장장치 자체를 물리적으로 파괴할 수 있다면 가능한 한 물리적으로 산산조각내어 파괴해야 한다”는 것과, 저장장치의 수명을 늘리기 위한 기술로 인해 발생하는 한계를 극복하기 위해 “저장장치의 모든 공간을 쓰레기 데이터로 가득 채우고 삭제하는 작업을 수 차례 반복”해야 한다는 점입니다. 스마트폰의 경우에도 2015년의 디지털 보안 가이드의 <휴대전화 데이터의 안전한 보호 및 삭제>를 참고하세요. 현실적으로 파일의 완전한 삭제를 보장하려면 처음부터 파일이 언제나 암호화된 형태로 저장되어, 애초에 파일이 원본 그대로 복원될 가능성 자체를 낮춰야 한다는 것을 명심하세요.