제로 데이 공격

**제로 데이 공격**(또는 **제로 데이 위협**, Zero-Day Attack)은 컴퓨터 소프트웨어의 취약점을 공격하는 기술적 위협으로, 해당 취약점에 대한 패치가 나오지 않은 시점에서 이루어지는 공격을 말한다. 이러한 시점에서 만들어진 취약점 공격(익스플로잇)을 **제로 데이 취약점 공격**이라고도 한다.

패치를 발표할 시간이 없기 때문에 제로 데이 공격이라는 이름이 붙었다.

제로 데이 공격은 대상물이 되는 프로그램의 공식적인 패치가 배포되기 전에 감행된다. 이런 프로그램들은 보통 대중들에게 공개되기 전 공격자들에게로 배포된다.

“제로 데이”라는 단어는 와레즈에서 공개일 이전 혹은 당일 배포되는 해적판 소프트웨어를 지칭하기도 한다.

## 공격 매개 요소
맬웨어 제작자들은 제로 데이 대상물의 취약점을 여러 가지 경로로 공략할 수 있다. 예를 들면, 사용자들이 허위 (혹은 블랙햇) 웹 사이트에 접근할 때, 사이트의 코드가 웹 브라우저의 약점을 파고들 수 있다. 널리 사용된다는 점에서 웹 브라우저는 특히 더 대상이 되곤 한다. 해커들은 첨부 파일을 엶으로 인해 프로그램의 약점에 파고들 수 있는 SMTP를 통해 이메일을 보내기도 한다. 특정 파일 타입을 더 선호하는 공격자들도 상당히 많은데, 이는 US-CERT 같은 데이터베이스에 그들의 출현 빈도가 증가하는 것에서 알 수 있다. 악의를 가진 사용자는 멀웨어를 만들어 이런 파일 타입의 프로그램을 이용, 시스템을 공격하거나 기밀 데이터를 훔칠 수 있다.

## 무방비 시간대
제로데이 공격은 무방비 시간대가 위협이 개시된 시점과 프로그램 제작자가 패치를 내놓는 시점 사이에 존재할 때 일어난다.

바이러스에 있어서, 트로이 목마나 다른 제로데이 공격의 경우, 무방비 시간대는 다음과 같은 전개를 보인다.
* 새로운 위협/대상 프로그램의 출현
* 새로운 공격 프로그램의 발견과 연구
* 새로운 해결책의 개발
* 패치 또는 공격 프로그램을 잡을 수 있는 업데이트된 서명 패턴의 발표
* 사용자의 시스템에 패치의 배포와 설치, 또는 바이러스 데이터베이스 업데이트

이러한 전개는 몇 시간에서 며칠까지 이어질 수 있으며, 이동안 네트워크는 이른바 **무방비 시간대**를 통과하게 된다. 한 리포트에 따르면 2006년의 무방비 시간대는 28일 정도로 추정하고 있다.

## 보호
**제로데이 보호**란 제로데이 공격에 대항하여 대상 프로그램을 보호할 수 있는 능력을 말한다. 제로데이 공격은 개시된 이후에 며칠간 발견이 되지 않을 수 있다.

제로데이 메모리 훼손 취약점을 제한하는 수많은 기술들이 존재하며, 그 예로는 버퍼 오버플로가 있다. 이러한 보호 메커니즘은 애플의 매킨토시 OS, 마이크로소프트 윈도우 비스타 Security_and_safety_features_new_to_Windows_Vista, 선 마이크로시스템 솔라리스, GNU/리눅스, 유닉스, 그리고 유닉스 계열 환경 등 많은 운영 체제에 존재한다. 마이크로소프트 윈도우 XP 서비스팩 2에는 포괄적인 메모리 훼손 취약점에 대한 약간의 보호 메커니즘이 포함되어 있다. 데스크탑과 서버 보호 소프트웨어 역시 제로데이 버퍼 오버플로 취약점을 완화시키기 위해 만들어져있다. 

포트 노킹 또는 단일 패킷 권한 데몬의 사용은 제로데이 공격에 대항하는 효과적인 보호막을 만들 수 있다. 하지만 이런 기술들은 대량의 사용자가 참여하는 환경에는 적절하지 않은 것이다.

