보안 제품정보


[대한민국 보안진단-2]웹서비스 계획에서의 보안 적용 2011.12.22

지속적으로 늘어가는 해킹공격으로 인해 금융기관, 게임회사까지 공격자들에게 큰 타격을 받았다. 이처럼 대형 해킹공격으로 인한 사고가 끊임없이 발생하는 이유는 해킹공격이 점차 사회적 범죄화되고 있다는 것을 의미한다.


이런 상황에서 대한민국 보안은 새로운 변화를 요구하고 있다. 과연 대한민국 보안에 필요한 것은 무엇일까? 보안뉴스에서는 우리 보안환경에 정말 필요한 것은 무엇인지를 면밀히 살펴보고자 한다.


<순 서>

1. 보안적 상상력

2. 웹서비스 계획에서의 보안 적용

3. 보안담당자보다 범죄자가 더 무서워야 할 법

4. 누구나 사이버범죄자의 공범이 될 수 있다


[보안뉴스 오병민] 현재 국내에서 가장 문제가 되는 해킹 공격은 어떤 것일까? 농협 사이버테러나 넥슨 개인정보 유출 등의 대형 사고도 문제지만 웹사이트를 해킹해 개인 사용자들을 감염시켜 개인정보를 빼내는 공격이 끊이지 않고 있어 대표적인 문제로 떠오르고 있다.

 

이 같은 공격은 단지 개인 사용자의 정보수집 뿐만 아니라 주요사이트에 대해 끊임없이 다양한 해킹공격으로 대형사고를 일으키는 APT(Advanced Persistent Threat) 공격의 시발점이 될 수 있기에 더욱 심각성하다고 전문가들은 입을 모은다.


