1. 개요
제로 데이 공격(어택) / 제로 데이 위협Zero-day Attack / Zero-day Threat
특정 소프트웨어의 아직까지 공표되지 않은, 혹은 공표되었지만 아직까지 패치되지 않은 보안 취약점을 이용한 해킹의 통칭.
"Zero-day"는 해당 취약점이 공표 혹은 발견된 날을 뜻하므로 개발사는 공격이 행해진 시점에서 이 취약점을 해결할 시간을 채 하루도 가지지 못했음을 뜻한다.
2. 위험성
제로 데이 공격은 그 정의에 따라 해당 취약점에 대한 대책이 전혀 없기 때문에 해당 문제점을 패치하는 동안 취약점을 이용한 공격을 막을 수 없어서 어떤 컴퓨터든 무방비로 노출될 수밖에 없다.Microsoft Windows의 예를 들면 취약점의 발견/제보 그리고 공표 후 그 취약점에 대한 보안패치 개발까지 보통 6시간 이상 걸린다.[1] 패치가 올라오더라도 받아서 설치할 때까지 시간이 걸리므로 생각보다 공격이 행해질 수 있는 기간은 길다.
아예 발견이나 제보조차 되지 않은 취약점이라면 얄짤없다. 그 취약점을 이용하는 공격 매개체(바이러스, 웜 등의 악성코드)가 발견되지 않는 이상 컴퓨터는 해당 공격에 속수무책이다.
이런 특징으로 인해 제로 데이 취약점, 특히 아직까지 공표되지 않은 취약점은 블랙햇 해커들에겐 그야말로 꿈의 병기이며 찾는 데 혈안이다.
찾아도 대개는 함부로 쓰지도 않는다. 쓰는 순간 그 존재와 정보가 노출되고 금방 보안패치가 이루어져 더이상 제로 데이 취약점이 아니게 되기 때문이다. 제로 데이 취약점은 그 악용 가능성이 무궁무진하기 때문에 블랙해커들 사이의 다크 웹 암시장(일명 블랙 마켓)에서 고가의 가격으로 팔리기도 한다.
제로 데이 공격의 위험을 최소화하기 위해 안티 익스플로잇이라는 프로그램이 있는데 이들은 취약점 기반 공격을 최대한 막는 역할을 한다.
3. 실제 사례
사람들이 많이 쓰는 소프트웨어일수록 생각보다 의외로 많은 공격이 제로 데이 공격으로 이뤄진다. 대체로 제3자 입장의 업체로부터 공개적으로 발표된 따끈따끈한 취약점은 화이트햇 블랙햇 가리지 않고 모두에게 공개되기 때문이기도 하고 그 소프트웨어가 해커들에게 유독 관심이 높은 경우, 그 많은 해커들이 (공표하지 않고 악용할) 새로운 취약점을 찾기에 혈안이 되어있기 때문이다. 이 경우, 제로 데이 취약점을 저들끼리도 함부로 공유하지 않는다고 한다. 그만큼 귀하고 아껴써야 하니까. 하지만 암시장에서 거래되는 경우[2]도 당연히 있다.2010년 6월에 발견된 스턱스넷 웜[3]은 좀 많이 예외인데 윈도우에 대한 제로 데이 공격을 (현재까지 밝혀진 바론) 무려 5개나 가지고 있다. 그나마도 원래는 4개인 줄 알았는데 플레임 웜[4]과 대조하는 과정에서 취약점을 하나 더 발견하였다. 웜을 최초로 발견하고 나서 약 2년 후에. 애초에 이 물건은 미국의 NSA와 이스라엘의 모사드의 협력 하에 이란 핵시설 전자전 공격 작전인 니트로제우스 계획의 일부인 올림픽 작전을 통해 개발된 이란의 원심분리기 1000여 개를 공장 시스템을 해킹해 개박살낸 전적이 있는 물건이다. 즉, 정부가 둘이나 관련되어 있는 물건이니 일반적인 해커들과는 비교 자체를 불허한다. 존재 목적도 이스라엘이 이란 핵시설을 공습하겠다고 날뛰는 걸 미국이 달래느라 개발한 물건이라는 것이 에드워드 스노든의 폭로로 알려졌다.
취약점을 찾고 나니 역사가 깊은 경우도 존재한다. Internet Explorer는 2008년 12월에 당시로서는 최신버전인 IE 7의 취약점을 발견했는데 확인해 보니 당시 지원하던 모든 버전의 IE에 적용되는 문제였다.(해당 취약점 패치. IE가 깔리지 않는 최소설치 옵션을 선택한 2008 서버군을 제외하면 전부 해당되는 걸 볼 수 있다.)[5]
2014년 4월 27일에도 Internet Explorer 취약점이 나왔는데 6~11까지 싸그리 해당된다. 또 다른 취약점도 안 깔리는 서버군 빼고 모두 해당된다.
2015년 7월, 이탈리아의 업체 해킹 팀(Hacking Team) 에서 400GB에 달하는 회사 기밀 자료가 해커들에 의해 유출되었다. 더욱 놀라운 점은 이 자료 내부에 플래시의 제로데이가 3개나 존재하고 있었고 윈도우의 커널 취약점도 1개 발견되었다는 점이다. 이는 모두 PoC(Proof-of-Concept) 수준의 자료들이었으나 관련 지식이 있다면 누구라도 익스플로잇을 바로 쉽게 만들 수 있는 정도다. 이러한 취약점들을 공표하지 않고 회사 차원에서 기밀 자료 취급하였다는 것은 직접 사용하였거나 판매하였던 것으로 추측되고 있다. 심지어 400GB나 되는 방대한 데이터를 아직 전부 살펴본 것이 아니기 때문에 현재까지 발견된 것이 다가 아닐 수 있다. 플래시 취약점도 원래 2개로 발표했으나 나중에 하나가 더 추가되었다.
의문인 것은 이 자료가 공개되고 나서 몇 시간도 되지 않아서 몇몇 악성 익스플로잇 킷에서 해당 플래시 취약점 중 가장 먼저 발견된 CVE-2015-5119를 이용하는 새로운 버전이 벌써 인터넷에 돌아다니고 있었다는 점이다. 아무리 빨라도 PoC 에서 실제 익스플로잇 킷에 사용하려면 최소 1~2일은 걸린다는 점에서 무언가 약속이라도 한 듯한 이 타이밍은 조금 이상할 수밖에 없다. 취약점이 공개되기 이전부터 이 취약점을 이용한 악성코드가 존재하고 있었다는 것도 이후 발표로 알려는데 이는 해킹 팀의 자료를 유출한 해커가 이전에 이미 블랙 마켓에 판매하였거나 해킹 팀 회사 차원에서 직접 판매했다고밖에 볼 수 없는 부분이다. 동일한 취약점을 예전에 발견한 해커들이 취약점이 보안 패치되어 그 취약점의 가치가 없어지기 전에 활용한 것이라고 볼 수도 있다.
이 외 실제 사례들은 CVE리스트 데이터베이스에서 볼 수도 있고 각 회사 보안 패치 리스트에서 볼 수도 있다. Apple 보안 업데이트 목록, CVE 검색 사이트
2022년 3월 23일, 익명에 의해 보고된 내용에 의하면 크로뮴 코어를 공유하는 오픈소스 브라우저의 V8 JavaScript Engine에서 Type Confusion[6] 취약점이 발견되었다. 크로뮴을 기반으로 만들어진 모든 브라우저[7]와 모든 프레임워크[8], 이러한 프레임워크를 기반으로 만들어진 모든 앱, V8을 기반으로 한 모든 자바스크립트 런타임[9]은 해당 취약점에 노출되어 있으나 파이어폭스, 사파리 등과 같이 자체 JavaScript Engine을 사용하는 브라우저는 해당 취약점에 노출되어 있지 않다.[10]
미국의 사이버 보안 기관 CISA에서 모든 미국 연방 기관에 브라우저 업데이트를 지시하였다. # 해당 취약점은 크로뮴 99.0.4844.84 이하 빌드의 버전에 노출되어 있으며 지체 없이 브라우저를 업데이트하여야 한다.
4. 취약점 제보
제로 데이 공격은 모두 프로그램의 취약점, 다시 말해 인간의 실수를 이용한 공격이다. 만일 자신이 사용하는 시스템에서 취약점을 찾으면 해당 시스템의 개발사에게 신고하자. 취약점의 심각도에 따라 취약점을 보고받은 회사는 해당 취약점을 보고한 사람에게 감사의 의미로 사례하기도 한다.[11][12]Apple 취약점 신고 방법, Google 취약점 신고 센터
전세계적으로 유명한 보안 취약점 연구소는 프로젝트 제로 등이 있다.
[1] 일부는 그보다 짧을 수도 있다.[2] 최대 $250,000까지... 출처[3] 정확히는 수많은 변종 중 처음 발견된 Stuxnet.A[4] 2012년 5월에 최초로 발견된 스턱스넷과 여러모로 관련이 깊은 것으로 밝혀진 웜[5] 여담으로 이 취약점은 중국 해커들이 먼저 발견하여 2008년 11월 암시장에서 미화 15,000불에 처음 거래되었는데 되팔리고 되팔리면서 동년 12월 즈음엔 가격이 650불까지 떨어졌다.[6] CVE-2022-1096[7] 크롬, 웨일 등[8] electron 등[9] node.js, deno 등[10] 삼성 스마트폰에 설치된 삼성 브라우저는 크로뮴의 V8 JavaScript Engine을 사용하기 때문에 취약점에 노출되어 있다.[11] Apple은 위험성에 따라 최대 200만 달러까지 사례하기도 한다. 한편으로는 탈옥툴 만들 바에 제보하는 게 오히려 돈이 되니까 iOS 탈옥의 억제력으로도 작용하고 있다. #[12] 물론 사례를 하지 않는 회사도 있다.억울