18
Internet & Security Focus 2013 4월호 6 FOCUS 주요 해킹기법과 대응 전략 FOCUS 1 이재광 한국인터넷진흥원 해킹대응팀 선임연구원 ([email protected]) Ⅰ. 서론 Ⅱ. 해킹사고 주요 동향 1. 해킹사고 분석건수 추이 2. 해킹사고 주요 유형 Ⅲ. 주요 해킹기법과 대응전략 1. 시스템 관리자가 필수적으로 알아야 할 해킹기법 2. 해킹사고 현황관리 Ⅳ. 대응전략 및 결론 인터넷을 통한 침해사고는 꾸준히 증가하고 있다. 해킹된 시스템은 악성코드를 유포하는 경유지로 악용되거나 또 다른 시스템을 공격하는 공격 도구로 악용되기도 한다. 또한, 시스템을 해킹한 공격자는 시스템을 파괴하거나 시스템이 보유하고 있는 중요 자산을 탈취하여 피해 대상에게 막대한 손실을 입히기도 한다. 한국인터넷진흥원(KISA) 인터넷침해대응센터(KrCERT)는 이러한 민간분야에 발생하는 해킹사고를 직접 분석하고 추가적인 피해를 예방할 수 있도록 다양한 방법으로 기술지원을 제공하고 있다. 본고에서는 해킹대응팀이 분석한 다양한 해킹사고 사례를 토대로, 공격자들이 주로 사용하는 해킹기법 중 시스템 관리자들이 필수적으로 점검해야 할 핵심적인 내용들을 알리고, 시스템 관리자들이 취해야 할 해킹대응 전략과 한국인터넷진흥원이 향후 발전시켜 나가고자 하는 해킹대응 전략을 살펴보고자 한다. FOCUS의 내용은 집필자 개인의 견해로서 한국인터넷진흥원의 공식입장과는 무관합니다.

FOCUS FOCUS 1 주요 해킹기법과 대응 전략 · ・관리용 PC 해킹 ・가상사설망(VPN) 서비스 악용 ・윈도우 고정키(Sticky Key) 백도어 많은 도움이

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: FOCUS FOCUS 1 주요 해킹기법과 대응 전략 · ・관리용 PC 해킹 ・가상사설망(VPN) 서비스 악용 ・윈도우 고정키(Sticky Key) 백도어 많은 도움이

Internet & Security Focus 2013 4월호6

FOCUS

주요 해킹기법과 대응 전략

FOCUS 1

이재광

한국인터넷진흥원 해킹대응팀 선임연구원 ([email protected])

Ⅰ. 서론

Ⅱ. 해킹사고 주요 동향

1. 해킹사고 분석건수 추이

2. 해킹사고 주요 유형

Ⅲ. 주요 해킹기법과 대응전략

1. 시스템 관리자가 필수적으로 알아야 할 해킹기법

2. 해킹사고 현황관리

Ⅳ. 대응전략 및 결론

인터넷을 통한 침해사고는 꾸준히 증가하고 있다. 해킹된 시스템은 악성코드를 유포하는

경유지로 악용되거나 또 다른 시스템을 공격하는 공격 도구로 악용되기도 한다. 또한, 시스템을

해킹한 공격자는 시스템을 파괴하거나 시스템이 보유하고 있는 중요 자산을 탈취하여 피해

대상에게 막대한 손실을 입히기도 한다. 한국인터넷진흥원(KISA) 인터넷침해대응센터(KrCERT)는

이러한 민간분야에 발생하는 해킹사고를 직접 분석하고 추가적인 피해를 예방할 수 있도록 다양한

방법으로 기술지원을 제공하고 있다. 본고에서는 해킹대응팀이 분석한 다양한 해킹사고 사례를

토대로, 공격자들이 주로 사용하는 해킹기법 중 시스템 관리자들이 필수적으로 점검해야 할

핵심적인 내용들을 알리고, 시스템 관리자들이 취해야 할 해킹대응 전략과 한국인터넷진흥원이

향후 발전시켜 나가고자 하는 해킹대응 전략을 살펴보고자 한다.

FOCUS의 내용은 집필자 개인의 견해로서

한국인터넷진흥원의 공식입장과는 무관합니다.

Page 2: FOCUS FOCUS 1 주요 해킹기법과 대응 전략 · ・관리용 PC 해킹 ・가상사설망(VPN) 서비스 악용 ・윈도우 고정키(Sticky Key) 백도어 많은 도움이

Internet & Security Focus 2013 4월호 7

FOCUS

주요 해킹기법과 대응 전략

I. 서론

한국인터넷진흥원(KISA) 인터넷침해대응센터(KrCERT)는 다양한 방법으로 해킹사고를

탐지하고 있다. 인터넷침해대응센터 자체적으로 보유하고 있는 탐지체계 뿐만 아니라 시스템

담당자들이 직접 신고하는 신고체계 또한 해킹사고 탐지에 있어 중요한 역할을 차지하고 있다.

시스템이 해킹될 경우 그 결과는 다양한 현상으로 드러나게 된다. 해킹된 시스템은 악성코드를

유포하기위한 경유지로 악용되기도 하고, 기업의 개인정보를 유출하는 통로로 악용되기도 하며

때로는 다른 시스템을 공격하는 공격지로 악용되기도 한다. 인터넷침해대응센터 해킹대응팀은

이렇게 탐지된 해킹사고의 피해확산과 재발 방지를 위해 피해 시스템을 직접 분석하고

대응방안을 제시하는 역할을 수행하고 있다.

본고의 가장 큰 목적은 수시로 발생하는 해킹사고를 지속적으로 분석해 나가고 있는 경험을

토대로 시스템 관리자들이 필수적으로 알아야 할 공격자들의 주요 해킹기법을 알리는 것이다.

또한 해킹사고 대응을 위해 시스템 관리자가 필수적으로 취해야 하는 기본적인 대응전략을

살펴보고, 해킹대응팀이 향후 진행하고자 하는 대응전략에 대해서도 일부 살펴보고자 한다.

Ⅱ. 해킹사고 주요 동향

1. 해킹사고 분석 건수 추이

매년 증가하는 해킹사고로 인해 해킹대응팀이 직접 분석하는 사고 사례도 크게 증가하고

있는데, 피해확산 및 사고재발 방지에 주 목적을 두기 때문에 신속성 보다는 상세하고 정확한

분석이 중요하다.

전체 신고 및 탐지된 사고건 중 중요도, 파급력 등 기준에 따라 분석을 진행하는데, 2012년에는

총 315건의 해킹사고를 분석하여 전년도 대비 2배 가까이 증가 하였다.

<표 1> 연도별 해킹사고 분석 건수

연도 2009년 2010년 2011년 2012년

분석 건수 77건 91건 160건 315건

Page 3: FOCUS FOCUS 1 주요 해킹기법과 대응 전략 · ・관리용 PC 해킹 ・가상사설망(VPN) 서비스 악용 ・윈도우 고정키(Sticky Key) 백도어 많은 도움이

Internet & Security Focus 2013 4월호8

FOCUS

2. 해킹사고 주요 유형

