보안지침¶
메타커머스 솔루션는 보안을 수행하기 위해 여러가지 기능과 기술들을 이용하여 OWASP(Open Web Application Security Project)의 보안 권고 사항을 최대한 준수합니다.
다음은 OWASP Top 10 Cheat Sheet 에서 발췌한 웹 애플리케이션의 취약점에 대한 간략한 설명과 문제 해결을 위한 메타커머스 솔루션 규정입니다.
A1 Injection¶
주입(injection)은 클라이언트에서 애플리케이션에 입력 데이터를 전송하여 부분 또는 전체 데이터를 부적절하게 조작합니다. 공격 대상에는 SQL, XML, ORM 코드 및 버퍼 오버플로가 포함됩니다.
OWASP 권장 사항¶
- Presentation : 올바른 컨텐츠 유형, 문자세트 및 로케일 설정
- Submission : 필드의 유효성 검증
- Controller : 사용자 데이터 입력 점검, 올바른 문자세트를 사용한 Form 데이타 검증
- Model : 매개 변수가 있는 쿼리(prepared statement query) 사용
메타커머스 규정¶
- 모든 Form 입력에 대해 XSS 필터링 사용
- 사용자가 입력하는 모든 Form 데이타 유효성 검사
- 쿼리 빌더 및 prepared statement query 사용
A2 Weak authentication and session management¶
부적절한 인증 또는 부적절한 세션 관리로 인해 사용자에게 주어진 권한보다 더 많은 권한을 얻을 수 있습니다.
OWASP 권장 사항¶
- Presentation : 인증 및 role 확인, Form 과 함께 CSRF 토큰 사용
- Design : 기본 제공되는 세션 관리만 사용하십시오.
- Controller : 사용자, role , CSRF 토큰 유효성 검사
- Model : role 확인
메타커머스 규정¶
- 기본 제공되는 세션 관리 사용
- 모든 Form 입력에 대해 CSRF 검증
A3 Cross Site Scripting (XSS)¶
악의적인 콘텐츠를 웹 사이트에 추가 하여 사용자에게 의도하지 않은 결과를 보여줍니다.
OWASP 권장 사항¶
- Presentation : 출력 컨텍스트에 따라 모든 사용자 데이터를 인코딩, 입력 제한을 설정
- Controller : Form 입력 유효성 검사
- Tip : 신뢰할 수있는 데이터만 처리, DB에 인코딩된 HTML 데이터를 저장하지 않습니다.
메타커머스 규정¶
- 모든 Form 입력에 대해 XSS 필터링 사용
- 모든 Form 입력에 대해 유효성 검증
A4 Insecure Direct Object Reference¶
애플리케이션이 사용자가 입력한 내용을 기반으로 객체에 대한 직접 액세스를 제공할 때 발생합니다. 이 취약점으로 인해 공격자는 시스템의 권한(예 : 데이터베이스 레코드 또는 파일)을 무시할 수 있습니다.
OWASP 권장 사항¶
- Presentation : 내부 데이터를 공개하지 마십시오. 무작위 참조지도 사용
- Controller : 신뢰할 수있는 소스 또는 임의의 참조 맵에서 데이터를 가져옵니다.
- Model : 데이터를 업데이트하기 전에 사용자 역할 유효성 검사
메타커머스 규정¶
- 모든 Form 입력에 대해 유효성 검증
- 타사 인증을 쉽게 추가할 수 있도록 구성
A5 Security Misconfiguration¶
애플리케이션 아키텍처의 부적절한 구성으로 인해 실수가 발생하여 전체 아키텍처의 보안이 손상될 수 있습니다.
OWASP 권장 사항¶
- Presentation : 웹 및 응용 프로그램 서버 강화, HTTP 엄격한 전송 보안 사용
- Controller : 웹 및 응용 프로그램 서버 강화, XML 스택 보호
- Model : 데이터베이스 서버 강화
메타커머스 규정¶
- SSL 기본 적용
- DB의 중요데이터 암호화 적용
A6 Sensitive Data Exposure¶
민감한 데이터는 네트워크를 통해 전송될 때 보호되어야합니다. 이러한 데이터에는 사용자 자격 증명 및 신용 카드가 포함될 수 있습니다. 일반적으로 데이터를 저장할 때 보호해야하는 경우 데이터를 전송 중에 보호해야합니다.
OWASP 권장 사항¶
- Presentation : TLS1.2 사용; 강력한 암호와 해시를 사용하십시오. 브라우저에 키나 해시를 전송하지 않음.
- Controller : 강력한 암호 및 해시 사용
- Model : 서버와의 강력한 암호화 된 통신 위임
메타커머스 규정¶
- SSL 기본 적용
- DB의 중요데이터 암호화 적용
A7 Missing Function Level Access Control¶
OWASP 권장 사항¶
- Presentation : 웹 이외의 데이터가 웹 루트(root) 외부에 있는지 확인, 사용자와 역할의 유효성을 검사, CSRF 토큰 전송
- Controller : 사용자(user) 및 Role의 유효성 검사, CSRF 토큰 검증
- Model : Role 검증
메타커머스 규정¶
- 애플리케이션 및 시스템과 공용 데이타 분리
- CSRF 전송 및 입력된 모든 사용자 데이타 CSRF 검증
A8 Cross Site Request Forgery (CSRF)¶
CSRF는 최종 사용자가 현재 인증된 웹 애플리케이션에서 원치 않는 작업을 강제로 수행하는 공격입니다.
OWASP 권장 사항¶
- Presentation : 사용자(user)와 역할(role) 유효성 검사, CSRF 토큰 전송
- Controller : 사용자(user)와 역할(role) 유효성 검사 CSRF 토큰 검증
- Model : 역할 검증
메타커머스 규정¶
- CSRF 전송 및 입력된 모든 사용자 데이타 CSRF 검증