OWASP Top 10 편집하기

IT위키

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
1번째 줄: 1번째 줄:
;Open Web Application Security Project(OWASP) 에서 4년에 한번씩 발표하는 웹 취약점 Top 10
;Open Web Application Security Project(OWASP) 에서 4년에 한번씩 발표하는 웹 취약점 Top 10
;*[[OWASP Top 10(2013)]]
;*[[OWASP Top 10(2017)]]
;*[[OWASP Top 10(2021)]]


==2013 대비 2017 변화==
== 2013 대비 2017 변화 ==
{| class="wikitable"
{| class="wikitable"
! colspan="3" style="text-align: center;" |OWASP Top 10 - 2013
! colspan="3" style="text-align: center;" | OWASP Top 10 - 2013
! colspan="3" style="text-align: center;" |OWASP Top 10 - 2017
! colspan="3" style="text-align: center;" | OWASP Top 10 - 2017
|-
|-
!No
! No
!취약점
! 취약점
!비고
! 비고
!No
! No
!취약점
! 취약점
!비고
! 비고
|-
|-
|1
| 1
|인젝션
| 인젝션
|
|  
|1
| 1
|인젝션
| 인젝션
|
|  
|-
|-
|2
| 2
|[[인증 및 세션 관리 취약점|취약한 인증과 세션 관리]]
| 취약한 인증과 세션 관리
|
|  
|2
| 2
|취약한 인증
| 취약한 인증
|
|  
|-
|-
|3
| 3
|크로스 사이트 스크립팅
| 크로스 사이트 스크립팅
|
|  
|3
| 3
|민감한 데이터 노출
| 민감한 데이터 노출
|
|  
|-
|-
|4
| 4
|안전하지 않은 직접 객체 참조
| 안전하지 않은 직접 객체 참조
|2017:A5
| 2017:A5
|4
| 4
|XML 외부 개체(XXE)
| XML 외부 개체(XXE)
|신규
| 신규
|-
|-
|5
| 5
|잘못된 보안 구성
| 잘못된 보안 구성
|
|  
|5
| 5
|취약한 접근 통제
| 취약한 접근 통제
|합침
| 합침
|-
|-
|6
| 6
|민감한 데이터 노출
| 민감한 데이터 노출
|
|  
|6
| 6
|잘못된 보안 구성
| 잘못된 보안 구성
|
|  
|-
|-
|7
| 7
|기능 수준의 접근 통제 누락
| 기능 수준의 접근 통제 누락
|2017:A5
| 2017:A5
|7
| 7
|크로스 사이트 스크립팅(XSS)
| 크로스 사이트 스크립팅(XSS)
|
|  
|-
|-
|8
| 8
|크로스 사이트 요청변조(CSRF)
| 크로스 사이트 요청변조(CSRF)
|삭제
| 삭제
|8
| 8
|안전하지 않은 역직렬화
| 안전하지 않은 역직렬화
|신규
| 신규
|-
|-
|9
| 9
|알려진 취약점이 있는 구성요소 사용
| 알려진 취약점이 있는 구성요소 사용
|
|  
|9
| 9
|알려진 취약점이 있는 구성요소 사용
| 알려진 취약점이 있는 구성요소 사용
|
|  
|-
|-
|10
| 10
|검증되지 않은 리다이렉트 및 포워드
| 검증되지 않은 리다이렉트 및 포워드
|삭제
| 삭제
|10
| 10
|불충분한 로깅 및 모니터링
| 불충분한 로깅 및 모니터링
|신규
| 신규
|}
|}


==항목별 설명==
== 항목별 설명 ==
===인젝션===
=== 인젝션 ===
* SQL, OS, XXE, LDAP 인젝션 취약점은 신뢰할 수 없는 데이터가 명령어나 쿼리문의 일부분으로써, 인터프리터로 보내질 때 발생합니다. 공격자의 악의적인 데이터는 예기치 않은 명령을 실행하거나 올바른 권한 없이 데이터에 접근하도록 인터프리터를 속일 수 있습니다.


*SQL, OS, XXE, LDAP 인젝션 취약점은 신뢰할 없는 데이터가 명령어나 쿼리문의 일부분으로서, 인터프리터로 보내질 때 발생합니다. 공격자의 악의적인 데이터는 예기치 않은 명령을 실행하거나 올바른 권한 없이 데이터에 접근하도록 인터프리터를 속일 수 있습니다.
=== 취약한 인증 ===
* 인증 및 세션 관리와 관련된 애플리케이션 기능이 종종 잘못 구현되어 공격자들이 암호, , 세션 토큰을 위험에 노출시킬 있거나 일시적 또는 영구적으로 다른 사용자의 권한 획득을 위해 구현 상 결함을 악용하도록 허용합니다.


