디지털 보안을 말할 때 가장 먼저 떠올리는 위협은 흔히 해커, 범죄자, 국가기관이다. 이들은 실제로 중요한 위협이다. 그러나 우리의 정보와 활동에 영향을 줄 수 있는 존재는 그보다 훨씬 많다.
우리가 사용하는 운영체제와 플랫폼을 만든 기업, 인터넷 연결을 제공하는 통신사, 업무용 계정을 관리하는 직장, 학생의 기기와 네트워크를 관리하는 학교, 같은 공간에서 생활하는 가족과 동거인, 공동체의 서버와 참가자 명단을 관리하는 동료도 우리의 정보에 접근하거나 행동 가능성을 제한할 수 있다.
그렇다고 이들을 모두 적이나 악인으로 간주해야 한다는 뜻은 아니다. 이 책에서 말하는 위협 행위자는 악의를 품은 사람만을 뜻하지 않는다. 보호하련느 정보와 관계, 활동에 피해를 줄 수 있는 위치와 능력을 가진 사람, 조직, 시스템을 뜻한다.
신뢰하는 동료도 잘못된 설정으로 자료를 외부에 공개할 수 있다. 선의로 운영되는 플랫폼도 사업 모델이나 정책을 변경할 수 있다. 서버 관리자는 외부의 압력을 받거나 계정을 탈취당할 수 있다. 가족은 평소에는 사생활을 존중하다가도 갈등이나 위기 상황에서 기기의 잠금 해제를 요구할 수 있다. 피해는 악의뿐 아니라 실수, 강압, 이해관계의 변화, 기술적 침해를 통해서도 발생한다.
따라서 위협을 분석하는 목적은 사람을 선한 편과 악한 편으로 나누는 데 있지 않다. 누가 어떤 정보와 권한에 접근할 수 있는지, 그 권한이 어떤 조건에서 피해로 이어질 수 있는지, 피해의 가능성과 범위를 어떻게 줄일 수 있는지를 파악하는 데 있다.
보안은 모든 사람을 의심하는 기술이 아니다. 신뢰하더라도 권한을 제한하고, 관계가 변하더라도 피해가 확대되지 않게 하며, 누군가의 선의에 전체 시스템을 의존시키지 않는 설계다.
악의가 없어도 피해는 발생한다
위협은 여러 경로로 발생한다. 어떤 위협은 의도적인 공격에서 비롯되지만, 어떤 위협은 평범한 실수나 제도적 의무, 관계의 변화에서 생겨난다.
악의적 행동은 스토킹, 협박, 계정 탈취, 신원 폭록, 내부 자료 유출처럼 의도적으로 피해를 주는 경우다. 공격자는 정보를 훔치거나 공개하고, 계정을 장악하거나, 상대가 원하지 않는 방식으로 신원을 연결하려 할 수 있다.
실수와 무능은 피해를 의도하지 않았지만 결과적으로 정보를 노출하거나 서비스를 중단시키는 경우다. 잘못된 공개 설정, 수신사 오지정, 백업 실패, 서버 설정 오류, 평문 비밀번호 공유, 공개 링크의 잘못된 배포 등이 여기에 해당한다. 시스템이 복잡할수록 작은 실수 하나가 여러 사람에게 영향을 줄 수 있다.
강압과 의무는 개인이나 조직이 외부의 요구에 따라 정보를 제공하거나 권한을 행사하는 경우다. 서버 운영자는 수사기관의 요구, 직장의 지시, 계약상 의무, 법원의 명령 등에 저항하기 어려울 수 있다. 이때 운영자가 정보를 제공한 이유가 개인적 악의가 아니더라도, 정보의 주체에게는 같은 피해가 발생할 수 있다.
이해관계의 변화는 조직 분열, 개인적 갈등, 관리자 교체, 사업 모델 변경처럼 이전의 신뢰 관계가 유지되지 않는 경우다. 오늘의 동료가 내일도 같은 목적과 이해관계를 공유하리라는 보장은 없다. 서비스 운영자가 바뀌거나 기업이 인수되면 데이터의 처리 방식도 달라질 수 있다.
제3자에 의한 침해는 신뢰하던 사람이나 기관의 기기와 계정이 탈취되어 그 권한이 공격자에게 넘어가는 경우다. 동료에게 부여한 접근 권한은 동료의 계정이 침해되는 순간 공격자의 접근 권한이 될 수 있다. 따라서 신뢰하는 사람에게 권한을 부여한다는 사실과 그 권한을 무제한으로 부여해도 된다는 결론은 서로 다르다.
기능의 실패와 서비스 중단 역시 위협이다. 서버 장애, 계정 정지, 저장장치 고장, 네트워크 차단, 서비스 종료는 정보를 외부에 유출하지 않더라도 활동을 중단시킬 수 있다. 보안은 비밀을 지키는 것뿐 아니라, 필요할 때 계속 사용할 수 있도록 만드는 일이기도 하다.
그러므로 “그 사람은 좋은 사람이므로 안전하다”와 “그 사람은 나쁜 사람이므로 위험하다”라는 판단은 모두 불충분하다. 사람의 성품은 중요할 수 있지만, 보안 설계는 성품만을 전제로 삼을 수 없다.
우리는 다음과 같은 질문을 함께 물어야 한다.
- 그 사람이나 기관은 무엇에 접근할 수 있는가?
- 어떤 정보를 보관하고 있는가?
- 계정을 정지하거나 데이터를 삭제할 수 있는가?
- 다른 사람이나 기관에 정보를 제공할 수 있는가?
- 그 권한이 잘못 사용되었을 때 알 수 있는가?
- 피해가 발생했을 때 이의를 제공하거나 복구할 수 있는가?
위협 모델은 상대의 내면을 추측하는 일이 아니라, 실제로 존재하는 권한과 가능성을 확인하는 과정이다.
국가와 공공기관
국가는 다른 위협 행위자와 달리 법적·물리적 강제력을 가진다. 통신자료와 위치정보를 요구하고, 기기나 서버를 압수하며, 특정 서비스나 사이트에 대한 접속을 차단하고, 개인에게 출석이나 자료 제출을 요구할 수 있다.
국가가 가진 능력은 개인이나 일반 기업이 가진 능력과 질적으로 다르다. 개인은 타인의 기기를 임의로 압수하거나 통신사에 이용자 정보를 요구할 수 없지만, 국가기관은 법률과 절차에 따라 이러한 권한을 행사할 수 있다. 이 권한은 특정 공무원의 개인적 의도와 무관하게 제도적으로 작동한다.
따라서 국가기관을 위협 모델에 포함한다는 것은 모든 공무원이 악의를 품고 있다고 주장하는 것이 아니다. 국가가 정보에 접근하고 사람의 행동을 강제할 수 있는 구조적 능력을 가지고 있다는 사실을 고려하는 것이다.
국가를 하나의 단일안 의지를 가진 존재로 묘사해서도 안 된다. 경찰, 검찰, 법원, 행정기관, 정보기관, 지방정부는 서로 다른 법적 권한과 절차를 가진다. 한 기관이 보유한 정보가 다른 기관과 자동으로 공유된다고 단정할 수도 없다. 어떤 정보가 누구에게 제공될 수 있는지는 법률, 영장, 행정 절차, 기관 간 협조 체계에 따라 달라진다.
그러나 기관이 분리되어 있다는 사실이 정보 집중의 위험을 없애는 것은 아니다. 여러 기관과 민관 사업자가 각각 보유한 기록이 특정 절차를 통해 결합될 경우, 한 개인의 통신, 이동, 금융, 행정 활동이 연결될 수 있다.
국가를 위협 행위자로 분석할 때는 다음을 구분해야 한다.
- 어떤 기관이 어떤 종류의 정보를 요구할 수 있는가
- 영장이나 별도의 법적 절차가 필요한가
- 정보 주체에게 그 사실이 통지되는가
- 수집된 정보는 얼마나 오래 보관되는가
- 다른 기관과 공유될 수 있는가
- 잘못된 수집이나 이용에 이의를 제기할 수 있는가
구체적인 권한과 절차는 국가와 시기마다 달라진다. 따라서 법률에 관한 내용은 추상적인 공포나 낙관에 의존하지 않고, 최신 법령과 판례, 공식 절차를 근거로 확인해야 한다.
플랫폼과 통신 사업자
플랫폼과 통신 사업자는 사용자의 메시지, 연락처, 접속 기록, 기기 정보, 위치정보, 검색 기록, 신고 내역 등을 보유하거나 처리할 수 있다. 그 목적은 광고와 추천, 스팸 방지, 부정 이용 탐지, 서비스 유지, 요금 청구, 법적 의무 이행 등으로 다양하다.
이러한 기업이 위협 모델에 포함되는 핵심적인 이유는 기업의 선의나 악의가 아니라, 데이터와 결정 권한이 집중되어 있다는 사실이다.
기업이 이용자의 정보를 의도적으로 악용하지 않더라도 피해는 발생할 수 있다. 외부 공격자가 서버를 침해할 수 있고, 내부 직원이 권한을 남용할 수 있으며, 기업의 인수합병이나 사업 모델 변경으로 데이터의 이용 조건이 달라질 수 있다. 서비스 약관과 개인정보 처리방침도 변경될 수 있다.
플랫폼은 계정을 정지하거나 게시물을 삭제하고, 특정 기능의 이용을 제한하며, 서비스 자체를 종료할 권한을 갖는다. 이 과정이 자동화도니 시스템에 의해 이루어질 수도 있고, 사용자는 결정의 이유를 충분히 설명받지 못하거나 이의를 제기하기 어려울 수 있다.
어떤 서비스가 종단간 암호화를 제공한다고 해서 플랫폼이 아무 정보도 알 수 없는 것은 아니다. 메시지 내용은 보호되더라도 누가 누구와 연락했는지, 언제 접속했는지, 어떤 기기를 사용했는지, 어느 지역에서 접속했는지와 같은 메타데이터는 남을 수 있다. 전화번호나 결제 정보, 앱스토어 계정이 신원과 연결될 수 있다.
통신 사업자는 인터넷과 이동통신을 제공하는 과정에서 가입자 정보, 접속 정보, 기지국 연결 기록, 요금 정보 등을 처리한다. 이용자는 서비스를 사용하기 위해 이러한 사업자를 완전히 우회하기 어렵다. 특히 한 사람의 법적 신원, 전화번호, 기기, 결제 수단이 긴밀하게 연결된 환경에서는 통신 기록이 다른 활동과 결합될 가능성이 커진다.
따라서 플랫폼과 통신 사업자를 분석할 때는 다음과 같은 질문이 필요하다.
- 서비스 이용에 어떤 개인정보가 필요한가
- 어떤 데이터가 기기 안에 남고 어떤 데이터가 서버로 전송되는가
- 메시지 내용과 메타데이터 중 무엇이 보호되는가
- 계정과 데이터에 대한 최종 결정권은 누구에게 있는가
- 계정을 정지당했을 때 데이터를 내보낼 수 있는가
- 서비스가 종료되거나 정책이 변경되면 다른 곳으로 이동할 수가 있는가
기업이 위협 모델에 포함되는 이유는 기업이 본질적으로 악하기 때문이 아니다. 많은 정보를 보유하고, 계정과 서비스에 대한 일방적인 결정권을 가지며, 이용자가 그 관계에서 쉽게 이탈하기 어려울 수 있기 때문이다.
직장과 학교
직장과 학교는 업무와 학습을 위해 기기, 계정, 네트워크, 소프트웨어를 제공하거나 사용을 요구한다. 이러한 시스템의 관리자는 접속 기록, 이메일, 파일, 출입 기록, 기기 상태, 웹사이트 이용 내역 등에 접근할 수 있다.
업무용 기기와 계정은 일반적으로 개인의 소유물이 아니다. 사용자가 비밀번호를 설정했더라도 조직의 관리자가 기기를 초기화하거나 계정을 복구하고, 특정 프로그램을 설치하거나 접근을 제한할 수 있다. 조직이 제공한 네트워크를 이용하면 접속 대상과 트래픽의 일부가 기록될 수도 있다.
이러한 관리는 서비스 유지와 보안 사고 대응을 위해 필요할 수 있다. 악성코드 감염이나 정보 유출을 방지하기 위해 기기를 관리하고 접근 권한을 제한하는 일 자체를 모두 부당한 감시라고 볼 수는 없다.
그러나 관리 목적과 실제 권한 사이에는 차이가 있다. 업무 보안을 위해 도입된 도구가 직원의 근무 상태와 행동을 세밀하게 감시하는 데 사용될 수 있고, 학생 보호를 위해 설치된 프로그램이 학생의 사적인 활동까지 수집할 수 있다.
특히 개인용 계정과 업무용 계정, 개인 기기와 조직 기기를 혼합하면 서로 다른 영역의 정보가 결합될 수 있다. 업무용 이메일을 개인 계정의 복구 주소로 사용하거나, 조직 기기에 개인 메신저와 사진을 저장하거나, 개인 기기 전체에 조직 관리 프로그램을 설치하면 조직의 관리 권한이 사적 영역까지 확장될 수 있다.
따라서 직장과 학교의 시스템에서는 다음을 구분하는 것이 중요하다.
- 기기와 계정의 소유자는 누구인가
- 관리자는 무엇을 볼 수 있는가
- 어떤 데이터가 기록되는가
- 개인적 이용이 허용되는가
- 퇴사나 졸업 이후 데이터와 계정은 어떻게 처리되는가
- 개인 기기에 설치된 관리 프로그램은 어떤 권한을 가지는가
조직이 제공한 시스템에는 조직의 통제가 따른다. 문제는 이러한 통제의 범위가 사용자에게 충분히 설명되는지, 목적에 비해 과도하지 않은지, 사적 영역까지 침범하지 않는지다.
가족과 동거인
가족과 동거인은 다른 위협 행위자보다 물리적으로 가까운 위치에 있다. 같은 공간에서 생활하기 때문에 잠금이 해제된 기기, 화면에 표시된 알림, 우편물, 공유 컴퓨터, 공유 네트워크, 비밀번호가 적힌 메모 등에 접근할 가능성이 크다.
가까운 관계에 있다는 이유만으로 상대를 위협으로 간주해야 하는 것은 아니다. 가족과 동거인은 기기 분실이나 사고가 발생했을 때 계정 복구를 돕고, 긴급 상황에서 연락과 지원을 제공할 수도 있다.
그러나 친밀성과 접근 권한은 같은 것이 아니다. 서로를 신뢰한다는 사실이 모든 메시지와 계정, 위치, 검색 기록을 공유해야 한다는 뜻은 아니다.
관계는 변할 수 있다. 평소에는 사생활을 존중하던 사람도 갈등이나 이별, 재산 문제, 양육권 분쟁, 정치적·종교적 충돌이 발생하면 기존에 알고 있던 비밀번호와 계정 정보를 사용할 수 있다. 공동으로 사용하던 클라우드 저장소나 위치 공유 기능이 감시 수단으로 바뀔 수도 있다.
특히 스토킹과 가정 내 폭력, 강압적 통제가 존재하는 상황에서는 일반적인 보안 조언이 오히려 위험할 수 있다. 비밀번호를 갑자기 변경하거나 위치 공유를 중단하는 행동이 상대에게 발견되면 갈등이나 폭력이 악화될 수 있기 때문이다. 이런 경우에는 기술적으로 가장 강한 조치보다 당사자의 안전과 상황에 맞는 단계적 계획이 우선되어야 한다.
가족과 동거인에 대한 위협 모델에서는 다음을 고려할 수 있다.
- 누가 기기에 물리적으로 접근할 수 있는가
- 화면 잠금과 알림 내용이 외부에서 보이는가
- 계정 복구 수단을 누가 알고 있는가
- 위치와 사진, 캘린더가 자동으로 공유되고 있는가
- 공유 기기나 공유 브라우저에 계정이 로그인되어 있는가
- 조치를 변경했을 때 상대가 즉시 알아차릴 가능성이 있는가
가까운 관계에서의 보안은 모든 정보를 숨기는 일이 아니라, 각자가 자신의 경계와 정보 공개 범위를 결정할 수 있게 하는 일이다.
공동체와 운동 조직
공동체와 운동 조직은 외부의 감시와 억압에 저항하기 위해 보안을 중요하게 여길 수 있다. 그러나 공동의 목적과 정치적 신뢰가 내부의 위험을 자동으로 제거하지는 않는다.
조직의 관리자는 참가자 명단, 연락처, 회의 기록, 후원 내역, 서버 로그, 공동 계정, 행사 장소 정보 등에 접근할 수 있다. 이러한 정보는 운영을 위해 필요할 수 있지만, 한 사람이나 소수에게 집중될수록 피해의 범위도 커진다.
관리자가 선의를 가진 활동가라 하더라도 실수할 수 있다. 계정이 탈취되거나 기기가 압수될 수도 있고, 외부의 압력에 직면할 수도 있다. 조직 내부의 갈등과 분열이 발생하면 기존의 접근 권한이 상대를 배제하거나 정보를 공개하는 데 사용될 수도 있다.
따라서 내부 위협을 다룬다는 것은 모든 동료를 잠재적 배신자로 간주하는 일이 아니다. 누구도 배신하거나 실수하지 않을 것이라는 가정 없이도 공동체가 유지될 수 있게 만드는 일이다.
예를 들어 참가자 명단이 필요하다면 다음을 물어야 한다.
- 실명과 전화번호를 모두 수집해야 하는가
- 행사 이후에도 명단을 보관해야 하는가
- 누가 명단을 열람할 수 있는가
- 접근 기록이 남는가
- 관리자 역할이 끝나면 권한이 회수되는가
- 참가자가 자기 정보의 삭제를 요청할 수 있는가
공동체의 보안은 정보의 수집과 접근을 최소화하고, 권한을 나누며, 관리자의 결정에 이의를 제기할 수 있게 해야 한다. 공동체의 안전을 이유로 구성원의 기기를 검사하거나 과도한 신원 확인을 요구하고, 보안 규칙에 대한 질문을 불충으로 취급한다면 보안은 내부 통제의 명분이 될 수 있다.
기술 관리자
서버 운영자, 개발자, 보안 담당자는 시스템을 보호하는 역할을 맡지만, 동시에 광범위한 접근 권한을 가지기 쉽다. 데이터베이스, 로그, 백업, 암호화 키, 도메인, 관리자 계정이 한 사람에게 집중될 수도 있다.
기술 지식의 차이는 권력의 차이로 이어질 수 있다. 다른 구성원이 시스템의 작동 방식을 이해하지 못하고 관리자만 설정과 복구 방법을 안다면, 그 관리자를 교체하거나 시스템을 떠나는 일이 어려워진다.
자가 호스팅 서비스도 마찬가지다. 상업 플랫폼을 떠나 공동체가 직접 서버를 운영하더라도, 한 명의 운영자가 모든 계정과 데이터를 통제한다면 중앙집중적 권력이 사라진 것이 아니라 위치만 바뀐 것이다.
기술 관리자의 권한을 줄이기 위해서는 다음과 같은 구조가 필요하다.
- 관리자 계정을 개인 계정과 분리한다.
- 최소한의 권한만 부여한다.
- 중요한 작업에는 여러 사람의 승인을 요구한다.
- 설정과 복구 절차를 문서화한다.
- 백업과 핵심 키를 한 사람에게만 맡기지 않는다.
- 관리자 교체와 권한 회수 절차를 마련한다.
- 가능하다면 관리자가 메시지 내용이나 개인 데이터에 접근하지 못하도록 암호화한다.
신뢰할 만한 관리자는 필요할 수 있다. 그러나 좋은 관리자를 찾는 것과 관리자에게 무제한의 권한을 주는 것은 다른 문제다.
자기 자신도 위협 모델에 포함된다
위협은 외부에서만 오지 않는다. 사용자 자신도 실수와 피로, 습관, 공포, 충동 때문에 보안 사고를 일으킬 수 있다.
잘못된 사람에게 파일을 보내거나, 급한 상황에서 피싱 링크를 누르거나, 백업하지 않은 기기를 잃어버릴 수 있다. 여러 계정에서 같은 비밀번호나 같은 닉네임을 반복해서 사용하여 서로 다른 신원이 연결될 수도 있다. 감정적으로 격양된 상태에서 공개해서는 안될 정보를 게시할 수도 있다.
그러나 이를 근거로 사용자를 ‘보안의 가장 약한 고리’라고 비난해서는 안 된다. 사람이 실수한다는 비정상적인 예외가 아니라 보안 설계의 출발점이다.
사용자가 항상 침착하고, 모든 경고를 읽고, 복잡한 절차를 정확히 따를 것이라고 가정하는 시스템은 현실에서 쉽게 실패한다. 피로하거나 기술에 익숙하지 않은 사람도 큰 피해 없이 사용할 수 있고, 실수가 발생하더라도 피해가 제한되며, 복구할 수 있는 시스템이 더 안전하다.
좋은 보안은 완벽한 사용자를 요구하지 않는다. 사람의 한계를 고려해 실수를 줄이고, 실수가 곧바로 파국으로 이어지지 않게 한다.
위협을 평가하는 기준
서로 다른 위협 행위자를 같은 기준으로 단순 비교할 수는 없다. 국가기관, 플랫폼 기업, 가족, 공동체 관리자는 서로 다른 권한과 능력을 가진다.
그러나 다음 기준을 사용하면 각 행위자가 어떤 종류의 위협이 될 수 있는지 구체적으로 분석할 수 있다.
접근 능력은 기기, 계정, 메시지, 파일, 위치, 물리적 공간 가운데 무엇에 접근할 수 있는지를 뜻한다.
식별 능력은 가명과 법적 신원, 서로 다른 계정, 온라인 활동과 오프라인 활동은 연결할 수 있는지를 뜻한다.
통제 능력은 계정을 정지하고, 게시물을 삭제하며, 서비스를 차단하거나 다른 사람의 접근 권한을 박탈할 수 있는지를 뜻한다.
강제 능력은 정보를 요구하고, 요구를 거부한 사람에게 법적·경제적·사회적 불이익을 줄 수 있는지를 뜻한다.
지속성은 일시적으로 정보를 볼 수 있는지, 장기간 정보를 저장하고 반복적으로 분석할 수 있는지를 뜻한다.
확장 가능성은 한 번의 접근으로 한 사람의 정보만 얻는지, 수천 명이나 수백만 명의 정보를 동시에 수집할 수 있는지를 뜻한다.
책임 가능성은 권한이 행사되었을 떄 당사자가 그 사실을 알 수 있는지, 설명을 요구하거나 이의를 제기할 수 있는지를 뜻한다.
이 기준들을 통해 위협을 분석하면 “누가 더 악한가”라는 질문에서 벗어날 수 있다. 중요한 것은 상대의 도덕적 정체성이 아니라, 그가 무엇을 할 수 있고 그 결과가 어떻게 나타나는가이다.
신뢰와 권한은 다르다
신뢰는 공동체와 관계를 유지하는 데 필요하다. 모든 사람을 의심하고 모든 정보를 숨기는 방식으로는 협력도 상호부조도 지속하기 어렵다.
그러나 신뢰는 무제한의 권한을 의미하지 않는다. 신뢰하는 사람에게도 필요한 범위 이상의 개인정보를 제공하지 않을 수 있고, 동료에게 관리자 권한을 맡기면서도 작업 기록과 권한 회수 절차를 마련할 수 있다.
권한을 제한하는 것은 상대를 모욕하거나 배신자로 취급하는 일이 아니다. 오히려 한 사람에게 과도한 책임과 위험이 집중되지 않게 하는 방법이 될 수 있다. 관리자가 모든 정보와 복구 수단을 혼자 보유한다면, 그 사람 역시 실수와 공격, 외부 압력에 더 취약해진다.
우리는 사람을 신뢰할 수 있다. 그러나 시스템 전체를 그 신뢰에 맡길 필요는 없다.
보안의 목적은 누구도 믿지 않는 사회를 만드는 것이 아니다. 누군가를 믿지 않게 되었을 때도, 관계가 변했을 때도, 한 사람이 실수하거나 압력을 받을 때도 모두가 함께 무너지지 않는 구조를 만드는 것이다.