기업 보안 취약점으로서의 임직원, 그리고 블록체인의 가능성

in #coinkorea7 years ago (edited)

기업은 정보 유출과 같은 보안 사고를 방지하고 자사의 데이터, 네트워크를 보호하기 위해 인프라에 많은 투자를 합니다. 그러나 아직도 기업 규모가 매우 크지 않은 기업들은 또 하나의 중요한 보안 위험 요소를 간과하거나, 과소평가 하는 것으로 보입니다. 그것은 바로 회사의 임직원입니다.

"소셜 엔지니어링", 한 번쯤은 들어보셨을 단어입니다. 단순 직역하면 사회공학 정도의 단어가 됩니다. 그러나 해킹 기술의 맥락에서는 번역 없이 '소셜 엔지니어링'을 그대로 사용함으로써 다음과 같은 의미를 표현합니다.

사람의 심리를 악용해 시스템 또는 데이터, 건물에 대한 출입 권한을 확보하는 기술, 사회공학적 공격(Social Engineering Attacks)

이번 포스팅에서는 소셜 엔지니어링의 의미, 악용 사례 그리고 기업의 대처법을 간략하게 살핍니다. 그 다음에 블록체인이 이러한 보안 리스크에 어떻게 기여할 수 있는지를 생각해 볼 겁니다.

Social-Engineering-400x266.png

기업 보안 취약점으로서의 임직원,

그리고 블록체인의 가능성

목차

1. 소셜 엔지니어링, 인간의 어리석음에 대해서는 패치가 없다

2. 기업의 대처법 - 교육, 문화, 게이미피케이션(gamification)

3. 내재적 신뢰 모델을 극복하기 위한 수단, 블록체인

4. 마치며

1. 소셜 엔지니어링, "인간의 어리석음에 대해서는 패치가 없다"

영어라서 왠지 대단해 보이는 소셜 엔지니어링은 일반적인 사례로 금방 이해될 수 있을 것 같습니다.

  • IT 직원을 사칭하여 진짜 직원이 비밀번호를 누설하도록 유도
  • 악성코드 또는 트로이 목마가 담긴 파일을 첨부한 이메일을 전송한 뒤, 다른 부서 직원을 사칭하여 수신자에게 이메일 확인을 요청

우리가 흔히 알고 있는 피싱과 다를 바 없습니다. 그 대상이 기업이라는 점이 다를 뿐이죠. 소셜 엔지니어링 공격은 인간이라는 취약점을 교묘하게 공격함으로써, 기업이 돈을 쏟아부어 구축한 보안 체계를 아주 적은 비용으로 무력화시킬 수 있습니다.

소셜 엔지니어는 사람의 본성과 감정을 공략하기 위해 다양한 수단을 복합적으로 사용하며, 필요하다면 오랜 시간동안 사칭 신분으로 직원과 친분을 쌓기도 합니다. 사례만 보았을 때는 매우 뻔한 수법처럼 보이지만, 관련된 교육을 받은 적이 없고 평소에 소셜 엔지니어링을 염두에 두지 않는다면 언제든지 우리도 그 당사자가 될 수 있습니다.

