본문 바로가기

IT/보안

OWASP란?

반응형

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은 다음과 같다.

  1. Injection (인젝션): SQL Injection, NoSQL Injection, OS Command Injection, LDAP Injection 등과 같이 사용자 입력값을 신뢰하지 않고 직접 SQL 쿼리나 명령어에 삽입하여 악용하는 공격이다.
  2. Broken Authentication (인증 및 세션 관리의 취약점): 취약한 인증, 세션 관리, 비밀번호 저장 등으로 인해 사용자의 인증 정보가 노출되거나 탈취될 수 있는 취약점이다.
  3. Sensitive Data Exposure (민감한 데이터 노출): 민감한 데이터(개인정보, 신용카드 정보 등)가 적절하게 암호화되지 않거나, 보호되지 않은 상태로 저장되거나 전송될 때 발생하는 취약점이다.
  4. XML External Entities (XXE): XML 파서의 취약점을 이용하여 악의적인 외부 엔티티나 파일을 로드하여 서버의 정보를 탈취하거나 공격하는 취약점이다.
  5. Broken Access Control (잘못된 접근 제어): 인증된 사용자가 자신의 권한 이상의 데이터나 기능에 접근할 수 있는 취약점이다.
  6. Security Misconfiguration (보안 구성 오류): 기본적인 보안 설정, 패치 관리, 디렉터리 목록 등을 잘못 구성하여 공격자가 취약점을 악용할 수 있는 상태를 만들어 내는 취약점이다.
  7. Cross-Site Scripting (XSS): 사용자 입력값을 그대로 출력하여 악성 스크립트가 실행되는 취약점으로, 공격자가 사용자의 세션을 탈취하거나 웹 페이지를 조작할 수 있다.
  8. Insecure Deserialization (불안전한 역직렬화): 역직렬화 과정에서 악성 객체 또는 코드를 실행할 수 있는 취약점으로, 서버 측에서 임의의 코드 실행이 가능해질 수 있다.
  9. Using Components with Known Vulnerabilities (알려진 취약점을 가진 구성 요소 사용): 사용된 소프트웨어 또는 라이브러리의 버전이 취약점이 발견된 상태인 경우, 해당 취약점을 악용하여 공격자가 시스템에 침입할 수 있는 취약점이다.
  10. 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은 다음과 같다.

  1. Broken Object Level Authorization (데이터 객체 수준의 권한 부여 오류): API 엔드포인트에서 사용자가 권한을 우회하거나 다른 사용자의 데이터에 접근할 수 있는 취약점이다.
  2. Broken User Authentication (사용자 인증의 취약점): API에 대한 인증 메커니즘의 부족, 잘못된 인증 구성, 인증 토큰의 유효성 검사 부족 등으로 인한 취약점이다.
  3. Excessive Data Exposure (과도한 데이터 노출): API 응답에 과도한 개인 정보나 민감한 데이터가 노출되는 취약점이다.
  4. Lack of Resources & Rate Limiting (리소스 및 요청 제한 부족): API의 리소스 및 요청 제한이 부족하여 공격자가 대규모 요청을 통해 서비스를 과부하시키는 취약점이다.
  5. Broken Function Level Authorization (기능 수준의 권한 부여 오류): API의 특정 기능에 대한 권한 부여가 부족하여 권한을 우회하거나 민감한 작업을 수행할 수 있는 취약점이다.
  6. Mass Assignment (대량 할당): API 요청에서 민감한 데이터를 변경하거나 공격자가 사용자 데이터를 조작할 수 있는 취약점이다.
  7. Security Misconfiguration (보안 구성 오류): API 서버 또는 클라이언트의 보안 설정이 부적절하게 구성되어 있어서 공격자가 취약점을 악용할 수 있는 취약점이다.
  8. Injection (인젝션): 사용자 입력이 안전하게 처리되지 않아서 공격자가 악성 코드나 명령어를 주입할 수 있는 취약점이다.
  9. Improper Assets Management (부적절한 자산 관리): API에 대한 권한, 접근 제어 및 보안 정책이 부적절하게 관리되어 데이터 유출 및 악용 가능성이 있는 취약점이다.
  10. 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