learning center banner

OWASP는 무엇이며 OWASP Top 10은 무엇인가요?

OWASP 및 OWASP Top 10 탐색: 중요한 웹 보안 취약점에 대해 배우고 디지털 자산을 효과적으로 보호하는 방법을 익히세요.

오늘날 상호 연결된 디지털 환경에서 사이버 보안은 모든 규모의 조직에 있어 가장 중요한 문제로 떠올랐습니다. 사이버 위협이 계속 진화하고 더욱 정교해짐에 따라 강력한 보안 조치의 필요성이 그 어느 때보다도 중요해졌습니다. 이러한 상황에서 OWASP(Open Web Application Security Project)는 20년 이상 웹 애플리케이션 보안의 혼란스러운 바다를 헤쳐 나가는 초보자와 숙련된 전문가들에게 길잡이가 되어주는 등대 역할을 하고 있습니다. OWASP의 가장 가치 있는 기여 중 하나는 현재 웹 애플리케이션이 직면한 가장 중요한 보안 위험을 지적하는 포괄적인 가이드인 OWASP Top 10 목록입니다.

Open Web Application Security Project (OWASP) OWASP Top 10

OWASP란 무엇인가요?

2001년에 설립된 OWASP는 커뮤니티 주도의 오픈 소스 소프트웨어 프로젝트를 통해 소프트웨어의 보안을 향상시키기 위해 헌신하는 비영리 재단입니다. 전 세계에 수백 개의 챕터와 수만 명의 회원, 그리고 선도적인 교육 및 훈련 컨퍼런스를 가진 OWASP는 사이버 보안 커뮤니티의 초석으로 자리 잡았습니다.

조직의 사명은 소프트웨어 보안을 가시화하여 개인과 조직이 실제 소프트웨어 보안 위험에 대해 정보에 기반한 결정을 내릴 수 있도록 하는 것입니다. 공정하고 실용적이며 자유롭게 이용할 수 있는 애플리케이션 보안 정보를 제공함으로써 OWASP는 개발자, 보안 전문가 및 조직이 안전한 소프트웨어 애플리케이션을 생성하고 유지하도록 돕습니다.

OWASP의 기여는 다음과 같이 다양합니다:

  • 오픈 소스 보안 도구 및 라이브러리
  • 포괄적인 보안 문서 및 모범 사례
  • 네트워킹 및 지식 공유를 위한 지역 챕터
  • 전 세계 컨퍼런스 및 이벤트
  • 보안 표준 및 가이드라인

OWASP Top 10이란 무엇인가요?

OWASP Top 10은 웹 애플리케이션의 가장 중요한 보안 위험 10가지를 정리한 정기 업데이트 보고서입니다. 이 목록은 웹 애플리케이션 보안에 대한 강력한 인식 문서로서, 조직이 직면한 가장 중요한 위험 중 일부를 식별합니다. Top 10 프로젝트는 전 세계 보안 전문가들의 광범위한 합의에 기반하고 있어, 웹 애플리케이션을 보호하려는 조직에 대한 권위 있는 정보 출처가 됩니다.

OWASP Top 10의 주요 목표는 다음과 같습니다:

  • 개발자, 설계자, 아키텍트 및 조직에게 가장 일반적인 웹 애플리케이션 보안 취약점의 결과에 대해 교육하기
  • 이러한 높은 위험 문제 영역에 대한 보호 기본 기술 제공하기
  • 애플리케이션 보안에 대한 추가 정보 제공 위치 안내하기

가장 중요한 위험에 집중함으로써 OWASP Top 10은 조직이 보안 노력을 우선 순위화하는 데 도움을 주며, 자원을 가장 시급한 취약점을 해결하는 데 할당하도록 합니다.

최신 OWASP Top 10 (2021)

OWASP Top 10의 최신 버전은 2021년에 발표되었으며, 웹 애플리케이션 보안의 진화하는 환경을 반영하고 있습니다. 각 취약점에 대해 깊이 파고들어 이들이 무엇인지, 왜 위험한지, 어떻게 완화할 수 있는지 이해해 보겠습니다. OWASP Top 10은 일반적으로 몇 년마다 업데이트되며, 다음 업데이트는 2025년 초에 예상됩니다.