해킹사고 유형을 살펴보면 악성코드 경유지・악성코드 유포지・해킹 경유지・홈페이지

변조・개인정보 유출・악성코드 감염이 다수를 차지하고 있다.

[그림 1] 해킹사고 주요 유형 분포(2012년 전체 기준)

(1) 악성코드 경유지

악성코드 경유지는 해킹대응팀에서 분석한 해킹사고 유형 중 가장 많은 비중을 차지하는

사례이다. 공격자가 악성코드를 유포하기 위해 해킹된 시스템을 악용하는 형태로서 웹사이트를

운영중인 웹서버가 공격 대상이다. 공격자는 웹사이트를 운영하는 웹서버를 해킹하여 웹

소스코드에 실제 악성코드를 유포하는 유포서버 주소를 삽입함으로써, 웹사이트를 방문하는 일반

사용자들이 자동으로 악성코드 유포지로 접속되도록 유도하는 사고 유형이다. 즉, 일반

사용자들은 해킹당한 웹사이트에 단순 접속만 해도 자신도 모르는 사이에 악성코드를 유포하는

서버에 자동으로 접속하게되어 악성코드에 감염된다. 특히 공격자들은 평소 방문자가 많은

웹사이트를 해킹하는 것이 큰 특징이다. 최근에는 공격자들이 악성코드 경유지 확보를 위해

방문자가 많은 웹하드와 인터넷 언론 웹사이트를 주로 공격하고 있다. 이는 방문자가 많은

웹사이트를 해킹할 경우 악성코드 유포 효과를 극대화할 수 있기 때문이다.

해킹당한 피해시스템 관리자는 웹사이트 운영에 아무런 문제가 발생하지 않기 때문에 해킹

사실을 인지하기가 쉽지 않다. 하지만, 공격자가 시스템 권한을 소유할 수 있으므로 향후 추가

대책 및 웹페이지 방문자 보호를 위해 반드시 상세 분석을 통한 조치를 취해야 한다.

Page 4: FOCUS FOCUS 1 주요 해킹기법과 대응 전략 · ・관리용 PC 해킹 ・가상사설망(VPN) 서비스 악용 ・윈도우 고정키(Sticky Key) 백도어 많은 도움이

Internet & Security Focus 2013 4월호 9

FOCUS

(2) 악성코드 유포지

악성코드 유포지 사고는 공격자가 악성코드를 유포하기 위해 실제 운영중인 서버를 유포 서버로

악용하는 사례이다. 공격자는 인터넷으로 접속이 가능한 실제 운영중인 서버를 해킹하여 특정

경로에 악성코드를 업로드한다. 이후 공격자가 사전에 확보해 둔 악성코드 경유지 서버에 유포지

서버 주소를 삽입함으로써, 경유지에 접속한 일반 사용자가 자동으로 유포지 서버에 접속하여

악성코드에 감염되도록 유도하는 사고 유형이다. 일반적으로 다수의 경유지와 한 개의 유포지가

연결되는 구조로 공격이 진행되므로 특정 시점에 유포지로 악용되는 서버의 접속량이 크게

증가하는 현상들이 발생된다. 이 경우 악성코드 경유지와 마찬가지로 서버를 운영하는데에 있어

특별한 문제가 발생하지 않으므로 피해시스템 관리자가 해킹 사실을 쉽게 인지하기가 어렵다.

하지만 악성코드 유포지로 악용되고 있다는 것은 서버의 관리자 권한이 탈취된 것과 동일하므로

공격자는 충분히 다른 피해를 유발할 수 있다. 즉, 상세 분석을 통해 추가적인 피해범위를

확인하는 등의 조치가 반드시 필요하다.

(3) 해킹 경유지

최근 발생하는 해킹사고는 공격자 IP의 whois 조회1) 결과가 한국으로 확인되는 사례가

빈번하다. 이는 공격자가 국내에서 운영중인 시스템을 해킹하여 운영체제에서 제공하는

VPN(가상사설망)2) 서비스를 실행시키고, 해당 서비스를 통하여 타 시스템을 다시 공격하기

때문이다. 즉, 국내에서 운영중인 시스템이 해킹 도구(해킹 경유지)로 악용되는 것이다. 해킹사고

분석 시 지리적으로 한국으로 조회되는 공격 IP에 대한 웹서비스용 포트(80)의 오픈 여부를

확인해 보면 대부분이 웹서비스를 운영중인 것으로 확인되며, 추가적으로 VPN 서비스와 관련된

1723포트를 확인해 보면 해당 포트가 대기 상태인 경우가 다수이다.

해킹사고 분석 시 확인되는 IP가 국내에서 운영중인 시스템이면서 VPN 서비스가 실행중인

것으로 확인될 경우 반드시 추가 섭외를 통해 분석을 진행해야 한다. 분석이 이루어졌던 대부분은

시스템이 해킹되어 VPN 서비스가 불법적으로 실행된 것으로 확인되었으며, 해외 공격자가 해당

시스템을 수시로 접속한 이력이 확인되었다. 또한, VPN 서비스는 외부에 있는 별도의 인증 서버를

두고 VPN 서비스에 로그인하는 사용자를 인증할 수 있도록 구성하는 것이 가능하다. 이러한 외부

인증 형식으로 인해 VPN 서비스가 악용되는 시스템의 경우 다수의 공격자들에게 해당 시스템

정보가 임대 또는 판매되는 형식으로 공유되기도 한다. 즉, 해킹 경유지로 악용되는 시스템의 경우

1) 도메인이름 등록인 및 연락처, 국내 IP 주소의 사용기관 및 연결 ISP에 대한 정보등을 확인하는 서비스

2) 공중 네트워크를 통해 한 회사나 몇몇 단체가 통신내용을 외부에 드러내지 않기 위해 사용하는 사설 통신망

Page 5: FOCUS FOCUS 1 주요 해킹기법과 대응 전략 · ・관리용 PC 해킹 ・가상사설망(VPN) 서비스 악용 ・윈도우 고정키(Sticky Key) 백도어 많은 도움이

Internet & Security Focus 2013 4월호10

FOCUS

다수의 해킹사고에 연관될 수 있는 위험성이 늘 존재하는 것이다. 이는 시스템 관리자가 해킹

경유지로 악용되는 것의 심각성을 인지해야 하는 중요한 이유이다.

(4) 홈페이지 변조

홈페이지 변조는 웹사이트를 운영하는 웹서버에서 발생되는 해킹 사고이다. 공격자는

웹사이트를 운영하는 서버를 해킹하고 웹사이트 방문시 처음으로 나타나는 페이지를 웹 서비스와

관련이 없는 내용으로 변조하게 된다. 쇼핑몰과 같이 금전적인 거래가 이루어지는 웹사이트의

경우 방문자에게 신뢰감을 주는 것이 큰 의미가 있으므로 홈페이지 변조는 큰 피해로 이어질 수

있다. 신뢰감을 주지 않는 해킹된 웹사이트에서 금전적인 결제를 진행할 사용자는 없기 때문이다.

또한, 한 대의 서버에서 다수의 웹사이트를 운영하는 웹호스팅 환경에서는 대량 웹변조로