===취약한 인증===
=== 민감한 데이터 노출 ===
* 다수의 웹 애플리케이션과 API는 금융 정보, 건강 정보, 개인 식별 정보와 같은 중요한 정보를 제대로 보호하지 않습니다.
* 공격자는 신용카드 사기, 신분 도용 또는 다른 범죄를 수행하기 위해 보호가 취약한 데이터를 훔치거나 수정할 수 있습니다. 중요한 데이터는 저장 또는 전송할 때 암호화 같은 추가 보호 조치가 없으면 탈취 당할 수 있으며, 브라우저에서 주고 받을 때 각별한 주의가 필요합니다.


*인증 및 세션 관리와 관련된 애플리케이션 기능이 종종 잘못 구현되어 공격자들이 암호, , 세션 토큰을 위험에 노출시킬 있거나 일시적 또는 영구적으로 다른 사용자의 권한 획득을 위해 구현 상 결함을 악용하도록 허용합니다.
=== XML 외부 개체(XEE) ===
* XXE는 악의적인 자바스크립트를 막기 위한 필터장치를 우회하는 취약점으로 XML 문서에서 동적으로 외부 URI의 리소스를 포함시킬 수 있는 외부 엔티티(Entity)를 사용할 때 발생합니다.
* 오래되고 설정이 엉망인, 많은 XML 프로세서들은 XML 문서 내에서 외부 개체 참조를 평가합니다.
* 외부 개체는 파일 URI 처리기, 내부 파일 공유, 내부 포트 스캔, 원격 코드 실행과 서비스 거부 공격을 사용하여 내부 파일을 공개하는데 사용할 있습니다.


===민감한 데이터 노출===
=== 취약한 접근 통제 ===
* 인증된 사용자가 수행할 수 있는 작업에 대한 제한이 제대로 적용되어 있지 않습니다.
* 공격자는 이러한 결함을 악용하여 다른 사용자의 계정에 접근하거나, 중요한 파일을 보거나, 다른 사용자의 데이터를 수정하거나, 접근 권한을 변경하는 등 권한 없는 기능과 데이터에 접근할 수 있습니다.


*다수의 웹 애플리케이션과 API는 금융 정보, 건강 정보, 개인 식별 정보와 같은 중요한 정보를 제대로 보호하지 않습니다.
=== 잘못된 보안 구성 ===
*공격자는 신용카드 사기, 신분 도용 또는 다른 범죄를 수행하기 위해 보호가 취약한 데이터를 훔치거나 수정할 수 있습니다. 중요한 데이터는 저장 또는 전송할 때 암호화 같은 추가 보호 조치가 없으면 탈취 당할 수 있으며, 브라우저에서 주고 받을 때 각별한 주의가 필요합니다.
* 잘못된 보안 구성은 가장 흔하게 보이는 이슈입니다.  
* 취약한 기본 설정, 미완성 (또는 임시 설정), 개방된 클라우드 스토리지, 잘못 구성된 HTTP 헤더 및 민감한 정보가 포함된 장황한 에러 메시지로 인한 결과입니다. 모든 운영체제, 프레임워크, 라이브러리와 애플리케이션을 안전하게 설정해야 할 뿐만 아니라 시기 적절하게 패치/ 업그레이드를 진행해야 합니다.


===XML 외부 개체(XXE)===
=== 크로스 사이트 스크립팅(XSS) ===
 
*XXE는 악의적인 자바스크립트를 막기 위한 필터장치를 우회하는 취약점으로 XML 문서에서 동적으로 외부 URI의 리소스를 포함시킬 수 있는 외부 엔티티(Entity)를 사용할 때 발생합니다.
*오래되고 설정이 엉망인, 많은 XML 프로세서들은 XML 문서 내에서 외부 개체 참조를 평가합니다.
*외부 개체는 파일 URI 처리기, 내부 파일 공유, 내부 포트 스캔, 원격 코드 실행과 서비스 거부 공격을 사용하여 내부 파일을 공개하는데 사용할 수 있습니다.
 
===취약한 접근 통제===
 
*인증된 사용자가 수행할 수 있는 작업에 대한 제한이 제대로 적용되어 있지 않습니다.
*공격자는 이러한 결함을 악용하여 다른 사용자의 계정에 접근하거나, 중요한 파일을 보거나, 다른 사용자의 데이터를 수정하거나, 접근 권한을 변경하는 등 권한 없는 기능과 데이터에 접근할 수 있습니다.
 
===잘못된 보안 구성===
 
*잘못된 보안 구성은 가장 흔하게 보이는 이슈입니다.
*취약한 기본 설정, 미완성 (또는 임시 설정), 개방된 클라우드 스토리지, 잘못 구성된 HTTP 헤더 및 민감한 정보가 포함된 장황한 에러 메시지로 인한 결과입니다. 모든 운영체제, 프레임워크, 라이브러리와 애플리케이션을 안전하게 설정해야 할 뿐만 아니라 시기 적절하게 패치/ 업그레이드를 진행해야 합니다.
 
