백신 Vs 바이러스 - 끝없는 싸움을 시작하다

2013-07-29 00:00
  • 카카오톡
  • 네이버 블로그
  • url
세계적 언론사 뉴욕타임스의 정보유출, 중동지역 국가기관을 상대로 다년간 정보유출을 시도한 악성코드 ‘플레임’, 소니와 해커들 간의 대결, 주요 IT기업의 기밀 탈취 공격인 ‘오퍼레이션 오로라’, 이란 원전 시스템을 노린 스턱스넷 악성코드, 그리고 최근 국내 방송사와 금융기관을 노린 3.20 사이버테러까지 현재 온라인은 APT 공격으로 대변되는 위협에 직면하고 있다. 여기서 주목할 것은 이런 APT 공격의 출발은 악성코드(컴퓨터 바이러스)라는 점이며, 악성코드를 진단·치료하는 것이 바로 우리가 흔히 알고 있는 백신 프로그램이다.


차 민 석 │ 안랩시큐리티대응센터 책임연구원(minseok.cha@ahnlab.com)


컴퓨터 바이러스 등장과 대응 프로그램의 등장

1980년 대 말 컴퓨터 바이러스가 유행하면서 이에 대항하기 위한 여러 가지 형태의 소프트웨어 혹은 하드웨어가 개발되었다. 로스 그린버거(Ross Greenberg)의 플루샷 플러스(Flushot Plus) 등으로 대표되는 수상한 행동을 알려주는 행위기반 방지 프로그램이나 컴퓨터 바이러스에 감염되면 파일 내용이 변경되므로 파일 내용 변화를 체크 섬으로 검사해주는 프로그램 등이 이때 등장했으며, 몇 가지 특정 컴퓨터 바이러스의 감염 여부를 확인하는 값을 미리 주입해 감염을 막는 면역 기능도 이용되었다.

하지만, 행위기반 방지 프로그램이나 체크 섬 기반 프로그램은 사용자가 악성 유무를 판단해야 하거나 감염 여부만 확인할 수 있는 프로그램이며, 특정 악성코드 감염 방지 방법은 특정 컴퓨터 바이러스가 널리 유행할 때 이용하면 도움이 되지만, 감염 방지가 가능한 컴퓨터 바이러스는 매우 한정적이라는 문제가 있다.

이런 상황에서 등장한 것이 바로 시그니처 기반의 검사 프로그램이다. 이 프로그램들은 오진의 가능성이 상대적으로 낮고 사용자가 감염 여부를 파악할 수 있어 가장 사랑을 받고 사용되고 있다. 일반적으로 많이 사용하는 대부분의 컴퓨터 바이러스 백신 프로그램은 시그니처 기반의 검사 프로그램이다. 현재 가장 널리 이용되는 방식은 악성코드 여부를 확인해주는 검사 프로그램으로 흔히 국내에서는 백신(Vaccine) 프로그램, 외국에서는 안티바이러스(Antivirus) 프로그램으로 불린다. 지금은 행위 차단 및 무결성 검사 프로그램은 독립적인 형태가 아니라, 백신 프로그램의 일부 기능으로 존재한다.


백신의 바이러스 검사 및 대응 방법

백신 프로그램은 기본적으로 파일이나 메모리 등에서 특정 악성코드에만 존재하는 문자열 혹은 값을 비교하는 방식이었다. 일반적으로 파일에 바이러스에 감염되면 정상 프로그램(P)에 바이러스(V)가 파일 앞이나 뒤에 추가되고, 파일 헤더(H)가 변경되어 바이러스가 우선 실행되게 된다. 바이러스가 겹쳐 써지는 겹쳐 쓰기형도 존재하지만, 수가 적고 마찬가지로 바이러스가 먼저 실행된다.


바이러스 감염 전후

HPPPPPPPPPPPPPP(정상 프로그램)

→ 바이러스에 감염 된 후의 프로그램 변화


VPPPPPPPPPPPPPP(겹쳐쓰기 바이러스)