이어지는 사고 사례도 다수 확인되었다. 홈페이지 변조를 단순히 공격자의 해킹 능력 과시용으로

생각해서는 안된다. 공격자가 홈페이지를 변조하는 것은 시스템에서 다양한 해킹을

수행(정보유출, 악성코드 추가설치 등)한 후 마지막으로 수행하는 단계이기 때문이다.

(5) 개인정보 유출

개인정보 유출은 시스템 관리자 및 운영기관에게 가장 민감한 해킹사고 유형이다. 공격자가

DB에 직접 접근할 수 있는 권한을 갖지 못하더라도 DB와 연동되어 있는 웹사이트의 취약점을

통해 DB에 보관되는 개인정보 조회 및 유출이 가능하다. 해킹사고를 분석한 사례를 보면

공격자가 DB와 연동되어 있는 웹서버를 해킹한 후 웹서버에서 DB 연동과 관련된 소스를

유출하고, 그 유출된 소스에서 DB 접속 계정을 탈취하는 사례가 빈번하다. 일단 DB 접속 계정을

탈취하게 되면 공격자는 웹서버에 웹쉘3)을 업로드하는 등의 공격을 통해 쉽게 DB 정보를

조회하거나 유출하는 것이 가능하다. 또한 웹 소스 자체적으로 지니고 있는 SQL 인젝션

취약점4)을 통해 DB에 저장되어 있는 개인정보를 조회하고 탈취하는 사례도 빈번히 발생되었다.

실제 개인정보 유출과 관련된 해킹사고 분석시 가장 크게 발견된 문제점은 DB에 저장되는

개인정보를 암호화하지 않고 관리한다는 사실이다. 암호화가 되어 있지 않은 가장 큰 이유는

보안을 고려하지 않은 상태로 초기에 구축된 시스템을 그대로 지속적으로 운영하거나, 개인정보

유출의 심각성을 제대로 인식하지 않기 때문이다. 최근 개인정보보호법이 시행되면서 조금씩

3) 해커가 원격에서 웹서버를 조종할 수 있도록 제작한 웹서버용 악성코드

4) 데이터베이스(DB)에 질의・삽입・삭제등의 명령을 수행할 때 사용하는 SQL 쿼리문의 입력값을 조작하여 악성 명령을

수행할 수 있는 취약점

Page 6: FOCUS FOCUS 1 주요 해킹기법과 대응 전략 · ・관리용 PC 해킹 ・가상사설망(VPN) 서비스 악용 ・윈도우 고정키(Sticky Key) 백도어 많은 도움이

Internet & Security Focus 2013 4월호 11

FOCUS

인식의 변화가 생기기 시작했지만 여전히 많은 시스템이 암호화 등 적절한 보안조치가 되어있지

않은 상태로 시스템을 운영하고 있다. 완벽한 보안은 없다는 인식하에 DB에 저장되는 개인정보를

암호화 하는 것은 필수적인 조치이다. 또한, DB에 과거에 사용했던 백업 데이터 또는 현재는

사용하지 않는 불필요한 데이터가 남아있지 않은지 반드시 확인해야 한다.

(6) 악성코드 감염

시스템이 악성코드에 감염될 경우 관리자가 의도하지 않는 행위들이 시스템에서 발생될 수

있다. 시스템에서 대량 스팸 SMS가 발송되는 사례도 있으며, DDoS 공격용 트래픽이 발생되는

사례도 있었다. 시스템이 악성코드에 감염되었다는 것은 공격자에게 조정되고 있다는 의미이다.

특히 관리자가 주로 사용하는 시스템이 악성코드에 감염될 경우 키로거(key logger)와 같은

악성코드를 통해 관리자가 운영하는 시스템의 모든 계정들이 노출될 수 있으므로 큰 피해를

야기할 수 있다.

Ⅲ. 주요 해킹기법과 해킹사고 현황관리

1. 시스템 관리자가 필수적으로 알아야 할 해킹기법

시스템을 해킹하는 공격기법은 다양하게 존재한다. 하드웨어 취약점 악용, OS 또는

웹어플리케이션과 같은 서비스단의 취약점 악용, 사회공학적 기법5)을 이용한 악성코드 감염과

계정 유출 등 공격자들은 다양한 수준과 방법의 공격기법을 선택할 수 있다. 공격자는 공격대상

시스템이 어떠한 취약점을 가지고 있는가에 따라 공격기법을 결정하게 되므로 단순히 어떤 공격

기법이 많이 쓰인다는 관점으로 설명하기 보다는 해킹사고 분석 사례를 통해 확인된 공격자들의

주된 해킹 행위를 분석하는 것이 의미가 있다.

해킹된 시스템 분석을 통해 주로 확인되는 해킹기법을 살펴보는 가장 큰 이유는 시스템 관리자

스스로 해킹 사고가 발생했는지 여부를 조기에 판단하여 피해 확산을 방지하기 위함이다. 이를

위해 시스템 관리자가 최대한 쉽게 확인해 볼 수 있는 해킹 기법을 중심으로 정리하였다. 물론

여기에서 소개되는 기법만으로 해킹 사고 발생여부를 모두 판단할 수는 없지만, 최근 해킹

사고에서 가장 빈번히 나타나는 기법인만큼 시스템 관리자가 확인하고 주기적으로 점검한다면

5) 시스템이 아닌 시스템 사용자를 대상으로 정보 획득, 이상행동 등을 유도하는 기법

Page 7: FOCUS FOCUS 1 주요 해킹기법과 대응 전략 · ・관리용 PC 해킹 ・가상사설망(VPN) 서비스 악용 ・윈도우 고정키(Sticky Key) 백도어 많은 도움이

Internet & Security Focus 2013 4월호12

FOCUS

[그림 2] 웹으로 접근하여 웹쉘을 실행한 모습

(1) 파일 업로드 취약점을 악용한 웹쉘 업로드

해킹사고 분석 결과 가장 빈도수가 높은 해킹기법이 바로 웹어플리케이션의 파일 업로드

취약점을 악용한 웹쉘 업로드이다. 웹어플리케이션은 게시판과 같은 기능을 쉽게 구축할 수 있는

플랫폼으로써, 많은 웹사이트가 웹어플리케이션을 기반으로 서비스를 제공하고 있다. 그러나

웹어플리케이션은 신규 취약점들이 꾸준히 발견되어 공개되는 반면 웹서버 관리자들이 취약점에

대한 보안 업데이트를 정기적으로 수행하지 않을 경우 취약점을 통한 공격이 쉽게 이루어질 수

있다. 그 중에서도 특히 웹사이트 방문자가 게시물(파일)을 업로드할 수 있는 기능이 존재할 경우

악용될 소지가 다분하다. 공격자들은 파일을 업로드하는 기능을 악용하여 웹쉘과 같은

공격도구를 업로드하고, 업로드 된 웹쉘을 통해 추가적인 해킹을 수행하게 된다.

<표 2> 6가지 핵심 해킹기법 키워드

시스템 관리자가 필수적으로 체크해야 하는 6가지 핵심 해킹기법 키워드

・파일업로드 취약점을 악용한 웹쉘 업로드

