제로데이 취약점 (Zero-Day Vulnerability)

정보보안학
한 줄 정의: 제로데이 취약점은 개발자가 아직 알지 못하거나 패치를 내놓지 못한 상태에서 존재하는 소프트웨어 보안 결함입니다.

쉽게 풀면

제로데이 취약점은 건물 설계자도 모르는 비상구가 몰래 존재하는 상황에 비유할 수 있습니다. 이 비상구를 아는 사람만이 아무런 제지 없이 드나들 수 있습니다. "제로데이"라는 이름은 개발자가 이 문제를 인지하고 고칠 수 있는 날이 "0일"이었다는 뜻에서 나왔습니다. 즉 공격자가 방어 측보다 먼저 결함을 알고 있는 상태를 가리킵니다.

왜 중요한가

제로데이 취약점은 아직 알려진 방어 방법이 없기 때문에 기존의 패치나 시그니처 기반 방어로는 막기 매우 어렵습니다. 이러한 특성 때문에 고도화된 공격이나 APT 캠페인에서 자주 활용되며, 정보보안 연구에서는 이를 사전에 발견하고 대응할 수 있는 방법을 찾는 것이 중요한 과제로 다루어집니다.

논문에서는 이렇게 쓰입니다

"본 연구는 퍼징 기법을 통해 발견된 제로데이 취약점을 개발사에 책임 있게 공개하는 절차를 사례로 제시한다."

제로데이 취약점 발견 이후의 공개 절차를 다룬 연구 사례입니다.

"제로데이 공격에 대응하기 위해 알려지지 않은 공격 패턴을 이상 탐지 방식으로 식별하는 모델을 제안하였다."

미지의 공격을 탐지하기 위한 방어 기법 연구 예문입니다.

조금 더 깊게 보면

제로데이 취약점을 실제로 악용하는 코드를 제로데이 익스플로잇이라 부르며, 이를 이용한 공격을 제로데이 공격이라 합니다. 취약점이 발견되면 일반적으로 개발사에 비공개로 알려 패치를 준비할 시간을 주는 책임 있는 공개(responsible disclosure) 절차가 권장되는 것으로 알려져 있습니다. 패치가 배포된 이후에도 적용이 늦어지는 시스템은 여전히 취약한 상태로 남을 수 있습니다.

주의할 점

제로데이라는 용어는 특정 심각도의 취약점을 의미하는 것이 아니라, 아직 공개되거나 패치되지 않았다는 시점상의 특성을 가리키는 개념임을 유의해야 합니다. 패치가 나온 이후에는 더 이상 제로데이로 분류되지 않습니다.

관련 용어