본문 바로가기
  • 테크에 관한 모든 것.
IT

[보안] Web Application 보안 표준 가이드라인(OWASP)

by @TA 2024. 3. 20.

OWASP(Open Web Application Security Project)는 오픈 커뮤니티에 의해 유지되는 비영리 단체로서, 웹 애플리케이션 보안에 대한 정보를 제공하고 보안 문제에 대한 인식을 증진하는 데 중점을 둡니다. 

 

OWASP는 웹 애플리케이션에서 발생할 수 있는 다양한 보안 취약점을 식별하고, 이에 대한 방어 및 예방 방법을 제시하여 개발자 및 보안 전문가에게 도움을 제공합니다.

OWASP의 주요 활동은 다음과 같습니다.

보안 취약점 목록 발표
OWASP는 주기적으로 웹 애플리케이션 보안을 위협할 수 있는 취약점들을 발표합니다. 이들 취약점은 OWASP Top 10과 같은 목록 형태로 제공되며, 가장 많이 발생하는 보안 위협들을 다룹니다.

보안 가이드 제공
OWASP는 웹 개발자 및 보안 전문가를 위한 다양한 보안 가이드를 제공합니다. 이 가이드에는 웹 애플리케이션에서 발생할 수 있는 다양한 보안 취약점에 대한 설명과 함께, 보안 문제를 해결하고 예방하기 위한 권장 사항이 포함됩니다.

도구 및 자원 제공
OWASP는 보안 테스트 및 평가를 지원하기 위한 다양한 도구와 자원을 제공합니다. 예를 들어, OWASP ZAP(Zed Attack Proxy)는 웹 애플리케이션 보안 테스트를 위한 오픈 소스 보안 도구로 널리 사용됩니다.

교육 및 컨퍼런스 개최
OWASP는 웹 애플리케이션 보안에 대한 교육 및 인식을 증진하기 위해 다양한 교육 프로그램 및 컨퍼런스를 개최합니다. 이들 행사에서는 보안 전문가들이 최신 보안 트렌드를 공유하고, 실제 보안 문제에 대한 해결책을 논의합니다.


OWASP의 목표는 웹 애플리케이션 보안에 대한 인식을 높이고, 보안 취약점을 최소화하여 온라인 환경에서 사용자와 데이터의 안전을 보장하는 것입니다. 이를 통해 개발자와 기업은 보다 안전하고 신뢰할 수 있는 웹 애플리케이션을 개발하고 운영할 수 있습니다.

 

[OWASP Mobile Top 10 2021]

OWASP Mobile Top 10 2021은 모바일 애플리케이션에서 발생할 수 있는 주요 보안 취약점을 나열한 목록입니다. 이 목록은 모바일 애플리케이션 개발자, 보안 전문가 및 테스터들에게 모바일 애플리케이션 보안에 대한 인식을 높이고 취약점을 식별하고 대응하는 데 도움을 줍니다. 아래는 OWASP Mobile Top 10 2021의 간략한 설명입니다:

Improper Platform Usage (잘못된 플랫폼 사용):
모바일 애플리케이션에서 플랫폼의 기능을 제대로 사용하지 않을 때 발생하는 취약점을 의미합니다. 예를 들어, 안드로이드나 iOS의 보안 기능을 올바르게 구성하지 않은 경우에 해당됩니다.

Insecure Data Storage (불안전한 데이터 저장):
데이터가 모바일 기기의 로컬 저장소에 불안전하게 저장되어 보호되지 않는 경우 발생하는 취약점입니다. 예를 들어, 암호화되지 않은 데이터베이스나 파일 시스템에 민감한 정보가 저장된 경우에 해당됩니다.

Insecure Communication (불안전한 통신):
모바일 애플리케이션이 서버 또는 외부 요청과의 통신을 위해 보안하지 않은 프로토콜이나 암호화를 사용하는 경우 발생하는 취약점입니다.

Insecure Authentication (불안전한 인증):
사용자 인증 및 세션 관리 시스템에서 발생하는 취약점을 의미합니다. 예를 들어, 약한 패스워드 정책, 세션 공격에 대한 취약점 등이 해당됩니다.

Insufficient Cryptography (부족한 암호화):
보안에 중요한 데이터가 충분히 암호화되지 않은 경우 발생하는 취약점을 의미합니다. 암호화 알고리즘이 약하거나, 적절한 키 관리가 이루어지지 않은 경우 해당됩니다.

Insecure Authorization (불안전한 권한 부여):
사용자의 권한이 제대로 관리되지 않고, 인가 체크가 부족한 경우 발생하는 취약점을 의미합니다. 예를 들어, 권한 오버라이드, 접근 제어 누락 등이 해당됩니다.

Poor Code Quality (코드 품질 부족):
애플리케이션의 코드에 보안 결함이 포함되어 있는 경우 발생하는 취약점을 의미합니다. 안전하지 않은 함수 호출, 입력 유효성 검사 누락 등이 해당됩니다.

Code Tampering (코드 변조):
악의적인 사용자가 애플리케이션의 코드나 데이터를 변경하거나 조작하는 경우 발생하는 취약점을 의미합니다.

Reverse Engineering (역공학):
악의적인 사용자가 애플리케이션의 코드나 데이터를 분석하고 해석하여 보안 취약점을 발견하거나 애플리케이션의 비즈니스 로직을 이해하는 경우 발생하는 취약점을 의미합니다.

Excessive Data Exposure (과도한 데이터 노출):
사용자 개인 정보나 기밀 데이터 등이 애플리케이션에서 과도하게 노출되는 경우 발생하는 취약점을 의미합니다. 개인 정보 보호 및 데이터 마스킹 등의 보호 조치가 부족한 경우 해당됩니다.

취약점 대응 방안
Improper Platform Usage 플랫폼 보안 설정 확인 및 최신 보안 업데이트 적용
Insecure Data Storage 민감한 데이터 암호화, 안전한 저장소 사용
Insecure Communication HTTPS 사용, 데이터 암호화
Insecure Authentication 강력한 인증 방법 사용, 다중 인증 요소 활성화
Insufficient Cryptography 암호화 알고리즘 및 키 관리 강화
Insecure Authorization 적절한 접근 제어 구현, 최소 권한 원칙 준수
Poor Code Quality 보안 취약점 스캔 및 수정, 안전한 코딩 관행 준수
Code Tampering 앱 무결성 검증, 코드 사이닝 사용
Reverse Engineering 앱 어설션 및 보호층 추가, 코드 난독화
Excessive Data Exposure 개인 정보 마스킹, 데이터 최소화, 민감한 데이터 암호화

 

[OWASP 외 공신력 있는 보안 가이드라인 제공 조직]

이름 설명
SANS Institute 정보 보안 교육 및 인증을 제공하는 국제적인 조직
CWE (Common Weakness Enumeration) 보안 취약점을 식별하고 분류하는 표준화된 목록 제공
NIST (National Institute of Standards and Technology) 정보 보안 및 암호화에 대한 표준 및 가이드라인 제공
ISC (Information Security Consortium) 정보 보안 분야의 교육, 연구 및 협력 촉진하는 국제적인 조직
ENISA (European Union Agency for Cybersecurity) 유럽연합 내에서 사이버 보안에 대한 지식과 전문성 증진을 위한 기관

 

 

반응형