화이트리스팅 기술도 제로 데이 위협을 효과적으로 막는다. 화이트리스팅은 좋은 것으로 알려진 프로그램 또는 기관의 시스템 접속만을 허가하며, 그로 인해 새롭거나 알려지지 않은 공격 프로그램은 접속이 차단된다. 화이트리스팅이 제로데이 공격을 막는 좋은 방법이긴 하나, HIPS나 바이러스 사전의 블랙리스트 같은 다른 보호 기법과 병행되지 않으면, 사용자에게 불편을 줄 수 있다.

제로데이 긴급 반응 팀, 또는 ZERT는 제로데이 공격을 막는 비 제작자 패치를 배포하기 위해 결성된 소프트웨어 엔지니어들의 집단이다.

제로데이 공격을 막는 또다른 방법으로는 제품을 업그레이드하기 전에 적당한 기간을 기다리는 것이다. 보통 소프트웨어 배포자는 제때에 공격이 일어났음을 사용자들에게 알리곤 한다. 그러고 나서는 업그레이드/업데이트에 패치가 포함된다.

## 윤리
제로데이 취약점 정보의 수집과 사용에 관해서는 여러 가지 의견이 존재한다. 다수의 컴퓨터 보안 프로그램 제작자의 경우 취약점의 특성과 그것들이 개인, 컴퓨터 웜, 바이러스 등에 의해 악용되는 경우를 더 잘 이해하기 위해 제로데이 취약점에 관한 연구를 한다. 그 외에도, 몇몇 제작자들의 경우  자신의 연구 역량을 키우기 위해 취약점을 구매하기도 한다. 그런 프로그램의 예로는 TippingPoint's Zero Day Initiative 가 있다.  이런 취약점을 사고 파는 행위는 대부분의 지역에서 합법이지만, 그것을 발표하는 방법에 있어서는 많은 논란이 있다. 최근 독일에서는 사이버범죄 집회의 6조항을 포함하도록 판정을 내렸으며, EU의 정보 시스템 공격에 대한 프레임워크 결정 역시 취약점의 판매나 제작을 불법화할 가능성이 있다.

가장 공식적인 방법으로는 RFPolicy 발표 가이드라인을 따르거나 더 최근에 나온 OIS 보안 취약점 보고와 반응의 가이드라인 을 따르는 것 등이 있다. 일반적으로 이런 가이드라인은 취약점의 공개 전에 제작자에게 알리지 않거나 패치 제작이 이루어질 수 있는 적당한 시간을 기다리는 것을 의무화하고 있다.

## 해적판 소프트웨어
**제로데이 와레즈**는 대중에게 배포된 당일날 불법적으로 공개되거나 획득한 소프트웨어, 비디오, 음악, 또는 정보를 가리킨다. 공식 배포 전에 얻은 데이터의 경우엔 ‘네거티브 데이’ 또는 ‘-데이’ 라고도 한다. 제로데이 소프트웨어, 게임, 비디오나 음악은 공식 배포일 당일날 불법적으로 얻었거나 불법적으로 복사한 것들을 말한다. 이런 것들은 일반적으로 해커나 유통사의 직원에 의해 일어나는 일이다.

## 같이 보기
* 접속 제어
* 침입 차단 시스템
* 네트워크 접속 보호
* 네트워크 접속 제어
* 네트워크 허가 제어

## 각주

## 참고
* Messmer, Ellen, ''Is Desktop Antivirus Dead?'' (영어) , *PC World*, 4월 6일, 2007.
* Naraine, Ryan, ''Anti-Virus Is Dead, D-E-A-D, Dead!'' (영어), *eWeek*, 12월 1일, 2006.

## 외부 링크
* 일반 취약점과 노출 데이터베이스 (영어)
* US-CERT 취약점 데이터베이스 (영어)
* 제로데이 취약점 모음 (영어)  by eEye
* 프로그램들에 관한 권고 리스트 (영어) 현재 패치되지 않은 취약점들의 리스트, by Secunia
* 공개 취약성 즉시 공략하는 ‘제로 데이’ 공격 확산 (영어)
* 제로데이 공격의 예:
** 공격자들 워드의 새 제로데이의 기회를 잡다 (영어) from InfoWorld
** 파워포인트 제로데이 공격은 기업 간첩 행위의 결과일 수 있어 (영어) from FoxNews
** 마이크로소프트 워드 제로데이 공격 경고를 선포 (영어) from eWeek

분류:취약점 공격
분류:컴퓨터 보안
분류:네트워크 보안
분류:와레즈
분류:컴퓨터 바이러스