최근 유명 커뮤니티 C사 웹사이트에서 악성코드가 유포돼 접속자가 자신도 모르는 사이 본인 PC 파일이 암호화되고 암호해제를 위해서는 돈을 내라는 랜섬웨어 공격을 당한 바 있다. 미래창조과학부가 개최한 제6차 정보통신기술(ICT)정책 해우소에서도 보안전문가가 선택한 보안문제로 드라이브 바이 다운로드(Drive by download)가 뽑혔다. 드라이브 바이 다운로드란 웹사이트 접속 시 웹브라우저와 플러그인의 취약점을 이용해 사용자가 몰래 악성코드를 유포하는 공격방식이다.
한국인터넷진흥원(KISA)에 따르면 국내는 하루에도 500여개 웹사이트가 악성코드 유포공격에 악용되고 있다.
악성코드를 직접 유포하는 웹사이트를 유포지라고 하며, 이러한 유포지로 연결시켜주는 모든 웹사이트를 경유지라 한다. 최근 해킹은 경유지를 주로 활용하는데 관리가 잘 된 웹사이트도 직접적인 악성코드 없이 유포지 링크만 삽입된다면 즉시 알아차리기 어렵다. 게다가 알아차리기 전까지 짧게는 수일, 길게는 수년이 걸릴 수도 있다.
이러한 이유로 공격자는 보다 많은 웹사이트들을 경유지로 이용하려고 노력한다. 중요한 것은 어느 순간 자신도 모르게 우리 웹사이트가 악성코드를 유포하거나 유포하는 통로로 악용될 수 있다는 것이다.
웹사이트 악성코드 유포지화나 경유지화를 막기 위한 대응방법은 무엇일까. 실제 현장과 전문가그룹 성향에 따라 다양한 대응방법이 있으나 일반적인 시스템대응 측면에서 크게 네트워크, 웹서비스 그리고 클라이언트 세 가지 영역에 대한 대응으로 구분할 수 있다. 첫째, 네트워크 영역에서는 웹방화벽(WAF), 침입방지시스템(IPS) 등이 사용된다. 웹방화벽은 악성이나 악성으로 의심되는 웹트래픽 프락시검사를 시행한다. 침입방지시스템은 시그니처 기반 네트워크 트래픽 검사로 악성코드를 차단한다. 둘째, 웹서비스 영역은 개발단계에서부터 시큐어코딩을 적용해 보안성을 강화하고 취약성을 제거하는 방식으로 주로 서버 사이드에서 악성코드를 예방한다. 마지막 클라이언트 영역은 대부분 안티바이러스를 사용한다.
이외에 KISA에서 배포중인 휘슬, 캐슬이나 보안인식제고, 정기적인 웹 취약성 점검, 모의해킹, 주기적인 사이트점검 등이 있다.
이처럼 다양한 방법이 실행되고 있으나 웹 환경의 급격한 발달에 따라 앞서 구분한 네트워크, 서비스, 클라이언트 레벨 대응방법은 한계에 부딪히게 마련이다. 기존 방법은 대부분 패턴, 시그니처 기반으로 악성코드를 탐지한다. 이 때문에 지능적으로 이를 회피할 수 있는 제로데이 패턴, 알려지지 않은 악성코드로 공격을 실행하면 모두 방어에 실패할 수밖에 없다. 우리나라는 특정 브라우저를 기반으로 웹서비스가 개발되고 제공된다. 이런 상황에서는 지속적인 패치와 업데이트가 반드시 필요하다. 소홀히 하면 의도치 않게 악성코드를 유포하거나 배포하는 피해를 당할 수밖에 없기 때문이다.
한계를 극복할 방안은 없을까. 냉정하게 말하면 최근 심각한 문제로 떠오른 악성코드 유포지화, 경유지화를 100% 막아낼 수 있는 마법의 솔루션은 존재할 수 없다. 대신 좀 더 지능적이고 효과적인 전략으로 공격자 시도를 선제적으로 탐지하고 차단할 수 있다면 악성코드 확산과 유포를 최소화할 수 있을 것이다. 웹사이트 내 악성코드 다운로드 URL, 드라이브 바이 다운로드 링크를 자동 점검하고 동적 분석이 반드시 필요하다. 현재 서비스하고 있는 우리 웹사이트가 언제 악성코드 유포지나 경유지가 될지 알 수 없는 것이 현실이다. 공격자보다 한발 앞서 웹사이트를 보다 자주, 그리고 주기적으로 점검하고 의심스러운 URL이나 링크를 즉각 제거할 수 있도록 대비책을 실행해야 할 것이다.
김흥민 더보안 부사장 heungmin@theboan.com