보안 취약점
1. 개요
'''취약점'''(vulnerability)은 공격자가 시스템의 정보 보증을 낮추는데 사용되는 약점이다. 취약점은 세 요소의 교집합이다. 시스템 민감성 또는 결함, 공격자가 결함에 대한 접근 그리고 공격자가 결함에 대한 익스플로잇(exploit)[1] 가능성. 취약점을 익스플로잇하기 위해서, 공격자는 반드시 시스템의 약점에 접속할 수 있는 적어도 하나의 툴이나 기법을 가져야 한다. 이 경우에, 취약점은 또한 공격 영역이라고도 불린다.
쉽게 말하면 버그는 버그인데, 매우 심각하고 방치하면 위험한 버그를 다른 버그들과 달리 특별히 구분지어 불러야 할 때 쓰는 말이다.
이 때문에 전 세계적으로, 각 회사의 제품의 취약점을 찾아서 회사 또는 공공기관(우리나라의 인터넷진흥원같은 공공기관이라 생각하면 된다)에 제보할 경우 보상금을 주는 '버그바운티'제도를 시행하는 추세이다. 우리나라 같은 경우, 취약점을 KISA에 제보할 경우 KISA가 판단하기에 위험한 취약점일 수록 보상금을 많이 준다. 기본 30만원이다. 브로커나 해외에서 주는 보상금과 비교하면 많이 적긴 하다.
또한 현대에도 보안 취약점은 그야말로 쏟아지고 있다. 만약 보안 취약점이 발견되자마자 공개된다면 컴퓨터의 정상적인 구동조차 보장하기 힘들어질 것이다. 그래서 보안 취약점은 즉시 공개되지 않고, 보통 30일까지 공개가 유예되는 경우가 많다.
오픈소스 소프트웨어의 경우 소소코드가 공개되어 있기 때문에 해커들이 코드에서 알려지지 않는 취약점을 찾아낼 가능성이 있다. 오픈소스가 아니더라도 어떠한 이유로 소스코드가 유출될 경우는 유출된 코드에서 취약점을 찾아낼 수 있다. 2020년 9월 27일, Windows XP와 Windows Server 2003 소스코드가 유출되는 사건이 발생했는데, 보안전문가들은 이에 대해 유출된 소스코드를 이용해 취약점을 쉽게 찾아낼 수 있다고 한다.
2. 주요 사건
시간 순서 대로 나열함. 괄호 안에 있는 문자열은 CVE Identifier를 나타낸다.
[1] 보안 취약점, 혹은 그 취약점을 이용한 공격을 뜻하며, 주로 후자의 의미로 사용된다.