OWASP란?
OWASP는 "Open Web Application Security Project"의 약어로, 오픈 커뮤니티 기반의 웹 애플리케이션 보안 프로젝트를 의미한다. OWASP는 웹 애플리케이션 보안에 대한 인식을 높이고, 보안 취약점을 식별하고 예방하기 위한 다양한 리소스를 제공한다.
OWASP의 역사
OWASP는 2001년에 매켄지 레이와 윌프라드 개리가 웹 애플리케이션 보안을 개선하기 위해 만든 비영리 단체이다. 이 단체는 웹 애플리케이션 보안 문제에 대한 인식을 높이고 보안 취약점을 줄이기 위해 개발자, 보안 전문가 및 기타 이해관계자들을 모아서 활동하고 있다. 2001년에 OWASP는 매켄지 레이와 윌프라드 개리에 의해 시작되었다. 이들은 웹 애플리케이션 보안 취약점을 식별하고 대응하기 위한 공동의 노력이 필요하다고 판단하여 OWASP를 설립하게 되었다. 그 다음해인 2002년에 OWASP는 첫 번째 OWASP 버그 바운티 프로젝트를 시작했다. 이 프로젝트는 웹 애플리케이션에서 발견된 보안 취약점을 신고하고 보상을 제공하여 보안 취약점을 개선하고자 하는 노력이었다. 2003년에는 OWASP는 OWASP Top 10 프로젝트를 시작했다. 이 프로젝트는 각 년도마다 가장 위험한 웹 애플리케이션 보안 취약점을 소개하는 데 목적을 두고 있다. OWASP Top 10은 개발자와 보안 전문가들에게 웹 애플리케이션 보안에 대한 주요 위협을 알려주는 유용한 자료가 되었다. 이후 OWASP는 지속적으로 다양한 프로젝트를 진행하고 있으며, 웹 애플리케이션 보안에 대한 인식을 높이고 보안 취약점을 줄이기 위한 노력을 계속하고 있다. OWASP는 전 세계적으로 활발한 커뮤니티를 형성하고 있으며, 보안 전문가들과 개발자들 간의 지식 공유와 협력을 촉진하고 있다. 이렇듯 OWASP는 웹 애플리케이션 보안에 대한 인식을 높이고 보안 취약점을 줄이기 위한 다양한 노력을 기울이며, 그 활동은 계속해서 확장되고 있다.
OWASP의 주요 활동
- 보안 취약점 목록 발표: OWASP는 웹 애플리케이션에서 발생할 수 있는 다양한 보안 취약점에 대한 목록을 발표한다. 이 목록은 OWASP Top 10과 OWASP API Security Top 10을 포함하여 주요 보안 취약점을 강조하고 있다.
- 보안 가이드 및 도구 개발: OWASP는 웹 애플리케이션 개발자와 보안 전문가를 위한 다양한 보안 가이드와 도구를 개발하고 제공한다. 이러한 자료들은 보안 개발 생명주기(Secure SDLC)의 각 단계에 대한 가이드라인과 도구로 사용될 수 있다.
- 교육 및 워크숍: OWASP는 웹 애플리케이션 보안에 대한 교육 및 워크숍을 제공하여 개발자, 보안 전문가 및 기타 이해관계자들이 보안에 대한 인식을 높이고 실제로 적용할 수 있는 기술과 지식을 습득할 수 있도록 지원한다.
- 컨퍼런스 및 모임 개최: OWASP는 정기적으로 웹 애플리케이션 보안과 관련된 컨퍼런스 및 모임을 개최하여 이해관계자들 간의 지식 공유와 네트워킹을 촉진한다.
OWASP는 개발자, 보안 전문가, 조직 및 정부 등 다양한 이해관계자들을 대상으로 활동하며, 웹 애플리케이션 보안의 중요성을 인식시키고 보안 취약점을 예방하기 위한 지속적인 노력을 기울이고 있다. OWASP의 모든 자료와 활동은 무료로 공개되어 있으며, 누구나 자유롭게 이용할 수 있다.
OWASP Top 10
OWASP Top 10은 OWASP에서 발표하는 웹 애플리케이션 보안 취약점 중 상위 10가지를 나열한 목록이다. 이 목록은 웹 애플리케이션 보안에 대한 주요 위험을 식별하고, 개발자와 보안 전문가들이 주의를 기울여야 할 요소들을 제시한다. OWASP Top 10은 주기적으로 업데이트되며, 최신 보안 트렌드와 위협을 반영하고 있다.
2021년 기준으로 OWASP Top 10은 다음과 같다.
- Injection (인젝션): SQL Injection, NoSQL Injection, OS Command Injection, LDAP Injection 등과 같이 사용자 입력값을 신뢰하지 않고 직접 SQL 쿼리나 명령어에 삽입하여 악용하는 공격이다.
- Broken Authentication (인증 및 세션 관리의 취약점): 취약한 인증, 세션 관리, 비밀번호 저장 등으로 인해 사용자의 인증 정보가 노출되거나 탈취될 수 있는 취약점이다.
- Sensitive Data Exposure (민감한 데이터 노출): 민감한 데이터(개인정보, 신용카드 정보 등)가 적절하게 암호화되지 않거나, 보호되지 않은 상태로 저장되거나 전송될 때 발생하는 취약점이다.
- XML External Entities (XXE): XML 파서의 취약점을 이용하여 악의적인 외부 엔티티나 파일을 로드하여 서버의 정보를 탈취하거나 공격하는 취약점이다.
- Broken Access Control (잘못된 접근 제어): 인증된 사용자가 자신의 권한 이상의 데이터나 기능에 접근할 수 있는 취약점이다.
- Security Misconfiguration (보안 구성 오류): 기본적인 보안 설정, 패치 관리, 디렉터리 목록 등을 잘못 구성하여 공격자가 취약점을 악용할 수 있는 상태를 만들어 내는 취약점이다.
- Cross-Site Scripting (XSS): 사용자 입력값을 그대로 출력하여 악성 스크립트가 실행되는 취약점으로, 공격자가 사용자의 세션을 탈취하거나 웹 페이지를 조작할 수 있다.
- Insecure Deserialization (불안전한 역직렬화): 역직렬화 과정에서 악성 객체 또는 코드를 실행할 수 있는 취약점으로, 서버 측에서 임의의 코드 실행이 가능해질 수 있다.
- Using Components with Known Vulnerabilities (알려진 취약점을 가진 구성 요소 사용): 사용된 소프트웨어 또는 라이브러리의 버전이 취약점이 발견된 상태인 경우, 해당 취약점을 악용하여 공격자가 시스템에 침입할 수 있는 취약점이다.
- Insufficient Logging & Monitoring (부족한 로깅 및 모니터링): 충분한 로깅과 모니터링이 부족하여 공격이 발생했을 때, 해당 사실을 신속하게 감지하고 대응할 수 있는 능력이 부족한 취약점이다.
이러한 OWASP Top 10은 개발자와 보안 전문가들이 웹 애플리케이션 보안에 대한 우선 순위를 설정하고, 보안 대책을 수립할 때 참고할 수 있는 중요한 지침이다.
OWASP API Security Top 10
OWASP API Security Top 10은 OWASP에서 발표하는 API 보안 취약점 중 상위 10가지를 나열한 목록이다. 이 목록은 API 보안에 대한 주요 위험을 식별하고, 개발자와 보안 전문가들이 주의를 기울여야 할 요소들을 제시한다. OWASP API Security Top 10은 2019년에 처음으로 발표되었으며, API 보안을 강화하기 위한 지침을 제공한다.
2021년 기준으로 OWASP API Security Top 10은 다음과 같다.
- Broken Object Level Authorization (데이터 객체 수준의 권한 부여 오류): API 엔드포인트에서 사용자가 권한을 우회하거나 다른 사용자의 데이터에 접근할 수 있는 취약점이다.
- Broken User Authentication (사용자 인증의 취약점): API에 대한 인증 메커니즘의 부족, 잘못된 인증 구성, 인증 토큰의 유효성 검사 부족 등으로 인한 취약점이다.
- Excessive Data Exposure (과도한 데이터 노출): API 응답에 과도한 개인 정보나 민감한 데이터가 노출되는 취약점이다.
- Lack of Resources & Rate Limiting (리소스 및 요청 제한 부족): API의 리소스 및 요청 제한이 부족하여 공격자가 대규모 요청을 통해 서비스를 과부하시키는 취약점이다.
- Broken Function Level Authorization (기능 수준의 권한 부여 오류): API의 특정 기능에 대한 권한 부여가 부족하여 권한을 우회하거나 민감한 작업을 수행할 수 있는 취약점이다.
- Mass Assignment (대량 할당): API 요청에서 민감한 데이터를 변경하거나 공격자가 사용자 데이터를 조작할 수 있는 취약점이다.
- Security Misconfiguration (보안 구성 오류): API 서버 또는 클라이언트의 보안 설정이 부적절하게 구성되어 있어서 공격자가 취약점을 악용할 수 있는 취약점이다.
- Injection (인젝션): 사용자 입력이 안전하게 처리되지 않아서 공격자가 악성 코드나 명령어를 주입할 수 있는 취약점이다.
- Improper Assets Management (부적절한 자산 관리): API에 대한 권한, 접근 제어 및 보안 정책이 부적절하게 관리되어 데이터 유출 및 악용 가능성이 있는 취약점이다.
- Insufficient Logging & Monitoring (부족한 로깅 및 모니터링): 충분한 로깅과 모니터링이 부족하여 공격이 발생했을 때, 해당 사실을 신속하게 감지하고 대응할 수 있는 능력이 부족한 취약점이다.
이러한 OWASP API Security Top 10은 API 개발자와 보안 전문가들에게 API 보안에 대한 우선 순위를 설정하고, 보안 대책을 수립할 때 참고할 수 있는 중요한 지침이다.
'IT > 보안' 카테고리의 다른 글
안티바이러스 및 PC 보안 용어 50선 (2) (1) | 2024.03.21 |
---|---|
안티바이러스 및 PC 보안 용어 50선 (1) (0) | 2024.03.21 |
악성코드란? (0) | 2024.02.14 |
Brute Force Attack이란? (2) | 2023.07.18 |
Spoofing이란? (0) | 2023.07.18 |