・시큐어셸(SSH) 백도어

・동기화 프로그램 악용

・관리용 PC 해킹

・가상사설망(VPN) 서비스 악용

・윈도우 고정키(Sticky Key) 백도어

많은 도움이 될 것이다. 한 가지 유념해야 할 사실은 본고에서 소개되는 해킹기법을 통해 점검한

결과 운영하는 시스템에 대한 해킹 사실이 확인된다면 반드시 피해범위 확인을 위한 상세분석을

추가적으로 진행해야 한다.

<표 2>의 6가지 키워드에 대해 시스템 관리자가 관심을 기울인다면 시스템의 해킹 여부를

비교적 간단하게 확인할 수 있다.

Page 8: FOCUS FOCUS 1 주요 해킹기법과 대응 전략 · ・관리용 PC 해킹 ・가상사설망(VPN) 서비스 악용 ・윈도우 고정키(Sticky Key) 백도어 많은 도움이

Internet & Security Focus 2013 4월호 13

FOCUS

운영중인 서버에 웹쉘이 업로드 될 경우 공격자는 웹으로 업로드된 웹쉘에 접근하여 서버에

대한 다양한 정보를 확인하는 것이 가능하다. 또한 파일을 삭제하거나 변조하는 것도 가능하며,

서버에서 시스템 명령을 실행하거나 리버스 커넥션6) 연결을 통해 보안장비를 우회하는 공격도

가능하게 된다. 즉, 서버에 일단 웹쉘이 업로드되면 서버는 공격자에게 장악되었다고 볼 수 있다.

[그림2]과 같이 하나의 파일 전체가 웹쉘인 경우도 많이 있지만, [그림3]와 같이 한 줄로 처리되는

웹쉘도 많이 발견된다. 한 줄로 된 웹쉘의 경우 공격자가 정상 웹 소스에 웹쉘 코드를 추가해 두는

형태로 발견되며, 그 위험성은 하나의 파일 전체가 웹쉘인 경우와 차이가 없다.

[그림 3] 정상 웹 소스에 삽입되어 있는 한 줄로 된 웹쉘

6) 방화벽이 존재하는 시스템을 공격할 때 자주 사용되는 기법으로 공격대상 시스템에서 공격자의 PC로 접속을 요청하게 하는 기술

파일 업로드 취약점은 이미 오래된 공격 기법 임에도 불구하고 최근에도 꾸준히 사용되고 있는

것은 그만큼 여전히 보안이 취약한 웹어플리케이션을 사용하는 시스템이 많기 때문이다. 또한,

그동안 파일 업로드 취약점에 대한 많은 대응방안이 나와 있지만, 대응방안을 우회할 수 있는 공격

기법들도 꾸준히 등장하고 있는 것 또한 원인이라고 할 수 있다. 일단, 서버에 웹쉘이 업로드 되면

공격자는 모든 것을 할 수 있다. 웹사이트가 낮은 권한으로 운영될지라도 웹쉘을 통해 권한상승

악성코드를 서버에 설치하거나 리버스 커넥션 연결 등 추가적인 공격행위를 지속적으로 수행하는

것이 가능하기 때문이다.

실제 파일 업로드 취약점을 통해 해킹된 웹서버를 분석해보면 대부분이 웹 소스코드에서 특정

확장자 기반의 필터링 정도만 수행하고 있었다. 이 경우 확장자 필터링 우회기법을 통해 웹쉘을

업로드하는 것이 가능하므로 적절한 대응방안이 될 수 없다. 파일 업로드 기능이 반드시 필요한

서비스일 경우에는 3가지 조치가 함께 필요하다. 첫째는 웹쉘이 업로드되지 않도록 웹 소스

레벨에 대한 보안을 강화하는 것이고, 둘째는 웹쉘이 업로드될 수 있다는 가정하에서 업로드된

웹쉘이 실행되지 않도록 설정하는 것이며, 셋째는 업로드된 웹쉘에 공격자가 직접적으로 접근할

수 없도록 하는 것이다.

Page 9: FOCUS FOCUS 1 주요 해킹기법과 대응 전략 · ・관리용 PC 해킹 ・가상사설망(VPN) 서비스 악용 ・윈도우 고정키(Sticky Key) 백도어 많은 도움이

Internet & Security Focus 2013 4월호14

FOCUS

첫째로 웹쉘이 업로드되지 않도록 웹 소스코드 레벨에 대한 보안을 강화하는 방안은 확장자

검사・mime-type7) 검사를 이용한 필터링 정책을 적용하는 것이다. 단, 확장자 검사시에는 우회

공격을 막기 위해 구분자인 ‘.’를 기준으로 여러 단계의 문자열에 대한 검사를 모두 수행하는 것이

반드시 필요하다. 둘째로, 웹서버에 업로드된 웹쉘이 실행되지 않도록 하기 위해서는 반드시

파일이 업로드되는 디렉토리의 스크립트 실행 권한을 제거하여 운영하는 것이 필요하다. 그러나

실제 해킹사고 사례를 보면 스크립트 실행 권한을 제거하여 운영할 때 웹서비스 제공 자체에

문제가 발생하여 관리자들이 스크립트 실행 권한 제거 정책 적용을 기피하는 현상을 볼 수 있었다.

이를 해결하기 위해서는 파일이 업로드되는 위치를 웹 소스코드와 별도로 분리하여 운영함으로써

해결할 수 있다. 즉, 파일이 업로드되는 위치와 웹 소스가 존재하는 위치를 파티션 혹은

물리적으로 구분함으로써 파일 업로드 경로에 대한 스크립트 실행권한을 제거하는 것이

웹서비스에 영향을 미치지 않도록 운영하는 것이다. 파일 업로드 취약점에 대한 대응방안 중 가장

확실하고도 필요한 방안이 세 번째 방안이다. 공격자들이 웹쉘을 업로드하더라도 공격을

지속하기 위해서는 반드시 웹쉘에 직접적으로 접근을 해야 한다. 해킹사고 분석결과 파일 업로드

취약점이 악용된 웹서버의 경우 대부분이 업로드된 파일의 위치가 쉽게 노출되어 직접적으로

파일에 접근할 수 있는 문제점이 존재하였다. 만약, 공격자가 웹쉘을 업로드 하더라도 웹쉘에

직접적으로 접근할 수 없다면 결코 웹쉘을 통해 공격할 수 없게 된다. 이를 위해서는 파일을

업로드할 경우 업로드된 파일에 index와 같은 별도의 식별자를 부여하여 파일명과 함께 관리하고,

업로드된 파일에 접근하기 위해서는 down.php와 같은 별도의 모듈을 통해 index 기반으로

파일을 불러오도록 구현하는 것이 필요하다. 이렇게 구현될 경우 공격자는 자신이 업로드한

파일에 직접적으로 접근할 수 없으므로 웹쉘을 활용할 수 없게 된다.

웹쉘은 그 종류와 형태가 다양하지만, 어떤 웹쉘이라도 서버에 업로드될 경우 그 파급력은

동일하다고 보아야 한다. 그러므로 관리자는 운영하는 시스템에 웹쉘이 존재하는지 여부를

