2021년 OWASP 상위 10위

2021년 9월 24일
2020년 인터넷 보안 현황 보고서 뉴스

내용물

무료로 씨디네트웍스를 이용해보세요

지금 바로 신청하면, 씨디네트웍스의 다양한 솔루션을 한 달간 무료로 체험하실 수 있습니다.

이 게시물 공유하기

OWASP는 무엇이며 Owasp Top 10은 무엇입니까?

OWASP(Open Web Application Security Project)는 전 세계적으로 소프트웨어 보안을 개선하기 위해 가장 적절한 웹 애플리케이션 보안 모범 사례 및 리소스를 문서화하는 국제 비영리 조직입니다. 조직과 개발자가 자신의 웹 보안을 개선할 수 있도록 자료를 공개적으로 사용하고 액세스할 수 있도록 합니다.

OWASP Top 10은 공격 벡터, 약점 및 방지 기술을 포함하여 보고서에서 가장 심각한 보안 문제 상위 10위를 순위 지정하는 문서 중 하나입니다. 

OWASP Top 10이 중요한 이유는 무엇입니까?

OWASP Top 10 보고서는 전 세계의 보안 전문가 그룹에 의해 작성되었습니다. 이 보고서는 2003년부터 발행되었으며 2~3년마다 업데이트되어 기업이 애플리케이션 보안 프로세스에 통합할 수 있는 실행 가능한 체크리스트를 제공합니다.

이 체크리스트는 크고 작은 조직에 중요하며 특히 최근에 수행된 사이버 공격의 폭발적인 양과 그 규모를 고려할 때 중요합니다. 의 경우를 들자면 콜로니얼 파이프라인 해킹 올해 4월 미국. 이 공격은 직원들이 회사 컴퓨터 네트워크에 원격으로 액세스할 수 있도록 허용하는 가상 사설망을 통해 조직의 네트워크에 진입하여 수행되었습니다. VPN 위반의 알려진 원인은 다단계 인증이 없기 때문에 해커가 유출된 사용자 이름과 비밀번호를 사용하여 간단히 통과할 수 있었습니다. 다크웹.

OWASP Ten은 어떤 영향을 미치나요?

OWASP Ten은 아마도 회사가 웹 애플리케이션의 보안 위험을 최소화하기 시작하는 가장 영향력 있는 지침 세트일 것입니다. OWASP 상위 10개 체크리스트는 기본적으로 보다 안전한 코드 생성을 목표로 조직에서 소프트웨어 개발 수명 주기를 변경하기 위한 시작 가이드 역할을 할 수 있습니다. 

그것의 영향력은 그것이 제공하는 정보의 특이성과 실행 가능성에 있습니다. 세계 유수의 조직에서 표준으로 채택한 이 표준은 종종 감사자가 규정 준수 표준을 평가할 때 필수 항목으로 간주합니다. 

OWASP 상위 10개 웹 애플리케이션 보안 위험에 대한 완화 및 예방

2021년 보고서에 요약된 OWASP 상위 10대 위험에는 다음이 포함됩니다.

1. 손상된 액세스 제어

2017년 보고서에서 다섯 번째 위치에서 위로 이동한 것은 Broken Access Control 범주로, 가장 심각한 웹 애플리케이션 보안 위험임을 나타냅니다. 이 공격 모드는 인증된 사용자의 작업에 대한 제한이 제대로 시행되지 않을 때 발생하여 공격자가 인증을 우회하고 마치 관리자인 것처럼 다른 사용자의 계정 및 권한을 보거나 수정하는 것과 같은 작업을 실행할 수 있습니다.

완화 방법: 손상된 액세스 제어를 보호하려면 애플리케이션이 인증 토큰을 사용하고 이에 대해 엄격한 제어를 설정하는지 확인하십시오. 로그인한 모든 사용자가 권한 있는 요청을 할 때 권한 부여 토큰을 갖도록 합니다. 또한 철저한 침투 테스트를 수행하여 의도하지 않은 액세스 제어가 없는지 확인하십시오.

2. 암호화 실패

