스마트폰 url 오류를 이용한 악성 앱 감염 공격 방어

Posted by taeho Tae-Ho
2013.12.24 09:47 정보보호

스마트폰이 생필품이 되어가면서 해킹 혹은 정보유출을 시도하기 위한 정말 다양한 "침투" 기법들이 등장하고 있다. 지난 번에 올린적이 있는 "카카오톡을 이용한 악성 앱 전파" 시도에 이어 우연하게도 새로운 기법을 알게 되었다. 


바로 스마트폰의 브라우저에 잘못된 주소가 입력될 경우 악성 앱을 설치하도록 유도하는 기법이다. 예를 들어 www.google.com 을 입력하려 했으나 아래 화면처럼 오타로 인해 잘못된 URL인 www.googls.com 과 같이 입력할 수도 있다.



만약 해커나 금전을 노린 이가 오타가 많은 URL에 대한 통계를 이용해 해당 유사 도메인을 확보하였다면 충분히 실수로 접근하는 스마트폰 유저들을 유인할 수 있게 된다. 그리고 실제로 위의 도메인은 해커 혹은 금전을 노린 사기꾼들이 확보한 것으로 보인다. 위의 도메인으로 접근하면 이리저리~~ 도메인이 포워딩 되고 아래 화면이 뜨게 된다.



갑자기 내 스마트폰이 악성앱에 감염됐다는 브라우저의 창이 뜨고 정체를 알 수 없는 앱을 다운로드 받고 설치한 뒤 앱을 열고 바이러스를 제거하라고 한다. 

하지만 이런 경우는 대부분 악성앱의 설치를 유도하거나 옛날(?) 바이러스를 잡지도 못하고 있지도 않은 바이러스있다고 알려주며 자기네가 개발한 뛰어난 백신(?)을 설치하라고 팝업창을 띄운 뒤 결제를 유도하고 한번 결제하면 매달 자동으로 결제되도록 하여 금전을 탈취하는 그런 사례 중 하나라고 보면 된다.


위의 창에서 "여기에서 다운로드 하세요"라는 버튼을 클릭하면 아래 화면처럼 이름도 불분명한 앱 파일 (apk)를 다운로도 하라고 한다.


만약 위의 프로그램이 정상적인 악성코드 탐지/제거 도구라면 구글의 "플레이 스토어"에 정식으로 등록되어 있어야 하지만 플레이스토어를 검색해본 결과 "clean master"라는 단어가 들어간 안티바이러스 앱은 없다.



이런 경우 외에도 다양한 경로를 통해 악성 앱 ( .apk )을 설치하도록 유도하는 것이 스마트폰 해킹의 첫번째 단계임을 명심해야 한다.


출처가 불분명한 apk 파일을 설치하지 않는 것 만으로도 대부분의 스마트폰 해킹을 차단할 수 있다.


www.googls.com 의 도메인 소유주가 누구인가 궁금해서 확인해보니...

파나마란다.. -.-



신고
이 댓글을 비밀 댓글로

맥아피 MATD (McAfee Advanced Threat Defense) 세미나

Posted by taeho Tae-Ho
2013.12.11 23:15 정보보호

오랫만에 새로운 보안 솔루션의 제품출시 세미나에 다녀왔다. 사실..얼마만인지 모르겠다. -.- 첫 직장이나 다름없는 곳에서 만나 오랜 인연을 맺고 있는 유클릭의 이재헌 부장의 초청으로 참가신청을 하고 오랫만에 얼굴도 볼겸 다녀오게 되었다.


난 서버를 직접만지는 보안일을 하기에 사실 네트워크 보안에는 별 관심이 없었지만 최근 정보보안기사 시험준비를 하며 보안업계가 실질적인 중요정보가 저장되는 서버보다는 "네트워크"에서의 침해 행위 탐지에 더 관심이 많다는 것을 다시한번 절감하고 있던 차에 네트워크 보안을 다시한번 보게되는 기회가 되었다. 그리고 많은 보안솔루션기업들이 네트워크에서 "서버"나 "개인업무용PC"에 감염되는 멀웨어(악성코드)를 탐지하고 방어하기 위해 얼마나 안간힘을 쓰고 있는가를 알게되었다.


글로벌 보안 기업 맥아피에서 새롭게 출시한 MATD(McAfee Advanced Threat Defense)는 한마디로 "지속 지능형 공격(APT공격)"에서 현재까지 알려지지 않은 악성코드(멀웨어)를 탐지하고 방어하기 위한 솔루션이다. 

MATD는 지금까지 맥아피에서 출시한 여러 보안솔루션과 함께 구현되어야 최적의 효과를 낼 수 있는 솔루션이다. 맥아피의 IPS 및 웹방화벽 그리고 차세대 방화벽과 MATD가 연동되어 새롭게 탐지된 멀웨어의 침투를 차단하도록 웹방화벽의 룰셋을 자동 생성할 수 있는 것으로 보인다.

MATD의 핵심은 "계층적 멀웨어 탐지 시스템"이다. "계층적"이라는 의미는 지금까지 보안업계에서 내어놓은 멀웨어(악성코드) 탐지기술을 "계층적"으로 적용한다는 의미다. 특정 파일이 네트워크를 통해 다운로드되면 MATD는 다음과 같은 절차에 따라 다운로드된 파일이 멀웨어(악성코드)인지를 확인하다.


1. Whitelist 기반 검증

McAfee가 보유하고 있는 안전한 파일(운영체제 및 애플리케이션)의 목록에 포함된 파일인지를 비교하여 안전한 파일로 판단되면 더 이상의 검증을 하지 않는다. 아마도 이 기법에는 안전한 파일들에 대한 McAfee의 데이터베이스가 활용되는 것으로 보인다. 다운로드 되는 파일의 MD(Message Digest)를 생성한 뒤 McAfee에서 보관하고 있는 MD 데이터베이스에서 조회하면 되는 단순한 구조일 것이므로 검증속도도 상당히 빠를 것으로 보이며 가장 확실한 오탐방지 솔루션 중 하나일 것으로 예상된다.


2. 시그니처 기반 탐지

내부 네트워크로 전송되는 파일이 안전한 파일 목록에 없다면 멀웨어인지 확인하는 절차가 필요하다. 이때는 패턴기반의 고전적인 검증방법이 동원된다. 세미나에서는 McAfee에서 보유하고 있는 3억건의 블랙리스트와 비교한다고 한 것으로 기억된다. (많기도 하다.. -.- 그 악성코드를 만드는 노력을 인류평화와 발전에 썼다면 어떨까...) 하여튼 이 과정에서 탐지되는 멀웨어는 현재까지 알려진 멀웨어다.


3. 평판 기반 탐지

사실 이 단계에서부터가 진정한 APT 방어 솔루션의 기능이라고 볼 수 있다. 평판기반 탐지는 최근 안랩에서도적용한 기술이다. 안랩의 평판분석 기능은 각각의 PC에 설치된 백신이 새롭게 설치되는 의심스런 파일들을 안랩의 악성코드 분석센터로 전송하여 보다 세밀한 분석을 한 뒤 악성코드일 경우 새로운 패턴을 배포하는 형태로 동작하게 된다. 악성코드에 감염되어 피해가 발생한 PC에서 악성코드 샘플을 채취하여 갖고간뒤 분석하는 과거의 악성코드 샘플링 및 분석과 패턴 배포 과정이 자동화 되어 보다 신속하게 멀웨어에 대응할 수 있도록 만든 자동화 시스템을 "평판 분석"이라고 한다. (보안업계는 정말 그럴 듯한 용어를 잘 생산해 낸다.) McAfee의 MATD도 이러한 평판 기반 탐지가 구현되어 있는 솔루션이다.


4. 동적 샌드박스 분석

샌드박스란 Java 1.0 에서부터 존재하는 악성코드 탐지 솔루션이다. 사실 새로운 것이 아닌데 APT 공격에서 이슈가 되는 제로데이 취약성을 탐지하기 위해 보안업계에서 활용하면서 많이 이슈가 된 탐지 기법이다. 샌드박스는 다운로드 받은 Java Script나 Java Applet을 Java의 격리된 가상머신을 하나 더 구동하여 그 가상머신에서 Applet을 실행시켜 "공격"을 하는 행위를 하는지를 검사하는 형태의 탐지기법을 말한다.  

McAfee의 MATD는 동적 샌드박스 분석을 위해 어플라이언스 1 대에서 최대 60개 가지의 가상머신(골드이미지:Windows계열 및 안드로이드 OS)을 동시에 구동하여 다운로드 받은 파일을 그 안에서 실행하고 침해행위(레지스트리 수정, 부트로더 파괴, 다른 실행파일 생성/감염)수행 여부를 검사하여 멀웨어 인지 아닌지를 판단한다.

이 동적 샌드박스 분석은 어플라이언스에 큰 부하를 줄 가능성이 높다. 따라서 업무시간의 지연을 초래할 가능성도 있기 때문에 무조건 수행되는 것이 아니라 1, 2, 3의 다양한 기존 방식으로 검사를 수행하고 기존 방식으로도 판단하기 어려운 경우에만 수행되도록 최적화 되어 있는 것으로 보인다.


5. 정적 코드 분석

정적 코드 분석이란 실행파일에 대한 목적코드를 분석하여 멀웨어 여부를 판단하는 기법이다.(리버스엔지니어링을 정적코드 분석의 일종으로 보기도 한다.) 하지만 대부분의 신종 멀웨어들은 이러한 정적코드분석을 하지 못하도록 패킹(packing)하는 경우가 많다. McAfee의 MATD는 최고의 언패킹(Unpacking) 기술을 갖고 있기 때문에 패킹된 악성코드도 언패킹하여 정적코드분석을 실행할 수 있다고 한다.


