Term
APT(Advanced Persistent Threat)
2017 11 24
  • Facebook
  • Twitter
  • Copy URL

해커가 대상 시스템에 침투하기 위해 사용하는 방법이 몇 가지나 될까. 일반적으로 메일을 사용하거나 메시지, 전화를 사용할 수도 있겠다. 혹은 물리적으로 접근하여 USB를 연결하거나 악성 스크립트가 담긴 링크를 클릭하도록 유도할 수도 있을 것 같다. 그렇게 해서 시스템에 침입하면 데이터베이스에 침입하여 기밀 정보를 빼 오거나, 시스템을 파괴할 수도 있겠다. 아니면 사용자 몰래 은밀하게 몇 개월이고 1년이고 계속 기다리며 사용자가 하는 행위를 도청하고 지켜볼 수도 있을 것 같다. 아니면 침입한 해당 사용자보다 더 높은 등급의 사용자에게 다가갈 수 있는 이동 수단이 될 수도 있을 것 같다. 이런 식의 공격을 보안 업계에서는 APT라고 불린다. 대상 시스템에 침투하는 방법이 그리고 침투해서 정보를 빼 오거나 파괴하는 등 이 모든 것을 통틀어 말이다.

이미지를 불러오는데 실패했습니다.

APT(Advanced Persistent Threat)는 지능적이고 지속적인 위협이라는 뜻으로 해커가 다양한 보안 위협을 만들어 특정 기업이나 조직의 네트워크에 지속해서 가하는 공격을 말한다.[1] 사실 좀 더 구체적으로 말하면, APT에 대한 정의는 사람마다 조금씩 다르다. 어디까지 APT 공격이라 말할 수 있고, 마치 새로운 공격처럼 말하지만, 사실은 이전부터 있었던 공격으로 보는 것도 있기 때문이다. 즉, APT에서 중요한 것은 오랫동안 높은 수준의 기술로 은밀함을 보여야 한다는 것이다. 그 해킹의 동기가 비즈니스적이든, 정치적이든 어떠한 동기로든 말이다. 예를 들어, 악성코드를 사용하여 시스템의 취약점을 악용하는 정교하고 고급진 기술을 말하며, 외부에서 특정 대상을 지속해서 모니터링하고 데이터를 추출할 수 있어야 하고, 공격하기 위해 ‘사용자’의 참여를 나타낸다.

본래, APT는 2005년 영국 및 미국 CERT 조직에 의해 사용된 것으로 정확히 ‘APT’라는 단어를 사용한 것은 아니지만, APT와 같은 의미의 얘기를 언급했다. 당시 그들은 민감한 정보를 빼내기 위해 트로이목마가 첨부된 이메일이나 사회공학 기법을 하는 행위에 대해 조심하라는 경고성 메시지가 담았다.[2][3] 실질적으로 APT를 사용한 것은 2006년 미국 공군에서 유래한 것으로 한 사람으로 시작하여 Greg Rattray 대령이 많이 인용하기 시작하면서 퍼져 나갔다.[4] 워낙 포괄적인 단어의 의미인지라 여전히 단어의 의미는 확실하지 않지만 2015년 이후, 그 개념이 앞서 얘기한 의미로 맞추어져 가는 추세다.

앞서 얘기한 것처럼 APT는 다양한 공격을 통틀어 얘기한다. 그러면 어떤 것이 APT이고 아닌지 기준이 있을까. 이에 대해선 Bodmer, Kilger, Carpenter and Jones는 다음과 같은 APT 기준을 정의했다.[5] 첫째, 적의를 가진 위협의 목표가 있어야 하고, 둘째로 시스템 탐색이나 접근에 든 시간 즉, 적시성이 있어야 한다. 셋째로, 공격에서 사용된 지식이나 도구의 수준, 자원이 어느 정도인지에 따라서도 기준이 된다. 넷째로 위협이 탐지되지 않은 상태에서 이를 유지하기 위한 위협 범위도 해당한다. 즉, 위험 허용도에 따라서도 APT의 기준이 된다. 다섯째로 해킹 전반에 걸쳐 사용된 도구와 기술, 여섯 번째로 수많은 위협에서 정확한 동작 여부도 포함된다. 일곱 번째로 공격이 발생한 지점도 포함되며, 공격에 참여한 수, 즉 내부 및 외부 시스템의 수와 중요도에 따른 시스템의 수도 포함된다. 마지막으로 온라인 정보 수집을 통해 특정 위협에 관한 정보를 식별할 수 있는 능력이다. 이와 같은 특징들을 APT의 기준으로 보고 있으며, 각 특징을 가지고 정의를 내릴 수 있어야 한다고 보고 있다. 물론, 이 특징은 앞서 얘기한 Bodmer, Kilger, Carpenter and Jones의 의견이고 다르게 생각할 수도 있다는 점을 간과해서는 안 된다.

