제로데이(Zero-day, 0-day)
시스템 보안과 취약점 기사를 보면 제로데이라는 용어가 자주 등장한다. 그리고 제로데이의 위험도와 영향도에 따라 긴급한 시스템 패치가 발생하기도 한다. 제로데이가 무엇인지 알아보자.
제로데이
제로데이는 보안을 위협하는 취약점이 공표된 날을 의미한다.
제로데이라는 용어는 원래 새로운 소프트웨어가 출시된 일 수를 언급할 때 사용하는 용어였다. 예를 들어, 신규 게임이 발표된 날은 0-day, 발표된 다음 날은 1-day 인 것이다. 그리고 이 용어는 보안 취약성을 알리고 이를 수정하는 날 수에 적용되었다. 다시 예를 들면, 보안 취약점이 공표된 날은 0-day, 공표된 다음 날은 1-day이다.
그리고 공표된 취약점이 제로데이부터 발생하는 것이 아니다. 제로데이로 알려진 것 뿐이다. 따라서 취약점은 제로데이 이전부터 유효한 상황인 것이고 소프트웨어는 이미 위협받고 있는 상황일 수도 있다.
참고로 발음은 Zero Day 또는 Oh Day 라고 한다.
제로데이 공격
제로데이 공격(Zero-day Attack, Zero-day Exploit)은 공표된 제로데이의 취약점으로 이득을 취하는 행위를 이야기한다.
따라서 취약점을 악용하여 바이러스, 웜 등을 생성해 공격하는 것이고, 만일 서비스(플랫폼) 회사가 취약점을 인지하지 못했거나 적용할 수 있는 패치 및 방법이 없거나 업데이트를 못했다면 큰 피해가 발생할 수도 있다.
제로데이 공격 방어
소프트웨어가 제로데이 공격에 유효하다면, 공격을 방어하는 방법은 해당 취약점을 수정(제거)하는 방법 뿐이다.
만일 외부 라이브러리를 사용하고 있다면 취약점이 해결된 패치가 언제 릴리즈 될 지 알기 어려울 수도 있다. 다행히 유명 오픈소스와 플랫폼들은 대부분 일찍 보안 이슈를 알리고 임시 처리 방안을 제공하기도 하며 빠른 시일내에 패치 버전을 릴리즈하는 편이다. 취약점이 심각한 수준이고 해결 방법이 나오지 않는다면 최약에는 서비스를 임시로 중지시켜야 할 수도 있다.
참고
- https://en.wikipedia.org/wiki/Zero-day_(computing)
- https://web.archive.org/web/20110808195309/http://netsecurity.about.com/od/newsandeditorial1/a/aazeroday.htm
- https://web.archive.org/web/20070523104053/http://www.tech-faq.com/0-day.shtml#
- https://ko.wikipedia.org/wiki/%EC%A0%9C%EB%A1%9C_%EB%8D%B0%EC%9D%B4_%EA%B3%B5%EA%B2%A9#cite_note-2