HPPPPPPPPPPPPPPV(후위형 바이러스)

HVPPPPPPPPPPPPPP(전위형 바이러스)

(H : 헤더, P : 프로그램, V : 바이러스)


검사 프로그램은 파일을 분석해 알려진 파일 구조 여부를 판단한다. 알려진 파일구조라면, 프로그램 바이러스가 존재할 만한 파일 처음이나 끝 같은 위치나 프로그램 시작 흐름을 추적하는 등의 방식으로 바이러스가 띠는 문자열을 비교한다.


예를 들어 Win95/Mad 바이러스의 문자열은 아래와 같이 시작된다.

E8 00 00 00 00 5F 8B C7 2D 05 22 00 00 81 EF 05 30 40 00 89 87 3C 30 40 00 89 AF 40 30 40 00


바이러스 시작 코드에서 16바이트인 ‘E8 00 00 00 00 5F 8B C7 2D 05 22 00 00 81 EF’를 진단 문자열로 선정해, 대상 파일에서 해당 문자열이 존재하는지 확인한다. 이후 암호화 바이러스와 다형성 바이러스가 등장해서 X레이 진단, 에뮬레이터 내장 등의 변화가 있었지만 모두 문자열 진단을 기본으로 한다.

1995년 윈도우95가 발표되고 도스를 대체해 사용되면서 바이러스도 대변화했다. 활동 플랫폼은 도스에서 오피스 문서, 윈도우로 전이되었고, 악성코드 종류도 바이러스에서 웜, 트로이목마(이때부터 악성코드란 표현이 널리 사용) 등의 형태로 다양해졌다. 상대적으로 작성이 어려웠던 어셈블리로 만들어진 바이러스가 줄고, 편리한 고급언어로 개발한 악성코드가 유통되었다. 과거와 다르게 파일 자체가 악성코드로 단순 문자열 비교 방식으로는 달라진 악성코드를 효과적으로 진단 할 수 없어, 고급언어로 작성된 트로이목마나 웜을 진단할 때는 해시(Hash)를 이용한다.

예를 들어 다음 값을 진단할 때 문자열을 이용할 경우 10바이트가 필요하다.

00 01 02 03 04 05 06 07 08 09


하지만, 10바이트를 모두 더하는 연산을 거치면 00 2D라는 값을 가진다. 00 2D라는 값만 비교하면 되므로 진단 데이터의 크기가 줄어든다. 물론 실제 해시 값을 얻는 방법은, 앞서 제시한 단순히 더하기만 사용되지는 않으며 백신 제품마다 다르다.

시그니처 방식의 백신 프로그램의 가장 큰 한계는 알려진 악성코드만 진단할 수 있다는 점이다. 악성코드가 급격히 증가하면 좋은 효과를 얻기 힘들다는 문제점이 있지만, 다행히 악성코드 제작자들은 매번 새로운 악성코드를 만들 수 없다. 하나의 악성코드를 제작하면 그 소스를 바탕으로 조금씩 수정해 새로운 변형이 수천, 심지어 수만 개 이상 등장하기도 한다. 단순 시그니처 기반으로 할 경우 시그니처 수는 악성코드 수만큼 증가한다.

백신 업체는 시그니처 크기 절약과 알려지지 않은 변형을 진단하기 위해 포괄 진단(Generic Detection)과 휴리스틱(Heuristic)을 개발했다. 흔히 포괄 진단과 휴리스틱이 혼용되는데, 포괄 진단은 이미 알려진 악성코드의 특징에서 유사 변형을 진단하는 방식이며, 이에 비해 휴리스틱은 검사 대상의 코드나 행동을 분석해 악의성을 유추한다. 포괄 진단은 오진 가능성이 적지만 진단 가능 악성코드 범위는 한정적이며, 휴리스틱은 진단 가능한 악성코드는 증가하지만 오진 가능성도 급격히 커진다.