OWASP Top 10 in 2021

1. 접근 제어 실패(Broken Access Control)

2017년 다섯 번째 위치에서 2021년에는 첫 번째로 올라온 접근 제어 실패는 가장 중요한 웹 애플리케이션 보안 위험이 되었습니다. 이 취약점은 사용자가 의도된 권한을 넘어 행동할 수 있게 되어, 무단 정보 공개, 수정 또는 데이터 파괴로 이어질 수 있습니다.

접근 제어 실패의 예는 다음과 같습니다:

  • URL 매개변수를 수정하여 다른 사용자의 계정에 접근하기
  • 웹 브라우저의 상태를 수정하여 접근 확인을 우회하기
  • 관리자 권한으로 승격하기

이 위험을 완화하기 위해 개발자는 다음과 같은 강력한 접근 제어 메커니즘을 구현해야 합니다:

  • 최소 권한 원칙 준수
  • 적절한 세션 관리 구현
  • 접근 제어 메커니즘의 철저한 테스트 수행

2. 암호화 실패(Cryptographic Failures)

이전의 "민감한 데이터 노출(Sensitive Data Exposure)"로 알려진 이 카테고리는 종종 민감한 데이터 노출로 이어지는 암호화 관련 실패를 강조합니다. 이 위험은 민감한 정보를 보호하기 위해 암호화 및 기타 암호화 관행을 올바르게 구현하는 것의 중요성을 강조합니다.

일반적인 암호화 실패에는 다음이 포함됩니다:

  • 약한 암호화 알고리즘 사용
  • 강력한 알고리즘의 잘못된 구현
  • 부적절한 키 관리

이 위험을 해결하기 위해:

  • 강력하고 최신의 암호화 알고리즘 사용
  • 적절한 키 관리 관행 구현
  • 모든 민감한 데이터를 전송 및 저장 시 암호화

3. 주입(Injection)

SQL, NoSQL, OS 및 LDAP 주입과 같은 주입 결함은 신뢰할 수 없는 데이터가 명령이나 쿼리의 일부분으로 해석기에 전송될 때 발생합니다. 공격자의 악의적인 데이터는 해석기를 속여 의도하지 않은 명령을 실행하거나 적절한 권한 없이 데이터에 접근하게 할 수 있습니다.

주입 공격은 다음과 같은 결과를 초래할 수 있습니다:

  • 데이터 도난, 수정 또는 파괴
  • 데이터 무결성 상실
  • 서비스 거부
  • 완전한 시스템 장악

예방 조치는 다음과 같습니다:

  • 매개변수가 있는 쿼리 사용
  • 입력 유효성 검사 및 정제
  • ORM(Object Relational Mapping) 도구 채택

4. 불안전한 설계(Insecure Design)

OWASP Top 10에 새롭게 추가된 불안전한 설계는 설계 및 구조적 결함과 관련된 위험에 초점을 맞춥니다. 이 카테고리는 소프트웨어 개발 생애 주기의 시작부터 보안을 설계 원칙에 통합해야 할 필요성을 강조합니다.

불안전한 설계는 다음과 같은 형태로 나타날 수 있습니다:

  • 누락되거나 비효율적인 제어 설계
  • 비즈니스 논리 결함
  • 부적절한 위협 모델링

설계 보안을 개선하기 위해:

  • 안전한 개발 생애 주기 관행 구현
  • 설계 단계에서 위협 모델링 사용
  • 정기적인 보안 아키텍처 검토 수행

5. 보안 구성 오류(Security Misconfiguration)

보안 구성 오류는 여전히 널리 퍼진 문제로, 불안전한 기본 구성, 불완전하거나 임시 구성, 열린 클라우드 저장소, 잘못 구성된 HTTP 헤더 및 민감한 정보를 포함하는 자세한 오류 메시지에서 발생합니다.