그렇다면 APT를 막을 수 없을까. 이건 누가 와도 불가능하다고 말할 수 있다. 왜냐하면, APT 공격 자체가 언제, 어디를 찌를지, 무엇으로 찌를지 모르고, 사람이라면 눈치라도 볼 텐데 시스템상에선 그런 것도 파악하기 힘들기 때문이다. 결국엔 막아야 할 곳도 많고, 무엇으로 막은 들 뚫릴 수도 있단 이야기다. 더욱이, APT를 막기 가장 힘든 이유는 해킹 공격의 주도권이 해커에게 있다는 점이다. 이는 얼굴도 모르고, 본 적도 없는 사람의 행동이나 심리를 파악하라는 말과 똑같다는 것이다. 결정적으로 해커 그들이 노리는 것은 사람의 실수, 사용자가 보안이 약한 키를 사용한다거나 창문을 열어놨다거나 하는 실수를 노린다는 것이다. 그리고 그 실수는 언제 나타날지 모르기 때문에 해커는 지속해서 사람의 실수를 기다린다는 것이고 공격도 해커의 마음대로인, 말 그대로 APT 공격인 셈이다.

해결할 수 없다? APT를 완전히 방어할 방법은 없다. 하지만 APT의 대상이 되지 않기 위한 노력은 할 수 있다. 정확히 자세는 가질 수 있다. APT는 일반적으로 시스템에 침투하기 위해 사회공학 기법을 사용한다. 친한 친구로 속여 메일을 보낸다거나 전화를 할 수도 있다. 즉, 평소와 조금이라도 다르다면 APT를 의심해보는 것이 좋다. 모르는 출처, 작성자의 이메일이나 전화, 갑작스럽게 전혀 예상치 못한 곳에서 연락이 온 다던지, 배송 주문을 한 적이 없는 물건이 날아온 다던지, 내 이름으로 대포 통장이 만들어져서 주민등록번호를 알려달라던지 등 사소한 것 하나하나 의심하는 버릇이 APT 예방을 할 수 있는 시작이다. 만약, 사용자 인증을 원한다면 해당 업체에 확인을 받고, 의심되지 않은 링크는 클릭하지 않는 것이 좋다.

그렇다면 APT 사례는 뭐가 있을까. 사실 너무 많아서 대표적으로 무언가를 꼽기도 어렵다. 우리가 흔히 알고 있는 해킹 사건들 대부분은 APT라고 보는 것이 더 쉬울 정도다. 예를 들어, 스턱스넷도 장기적으로 시스템에 설치되어 은밀하고 아무도 모르게 실행되었다. 어떻게 보면 이 또한 APT다. 이전에 얘기한 나야나 랜섬웨어 사건, 역대 최대 개인정보 유출 사건인 Yahoo 사건, 어제 얘기한 Uber 등 모두 APT 사건으로 보면 된다.

이렇듯 APT 공격은 많은 공격과 사건을 포함하여 얘기할 수 있다. 이 때문에 혹자는 결국 있었던 공격에 새로운 단어를 가져다 붙인 것이 아니냐는 얘기를 하기도 했다. 예를 들어, 유명한 해커 케빈 미트닉은 자신의 저서인 네트워크 속의 유령에서 자신이 했던 옛날 공격과 무엇이 다르냐고 하기도 했다. 더불어, 피싱 사이트를 통한 해킹, 메일을 통한 해킹은 아주 오래전부터 있었다. 그렇다면 모리스 바이러스는 최초의 APT 사례라고 말할 수도 있지 않을까 한다. 아무튼, 결국 APT는 사람의 실수를 통해 해커가 기다렸다가 적절한 시기에 들어가는 공격으로 막기란 쉽지 않은 일이다. 결국엔 조심, 또 조심스러운 자세가 정답이지 않을까 한다.

유성경 yuopboy@grayhash.com