DevOps/AWS

OWASP Top 10 공격 패턴

kyoulho 2024. 7. 14. 12:00

OWASP(Open Web Application Security Project)는 매년 발표하는 OWASP Top 10 보안 취약점 목록을 통해 주요 웹 애플리케이션 보안 취약점을 정리하고 있다. 이들 취약점은 공격자가 웹 애플리케이션을 공격할 때 자주 이용하는 패턴들을 반영하고 있다.

1. 인젝션 (Injection)

공격 원리: 악의적인 코드를 웹 애플리케이션의 입력 파라미터에 주입하여 실행되게 하여 시스템을 손상시키거나 정보를 유출시키는 공격

예를 들어 SQL Injection(SQL 쿼리에 악의적인 SQL 코드를 삽입하는 것)이 있다.

방어 방법:

  • Prepared Statement 및 Parameterized Query 사용
  • 입력 데이터의 검증 및 이스케이핑(Escaping)

2. 인증 및 세션 관리 취약점 (Broken Authentication)

공격 원리: 악의적인 공격자가 인증을 우회하거나 세션을 탈취하여 사용자 계정에 불법적으로 접근하는 공격

방어 방법:

  • 강력한 비밀번호 정책 및 Multi-Factor Authentication(MFA) 도입
  • 세션 타임아웃 설정 및 세션 관리 방법 강화

3. 민감 데이터 노출 (Sensitive Data Exposure)

공격 원리: 암호화되지 않거나 취약한 암호화를 사용하여 민감한 데이터(예: 신용 카드 정보, 개인정보 등)가 공격자에게 노출되는 것

방어 방법:

  • 데이터 암호화(예: TLS 사용)
  • 민감한 데이터를 저장하지 않거나 최소한의 필요한 데이터만 저장

4. XML 외부 엔터티 (XML External Entities, XXE)

공격 원리: XML 파서를 통해 외부 엔티티(external entity)를 로드하여 서버의 파일 시스템을 읽거나 실행할 수 있는 공격

방어 방법:

  • 외부 엔티티 사용 금지
  • 안전하지 않은 XML 파서의 사용을 피하고, 보안 설정을 강화

5. 잘못된 접근 제어 (Broken Access Control)

공격 원리: 인가되지 않은 사용자가 허가되지 않은 자원에 접근할 수 있는 상황을 이용하는 공격

방어 방법:

  • 강화된 접근 제어 설정(예: Principle of Least Privilege)
  • URL 기반 접근 제어 및 권한 부여 시스템 구현

6. 보안 설정 오류 (Security Misconfiguration)

공격 원리: 보안 설정이 부적절하게 구성되어 있는 경우, 공격자가 시스템에 접근하거나 중요한 정보를 탈취할 수 있는 공격

방어 방법:

  • 보안 설정 강화 및 정기적인 보안 패치 적용
  • 기본적인 보안 설정 검토 및 수정

7. 크로스 사이트 스크립팅 (Cross-Site Scripting, XSS)

공격 원리: 공격자가 사용자의 웹 브라우저에서 실행되는 악성 스크립트를 삽입하여 사용자의 정보를 탈취하거나 세션을 탈취하는 공격

방어 방법:

  • 입력 데이터 검증 및 필터링
  • Content Security Policy(CSP) 사용 및 안전하지 않은 코드의 실행 방지

8. 인증된 업로드 및 실행 (Insecure Deserialization)

공격 원리: 악성 직렬화(serialization) 데이터를 이용하여 원격 코드 실행(RCE, Remote Code Execution)을 할 수 있는 공격

방어 방법:

  • 직렬화 데이터의 안전성 검사 및 검증
  • 서버 측 검증 및 실행 전 안전한 데이터로의 변환

9. 사용자 기기의 요구사항 (Using Components with Known Vulnerabilities)

공격 원리: 악성 사용자가 알려진 취약점이 있는 라이브러리 또는 소프트웨어 구성 요소를 이용하여 공격

방어 방법:

  • 보안 패치 및 업데이트 정기적으로 적용
  • 사용 중인 소프트웨어의 취약점 분석 및 대응 계획 수립

10. 부적절한 리다이렉트 및 포워드 (Insufficient Logging & Monitoring)

공격 원리: 충분한 로깅과 모니터링이 없는 경우, 공격을 탐지하고 적시에 대응하는 것이 어렵다.

방어 방법:

  • 로깅 및 모니터링 시스템 구축
  • 이상 징후와 사건에 대한 실시간 대응 및 경고 설정
728x90

'DevOps > AWS' 카테고리의 다른 글

[AWS] X-Ray  (0) 2024.07.16
CloudWatch  (0) 2024.07.15
Session Manger 를 이용하여 EC2에 연결하기  (0) 2023.06.18
AWS Aurora DB  (1) 2023.06.18
[WAF] NestJS 애플리케이션 AWS에 배포하기 08  (0) 2023.04.25