소셜 엔지니어링 방어 및 대처 능력을 기르기 위해 많은 기업들이 침투 테스트를 시행합니다. 이러한 침투 테스트의 대표적 사례로는 사이버 보안 및 기밀 유지에 전문화된 모 정부기관을 대상으로 진행된 "에밀리 윌리엄스" 침투 테스트가 있습니다.

  1. 침투 전문가 아미르 라카니는 "에밀리 윌리엄스"라는 젊은 여성으로 가짜 ID를 만들어 해당 기간의 신입사원을 사칭
    • 구글 등에서 에밀리를 검색했을 때, 28세 MIT 졸업생이라는 소셜 미디어 프로필과 동일 정보가 뜨도록 사전 조치
  2. 테스트 개시 후 24시간+ 동안
    • "에밀리 윌리엄스"는 대상 기관에 근무하는 60명의 페이스북 친구, 55명의 링크드인 친구를 사귐
    • 다른 세 곳의 기업에서 일자리 제안을 받음
    • 시간이 더 경과하자 남성 직원들로부터 적응을 도와주겠다는 메시지를 수신
      "회사 노트북 및 네트워크에 일반 경로를 우회해 접속하는 방법을 알려주겠다"
  3. 침투 테스트 팀은 크리스마스 카드를 담은 웹사이트를 만들어 에밀리의 SNS 프로필에 게시
    • 링크를 통해 웹사이트에 진입한 사람들은 자바 애플릿을 실행하라는 메시지를 수신
    • 이 애플릿은 SSL 연결을 통해 테스트 팀에 리버스 쉘(reverse shell)을 반송하는 기능을 수행
      *악성코드를 이용해 피해자 PC가 스스로 리버스 쉘을 넘기도록 함으로써 방화벽을 우회해 관리권한을 탈취
  4. (고도화된 해킹 기술이 아니었음에도 불구) 쉘을 수신한 테스트 팀은 관리자 권한을 획득
    • 대상 기관 직원의 PC에 다른 어플리케이션을 설치하거나 중요 문서를 탈취하는 데 성공
  5. 침투 테스트의 모든 목표를 시작 1주일 만에 모두 달성함

위의 사례에서 사용된 해킹 기법은 사실은 매우 잘 알려진 것들입니다. 그러나 회사의 동료라는 신뢰 관계가 섬뜩하리만치 잘 작동할 경우, 얼마나 단순한 방법으로 소셜 엔지니어링 공격을 성공시킬 수 있는 지 잘 보여주는 사례이지요.

"인간의 어리석음에 대해서는 패치가 없다"라는 소제목과 같이, 직원은 인간이기에 보안 인프라와 같이 많은 돈을 투자하여 반복적인 패치를 할 수는 없습니다. 대신, 기업은 교육과 문화라는 측면에서 이러한 리스크를 관리하고자 노력하고 있습니다.

2. 기업의 대처법 - 교육, 문화, 게이미피케이션(gamification)

소셜 엔지니어링 공격은 악의를 가진 내부 직원의 범죄와는 그 성격이 정반대로, 임직원의 무지로 인해서 기업이 손실을 입게 되는 케이스입니다. 따라서 '취약점'으로 공격당한 임직원에게 책임을 지우는 일은 그다지 합리적이고 효과적인 방법은 아닐 겁니다.

그럼에도 불구하고, 피싱 이메일을 클릭한 직원이 불이익 또는 처벌을 받는 경우도 심심치 않게 찾아볼 수 있습니다. 피시미(PhishMe)의 2016년 보고서에 따르면 사이버 공격의 91%와 그로 인해 발생한 데이터 유출은 피싱 이메일의 클릭에서 시작되기 때문이죠.

그래서 임직원을 대상으로 하는 보안 교육의 필요성이 높아지고 있습니다. 사이버보안 벤처스(Cybersecurity Ventures)는 보안 인식 교육 시장이 2014년 10억 달러에서 2027년 100억 달러로 성장할 것으로 전망했습니다. 마이크로소프트는 소셜 엔지니어링의 공격 대상 규모가 2021년까지 40억 명을 넘길 것으로 예측했습니다.

기업은 사전 예방책으로서의 교육을 통해, 소셜 엔지니어링에 대한 항시 경계태세(?)를 기업의 문화로 정착시키기를 원합니다. 시스코, 페이스북, 구글, 인텔, MS 등 주요 기술 기업들이 참여하는 NCSA(National Cyber Security Alliance) 디렉터 마이클 케이서는 "모든 규모의 기업들이 업무 공간의 안전과 보호를 위해 직원들의 역할이 중요하다는 것을 주입해야만 한다"면서, "사이버 보안 교육은 일회성 교육이나 세미나를 듣는 것을 이야기하는 것이 아니다. 보안을 협업적이고 지속적인 문화로 만드는 것"이라고 강조한 것처럼요.