이 범주의 제목은 "민감한 데이터 노출"이며 2017 OWASP Top 10 보고서에서 #3로 선정되었습니다. 금융, 의료 및 기타 PII 데이터와 같은 가장 민감한 데이터를 보호하는 애플리케이션의 오류로 인해 발생하는 위협의 근본 원인을 강조하기 위해 "암호화 오류"로 이름이 변경되었습니다. 실패는 일반 텍스트로 전송되는 데이터, 취약한 암호화 알고리즘, 시행되지 않는 암호화 및 사용된 암호화 프로세스의 기타 오류의 형태일 수 있습니다. 이는 신용 카드 사기, 신원 도용 또는 이를 수행하는 데 사용할 수 있는 공격자의 손쉬운 표적이 됩니다. 사용되는 일반적인 기술 중 하나는 공격자가 피해자와 도달하려는 서비스 사이에 자신을 배치하여 "전송 중" 데이터를 훔치는 중간자 또는 온패스 공격입니다.

완화 방법: 저장된 데이터를 민감도 수준으로 분류하여 시작하십시오. 가능한 한 민감한 데이터를 저장하지 말고 저장해야 하는 경우 이러한 모든 데이터를 암호화하십시오. 이러한 민감한 데이터의 캐싱을 비활성화하여 노출 위험을 최소화할 수도 있습니다. 

3. 주사

이전 OWASP 에디션의 최상위 위치에서 #3으로 미끄러져 내려온 것은 주입(Injection)으로, 공격자가 악의적인 데이터를 코드 해석기에 보내 이를 속이고 바람직하지 않은 명령을 실행하거나 승인되지 않은 데이터에 액세스하는 위협입니다. 이러한 공격은 일반적으로 레거시 코드에서 발생하며 양식 입력 또는 웹 애플리케이션에 대한 기타 데이터 제출을 통해 수행됩니다. 예를 들어 일반 텍스트 입력을 받는 양식이 있는 경우 공격자는 양식을 통해 실행할 SQL 데이터베이스 코드를 주입할 수 있으며, 이를 SQL 삽입 공격이라고 합니다.

완화 방법: 인젝션 공격은 명령 및 쿼리와 별도로 데이터를 검증하고 유지하는 데 모든 예방 조치를 취함으로써 예방할 수 있습니다. 여기에는 의심스러워 보이는 데이터를 거부하고 데이터의 문제가 있는 부분을 정리하는 작업이 포함됩니다. 이상적으로는 인터프리터 사용을 완전히 피할 수 있는 안전한 API를 사용해야 합니다. 데이터베이스 관리자는 주입 공격이 노출할 수 있는 정보의 양을 최소화하기 위해 적절한 제어를 설정할 수도 있습니다.

4. 안전하지 않은 설계

이것은 2021년 OWASP Top 10에 포함된 새로운 범주이며 디자인 및 아키텍처와 관련된 결함에 관한 것입니다. 일반적으로 특정 공격을 방어하기 위한 보안 제어 부족과 소프트웨어 개발 중 비즈니스 위험 프로파일링 부족으로 인해 안전하지 않은 설계를 유발하는 여러 가지 약점을 포함하는 광범위한 범주입니다. 예를 들어, 전자 상거래 웹사이트가 인기 있는 품목을 대량으로 구매하려는 봇으로부터 보호되지 않는 경우 대량 판매 손실을 입을 수 있으며 관심이 있었던 브랜드 및 잠재 고객의 평판이 손상될 수 있습니다. 그 항목.

완화 방법: 안전하지 않은 설계를 해결하는 방법은 보안 및 개인 정보 관련 제어에 대한 명확한 평가 및 설계와 함께 안전한 개발 수명 주기를 따르는 것입니다. 개발에는 보안 디자인 패턴 라이브러리의 사용이 포함되어야 하며 중요한 인증, 액세스 제어, 비즈니스 논리 및 키 흐름에 대한 위협 모델링을 채택해야 합니다.

5. 보안 구성 오류