일반적인 구성 오류에는 다음이 포함됩니다:

  • 불필요한 기능이 활성화되거나 설치됨
  • 변경되지 않은 기본 계정
  • 과도하게 정보가 포함된 오류 메시지

완화 전략:

  • 반복 가능한 하드닝 프로세스 구현
  • 구성을 정기적으로 검토하고 업데이트
  • 불필요한 기능 없이 최소 플랫폼 유지

6. 취약하고 오래된 구성 요소(Vulnerable and Outdated Components)

라이브러리, 프레임워크 및 기타 소프트웨어 모듈과 같은 구성 요소는 종종 전체 권한으로 실행됩니다. 만약 취약한 구성 요소가 악용된다면 심각한 데이터 손실이나 서버 장악을 초래할 수 있습니다.

취약한 구성 요소와 관련된 위험:

  • 널리 사용되는 구성 요소의 알려진 취약점
  • 오래된 버전에 대한 지원 부족
  • 구성 요소 버전 추적의 어려움

이 위험을 해결하기 위해:

  • 모든 구성 요소의 인벤토리 유지
  • CVE 및 NVD와 같은 소스를 모니터링하여 취약점 확인
  • 패치 관리 프로세스 구현

7. 식별 및 인증 실패(Identification and Authentication Failures)

이 카테고리는 이전의 "깨진 인증(Broken Authentication)"으로 알려진 것으로, 세션 관리, 자격 증명 관리 및 사용자 신원 수립 및 유지와 관련된 약점을 포함합니다.

일반적인 실패에는 다음이 포함됩니다:

  • 약한 비밀번호 허용
  • 잘못 구현된 다중 요소 인증
  • 세션 고정 공격

견고한 인증을 위한 모범 사례:

  • 다중 요소 인증 구현
  • 실패한 로그인 시도를 제한하거나 지연
  • 안전한 세션 관리 기술 사용

8. 소프트웨어 및 데이터 무결성 실패(Software and Data Integrity Failures)

이 새로운 카테고리는 소프트웨어 업데이트, 중요한 데이터 및 CI/CD 파이프라인과 관련하여 무결성을 검증하지 않고 가정하는 것에 초점을 맞춥니다. 이는 원치 않는 코드 실행 공격으로 이어질 수 있는 불안전한 역직렬화(insecure deserialization)를 포함합니다.

무결성 실패는 다음과 같은 결과를 초래할 수 있습니다:

  • 무단 코드 실행
  • 데이터 변조
  • 공급망 공격

완화 전략:

  • 소프트웨어 무결성을 검증하기 위해 디지털 서명 사용
  • 라이브러리 및 종속성이 신뢰할 수 있는 소스에서 온 것인지 확인
  • 중요 데이터에 대한 무결성 검사 구현

9. 보안 로깅 및 모니터링 실패(Security Logging and Monitoring Failures)

불충분한 로깅 및 사건 대응과의 비효율적인 통합은 공격자가 시스템을 추가로 공격하고 지속성을 유지하며, 더 많은 시스템으로 이동하고 데이터를 변조, 추출 또는 파괴할 수 있게 허용할 수 있습니다.

불충분한 로깅 및 모니터링의 결과:

  • 침해 탐지 지연
  • 적절한 포렌식 분석 수행 불가
  • 성공적인 공격의 영향 증가

로깅 및 모니터링 개선 방법:

  • 중앙 집중식 로그 관리 구현
  • 로그가 민감한 데이터를 포함하지 않으면서 충분한 세부정보를 캡처하도록 보장
  • 정기적으로 로그를 검토하고 분석하여 의심스러운 활동 감지

10. 서버 측 요청 위조(Server-Side Request Forgery, SSRF)

SSRF 결함은 웹 애플리케이션이 사용자 제공 URL을 검증하지 않고 원격 리소스를 가져올 때 발생합니다. 이는 공격자가 방화벽, VPN 또는 기타 네트워크 접근 제어 목록(ACL)으로 보호되고 있더라도 응용 프로그램이 예상하지 못한 목적지에 조작된 요청을 보내도록 강요할 수 있습니다.