이에 따라 수많은 보안 교육 업체들이 다양한 기법을 적용한 독특한 보안 교육 서비스를 제공하고 있습니다. 교육에 대한 직원들의 참여 수준을 높이고 동기를 부여하기 위해, 기획의 중요 요소로서 "스토리텔링" 또는 "게이미피케이션"을 적용한 것이 특징입니다.

gamification-edu

게이미피케이션(gamification)

특정 애플리케이션의 실행 또는 어떤 행동을 유도하기 위해서, 행동에 대해 심리적 보상을 제공하는 게임 플레이 기법을 적용하는 것. [도전과제 제시] - [학습 및 행동] - [보상 획득] 프로세스를 반복하고자 하는 인간 경향을 이용해 특정한 행동을 조장하는 방식으로 동작한다. 마케팅 분야에서 활발하게 적용되고 있으며, 그 외에도 헬스케어, 쇼핑, 교육, 스포츠의 분야에서도 일부 적용

  • 과제 달성 시 디지털 "배지" 지급
  • 순위표(랭킹) 시각화
  • 활동과 활동 사이에 기분전환을 위한 캐주얼 게임(ex. 테트리스) 삽입

독특한 보안 인식 프로그램 및 도구 사례

  • 디지털 디펜스 (Digital Defense) : 유명 헐리우드 코미디 작가와 협업하여 보안 교육 프로그램 제작
  • 노우비포(KnowBe4) : 유명한 해커인 케빈 미트닉을 촬영해 영화를 보는 것과 같은 형태의 교육 프로그램 제작
  • 미디어프로(MediaPro) : 성공적인 보안 교육의 핵심인 "매력적인 콘텐츠"를 만드는 툴킷을 기업들에게 제공
  • 피시미(PhishMe) : 직원들에게 피싱 공격을 반복하는 모의 피싱 교육을 통해 직원들을 인간 방화벽으로 변모
  • 테라노바(Terranova) : 보안의 중요성을 직원에게 인식시키는 맞춤형 뉴스레터 등의 사후 교육 도구로 보안 문화 형성을 유도

왜 임직원 대상 보안 교육이 게이미피케이션 디자인을 도입하고, "재미"와 "흥미"를 자극하는 접근방식을 취하는 것일까요? 우선 첫째로, 흥미없는 분야를 학습하는 것은 언제나 지루한 일이기 때문입니다.

그러나 조금 더 생각해 보면, 기업이 소셜 엔지니어링 리스크를 막기 위해서 보안 교육 서비스를 구입하는 것 이상의 지출을 꺼리기 때문이라고도 생각할 수 있어요. 달리 말하면 임직원이 교육에서 배운 사항을 잘 이행하는 것에 계속 보상을 지급하기보다는, "재미"를 통한 "무의식적 내면화 = 문화의 형성"이 훨씬 남는 장사라는 거죠.

임직원 입장에서 보안 교육이란 일종의 업무 지시와 같습니다. 추가 보상 없이 기존 업무에 새로운 일이 더해지는 것과 같죠. 이 새로운 임무의 특성은 계량화하기가 다소 어려워 보입니다. 소셜 엔지니어링 공격이 들어오지 않는다면 아무것도 하지 않아도 되지만, 뒤집어 생각해 보면 "언제든 발생 가능한 일"에 대해서 "항시 준비 자세를 취해야 하는" 형태의 업무.

5분대기조 비스무리한 느낌의 속성을 갖는 업무에 대해서 기업 입장에서도 금전적인 보상이나 인센티브 정책을 세우는 데 곤란한 점이 존재하는 것이지요.

여기까지 살펴본 내용으로부터, 우리는 소셜 엔지니어링으로 인한 보안 리스크의 예방책에서 "신의성실의 원칙"같은 사람 냄새가 물씬 풍긴다는 점을 알 수 있습니다.

