보안정보

전문화된 보안 관련 자료, 보안 트렌드를 엿볼 수 있는
차세대 통합보안관리 기업 이글루코퍼레이션 보안정보입니다.

한발 앞서 살펴보는 OWASP Top 10 2021 (Draft)

2021.09.17

34,522


 

 

 

 

01. 개요

 

비영리재단인 OWASP(The Open Web Application Security Project)는 2021년 새로운 애플리케이션 보안 위협 10가지를 발표했다. OWASP의 경우 주로 웹 환경에서 발생할 수 있는 취약점(정보노출, 악성 파일 및 스크립트, 보안 취약점 등)을 연구하며, 여러가지 취약점 중 상위 10가지의 위협에 대하여 3 ~ 4년 주기로 발표한다. 이번에 발표한 OWASP Top 10은  2017년에 발표된 이후 4년만이며, 2004년을 시작으로 올해 2021년까지 총 6번 발표했다. OWASP가 변화하는 IT 상황에서 선정한 웹 애플리케이션 보안 위협은 무엇인지 살펴보고, 2013년부터 지금까지 어떻게 보안 위협이 변화해 왔는지 살펴보자.

  

 [그림 1] OWASP Top 10 카테고리 변화 (출처 : OWASP)

 

  

분류

2013

2017

2021

기반

애플리케이션 보안 전문 7개 기업,

8개 데이터 세트를 기반

애플리케이션 보안 전문 회사가 제출한 40개 이상의 데이터와 업계 순위조사 (500)기반

8개의 범주 : 데이터에서 선택

2개의 범주 : 업계 설문 조사에서 선택

데이터

수백 개 기업, 수천 개의 애플리케이션에 걸친 500,000개 이상의 취약점들을 포함

​수백 개의 조직과 10만개가 넘는 실제 애플리케이션 및 API에서 수집된 취약점을 포함

​CWE 데이터를 규정된 하위 집합에서 수집

​500,000개 이상의 애플리케이션에 대한 데이터를 진행

​CWE에 대한 제한 없이 데이터를 수집

우선

순위

악용 가능성, 탐지 가능성 및 영향의 확산 및 추정치를 기반으로 목록을 선택하고 우선순위를 지정

공격 가능성, 탐지 가능성 및 영향도를 합의 추정한 값으로 보정한 데이터에 따라 선별되고 우선순위 지정

​악용 가능성과 영향에 대한 데이터를 사용

​발생률로 우선순위 지정

데이터 셋의 수

-

30 CWE

400 CWE

 

[표 1] OWASP 변화 (출처 : OWASP) 

 

 

2013년에서 2017년으로 버전 업데이트를 하면서 API의 취약점이 대두되었다. 2017년도 OWASP 데이터에 API를 포함한 이유는 최신 애플리케이션에는 API에 연결하는 많은 클라이언트 애플리케이션이 포함되는 경우가 많으나 API는 대부분 취약하며, 조직들이 이러한 문제에 대해 신경을 써야 하기 때문이다.

 

2017년에서 2021년으로 버전 업데이트를 하면서 CWE 데이터를 30에서 400으로 증가했다. CWE 데이터 수집 방식의 변화에 따라 카테고리의 구성 방식 또한 변경되었다. 2017년도 OWASP에서는 발생률별로 범주를 선택하여 가능성을 판단한 다음 수십 년간의 이용 가능성, 탐지 가능성 및 기술적 영향에 대한 경험을 바탕으로 순위를 매겼다면, 2021년에는 악용 가능성과 영향에 대한 데이터를 사용한다.

 

 

02. OWASP Top 10 2021

 

OWASP Top 10 2021년에서는 3개의 항목이 새롭게 추가되었고, 4개의 항목에서 범위 및 새로운 이름으로 명명된 것들이 존재한다. 

 

또한, OWASP에서는 2021년 OWASP Top 10이 데이터 중심적(Data-driven)이지만 맹목적으로 데이터 중심은 아니라고 밝혔다. 총 10개의 항목 중 8개는 기여 데이터에서 선택하였고, 나머지 2개의 항목은 업계 설문 조사를 통해 선택한 것으로 알려졌다.

 

OWASP에서 발표한 취약점에서는 아래 [표 2]와 같이 데이터 요소가 존재하며, 의미는 다음과 같다. 

 

  

Data Factors

설명

CWEs Mapped

각각의 취약점 항목에 맵핑된 CWE 갯수

Incidence Rate

해당 연도에 테스트한 모집단에서 CWE에 취약한 애플리케이션의 비율

(Testing) Coverage

특정 CWE에 대해 모든 조직에서 테스트한 애플리케이션의 비율

Weighted Exploit