주기적으로 검사해야 하며, 웹쉘이 확인될 경우 추가적인 분석을 즉시 수행하여 피해 범위를

상세히 확인해야 한다. 한국인터넷진흥원에서는 [그림 4]와 같이 웹쉘을 찾아주는

휘슬(WHISTL)이라는 점검도구를 무료로 보급하고 있으며, 해킹사고 분석시 발견되는 새로운

유형의 웹쉘에 대해서 지속적으로 탐지 패턴을 업데이트하고 있으므로 관리자들이 사용하도록

적극 권고한다.

7) 송수신되는 데이터의 형식을 규정하기 위한 프로토콜로서 확장자와 비슷한 개념

Page 10: FOCUS FOCUS 1 주요 해킹기법과 대응 전략 · ・관리용 PC 해킹 ・가상사설망(VPN) 서비스 악용 ・윈도우 고정키(Sticky Key) 백도어 많은 도움이

Internet & Security Focus 2013 4월호 15

FOCUS

(2) SSH 백도어

SSH 백도어는 초기 단계에서 수행하는 해킹 기법은 아니다. 1차적으로 시스템을 해킹한

공격자는 지속적으로 시스템에 쉽게 접속하기 위해 백도어8)를 설치해둔다. 물론 이 백도어를 통해

시스템에 접속하는 공격자는 관리자 권한을 획득하게 되므로 공격자가 쉽게 해킹을 지속할 수

있게 된다. 최근 해킹사고 분석시 가장 빈번히 확인되는 백도어가 바로 SSH 백도어이다. SSH

모듈은 리눅스계열의 시스템에서 서버를 관리하기 위해 가장 범용적으로 사용되는 모듈이다.

그러므로 공격자는 주로 SSH 모듈을 백도어로 변조시키게 된다. SSH 모듈이 백도어로 변조될

경우에도 정상적인 관리자가 SSH 모듈을 이용하는 데에는 전혀 문제가 발생하지 않는다. 이러한

이유로 관리자는 해당 모듈이 변조되었는지 여부를 쉽게 확인하기가 어렵다.

실제 해킹 사례를 분석해보면 공격자가 설치해두는 SSH 백도어는 크게 2가지 역할을 수행하고

있음을 알 수 있다. 첫째는 SSH 모듈을 통해 접속할 때 공격자가 지정해둔 특정 문자열 입력 시

정상적인 인증 프로세스를 통과하지 않고 바로 공격자에게 관리자 권한을 제공하는 것이다.

둘째는 정상적인 관리자가 접속할 경우 관리자가 입력하는 계정 정보를 시스템의 특정 위치에

기록하는 것이다. 첫째와 같은 경우는 SSH 모듈에서 패스워드 인증을 관리하는 모듈이 변조되어

특정문자열 입력 시 인증 루틴을 거치지 않고 접속자에게 관리자 권한을 제공하므로 나타나는

증상이다. 두 번째 경우는 관리자가 주기적으로 계정을 변경하더라도 공격자가 지정한 경로에

모든 계정 정보가 기록되므로, 백도어를 제거하지 않고 계정 정보를 변경하는 것은 해킹에 대한

대응방안이 되지 못한다. 실제 해킹사고 분석시 변조된 SSH 모듈을 확인한 방법은 다음과 같다.

8) 해커가 이용자 몰래 컴퓨터에 접속하여 악의적인 행위를 하기 위해 설치해 놓은 출입통로 역할을 하는 악성코드

[그림 4] 휘슬을 신청하는 툴박스 웹사이트

Page 11: FOCUS FOCUS 1 주요 해킹기법과 대응 전략 · ・관리용 PC 해킹 ・가상사설망(VPN) 서비스 악용 ・윈도우 고정키(Sticky Key) 백도어 많은 도움이

Internet & Security Focus 2013 4월호16

FOCUS

<표 3>의 분석 과정을 수행하게 되면 1차적으로 Password를 입력하는 부분에서 시스템 콜

추적이 중단되며, 관리자가 Password를 입력하게 되면 시스템 콜 추적이 다시 시작된다. 키로깅

기능을 가진 SSH 백도어가 설치된 경우에는 Password 입력 후 호출되는 시스템 콜에 반드시

파일을 기록하는 단계가 추가되어 있음을 확인할 수 있다. 위 예에서는 로깅된 계정정보 파일이

일반적으로 모든 사용자가 접근 및 수정 가능한 권한을 제공하는 ‘/tmp’ 디렉토리에

저장되었으며, 또한 계정 정보 파일이 숨김 속성으로 생성되어 있는 것을 확인할 수 있다.

정상적인 SSH 모듈이 설치되어 있다면 위와같이 패스워드 입력 후 파일에 데이터를 기록하기

위한 open 콜은 나타나지 않는다.

2) 문자열 검사를 통한 SSH 백도어 확인

리눅스 기본 명령어 중 strings는 파일이 가지고 있는 문자열을 확인하는 용도로 사용된다.

때로는 SSH 백도어 확인을 위해 strings 명령어가 유용하게 사용되기도 한다. 실제 해킹사고

사례에서 ssh・sshd・pam_unix.so 3개의 파일에 대한 문자열 확인을 통해 변조된 SSH 백도어를

확인하는 경우가 많이 있다. 변조된 SSH 백도어의 문자열에서는 백도어 키(공격자가 SSH 모듈로

1) strace 명령어를 통해 SSH 백도어 확인

strace 명령어9)를 이용하여 권한 상승시 호출되는 시스템 콜을 추적한다. <표 3>과 같은 명령을

수행한 후 호출되는 시스템 콜에서 파일을 열어 내용을 기록하는 단계가 포함되어 있는지 여부를

확인하는 것이다. SSH 백도어가 키로깅 기능을 가지고 있을 경우 패스워드를 입력하는 단계

이후에 패스워드를 특정 위치에 기록하기 위해 파일을 오픈하게 되는 특성을 이용하여 분석하는

기법이다. 단, strace 명령을 실행할 때는 반드시 일반 권한에서 su를 통해 root 권한으로 상승하는

과정을 추적해야 한다. root 권한에서 strace 명령을 수행할 경우에는 패스워드를 입력하는 단계가

나타나지 않기 때문이다.

<표 3> 시스템 콜 추적을 통한 백도어 확인방법

[oracle@]$ strace -e trace=open su ↲

open("/lib/security/pam_unix.so", O_RDONLY) = 5 --> 패스워드 인증관련 변조된 파일

Password:

open("/tmp/.session", O_WRONLY|O_CREAT|O_APPEND, 0666) = -1 EACCES (Permission denied)

--> 계정을 특정 위치(/tmp/.session)에 기록하는 단계

9) 리눅스상에서 실행 프로그램의 시스템 호출 상태를 추적할 수 있는 도구

Page 12: FOCUS FOCUS 1 주요 해킹기법과 대응 전략 · ・관리용 PC 해킹 ・가상사설망(VPN) 서비스 악용 ・윈도우 고정키(Sticky Key) 백도어 많은 도움이

Internet & Security Focus 2013 4월호 17

FOCUS

<표 4> 문자열 확인을 통한 백도어 확인방법