악성코드 제작자들은 백신 프로그램을 테스트해 자신의 악성코드가 백신에 진단되지 않는 걸 확인하고 퍼뜨린다. 이처럼 악성코드 제작자와 백신 제작자 사이의 전쟁은 끊임없이 발생하고 있다.

백신 기술은 초기 PC용에서 서버뿐 아니라 모바일 보안 솔루션, 네트워크 보안 장비 등에도 탑재되기에 이르렀다. 이로써 최근 각광받는 BYOD(Bring Your Own Device) 환경에 맞는 보안 대책을 제공하고, 사전 방역으로 최신 APT(지능형 보안 위협 ; Advanced Persistent Threat) 공격 대응에 핵심적 역할을 해내고 있다.


백신에 대한 오해와 진실

‘백신’은 외국에서는 안티바이러스(Anti-Virus)라는 이름으로 불리고 있다. 백신이라는 이름은 1988년 안철수 박사가 국내에서 최초로 안티바이러스 소프트웨어를 만들며 붙인 ‘백신’이라는 이름이 일반 명사화되어 시작된 것이다.

기본적으로 알아야 할 사실은 백신은 알려지지 않은 악성코드(Unknown)에 대한 선제적 예방(Proactive) 솔루션이 아닌 ‘알려진 악성코드’에 대한 대응적(Reactive) 방어책이라는 것이다.

일반적으로 백신은 각 업체에서 분석한 악성코드의 정보를 바탕으로 악성코드들의 ‘블랙리스트’를 만들고, 이를 백신에 반영한다. 이를 기반으로 백신이 설치된 PC를 스캔하고 블랙리스트에 해당하는 악성코드를 검출해내는 방식을 사용한다. 즉, 백신의 대응은 ① 새로운 악성코드 접수 및 수집, ② 악성코드 분석, ③ 악성코드 리스트 업데이트 및 백신 엔진에 업데이트하는 단계를 거친다. 대부분의 경우, 악성코드 접수에서 엔진 반영까지의 시간차가 발생할 수밖에 없다. 따라서 백신 설치로만 모든 악성코드와 보안 위협을 모두 막을 수 있다는 생각은 금물이다.

일례로, 2013년 초 미국의 뉴욕타임스(NYT)가 해커의 공격을 당했을 때, 백신을 공급하고 있었던 글로벌 시장 점유율 1위 회사는 내부에 침투한 악성코드 45개 중 1개밖에 잡아내지 못했다. 이것은 해당 기업의 대응력이 부족해서가 아니라, 특정 기업이나 기관을 노린 해커가 해당 백신이 진단하지 못하는 특화된 악성코드를 제작했기 때문이다. 쉽게 말해 공격자는 타깃으로 삼은 기업의 백신제공회사가 잡지 못하는 악성코드를 찾아낸 후, 그 악성코드로 공략했다는 것이다. 국내만 보더라도 하루 평균 15~50만개 사이의 신·변종 악성코드가 만들어지고 있다. 이 때문에 백신회사는 매일 악성코드와의 전쟁을 치르고 있다.

이처럼 해커는 이미 사전에 목표 기관에 대한 조사를 실행하고, 목표기관이 사용하고 있는 백신이 자신의 악성코드를 진단하는지 못하는지 테스트하는 치밀함을 보여준다. 이것이 APT 방식 공격의 무서운 점이다. APT 방식의 공격자는 목표기관의 보안 시스템에 대한 정보를 수집하고 이를 피하기 위해 지속적인 시도를 한다.


백신 무용론의 진실

이러다 보니, 일각에서는 APT 공격에 대해 백신이 소용없다는 ‘백신 무용론’마저 등장하고 있다. 하지만 이는 대단히 위험한 발상이다. 백신은 이미 알려진 보안 위협에 대한 기본적인 방어책이다. 백신이 없다면 인터넷에서 쉽게 구할 수 있는 매우 낮은 단계의 해킹 툴 등에도 개인의 PC나 조직의 방어막이 쉽게 뚫려버릴 수 있다. 쉬운 예를 들자면, 몇 번 도둑을 맞았다고 현관의 자물쇠를 없애버리는 것과 같은 행위이다. 참고로 현재 악성코드의 숫자는 기하급수적으로 늘어 현재 하루에도 수십만 개씩의 새로운 악성코드가 보고되고 있다.