ibelieveinyou1

ibelieveinyou2

기업은 임직원에게 기업 보안을 지키는 일련의 행위를 하나의 문화로 받아들이고 일상화, 내면화, 습관화하기를 바랍니다. 그래서 그러한 내용을 교육하고, 직원이 교육받은 내용을 성실하게 이행할 것을 "믿습니다". 그러한 성실한 이행이 지속되고 집단화하여 하나의 "문화"로 자리잡을 것을 "기대합니다".

이러한 신뢰는 그러나 악의없는 한 번의 실수로 인해서 쉽게 깨질 수 있습니다. 그 이후에는 "기대를 저버린" 직원에게 기업이 철퇴를 내리고, 해고하지 않았다면 이후로는 소셜 엔지니어링 공격에 당하지 않을 것이라고 다시금 "믿습니다".

3. 내재적 신뢰 모델을 극복하기 위한 수단, 블록체인

trustless-protocol

WARNING!

이하 내용은 저의 짧은 지식을 바탕으로 하는 주관적 의견이며,

확실하게 검증된 결과 또는 근거를 토대로 하지 않습니다.


위에서 살펴 본 많은 기업들의 대처 방식은 어딘가 대한민국의 악명높은 액티브 X를 떠오르게 합니다. 부가적인 프로그램을 강제로 설치시키고 이후에 발생하는 모든 책임과 문제에 대한 면죄부가 되는 것이지요. 이것은 사용자로선 억울할 수 있지만 기업 입장에서 정당화될 수 있는 방법입니다.

그렇지만 액티브 X와는 다르게, 소셜 엔지니어링 공격이 성공했을 때 실제로 피해를 입는 것은 기업입니다. 그렇기에 액티브 X 같은 접근방식은 기업 스스로에게도 그다지 좋은 방향이 아닙니다. 스피어NY(SphereNY) 정보보안 부사장 스트리트는 바람직한 방향성에 관하여 아래와 같이 언급한 바 있습니다.

"기술이 모든 것을 해결할 것처럼 보안인식 교육을 바라보고 있는데, 이는 기술적인 문제다. 하지만 우리가 직면한 문제는 기술적인 게 아니라 인간의 문제다"
"그러나 이런 사건이 일어나기 전에 직원들은 교육을 받아야 하며, 보안팀은 어떻게 해야 하는지 직원에게 가르쳐줘야 한다. 보안은 필수 사항이며, 보안 정책을 따르지 않으면 모든 직원이 염려하는 부정적인 사태가 발생할 수 있다는 사실을 알고 있어야 한다"
"직원을 지나치게 압박하는 느낌을 주지 않으면서 직원의 안전을 유지하는 (보안) 인식 프로그램을 구축해야 한다. 해답은 바로 게이미피케이션과 열린 커뮤니케이션이다"
"이 프로그램의 핵심은 인간은 누구나 실수를 하는 것이기에 직원들이 피해자로 처벌받지 않도록 보장하는 것이다. 전체적인 목표는 탐지 및 인식을 높이는 동시에 대응력을 향상시키는 것이다"
"이제 인간을 자산처럼 다루기 시작해야 한다. 정보보안 팀의 실제적인 부분처럼 말이다. 직원에게는 장기적인 목표를 위해 보안의 일부가 되는 것이 더 낫다는 것을 이해시켜야 한다"

스트리트가 제시한 바람직한 방향은 현재 가능한 최선에 가깝다고 보여집니다. 임직원 모두를 정보보안 팀의 일부로서, 전사적인 소셜 엔지니어링 공격 탐지 및 대응력 향상을 목표로 "실수롤 허용하는" 인센티브 시스템을 만드는 것이죠. 스트리트가 언급한 인센티브/보상이란 게이미피케이션과 커뮤니케이션에서 비롯되는 심리적 가치로 보여집니다만, 경제적 인센티브가 더 확실한 방법임은 굳이 말할 필요가 없을 것입니다.

