해킹 수법 기상천외한 방식으로 고도화

[테크M = 김태환 기자] K씨는 오랜 노력 끝에 내집 마련의 꿈을 실현하기 직전이었다. 아파트 중도금으로 쓸 통장에 넣어둔 1억2000만원을 찾으려고 은행을 방문했다. 하지만 잔액은 0원이었다. 4일 동안 누군가가 K씨 이름으로 무려 41차례에 걸쳐 299만원씩 타사 은행으로 인출한 해킹 사건이었다.

귀신이 곡할 노릇이었다. K씨는 인터넷뱅킹 서비스에 가입한 적도 없고, 개인PC조차 없었다. 은행 보안카드를 누군가에게 보여준 적조차 없었다. 보이스피싱도 아니고, 파밍도 아니었다. 도대체 어디에서 어떻게 K씨 정보가 새어나갔을까.

2014년 한국에서 일어난 실제 사건이다. 해당 사건 피해자 이상신 씨는 보안카드를 제외한 모든 금융정보가 이미 2012년 6월과 10월 두 차례에 걸쳐 유출된 상황이었다. 어떤 방식으로 어떻게 개인정보가 새나갔는지는 아직까지 오리무중이다. 다만 크래커는 유출한 개인정보를 활용해 아주 집요하게 2년간 그의 금융활동을 추적했다. 이들은 그가 텔레뱅킹을 이용할 때를 집중해서 노렸다. 텔레뱅킹은 전화기로 보안카드 번호를 누르는데, 번호마다 발생하는 주파수와 전류가 다르다는 특성을 착안해 이 정보를 수집했다.

예를 들어 1번을 누를 때 전화에서 발생하는 주파수가 10Hz이고 전류가 1A라면, 이씨가 텔레뱅킹할 때 주파수 10Hz와 전류 1A가 발생하면 1번을 눌렀다는 것을 확인할 수 있다. 이런 방식으로 수치를 기록하고, 보안카드 번호 35개를 모두 찾아낸 것이다.

국내 악성코드 활동 단 하루만에 2만 건 발생

이처럼 해킹 기술이 전문적이고 기상천외한 수법으로 고도화되고 있다. 서버가 아니라 일반인들을 대상으로 하는 지능형 지속 공격(APT)이 등장해 공격 패턴을 다양화하고 있다. 또 인공지능(AI) 기술을 활용해 자동으로 악성코드를 생성하고 유포하며, 연속성을 가지고 끊임없이 서버와 네트워크에 연결된 사용자를 공격하는 것으로 파악됐다. 악성코드 생성속도가 보안업체에서 위험을 인지하는 속도보다 빨라지면서 단순한 ‘백신’ 형태로 대응하는데 한계에 부딪혔다.

한국인터넷진흥원(KISA)에 따르면 지난해 국내에서 하루 동안 발생하는 악성코드 활동의 평균 횟수는 약 2만3883건, 디도스(DDoS)공격은 1.25건 발생한 것으로 파악됐다. 실제 피해로 이어지는 홈페이지 변조는 5건, 랜섬웨어 피해는 16건, 피싱·파밍 사이트 생성은 35건, 홈페이지 악성코드 유포는 37건으로 집계됐다. 악성코드 활동만 집계할 경우 1년에 약 7억 건에 육박한 활동이 벌어지고 있는 셈이다.

세계적으로도 악성코드는 골칫덩이다. 독일 보안업체 G-Data에 따르면 지난해 1분기에 새롭게 발견된 악성코드가 무려 185만개에 달한다. 4초에 1개꼴로 악성코드가 생성되고 있는 셈이다.

악성코드(Malware)는 기존 PC바이러스와 더불어 웜, 스파이웨어, 트로이목마 같이 컴퓨터 사용자에게 해를 끼치는 모든 코드(Code)를 포함한 개념이다. 초창기 악성코드인 바이러스는 해커들의 실력과시용 장난이었다. 키보드에 있는 캡스락과 넘버락 버튼이 작동하고 있다는 것을 알려주는 신호를 반짝거리도록 만든다거나 단순한 그림을 화면에 보여주는 수준이었다. 하지만 네트워크가 활성화되고, PC에 중요한 데이터가 많아지면서 악의적인 목적을 띠는 크래커들이 늘어나면서 ‘총성 없는 전쟁’이 시작됐다.

초기에 PC바이러스는 스스로를 복제해 특정한 대상인 파일이나 부트 섹터를 감염시켰다. 따라서 감염된 대상이 작동할 때만 바이러스도 활동을 시작했다. 감염을 시킨다는 특징 탓에 백신 프로그램을 개발할 수 있었다. 윈도 탐색기처럼 프로그램을 탐지하고, 특정 감염원을 확인한 뒤 삭제시키는 방법으로 해결할 수 있었다.