CWE에 매핑된 CVE에서 CVSSv2 CVSSv3 점수를 10점으로 환산한 Exploit 하위 점수

Weighted Impact

CWE에 매핑된 CVE에서 CVSSv2 CVSSv3 점수의 영향도를 10점으로 환산한 하위 점수

Total Occurrences

CWE가 범주에 맵핑된 것으로 발견된 총 애플리케이션 갯수

Total CVEs

범주에 맵핑된 CWE에 매핑된 NVD DB의 총 CVE 갯수

 

[표 2] OWASP Top 10 Data Factors (출처 : OWASP) 

 

 

A01 - Broken Access Control (취약한 접근 통제)

  

CWEs

Mapped

Max

Incidence

Avg

Incidence

Rate

Max

Coverage

Avg

Coverage

Avg

Weighted

Exploit

Avg

Weighted

Impact

Total

Occurrences

Total

CVEs

34

55.97%

3.81%

94.55%

47.22%

6.92

5.93

318,487

19,103

 

[표 3] A01:2021 - Broken Access Control 선정 구성 요소 (출처 : OWASP)

 

 

OWASP Top 10 - 2017에서 A05번에 위치하던 Broken Access Control(취약한 접근 통제)이 4단계 상승하여 첫 번째 위치(A01)로 이동했다. 과거에는 하나의 서비스 또는 시스템으로 소프트웨어를 구성하는 방식으로 애플리케이션을 구성했다면, 현재 애플리케이션들은 상호 독립적인 구성 요소로 분할 되어 있는 방식으로 개발되는 경우가 많아지고 있다. 

 

따라서, 기존에는 하나의 서비스에서 접근통제를 담당하였지만, 기능이 분할되면서 접근 통제에 어려움이 존재하기 때문에 첫 번째 위치로 이동한 것으로 보인다. 또한, 34개의 매핑된 CWE가 다른 항목들에 비해 더 많은 애플리케이션에서 취약점이 발현되어 위치 변화가 생긴 것으로 생각된다.

 

 

A02 - Cryptographic Failures (암호학적 실패)

  

CWEs

Mapped

Max

Incidence

Avg

Incidence

Rate

Max

Coverage

Avg

Coverage

Avg

Weighted

Exploit

Avg

Weighted

Impact

Total

Occurrences

Total

CVEs

29

46.44%

4.49%

79.33%

34.85%

7.29

6.81

233,788

3,075

 

[표 4] A02:2021 - Cryptographic Failures 선정 구성 요소 (출처 : OWASP)

 

 

OWASP Top 10 - 2017에서 A03번에 위치하던 Sensitive Data Exposure(민감 데이터 노출) 항목이 Cryptographic Failures (암호학적 실패)라는 이름으로 변경되었으며, 해당 항목은 1단계 상승하여 두 번째 위치(A02)로 이동했다. OWASP에서는 2017년에 존재하였던 민감 데이터 노출이 근본적인 원인이 존재하였던 것이 아니라 여러가지 분야에서 광범위하게 발생하는 증상으로 판단했다. 

 

2017년 이후 데이터 암호화와 관련된 이슈가 상당히 많았기 때문에 OWSAP에서는 이러한 점을 토대로 해당 항목에 대하여 단계 상승을  진행한 것으로 보인다.  

 

 

A03 - Injection (인젝션)

  

CWEs

Mapped

Max

Incidence

Avg

Incidence

Rate

Max

Coverage

Avg

Coverage

Avg

Weighted

Exploit

Avg

Weighted

Impact

Total

Occurrences

Total

CVEs

33

19.09%

3.37%

94.04%

47.90%

7.25

7.15

274,228

32,078

 

[표 5] A03:2021 - Injection 선정 구성 요소 (출처 : OWASP)

 

 

OWASP Top 10 - 2017에서 A01번에 위치하던 Injection(인젝션)이 2단계 하락하여 세 번째 위치(A03)로 이동했다. 2017년에 존재하였던 A1 - Injection 과 A7 - Cross Site Scripting(XSS)이 통합되었다. 총 33개의 CWE와 매핑이 되었고, 애플리케이션에서 Broken Access Control 항목에 이어서 두 번째로 많은 취약점이 발현되었다. 

 

Injection은 과거부터 SQL, NoSQL, 운영체제 명령어, ORM(Object Relational Mapping), LDAP, EL(Expression Languages), OGNL(Object Graph, Navigation Library) 인젝션 등 다양한 취약점이 존재하였고, Cross site Scripting 취약점이 통합됨에 따라 여전히 위험성을 가진 취약점으로 판단되기 때문에 OWASP에서 세 번째에 위치시킨 것으로 보인다.

 

 

A04 - Insecure  Design (안전하지 않은 설계)

  

CWEs

