‘APT(지능적지속위협, Advanced Persistent Threat)’라는 사이버공격이 요즘 이슈입니다.

APT 공격은 특정 기업이나 조직을 노린 표적공격의 대표 유형입니다. 원자력 발전소와 같은 중요한 산업기반시설이나 구글, 야후같은 유명 인터넷업체, EMC RSA같은 대표적인 보안업체들이 잇달아 이 공격에 속수무책으로 당하면서, 우려와 관심이 최근 무척 높아졌습니다.

1년 전 이란 부셰르 원자력발전소를 공격한 ‘스턱스넷’이 출현하면서 본격적으로 알려지기 시작했죠.

올해 초 구글이 침해사고 사실을 공개한 ‘오퍼레이션 오로라(Operation Aurora)’도 APT 공격으로 분류되고 있고, 지난 3월에 EMC RSA도 APT 공격을 당해 자사의 OTP(One Time Password) 기술이 유출된 것으로 보인다고 발표한 적이 있습니다. 

우리나라에서는 7월 말에 발생한 SK커뮤니케이션즈 3500만명의 개인정보유출 사고가 지능형 표적공격으로 분석되면서, APT 공격 가능성이 제기됐습니다.

APT 공격은 특정한 목표를 겨냥한다는 점에서 불특정 다수를 대상으로 한 기존 해킹과 구별됩니다. 표적으로 삼은 기업이나 기관 등 조직의 네트워크에 은밀하게 침투해 오랫동안 잠복하면서 기밀정보를 유출하는 식으로 공격목표를 달성하기 때문에 사전에 탐지하고 대응하기가 어렵다고 알려져 있습니다. 

공격 역시 일회성이 아니라 장기간에 걸쳐 이뤄지고, 여러 악성코드나 공격 루트를 이용합니다.

현재로서는 일단 APT 공격이 발생하면 이를 막을 뾰족한 대안이 없다고 인식되고도 있습니다. 

그래서인지 APT 공격 위협이 부상하니, 특정 기업이나 기관을 대상으로 침해사고가 발생했거나 기업의 고객정보 등 기밀정보가 유출되면 모조리 APT로 치부해버리는 경향이 나타나고도 있습니다.  

그 이유로 일부 보안전문가들은 모든 표적공격이 APT 공격이 아니고 모든 기업이 APT 공격 대상이 되는 것은 아닐 뿐만 아니라 대부분이 이 공격과 연관이 없는데, APT 보안위협이 과대 포장되고 있다고 지적하기도 합니다.

지만 현재 많은 기업이 표적공격을 문제 삼고 있는 만큼 최신 보안 위협에 효과적으로 대응하기 위해서는 APT를 면밀히 파악할 필요가 있습니다.

APT 공격이 무엇일까요? 아직까지 보안업계에서도 APT 공격 유형이나 방식을 A부터 Z까지 명확하고도 완전하게 정의하고 있지는 못하는 것 같습니다. 그래서 대응방안도 아직 명쾌하게 제시되진 못하는 것이겠죠.

현재 많은 보안전문가들, 보안업체들은 APT를 잡기 위해 다각도로 연구하고 있습니다. 

시만텍 역시 그렇습니다. ‘스턱스넷’ 공격이 발생했을 때 시만텍은 이 악성코드를 신속하게 발견하고 분석해 내면서 두드러진 모습을 보였었죠.  최신 위협을 분석하고 대응방안을 마련하는 것은 보안업체로서 당연한 역할입니다.

