악성코드는 어떻게 감염이 될까? 그리고 감염이 되면 어떻게 찾을 수 있을까?
보안이란 자산을 위험으로부터 지키는 것을 말한다. 일반적인 중요 자산으로 돈, 사람, 서류, 지식, 데이터 같은 것이 있을 수 있다. 돈, 서류와 같이 만질 수 있는 자산은 금고, CCTV와 같은 물리적인 장비로 자산을 지키면 된다. 보이지않는 데이터, 예를들어 소스코드, 고객정보, 게임데이터와 같은 자산을 지키려면 어떻게 해야할까? 코로나 이후 모든 것들이 IT 기술을 기반으로한 플랫폼으로 변화하고 있다. 대면보다는 비대면이 편해졌고 현실세계보단 가상세계에서 만나는 것을 선호한다.
모든 것들이 빠르게 변하고 있지만 놓친 것이 있다. 보안이다.
내가 자주 사용하는 메신저에 있는 내용이 외부에서 볼 수 있다면 이 메신저 앱을 계속 사용할 수 있을까?
결제를 위해 내가 넣어놓은 돈이 사라진다면 이 온라인스토어를 계속 사용할 수 있을까?
해커는 돈이 되는 서비스를 공격하고 바로 자산을 빼내지 않는다. 야금야금 회사의 모든 데이터를 훔치도록 준비하고 기다릴 것이다.
회사 대표는 이렇게 말할 것이다. 우리 기업은 매우 보안이 잘 되어있어요.
처음에는 잘 되어있을 것이다. 하지만 기업이 성장하다보면 협력업체와 같이 협업을 하게 되고 해외지사, 자회사를 두게 된다. security hole은 정말 작은 틈새에서 생긴다. 한번씩 들어봤던 대기업들이 아무리 철저하게 보안을 했더라도 악의를 가진 사람이 VPN ID/PW를 해커에게 전달하여 해킹을 당하는 것이 지금의 현실이다.
자체적으로 보안을 하는 회사를 보면 무조건 존재하는 부서가 있다. 관제와 침해사고대응팀(Computer emergency response team - 줄여서 cert team)이다.
이 두 부서는 떼어놓을 수 없는 오징어 게임의 깐부같은 존재이다.
cert팀은 악성코드에 감염된 경우에만 일을 할까?
예방적인 업무를 할 수도 있다.
첫번째 예로 우리 회사와 옆 회사는 동일한 ERP 솔루션을 사용한다. 그런데 옆 회사가 ERP 취약점으로 해킹을 당했다는 소식이 들렸다. cert팀 김아무개는 이 소식을 듣고 우리 회사의 해당 ERP 솔루션 사용부서에게 패치, 삭제 및 관제팀에 문의해서 접근경로를 차단했다.
여기서 김아무개가 잘한 행동은 무엇일까? 옆 회사의 보안담당자와의 연락을 하고 지냈고 회사에서 ERP 솔루션을 사용하고 있는지 체크한 행동이다.
두번째로 cert팀 김아무개는 한국의 기업을 대상으로 APT 공격을 하는 단체에 대해 분석보고서를 지속적으로 구독했다. 대표적으로 Red Alert, 시스코, 맨디언트, 보안뉴스 등이 있을 수 있다. 그리고 동일한 악성코드로 감염될 것을 우려해 악성코드를 분석하여 패턴을 확인후 바이러스토탈에 yara rule을 등록할 수 있고 C2 및 추가 악성코드 배포서버를 관제에 차단해달라고 요청할 수 있다.
세번째로 유사 사례를 참고하여 모의 훈련을 할 수 있다. 예전에는 IE, 플래시 취약점으로 인터넷을 통한 감염이 많았지만 사용이 서서히 줄기 시작했고 최근에는 불법 소프트웨어 다운로드, 인터넷 메일을 통한 공격이 많아졌다. 불법 소프트웨어 다운로드는 공지사항과 안내 메일을 통해 예방할 수 있고 인터넷 메일을 통한 공격은 비슷한 메일을 직원에게 보내 주의를 주는 방법이 있을 수 있다.
마지막으로 우영우 15화에서 언급된 해킹사건에 대해 얘기해보고자 한다. 15화는 여러가지 사건을 종합해서 만든 화이지만 가장 크게 떠올랐던 것은 국내 유명 쇼핑몰 인터파크를 대상으로한 APT 공격사건일 것이다. 사건을 간단히 요약해보자면
1. 공격자는 인터파크 직원에게 동생 메일 주소로 악성코드가 첨부된 메일 발송
2. 5월 서버에 침투하여 회원수 49%에 해당하는 1030만명의 회원정보를 획득함
3. 업체는 7월 11일 인지후 13일에 신고함
4. 공격자는 인터파크에 30억원 상당의 비트코인을 요구하는 협박메일을 지속적으로 발송
우영우 드라마에서도 비슷하게 공격이 전개됐고 범인은 회사의 창업자였다. 보안에도 신경을 써달라는 주의로 지인에게 해킹을 요청한 것인데 문제는 개인정보유출 사건이 너무 많이 발생해 법이 강화됐다는 점이다.
개인정보유출로 인해 회사의 피해가 커졌고 망할 지경에 이르렀다. 이 사건을 일으킨 회사의 창업자를 나쁜 사람으로 몰고갔지만 이는 정말로 공격자가 마음만 먹으면 얼마든지 발생할 수 있는 사건이기에 창업자의 편이 되고 싶었다. 우리가 cert팀이라면 무엇을 했어야 했을까?
APT는 대상을 확실히 노리고 공격을 시작한다. 공격 시나리오를 천천히 준비하고 악성코드를 따로 제작한다. 악성코드는 회사에서 사용되는 정상 프로그램 이름이 될 수 도 있고 윈도우에서 사용하는 기본 프로세스명이 될 수 도 있다. 그리고 차근차근 회사의 주요 서버로 접속을 시도한다. 이를 우리는 레터럴 무브먼트라고 한다. 협박하거나 돈이 될 수 있는 모든 정보를 가져올 때까지 해커는 공격을 멈추지 않는다. 이러한 공격은 들키지 않도록 매우 천천히 일어난다.
유명한 무인은 대부분 좋은 무기를 탐한다. 우리나라는 국방을 보호하기 위해 꾸준히 무기를 생산하고 발전시킨다. 보안 담당자도 마찬가지이다. 보안에 큰 돈을 투자하는 회사가 많아지면서 좋은 보안 솔루션이 많이 출시되었다. 우리가 보험을 들 때 발생 확률과 비용, 현재 나의 월급을 비교하고 좋은 보험업체를 찾아 가입을 하듯이 보안 또한 회사가 보안을 위해 지불할 수 있는 금액, 침해사고 시 발생할 수 있는 예상 피해액, 우리 회사가 사용할 수 있는 합리적은 보안 솔루션을 찾아 구축해야한다. 정 돈이 없다면 오픈소스, 무료 솔루션을 이용해서라도 구축을 해야한다. 보안 솔루션은 무엇이 있을까? 일일이 나열할 수 없으니 이 글의 주제와 관련된 차단 시스템에 대해 알아보자.
네트워크 보안 영역에서는 Firewall, IDS, IPS, NAC, 보안스위치, VPN, 프록시 등이 사용될 수 있다.
무인이 좋은 검만 가지고 있다고 해서 좋은 무인이 될 수 없는 것처럼 회사도 장비만 있다고해서 자산을 지킬 수 있는 것은 아니다. 무술을 수련하듯이 보안담당자도 꾸준히 지속적으로 룰을 업데이트 해줘야한다. 직원의 모든 행위를 의심하고 전체적인 동향을 살핀 후 지속적으로 회사의 대표에게 보고를 해야한다.
15주동안 하나하나씩 cert팀의 업무에 대해 알아가보자