[보안뉴스 문가용 기자] 소프트웨어는 우리의 삶을 여러 가지 면에서 편리하게 해 주기도 하지만 반대로 생각하지도 못한 방법으로 우리를 위험하게 만들기도 한다. 이 때문에 많은 국가, 산업, 기업들에서 소프트웨어의 취약점을 해결하기 위해 막대한 돈과 노력을 투자한다. 그런데 이런 시도가 이어지다보니 한 가지 패턴이 드러나기 시작했다. 소프트웨어 취약점들 중 정말로 우리를 괴롭히는 건 어느 정도 고정되어 있다는 것이다.
[이미지 = gettyimagesbank]
이는 매년 마이터(MITRE)에서 공개하는 ‘가장 위험한 취약점 25개’를 통해서도 어느 정도 파악이 가능한 사실이다. 올해도 마이터는 CVE 번호가 부여된 31,770여개의 취약점을 분석해 그 중 가장 위험한 유형의 취약점 25개를 추렸는데, 순위에 약간의 변동이 있었을 뿐 지난 해의 결과와 크게 다르지 않다고 한다. 따라서 이런 취약점들을 위주로 취약점 관리 프로그램을 구축한다면 비용도 아끼고 효과도 높일 수 있을 것이라고 마이터는 강조한다.
“소프트웨어 생태계에서 어떤 취약점들이 빈번하게 나타냐며, 어떤 취약점들이 특히 큰 위협이 되는지를 파악한다면 그 무엇보다 취약점 자체를 감소시킬 수 있게 됩니다. 또한 취약점을 해결하는 데 들어가는 비용이 절감되며, 공격자들 사이에서 어떤 취약점 익스플로잇이 유행하고 있는지도 알 수 있게 되므로 보안 강화에도 실질적으로 도움이 됩니다. 취약점 관리 체계를 결정하는 데에도 큰 도움이 되고요.” 마이터 측의 설명이다.
다음은 마이터가 선정한 ‘가장 위험한 취약점 25개’다. 1위부터 25위 순서로 나열한다. 다만 이 목록은 CVE가 아니라 CWE 형식으로 문제를 열거한다. CVE는 실제 익스플로잇 공격의 통로가 될 수 있는 특정 취약점에 부여된 번호인데 반해 CWE는 그러한 취약점을 유발시킬 수 있는, 보다 보편적이고 넓은 개념의 소프트웨어 보안 약점이라고 할 수 있다. 특정 취약점이 공격자들 사이에서 인기가 많다고 알리는 것이 아니라 특정 유형의 소프트웨어 약점들이 곧잘 문제가 되는 경향이 있다고 알리는 거라고 이해하면 된다. CWE가 좀 더 넓은 개념이다.
1위 : CWE-79로, XSS 공격을 가능하게 하는 취약점들이 여기에 포함된다. CISA가 운영하는 ‘시급한 패치가 요구되는 취약점 목록(KEV)’에는 이 항목에 해당하는 CVE가 현재 3건 포함되어 있다. 작년에는 2위였는데 올해에는 한 단계 올라 1위가 됐다.
2위 : CWE-787로, 일명 ‘아웃 오브 바운드 라이트(out-of-bounds write)’ 취약점들이 여기에 해당한다. KEV에는 무려 18개의 CVE가 등장한다. 작년에는 이 문제가 1위였는데 올해에는 한 단계 하락하여 2위에 올랐다.
3위 : CWE-89로, SQL 요소를 주입할 수 있게 해 주는 취약점들이 여기에 해당한다. KEV 내에는 4건의 CVE가 현재 존재한다. 작년과 동일하게 3위를 기록했다.
4위 : CWE-352로, CSRF 공격을 가능하게 하는 취약점들이 여기에 해당한다. KEV 내에는 한 건의 CVE도 존재하지 않는다. 작년에는 9위였는데 올해 다섯 단계나 상승했다. 상승세가 심상치 않다는 것을 기억하면 좋을 것으로 보인다. 공격자들 사이에서 CSRF가 특별한 관심을 받고 있는 것으로도 추정할 수 있다.
5위 : CWE-22로, 경로 탐색과 관련된 취약점이다. 경로명을 제한하지 못하기 때문에 공격자가 임의의 폴더에 아무 요소나 심을 수 있게 해 준다. KEV 내에는 네 개의 CVE가 현재 존재하고 있다. 작년에는 8위였는데 올해 세 계단 올라갔다.
6위 : CWE-125로, 아웃오브바운드 리드(out-of-bounds read) 취약점으로 잘 알려진 유형의 문제들이다. KEV 내에는 현재 세 개의 CVE들이 존재한다. 작년에는 7위였는데 올해 한 단계 상승했다.
7위 : CWE-78로, OS 명령을 주입할 수 있게 해 주는 취약점들이 여기에 해당한다. KEV 내에는 현재 5건의 CVE들이 포함되어 있다. 작년에는 5위였는데 두 단계 하락했다.
8위 : CWE-416으로, UaF(Use-after-Free) 취약점이라고 불리는 것들이 여기에 포함된다. KEV 내에는 현재 5건의 CVE가 있다. 작년 4위였으나 네 단계 하락했다.
9위 : CWE-862로, 권한 인증을 누락시키는 취약점이다. 현재 KEV에는 한 건의 관련 CVE도 존재하지 않는다. 작년에는 11위였고, 올해 9위에 올랐다.
10위 : CWE-434로, 파일 업로드를 제한하지 못하거나 안 하는 취약점들이 여기에 해당된다. 악성 파일 업로드 공격에 활용된다. KEV에는 0건의 CVE가 존재한다. 작년에도 올해와 마찬가지로 10위를 기록했었다.
11위 : CWE-94로, 코드가 생성되는 걸 적절히 제어하지 못해서 생기는 문제들, 즉 코드 주입 취약점들이 여기에 포함된다. KEV 내에는 7건 있다. 작년에는 23위였는데 무려 12위나 올랐다. 심상치 않은 상승세인데, 최근 코드 주입 공격이 활발해지고 있는 걸 생각하면 그럴 듯하다.
12위 : CWE-20으로, 사용자가 입력한 값의 적절성을 제대로 검증하지 않는 취약점들이 여기에 포함된다. KEV 내에 한 건 있다. 작년에는 6위였는데 올해에는 여섯 계단이나 내려왔다.
13위 : CWE-77로, 명령 주입 취약점이 여기에 포함되어 있다. KEV 내에는 네 건 존재한다. 작년에는 16위였고, 올해에는 13위가 됐다.
14위 : CWE-287로, 인증을 부적절하게 처리하는 문제들이 여기에 해당된다. KEV 내에는 네 건 존재한다. 작년에는 13위였고, 올해에는 한 단계 내려갔다.
15위 : CWE-269로, 권한 관리와 관련된 문제들을 지칭한다. KEV 내에는 한 건의 CVE도 존재하지 않는다. 작년에는 22위였다.
16위 : CWE-502로, 데이터 역직렬화의 신뢰와 관련된 문제다. KEV 내에는 다섯 건의 CVE가 존재하는 것으로 분석됐다. 작년 15위, 올해 16위다.
17위 : CWE-200으로, 민감한 정보를 인증 과정 없이 노출시키는 취약점이다. KEV 내에는 한 건의 취약점도 존재하지 않는다. 작년에는 30위였는데 올해는 무려 13단계나 올랐다.
18위 : CWE-863으로, 권한 인증을 부적절하게 처리하는 취약점들이 여기에 해당한다. KEV 내에는 두 건의 CVE가 있다. 작년에는 24위였는데 올해에는 많이 올랐다.
19위 : CWE-918로 서버 측 요청 위조(SSRF) 공격을 가능하게 하는 취약점이 여기에 해당한다. KEV 내에는 두 건의 CVE가 존재한다. 작년에도 19위였다.
20위 : CWE-119로, 매모리 버퍼 바운드 내에서 작업 제한에 실패할 때 나타나는 취약점들이 여기에 해당한다. KEV 내에는 두 건의 CVE가 있으며 작년에는 17위였다가 올해 세 단계 내려갔다.
21위 : CWE-476으로, 널 포인터 역참조 문제가 여기에 해당한다. KEV 내에는 0건의 CVE가 올라가 있다. 작년에는 12위였는데 올해에는 많이 힘을 잃었다.
22위 : CWE-798로, 하드코딩 된 크리덴셜 문제들이 여기에 해당한다. KEV 내에는 두 건의 CVE가 올라가 있다. 작년 순위는 18위였다.
23위 : CWE-190으로, 정수 오버플로우가 발생했을 때 나타나는 취약점들이 여기에 해당한다. KEV 내에는 세 건의 CVE가 존재한다. 작년에는 14위였다.
24위 : CWE-400으로, 자원 소비를 제대로 제어하지 못해서 발생하는 문제다. KEV 내에는 한 건의 CVE도 존재하지 않는다. 작년에는 37위였다가 급상승했다.
25위 : CWE-306으로 인증을 누락시키는 것과 관련된 문제다. KEV 내에는 다섯 건의 CVE가 존재한다. 작년에는 20위였다.
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>