728x90
728x90

OWASP top 10

OWASP(Open Web Application Security Project)는 2001년도에 만들어진 국제 온라인 보안 단체이다.
OWASP 가 진행한 프로젝트 중 가장 유명한 것은 OWASP Top 10 인데, 이는 매 2~3년마다 업데이트되며 웹에서 가장 중요한 보안 취약점을 10개를 정리한 문서이다.

 

2021년에 달라진 점

새로운 카테고리 3개가 생겼고 4개의 카테고리는 범위와 이름이 변경되었으며 몇 개의 카테고리는 통합되었다.

 

TOP 10

01 : Broken Access Control

취약한 접근 제어는 2017년 5위에서 2021년 1위로 중요도가 상승하였다. 접근 제어란 사용자가 자신의 권한을 벗어난 행동을 할 수 없도록 제한하는 것을 말한다. 그 제한이 올바르게 작동하지 않을 때를 취약한 접근 제어라 한다. 취약한 접근 제어는 개인정보 탈취 뿐만 아니라 개인정보를 수정하거나 삭제하는 공격으로 이어질 수 있다.

  • 버그 또는 설계 결함으로 인한 권한 상승
  • CORS의 잘못된 구성으로 인해 신뢰할 수 없거나 허가되지 않은 소스에서 API 액세스 허용
  • 인증이 필요하거나 권한이 있는 페이지 접근 허용


02 : Cryptographic Failures

암호화 오류는 민감한 개인정보를 암호화하지 않거나 취약한 암호화 알고리즘을 사용하는 것을 의미한다.

이 항목은 "민감한 데이터 유출"이였지만 원인보다 결과를 중점으로한 이름이였기에 변경하였다.

  • 중요한 데이터를 일반 텍스트로 저장 또는 전송
  • 오래되었거나 취약한 암호화 알고리즘 사용
  • 서버 인증서 및 신뢰 체인의 유효성을 제대로 검사하지 않음


03 : Injection

주입 공격이란 임의의 쿼리 또는 명령을 실행하여 웹 사이트의 데이터를 변경하거나 데이터 베이스를 조회, 수정, 삭제하는 공격이다.
가장 대표적인 injection 공격은 SQL injection과 사이트 간 스크립팅(XSS) 공격이 있다.

  • 사용자가 입력한 데이터를 검증, 필터링 하지 않음


04 : Insecure Design

안전하지 않은 설계 취약점은 설계와 아키텍처의 결함에 중점을 둔다.

구현의 결함과 다른 것으로 취약한 설계로 잘 구현된 것은 여전히 공격에 취약하다.

소프트 웨어 개발 단계가 계획/분석 -> 설계 -> 구현 -> 검증 -> 배포 이런식으로 흘러간다면

초기 단계(설계)에서 생기는 오류는 중간 단계(구현)에서 보완할 수 없다는 뜻인 듯 합니다.


05 : Security Misconfiguration

취약한 환경설정

  • 응용프로그램의 모든 부분에서 보안 강화 부족
  • 클라우드 서비스에 대한 사용 권한이 잘못 구성됨
  • 포트, 서비스, 페이지, 계정 또는 권한과 같은 불필요한 기능 허용 또는 설치
  • 기본 계정/암호가 사용 가능 또는 변경되지 않음
  • 사용자에게 표시되는 오류 메시지에 스택 추적 또는 기타 중요한 정보가 포함됨
  • 최신 보안 기능이 활성화 또는 구현되지 않음
  • 소프트웨어가 최신 버전이 아님

 

06 : Vulnerable and Outdated Components

취약하거나 오래된 구성요소 사용

  • 사용하는 클라이언트측 및 서버측 구성 요소의 버전을 모를 경우
  • 소프트웨어가 취약하거나, 지원되지 않거나, 최신 버전이 아닌 경우
  • 개발자가 업데이트 또는 패치된 라이브러리의 호환성 테스트를 수행하지 않는 경우
  • 구성 요소의 구성이 안전하지 않은 경우


07 : Identification and Authentication Failures

식별 및 인증 오류

  • 자동화된 공격으로부터 보호되지 않음
  • 무차별 공격 허용
  • 기본 암호, 취약하거나 잘 알려진 암호 사용 허용
  • 다요소 인증을 사용하지 않거나 유효하지 않음
  • URL에서 식별된 세션 노출
  • 로그인 후 식별된 세션 재사용
  • 로그아웃 또는 비활성 상태일 때 사용자 세션 및 인증 토큰이 제대로 무효화되지 않음


08 : Software and Data Integrity Failures

소프트웨어 및 데이터 무결성 오류는 무결성이 검증되지 않은 소프트웨어 업데이트, 중요 데이터 및 CI/CD 취약성과 관련된다.


09 : Security Logging and Monitoring Failures

보안 로깅 및 모니터링 오류는 "충분하지 않은 로깅과 모니터링"에서 더 많은 유형의 보안 취약점을 포함하도록 확장되었다.

  • 로그인, 실패한 로그인 및 기타 유형의 이벤트가 기록되지 않음
  • 경고 및 오류로 인해 메시지가 생성되지 않거나 명확하지 않음
  • API 및 응용 프로그램 로그에서 의심스러운 작업을 검사하지 않음
  • 로그만 로컬로 저장하는 경우
  • 응용 프로그램을 실시간으로 공격을 탐지 또는 경고할 수 없음

 

10 : Server-Side Request Forgery

SSRF는 사용자가 요청한 URL의 유효성을 검사하지 않을 때 발생한다. 이를 통해 공격자는 방화벽, VPN 또는 다른 유형에 의해 보호되더라도 조작된 요청을 예기치 않은 대상에게 전송하도록 강제할 수 있다.


참고문헌

OWASP TOP 10 공식문서

crashtest-security : OWASP TOP 10 2021 – THE ULTIMATE VULNERABILITY GUIDE

728x90
728x90

'해킹' 카테고리의 다른 글

sql injection  (0) 2023.04.01
SSTI 취약점  (0) 2022.01.11
Cross Site Scripting (XSS)  (0) 2021.12.22
Same Origin Policy & Cross Origin Resource Sharing  (0) 2021.12.20
구글 도크 (Feat. 디렉토리 리스팅)  (0) 2021.10.14