오픈 웹 애플리케이션 보안 프로젝트(OWASP)는 소프트웨어 보안 향상을 목표로 하는 오픈 소스 애플리케이션 보안 커뮤니티입니다. OWASP Top 10은 개발자가 설계하고 배포하는 애플리케이션의 보안을 강화할 수 있도록 가장 중요한 애플리케이션 보안 위험을 나열한 업계 표준 가이드라인입니다.
보안 위험은 끊임없이 진화하고 있기 때문에 이러한 변화를 반영하기 위해 OWASP 상위 10대 목록은 주기적으로 수정됩니다. 2021년에 발표된 최신 버전의 OWASP Top 10에서는 더 이상 심각한 위협이 되지 않는 일부 취약점 유형이 심각한 위험을 초래할 가능성이 가장 높은 취약점 유형으로 대체되었습니다.
가장 많이 인용된 취약점 중 일부는 2021년 OWASP 상위 10위 안에 들지 못했기 때문에 OWASP 상위 10위는 애플리케이션 보안을 시작하기에 좋은 곳이지만, 이를 최종 목표로 간주해서는 안 됩니다. 소프트웨어 취약점을 방어하려면 방어자는 정보 기술 스택 전반을 보다 광범위하게 살펴봐야 합니다. 즉, IT 보안 전문가는 전체 소프트웨어 에코시스템에 집중하고 '전통적인' 취약점의 원인을 넘어서야 합니다.
신뢰할 수 없는 데이터 소스가 인터프리터로 전송될 때마다 인젝션 결함이 발생할 수 있습니다. 사용자가 제공한 입력이 있는 SQL, LDAP, XPath 또는 NoSQL 동적 데이터베이스 쿼리에서 종종 그 예가 발견됩니다. 공격자는 사용자 입력에 코드를 삽입하여 쿼리 인터프리터를 속여 악성 명령을 실행하도록 합니다.
애플리케이션이 인젝션 결함에 취약한 이유는 무엇인가요?
사출 결함이 미치는 영향은 무엇인가요?
인젝션 결함에 대해 Fortify 어떻게 도움을 줄 수 있나요?
스테이트풀 애플리케이션에서 ID 또는 세션 데이터를 관리할 때 인증이 깨질 수 있습니다. 등록, 자격증명 복구, API 경로가 만료되지 않은 세션 토큰, 무차별 대입 또는 계정 열거에 취약한 경우가 그 예입니다. 공격자는 합법적인 사용자의 신원을 사칭하여 계정을 장악하고 데이터, 프로세스 또는 시스템을 손상시킵니다.
애플리케이션이 깨진 인증에 취약한 이유는 무엇인가요?
인증이 깨지면 어떤 영향이 있나요?
Fortify 어떻게 도와드릴까요?
애플리케이션이 암호화되지 않은 데이터, 특히 개인 식별 정보(PII) 및 기타 규제 대상 데이터 유형에 액세스할 때 민감한 데이터 노출 문제가 발생할 수 있습니다. 레거시 애플리케이션에서 취약한 암호화 사이퍼를 사용하거나 보안 전송 프로토콜이 잘못 구현되었거나 데이터 중심 보안이 사용되지 않는 경우가 종종 그 예입니다. 공격자는 민감한 사용자 데이터에 액세스하여 실생활에서 제어할 수 있는 권한을 얻게 됩니다.
애플리케이션이 민감한 데이터 노출에 취약한 이유는 무엇인가요?
민감한 데이터 노출의 영향은 무엇인가요?
민감한 데이터 노출에 대해 Fortify 어떤 도움을 받을 수 있나요?
XML 외부 엔티티 문제는 외부 엔티티에 대한 참조가 포함된 XML 입력이 잘못 구성된 파서에 의해 처리될 때 발생할 수 있습니다. 신뢰할 수 없는 소스에서 XML 입력을 구문 분석하는 애플리케이션, 문서 유형 정의(DTD)가 활성화된 경우 또는 SOAP 1.0과 같은 패치되지 않은 프레임워크를 사용하는 애플리케이션에서 종종 이러한 예가 발견됩니다. XML은 SVG 및 이미지 파일부터 네트워킹 프로토콜, PDF 및 RSS와 같은 문서 형식에 이르기까지 어디에나 존재합니다. 공격자는 XML 입력에서 외부 엔티티를 참조하여 프로세서를 악용하여 데이터를 추출하거나 원격으로 코드를 실행하거나 네트워크 서비스에 영향을 미칩니다.
애플리케이션이 XML 외부 엔티티에 취약한 이유는 무엇인가요?
XML 외부 엔티티의 영향은 무엇인가요?
Fortify XML 외부 엔티티에 어떤 도움을 줄 수 있나요?
접근 제어 문제는 코드 및 환경 제한이 불완전하게 겹치거나 유사한 기능에 대해 여러 곳에 정의되어 있을 때 발생할 수 있습니다. 제한된 페이지에 대한 강제 탐색을 통해 모호성을 통한 보안이 깨지거나 애플리케이션이 여러 방법과 위치에서 액세스 제어를 위한 복잡한 방법을 정의하는 경우의 예가 종종 발견됩니다. 공격자는 액세스 경계를 손상시켜 민감한 데이터를 훔치거나 운영을 방해할 수 있습니다.
애플리케이션이 취약한 액세스 제어에 취약한 이유는 무엇인가요?
액세스 제어가 중단되면 어떤 영향이 있나요?
고장난 액세스 제어에 대해 Fortify 어떻게 도움을 받을 수 있나요?
애플리케이션 또는 기본 환경을 구성하는 동안 보안 구성 결함이 발생할 수 있습니다. 잘못된 구성은 네트워크 서비스 및 애플리케이션 서버부터 컨테이너 및 스토리지에 이르기까지 애플리케이션 스택의 모든 수준에서 발생할 수 있습니다. 기본 계정 및 구성, "누수" 오류 메시징, 패치되지 않은 프레임워크 및 서비스에서 종종 발견됩니다. 공격자는 배포 정보를 얻고 권한 있는 데이터에 액세스하여 운영을 방해할 수 있습니다.
애플리케이션이 보안 구성 오류에 취약한 이유는 무엇인가요?
보안 구성이 잘못되면 어떤 영향이 있나요?
영향은 정보 공개부터 시스템 전체 손상까지 다양합니다.
보안 설정 오류에 대해 Fortify 어떻게 도움을 받을 수 있나요?
신뢰할 수 없고 위생 처리되지 않은 사용자 입력이 HTML의 일부로 실행되거나 사용자가 악성 링크와 상호 작용하도록 영향을 받을 수 있는 경우 크로스 사이트 스크립팅(XSS) 결함이 발생할 수 있습니다. 자바스크립트나 플래시와 같은 언어의 익숙한 코드 구성이 신뢰할 수 없는 소스에서 허용되거나 나중에 다른 사용자 에이전트가 표시할 수 있도록 저장되는 경우가 종종 있습니다. 공격자는 사용자 컴퓨터에서 원격 코드 실행을 수행하거나 자격 증명을 훔치거나 리디렉션 사이트에서 멀웨어를 전달할 수 있습니다.
애플리케이션이 크로스 사이트 스크립팅(XSS)에 취약한 이유는 무엇인가요?
일반적으로 브라우저와 같은 사용자 에이전트를 대상으로 하는 세 가지 형태의 XSS가 있습니다:
크로스 사이트 스크립팅(XSS)의 영향은 무엇인가요?
크로스 사이트 스크립팅(XSS)에 대한 Fortify 의 도움은 어떻게 받을 수 있나요?
안전하지 않은 역직렬화 결함은 언어와 프레임워크가 신뢰할 수 없는 직렬화된 데이터를 객체로 확장할 수 있도록 허용하는 경우, 주로 웹 애플리케이션이 사용자와 통신하거나 애플리케이션 상태를 저장할 때 발생할 수 있습니다. 개발자가 역직렬화 프로세스 중에 자체 실행할 수 있는 메서드에 아무런 제한을 두지 않는 경우가 종종 있습니다. 공격자는 애플리케이션 로직 외부에서 호출되는 이러한 "가젯 체인"을 활용하여 원격으로 코드를 실행하거나 서비스를 거부하거나 무단 액세스를 얻습니다.
애플리케이션이 안전하지 않은 역직렬화에 취약한 이유는 무엇인가요?
안전하지 않은 역직렬화의 영향은 무엇인가요?
안전하지 않은 역직렬화에 대해 Fortify 어떻게 도움을 줄 수 있나요?
이러한 결함은 오픈 소스 또는 타사 프레임워크와 라이브러리를 애플리케이션에 도입하여 동일한 권한으로 실행할 때 발생할 수 있습니다. 구성 요소 기반 개발로 인해 종속성과 관련된 위험에 대한 이해가 부족하고 구성 요소 또는 시스템을 패치하기 어렵거나 불가능한 경우가 종종 있습니다. 공격자들은 취약한 구성 요소를 활용하여 역사상 가장 큰 규모의 침해 사고를 일으켰으며, 취약성은 애플리케이션 손상에서 원격 코드 실행에 이르기까지 다양합니다.
애플리케이션이 오픈 소스 또는 타사 프레임워크 및 라이브러리에 취약한 이유는 무엇인가요?
알려진 취약점이 있는 컴포넌트를 사용하면 어떤 영향이 있나요?
알려진 취약점 중 일부는 경미한 영향을 미치지만, 하트블리드 및 셸쇼크와 같이 알려진 대규모 침해 사고는 공유 구성 요소의 알려진 취약점을 악용하는 데 의존했습니다. 알려진 코드 취약점이 있는 구성요소를 사용하면 영향을 받는 서버에서 원격 코드가 실행되어 공격자가 시스템을 완전히 제어할 수 있습니다.
Fortify 오픈소스 보안에 어떤 도움을 줄 수 있나요?
불충분한 로깅 및 모니터링 결함은 공격 벡터나 애플리케이션의 잘못된 동작을 잘 이해하지 못하거나 침해 지표에 대한 모니터링 모범 사례를 따르지 않을 때 발생할 수 있습니다. 로깅 기능이 없는 레거시 시스템, 애플리케이션 침투 테스트 로그를 검토하지 않거나 로그가 공격자가 수행한 작업을 이해하는 데 충분한 세부 정보를 제공하지 않는 경우의 예가 종종 발견됩니다. 공격자는 일반적으로 외부에서 발견되는 탐지에 평균 200일 정도의 시간을 두고 지속성을 확보하고 취약한 시스템을 추가로 공격합니다.
애플리케이션이 불충분한 로깅 및 모니터링에 취약한 이유는 무엇인가요?
불충분한 로깅 및 모니터링이 미치는 영향은 무엇인가요?
대부분의 성공적인 공격은 취약점 조사에서 시작됩니다. 이러한 프로브를 계속 허용하면 공격 성공 가능성이 높아질 수 있습니다. 공격자는 지속성을 확보하여 애플리케이션과 운영 체제를 백도어하고 데이터를 훔치거나 다른 방법으로 눈에 띄지 않게 시스템을 무단으로 제어할 수 있습니다. 보안에 중요한 정보를 적절하게 기록하거나 저장하지 않으면 포렌식 분석을 통해 공격의 출처를 찾을 수 있는 흔적이 남지 않습니다. 공격자가 로깅 기능을 계속 제어할 경우 문제가 있다는 사실을 파악하는 것이 더 어려워지거나 불가능해질 수 있습니다.
불충분한 로깅 및 모니터링에 대해 Fortify 어떤 도움을 받을 수 있나요?
2017년 마지막 톱 10이 발표된 이후 4년이 지났지만, 사이버 보안 업계에는 많은 변화가 있었기 때문에 최우선 관심사나 추가할 새로운 관심사에 대해 다시 생각하게 되었습니다.
세 가지 새로운 카테고리가 도입되었습니다:
A04:2021
안전하지 않은 디자인: 이 범주는 설계 결함에 중점을 둡니다. 개발에서 왼쪽으로 이동하려면 위협 모델링에서도 왼쪽으로 이동해야 하기 때문에 이 카테고리가 필요합니다.
A08:2021
소프트웨어 및 데이터 무결성 실패: 소프트웨어 업데이트, 중요 데이터 및 CI/CD 파이프라인이 영향을 미칠 수 있는 무결성을 검증하지 않고 가정에 초점을 맞춥니다. 여기에는 A08:2017 - 안전하지 않은 역직렬화도 포함됩니다.
A10:2021
서버 측 요청 위조(SSRF): 이 카테고리는 커뮤니티 설문조사에서 대부분 상위 10위 안에 들었습니다. 평균 이상의 악용 가능성과 영향력 때문에 이 취약점을 강조했습니다.
기타 변경 사항
다른 카테고리는 이름이 변경되었거나 순위가 이동되었거나 다른 카테고리로 통합되었습니다:
Fortify 이 조직에 어떤 도움을 줄 수 있는지 알고 싶으신가요? 지금 OpenText™ 에서 Fortify 온디맨드 15일 무료 평가판을 시작하세요.
Fortify 는 개발자가 문제를 빠르게 해결할 수 있도록 CI/CD 파이프라인 전반에서 테스트를 자동화하는 애플리케이션 보안 플랫폼으로 안전한 소프트웨어를 빠르게 빌드할 수 있도록 지원합니다.
보안 테스트, 취약성 관리, 맞춤형 전문 지식 및 지원을 활용하세요.
업계에서 가장 정확한 결과를 통해 보안 문제를 조기에 발견하고 해결하세요.
배포된 웹 애플리케이션 및 서비스의 취약점 식별
더 스마트하고 간편한 보호