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)
공격 원리: 충분한 로깅과 모니터링이 없는 경우, 공격을 탐지하고 적시에 대응하는 것이 어렵다.
방어 방법:
- 로깅 및 모니터링 시스템 구축
- 이상 징후와 사건에 대한 실시간 대응 및 경고 설정
'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 |