스트리트의 이야기에 블록체인 기술을 전제한다면 조금 더 욕심을 낼 수도 있겠습니다. 인간을 믿지 않아도 되는 시스템(trustless)의 구축이죠. 정확히 말하자면, 신뢰에 덜 의존하는 방향으로 나아가는 겁니다.

신뢰에 불가피하게 의존해야 하는 것은 우선 "직원이 악의를 가지고 있지 않을 것" 입니다. 이것은 별도 프로세스를 통해 검증될 수 있지만, 어찌 되었든 외부 프로세스 또는 프로세스를 실행한 주체를 믿는다는 전제를 내포합니다. 오프라인을 통한 소셜 엔지니어의 접근 또한 직원에 대한 신뢰에 크게 의존해야 합니다.

집중해야 할 곳은 시스템 차원의 자동화를 통해 신뢰 의존성을 없앨 수 있는 부분입니다. 소셜 엔지니어링 방지를 위한 정보보안 사항, 구체적으로는 외부로부터 사내 네트워크로 들어오는 정보(이메일 등)를 임직원들이 어떻게 취급하는가, 즉 보안 준수사항을 잘 이행하는지 확인하는 것이죠. 그 전에 더욱 중요한 것은, 하나하나 암기하기 힘든 보안 준수사항에서 자동적 또는 사전적으로 처리할 수 있는 부분은 모두 자동화/사전처리 하는 것입니다.

이러한 목적을 달성하기 위해서 사내 커뮤니케이션을 위한 커뮤니케이션을 프라이빗 블록체인 위에서 동작하는 dApp으로 진행한다면 어떨까요? 이전 포스팅 블록체인은 언제 도입해도 되는 것일까?에 따르면, 소셜 엔지니어링 방어를 위한 사내 커뮤니케이션 dApp은 아래와 같은 조건을 충족한다고 보여집니다.

  • 데이터 기밀 유지 및 부인봉쇄를 위한 데이터 암호화의 필요성
    • 사내 커뮤니케이션의 의사결정 등 민감한 정보가 포함되는 프라이빗 블록체인으로 정보 암호화 필요
  • 비즈니스 시스템 참여자에게 공통의 규칙이 적용됨
    • 소셜 엔지니어링 피해 방지를 위해서 전사적으로 요구되는 준수사항을 일괄 적용
  • 모든 참여자가 확인할 수 있는 객관적이며 수정 불가능한 히스토리/ 로그/ 사실관계가 필요
    • 추후 정보유출 등 문제 발생 시 빠르게 시발점 및 원인 파악 가능

또한 블록체인을 적용하면 안 되는 4가지 사항과 관련해서는 아래와 같습니다.

  1. 기밀 데이터가 비즈니스 프로세스에 포함되는 경우
    • 정보 확인 및 추적 범위를 업무에 포함되는 사내 커뮤니케이션에 한정, 책임의 준수 여부를 확인하는 목적의 프라이빗 블록체인 어플리케이션으로 개인정보 침해의 소지는 거의 없다고 생각됩니다.
  2. 비즈니스 프로세스가 대용량 데이터를 저장해야 하는 경우
    • 해당사항 없음
  3. 거래 규칙이 자주 바뀌는 경우
    • 이러한 어플리케이션에서의 거래 규칙은 보안 준수 사항의 이행 여부에 따른 처벌 또는 보상이 되며, 소셜 엔지니어링 기법이 다변화할 수록 거래 규칙 또한 자주 변경되어야 합니다.
    • 2016년 피시미(PhishMe)의 조사와 같이, 소셜 엔지니어링을 통한 정보 유출의 90% 이상이 피싱 이메일의 클릭에서 비롯됩니다.
    • 따라서 거래 규칙은 피싱 이메일 체크를 중심으로 작성되어 잦은 변경 또는 업데이트가 필요하지 않을 것으로 판단됩니다.
  4. 데이터 수집 및 저장을 위해 외부 서비스를 이용해야 하는 경우
    • 소셜 엔지니어링 위협 요소가 본래 외부에 존재함을 생각해 볼 때, 외부 서비스로부터 정보를 받고 확인하는 신탁자(oracle)의 존재는 필요할 수 있다고 생각됩니다.
    • 그러나 허가제를 채택하는 엔터프라이즈용 프라이빗 블록체인에서 신탁자의 도입은 본래의 목적성을 크게 훼손하지 않는 것으로 판단됩니다.