McAfee의 MATD는 지금까지 나와있는 네트워크 기반 보안 솔루션이 할 수 있는 모든 멀웨어탐지/방어솔루션에 동적샌드박싱과 정적코드분석 기법을 적용한 새로운 통합 APT 방어솔루션 쯤 된다고 할 수 있다.


오랫만에 참석한 보안 세미나였다.

자주 좀 공부하러 다녔으면 좋겠다.

신고
이 댓글을 비밀 댓글로

시스템(서버) 접근제어 솔루션(SAC)는 과연 보안솔루션일까.

Posted by taeho Tae-Ho
2013.10.26 17:06 정보보호

최근 몇년간 대형 보안사고 및 정보유출 사고가 증가하는 추세다. 그리고 대형 공공기관과 금융기관 그리고 일반 기업에서 보호 대책의 일환으로 다양한 보안 솔루션들을 많이 도입하고 있다. 그중에서도 핫~한 솔루션이 바로 SAC (System(or Server) Access Control) 솔루션이다. 그리고 이러한 SAC 솔루션들이 인사시스템과 연계하여 계정통합관리(Identity Management : IM) 솔루션의 영역까지 접수(?)하면서 시장을 넓혀가고 있기도 하다. 게다가 SecureOS의 기능까지 갖고 있는 것처럼 영업을 하면서 계정통합관리솔루션과 서버보안솔루션(SecureOS) 시장을 잠식하고 있다.


하지만 보안업계에서 10년이상 일을 하고 있는 내 관점에서 보았을 때 SAC는 보안솔루션의 범주에 넣기가 망설여지는 솔루션이다. SAC는 많은 애플리케이션과 서버 그리고 계정(Account)이 있는 네트워크 장비에 대한 접근 경로 관리의 편의성 증대를 위한 통합 관리 솔루션이지 "보안솔루션"으로 보기에는 어딘가 어정쩡한 범주에 있다.


IM솔루션의 경우 시장에서 "계정통합관리"라는 새로운 영역을 개척하였고 명확한 타켓팅을 두고 영업을 하고 있지만 SAC의 경우 단순히 시스템(서버, 네트워크 장비)에 대한 접근경로의 단일화 라는 기능 이외에는 특별한 기능이 없다 보니 계정통합관리, 서버의 명령어 통제 등 본연의 기능이 아닌 기능을 응용수준에서 지속적으로 추가하며 타 솔루션의 영역을 침범하면서 덩치를 키우는 상황이 되었다.


하지만 많은 IT 담당자 들이 생각하고 있듯이 SAC 솔루션은 제대로 된 보안 솔루션으로 보기에는 무리가 있다. SAC가 일부 계정통합관리 및 접근제어(Access Control)와 감사(Audit) 기능을 갖고 있지만 그 기능이라는 것이 대부분 우회와 인젝션이 매우 쉽게 가능하기 때문에 단독으로는 어떠한 기능도 제대로 된 수준으로 구현할 수 없음에도 불구하고 그러한 단점을 감추며 승승장구 하고 있는 모습을 보면서 우리나라 IT 종사자들의 기초체력의 부실함(?)이 드러나는 것 같아 안타까운 마음이 들곤 한다.


실제로 SAC 솔루션을 도입한 대부분의 대기업이나 공공기관에서 SAC를 이용해 계정통합관리와 서버보안 그리고 시스템접근제어를 한번에 해결하려 시도하지만 프로젝트 기간이 지나면 지날 수록 그 한계를 절감하고 서버보안SW를 별도로 도입하기로 하거나 이미 도입되어 있는 서버보안SW를 대체할 수 없음을 절감하게 된다.


어찌보면 계정통합관리솔루션도 아니고 서버보안솔루션도 아닌 어정쩡한 포지션의 틈새시장을 노리고 시장에진입한 SAC 솔루션이 시장에서 살아남기 위한 처절한 몸부림이 계정통합관리와 서버보안의 영역의 침범으로 표현되고 있다고 보여진다. 하지만 계정통합관리와 서버보안은 쉽게 영역을 침범할 수 있는 솔루션이 아니다. 그래선지 실제로 SAC를 도입해 통합계정관리와 서버보안의 구현하고 있는 프로젝트를 들여다 보면 제대로 마무리가 되는 경우를 찾아보기가 힘들다.


게다가 SAC 솔루션의 개발사나 프로젝트 수행사 자체가 서버기반의 솔루션이나 운영체제의 특징을 제대로 이해하지 못하기 때문에 서버의 계정과 비밀번호에 대한 통제가 제대로 구현되지 못하는 경우도 많다. 보안을 강화하려다 오히려 취약점만 키우는 경우도 발생하게 되는 것이다.


가장 대표적인 사례가 바로 root, oracle, jeus등 시스템 관련 패스워드를 모든 관리자가 모르게 한다는 것이다.


SAC의 경우 SAC에 로그인하면 서버로의 로그인에는 비밀번호를 몰라도 로그인이 가능하도록 비밀번호를 자동으로 입력하는 기능이 제공된다. SAC가 root 계정은 물론 서버의 모든 계정에 대한 비밀번호를 랜덤하게 변경하고 사용자가 서버에 Telnet, FTP 등의 접속 시 자동으로 패스워드를 입력해주는 것이다. 200대, 300대에 대한 패스워드를 그렇게 관리하는 것이다.


즉 SAC의 서버만 뚫리면 전체 시스템에 대한 관리자 계정과 패스워드가 한번에 유출될 수 있는 SPOF (Single Point of Failure) 지점이 생기는 것이다. SPOF는 점점 복잡해지는 시스템과 네트워크의 환경에서 반드시 피해야 하는 요소 중 하나 인데 SAC로 인해 매우 Critical한 SPOF가 만들어지는 것이다. 모든 시스템의 패스워드가 하나의 DB에 저장 됨으로 해서 장애나 정보 유출 등이 발생할 경우 그 피해는 상상하기 어렵다. 게다가 특정 시스템에서 보안사고가 발생할 경우 모든 출발지가 SAC 장비로 운영체제의 감사 로그에 기록되기 때문에 서버 입장에서는 감사 추적이 더 어려워지고 모든 감사 추적과 분석을 SAC에 의존할 수 밖에 없게 된다. 이 또한 피해야 하는 현상이라고 할 수 있다.


경영 이론에서 투자의 위험은 분산 시켜야 한다고 한다. 역시 보안의 관점에서도 위험은 분산 시키는 것이 기본이다. 하지만 SAC는 수많은 시스템의 위험이 SAC로 집중되는 역효과가 일어날 수 밖에 없다.


이쯤되면 SAC는 보안 솔루션의 범주에 두기는 어렵다고 판단할 수 있다. SAC는 보안감사와 패스워드 관리의 편의성을 위해 도입되는 통합관리솔루션 정도로 봐야할 것이다. 아직은 SAC가 시장에 진입한지 몇년되지 않기 때문에 도입 대비 보안강화의 효과는 단언할 수는 없다. 분명 관리의 편의성은 높아지겠지만 실제 보안의 관점에서 SAC의 효과는 기대하기 어렵기 때문이다.


SAC의 미래가 자못 궁금해진다.


첨부: SAC와 서버보안SW의 비교표



관련 포스트


[개인정보보호법] 서버접근제어 및 감사시스템 구축


신고
이 댓글을 비밀 댓글로

개인정보의 정의와 범위 그리고 무분별한 사용 실태

Posted by taeho Tae-Ho
2013.10.14 16:30 정보보호

IT산업이 발달한 현대사회에서 개인을 유일하게 식별할 수 있는 정보는 일상의 모든 일에 필수적이다. 금융거래를 비롯해 개인과 기업의 계약과 거래, 개인과 개인의 계약과 거래에 개인의 유일한 식별자는 필요하다. 그런 측면에서 대한민국은 세계에서 몇 안되는 편리한(?) 나라다. 주민등록번호 하나만 있으면 그 사람의 거의 모든 금융거래를 비롯한 평생의 행적(?) 거의 완벽하게 추적할 수 있기 때문이다. 인터넷이 활성화 되고 많은 공공기관과 기업들 그리고 웹사이트들이 무분별하게 개인정보를 수집하고 사용하고 있는 현대 사회에서는 주민번호와 같은 유일한 개인 식별자의 활용도는 더욱 높아질 수 밖에 없다.


그렇다면 외국의 다른 나라들도 우리나라의 주민번호와 같이 개인을 식별할 수 있는 유일한 식별자의 체계를 정부주도하에 갓 태어난 아기부터 죽는날까지 부여하고 관리하는 나라가 있을까? 결론적으로 말하면 우리나라 처럼 갓 태어난 아기부터  죽을 때 까지 일관되게 사용되는 주민등록번호와 같은 식별자를 사용하는 나라는 없다.


물론 세상이 점점 복잡해짐으로 인해 금융거래와 세금, 복지 등의 문제로 인해 개인의 식별번호에 대한 필요성이 점점 높아지기 때문에 미국의 사회보장번호체계와 같이 주민번호와 유사한 기능을 갖는 개인 식별번호가 점점 더 많이 사용되고 있기는 하다. 하지만 우리나라처럼 주민등록 번호 하나를 갖고 은행, 보험사, 증권사, 자동차회사, 통신사, 전력회사, 가스회사와 같은 기업은 물론 법원, 경찰, 검찰, 구청, 시청, 국세청 등등 거의 모든 기업과 공공기관에서 사용하는 그런 나라는 지구상에 없다.


예를 들자면 미국에서 인터넷을 가입하려면 일부 대기업 인터넷 망의 경우 드라이버 라이센스나 사회보장번호가 필요하지만 중소 인터넷 업체의 경우에는 그런 것 없이도 가입이 가능하다. 휴대폰도 마찬가지다. 일부 통신사는 사회보장번호를 요구하지만 사회보장번호 없이도 개통해주는 통신사도 있다. (의무는 아닌 것이다.) 우리나라는 당연히(?) 주민등록 번호없으면 이동통신은 물론 인터넷 가입도 불가능하다. 통신의 자유가 보장되는 자유민주주의 국가에서 사실 말도 안되는 일인 것이다.


