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 또는 다른 유형에 의해 보호되더라도 조작된 요청을 예기치 않은 대상에게 전송하도록 강제할 수 있다.
참고문헌
crashtest-security : OWASP TOP 10 2021 – THE ULTIMATE VULNERABILITY GUIDE
'해킹' 카테고리의 다른 글
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 |