이후 등장한 트로이(Trojan)목마는 이런 백신에 대응하기 위해 개발됐다. 그리스 신화에 나오는 트로이 전쟁에서 성 내부로 잠입하기 위해 보낸 ‘트로이 목마’에서 이름이 유래됐다. 트로이 목마는 겉보기엔 정상 프로그램이지만 실제론 악성코드를 포함하고 있어 백신에게 들키지 않도록 만든다. 바로 실행되는 바이러스와 달리 일정기간 잠복기를 가질 수도 있어 탐지하기가 더 까다롭다.

PC나 스마트폰에서 개인정보를 빼가려는 악의적인 의도가 강할 때는 스파이웨어로 분류한다. PC나 스마트폰에 어떤 파일에 감염되지 않고 스스로 복제하면서 독자적으로 실행되면서 네트워크 연결된 컴퓨터를 감염시키는 경우는 ‘웜’이라 부른다. PC를 악성코드로 감염시키고, 이렇게 좀비가 된 PC를 활용해 목표로 정한 한 서버를 대상으로 분산 서비스 거부 공격(DDoS)을 시행해 서버를 마비시키는 행위도 간혹 이뤄진다. 디도스(DDoS) 공격은 여러 대 컴퓨터에서 한 웹 서버로 비정상적으로 과도한 트래픽을 보내 웹 서버에 과부하를 걸어 서버를 다운시키는 방법이다. 예를 들어 1초에 1000개의 트래픽을 처리할 수 있는 서버에 2000개의 트래픽을 보내면 서버가 이를 처리하지 못해 멈추는 식이다.

지난해에는 랜섬웨어가 보안업계를 떠들썩하게 만들었다. 랜섬웨어는 악성코드를 이용해 감염자 PC에서 특정 데이터에 접근할수 없도록 암호를 걸고, 데이터를 인질로 삼아 금품을 요구한다.

악성코드 회피수법 머신러닝으로 고도화

크래커 대부분은 개인 사용자보다는 기업체나 공공기관 중앙 서버를 공격한다. 분산된 불특정 다수에게서 정보를 획득하는 것보다 모든 정보가 집약된 단일 목표를 노리는 게 정보 취득에 훨씬 효과적이기 때문이다.

서버를 공격하는 방법은 크게 직접공격과 원격공격 두 가지 방법이 있다. 직접 공격은 서버에 물리적으로 접근하는 방법이다. 몰래 전산실에 들어가 USB 같은 장치를 활용해 파일을 직접 심거나 접속권한이 있는 직원을 매수해 정보를 편법으로 얻는 방법이다. 크래커가 직접 접촉해야 한다는 점에서 신분이 노출될 위험이 크다는 특징이 있다.

원격공격은 직접 접촉 없이 다양한 경로로 서버에 악성코드를 침투시키는 방법이다. 트로이목마처럼 방화벽을 기만해 접속하거나 접속권한이 있는 사용자 컴퓨터를 감염시켜 침투하는 방법을 주로 활용한다. 개인에게 공격하는 경우는 크게 두 가지다. 무작위로 스파이웨어를 뿌려 개인정보를 수집하거나 좀비PC로 감염시켜 중앙서버를 공격하도록 만든다.

최근 이 같은 악성코드 침투 방법이 매일 수백만 건이 발생할 정도로 급증하고 있다. 일반 사용자들도 PC에 백신 한두 개는 설치할 정도로 백신 전성시대인데 어떻게 이렇게 악성코드가 극성을 피울까. 비밀은 악성코드가 백신을 피해서 숨어 들 수 있는 뛰어난 위장술을 활용하고 있기 때문이다. 글로벌 보안업체 맥아피에 따르면 악성코드들이 대표적인 회피 수법으로 크립터, 패커, 바인더, 펌퍼, 퍼드를 사용한다.

크립터(Crypter)는 실행 중에 악성코드를 암호화하고 복호화하는 기법으로 백신 소프트웨어(SW) 탐지와 행위 분석을 막도록 만든다. 패커(Packer)는 악성코드 파일을 압축시켜 다른 파일로 인식하도록 만들어 탐지를 회피하는 기술이다. 바인더(Binder)는 여러 개 악성코드 파일을 하나로 연결해 분석을 어렵도록 만든다. 일반적으로 악성코드 제작자들은 악성코드 파일을 정상적인 실행파일(.exe)과 결합시키고 있다. 펌퍼(Pumper)는 파일 사이즈를 증가시켜 악성코드가 안티 멀웨어 엔진을 우회할 수 있도록 하며, 퍼드(FUD)는 악성코드가 실행되기 전에 안티 멀웨어 엔진에 의해 탐지되지 않도록 악성코드 파일을 보호한다.