Mapped

Max

Incidence

Avg

Incidence

Rate

Max

Coverage

Avg

Coverage

Avg

Weighted

Exploit

Avg

Weighted

Impact

Total

Occurrences

Total

CVEs

40

24.19%

3.00%

77.25%

42.51%

6.46

6.78

262,407

2,691

 

[표 6] A04:2021 - Insecure Design 선정 구성 요소 (출처 : OWASP)

 

 

 

Insecure Design 항목은 OWASP Top 10 - 2017에서는 존재하지 않았던 새로운 항목이다. 기획 단계와 애플리케이션 설계 과정에서의 보안사항 준수를 의미하고 있으며, 설계 과정에서 발생하는 보안적인 결함을 의미한다. 

 

설계가 잘못된 애플리케이션은 추후에 진행하는 보안테스트로 발견한 사항을 쉽게 조치할 수 없거나, 위험성을 가지고 운영해야하는 경우들이 많기 때문에 해당 항목이 새롭게 등장한 것으로 보인다.

 

 

A05 - Security Misconfiguration (보안 오류 설정)

 

CWEs

Mapped

Max

Incidence

Avg

Incidence

Rate

Max

Coverage

Avg

Coverage

Avg

Weighted

Exploit

Avg

Weighted

Impact

Total

Occurrences

Total

CVEs

20

19.84%

4.51%

89.58%

44.84%

8.12

6.56

208,387

789

 

[표 7] A05:2021 - Security Misconfiguration 선정 구성 요소 (출처 : OWASP)

 

 

OWASP Top 10 - 2017에서 A06번에 위치하던 Security Misconfiguration(보안 오류 설정) 항목이 A04번 XML External Entities(XXE)항목과 통합되었고, 이로 인하여 한 단계 상승하여 다섯 번째 위치(A05)로 이동했다. 애플리케이션의 90%가 잘못된 구성에 대해 테스트가 진행되었고, 개방된 클라우드 스토리지, 잘못 구성된 HTTP 헤더 및 민감한 정보가 포함된 에러 메시지로 인하여 보안에 취약한 곳이 알려질 수 있다. 

 

안전하게 설계된 애플리케이션을 개발하더라도 테스트 및 디버깅을 위하여 옵션을 잘못 설정하는 경우가 다수 존재한다. 이러한 이유로 OWASP에서는 해당 취약점의 순위를 한 단계 상승 시킨 것으로 보인다. 

 

 

A06 - Vulnerable and Outdated Components (취약하고 오래된 컴포넌트)

 

CWEs

Mapped

Max

Incidence

Avg

Incidence

Rate

Max

Coverage

Avg

Coverage

Avg

Weighted

Exploit

Avg

Weighted

Impact

Total

Occurrences

Total

CVEs

3

27.96%

8.77%

51.78%

22.47%

5.00

5.00

30,457

0

 

[표 8] A06:2021 - Vulnerable and Outdated Components 선정 구성 요소 (출처 : OWASP)

 

 

OWASP Top 10 - 2017에서A09번 위치하던Using Components with Known Vulnerabilities(알려진 취약점이 있는 구성요소 사용) 항목이 Vulnerable and Outdated Components(취약하고 오래된 컴포넌트)라는 이름으로 변경되었으며, 해당 항목은 3단계 상승하여 여섯 번째 위치(A06)로 이동했다.

 

오픈소스를 기반으로 다양한 라이브러리와 컴포넌트들이 연결되는 애플리케이션의 경우 제공되는 라이브러리와 컴포넌트에 알려진 취약점이 존재할 수 있고, 이미 알려진 취약점들이 존재하는 컴포넌트 사용으로 인하여 소프트웨어에 취약점들이 내포될 수 있다. 최근 소프트웨어 개발을 모듈화하여 진행하는 경우가 많아지고 있기 때문에 OWASP에서는 해당 취약점의 순위를 변경한 것으로 보인다. 

 

 

A07 - Identification and Authentication Failures (식별 및 인증 실패)

 

CWEs

Mapped

Max

Incidence

Avg

Incidence

Rate

Max

Coverage

Avg

Coverage

Avg

Weighted

Exploit

Avg

Weighted

Impact

Total

Occurrences

Total

CVEs

22

14.84%

2.55%

79.51%

45.72%

7.40

6.50

132,195

3,897

 

[표 9] A07:2021 - Identification and Authentication Failures 선정 구성 요소 (출처 : OWASP)

 

 

OWASP Top 10 - 2017에서 A02에 위치하던 Broken Authentication(취약한 인증)항목이 Identification and Authentication Failures(식별 및 인증 실패)라는 이름으로 변경되었으며, 해당 항목은 다섯 단계 하락하여 일곱 번째 위치(A07)로 이동했다. 

 