비정상 pam_unix.so 문자열 확인결과 정상 pam_unix.so 문자열 확인결과

[oracle@]$ strings pam_unix.so ↲

-UN*X-PASS

KiTrap0DExp!!! --> 백도어 키

Password:

%s :: %s --> 키로깅 형태 관련 문자열 확인

auth could not identify password for [%s]

[oracle@]$ strings pam_unix.so ↲

-UN*X-PASS

Password:

auth could not identify password for [%s]

접속할 때 입력하게 되는 특정 문자열)와 키로깅을 위한 식별자가 확인되는 경우가 종종 있다.

키로깅을 위한 식별자는 계정 정보를 파일에 기록할 때 사용자 ID와 패스워드를 구분하여

기록하기 위한 용도로 사용된다.

정상적인 SSH 모듈의 경우에는 SSH 모듈을 통해 원격에서 접속하는 사용자의 정보를 시스템

로그에 기록한다. 그러나 변조된 SSH 백도어를 통해 접속한 공격자의 이력은 시스템 로그에

기록되지 않는다. 그러므로 SSH 모듈에 대한 무결성을 유지할 수 있는 별도의 방안을 마련하는

것도 좋은 대안이 될 수 있다. 만일 운영중인 시스템을 점검한 결과 SSH 백도어가 발견된다면

반드시 피해범위 확인을 위한 상세분석을 추가적으로 수행해야 한다.

(3) 동기화 프로그램 악용

웹 서비스를 위해 여러대의 서버를 동시에 운영하는 경우 웹서버간의 데이터 동기화를 위한

동기화 프로그램이 이용된다. 그리고 이러한 동기화 프로그램은 설정파일을 통해 접근제어

정책을 적용하게 된다. 해킹사고를 분석해보면 동기화 프로그램의 설정파일이 보안에 취약하게

설정되어 있어 공격에 악용되는 사례가 다수 존재한다. 동기화 프로그램이 공격에 악용될 경우

공격자는 동기화 프로그램을 통해 공격대상 서버의 파일을 다운로드하거나 반대로 공격대상

서버에 악성코드를 업로드하는 것이 가능하다.

일반적으로 가장 많이 사용되는 동기화 프로그램인 Rsync를 악용하여 발생되는 해킹사고를

분석해보면 설정파일이 <표 5>와 같이 취약한 형태로 작성되어 있는 것을 확인할 수 있었다. 설정

파일의 필드 중에서 path・uid・gid・hosts allow 필드가 접근제어 정책적용을 위해 사용된다. ’path'

필드는 동기화를 시도하는 시스템에게 접근할 수 있는 범위를 결정하며, 'uid'와 ‘gid' 필드는 동기화를

시도하는 시스템 접근시 접근 시스템에게 부여하는 권한을 결정한다. 또한 ’hosts allow' 필드는 특정

IP만 동기화를 수행할 수 있도록 동기화 범위 및 대상을 제어할 수 있는 기능을 제공한다.

Page 13: FOCUS FOCUS 1 주요 해킹기법과 대응 전략 · ・관리용 PC 해킹 ・가상사설망(VPN) 서비스 악용 ・윈도우 고정키(Sticky Key) 백도어 많은 도움이

Internet & Security Focus 2013 4월호18

FOCUS

<표 5> Rsync의 보안설정 예

취약한 보안설정 올바른 보안설정

[oracle@]$ cat rsyncd.conf ↲

[WEB]

path = /

uid = root

gid = root

[oracle@]$ cat rsyncd.conf ↲

[WEB]

path = /www/var(웹 최상위 디렉토리)

uid = webuser(개발자 계정)

gid = webuser(개발자 그룹계정)

hosts allow = 1.1.1.1, 1.1.1.2

Rsync가 악용되고 있는지 여부는 messages 로그10)에서 확인할 수 있다. messages 로그에서

‘rsync’라는 키워드를 이용하여 검색하면 관련된 로그만 추출할 수 있다. 추출한 로그에서

살펴보아야 할 내용은 Rsync를 통해 동기화가 이루어질 필요가 없는 IP에서의 동기화를 이용한

접근이 있는지 여부와, 동기화가 이루어지지 않는 폴더에 대한 접근 여부이다. Rsync 설정 파일을

작성할 시 적절한 접근 제어가 이루어지지 않을 경우 공격자는 원격지에서 동기화 대상 시스템에

접근하여 추가적인 해킹 작업을 수행하게 된다.

보안을 위해서는 반드시 올바른 보안 설정을 통하여 동기화 대상 서버에 접근할 수 있는 폴더의

범위를 제한시키고, 접근자에게 부여하는 권한 또한 제한적으로 할당해 주어야 하며, 동기화를

위해 접근할 수 있는 IP에 대한 접근제어 정책을 설정하는 것이 필요하다.

(4) 관리용 PC 해킹

관리용 PC 해킹은 공격자에게는 매우 매력적이며, 공격 대상에게 심각한 피해를 입히는 해킹

기법이다. 관리용 PC가 해킹될 경우 공격자는 관리자가 관리하는 다수의 시스템에 대한 계정을

쉽게 탈취할 수 있게 된다. 또한 방화벽을 이용하여 원격접근에 대한 접근제어 정책을 적절하게

설정해둔 시스템이라 할지라도 관리용 PC에 대해서는 항상 접근을 허용하는 정책을 적용할 수

밖에 없으므로, 관리용 PC 해킹은 큰 피해로 연결되는 사례가 많다.

실제 해킹사고와 관련된 피해 시스템을 분석할 때 외부에서 접근한 흔적이 전혀 발견되지 않는

경우 공격 시간대에 접속한 내부 관리용 IP를 의심하게 된다. 내부 관리용 IP를 추가 분석할 경우

해당 PC에서 키로거나 리버스 커넥션과 같은 악성코드가 발견되는 사례가 많이 있다. 때로는

관리용 PC에서 네트워크 트래픽을 수집하는 도구가 발견되는 경우도 있었다. 관리용 PC가 해킹된

10) 시스템 운영에 대한 전반적인 메시지가 기록되며, 특히 시스템 데몬들의 실행상황과 내역 그리고 사용자들의 접속정보가

기록된다.

Page 14: FOCUS FOCUS 1 주요 해킹기법과 대응 전략 · ・관리용 PC 해킹 ・가상사설망(VPN) 서비스 악용 ・윈도우 고정키(Sticky Key) 백도어 많은 도움이

Internet & Security Focus 2013 4월호 19

FOCUS

사실을 인지했을 경우 관리자는 평소 해당 PC를 통해 접속하는 시스템의 접속 계정을 모두

변경해야 하며, 이미 시스템에 피해가 발생했는지 여부를 확인하기 위해 전수 보안 점검을

수행해야 한다.

일반적으로 서버에서 인터넷을 사용하는 것은 위험하다는 인식이 있다. 관리용 PC 또한 서버와

같이 악성코드에 노출될 경우 심각한 피해를 야기할 수 있으므로 인터넷을 사용하는 등의 행위에

대해서는 제한시키는 것이 필요하다. 또한 USB와 같은 이동형 매체를 통해서도 감염될 수