===크로스 사이트 스크립팅(XSS)===
XSS 취약점은 애플리케이션이 올바른 유효성 검사 또는 필터링 처리 없이 새 웹 페이지에 신뢰할 수 없는 데이터를 포함하거나, 자바스크립트와 HTML을 생성하는 브라우저 API를 활용한 사용자 제공 데이터로 기존 웹 페이지를 업데이트할 때 발생합니다. XSS는 피해자의 브라우저에서 공격자에 의해 스크립트를 실행시켜 사용자 세션을 탈취할 수 있게 만들고, 웹 사이트를 변조시키고, 악성 사이트로 리다이렉션할 수 있도록 허용합니다.
XSS 취약점은 애플리케이션이 올바른 유효성 검사 또는 필터링 처리 없이 새 웹 페이지에 신뢰할 수 없는 데이터를 포함하거나, 자바스크립트와 HTML을 생성하는 브라우저 API를 활용한 사용자 제공 데이터로 기존 웹 페이지를 업데이트할 때 발생합니다. XSS는 피해자의 브라우저에서 공격자에 의해 스크립트를 실행시켜 사용자 세션을 탈취할 수 있게 만들고, 웹 사이트를 변조시키고, 악성 사이트로 리다이렉션할 수 있도록 허용합니다.


===안전하지 않은 역직렬화===
=== 안전하지 않은 역직렬화 ===
 
* 안전하지 않은 역직렬화는 종종 원격 코드 실행으로 이어집니다.  
*안전하지 않은 역직렬화는 종종 원격 코드 실행으로 이어집니다.
* 역직렬화 취약점이 원격 코드 실행 결과를 가져오지 않더라도 이는 권한 상승 공격, 주입 공격과 재생 공격을 포함한 다양한 공격 수행에 사용될 수 있습니다.  
*역직렬화 취약점이 원격 코드 실행 결과를 가져오지 않더라도 이는 권한 상승 공격, 주입 공격과 재생 공격을 포함한 다양한 공격 수행에 사용될 수 있습니다.
 
===알려진 취약점이 있는 구성요소 사용===
 
*라이브러리, 프레임워크 및 다른 소프트웨어 모듈 같은 구성요소는 애플리케이션과 같은 권한으로 실행됩니다.
*만약에 취약한 구성요소가 악용된 경우, 이는 심각한 데이터 손실을  일으키거나 서버가 장악됩니다.
*알려진 취약점이 있는 구성요소를 사용한 애플리케이션과 API는 애플리케이션 방어를 약하게 하거나 다양한 공격과 영향을 주게 합니다.


===불충분한 로깅과 모니터링===
=== 알려진 취약점이 있는 구성요소 사용 ===
* 라이브러리, 프레임워크 및 다른 소프트웨어 모듈 같은 구성요소는 애플리케이션과 같은 권한으로 실행됩니다.
* 만약에 취약한 구성요소가 악용된 경우, 이는 심각한 데이터 손실을  일으키거나 서버가 장악됩니다.
* 알려진 취약점이 있는 구성요소를 사용한 애플리케이션과 API는 애플리케이션 방어를 약하게 하거나 다양한 공격과 영향을 주게 합니다.


*불충분한 로깅과 모니터링은 사고 대응의 비효율적인 통합 또는 누락과 함께 공격자들이 시스템을 더 공격하고, 지속성을 유지하며, 더 많은 시스템을 중심으로 공격할 수 있도록 만들고, 데이터를 변조, 추출 또는 파괴할 수 있습니다.
=== 불충분한 로깅과 모니터링 ===
*대부분의 침해 사례에서 침해를 탐지하는 시간이 200일이 넘게 걸리는 것을 보여주고, 이는 일반적으로 내부 프로세스와 모니터링보다 외부 기관이 탐지합니다.
* 불충분한 로깅과 모니터링은 사고 대응의 비효율적인 통합 또는 누락과 함께 공격자들이 시스템을 더 공격하고, 지속성을 유지하며, 더 많은 시스템을 중심으로 공격할 수 있도록 만들고, 데이터를 변조, 추출 또는 파괴할 수 있습니다.  
* 대부분의 침해 사례에서 침해를 탐지하는 시간이 200일이 넘게 걸리는 것을 보여주고, 이는 일반적으로 내부 프로세스와 모니터링보다 외부 기관이 탐지합니다.


[[분류:보안]]
[[분류:보안]]
[[분류:보안 취약점]]
[[분류:보안취약점]]
[[분류:정보보안기사]]
[[분류:정보보안기사]]
IT위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 IT위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소 편집 도움말 (새 창에서 열림)