공격으로 이어지는 가장 일반적인 문제 중 하나는 부적절한 보안 설정 구성입니다. 일반적인 원인은 애플리케이션 스택의 모든 부분에서 안전하지 않은 기본 구성, 포트, 서비스 페이지 또는 계정과 같은 불필요한 기능, 패치되지 않은 결함 및 기밀 정보를 드러내는 자세한 오류 메시지입니다. 이러한 실패로 인해 공격자는 중요한 데이터에 무단으로 액세스할 수 있으며 시스템이 완전히 손상될 수 있습니다. 

완화 방법: 모든 운영 체제, 라이브러리 및 애플리케이션이 결함 없이 안전하게 구성되고 정기적으로 업데이트되도록 합니다. 개발, QA 및 프로덕션과 같은 다양한 환경에도 서로 다른 자격 증명이 있어야 합니다. 필요한 경우 이 기능을 자동화할 수 있는 기술을 채택하십시오. 코드를 정리하여 사용하지 않는 기능을 제거하고 가능한 한 일반적인 오류 메시지를 유지하십시오.

6. 취약하고 오래된 구성 요소

이전 버전의 "알려진 취약점이 있는 구성 요소 사용"이라는 제목의 이 범주는 #9에서 #7로 올라갔습니다. 이러한 공격은 개발자가 응용 프로그램을 구축하는 동안 사용하는 구성 요소(라이브러리, 프레임워크 및 기타 모듈)에 대해 확신이 없을 때 발생합니다. 이러한 구성 요소 자체에는 종종 공격자가 악용할 수 있는 취약점이 포함되어 있어 데이터 손실 또는 서버 손상을 초래할 수 있습니다.

완화 방법: 외부 구성 요소의 개발자는 알려진 취약점에 대한 보안 패치 및 업데이트를 제공하지만 개발자가 애플리케이션에서 항상 이러한 업데이트를 실행하는 것은 아닙니다. 이러한 구성 요소를 통한 공격을 방지하려면 개발자는 사용하지 않는 종속성을 제거하고 소스에서 업데이트를 모니터링하고 최신 버전이 있는지 확인해야 합니다.

7. 식별 및 인증 실패

이 범주는 이전 버전에서 2위를 차지했을 때 Broken Authentication으로 알려졌습니다. 이제 식별 실패와 관련된 CWE(Common Weakness Enumerations)가 포함됩니다. CWE의 몇 가지 예는 CWE-297: 호스트 불일치가 있는 인증서의 부적절한 유효성 검사, CWE-287: 부적절한 인증 및 CWE-384: 세션 고정입니다. 이러한 공격은 일반적으로 인증 및 세션 관리에 취약한 애플리케이션을 대상으로 합니다. 공격자는 이러한 애플리케이션을 대상으로 암호, 키, 세션 토큰 등을 손상시킵니다. 이러한 보안 조치가 위반되면 사용자의 신원을 추측하거나 도용할 수 있습니다. 공격자가 사용하는 간단한 기술 중 하나는 자격 증명 스터핑으로, 대규모 데이터 유출에서 얻은 알려진 사용자 이름 또는 암호의 모든 조합을 시도하는 스크립트를 배포합니다. 

완화 방법: 최소한 기본적으로 2단계 인증(2FA) 또는 다단계 인증을 구현해야 합니다. 또한 취약한 암호를 피하고 정기적으로 암호를 변경하기 위한 의식적인 노력이 있어야 합니다. 속도 제한을 사용하여 반복되는 로그인 시도를 지연하는 것도 권장되는 또 다른 모범 사례입니다.

8. 소프트웨어 및 데이터 무결성 실패

이것은 OWASP Top 10에 추가된 위협의 새로운 범주로, 무결성을 확인하지 않고 소프트웨어 업데이트, 중요 데이터 및 CI/CD(지속적인 통합 및 전달) 파이프라인과 관련된 가정에 중점을 둡니다. 예를 들어 애플리케이션이 플러그인, 라이브러리, 콘텐츠 전송 네트워크(CDN) 또는 기타 모듈에 의존하는 경우 안전하지 않은 CI/CD 파이프라인은 무단 액세스 또는 악성 코드로 이어질 수 있습니다. 자동 업데이트 기능이 있거나 직렬화 또는 역직렬화를 사용하여 데이터가 저장되는 응용 프로그램도 위험합니다.