있으므로 윈도우 보안 업데이트와 최신버전의 백신을 이용한 주기적인 점검을 꾸준히

수행함으로써 악성코드에 감염되는 것을 최대한 예방하는 것이 필요하다.

(5) VPN 서비스 악용

공격자는 최대한 자신이 추적되지 않기를 원한다. 공격자가 자신을 숨기기 위해 주로 사용하는

방법이 해킹 경유지를 사용하는 것이며, 해킹 경유지를 확보하기 위해 사용하는 방법이 OS에서

제공하는 VPN 서비스를 악용하는 방법이다. VPN 서비스는 윈도우 서버의 경우 간단한

설정만으로 실행시킬 수 있다. 공격자는 먼저 취약한 서버(윈도우, 리눅스)를 해킹한 후 VPN

서비스를 실행시키고 VPN 서비스를 통해 해킹한 서버에 로그인한다. VPN에 로그인한 공격자가

다른 외부 네트워크에 접근할 경우 공격자의 IP는 VPN이 실행중인 서버의 IP로 변경되거나 서버와

동일한 네트워크 대역의 특정 IP로 변경되게 된다. 공격자가 VPN 서버를 통하여 또다른 서버를

공격할 경우 최종적으로 공격당하는 서버에서는 실제 공격자의 IP가 아닌 VPN이 실행되어

악용되고 있는 서버의 IP가 공격 IP로 확인되는 것이다.

운영중인 서버에서 VPN 서버가 악용중인지 여부를 확인할 필요가 있으며 그 방법은 다음과

같다. 윈도우 서버의 경우 [그림 5]과 같이 서비스 목록에서 'Routing and Remote Access' 항목이

자동 시작(또는 시작)으로 설정되어 있는지 여부를 확인하면 된다.

[그림 5] 윈도우 VPN 실행여부 확인 방법

또한 리눅스의 경우 [그림 6]과 같이 netstat 명령어를 통해 1723 port가 사용중인지 여부를

확인하면 된다.

Page 15: FOCUS FOCUS 1 주요 해킹기법과 대응 전략 · ・관리용 PC 해킹 ・가상사설망(VPN) 서비스 악용 ・윈도우 고정키(Sticky Key) 백도어 많은 도움이

Internet & Security Focus 2013 4월호20

FOCUS

다수의 해킹사례를 보면 공격자는 VPN 서비스를 실행시키고 추가적으로 루트킷을 설치하여

관리자가 VPN이 실행되고 있는지 여부를 확인할 수 없도록 하는 경우도 있다. 이 경우 VPN

서비스를 설정하는 기능이 정상동작하지 않거나, 레지스트리에 설정되는 VPN 서비스 인증관련

값이 정상적으로 확인되지 않는 현상이 나타난다. 루트킷의 경우 온라인상에서 쉽게 구할 수 있는

루트킷 탐지도구11)를 통해 루트킷 검사를 수행함으로써 가능하다. 일단, VPN 서비스가 악용되고

있다고 의심될 경우 VPN 서비스를 중지시키는 것 이외에 피해범위 확인을 위해 반드시 추가적인

상세 분석을 진행해야 한다. 공격자가 VPN 서비스를 실행시켰다는 것은 이미 공격자가 서버의

모든 권한을 획득했다는 것을 의미하며, 다른 기능의 악성코드들을 추가적으로 설치해 두었을

가능성이 많기 때문이다.

(6) Sticky Key 백도어

Sticky Key 백도어는 윈도우의 고정키 기능을 악용하는 해킹 기법이다. Sticky Key 백도어 또한

이름처럼 초기 단계의 해킹기법이 아닌, 1차적인 해킹 이후 서버에 대한 손쉬운 접근을 위해

추가적으로 설치해두는 백도어이다. 윈도우에서 고정키와 관련된 실행파일은 sethc.exe

(c:\Windows\system32)이다. 이 프로그램은 연속으로 shift키를 5번 클릭하게 되면 실행된다. 이

프로그램이 공격자들에게 악용되는 가장 큰 이유는 sethc.exe의 경우 정상적으로 OS에

로그인하지 않은 상태에서도 실행이 가능하기 때문이다. 즉, 계정으로 로그인하지 않은

상태에서도 shift키를 5번 클릭하게 되면 sethc.exe 프로그램은 실행된다. 공격자들은 이점을

악용하여 sethc.exe 프로그램 실행 시 악성코드가 실행되도록 설정함으로써, shift키를 5회 눌러

실행되는 악성코드를 이용하여 해킹 작업을 수행한다. 이후 공격자들은 계정 입력 없이도 서버의

권한을 쉽게 장악할 수 있는 것이다. 이 글을 읽고 있는 지금, 윈도우 서버를 운영중이라면 서버에

접속하여 shift키를 5번 입력해보고, 만약 [그림 7]과 같이 비정상적인 프로그램이 화면에

보인다면, 공격자가 설치해둔 백도어로 의심해 보아야 한다.

[그림 6] 리눅스 VPN 실행여부 확인 방법

1723 port를 사용하는 경우 1723 port를 사용하지 않는 경우

[oracle@]$ netstat -nlp | grep 1723 ↲

tcp 0.0.0.0:1723 0.0.0.0:* LISTEN

11758/pptpd

[oracle@]$ netstat -nlp | grep 1723 ↲

[oracle@]$

11) 루트킷 탐지도구로는 chkrootkit(리눅스), rkhunter(리눅스), iceword(윈도우), gmer(윈도우)가 있다.

Page 16: FOCUS FOCUS 1 주요 해킹기법과 대응 전략 · ・관리용 PC 해킹 ・가상사설망(VPN) 서비스 악용 ・윈도우 고정키(Sticky Key) 백도어 많은 도움이

Internet & Security Focus 2013 4월호 21

FOCUS

일반적으로 공격자들은 Sticky Key 백도어를 설치할 때 sethc.exe와 연결시키는 악성코드에

[그림 7]과 같이 password를 설정해 둔다. 이는 패스워드를 설정함으로써 어떠한 기능을

수행하는 악성코드인지를 숨길 수 있고, 또한 공격자 자신만이 사용할 수 있도록 제한할 수 있기

때문이다.

2. 해킹사고 현황관리

해킹사고 대응 역량 강화를 위해 인터넷침해대응센터 해킹대응팀이 연구를 진행하고 있는

해킹사고 현황관리시스템에 대해 소개하고자 한다. 해킹대응팀은 연간 수백건의 해킹사고를

분석하고, 분석결과로 도출되는 데이터를 체계적으로 관리하여 침해사고 대응역량을 강화하기

위해 활용하고 있다. 관리되는 데이터를 통해 공격자에 대한 정보와 공격 기법에 대한 정보,

그리고 피해 시스템에 대한 정보들을 체계적으로 분류한다. 분류된 데이터는 불규칙적으로

발생하는 해킹 사고의 유사점들을 확인하기 위해 사용되며, 공격자들의 공격 기법과 공격대상

변화의 추이를 분석하여 사고를 예방하고 효과적으로 대응하는데도 사용된다. 또한, 이렇게

집적된 데이터는 피해시스템들의 공통된 취약점 추정 및 분석이 가능하며, 공격자 추적 기법