카스퍼스키가 전세계 해킹공격 현황을 공개하고 있는 시큐어리스트(http://www.securelist.com/)에 따르면 우리나라의 온라인 위협공격은 전 세계 4위로 파악되고 있다. 12월 4일에는 세계 2위까지 순위가 올라간 적이 있을 정도로 국내 인터넷 위협 공격은 매우 심각한 상황이다.


시큐어리스트의 한 달간 인터넷 위협 공격 도표를 살펴보면 공격은 주로 토요일과 일요일에 집중돼 있는 것을 살펴볼 수 있다. 이는 공격자들이 주말에 집중적으로 악성코드를 대량으로 유포하는 경향이 반영된 것으로 분석된다.

 

 ▲시큐어리스트에서 보고하는 대한민국의 악성코드 감염 상황과 전세계 악성코드 감염 상황 ⓒ카스퍼스키

 

여기서 기이한 현상은 악성코드 감염이 평일인 월요일부터 금요일 중에는 현저하게 적다는 것. 악성코드 감염이 주말에 크게 증가하는 것은 전세계적인 경향이지만 주중 감염이 현저하게 적은 것은 우리나라만 나타나는 특이현상으로 전세계 어느 나라에서도 나타나지 않는 현상이다.

 

▲중국과 러시아, 미국, 일본의 악성코드 감염 상황 ⓒ카스퍼스키


전문가들은 이 같은 기이한 현상이 악성코드 유포지로 인한 현상일 가능성이 높다고 이야기한다. 주말에만 악성코드를 대량으로 유포하고 평일에는 유포를 줄이는 계획적이고 조직적인 공격이 대한민국을 목표로 하고 있다는 것. 공격자들의 이 같은 계획은 월요일부터 관리자들이 웹사이트에 삽입된 유포 악성코드를 제거해 확산을 줄이는 경향을 반영한 것으로 파악되고 있다. 결국 대한민국 인터넷에서는 치열한 악성코드와의 전쟁이 진행 중이라는 것이다.


악성 공격자들의 악성코드 유포 과정

인터넷 상에서 악성코드 유포는 다단계로 진행된다. 악성코드 유포의 핵심은 웹 페이지에 존재하는 웹 취약점이다. 공격자들은 국내 대부분 사이트들이 SQL인젝션이나 XSS공격에 이용될 수 있는 웹 취약점을 가지고 있다는 것을 노리고 공격을 시도한다.


SQL인젝션 공격

홈페이지와 데이터베이스가 데이터를 주고받을 때 적절한 입력값 검증을 하지 않아 공격자가 주입한 SQL 명령문이 실행되면서 발생되는 공격이다. 예전에는 SQL인젝션 공격의 목적이 홈페이지의 인증우회나 내부정보 유출을 위한 것이었지만, 몇 년 전부터 나타나고 있는 SQL인젝션 공격은 자동 삽입 스크립트를 이용해 홈페이지에 대량의 악성코드를 삽입하기 위한 목적으로 이용되고 있다. 이 같은 특징을 보이는 공격은 매스 SQL 인젝션(Mass SQL Injection)이라고 불리기도 한다.

XSS(Cross Site Scripting) 취약점 공격

이 공격은 국내에서 이용되고 있는 공개게시판의 취약점을 주로 이용한다. XSS 공격은 콘텐츠를 암호화하거나 검증하는 절차 없이 사용자가 제공하는 데이터를 어플리케이션에서 받아들이거나 웹 브라우저로 보낼 때에 발생한다. 공격자가 피해자의 브라우저 내에서 스크립트를 실행함으로써 사용자 세션을 가로채거나, 웹 사이트를 손상하거나 악성코드나 악의적인 콘텐츠 삽입 등 다양한 행위를 할 수 있다.


이 같은 공격은 웹사이트를 악성코드 경유지로 만드는데 주로 이용된다. 악성코드 경유지는 개인정보나 계정정보를 탈취하는 악성코드를 가지고 있지는 않지만 이런 악성코드가 있는 사이트와 연결시키는 역할을 한다.


공격자는 우선 웹사이트의 웹취약점을 이용해 SQL인젝션이나 XSS공격으로 웹페이지에 특정사이트로 접속하게 아이프레임 코드를 삽입해 경유지 사이트로 만든다. 경유지에서 호출하는 웹페이지는 악성코드 유포지로 사용하는 웹브라우저나 플래시 버전을 체크해 보안패치가 되지 않아 악성 활동이 가능한 악성코드를 다운로드 시킨다.


다운로드 된 악성코드는 아이디와 패스워드를 탈취하는 기능을 가지고 있어 PC에 상주하다가 특정 사이트와 웹서비스 이용시 자동으로 계정정보를 탈취하거나 APT 공격을 위한 정보수집활동을 진행한다.

 

대기업이나 금융, 정부기관 등 주요사이트들도 안심할 수 없어

악성코드 유포지나 경유지로 해킹을 당하는 사이트들은 대부분 중소사이트나 커뮤니티, 개인사이트가 대부분이다. 그러나 보안이 잘돼 있는 대기업이나 금융, 정부기관 사이트들도 안심할 수 없다. 대형 사이트들도 개발이나 테스트에 이용된 웹사이트와 서버를  통해 해킹이 시도된 사례가 여러 차례 있었고 서비스가 중지돼 방치된 사이트들도 해킹 공격에 노출된 사례가 적지 않았다.


보안관제 업체의 한 관계자는 “테스트 사이트나 서비스가 중지돼 방치된 사이트들은 내부 보안정책에서 신뢰영역으로 구분되고 있지만 실제로 보안 시스템의 관할 밖인 경우가 적지 않았다”면서 “올해만 해도 정부기관 사이트와 대기업 사이트에서 방치된 사이트로 인한 해킹 흔적이 여러 차례 목격됐다”고 말한다.


전문가들은 이런 대형사이트와 연계된 개발사이트에서 허점이 나타날 경우 단순히 유포지나 경유지로 이용하지 않고 특별 관리해 대규모 정보 유출 후 내부 시스템을 파괴하는 APT 공격을 시도할 가능성이 있다고 경고한다.


악성코드 유포 공격 막으려면 웹서비스 계획에서의 보안 필요

이 같은 해킹사고는 매주 주말 끊임없이 나타나고 있으며 대다수의 웹사이트 관리자들은 악성스크립트를 삭제하는 작업으로 대처한다. 그러나 근본적으로 웹 취약점이 수정되지 않으면 이 같은 문제는 끊이지 않을 것이라고 전문가들은 이야기한다.

 

그러나 사이트 내 웹취약점을 모두 찾아 수정하는 것은 매우 힘든 일이다. 모든 소스코드를 일일이 살펴 취약점을 찾는 것 자체가 매우 어려운 일인데다가, 대부분 웹사이트들이 새로운 서비스와 기능을 늘리면서 코드가 복잡하게 엉키는 경우가 많아 취약점을 일일이 찾는 것은 거의 불가능에 가깝기 때문이다.


따라서 전문가들은 웹서비스를 계획할 때 보안을 중요한 요소로 반영시켜야 한다고 이야기한다. 개발 프로세스에서 보안을 적용시키는 시큐어 코딩을 진행하고 서비스를 오픈하기 전 품질관리(QA)에서 보안이 감사항목에 포함돼야 한다는 것. 더불어 서비스 오픈 후에도 정기적인 점검이 가능하도록 인력과 예산을 배치함과 동시에 개발이나 테스트에 이용된 웹사이트 및 서버에 대한 관리도 계획에 포함시켜야 한다.


보안업계의 한 전문가는 “웹서비스는 개발주기가 짧고 개편도 수시로 이뤄지기 때문에 계획단계에서부터 보안이 고려되지 않으면 수시로 나타나는 보안문제에 대응하기 매우 힘들다”면서 “사이트 개편이나 서비스 수정 및 보강 계획에도 웹 취약점 점검 도구를 이용해 보안을 고려하는 과정을 포함시키지 않으면 언젠가는 공격자들의 끊임없는 공격의 피해자가 될 수 있다”고 주장했다.

[오병민 기자(boan4@boannews.com)]


<저작권자: 보안뉴스(http://www.boannews.com/) 무단전재-재배포금지>