완화 방법: 이러한 유형의 공격을 모니터링하고 직렬화된 개체에 대한 디지털 서명과 같은 검사를 구현하고 특권 환경에서 역직렬화하는 코드를 격리할 수 있습니다. 유일한 확실한 방법은 신뢰할 수 없는 소스에서 라이브러리 또는 리포지토리에 대한 데이터 수락을 방지하는 것입니다. .

9. 보안 로깅 및 모니터링 실패

이전에 불충분한 로깅 및 모니터링이라는 제목이 붙은 이 범주는 이전 버전의 #10 위치에서 올라갔고 더 많은 유형의 오류를 포함하도록 확장되었습니다. 이 범주의 위협은 위반 탐지 지연의 결과입니다. 많은 연구에 따르면 유출이 감지되는 데 약 200일이 소요됩니다. 이 지연은 공격자가 시스템을 손상시키고 민감한 데이터를 숨기고 유지하거나 변조할 수 있는 충분한 시간을 제공합니다.

완화 방법: 모든 로그인, 액세스 제어 실패 및 서버 측 입력 실패가 기록되고 모니터링되는지 확인하십시오. 로그는 로그 관리 솔루션이 사용할 수 있는 형식으로 생성되어야 하며 로그 모니터링 시스템 자체에 대한 공격을 방지하기 위해 인코딩되어야 합니다. 특히 고부가가치 트랜잭션에서 데이터 변조를 제어하기 위해 무결성 제어가 포함된 감사 추적을 구현할 수도 있습니다.  

10. 서버측 요청 위조(SSRF)

이 위협 범주는 이전 버전의 OWASP Top 10에 새로 추가된 것입니다. SSRF 결함은 응용 프로그램이 원격 리소스를 검색할 때 사용자가 지정한 URL의 유효성을 검사하지 못할 때 발생하는 결함입니다. 이는 최종 사용자에게 편리한 기능을 제공하려는 최신 웹 애플리케이션과 클라우드 서비스 및 복잡한 아키텍처의 부상으로 인해 일반적인 공격 모드입니다. 공격자는 응용 프로그램이 제작된 요청을 예기치 않은 대상으로 보내도록 강제할 수 있습니다.

완화 방법: SSRF 공격은 원격 리소스 액세스 기능을 분할하고 "기본적으로 거부" 방화벽 정책을 시행하여 네트워크 계층에서 방어할 수 있습니다. 애플리케이션 계층에서 이러한 공격은 모든 클라이언트 제공 입력 데이터의 유효성을 검사하고 HTTP 리디렉션을 비활성화하고 원시 응답이 클라이언트로 전송되는 것을 방지하여 저지할 수 있습니다.

Application Shield(WAF) 및 무료 평가판 초대 소개

CDNetworks는 조직이 취약점과 공격으로부터 웹 애플리케이션을 보호할 수 있도록 지원하는 클라우드 기반 웹 애플리케이션 방화벽(WAF)인 애플리케이션 실드를 제공합니다. 당사의 글로벌 콘텐츠 전송 네트워크(CDN)와 통합되어 상시 가동되고 인라인 상태이므로 웹 자산을 항상 보호할 수 있습니다. Application Shield는 주입, XSS 및 기타를 포함하여 OWASP Top 10 위협으로부터 보호하고 일반적인 애플리케이션 취약성에 대한 규칙 및 가상 패치의 자동 생성을 허용합니다. 또한 액세스 제어, 속도 제한과 같은 OWASP Top 10 공격을 완화하고 저지하는 데 특화된 다른 많은 기능을 보유하고 있습니다. 또한 무료 DDoS 완화가 Application Shield에 포함되어 있습니다.

CDNetworks Application Shield가 어떻게 보안을 향상시킬 수 있는지 알아보십시오. 무료 평가판으로.

더 알아보기