해당 항목은 현재 개발되는 소프트웨어에서 개발 프레임워크의 가용성이 증가함에 따라 순위가 하락한 것으로 보인다.

 

 

A08 - Software and Data Integrity Failures (소프트웨어와 데이터 무결성 실패)

 

CWEs

Mapped

Max

Incidence

Avg

Incidence

Rate

Max

Coverage

Avg

Coverage

Avg

Weighted

Exploit

Avg

Weighted

Impact

Total

Occurrences

Total

CVEs

10

16.67%

2.05%

75.04%

45.35%

6.94

7.94

47,972

1,152

 

[표 10] A08:2021 - Software and Data Integrity Failures 선정 구성 요소 (출처 : OWASP)

 

 

OWASP Top 10 - 2017에서 존재하지 않았던 항목 존재하지 않았던 새로운 항목이며, 2017년에 존재했던 Insecure Deserialization(안전하지 않는 역직렬화)가 해당 항목에 포함되었다. 

 

무결성을 증명하지 않은 소프트웨어 업데이트, 중요 데이터, 그리고 CI/CD 파이프라인과 관련된 내용으로 CVE/CVSS 데이터에서 가장 가중치가 높은 데이터 중 하나이지만 위치에 변화는 없는 항목이다. 

 

 

A09 - Security Logging and Monitoring Failures (보안 로깅과 모니터링 실패)

 

CWEs

Mapped

Max

Incidence

Avg

Incidence

Rate

Max

Coverage

Avg

Coverage

Avg

Weighted

Exploit

Avg

Weighted

Impact

Total

Occurrences

Total

CVEs

4

19.23%

6.51%

53.67%

39.97%

6.87

4.99

53,615

242

 

[표 11] A09:2021 - Security Logging and Monitoring Failures 선정 구성 요소 (출처 : OWASP)

 

 

OWASP Top 10 - 2017에서 A10번에 위치하던 Insufficient Logging & Monitoring(불충분한 로깅과 모니터링)항목으로 이름이 새롭게 변경되었다. 해당 항목은 보안 업계 설문조사에서 3위를 차지하였고, 이로 인하여 한단계 상승하며 아홉 번째 위치 (A09)로 이동하였다. 

 

해당 항목은 기존 보다 더 많은 종류의 이슈를 포함하도록 확장되었다. 로깅과 모니터링은 보안 테스트를 하기에 어려우며, CVE/CVSS 데이터에는 잘 나타나지 않는다. 하지만 이를 식별하고 분석할 수 있도록 로깅과 모니터링은 굉장히 중요한 요소이기 때문에 A09에 위치한 것으로 보인다.

 

 

A10 - Server Side Request Forgery (서버 사이드 요청 변조)

 

CWEs

Mapped

Max

Incidence

Avg

Incidence

Rate

Max

Coverage

Avg

Coverage

Avg

Weighted

Exploit

Avg

Weighted

Impact

Total

Occurrences

Total

CVEs

1

2.72%

2.72%

67.22%

67.22%

8.28

6.72

9,503

385

 

[표 12] A10:2021 - Server Side Request Forgery 선정 구성 요소 (출처 : OWASP)

 

 

OWASP Top 10 - 2017에는 존재하지 않았던 항목이고, 보안 업계 설문조사에서 1위를 차지하며 새롭게 추가된 항목이다. 

 

해당 항목은 데이터에서 '취약성 및 영향 잠재성'이라는 항목에서 평균 이상의 등급을 받았으며, 평균 이상의 테스트 범위에서 비교적 낮은 발생률을 보여준 것으로 조사됐다. 현재 데이터가 제대로 존재하지는 않지만 웹 어플리케이션 방화벽(WAF), 방화벽, 또는 네트워크 ACL이 보호하고 있는 시스템을 SSRF을 통해 공격가능하며 관련된 시나리오가 존재하고 다양한 취약점이 발현될 수 있어 새롭게 추가된 것으로 보인다.

 

 

03. 결론

 

지금까지 2013년부터 2021년까지 변화된 OWASP Top 10에 대해서 살펴보았으며, 2021년에 발표된 항목에 대하여 간략하게 알아보았다.

현재 OWASP에서 공개한 보안 위협 Top 10은 DRAFT FOR PEER REVIEW버전으로 추후에 검토 과정을 거쳐 최종 버전을 공개할 것으로 예상된다.

이에 따라, 추후에 좀 더 명확하게 작성되어 발표될 OWASP Top 10 2021 최종 버전을 참고하여야 한다.

 

 

04. 참고 자료

 

[1] OWASP Top 10:2021 (DRAFT FOR PEER REVIEW) 

https://owasp.org/Top10/