또한, 3.20 사태와 같이 최근의 APT 공격은 기업 및 조직의 서버나 네트워크에 직접 침투하는 것이 아니라 개인 PC에 먼저 침투하고, 내부 중요 IT인프라에 침입하는 방식이 주를 이루고 있다. 이러한 경향에 기반해 많은 전문가들이 최초 감염단계가 APT 공격에서는 매우 중요한 포인트라고 지적하고 있다. 따라서 ‘백신무용론’은 백신이 소용없다는 것이 아니라, ‘백신만으로는 부족하다’라는 의미로 이해해야 한다.

백신은 만병통치약이 아니다. 보안에 있어서 100%란 있을 수 없다는 것이 전문가들의 공통된 지적이다. 따라서 지속적으로 자신의 PC를 지키는 것이 사회 보안을 지키는 것이라는 생각으로, 의심스러운 메일 및 URL 클릭 자제, 소프트웨어 보안 패치 설치, 백신 업데이트 등 기본적인 보안 수칙을 실행하는 것이 중요하다.

최근 들어 수년간 잦은 전산망 마비와 정보유출 사고들은 최신 솔루션과 장비의 구축만으로 종결되는 것이 아니다. 제대로 된 보안 시스템 구축과 더불어 개인과 기업의 보안책임자, 그리고 경영진의 보안에 대한 명확한 이해에 기반한 보안문화가 뒷받침되어야 실제적인 방어가 가능하다.

PC & SNS 보안 10계명

1. 마이크로소프트 업데이트 웹 사이트를 통해 시스템에 설치된 윈도우 운영체제, 인터넷 익스플로러 및 오프스 제품에 존재하는 취약점을 제거하는 보안 패치를 모두 설치한다.

2. 페이스북, 트위터 등 SNS를 이용할 때 잘 모르는 사람이 보낸 쪽지나 메시지, SNS 페이지에 있는 단축 URL(웹 문서의 각종 서비스를 제공하는 서버들에 있는 파일의 위치를 표시하는 표준) 등을 함부로 클릭하지 않는 게 좋다.

3. SNS나 온라인게임, e메일의 비밀번호를 1개월에 1번 정도 변경하고, 영문·숫자·특수문자 등을 조합해 8자리 이상으로 설정하는 게 좋다. 로그인 아이디(ID)와 비밀번호를 동일하게 설정하지 않는 것은 ‘기본 중의 기본’이다.

4. 메신저로 URL이나 파일이 첨부돼 올 경우 함부로 클릭하거나 실행하지 않아야 한다. 실제로 국내에서도 URL이나 파일을 클릭하거나 아는 사람으로부터 “은행 계좌로 자금을 이체해 달라”는 메신저 메시지를 받은 뒤 돈을 넣었다가 낭패를 당한 사례가 있다는 사실을 명심해야 한다.