연구에도 활용할 수 있다.

해킹대응팀은 분석정보들을 효율적으로 관리함으로써 사고의 연관성 및 공격의 트랜드를

분석할 수 있는 방안을 지속적으로 연구하고 있다. 해킹하고 현황관리를 통해 피해시스템 분석

시간 단축, 조기 원인파악 및 유사사고 예방이 가능하도록 해킹 대응역량을 강화할 계획이다.

Ⅳ. 대응전략 및 결론

해킹사고는 예방이 곧 대응이고, 또한 잘 대응하는 것이 곧 좋은 예방책이 된다. 무엇보다 가장

중요한 것은 언제든 해킹을 당할 수 있다는 전제를 가정하고 실제 사고가 발생했을 때 정확히 사고

[그림 7] Password가 설정된 고정키 악성코드

Page 17: FOCUS FOCUS 1 주요 해킹기법과 대응 전략 · ・관리용 PC 해킹 ・가상사설망(VPN) 서비스 악용 ・윈도우 고정키(Sticky Key) 백도어 많은 도움이

Internet & Security Focus 2013 4월호22

FOCUS

경위를 추적해 나갈 수 있도록 보안 정책을 운영해야 한다는 점이다. 해킹사고 사례를 분석해보면

기본적인 보안조치 조차 되어있지 않기 때문에 발생하는 사고도 많지만, 보안에 많은 노력을

기울였음에도 불구하고 발생하는 사고도 있다. 이미 해킹 사고가 난 시점 이후에는 사전에 얼마나

보안을 고려해서 시스템을 운영했는지가 아니라, 해킹 사고 경위를 추적할 수 있는 다양한

로그들을 얼마나 잘 관리하고 있는지가 가장 중요하다. 실제 해킹사고를 분석해보면 보안에 많은

노력을 기울인 시스템 환경에서도 정작 침투 경로를 추적하기 위한 핵심적인 로그들을 관리하고

있지 않아 사고 대응에 어려움이 많은 경우들이 있다. 해킹사고 분석의 핵심 목표는 공격자의 최초

침투경로를 찾는 것인데 추적할 수 있는 로그들이 관리되지 않을 경우 공격자가 지속적으로

해킹할 수 있는 통로는 여전히 존재하게 되며, 사고가 언제든 재발될 수 있다.

시스템 관리자들은 기본적으로 시스템 및 웹 접속 기록과 시스템이 자체적으로 기록하는 이벤트

로그, 그리고 내부 네트워크 환경에서 NAT 변환이 이루어질 경우 NAT 변환 로그들을

일정기간(최소 6개월 이상) 확보해야 한다. 또한, 이러한 로그는 운영중인 시스템의 로컬에

관리하는 것보다는 별도의 파일 서버로 전송하여 관리하는 것이 필요하다. 시스템 권한을 획득한

공격자는 추적을 피하기 위해 내부에 저장된 로그들을 삭제할 수 있기 때문이다.

만일 시스템 관리자가 해킹사고를 한국인터넷진흥원 또는 보안 전문 업체에 의뢰하고자 할

경우에는 다음 2가지를 반드시 유념해야 한다. 첫째는 정확한 분석을 위해서는 사고와 관련된

내용을 그대로 보존하는 것이 필요하다. 이는 정확한 분석 뿐만 아니라 신속한 분석을 위해서도

중요하다. 둘째는 정상적인 시스템 운영을 위해서 어쩔수 없이 해킹 관련 파일에 대한 조치를

진행해야 한다면, 조치하기 이전에 해당 파일에 대한 상세정보(파일위치, 파일명, 생성시점,

수정시점, 접근시점 등)를 별도로 기록한 후 파일을 이동시키는 등의 조치를 진행해야 한다. 이는

분석가가 해킹 사고에 대한 정황을 정확하게 파악하는 데에 필수적인 요소로 활용되기 때문이다.

실제 해킹사고를 분석할 때에는 시스템 관리자와 많은 대화가 필요하다. 그 이유는 분석가가

올바른 분석 결과를 도출하기 위해서는 시스템에 대해 가장 상세히 알고 있는 관리자의 도움이

필요하기 때문이다.

해킹은 많은 자원이 소모되는 활동이다. 경제적 관점에서 공격자는 관리되지 않는 시스템을

찾아서 최소한의 자원을 투입하여 원하는 목적을 달성하려 할 것이다. 즉, 지속적으로 관리되지 않는

시스템은 이미 공격자들에 의해 해킹되어 악용되고 있을 가능성이 있으므로 정기적으로 점검하는

것을 권한다. 또한, 하나의 취약한 시스템이 해킹될 경우 해킹된 시스템과 동일한 네트워크 대역에

위치하는 모든 시스템들 또한 위험에 심각하게 노출 된다는 사실을 늘 기억해야 한다.

마지막으로 본고의 목적에 대해 다시 한 번 언급하고자 한다. 본고는 최근 발생하는

Page 18: FOCUS FOCUS 1 주요 해킹기법과 대응 전략 · ・관리용 PC 해킹 ・가상사설망(VPN) 서비스 악용 ・윈도우 고정키(Sticky Key) 백도어 많은 도움이

Internet & Security Focus 2013 4월호 23

FOCUS

해킹사고에서 확인된 주요 해킹 기법에 대해 시스템 관리자들에게 적극 알리고 관리자 스스로

시스템을 점검해보도록 하는 것이 목적이다. 만일 점검과정에서 해킹 사실이 확인될 경우

피해범위 확인을 위한 상세분석을 추가적으로 수행해야 한다는 사실을 잊어서는 안된다.

한국인터넷진흥원 해킹대응팀에 분석 및 기술지원을 의뢰하고자 한다면 118 번호를 통해 신고가

가능하다.

참고문헌

한국인터넷진흥원, “PHP 웹쉘 분석 및 대응방안”

<http://toolbox.krcert.or.kr/MMBF/MMBFBBS_S.aspx?MENU_CODE=80&BOARD_ID=10>

한국인터넷진흥원, “업로드 취약점을 이용한 악성코드 유포 사례”

<http://www.krcert.or.kr/kor/data/accidentView.jsp?p_bulletin_writing_sequence=577#none>

한국인터넷진흥원, “가상사설망(VPN) 설정 후 경유지 악용 서버 피해사례”

<http://www.krcert.or.kr/kor/data/accidentView.jsp?p_bulletin_writing_sequence=563#none>

한국인터넷진흥원, “동기화 프로그렘(Rsync) 설정 오류로 인한 웹 서버 침해사고 사례”

<http://www.krcert.or.kr/kor/data/accidentView.jsp?p_bulletin_writing_sequence=1966#none>

한국인터넷진흥원, “홈페이지 SW(웹) 개발보안 가이드”

<http://www.kisa.or.kr/public/laws/laws3.jsp>

한국인터넷진흥원, “홈페이지 개발보안 안내서”

<http://www.kisa.or.kr/public/laws/laws3.jsp>

김태형, “서버 관리자님! 홈페이지 해킹, 이것부터 확인해 보세요”, 보안뉴스, 2013. 3. 7