나만의 휴대폰을 만들고 내가 사용할 인터넷 회선을 끌어 오는데 주민등록번호를 요구하는 것이 당연하게 느껴진다면 이미 당신은 정부와 기업의 무분별한 개인정보제공 요구와 수집된 정보의 활용에 둔감해져 있는 것이다.


이쯤에서 본론으로 돌아가서 그렇다면 주민번호만 개인을 식별할 수 있는 고유정보일까?

우리나라의 여러 법률에서 정의하고 있는 개인정보에 대한 정의는 다음과 같다.


개인정보보호법

  : 살아있는 개인에 대한 정보로 성명·주민등록번호 및 영상 등을 통하여 개인을 알아볼 수 

    있는 정보 (해당 정보만으로는 특정 개인을 알아볼 수 없더라도 다른 정보와 쉽게 결합하여 

    알아볼 수 있는 것을 포함)

  

정보통신망 이용촉진 및 정보보호 등에 관한 법률

  : 생존하는 개인에 관한 정보로 성명,주민등록번호 등에 의하여 특정한 개인을 알아볼 수 

    있는 부호·문자·음성·음향 및 영상 등의 정보 (해당 정보만으로는 특정 개인을 알아볼 수 

    없더라도 다른 정보와 쉽게 결합하여 알아볼 수 있는 경우에는 그 정보를 포함)

 

신용정보 이용 및 보호에 관한 법률 

   : 신용정보 중에서 개인의 신용도와 신용 거래 능력 등을 판단할 때 필요한 정보 (신용 정보

     주체를 식별할 수 있는 정보)

     예) 생존하는 개인의 성명, 주소, 주민등록번호, 외국인 등록 번호, 국내거소신고번호, 

     여권번호, 성별, 국적 및 직업 등

[출처] | 개인정보의 정의|작성자 스토리


이러한 개인정보에 대한 정의가 법률에 명시되고 무분별한 개인정보의 수집과 활용에 대해 제동을 걸면서 지나친 개인정보를 요구하는 사례가 많이 줄어들고는 있지만 아직까지도 무분별한 개인정보 수집과 활용이 이루어지고 있는 것이 사실이다. 그리고 개인정보의 범위가 어디까지 인지에 대한 판단을 잘 하지 못하는 경우를 많이 볼 수 있다.


개인정보란 직접적인 식별자가 아니더라도 여러 정보를 결합하면 누구인지 알아볼 수 있는 모든 정보가 포함된다. 이러한 점을 잘 인지하지 못하고 무분별하게 정보를 식별하는 사례를 흔히 볼 수 있다.


오늘 지하철에서 그 사례를 보았다.




악덕 세입자와 집주인을 식별해 세입자와 집주인을 보호하자는 긍정적(?)인 의도라고도 할 수 있겠지만 분명 주소와 계약기간을 알면 간접적으로 누구인지를 유추해낼 수 있을 것으로 보인다. 즉 이로 인한 피해자도 분명 생길 수 있을 것으로 판단된다.



이렇게 개인정보를 무분별하게 수집하고 사용하는 이유에는 "신용"의 부족에 기인한다고 할 수 있다. 나와 거래하는 사람이 누구인지 신분을 명확하게 확인하는 근본적인 이유는 상대방을 믿지 못하는 불신의 심리가 바닥에 깔려 있기 때문이라고 생각된다. 위의 경우도 거주기간과 주소지만으로도 인근 거주자들의 경우 그 세입자, 집주인이 누구인지 쉽게 유추해 낼 수 있다.


미국이나 서양의 경우 "신용 - Credit"이 없다면 생활하기 어려울 만큼 철저한 자본주의 세상이다. 하지만 우리나라의 경우 "신용"을 우습게 생각하는 경향이 많다. 예를 들어 위의 경우도 월세를 제대로 내지 않거나 밀리는 것은 "신용"을 져버리는 것이다. 하지만 한두달 쯤이야 라며 밀리는 경우를 우리 주변에선 흔히 볼 수 있다. 결국 그러한 사회적 전반의 "신용"을 우습게 아는 경향으로 인해 결국 무분별한 개인정보 수집으로 이어지고 그로 인한 다양한 피해를 예상할 수 있는 사례라고 할 수 있다.


<>우리 사회가 철저한 신용사회가 되고 개인의 사생활까지 노출될 수 있는 개인정보를 요구하지도 수집하지도 않는 좋은 세상이 되길 꿈꾸어 본다.

신고
이 댓글을 비밀 댓글로

샵메일, 공인인증서와 액티브X의 재림인가?

Posted by taeho Tae-Ho
2013.09.16 11:48 정보보호

인터넷이 대중화되면서 넷스케이프, 파이어폭스, 인터넷익스플로어, 크롬 등 다양한  웹서핑 도구(웹브라우저)가 사용되고 있다. 2013년 현재 전세계적으로는 구글의 크롬이 40%를 넘는 점유율을 보이고 있고 인터넷익스플로어(IE)는 약 25% 정도의 점유율을 보이고 있다. 하지만 여러가지 웹브라우저 중에서 유독 우리나라에선 마이크로소프트의 인터넷 익스플로어가 많이 사용된다. 최근(2013년)엔 그 점유율이 많이 떨어졌지만 아직도 아직도 70% 이상의 점유율을 보이고 있는 것이 현실이다.


그 이유는 아무래도 ActiveX 때문이다. ActiveX는 제한된 HTML 기능을 보완해 다이나믹한 웹페이지 웹페이지를 만들 수 있도록 하기 위해 마이크로소프트에서 만든 기술이다. 하지만 마이크로소프트가 항상 그러하듯 처음 개발할 땐 대~~충~~만든다. 그리고 사용자가 늘어나면 조금씩 조금씩 보완해 나간다. 그러다보니 프로그램은 땜빵 투성이고 버그의 천국이 되고 만다. 인터넷익스플로어가 그렇고 액티브X가 그러하다.


액티브엑스의 폐해와 불만을 보여주는 사용자들의 패러디(?)는 인터넷에 넘쳐난다. 재미삼아 몇개만 소개해보면...


ActiveX