5. 자주 사용하는 컴퓨터 시스템에는 방화벽과 백신 등이 포함된 통합 보안 제품을 반드시 설치하는 게 좋다. 대표적인 보안 소프트웨어로는 무료백신 V3 Lite(www.V3Lite.com), 방화벽과 백신이 통합된 유료 보안 서비스 ‘V3 365 클리닉’(http://V3Clinic.ahnlab.com) 등이 있다. 악성코드를 유포하는 웹사이트에 접속할 경우 감염되지 않도록 예방해주고사기 사이트 및 피싱 사이트를 차단하는 ‘사이트가드(www.SiteGuard.co.kr)’ 등 웹 브라우저 보안 소프트웨어를 같이 설치하는 것이 중요하다.

6. 사용 중인 컴퓨터 시스템에 설치된 백신을 항상 최신 버전으로 업데이트하고, 실시간 감시를 켜두는 것이 중요하다. 설치 후 항상 최신 버전의 엔진으로 유지되도록 부팅 후 자동 업데이트되게 하고, 시스템 감시 기능이 항상 작동하도록 설정한다.

7. 이메일 확인 시 발신인이 모르는 사람이거나 불분명한 경우 유의한다. 특히 제목이나 첨부 파일명이 선정적이거나 관심을 유발한 만한 내용인 경우 함부로 첨부 파일을 실행하거나 링크 주소를 클릭하지 않는다. 저장 후 최신 엔진으로 업데이트된 백신을 통해 먼저 검사를 한 후 실행 하도록 한다. 최근 페이스북, 트위터 등 SNS(소셜 네트워크 서비스)를 사칭한 이메일이 많으니 특히 유의한다.

8. 웹 서핑 시 특정 프로그램을 설치하라는 창이 뜰 때는 신뢰할 수 있는 기관의 서명이 있는 경우에만 ‘예’를 클릭한다. 잘 모르는 프로그램을 설치하겠다는 경고가 나오면 ‘예’, ‘아니오’ 중 어느 것도 선택하지 말고 창을 닫는다.

9. P2P 프로그램 사용 시 파일을 다운로드할 때는 반드시 보안 제품으로 검사한 후 사용한다. 또한 악성코드로 인해 폴더가 오픈되지 않도록 주의한다.

10. 정품 소프트웨어를 사용한다. 인터넷에서 불법 소프트웨어를 다운로드하는 경우 악성코드가 함께 설치될 가능성이 높다.

[월간 시큐리티월드 통권 제198호(sw@infothe.com)]


<저작권자 : 시큐리티월드(www.securityworldmag.co.kr) 무단전재-재배포금지>

헤드라인 뉴스

TOP 뉴스

이전 스크랩하기


과월호 eBook List 정기구독 신청하기

    • 다누시스

    • 인콘

    • 제네텍

    • 핀텔

    • 아이비젼

    • 아이디스

    • 씨프로

    • 웹게이트

    • 씨게이트

    • 하이크비전

    • 한화비전

    • ZKTeco

    • 비엔에스테크

    • 비전정보통신

    • 원우이엔지

    • 지인테크

    • 홍석

    • 이화트론

    • 지오멕스소프트

    • 테크스피어

    • 휴먼인텍

    • 슈프리마

    • 인텔리빅스

    • 시큐인포

    • 미래정보기술(주)

    • 동양유니텍

    • 프로브디지털

    • 트루엔

    • 경인씨엔에스

    • 세연테크

    • 성현시스템

    • 엔텍디바이스

    • 위트콘

    • 아이원코리아

    • 다후아테크놀로지코리아

    • 한결피아이에프

    • 스피어AX

    • 구네보코리아주식회사

    • 포엠아이텍

    • 넥스트림

    • 안랩

    • 쿼드마이너

    • 팔로알토 네트웍스

    • 엑스퍼넷

    • 이글루코퍼레이션

    • 신우테크
      팬틸드 / 하우징

    • 에프에스네트워크

    • 네티마시스템

    • 케이제이테크

    • 알에프코리아

    • 일산정밀

    • 아이엔아이

    • 미래시그널

    • 새눈

    • 이스트컨트롤

    • 현대틸스
      팬틸트 / 카메라

    • 인더스비젼

    • 주식회사 에스카

    • 솔디아

    • 지에스티엔지니어링
      게이트 / 스피드게이트

    • 보문테크닉스

    • 에이앤티글로벌

    • 한국아이티에스

    • 케비스전자

    • 레이어스

    • 모스타

    • 넥스텝

    • 엘림광통신

    • 이엘피케이뉴

    • 포커스에이아이

    • 신화시스템

    • 글로넥스

    • 메트로게이트
      시큐리티 게이트

    • 세환엠에스(주)

    • 유진시스템코리아

    • 카티스

    • 유니온바이오메트릭스

Copyright thebn Co., Ltd. All Rights Reserved.

시큐리티월드

IP NEWS

회원가입

Passwordless 설정

PC버전

닫기