이러한 블록체인 dApp을 도입함에 따라 기대되는 긍정적 효과는 다음과 같습니다.

  • 일부 보안 준수 프로세스의 일부를 자동화함에 따라:
    • 임직원의 실수 등으로 인한 리스크 발생 여지 감소
    • 준수사항 이행을 위해 임직원 개개인이 소모하는 시간/비용의 감소 = 리소스 절감
  • 블록체인의 수정 불가능성으로 인해 로그 데이터의 신뢰성 확보
    • 임직원 간에 강한 정치적 관계가 존재하거나 불신하는 정도가 강한 경우 효과적
  • 사내 핵심정보 유출 등의 악의적 행위 차단, 사내 커뮤니케이션 현황 파악을 통한 커뮤니케이션 프로세스 개선 등 추가적인 활용이 가능

한편 예상되는 부정적인 효과는 다음과 같습니다.

  • 직장 내 개인 프라이버시와 관련된 잠재적 이슈 (신설 규제안 등)
  • 임직원의 유대와 신뢰 수준이 높을수록 중앙식 데이터베이스로도 구현 가능한 시스템
  • 블록체인 자체가 아닌 dApp 소프트웨어의 취약점 공격

교육이 유효하지 않은 수단이라는 것은 아닙니다. 소셜 엔지니어링이 오프라인에서 발생할 가능성을 결코 배제할 수 없으며, 따라서 흥미롭게 잘 디자인 된 교육 프로그램도 필수적인 하나의 축입니다.

그러나 블록체인은 인간의 예측 불가능성을 시스템적으로 보완할 수 있고, 이 블록체인 데이터베이스를 전사적인 정보보안 문화 구축의 시발점으로 삼는 것도 가능하다고 생각합니다. 사장님도 말단 신입과 동일한 블록체인 위에서 같은 규칙을 지키며 커뮤니케이션을 하고 있다면, 이것도 훌륭한 동기부여가 되지 않을까 하는 생각도 듭니다.

4. 마치며

여기까지 작성해 놓고 보니, "좋긴 좋을 텐데 굳이 블록체인을 써야 하나" 라는 (슬픈) 생각이 듭니다. 사실은 요즘 생각해 왔던, 블록체인이 필요해 보이는 분야 다수가 그렇습니다. 블록체인이 한계를 극복해 나가면서 적용 가능한 분야가 계속해서 넓어지겠지만요. 아직도 발전 중인 블록체인 기술과 제가 가진 지식의 모자름이 더해져 한층 더 블록체인이 활약할 수 있는 새로운 무대를 찾는 것이 어렵게 느껴집니다.

최근 블록체인 플랫폼 개발사에서의 면접을 보고 난 뒤, 저는 굳이 공정성 일변도로만 블록체인을 바라보는 건 아까운 일이라는 생각을 했습니다. 블록체인을 바라보는 수많은 관점이 있을 겁니다. 돈도 좋습니다. 신뢰모델의 대안도 좋습니다. 사기가 거의 불가능한 데이터베이스도 좋습니다. 이것이 이제 걸음마를 시작한 블록체인의 가능성을 믿고 탐구하는 사람의 올바른 생각이 아닐까 합니다.

이 포스팅이 미숙하지만 재미삼아 읽기에 적당한 글이 되었으면 합니다.
긴 글 읽어주셔서 감사합니다.

REFERENCE

ADDITIONAL MATERIAL