( 출처 : http://www.noactivex.net )


아마도 이 글을 보는 대부분의 분들은 웃으며 공감을 표시할 거라 생각된다. 


액티브X가 문제가 되는 것은 두가지 이유다. 불안정성(버그)와 보안취약성이다. 때문에 해외에서는 거의 사용되지 않는 기술이다. 그런데 우리나라에선 왜 액티브X를 아직도 많이 사용하는 걸까?  우리나라에서 액티브X가 끈질긴 생명력을 자랑하게 된 데는 "공인인증서(PKI)"가 주된 원인이다. 


많은 사람들이 "공인인증서"가 왜?? 라고 반문할 것이다. 공인인증서는 우리나라 사람들의 금융자산을 지켜주는 아주 훌륭한 기술이 아닌가? 라고 생각할 것이다. 맞다. 비록 우리나라의 "공인인증서"가 세계표준과는 거리가 먼 우리나라에서 밖에 사용할 수 없는 "IT의 갈라파고스"라는 비난을 받고 있고 보안상 일부 취약한 부분이 있긴 하지만 실생활에서 보안 마인드가 부족한 일반인의 금융보안에 중요한 역할을 하고 있는 것은 인정해야한다.


다만 공인인증서 시스템에 큰 문제점이 있다는 것도 인정해야 한다. 우리나라에서 사용하는 공인인증서는 국제표준과는 동떨어져 있기 때문에 브라우저에서 별도의 프로그램을 실행해야만 한다(ActiveX). 바로 이 별도의 보안 프로그램이 바로 ActiveX 콘트롤이다. 이렇게 보안에 무척 취약한 액티브X기술에 의존하고 있다는 것과 국제표준이 아니라는 점, 그리고 공인인증서 시스템이 시장에 진입할 때 일부 사기업에게 너무 큰 혜택을 주었다는 점에 있다. 특히 인증서 관리 기관에 대한 자격제한이 너무 까다로워 금융결제원, 코스콤 등 몇몇 사기업이 그 시장을 독점하고 있다는 문제가 있다.


그나마 일부 금융기관이 액티브X가 아니어도 인터넷뱅킹을 이용할 수 있도록 "자비"를 들여서 오픈뱅킹 시스템을 도입하고는 있지만 그 오픈뱅킹 시스템 조차도 웹 브라우저에서 기본적으로 지원할 수 있는 "국제 표준" PKI가 아닌 "국내 표준 PKI 공인인증서"이기 때문에 액티브X 처럼 무언가 "다른 보조적인 보안 프로그램"을 설치해야만 사용할 수 있는 "반쪽짜리 오픈뱅킹"이 되어 버리는 문제점을 그대로 내포할 수 밖에 없다.


샵메일 - "국내표준" 공인인증서의 재림인가?


공인인증서에 이어 시작도 하기전부터 많은 문제제기를 받고 있는 보안 표준이 있으니 바로 "샵메일"이다.



샵메일은 인터넷을 통해 송/수신되는 전자문서의 위/변조를 막고 송신과 수신의 주체를 인증하는 역할을 하는 새로운  전자문서 유통 체계다. 나라에서 기업과 기업, 기업과 개인, 공공기관과 기업간의 전자문서 전달과 보안을 책임져주겠다는 아주 고마운 제도이자 보안 시스템이다. 


하지만 샵메일의 첫번째 문제는 역시나 국제표준으로 통용되는 이메일기술과 표준인증기술(PKI)를 적용하지는 않는다는 점이다. 메일이라는 이름을 갖고 있으면서도 이메일이 아닌 것이다. 결국 샵메일을 보내려면 액티브X처럼 별도의 프로그램을 PC에 모두 설치해야할 것이고 또한 샵메일을 관리하는 샵메일 서버도 국제 표준으로 통용되는 여러 이메일서버를 사용할 수 없게 된다. "메일"이라는 단어가 들어가지만 절대 이메일과는 무관한 기술인 것이다. 또한 국제 표준기술을 채택하고 있다고 하지만 국내표준인 공인인증이 필요하고 국제표준을 가져다 약간~변경하여 국내표준으로 만들어버린 기술이기에 외국에서 이 기술을 쓸 이유도 없다. 결국 국제표준이 아닌 것이다.


또 하나의 문제는 기술과는 관계없는 문제다. 바로 "돈"과 관계있는 문제다. 샵메일 서비스 또한 아무나 할 수 없는 사업이다. 또한 국제 표준 기술을 따르는 기술을 활용하는 시스템이 아니기에 사실상 해당 기술을 선점할 수 있는 일부 업체에게 너무나 유리한 사업이다. 


샵메일로 인해 파생되는 모든 문제점들은 공인인증서가 시작될 때 처럼 국제표준기술을 채택하지 않기 때문에 생겨난다고 생각된다. IT 갈라파고스를 자처하는 이런 독창(?)적인 시스템은 인터넷으로 수많은 시스템과 네트워크가 유기적으로 연결되어야 한다는 특성으로 인해 많은 문제점을 유발할 수 밖에 없다.


단적으로 샵메일은 국내 기업과 외국 기업의 문서전달에는 전혀 도움이 되지 않는 오히려 방해물만 될 수 밖에 없다는 점을 들 수 있다. (샵메일을 쓰기 위해서는 국내표준인 "공인인증서"를 사용해야 함) 우리나라는 수출위주의 경제구조를 갖고 있다. 국내에서 밖에 사용될 수 없는 시스템을 구축하고 유지비를 내야한더는 것은 우리나라가 그렇게도 목매고 있는 국제경쟁력을 약화시키는 요소가 될 뿐이다.


실질적인 보안의 강화를 위해 아이디어를 내고 출발한 것은 좋았으나 구체적으로 진행되면서 결국 샵메일은 "공인인증서의 재림"이 되는 모습으로 구체화되고 있다. 이러한 문제를 어떻게 개선하느냐가 샵메일의 숙제가 아닐까?

신고
Tags
이 댓글을 비밀 댓글로

무결성에 대한 네트워크보안과 서버보안에서의 차이점 이해

Posted by taeho Tae-Ho
2013.09.06 14:24 정보보호

서버보안 쪽 일을 하다보면 무결성 검사에 대한 요구가 이따금씩 불거지곤 한다. 서버의 보안을 강화함에 있어 무결성 검사가 필요한 경우도 있다. 하지만 네트워크 보안에서와는 달리 서버보안에서 무결성 검사란 "사후약방문"이 될 가능성이 훨씬 크다. 예를 들면 홈페이지의 변조에 대한 탐지가 대표적인 예다.


홈페이지의 소스파일이 변조된 것은 "무결성"이 훼손된 보안사고다. 이미 변조가 되었고 얼마나 많은 고객이 변조된 웹페이지에 접속하여 우리회사를 비웃고 지나갔는지 알 수 없다. 이때는 변조를 탐지했어도 별 의미가 없다. 빨리 복구하는 수 밖에 없다. 서버에서 무결성이 훼손되는 것은 매우 치명적인 사고다. 무결성검사를 통해 변조를 탐지하는 것 보다 "제보"를 통해 인지하는 시간이 더 빠를 가능성도 배제할 수 없다.


아래 그림에서와 같이 "주기적"인 무결성 검사는 지난번 검사주기와 이번 검사주기 사이에 일어나는 해킹에 의한 변조를 찾아낼 수 없다. 그 주기가 짧으면 짧을 수록 좋겠지만 수많은 파일에 대한 무결성 검사를 위해 파일마다 일일히 MD를 생성하고 비교하는 것은 주기적인 서버의 부하 증가를 유발할 수 있기 때문에 바람직하지 않다.



위의 그림은 Tripwire와 같은 서버의 무결성 검사를 수행하여 루트킷이나 변조된 파일을 탐지해주는 일반적인 호스트기반의 무결성 검사도구가 수행하는 기능을 보여주는 그림이다. 주기적인 무결성 검사는 서버입장에서는 그리 효과적인 보안 기법이 아니다. 


서버보안SW에서는 무결성 검사기법을 참조모니터인 Security Kernel 수준에서 구현하여 실시간 탐지가 가능하도록 구현하였다. RedCastle(WhiteCastle)은 이 무결성 검사를 설치 시 최초 1회 수행하고 이후 해당 파일이 실행되거나 메모리에 로드될 때 검사하여 실시간으로 파일의 변조여부를 검사하도록 되어 있다. (WhiteCastle or RedCastle) 따라서 지속적인 CPU 부하가 발생하지 않으며 감염된 악성코드를 효과적으로 탐지할 뿐만아니라 악성코드에 감염된 실행파일과 DLL이 메모리에 로드되는 것을 차단할 수 있다. 이러한 커널기반에서의 실행파일 무결성검사는 제로데이 취약성을 공격하는 새로운 악성코드의 차단에 매우 효과적인 방법이다.



하지만 네트워크 보안에서 전송되는 메시지에 대한 무결성 보장은 서버에서의 무결성 보장보다 더 중요하다.  앞의 그림에서 처럼 해커는 수신자에게 전달되는 메시지를 가로채어 변조한다. 서버에서의 무결성 검사와는 달리 이러한 무결성 검사가 메시지 수신시에 바로 일어나게 되며 수신된 즉시 메시지의 무결성 검사를 수행하고 만약 변조되었다면 해당 메시지를 버리거나 송신자에게 알리고 연결을 끊게 된다.


네트워크에서의 무결성검사가 실시간으로 일어나듯 서버에서의 파일 무결성 검사도 파일이 읽히거나 실행될 때 실시간으로 이루어져야만 한다. 그렇지 않고 주기적으로 검사하여 변조 여부를 파악하는 것은 "사후약방문"이나 "소잃고 외양간고치는"겪이 될 가능성이 매우 높다.


파일의 무결성이 실시간으로 보장되어야만 APT 공격과 제로데이 취약성 공격을 효과적으로 방어할 수 있다. 파일의 실시간 무결성과 변조 차단이 가능한 솔루션은 RedCastle과 WhiteCastle 같은  SecureOS 솔루션이다.


신고
이 댓글을 비밀 댓글로

스마트폰 위치추적 방법 (자녀의 위치 추적 방법)

Posted by taeho Tae-Ho
2013.09.02 16:09 정보보호

스마트폰은 PC와 같아서 다양한 소프트웨어의 설치가 가능하다. 게다가 스마트폰은 대부분 3G, 4G 네트워크를 통해 인터넷에 상시 접속되어 있기 때문에 통신 기능을 활용하여 무궁무진한 기능성을 가질 수 있다. 하지만 사람들은 착하기만 하지는 않기 때문에 인터넷에 상시 접속되어 있는 스마트폰을 긍정적인 방향으로만 사용하지는 않는다. 대표적인 것이 바로 스마트폰을 통한 상대방의 위치추적이다.


개인의 실시간 위치는 "보호되어야할 개인정보"에 포함된다. 위치추적의 대상이 비록 가족일지라도 성인남녀의 위치를 조회하는 것은 엄연한 불법이다. 최근 이슈가된 모 한류스타의 아내에 대한 위치추적이 이혼소송에서 강력한 무기로 사용된 것은 그 사례중 하나일 뿐이다.


때문에 이 포스트에서 소개하는 방법을 통해 불법적으로 위치추적을 함으로써 발생하는 문제는 분명히 이 포스트를 읽고 실행한 당사자에게 있음을 천명하며 본인의 동의 없이 불법적으로 위치를 추적하는 것은 엄연히 현행법상 "불법"임을 고지한다.


만약 합의하에 서로의 실시간 위치를 공유하기로 하였거나 미성년 어린이의 보호를 위해 위치추적을 하고자 한다면 여러 위치추적 기능 앱이 있지만 Life360 이라는 가족 위치추적 앱을 사용할 것을 추천한다. 만약 별도의 앱을 사용하지 않고 추적하기를 원한다면 얼마전 오픈된 구글의 디바이스 매니저 기능을 이용해 현재의 실시간 위치를 확인할 수 있다.


1. Life 360


이 앱은 부모의 스마트폰과 아이의 스마트폰에 모두 설치한 뒤 Life360에 가입해야 한다. 아이의 구글 이메일주소와 부모의 구글이메일주소로 가입하는 것이 아이디를 잊어버리지 않는 방법이겠다. (어떤 이메일 주소도 관계 없음) 

 


가입이 끝나면 부모의 스마트폰에서 Life360을 실행한 뒤 아이의 이메일주소를 등록한다. 아이의 이메일 주소를 등록하면 아이의 이메일로 초대 이메일이 전송된다. 아이의 이메일에 로그인한 뒤 초대를 수락해주면 이 때부터 부모의 스마트폰에 아이가 등록되어 아래 화면처럼 위치를 추적할 수 있게 된다.



아이의 스마트폰에서는 위치 추적을 허용할 것인지를 선택할 수도 있고 위치 업데이트 간격도 최소 15분 간격으로 설정할 수 있다. 또한 부모의 스마트폰에서 실시간으로 위치를 조회할 수도 있다. 다만 아이의 스마트폰이 항상 데이터접속이 되어 있어야 하며 만약 데이터 접속이 끊겨 있다면 와이파이나 데이터 접속이 이루어졌을 때 위치가 업데이트 된다.


이 Life360을 한달여 사용해본 결과 아이가 와이파이에 접속하여 있을 경우 20~30미터 이내의 오차를 보이며 GPS나 와이파이가 안될 경우는 3G 망을 이용한 위치가 비교적 안정적으로 표시되는 것을 확인할 수 있었다.

그리고 마지막 위치 업데이트 시간도 표시해주고 무료버전의 경우 2일간의 과거 이동 경로도 시간별로 확인할 수 있는 기능도 갖고 있는 등 상당히 유용한 기능을 갖고 있었다. 유료 버전을 사용해도 그 돈이 아깝지 않을 만한 앱이었다. 


Life360은 미국에서 가장 많은 사용자를 보유한 꽤나 유명한 위치추적 앱이다.


2. 구글의 안드로이드 디바이스 매니저


구글의 안드로이드 디바이스 매니저는 분실한 휴대폰을 찾기 위해 제공되는 서비스로 생각된다. 이 서비스의 경우 별도의 앱을 설치할 필요가 없다. 다만 위치를 찾고자하는 휴대폰에 설정된 구글 계정을 알아야 한다. 즉 아이의 폰에 설정된 구글계정을 알아야만 위치 추적이 가능하다. 


다음의 주소에 스마트폰이나 PC에서 웹브라우저를 통해 접속한다.


구글 안드로이드 디바이스 매니저  


위의 주소에 접속하고 위치를 찾고자 하는 스마트폰의 구글 계정과 비밀번호를 입력하고 로그인 한다. 로그인에 성공하면 아래와 같은 화면이 표시된다.



만약 여러개의 스마트폰을 사용하고 있거나 과거에 이 계정으로 사용한 폰이 있다면 폰 목록에 모두 표시가 된다. 현재 사용중인 폰을 선택하고 "Refresh" 버튼을 클릭하면 해당 스마트폰에 현재 위치를 요청하고 해당 위치를 위의 화면과 같이 지도에 표시해준다. 


역시 구글의 위치 정보는 매우 정확하다. GPS, 와이파이, 3G/4G의 순으로 정확한 위치를 표시해주고 있다. (물론 폰이 꺼져있다면 위치 파악은 불가하다)

다만 구글의 서비스는 이동경로를 보여주는 기능은 없고 현재의 위치만 알려주면 "벨울리기" 기능을 통해 분실된 폰이 벨이 울리도록 하는 기능을 갖고 있다.


다시 한번 강조하지만 다른 사람의 스마트폰에 위치추적 앱을 설치하거나 구글계정을 해킹하여 위치파악을 하는 행위는 그 행위 자체로 불법이다. 자칫 몰래 위치추적을 하다가 발각이 되면 심각한 관계의 파탄이 있을 수 있음을 명심하여야 한다.


스마트폰의 위치 추적이 가능하다면.... 위치를 속이는 것도 가능하지 않을까? 물론 가능하다. ^^

오늘은 여기까지만... ^^


신고
이 댓글을 비밀 댓글로
    • awhsbs
    • 2013.09.23 01:27 신고
    거리가 멀면 추적못하나요? 경기도에서 대전입니다 거리탐색같은것도 했구요
    • 거리와는 관계 없구요...
      다만 추적을 당하는 (추적하고자 하는) 스마트폰의 설정 중 두가지가 허용 되어 있어야 합니다.

      안드로이드 스마트폰의 시스템설정의 "위치정보액세스"에서 "내 위치에 대한 액세스 권한"을 On(허용)으로 해주셔야 하구요..

      "계정"에 가셔서 구글 계정을 선택하시고 "위치정보"에 가시면 "구글 앱이 사용자 위치에 액세스하도록 함"을 On(허용)해 주어야만 구글 디바이스 매니저에서 조회가 가능합니다.

      위의 두 설정을 진입하는 메뉴는 폰의 제조사에 따라 조금씩 다를 수 있으니 잘 찾아보셔야 합니다.
    • 햇살
    • 2013.10.07 03:52 신고
    아이폰이랑 겔4랑은 안되는건가여
    15분마다 업뎃설정해놧는데 안되네영
      • 햇살
      • 2013.10.07 03:55 신고
      Life360이여
      • 햇살
      • 2013.10.07 05:00 신고
      상대방이 체크인햇을때만 위치가떠요
      새로고침은 안되고요
      • 햇살
      • 2013.10.07 15:18 신고
      아이의 스마트폰에서는 위치 추적을 허용할 것인지를 선택할 수도 있고
      이건 설정어떡해해야되나여
    • 기종엔 관계없이 됩니다. 다만 부모님의 폰에서 아이의 폰에 등록된 이메일계정을 등록해주어야 하구요.. 아이의 폰에서 승락을 해줘야만 합니다. 그리고 아이의 폰에서 업데이트 주기를 설정해줘야 하구요. 당연히 아이의 폰이 와이파이 연결이 되었거나 3G/4G 연결이 된 상태에서만 실시간으로 위치가 업데이트 됩니다.
      • 햇살
      • 2013.10.08 03:04 신고
      처음등록할때 아이 핸드폰번호랑 이메일계정등록햇고 써클인가 거기에 우리둘이 잇거든여 3g4g항상켜잇구여
      업데이트주기는 15분으로 되잇구여
      이상하네여
    • 글쎄요.. 전 별 문제 없이 잘 진행이 됐는데.. 상황을 정확히 알지 못하니 도움을 드리기가 어렵네요.
  1. 폰이꺼져있어도 되나요
    • 켜져있을 당시의 마지막 업데이트 위치를 보여줍니다.

APT 공격의 방어와 추적을 위한 보안 시스템 구성

Posted by taeho Tae-Ho
2013.08.30 10:49 정보보호

APT 공격 등장의 배경


해킹은 계속 시도 되고 있고 해킹을 막기 위한 기술 또한 진화되고 있다. 하지만 해킹의 기법(기술이라고 하기엔 쫌 그렇다..) 중 APT 공격에 대해서 만큼은 보안업계에서도 대응이 쉽지 않은 모양새다. 지금까지 보안 업계는 대부분 네트워크와 응용 수준에서의 보안 기술 개발에 집중해왔다. 어떻게 하면 컴퓨터에 저장되고 네트워크를 통해 전송되는 데이터를 "강력하게 암호화"해서 유출되더라도 기밀성을 유지할 것인가, 그리고 해커의 공격을 어떻게 하면 "네트워크에 흘러가는 패킷을 캡쳐"해서 탐지해낼 것인가에 집중해 왔다. 그 결과 데이터 암호화와 네트워크 보안에서 훌륭한 솔루션들이 개발되었다. 


하지만 해커들도 가만히 있지는 않는다. 수 많은 TCP/IP 프로토콜의 취약성을 찾아내고 공격해왔던 해커들이지만 이젠 더 이상 TCP/IP의 취약성 만으로는 그저 DDOS와 같은 서비스의 장애를 유발하는 단순한(?) 공격밖에는 할 수 없는 상황이 된 것이다. 그래서 해커들은 어쩔 수 없이 보다 긴 시간과 보다 다양한 기술을 접목하여 복잡한 과정을 거칠 수 밖에 없는 해킹을 시도하게 되었다. 이러한 공격의 형태를 APT 공격이라고 한다.





APT 공격의 시작 - 침투 단계의 방어


해커들은 과거에는 손쉽게 가능했던 IP스푸핑이나 세션하이재킹과 같이 원격에서 공격대상 서버와 컴퓨터에 직접 침투가 어렵게 되자 이메일, USB, 웹페이지를 통한 악성코드 감염, 사회공학적 기법과 같이 간접적인 접근 방법을 동원하여 공격 대상 컴퓨터가 위치한 네트워크에 침투 거점을 확보하는 방법을 활용한다. 

침투 거점의 확보는 대부분 컴퓨터에 대한 원격제어가 가능한 악성 프로그램을 감염시키는 형태로 이루어진다. 이 악성 프로그램은 침투한 컴퓨터의 키보드 입력 캡쳐, 화면 캡쳐, 원격제어, 다른 컴퓨터로의 원격접속과 명령 실행 등을 할 수 있는 "에이전트(Agent)" 형태를 띄고 있다. 그리고 이 에이전트는 실시간 혹은 배치(batch:정해진 시간에 일시적으로 작업하는 형태)로 해커와 통신할 수 있도록 만들어져 있는 것으로 알려져 있다.

이 에이전트는 일반적으로 알려진 악성코드 처럼 침투한 컴퓨터 자체를 공격하지 않기 때문에 블랙리스트 방식의 공격패턴으로 악성코드를 탐지하는 "백신"으로는 탐지할 수 없다. 백신으로 탐지할 수 없기 때문에 침투 단계의 방어가 어려운 이유이기도 하다.


APT 공격의 침투단계에서 악성코드 격인 해커의 "에이전트"를 탐지하기 위해서는 화이트리스트(White-List) 방식의 보안솔루션이 필요하다.  화이트리스트 방식의 보안 솔루션은 PC나 서버에 설치되는 시점에 실행코드가 담긴 모든 파일의 MD(Message Digest : Hash 함수에 의해 생성되는 일정 길이의 코드, 파일의 무결성을 검사하기 위한 기법)를 생성하여 보관하고 있다가 명령코드가 담긴 파일이 실행되거나 메모리로 로딩될 때 다시 MD를 생성하여 보관하고 있던 MD와 비교하는 방식으로 파일의 존재 여부와 실행허용 여부를 결정하게 된다. 만약 변조된 파일 이거나(악성코드 감염) 기존에 없던 새로운 파일(악성코드 감염)이라면 실행을 차단하게 된다. (RedCastle과 WhiteCastle 이라는 국산 보안 솔루션이 갖고 있는 기능)


그외에도 침투 단계에서 APT 공격을 차단하기 위해서는 기존의 이메일에 첨부된 첨부파일을 검사할 수 있는 이메일 보안 솔루션과 컴퓨터의 USB 포트를 사용하지 못하도록 차단하는 솔루션, 정해진 안전한 웹사이트 이외에는 접속하지 못하도록 웹 서핑을 차단할 수 있는 웹필터 등의 네트워크 기반 보안 솔루션도 활용될 수 있다. 하지만 이러한 네트워크 기반의 침입차단시스템(예방통제시스템)을 통과한 APT 공격의 침투를 최후방에서 방어할 수 있는 솔루션이 바로 WhiteCastle과 같은 화이트리스트 방식의 보안소프트웨어다.


APT 공격의 본격화 - 탐색/유출 단계의 방어


침투에 성공하면 해커는 에이전트가 보내주는 정보를 수집하고 분석한다. 에이전트가 설치된 컴퓨터에서의 주요 서버에 대한 접속정보(서버IP, ID/PASSWORD) 등 공격대상 서버에 2차 침투하기 위한 중요한 정보를 얻을 수도 있고 주요 데이터베이스에서 컴퓨터로 다운로드해 둔 돈이 될만한 정보(개인정보)가 담긴 파일을 얻을 수도 있다. 이 단계에서는 에이전트로부터 수집된 정보를 전송받아 분석하는 것이 해커의 주 활동이 될 것이다. 


어찌보면 침투단계보다 수집단계의 적발이 더 어려울 수도 있다. 해커는 수집된 정보를 작게 분할하여 일정 시간 간격으로 전송받기 때문에 침입탐지장비에게 인지되지 않을 가능성이 크다. 또한 에이전트가 컴퓨터에 직접적인 공격을 가하는 것이 아니기 때문에 백신 등에 의해 탐지가 어렵다. 


만약 해커가 탐색/유출 단계에서 원하는 모든 것을 얻었다면 곧바로 에이전트가 설치된 컴퓨터를 파괴(공격)하고 빠져나갈 것이다. 하지만 필요로 하는 정보를 획득하지 못했다면 분석한 정보를 바탕으로 원하는 정보가 있거나 공격대상으로 삼은 서버나 컴퓨터를 공격하게 된다.


APT 공격의 마무리 - 공격/수집 그리고 파괴 단계의 방어


해커가 앞 단계에서 실제 공격하고자 하는 대상 서버의 정보를 모두 수집하였다면 실제 공격에 나선다. 실제 공격에 나서는 경우는 대부분 2차 침투하고자 하는 서버의 관리자 계정의 ID와 비밀번호의 획득에 성공하는 경우가 대부분이다. 과거 농협의 경우와 2013년 방송사 및 금융사의 공격의 경우도 실제 공격에 사용된 PMS 및 백신 업데이트 서버의 관리자 접속 정보가 탈취 되었기 때문에 가능했을 것이다.


이 단계의 방어는 1차적으로 공격 대상이 될 수 있는 서버에 ID와 패스워드 만으로는 접속하지 못하도록 이중인증 시스템(AuthCastle)을 구축하는 것이 필요하다. 서버에 접속할 때 ID와 패스워드 이외의 공인인증서, OTP(One Time Password), ARS 인증 등을 통해 2차 인증을 받아야만 접속할 수 있도록 시스템을 구성해야한다.


그리고 이중인증 시스템을 구축했다 하더라도 안심할 수 없다. 왜냐하면 320 사태나 과거 농협의 해킹 처럼 서버에서 실행중인 시스템관리 용도의 소프트웨어에 대한 취약성을 공격할 경우 서버에 직접 접속하지 않더라도 시스템의 관리자 권한(root 및 Administrator) 을 탈취하여 운영체제 및 애플리케이션의 명령어를 실행하거나 중요 파일에 접근(읽기/실행/수정/삭제)할 수 있기 때문이다. 따라서 이러한 공격을 차단하기 위해서는 RedCastle SecureOS와 같은 커널기반에서 파일에 대한 접근(읽기/실행/수정/삭제)등을 정책기반으로 통제할 수 있는 보안SW를 설치하고 해커에게 악용될 수 있는 명령어나 파일에 대한 접근, 서버의 네트워크 통신 포트에 대한 접근통제, 위협명령어에 대한 실행 통제, 더 나아가 중요 명령어에 대한 2차 승인 후 실행(AuthCastle) 등을 구현해야만 한다.


또한 최근의 APT 공격과 해킹에 활용되는 악성코드들은 대부분 운영체제나 애플리케이션의 "제로데이(Zero-Day) 취약성"을 공격하는 경우가 대부분이다.  제로데이 취약성을 공격하는 악성코드는 기존의 백신에서 탐지하지 못하는 경우가 대부분이기 때문에 백신을 무력화시키게 된다. 따라서 제로데이 취약성을 공격하는 악성코드를 탐지하고 실행을 차단하기 위해서 화이트리스트 기반의 보안SW(WhiteCastle)를 서버와 PC에 설치하는 것이 필수적이라 할 수 있다.


해커가 이 단계의 공격에 성공할 경우 그 피해는 상상하기 어려울 만큼 클 수 밖에 없다. 기업이나 기관의 중요 정보가 저장되어 있고 중요 서비스가 실행중인 "서버"가 그 공격 대상인 경우가 대부분이기 때문이다.


하지만 많은 IT 관리자들은 서버 내에서의 정책 수립이 어렵고 관리가 힘들다는 이유로 아직도 SecureOS의 도입을 망설이는 경우가 대부분이고 도입했다 하더라도 제대로 활용하지 않는 경우가 대부분이다. 하지만 만약 이러한 공격이 발생할 경우 피해의 규모와 비지니스 영향도를 생각한다면 도입과 구축 그리고 정책을 수립하고 적용하는 것이 정답이라 할 것이다.


관련 포스트 보기

APT 방어 시스템 구축 방안 및 네트워크 기반 APT 방어 솔루션에 대한 오해

신고
이 댓글을 비밀 댓글로

[보안사고사례분석] 2011년 발생한 농협 전산망 해킹에 의한 시스템 장애

Posted by taeho Tae-Ho
2013.07.16 10:36 정보보호
f

2011년 봄에 발생한 농협의 전산 시스템 장애는 IBM 엔지니어의 노트북(?)에서 원격명령으로 실행된 dd(혹은 rm) 명령에 의해 발생된 것으로 알려져 있다. 이때 장가 발생한 서버는 IBM의 AIX 운영체제가 설치된 Unix 서버 약 270여대다.


rm 명령은....

Unix 서버에서 rm 은 파일과 디렉토리를 삭제하는 명령이다. 윈도에 있는 휴지통..?? 유닉스엔 휴지통 개념이 없다. 파일이나 디렉토리는 무조건 삭제되고 복구도 불가능하다. 그래서 rm 명령을 내리면 파일 하나 하나 "진짜로 지울까요?"라고 물어보도록 강제로 설정하는 것이 기본이다.(하지만 얼마든지 무력화할 수 있다) 따라서 100개의 파일을 지우려면 100번을 y키를 눌러줘야 한다. 농협엔 이 설정이 안되어 있었을 가능성도 있다.

dd 명령은....

dd는 디스크를 이미지화하여 백업하고 문제가 발생하였을 경우 백업 받아둔 이미지로 복구할 수 있는 명령이다. 윈도에서 흔히 사용하는 트루이미지나 고스트 정도로 생각하면 틀리지 않다. 하지만 잘못된 이미지 혹은 /dev/null 을 입력으로 주고 복원하게 되면 스템은 "작살~"이 난다. 디스크의 앞부분부터 로우레벨에서 모두 지워지기 시작한다고 생각하면 된다.(윈도에서 디스크를 로우레벨로 포맷하는 것과 같음) 이경우 리부팅하면 리부팅도 되지 않을 가능성이 거의 100%다.

이 두개의 명령이 농협의 전산망을 마비시켰다고 한다.
 



의문점 1. 어떻게 320대의 서버중 275대에서 rm과 dd가 동시에 실행될 수 있는가?


농협은 275대의 서버에서 rm과 dd 명령이 동시에 실행되었다고 밝히고 있다. 이 rm과 dd 명령은 아무리 서버의 관리자 권한(root)을 갖고 있다고 하더라도 쉽게 사용하는 명령어가 아니다. 더군다나 모든 파일을 삭제하는 "rm -rf *" 명령은 엔지니어들이 쉽게 입력하고 엔터키를 누를 수 있는 명령이 절대 아니다. Unix 서버에서는 한번 삭제된 파일은 복구가 거의 불가능하다는 것을 잘 알고 있기 때문이다.

게다가 275대의 서버에 동시에 로그인하여 이 명령을 실행하는 것은 15년 넘게 엔지니어일을 하고 있는 나로서도 상상하지 못할 일이다. "바보 천치"가 아닌이상 말이다.

나도 수십대의 서버에서 같은 작업을 수행할 때는 이따금씩 여러대의 서버에 동시에 로그인해 동일한 명령을 수행하는 경우가 있다. 하지만 "rm"과 같은 명령을 수행할 땐 등골이 오싹하는 긴장속에서 실행할 수 밖에 없다. 자칫 실수할 경우 내 인생에 되돌릴 수 없는 치명적인 오점을 남기게 될 수도 있기 때문이다.

그런데... 농협의 275대 서버에서 동시에 실행되는 스크립트나 명령을 수행하면서 이런 실수를 한다고 생각하면 ??? 상상만으로도 끔찍한 일이다. 과연 IBM의 엔지니어가 이런 위험천만한 작업을 했을까?


의문점 2. 농협의 550여 명의 IT본부에 "rm, dd" 명령을 수행할 권한을 가진 사람이 없다?

이건...정말...아니다 올시다. 서버의 주인인 농협의 IT본부 550명 인력 중 rm과 dd 명령을 수행할 권한을 가진 사람이 없다니. 이 말을 한 농협 관계자는 IT본부 책임자급인 것으로 알고 있다. Unix의 지식이 전혀 없는 문외한이 아니라면 이런 말은 하지 못한다. dd나 rm은 서버에 접근할 권한이 있는 사람이라면 누구나 실행할 수 있는 명령이며 서버보안S/W를 이용해 파일접근통제 정책이 있더라도 이 명령 자체의 실행을 막을 수는 없다. 그렇게 되면 서버를 운영하기가 현실적으로 불가능하기 때문이다.

게다가 이번 장애는 서버의 Super User계정 즉 root 계정에서 실행된 것으로 보인다. root 계정이 아니라면 아무리 rm이나 dd 명령을 수행하더라도 운영체제 자체에 손상을 주는 것은 100% 불가능하다. Unix 운영체제가 그렇게 허술하게 만들어져 있지는 않다. 따라서 위의 말은 "농협IT본부 직원들은 root 계정을 사용하지 않는다."는 말이다. Unix 서버를 조금이라도 아는 사람이라면 "콧방귀"를 뀔 이야기다.

Unix서버의 root 계정은 협력사 엔지니어는 사용하지 못하게 통제할 수는 있어도 농협의 IT인력 중 최고 권한을 가진 사람에게는 허용하는 것이 기본 정책이 되어야 한다. 위의 언급대로라면 집주인이 "나는 내 집의 열쇠를 갖고 있지 않고 집을 지은 회사가 내 집의 열쇠를 갖고 있어 내 마음대로 집에 들어갈 수 없다"는 이야기와 다를 바가 없는 것이다. 이 언급은 "완벽한 책임 회피성 발언"으로서 모든 책임을 하청업체 격인 협력업체에게 전가하려는 의도가 아닐까 생각된다.

제대로된 보안정책이라면 root 계정에서 수행되는 모든 작업은 농협의 IT 본부 직원이 직접 수행하는 것이 옳다. root 계정은 쉽게 협력사 직원이나 농협IT본부의 아무에게나 허락되어서는 안되는 것이다. root 계정은 서버의 생명줄과도 같은 중요한 계정이다.


의문점 3. 너무도 허술하고 방만한 관리체계

사실 이 부분은 미스테리가 아니라 현실이다. 대부분의 전산센터를 운영하고 있는 공공기관이나 기업, 그리고 금융사들은 "비용절감"을 위해 전산시스템관리의 대부분을 외주업체에 맞긴다. 말이 좋아 외주업체지 하청에 하청에 하청을 주는 경우가 대부분이다. 그리고 3~4단계의 하청을 거쳐 가장 말단의 하청업체조차도 정규직원이 아닌 "아르바이트" 수준의 계약직원을 "파견"하는 경우가 대부분이다.

결국 고임금의 일부 정규직원은 운영체제나 애플리케이션에 대한 관리에서 빠져나가 편한 업무를 수행하고 하드웨어나 운영체제 그리고 시스템관리 소프트웨어의 운영은 하청업체의 엔지니어들이 수행하게된다. 하지만 이들은 그 시스템의 "주인"은 결코 아니다. "결국 객(客)"에게 모든 권한을 주었다는 말이된다. 말그대로 "주객이 전도됐다". 하지만 대한민국 대부분의 전산실은 지금도 "주객이 전도돼 있다."

객이 서버에 "백도어"를 심어놔도 주인은 결코 그것을 찾아낼 능력이 없는 경우가 90%는 된다고 본다. 아마도 그 백도어가 의심되면 또다른 협력업체를 불러 찾아달라고 할 것이다.


농협 전산센터야 말로 대한민국 IT 업계의 참담한 현실을 그대로 보여주는 곳이다.

개발자들 사이에서 피해야할 은행 두곳이 있다고 했다. 그 두곳중의 한곳이 바로 "농협"이다. 하지만 이것은 비단 "농협"만의 문제는 아니다. 대부분의 기업이나 공공기관들이 프로젝트를 진행하면서 엔지니어와 개발자를 너무도 심하게 쥐어짠다. 나도 신입사원시절엔 개발도 했고 지금도 재미삼아 조금씩 코딩도 하곤 하지만 참담한 개발자들의 업무환경을 보고 "개발은 때려죽여도 안한다"는 생각을 갖게 되었다.

적어도 3년은 걸려야 할 프로젝트를 1년6개월에 끝내기 위해 주말은 물론 밤을 꼬박 불태우기(?)를 밥먹듯 해야한다. 게다가 처음 요구사항들에 맞추어 프로젝트 기간과 인력을 확보하고 프로젝트를 시작하지만 이것 저것 추가적인 기능들을 요구해오니 개발시간과 비용은 점점 증가하게 된다. 그렇게 부당한 요구를 "갑"이 해오면 우리나라의 대표적인 "을~병~정~"인 SI업체들에겐 거부권이 없다. 추가되는 기능 하나 하나가 시간이요 비용인데 우리나라 사람들은 S/W는 "금나와라 뚝딱~!"하면 나오는 것으로 안다. 또 그렇게 강압적으로 해야 "일잘한다"는 평가를 받으니 참으로 어이가 없는 현실이다.

우리나라 금융권의 급여는 높기로 유명하다. 1금융권과 증권사들은 그중에서도 높다. 하지만 그 높은 인건비를 감당하기 어려워서 "비용절감... 경영효율화"를 위한다는 명분으로 급여가 싼 하청업체에게 시스템의 관리과 개발을 하청주게 된다. 그리고 그 업체 선정에  "인맥"과 리베이트가 동원될 것은 불을 보듯 뻔하다. 따라서 협력업체 직원들의 인건비는 하청에 하청을 주면서 점점 깎이기 마련이다.

이런 열악한 환경은 결국 IT개발자나 엔지니어의 수명을 짧게 만든다. 초급을 거쳐 중급개발자 혹은 중급엔지니어가 되면 많은 사람들이 높은 업무강도와 낮은 급여수준 그리고 비젼의 없음에 지쳐 IT업계를 떠나거나 마케팅, 제품기획, 영업등으로 보직을 변경한다. 그래서 우리나라에선 노하우와 경험이 풍부한 기술 인력이 부족할 수 밖에 없다. 당연히 많은 프로젝트에서 겪지 않아도될 수많은 시행착오가 반복적으로 프로젝트를 지연시키는 이유가 되곤 한다.

또한 정보시스템과 정보보호시스템에 대한 투자도 인색하기 짝이 없다. 정보시스템은 "쓸데없는, 투자대비 효용성이 떨어지는 비용 소모적인 것"이라는 인식이 강하다. 정보시스템으로 인해 많은 업무들이 신속하고 체계적으로 수행되고 있고 서로 다른 성격의 업무들이 유기적으로 통합되어 비용절감은 물론 시너지 효과를 나타내고 있는 것을 간과하기 때문이다. 

심지어 금융분야 처럼 정보시스템이 없으면 존재할 수 없는 은행이나 증권사에서 조차도 정보시스템과 보안시스템에 대한 투자에 인색한데 다른 산업분야는 언급할 필요도 없을 것이다.


그렇다면 사상최악의 보안사고인 농협의 시스템 장애는 악의적인 해킹?

도무지 이해할 수 없는 시스템 장애상황이다 보니 여러 추측이 난무하는 가운데 이런 추측이 나오기도 한다.

농협에서 일하며 너무도 고생이 심했던 누눈가가 "엿먹어 봐라"하는 심정으로 275대의 서버에서 하드디스크를 초기화하는 장애를 유발시킨것이 아닌가 라고 생각될 수도 있다. rm과 dd 명령을 통한 디스크의 초기화는 운영체제를 잘 아는 사람만이 내릴 수 있는 명령이다.  운영체제를 잘 모르는 많은 엔지니어들 조차 dd 명령어가 생소하다고 생각할 것이다. 그리고 275라는 숫자가 실수로 보기에는 너무도 말도 안되는 숫자이고 하드디스크를 완전 삭제하여 운영체제를 재설치하게 되면 사실상 포렌식이 불가능하기 때문에 그래서 이런 추측이 나오고 있는 듯 하다.

난 충분히 가능한 추측이라고 본다. (하지만 현실적이진 않다. 왜냐하면 아무리 농협에 악의적인 감정이 있더라도 IT 업계에 종사하는 사람이라면 이런 공격이 가져올 여파는 상상을 초월한다는 것을 잘 알기 때문이다.)

그리고  또 하나의 가장 가능성 높은 시나리오는 APT 공격에 의한 악의적 해킹이다.

농협에 자주 드나드는 IBM 엔지니어의 노트북에 원격제어 혹은 작업의 모니터링이 가능한 악성코드를 감염시킨 뒤 장시간 해당 엔지니어의 작업을 분석하고 농협에 들어가 농협의 전산망에 노트북을 연결하였을 때 자동으로 해당 서버들에 접속하여 dd 명령을 root 권한으로 실행하도록 하는 배치작업을 등록하였을 가능성이다. 아주 오래전 부터 치밀하게 준비하다면 충분히 가능한 APT 공격이다.

배치 작업으로 등록만 하게 되면 정해진 시간에 dd 명령이 자동으로 실행되도록 할 수 있기 때문에 수백대의 서버를 동시에 "작살~" 낼 수 있다. 매우 악의적인 공격이라고 볼 수 있다.


어찌됐든 2011년 발생한 농협의 사상 최악의 금융시스템 보안사고는 오늘날 우리나라의 참담한 정보시스템 분야의 특히 서버에 대한 보안 현실을 여실히 드러내는 사건이라고 생각된다.

[2014년 3대 신용카드사 개인정보 유출사고 분석 및 대응] 
포스트로 바로 가기


신고
이 댓글을 비밀 댓글로
  1. 안녕하세요, TISTORY입니다.



    티스토리 메인에서 '농협 전산장애'를 주제로 회원님의 글을 소개해드렸습니다.^^
    혹시 노출과 관련하여 궁금한 점이 있으시면 tistoryeditor@hanmail.net 메일을 통해 말씀해주세요!


    앞으로도 재미있고 유익한 글로 자주 뵈었으면 좋겠습니다.


    감사합니다.

APT 공격의 단계 및 단계별 공격 유형

Posted by taeho Tae-Ho
2013.07.09 13:38 정보보호

최근의 보안사고들.. 그중에서도 대형사고는 APT 공격이라는 신종 공격기법으로 발생하는 경우가 대부분이다. APT 공격은 Advanced Persistent Threat라는 해석도 까다로운 용어로 정의된다. 궂이 번역을 하자면 어떤 사람은 "능동 지속형 위협(공격)"   이라고 하기도 하고 어떤 사람은 "지능형 지속 위협(공격)" 이라고 하기도 한다. 

여기서 중요한 것은 persistent 라는 단어다. 바로 "지속"이라는 의미다. 

이 의미가 중요한 것은 APT 공격은 단시간내에 공격 목표에 침투하는 것이 아니라 오랜 시간을 두고 끈질기게 공격 목표까지 침투할 수 있는 경로를 찾는다는 의미이기 때문이다. 그 시간은 짧게는 하루가 될 수도 있고 길게는 수개월이 소요될 수도 있는..해커의 입장에서 보면 오랜시간 동안 많은 노력을 요구하는 무척 지루하고도 힘든 과정이다. 

하지만 시간이 오래걸린다는 의미는 방어자의 입장에서 볼 때 그만큼 해커가 침투 경로를 탐색하기 위해 내부의 컴퓨터시스템에서 활동하는 시간이 길어지기 때문에 적절한 방어시스템의 구축과 구축한 방어시스템의 활용도를 높이고 직원의 보안의식을 높이면 의외로 쉽게 탐지하여 공격을 차단할 수 있다는 의미가 되기도 한다.

▶ APT 공격의 단계

APT 공격은 다음과 같이 크게 4가지의 단계와 단계별 해커의 공격으로 구분된다. APT공격의 단계APT공격의 단계

여러 보안 이론에서 설명하듯 보안 시스템은 관리적, 기술적으로 수평적이 아닌 계층적 구조로 구축되어야 하며 각 계층은 APT 공격의 단계별 공격을 적절하게 차단할 수 있도록 구축되어야 한다. 또한 구축된 보안 시스템은 APT 공격 뿐만 아니라 TCP/IP 취약성 공격, 애플리케이션 프로토콜 취약성 공격, 웹 취약성 공격, 서버의 취약성 공격(내/외부), 내부자에 의한 정보유출, 기술적인 실수 등에도 유연하게 대응할 수 있도록 구축되어야 한다.

▶ 침투 단계의 공격

APT 공격을 감행하는 해커의 입장과 그 해커의 침투를 차단하기 위한 방어자의 입장 모두에서 침투 단계의 공격과 방어가 가장 어렵다. 대부분 물리적으로 격리되어 있는 공격 목표에 침투하기 위해서 해커는 다음과 같은 기법들을 사용하는 것으로 알려져 있다.

→ 내부 사용자의 이메일 주소를 수집/내부자 간의 이메일로 위장하여 이메일을 보내고 첨부파일(악성코드)을 실행토록 함.

→ 타 웹사이트를 해킹하여 악성코드를 심어 둔 뒤 그 악성코드가 공격 대상 시스템을 사용하는 내부자PC에 감염되도록 함.

→ 공격 대상 기관 입구 및 인근에 USB, SD카드 등 저장매체를 흘려둔 뒤 내부자가 습득하여 반입되어 내부 PC에 접속되면 자동실행 되도록 함.

→ 기타 사회공학적 기법을 이용해 내부 사용자의 PC 혹은 서버가 악성코드에 감염되도록 함.

위의 침투기법들은 많이 알려진 기법들일 뿐 전부는 아니다. 또한 침투 기법은 "내부망에 탐색 및 침투 거점 마련"이라는 단순하고 명확한 목표를 실현하기 위해 활용 가능한 모든 사회공학적, 기술적 방법을 동원하기 때문에 예측 및 탐지/차단이 어려운 것이 현실이고 보안 업계에서도 완벽한 차단은 불가능하다고 입을 모으고 있다.

▶ 탐색 단계의 공격

일단 침투 단계의 공격이 성공하여 내부의 PC 혹은 서버에 악성 코드가 감염되면 악성코드는 그 역할에 따라 다양한 작업을 수행한다. 해커의 입장에서 가장 중요한 작업은 감염시킨 악성코드를 자신의 의도대로 실시간 조종이 가능하도록 하는 것이다. 악성코드가 미리 정해진 IP로 아웃바운드(outbound) 통신 연결이 가능하다면 해커는 이후 감염시킨 악성코드를 통해 다양한 공격도구를 해당 컴퓨터에 전송, 설치하여 탐색 단계로 진입할 수 있다.

탐색 단계에서는 다음과 해킹 기법이 사용된다.

→ 키보드 로깅 (Keyboard logging) 및 화면 갈무리(screen capture)

→ 포트스캔 (port scan)

→ 원격제어(Remote Control)

해커는 위의 기법들을 이용해 끈질기게 자신이 공격목표로 삼은 서버에 해당 컴퓨터의 사용자가 접속하기를 기다리거나 어떤 프로그램을 이용해 어떤 방법으로 서버나 DB 혹은 관리 프로그램을 접속하는지 모니터링(탐색) 하게 된다.

▶ 유출 단계의 공격

사실 탐색과 유출단계는 동시에 이루어진다고 봐야한다. 악성코드에 감염되어 해커에게 조종당하는 해당 컴퓨터에 중요한 자료가 있다면 100% 해커에게 유출된다고 봐야하며 해당 컴퓨터를 사용하는 사용자의 개인정보 또한 해커에게서 자유롭지 못하다.

유출단계에서는 탐색단계의 기법이 그대로 사용되며 탐색 과정에서 주요 서버의 IP, 관리자 계정, 패스워드, 접속 방법 등이 로그파일 혹은 이미지로 저장되어 해커의 손에 넘어가게 된다.(유출) 이 과정에서 해커가 목표로 하지는 않았지만 해커의 흥미를 끌만한 정보가 해커에게 넘어갈 경우 공격 목표는 얼마든지 추가되거나 변경될 수 있다.

또한 수집된 정보를 분석하여 보다 금전적인 이익을 얻을 수 있는 방법이나 중요한 정보가 저장된 서버를 파악하게 되고 해당 서버에 대한 접근 권한을 얻기 위해 더욱 신중하게 정보를 추가적으로 탐색하고 분석하게 된다.

▶ 수집/공격 단계의 공격

해커가 공격 목표로 삼은 서버에 접속할 수 있는 권한을 탐색과 유출단계를 통해 얻게 되면 사실상 해커의 승리(?)라고 봐야한다. 이 단계가 되면 이미 서버의 관리자 권한이 해커에게 넘어간 것과 다름이 없기 때문에 이 단계에서 해킹 탐지는 일반적인 보안 솔루션으로는  불가능하다. 이때부터는 해커가 접속에 성공한 서버 내에서의 행위를 통제하여야 하는데 사실상 통제 불능 상태라고 봐야한다. 만약 RedCastle SecureOS와 같은 서버 내부의 행위 통제 방안이 마련되어 있다면 통제가 가능하긴 하다.

이 유출단계에서 사용되는 방법들은 해킹 기법이라고 볼 수 없다. 왜냐하면 해커는 이 단계에서부터는 일반적인 서버 관리자나 DB관리자, 네트워크 관리자들이 서버 및 DB 그리고 네트워크를 운영하면서 사용되는 일반적인 명령어나 프로그램들을 사용하는 경우가 대부분이기 때문이다.

Unix/Linux 서버에서 사용되는 명령어 (관리자들이 사용하는 명령어와 동일함)

→ telnet, ssh, ftp, rm, mv, tar, perl, cd, ls, su, vi, df, ifconfig, chmod, chown, useradd, paswd, compress, gzip, sqlplus, export 등등등

Windows 서버에서 사용되는 명령어

→ dir, cd, net, ipconfig, regedit, isql(osql),cp, ftp, mstsc 등등등

왜냐하면 서버 내에서 실행되는 명령어나 파일에 대한 접근은 기술적인 방법으로는 합법적인 행위냐 불법적인 행위냐를 구별하는 것이 불가능하기 때문이다. 해커가 서버에 접속하여 DB 접근 명령어를 실행하거나 중요한 DB 파일을 통째로 분할 압축하여 외부로 유출한다거나 DB 백업 명령어를 통해 데이터베이스의 회원정보 테이블을 Export 한 뒤 Export 된 파일을 반출하는 행위(수집)에 대하여 기술적으로 불법 여부를 판단할 수 없기 때문이다.

또한 모든 정보를 빼내간 뒤 농협사태 처럼 해당 서버의 디스크를 로우레벨에서 삭제하여 흔적을 지우고 서비스의 심각한 장애를 유발(공격)한 뒤 유유히 빠져나가도 서버에 장애가 발생하기 전까지는 서버에 대한 해킹을 탐지하는 것이 거의 불가능하다.

많은 보안업체들이 APT 공격에 대해 이야기하고 방어책을 이야기하지만 아직은 APT 공격에 대해 특정 보안솔루션 하나로 대응할 수 있는 방법은 존재하지 않는다. 

▶ 정리

APT 공격을 방어하기 위해서는 현재의 정보시스템 운용/개발 조직과 네트워크 및 서버 시스템의 현황분석 그리고 존재하는 취약점의 파악과 분석을 통해 계층적 보안 시스템을 구축하고 각 보안 계층에서 취합할 수 있는 실시간 이벤트와 로그를 분석하여 연관성을 파악하고 리포팅한 뒤 경험이 풍부한 보안관리자가 판단하는 것이 현재로서는 가장 바람직한 방향이라고 생각된다.

시간이 되면 조만간 APT 공격의 각 단계별 방어 및 탐지가 가능한 보안솔루션을 정리해보도록 하겠다.


신고
Tags
이 댓글을 비밀 댓글로