APT 등장으로 공격 집요하게 변화

최근에는 지능형 지속공격(APT, Advanced Persistent Threat)이라는 개념이 등장하면서 악성코드 공격은 더욱 끈질기고 집요하게 변화했다. APT는 조직 내부 직원이나 일반인 사용자 PC와 스마트폰에 악성코드를 심고 정보를 획득한다. 기본 특성은 기존 악성코드와 별 차이가 없다. 하지만 3~5년 이상 잠복기간을 가지고, 기존처럼 중앙서버만 공격하는 것이 아니라 홈페이지와 투자자 스마트폰, 사물인터넷(IoT)기기까지 다양한 대상을 무차별적으로 공격한다는 점에서 차이가 크다.

채영우 SK인포섹 SW개발센터장은 “레거시어택(전통공격)은 데이터 센터 서버 공격으로 이걸 대응하는 방향으로 보안체계를 수립했다. 하지만 현재 공격은 개인PC와 스마트폰 정보까지 공격하는 방향으로 다양하게 진화했다”면서 “웹 포털사이트에 악성코드를 숨겨 쿠키파일을 다운로드 받게 하거나 이메일 첨부파일을 다운로드 하는 방식으로 주로 진행된다. 특히 사용자가 알아채지 못하도록 정상적으로 작동하도록 만들어 속인다. 점조직 같이 거점으로 기능하며 중앙 서버나 웹을 공격한다”고 말했다.

채 센터장은 “예전에는 서버로 들어오는 길목을 막고 보호하면 보안이 쉬웠다. 하지만 이런 지능형 공격이 증가하면서 기존 방식의 보안이 한계에 이르렀다”면서 “예전처럼 ‘약속된 정보’가 아니다. 어떤 포맷의 악성코드인지도 모른다. 비정형화된 정보가 확대되기 때문에 이에 대한 대책이 필요하다”고 언급했다.

실제 지난 2월 평창올림픽 조직위원회와 주요 파트너사에 대한 사이버 테러 역시 APT를 활용한 공격으로 알려졌다. 이 테러로 인해 국내 서버 50대, 즉 조직위 33대와 파트너사 17대가 파괴됐으며, 총 300여대가 영향을 받았다. 메인프레스센터에 설치된 IPTV가 꺼지고 조직위 홈페이지에 접속 장애가 나타났다.

최근에는 암호화폐거래소 해킹에도 APT 기법이 동원됐다. 지난 1월 발생한 코인체크 해킹사태는 크래커가 APT를 통해 내부 네트워크에 침투해 송금암호를 취득해 5700억원을 탈취했다. 2011년 마운트곡스 역시 APT를 통해 웹사이트를 털어 6만1000명의 개인정보를 탈취했다.

머신러닝을 이용한 AI 해킹시대

또 AI가 머신러닝 기법을 도입해 악성코드 생성과 유포를 자동화하는 방법도 등장했다. AI 기법 중 적대 신경망 구축(GAN, generative adversarial network) 기술은 상반되는 목적을 가진두 모듈(판별망, 생성망)이 대결하는 구조를 통해 솔루션 생성을 학습하는 구조로 이뤄진다.

GAN을 해킹에 활용하면 침투를 막는 탐지 시스템과 이를 우회하는 적대적 악성코드 샘플을 생성하는 알고리즘을 대결시키며 가장 이상적인 악성코드를 만들 수 있다. 실제 지난해 데프콘(DEFCON) 콘퍼런스에서 보안업체 엔드게임(Endgame)은 일론머스크의 오픈AI(OpenAI) 프레임워크를 사용해 보안 엔진이 탐지하지 못하는 ‘맞춤형 악성코드’를 제작해 시연하기도 했다.

지난해 미국에서 열린 ‘블랙햇2017’에 참석한 사이버 보안전문가 수백명 중 62%가 올해 해커들이 공격 목적으로 AI를 이용할 것이라고 답했다. 해커들이 AI를 활용하기 시작하면서 해킹 공격이더 빠르고 정확해지고 있다. 보안 기술 쪽에서도 AI를 적극적으로 활용하고 있다. 사람을 대신한 AI가 창과 방패로 맞서고 있는 셈이다. 어느 쪽이 앞설까? 아마도 우리의 관심과 선택이 중요할 듯하다.

테크M = 김태환 기자(kimthin@techm.kr)]