SSRF는 다음과 같은 결과를 초래할 수 있습니다:

  • 데이터 유출
  • 내부 시스템 손상
  • 내부 네트워크에서의 측면 이동

SSRF를 방지하기 위해:

  • 모든 클라이언트 제공 입력 데이터를 정제하고 검증
  • 양성 허용 목록으로 URL 스키마, 포트 및 대상을 시행
  • HTTP 리디렉션 비활성화

OWASP Top 10의 목적과 중요성

OWASP Top 10은 조직, 개발자 및 보안 전문가에게 중요한 자원으로 작용합니다. 이 리스트는 웹 애플리케이션에 가장 중요한 위험에 초점을 맞추어 보안 노력을 우선 순위화하는 데 도움을 줍니다. 이러한 최상위 위험을 해결함으로써 조직은 전반적인 보안 태세를 크게 개선하고 다양한 잠재적 공격으로부터 보호할 수 있습니다.

OWASP Top 10은 단순한 취약점 목록이 아니라 다음을 포함하는 포괄적인 가이드입니다:

  • 각 위험에 대한 상세 설명
  • 예시 공격 시나리오
  • 이러한 취약점을 예방하는 방법에 대한 안내
  • 추가 학습을 위한 OWASP 및 기타 자료에 대한 참고

결론

OWASP Top 10은 개발에서 배포 및 유지 관리까지 웹 애플리케이션 생애 주기에 참여하는 누구에게나 귀중한 자원입니다. 가장 중요한 보안 위험에 대한 정보를 지속적으로 유지하고 추천된 예방 조치를 채택함으로써 우리는 잠재적 공격으로부터 우리의 디지털 인프라를 강화할 수 있습니다. 사이버 보안 위협이 계속 진화함에 따라 OWASP Top 10은 보다 안전한 온라인 세계를 만드는 우리의 공동 노력에서 필수적인 가이드로 남아 있을 것입니다.

자주 묻는 질문(FAQs)

Q1: OWASP Top 10은 얼마나 자주 업데이트되나요?

A1: OWASP Top 10은 약 3년마다 업데이트되며, 최신 버전은 2021년에 발표되었습니다.

Q2: OWASP Top 10을 내 조직에 어떻게 활용할 수 있나요?

A2: 조직은 OWASP Top 10을 보안 위험 평가를 수행하고, 식별된 취약점의 완화를 우선 순위화하며, 소프트웨어 개발 생애 주기에 안전한 코딩 관행을 통합하는 출발점으로 사용할 수 있습니다.

Q3: OWASP Top 10은 웹 애플리케이션에만 적용되나요?

A3: 주로 웹 애플리케이션에 초점을 맞추고 있지만, OWASP Top 10에서 권장하는 원칙과 관행은 다른 유형의 소프트웨어와 기술에도 적용되어 전반적인 보안 태세를 개선할 수 있습니다.

Q4: 이러한 위험을 완화하는 데 대한 더 많은 정보를 어디에서 찾을 수 있나요?

A4: OWASP Top 10 보고서는 각 위험에 대한 상세 설명을 제공하며, 예시, 발생률 및 예방에 대한 안내를 포함하고 있습니다. 또한 OWASP는 취약점을 완화하는 데 도움이 되는 치트 시트, 도구 및 추가 문서를 포함하여 웹사이트에서 풍부한 자료를 제공합니다.

회사 소개

Tencent EdgeOne는 다양한 위협을 효과적으로 차단하는 강력한 웹 공격 보호 기능을 제공합니다. OWASP Top 10에서 식별된 주요 보안 문제를 다루는 방대한 공격 기능 라이브러리를 통해 웹 공격, 취약점 악용, 트로이 목마, 백도어 및 기타 보안 문제로부터 위험을 완화합니다. 현재 무료 체험판을 출시했습니다. 가입하시거나 문의하시면 더 많은 정보를 얻으실 수 있습니다.