20일 시만텍코리아는 기자들을 초청해 최신 보안위협과 보안 대응방안을 설명하는 자리를 가졌는데요. 시만텍 아태 및 일본지역 임원이 이 자리에 참석해 APT 공격이 무엇인지 구체적으로 설명하고, ‘정보중심 보안 전략’을 주축으로 한 나름의 해결방안도 제시했습니다.
(관련기사 시만텍 “APT 표적공격, ‘정보중심 보안’ 전략으로 해결”

<APT 공격의 특징>

사용자 삽입 이미지

APT 공격은 특정 기업이나 조직 네트워크에 침투해, 활동 거점을 마련한 후 기밀정보를 수집해 지속적으로 빼돌리는 보다 은밀한 형태의 표적 공격으로 정의됩니다.

기관총을 쏴대는 무차별적 공격이 아니라 치밀한 사전 준비를 거친 스나이퍼형의 지능적·차별적·지속적 공격인 셈이라고 시만텍은 설명했습니다.

특정 기업이나 조직을 노리는 표적 공격은 보통 ‘드라이브바이다운로드(Drive-by download)’, SQL 인젝션, 악성코드, 스파이웨어, 피싱이나 스팸 등 다양한 공격 기술을 사용합니다.

APT 공격도 이 같은 기술들을 하지만 공격 성공률을 높이고 첨단 보안 탐지 기법을 회피하기 위해 제로데이 취약점 및 루트킷 기법과 같은 고도의 공격 기술을 복합적으로 이용하기 때문에 지능적이고 위협적입니다.

당한 기업들도 보안 사고가 터지기 전까지는 APT 공격에 당했다는 사실 조차 모르는 경우가 대부분이죠.

APT 공격은 일단 지능적(Advanced)입니다. 제로데이 취약점이나 루트킷 기법과 같은 고도의 지능적인 보안 위협을 동시다발적으로 이용해 표적으로 삼은 목표에 침투해 은밀히 정보를 빼돌리는 ‘킬 체인(Kill Chain)’를 생성합니다.

제로데이 취약점은 프로그램에 문제가 알려지고 난 후 보안패치가 나올 때까지의 시간차를 이용해서 공격하는 것입니다. 보안패치가 나오기 전까지는 각종 보안 위협에 무방비로 노출되는 셈이라 위험하죠.

루트킷 기법은 컴퓨터 운영체제가 구동되기 전에 윈도 컴퓨터의 마스터 부트 레코드(MBR)를 변경해 컴퓨터에 대한 통제권을 획득하는 기법으로, 보안 소프트웨어를 통한 탐지를 어렵게 하는 특징이 있습니다.

현재까지 알려진 최악의 APT 공격인 스턱스넷의 경우 4개의 제로데이 취약점과 루트킷 기법 등을 종합적으로 이용한 것으로 밝혀졌습니다.

APT 공격은 지속적(Persistent)인 특성을 보입니다. 

보안탐지를 피하기 위해 은밀히, 천천히 움직여야 하기 때문에 긴 시간 동안 행해집니다.

다수의 표적 공격이 순식간에 목표를 공격해 필요한 정보를 탈취해가는 이른바 ‘스매시&그랩(Smash and Grab)’형 공격이라면, APT는 표적으로 삼은 목표 시스템에 활동 거점을 마련한 후 은밀히 활동하면서 새로운 기술과 방식이 적용된 보안 공격을 지속적으로 가해 정보 유출·삭제 또는 시스템에 대한 물리적 피해와 같이 궁극적으로 원하는 목적을 이룹니다.

또한 공격 동기(Motivated) 부여확실한 공격 목표(Targeted)를 갖고 있습니다.

APT는 주로 국가간 첩보활동이나 기간시설 파괴 등의 특정 목적을 달성하기 위해 행해지며, 대부분 배후에 특정 국가가 후원하는 첩보조직이나 단체가 연루돼 있을 것으로 예상되고 있습니다. 

이는 APT가 단순히 정보 유출만을 노리는 것이 아니라 공격자가 지속적으로 표적을 원격 조종해 정보 유출을 포함, 시스템 운영을 방해하거나 물리적인 타격까지 노리고 있다는 것을 시사합니다.

지적재산이나 가치있는 고객정보를 가진 조직들이 표적공격의 대상이라면, APT는 주로 정부 기관이나 기간시설, 방위 산업체, 전세계적으로 경쟁력 있는 제품, 기술을 보유한 주요 기업들과 이들의 협력업체 및 파트너사들을 노립니다.

이같은 특징으로 보면 모든 기업들이 APT의 공격 대상이 아님은 분명해 보입니다. 시만텍 역시 APT 공격을 설명하기 시작하면서, “표적공격의 하나의 유형으로, 표적공격을 모두 APT로 볼 수 없다. 표적공격은 APT 보다 광범위하다”고 밝혔습니다. 

<APT 공격 방법>

일반적으로 APT 공격은 침투, 검색, 수집 및 유출의 4단계로 실행됩니다. 각 단계에서는 다양한 공격 기술이 사용됩니다.
사용자 삽입 이미지

1단계: 침투(Incursion)

일반적으로 표적 공격시 해커들은 훔친 인증정보, SQL 인젝션, 표적 공격용 악성코드 등을 사용해 목표로 삼은 기업이나 조직의 네트워크에 침투합니다. APT도 이러한 공격 방법들을 사용하지만 오랜 시간에 걸쳐 공격 대상 시스템에 활동 거처를 구축하는데 초점을 맞춥니다.

- 관찰(Reconnaissance): APT 공격자들은 표적으로 삼은 조직, 시스템, 프로세스, 파트너와 협력업체를 포함해 사람들을 파악하기 위해 수개월에 걸쳐 공격 목표를 철저히 연구하고 분석합니다. 이란 핵 시설을 공격했던 스턱스넷의 경우, 공격팀은 목표로 삼은 우라늄 농축시설에 사용되는 PLC(Prorammable Logic  Controllers)에 대한 전문 지식을 보유하고 있었지요.

- 사회공학기법(Social engineering) : 목표 시스템으로의 침투를 위해 공격자들은 내부 임직원이 실수나 부주의로 링크를 클릭하거나 첨부파일을 열게끔 사회공학적 기법을 접목하기도 합니다. 이메일, 소셜네트워크서비스, 웹사이트 게시판, P2P 등을 다양하게 악용하겠죠.

공격자가 특정 기업의 시스템 관리자를 노린다면 공격자는 사전에 이 관리자의 개인 블로그, 트위터, 페이스북 등을 검색해 생년월일, 가족 및 친구관계, 개인 및 회사 이메일 주소, 관심 분야, 진행중인 프로젝트 등의 정보를 수집한 후 이를 이용해 피싱 메일을 보내는 식입니다.

- 제로데이 취약점(Zero-day vulnerabilities) : 제로데이 취약점은 개발자들이 패치 등을 제공하기 전에 소프트웨어 개발자들 모르게 공격자들이 악용할 수 있는 보안상 허점으로 보안 업데이트가 발표되기 전까지는 무방비 상태와 같습니다.

그러나 제로데이 취약점을 발견 하기위해서는 상당한 시간과 노력이 걸리는 만큼 가장 정교한 공격 기관만이 이를 활용할 수 있습니다.

APT는 공격 목표에게 접근하기 위해 하나 이상의 제로데이 취약점을 이용합니다. 스턱스넷의 경우 동시에 4개의 제로데이 취약점을 이용했습니다. 

- 수동 공격(Manual operations) : 일반적으로 대규모 보안 공격은 효과를 극대화 하기 위해 자동화를 선택합니다.

‘스프레이&프레이(Spray and pray)’로 불리는 피싱 사기를 예를 들면, 자동 스팸 기술을 사용해 수천명의 사용자들 중 일정 비율이 링크나 첨부파일을 클릭하도록 했습니다. 반면에 APT는 자동화 대신 각각의 개별 시스템과 사람을 표적으로 삼아 고도의 정교한 공격을 감행합니다. 

2단계: 검색(Discovery)

일단 시스템 내부로 침입한 공격자는 해당 시스템에 대한 정보를 수집하고 기밀 데이터를 자동으로 검색합니다. 침투로 인해 보호되지 않은 중요한 데이터나 네트워크, 소프트웨어나 하드웨어, 또는 노출된 기밀 문서, 추가 리소스 등이 탐색될 수 있겠죠.

대부분의 표적공격은 기회를 노려 공격을 하지만 APT 공격은 보다 체계적이고 탐지를 회피하기 위해 엄청난 노력을 기울입니다. 검색단계에서는 해당 환경을 전반적으로 프로파일링하고 중요정보를 파악합니다. 

- 다중 벡터(Multiple vectors) : APT 공격시 일단 악성코드가 호스트 시스템에 구축되면 소프트웨어, 하드웨어 및 네트워크의 취약점을 탐색하기 위해 추가적인 공격 툴들이 다운로드 되기도 합니다.

- 은밀한 활동(Run silent, run deep) : APT의 목표는 표적의 내부에 잠복하면서 장시간 정보를 확보 하는 것이므로, 모든 검색 프로세스는 보안탐지를 회피하도록 설계됩니다.

- 연구 및 분석(Research and analysis) : 정보 검색은 네트워크 구성, 사용자 아이디 및 비밀번호 등을 포함해 확보된 시스템과 데이터에 대한 연구 및 분석을 수반합니다.

따라서 APT 공격을 탐지하면 가장 먼저 해당 공격이 얼마나 지속됐는가를 살펴봐야 합니다.

전형적인 표적공격으로 계좌번호가 유출됐다면 데이터가 유출된 날짜나 피해 정도를 아는 것이 크게 어렵지 않지만, APT 공격은 언제 공격을 받았는지 가늠하기가 거의 불가능하다고 분석됩니다.

침투 및 검색 활동이 매우 은밀히 진행되기 때문에 피해자는 로그 파일을 점검하거나 관련 시스템을 폐기해야 할 수도 있습니다.

3단계: 수집(Capture)

수집 단계에서 보호되지 않은 시스템에 저장된 데이터는 즉시 공격자에게 노출됩니다. 또한 조직 내의 데이터와 명령어를 수집하기 위해 표적 시스템이나 네트워크 액세스 포인트에 루트킷이 은밀하게 설치될 수 있습니다.

- 장시간 활동(Long-term occupancy) : APT는 오랜 기간 지속적으로 정보를 수집합니다. 2009년 3월 발견된 고스트넷(GhostNet)으로 알려진 대규모 사이버 스파이 사건은 103개 나라의 대사관, 외국 부처 및 기타 정부 기관을 포함해 인도, 런던 그리고 뉴욕의 달라이 라마의 티벳 망명 센터 컴퓨터 시스템에 침투했습니다.

인포메이션 워페어 모니터(Information Warfare Monitor) 보고서에 따르면, 고스트넷은 2007년 5월 22일에 데이터를 수집하기 시작해 2009년 3월 12까지 지속된 것으로 나타났습니다. 평균적으로 감염된 호스트가 활동한 시간은 145일이었고, 가장 긴 감염 시간은 660일이었답니다.

4단계: 제어(Control)

APT 공격의 마지막 단계로, 불법 침입자들은 표적 시스템의 제어권을 장악합니다. 이 단계를 통해 공격자들은 지적 재산권을 포함해 각종 기밀 데이터를 유출하며, 소프트웨어 및 하드웨어 시스템에 손상을 입힙니다.

- 유출(Exfiltration) : 기밀 데이터가 웹 메일 혹은 암호화된 패킷이나 압축파일 형태로 공격자에게 전송됩니다.

- 지속적인 분석(Ongoing analysis) : 도난된 신용카드 번호가 금전적 이득을 위해 재빨리 이용되는 반면에, APT에 의해 수집된 정보는 전략적 기회를 포착하기 위한 연구에 이용되곤 합니다.

이러한 데이터는 이 분야의 전문가들에게 하나의 지침서가 되어 영업 비밀을 캐내거나 경쟁사의 행동을 예측하여 대응 방안을 수립하는데 도움이 될 수 있죠.

- 중단(Disruption) : 공격자는 원격 시동이나 소프트웨어 및 하드웨어 시스템의 자동 종료를 야기할 수도 있습니다.

많은 물리적 장치가 내장형 마이크로 프로세서에 의해 제어되고 있는 만큼 시스템이 교란될 가능성이 커집니다. 명령·제어 서버는 은밀하게 표적 시스템을 제어하고 심지어 물리적 피해를 야기할 수도 있죠.

<APT 공격 대응 방안>

시만텍은 APT 공격을 막기 위해서 가장 중요한 것이 기존의 보안 인프라가 갖는 한계를 넘어서 정보 주변을 둘러싼 시스템이 아닌 정보 자체를 보호하는 ‘정보중심의 보안 전략’을 가져가야 한다고 강조했습니다.

시만텍에 따르면, 정보중심의 보안 전략은 보호해야 할 중요 정보가 어디에 저장돼 있고, 누가 접근 가능한지, 어떻게 보호되고 있는지를 파악해 ‘디지털 정보지도’를 작성하는 것입니다. 이를 위해 보호해야 할 정보가 무엇인지 정의(Define)하고, 검색(Discover)하고, 해당 정보의 사용을 통제(Control)하는 정보보호 프로세스를 마련해야 합니다. 

이와 함께 ▲평판(reputation) 기반 보안 기술 ▲데이터 유출방지(Data Loss Prevention) 솔루션 ▲보안 정보 및 이벤트 관리(SIEM) ▲정보저장소 보안강화 ▲애플리케이션 계층에서 위험한 파일 형식 차단 등 다각도의 정보보호 체계를 갖추는 것이 중요합니다.

다양한 악의적 공격과 활동을 효과적으로 차단하기 위해 기업 내부의 사용자가 인터넷을 사용할 때 웹에서 악성코드 검사를 수행하도록 강제하는 ‘사전 방역’도 필요합니다.

네트워크상의 모든 트래픽을 검사해 일반적인 봇트래픽 패턴을 탐지하고 활성 봇넷을 차단하는 한편, 감염된 PC를 즉각 격리하는 ‘사후 차단’의 역할도 중요합니다.

이를 통해 각종 사이버 공격의 네트워크 유입을 사전에 차단하고, 만일 유입되더라도 지속적인 탐지 및 모니터링을 통해 악성활동을 차단, 보안 위협을 최소화 할 수 있기 때문입니다.

진화하는 사이버 보안 위협에 대응해 평판 기반과 같은 새로운 보안 신기술 도입도 필수적입니다. 공격용 툴킷의 확산과 악성코드 변종의 범람으로 인해 전통적인 시그니처 기반의 보안 솔루션으로는 각종 보안 위협에 대응하기가 점점 더 어려워지고 있기 때문이죠..

평판 기반의 보안 접근법은 마치 사용자들의 평판을 기반으로 맛집 순위를 매기는 것과 비슷합니다. 극소수의 사람들이 가지고 있는 프로그램을 다운로드하고자 할 경우엔 이를 악성일 가능성이 높다고 보고, 이를 제지하고 최상의 선택을 권고합니다.

직원 교육도 강화해야 합니다. 아무리 좋은 시스템과 보안 솔루션을 구축한다 하더라도 결국 이를 운용하는 것은 사람이고, 확고한 보안 인식이 갖춰지지 않는다면 보안 사고는 언제라도 일어날 수 있습니다.

기업은 보안 가이드라인을 마련해 정기적으로 인터넷 안전, 보안 및 최신 위협에 관해 직원교육을 실시하는 한편, 교육을 통해 정기적인 비밀번호 변경 및 모바일 기기 보안의 중요성을 알려야 합니다.


2011/09/21 09:05 2011/09/21 09:05
전력, 반도체, 철강 등 전세계 주요 산업시설에서 사용하는 산업자동화제어시스템을 공격해 피해를 입힌 첫 악성코드로 이름을 떨친 ‘스턱스넷’에 보안전문가들과 기업 보안담당자들이 여전히 많은 관심을 갖고 계실텐데요.

지난달 시만텍이 발표한 ‘스턱스넷’ 악성코드 분석 보고서 내용을 소개해 보려고 합니다. 본사에서 발표한 이번 기술백서 형식의 보고서는 영문인데다 방대한 내용이 담겨 살펴보기에 쉽지는 않았을 것 같습니다.

이 한글 요약본은 시만텍코리아가 제공했습니다. (영문 보고서 전문을 보시고자 하는 분을 위해 파일도 첨부합니다.)



시만텍 스턱스넷 보고서


시만텍이 발표한 스턱스넷 보고서는 수많은 시만텍 보안 대응팀 구성원들이 지난 3개월간 흘린 땀의 결과물로, 현재 대부분의 분석작업이 완료된 상태다. 하지만, 스턱스넷은 상당히 방대하고 복잡한 보안 위협인 만큼 보고서 발표 이후에도 지속적인 업데이트가 필요하다는 점을 밝혀둔다.

최근 언론에 자주 오르내리는 스턱스넷(W32.Stuxnet)은 지금까지 시만텍이 분석한 가장 복잡한 보안 위협에 속한다. 이 보고서에서는 스턱스넷과 스턱스넷의 다양한 컴포넌트를 비롯해 스턱스넷의 최종 공격목표인 산업용제어시스템의 프로그램 재설계에 초점을 맞춰 상세히 분석했다.

우선 스턱스넷은 다양한 컴포넌트와 함수를 포함하고 있는 방대하고 복잡한 악성코드의 일종이다. 시만텍은 보안블로그(http://www.symantec.com/connect/ko/symantec-blogs/sr)를 통해 스턱스넷 일부 컴포넌트에 대해 이미 설명한 적이 있지만 이 보고서에서는 스턱스넷 보안 위협에 대해 훨씬 포괄적이고 자세한 정보를 다루었다.


스턱스넷 구조와 공격방법

스턱스넷 구조는 다양한 익스포트(Export)와 리소스(Resource)를 갖고 있는 대형 dll 파일로 구성되어 있으며, 이밖에 두 개의 암호화된 설정 블록을 포함하고 있다.

스턱스넷의 드롭퍼(dropper) 컴포넌트는 모든 구성요소를 포함한 랩퍼(wrapper) 프로그램으로 ‘스터브(stub)’라는 섹션 내부에 저장되어 있다. 이 스터브 섹션은 스턱스넷 실행에 중요한 역할을 담당한다. 스턱스넷이 실행될 때 드롭퍼가 스터브 섹션에서 dll 파일을 추출해 마치 모듈처럼 dll 파일을 메모리에 매핑시키고, 익스포트를 호출한다.

스터브 섹션을 가리키는 포인터가 매개변수로 호출 익스포트에 전달되면 이후 익스포트는 매개변수로 전달된 스터브 섹션에서 dll 파일을 추출해 메모리와 매핑시키고 매핑된 dll 파일 안에 있는 또다른 익스포트를 호출한다. 이후 원래 스터브 섹션을 가리켰던 포인터가 다시 매개변수로 전달되며, 이러한 과정은 스턱스넷이 실행되는 내내 지속적으로 발생한다. 따라서 원래의 스터브 섹션은 매개변수 형태로 여러 프로세스와 함수에 전달된다. 이런 방식에 의해 스턱스넷의 각 계층은 항상 메인 dll 파일과 설정 블록에 접근하게 된다.

알려진 대로 스턱스넷의 주요 공격목표는 송유관과 발전소 등에서 사용하고 있는 산업용제어시스템이나 이와 유사한 시스템이다. 스턱스넷의 최종 목표는 PLC(Programmable Logic Controller)를 공격자의 의도대로 작동시키고 PLC 운영자가 이러한 변경사항을 알지 못하도록 PLC 코드를 수정, 산업용제어시스템의 프로그램을 재설계하는데 있다.

스턱스넷 개발자는 이같은 목표를 달성하기 위해 매우 다양한 컴포넌트를 취합, 성공 가능성을 높인다. 여기에는 제로데이 취약점, 최초의 PLC 루트킷인 윈도우 루트킷, 안티바이러스 탐지 회피기술, 복잡한 프로세스 인젝션 및 후킹 코드, 네트워크 감염 루틴, P2P 업데이트, 명령제어(Command and Control) 인터페이스 등이 포함되어 있다.

스턱스넷의 주요 특징


이란 사례에서 보듯이 스턱스넷은 송유관, 발전소 등 특정 산업용제어시스템을 공격 목표로 삼는다. 스턱스넷의 궁극적인 목표는 PLC 프로그램을 변경함으로써 공격자의 의도대로 오작동을 유도해 시설을 파괴 또는 마비시키는데 있다.

스턱스넷은 지난 7월 발견되었지만 적어도 1년 전부터 존재해 왔다는 사실이 확인되었고, 그 이전부터 활동했을 가능성도 제기되고 있다. 현재까지 대부분의 스턱스넷 감염사례는 이란에서 발견되었다. 스턱스넷은 다음과 같은 다양한 특징을 갖고 있다.

USB와 같은 이동식 저장매체의 자동실행 취약점을 이용한 자기복제. 마이크로소프트 윈도우 바로가기 ‘LNK/PIF’ 파일 자동 파일 실행 취약점(BID 41732)

윈도우 프린트 스풀러(Windows Print Spooler) 취약점을 이용해 LAN을 통한 전파. 마이크로소프트 윈도우 스풀러 서비스 원격 코드 실행 취약점 (BID 43073).

마이크로소프트 윈도우 서버 서비스 RPC 처리 원격 코드 실행 취약점(BID 31874)을 이용해 SMB를 통한 전파

네트워크 공유를 통해 원격 컴퓨터상에서 자가복제 및 실행

WinCC 데이터베이스 서버가 실행중인 원격 컴퓨터상에서 자가복제 및 실행

스텝 7(Step 7) 프로젝트가 로딩될 때 자동 실행되는 방식으로 스텝 7 프로젝트에 자가복제

LAN 상에서 P2P 방식으로 스스로 업데이트

총 4개의 마이크로소프트 취약점 이용. 2개는 자가복제를 위해 위에 언급한 취약점 이용, 나머지 2개는 아직 공개되지 않은 권한 상승 취약점을 이용

해커가 업데이트된 버전 등 코드를 다운로드하고 실행할 수 있도록 C&C 서버에 접속

바이너리가 숨겨진 윈도우 루트킷 포함

안티바이러스 등의 보안제품 회피 시도

특정 산업용제어시스템에 침투, 지멘스 PLC의 코드를 변경해 시스템 파괴 가능성

PLC에 변조된 코드(기본적으로, PLC 루트킷)를 숨김


스턱스넷 공격 시나리오


산업용제어시스템(ICS)은 PLC 코드처럼 특수 어셈블리에 의해 실행된다. PLC는 주로 인터넷이나 심지어 네트워크에 접속되지 않은 윈도우 컴퓨터상에서 프로그래밍되며, ICS 역시 인터넷에 접속되어 있을 가능성이 낮다. 이 같은 점을 고려해 스턱스넷의 기술적 특징을 기반으로 추측 가능한 예상 공격 시나리오는 다음과 같다.

우선, 각 PLC마다 고유한 방식으로 환경 설정이 되어 있기 때문에 공격자는 먼저 ICS의 구조를 파악하기 위해 정찰 업무를 수행해야 한다. ICS 설계 문서는 내부직원이 몰래 빼내거나 심지어 스턱스넷 초기 버전 또는 다른 악성 바이너리를 통해 입수할 수 있다. 일단 설계 문서와 ICS 컴퓨팅 환경에 대한 정보를 확보하면 스턱스넷 최신 버전 개발에 착수한다. 스턱스넷의 각 기능들은 저마다 실행 이유가 있으며, ICS 파괴라는 최종 목표를 위해 움직인다.

다음으로 공격자는 실행코드를 테스트하기 위해 PLC, 모듈, 주변기기 등 필수 ICS 하드웨어를 포함해 실제 표적 ICS와 동일한 환경을 구축해야 한다. 준비에서 테스트까지 전 과정에 대략 6개월의 시간이 소요되며, 품질보증, 관리 등 수많은 다른 지원인력은 차치하고 5~10명의 핵심 개발자들이 투입된다.

또한 악성 바이너리 파일에는 의심을 피하기 위해 디지털 부호로 변환시켜주는 드라이버 파일이 포함되어 있다. 이를 위해 공격자는 두 개의 디지털 인증서를 탈취한다. 양자는 물리적으로 가까운 거리에 위치해 있어야 하며, 디지털 서명을 빼내기 위해 건물 내부로 직접 침투할 수 있다.

스턱스넷은 목표물을 감염시키기 위해 목표 환경으로 직접 침투해야 한다. 이를 위해 기꺼이 협력하거나 아예 범죄 사실을 모르는 제3의 대상을 이용할 수 있다. 목표 시설에 접근 권한이 있는 협력사나 내부 직원 등이 그 대상이다. 1차 감염은 USB와 같은 이동식 드라이브를 통해 이루어진다. .

일단 스턱스넷이 목표 시스템 환경 내의 컴퓨터 한 대를 감염시키면 일반 윈도우 컴퓨터이지만 PLC 프로그래밍에 사용되는 ‘필드 PG(Field PG)’를 찾아 확산되기 시작한다. 대다수의 필드 PG는 네트워크에 연결되어 있지 않기 때문에 스턱스넷은 먼저 2년 전에 등장한 제로데이 취약점을 통해 LAN 상의 컴퓨터로 스텝 7 프로젝트를 감염시키고 이동식 드라이브를 통해 감염을 시도한다.

공격자는 C&C 서버로 스턱스넷을 제어할 수 있지만 앞에서 언급했듯이 표적 컴퓨터는 외부 인터넷에 접속되어 있을 가능성이 낮다. 따라서 시스템 파괴를 위한 모든 기능은 스턱스텟 실행파일에 직접 내장된다. 이 실행파일 업데이트는 스턱스넷에 의해 P2P 방식으로 전파된다.

마침내 스턱스넷이 스텝 7이 실행 중인 적합한 컴퓨터를 발견하면 PLC 코드를 변경함으로써 PLC 시스템을 파괴한다. 스턱스넷 개발에는 대규모 자원이 투입되었기 때문에 공격 목표는 주로 중요도가 높은 핵심 기간 시설들이다. 스턱스넷에 감염된 기업들은 문제를 해결하기 위해 PLC 코드를 조사하지만 스턱스넷이 코드 변경사항을 숨기기 때문에 특이사항을 발견하기는 어렵다.

원하는 필드 PG를 찾기 위해 자가복제 방식이 필요할 수 있지만 공격자는 목표 기업 외부의 컴퓨터까지 감염시킴으로써 부수적인 피해를 입힌다. 또한 공격사실이 발견될 때면 이미 초기 공격이 완료되었을 가능성이 높다.


스턱스넷 보안 위협 개요


날짜

주요 사건

2008-11-20

LNK 취약점을 이용한 Trojan.Zlob 변종 발견. 후에 스턱스넷으로 확인됨.

2009-04

하킨나인(Hakin9) 보안 전문 잡지가 프린터 스프롤러 서비스의 원격 코드 실행 취약점에 관해 자세히 소개함. 이 취약점은 후에 MS10-061로 확인됨.

2009-06

스턱스넷 초기 샘플 발견. MS10-046 이용하지 않음. 서명된 드라이버 파일 없음

2010-01-25

리얼텍 세미컨덕터 회사 소유의 유효 인증서로 서명된 스턱스넷 드라이버 발견

2010-03

MS10-046을 이용한 첫 번째 스턱스넷 변종 발견

2010-06-17

바이러스블로카다(Virusblokada) 보안업체, W32.스턱스넷 발표(RootkitTmphider라 명명), 바로가기/.Ink 파일 처리 취약점(후에 MS10-046로 확인)을 이용해 확산되었다고 밝힘.

2010-07-13

시만텍, W32.Temphid를 탐지 목록에 추가(전에는 트로이 목마로 탐지)

2010-07-16

마이크로소프트, 바로가기/.Ink 파일 처리 취약점을 포함한 ‘윈도우 쉘 취약점의 원격 코드 실행 가능성’에 대한 보안 공지 발표.

베리사인, 리얼텍 세미컨덕터에 대한 인증서 폐지

2010-07-17

이셋(Eset), 제이마이크론 테크놀러지사의 인증서로 서명된 새로운 스턱스넷 드라이버 발견

2010-07-19

지멘스, 자사 WinCC SCADA 시스템의 악성코드 감염 보고서를 조사 중이라고 밝힘.

시만텍, 탐지 웜의 이름을 W32.Stuxnet로 변경.

2010-07-20

시만텍, 스턱스넷 C&C 트래픽 감시

2010-07-22

베리사인, 제이마이크론 테크놀러지사의 인증서 폐지.

2010-08-02

마이크로소프트, 윈도우 쉘 바로가기 취약점에 관한 MS10-046 패치 발표

2010-08-06

시만텍, 스턱스넷의 PLC 침투 및 코드 주입방식과 ICS에 미친 영향에 대해 발표.

2010-09-14

마이크로소프트, 8월 시만텍이 확인한 프린터 스풀러 취약점에 관한 MS10-061 패치 발표.

마이크로소프트, 8월 시만텍이 확인한 두 개의 권한 상승 취약점 발표.

2010-09-30

시만텍, 바이러스 게시판에 스턱스넷 포괄 분석 자료 게시


스텍스넷 감염 현황

시만텍은 2010년 7월 20일 스턱스넷 C&C 서버의 트래픽을 모니터링하는 시스템을 마련해 감염률과 감염된 컴퓨터의 위치를 파악했다. 시만텍의 시스템은 스턱스넷 C&C 서버와 연결이 가능한 컴퓨터에서 전송되는 C&C 트래픽만을 파악했으며, C&C서버로 전송되는 트래픽 가운데 만약 지멘스 SIMATIC 스텝 7 산업 제어 소프트웨어를 구동하는 경우, C&C 서버로 다시 전송되는 데이터는 암호화되어 전송되며, 내부 및 외부 IP 주소, 컴퓨터 이름, OS버전, 지멘스 스텝 7 설치 정보 등을 포함하고 있다.

2010년 9월 29일 기준으로 약 10만대의 감염호스트가 파악되었다. 1번 그래프는 국가별로 감염된 호스트의 숫자를 보여주고 있으며, 이란에서 가장 많은 감염 숫자가 발견되었다.

 

사용자 삽입 이미지

2번 그래프는 WAN IP 주소를 기준으로 국가별로 감염된 기관의 숫자를 보여주고 있다.

사용자 삽입 이미지

시만텍은 155개국, 4만대 이상의 외부 IP 주소를 모니터링했다. 3번 그래프는 국가별로 감염된 호스트의 비중을 보여주고 있으며, 감염된 호스트 가운데 약 60%(정확히는 58.31%)가 이란에 위치한 것으로 파악되었다.


사용자 삽입 이미지

스턱스넷은 지멘스 STEP 7 소프트웨어가 설치된 호스트를 파악하는 것이 목표다. 4번 그래프는 감염된 호스트 가운데 지멘스 소프트웨어가 설치된 감염된 호스트의 국가별 비중을 보여주고 있다.

사용자 삽입 이미지

5번 그래프에서 일자별로 새롭게 스턱스넷에 감염된 IP 주소 숫자를 살펴보면 8월 22일 이란은 더 이상 새로운 감염사례를 보고하지 않았다. 이는 감염 사례가 줄어들었기 때문이 아니라, 이란이 외부로 나가는 C&C 서버 연결을 차단했기 때문으로 분석된다.

사용자 삽입 이미지

이란에 감염사례가 집중된 것은 이란이 최초 감염 목표였고, 그래서 초기에 감염사례가 시작되었기 때문으로 분석된다. 스턱스넷은 표적공격이지만 다양한 확산 기술을 사용하고 있기 때문에 초기 목표물 이외의 대상으로 확대되고 있다. 이런 추가적인 감염사례로 인해 부수적인 피해를 야기하고 있으며, 이는 스턱스넷이 사용하고 있는 초기의 다양한 확산 경로로 인한 의도하지 않은 부작용이라고 할 수 있다. 감염률은 사용자들이 취약점에 대한 패치를 하면서 감소할 것으로 예상되지만 이런 종류의 웜의 특성상 안전하지 않은, 패치가 안된 컴퓨터들을 통해 지속적으로 확산될 것으로 예상된다.


맺으며

스턱스넷은 악성코드의 역사상 여러가지 새로운 기록을 세우고 있다. 최초로 한번에 4개의 제로데이 취약점을 이용했으며, 2개의 디지털 인증서를 공격하고, 산업 제어 시스템에 악성코드를 심었다. 특히, 스턱스넷은 중요한 기반시설 인프라에 직접적으로 사이버 공격을 감행하는 것이 가능하다는 것을 보여주는 사례라는 점에서 시사하는 바가 크다.

스턱스넷 사례에서 보듯이 갈수록 고도화·정교화·표적화되고 있는 최신 사이버 공격에 대비해 시만텍은 기업들에게 다음과 같은 실천방안을 권고하고 있다.

1. IT 정책의 수립: 기업은 위협에 대한 우선순위를 정하고, 기업 내 모든 위치에서 적용 가능한 정책을 정의하고, 자동화 등의 기능을 이용해 보안 정책을 집행해야 한다.

2. 정보 중심의 보호: 정보 중심의 접근을 통해 적극적으로 정보를 보호해야 한다. 기업 내 가장 중요하고 민감한 정보가 어디에 있는 지를 파악해 적절한 보호를 강구해야 한다.

3. 신원 관리: 누가 민감한 정보에 접근하는 지 파악하고 관리해야 한다. 직원, 파트너, 고객 등 세가지 그룹이 기업의 시스템에 접근할 수 있기 때문에 신원 인증 관리가 중요하다. 디바이스, 시스템 혹은 애플리케이션의 사용자를 인증함으로써 자산을 보호할 수 있다.

4. 시스템 관리: 시스템 자체의 관리도 중요하다. 최신 보안 패치를 배포하고, 자동화를 통해 효율성을 제고하고, 시스템 상태의 감시 및 보고 등의 활동을 통해 시스템을 관리해야 한다.

5. 인프라 보호: 개별 포인트의 보안에서 나아가 인프라 전체의 보호를 강구해야 한다. 중요한 내부 서버를 보호하고 데이터의 백업 및 복구 역량을 우선적으로 확보해야 한다. 또, 위협에 신속히 대응하기 위해 인프라 운영에 대한 가시성을 높이고 보안 인텔리전스를 갖춰야 한다.

6. 24x7 중단없는 가용성 확보: 안전한 보호와 더불어 보안 운영으로 인해 시스템 가용성에 영향을 받지 않도록 가용성을 확보하는 것 또한 중요하다.

7. 정보 관리 전략 수립: 정보 유지 계획과 정책을 포함한 정보 관리 전략을 수립해야 한다. 데이터의 수명주기를 고려해, 백업, 아카이빙, 삭제 등의 작업을 통해 총체적인 정보 관리를 구현해야 한다.


이와 함께 시만텍은 주요 기간 인프라 보호를 위해 각국 정부에 다음과 같은 실천방안을 권고하고 있다.


1. 정부 차원에서 적절한 리소스를 투입해 핵심 기간 인프라 보호 프로그램을 수립, 운영해야 한다.

2. 산업계, 민간 기업들과 적극적인 협력을 통해 핵심 기간 인프라 보호와 관련된 정보를 공유하고, 인식을 제고해야 한다

3. 사이버 공격에 대비하기 위해 보안만으로는 불충분하다. 핵심 기간 인프라 공급업체와 일반 기업들이 정보의 저장, 백업 등이 이뤄지고 있는지, 계정 및 접근 관리 프로세스가 제대로 실행되고 있는지 확인해야 한다.


2010/11/05 11:17 2010/11/05 11:17

사용자 삽입 이미지
우리가 추석명절과 중부지방에 쏟아진 ‘물폭탄’ 피해·복구에 관심이 온통 쏠려있을 때인 지난 24일, BBC·뉴욕타임즈·파이낸셜타임스(FT) 등 여러 외신은 이란의 핵시설 파괴를 노린 것으로 추정되는 악성 웜의 확산 소식을 전하느라 분주했습니다.

문제의 이 웜은 마이크로소프트 취약점을 악용한 ‘스턱스넷(Stuxnet)’으로, 주로 USB 이동식저장장치를 통해 감염시키는 악성코드입니다. 지멘스의 산업시설 제어장치를 감염시킨 후 산업시설에 침투해 오작동을 일으키거나 작동을 중단시키는 것으로 알려져 있습니다. 이 웜은 지난 6~7월 처음 발견됐지만 1년 전부터 활동한 것으로 추정되고 있습니다.

시만텍 등 보안업계는 이 웜이 산업시설을 대상으로 제작된 최초의, 아주 정교한 악성코드라는 분석을 내놓고 있는데요.

이미 이란 뿐 아니라 인도네시아, 파키스탄, 인도 등에서도 감염 사고가 보고된 상황입니다. 그중에서도 이란에서 가장 많은 피해를 본 것으로 분석되고 있지요. 

뉴욕타임스는 26일(현지시간), 이란 정부 관계자의 말을 인용해 “이 웜이 이란 내 컴퓨터 3만대에 영향을 미쳤다. 이는 이란에 대한 사이버(전자적) 전쟁의 일부”라고 보도했습니다. (<-링크)

일부에서는 스턱스넷에 감염된 4만5000여 대의 컴퓨터 중 60%가 이란에 집중돼 있다는 보도도 나오고 있습니다.

그 때문에 이란의 나탄즈(Natanz) 우라늄 농축 시설과 부셰르 원자력발전소 파괴를 노리고 특정국가가 제작했거나 배후에 있는 것이 아니냐는 추측이 나오고 있는 겁니다. 당연히 핵 개발과 실험에 반대하는 미국과 이스라엘, 영국, 그리고 프랑스, 독일, 심지어 중국까지도 용의(?)선상에 올라와 주로 언급되고 있는 국가입니다. 

무엇보다 우리가 주목해야 할 점은 이 스턱스넷 웜의 등장과 감염 확산이 “웜이 ‘무기’화된 첫 사례이자, 사이버전쟁이 ‘파괴공격’ 단계로 진입한 것을 알리는 신호탄”이라고 하는 해외 보안전문가들의 경고일 것입니다.

지능형전력망(스마트그리드) 구축사업이 한창인 지금, 또 자동차·조선 등 각 산업에서 IT와의 융합이 가속화되는 이때 ‘스턱스넷’ 웜으로 인한 이란의 피해를 교훈삼고 대책을 마련하고 미리 점검해봐야 할 것입니다.

이번 사례는 몇 년 전, 사이버공격의 위험성에 경각심을 불러일으켰던 브루스윌리스 주연의 영화인 ‘다이하드4.0’을 다시 생각나게 하네요.(
관련기사-다이하드4.0의 ‘파이어세일’ 공포)
전문가 경고처럼 각종 사회 기간인프라를 단계적으로 파괴하는 것을 보여준 이 영화의 시나리오가 이미 현실화된 시기가 된 것일까요? 

그나저나 우리나라 산업시설에는 혹시라도 이 ‘스턱스넷’ 웜의 악영향이 없는지 궁금하네요.

(덧붙임) 그러고보니 얼마전에 안철수연구소가 산업용 시스템 전용 보안 솔루션을 선보였군요. 예전에 하우리도 산업용PC 전용 백신을 발표한 적이 있었던 것으로 기억합니다. (
관련기사 참고 - 안철수연구소, 첨단생산라인·POS 전용 보안 제품 출시)

2010/09/26 22:39 2010/09/26 22:39