사용자와 프로그램의 입력 데이터에 대한 유효성검증* 체계를 갖추고, 유효하지 않은 값에 대한 처리방법 설계
* 유효성검증(Validation) : 데이터가 특정 요구사항을 충족했다는 것을 확인하여 의도치 않는 동작 방지
1.1 DBMS 조회 및 결과 검증 (입출력 검증)
DBMS 조회시 질의문(SQL) 내 입력값과 그 조회결과에 대한 유효성 검증방법(필터링 등) 설계 및 유효하지 않은 값에 대한 처리방법 설계
1.2 XML 조회 및 결과 검증(입출력 검증)
XML 조회시 질의문(XPath, XQuery 등) 내 입력값과 그 조회결과에 대한 유효성 검증방법(필터링 등) 설계 및 유효하지 않은 값에 대한 처리방법 설계
1.3 디렉토리 서비스 조회 및 결과 검증(입출력 검증)
디렉토리 서비스(LDAP 등)를 조회할 때 입력값과 그 조회결과에 대한 유효성 검증방법 설계 및 유효하지 않은 값에 대한 처리방법 설계
1.4 시스템 자원 접근 및 명령어 수행 입력값 검증(입출력 검증)
시스템 자원접근 및 명령어를 수행할 때 입력값에 대한 유효성 검증 방법 설계 및 유효하지 않은 값에 대한 처리방법 설계
1.5 웹 서비스 요청 및 결과 검증(입출력 검증)
웹 서비스(게시판 등) 요청(스크립트 게시 등)과 응답결과 (스크립트를 포함한 웹 페이지)에 대한 유효성 검증방법 설계 및 유효하지 않은 값에 대한 처리방법 설계
1.6 웹 기반 중요기능 수행 요청 유효성 검증(입출력 검증)
비밀번호 변경, 결제 등 사용자 권한 확인이 필요한 중요기능을 수행할 때 웹 서비스 요청에 대한 유효성 검증방법 설계 및 유효하지 않은 값에 대한 처리방법 설계
1.7 HTTP 프로토콜 유효성 검증(입출력 검증)
비정상적인 HTTP 헤더, 자동연결 URL 링크 등 사용자가 원하지 않은 결과를 생성하는 HTTP 헤더·응답결과에 대한 유효성 검증방법 설계 및 유효하지 않은 값에 대한 처리방법 설계
1.8 허용된 범위 내 메모리 접근(입출력 검증)
해당 프로세스에 허용된 범위의 메모리 버퍼에만 접근하여 읽기 또는 쓰기 기능을 하도록 검증방법 설계 및 메모리 접근 요청이 허용범위를 벗어났을 때 처리방법 설계
1.9 보안기능 입력값 검증(입출력 검증)
보안기능(인증, 권한부여 등) 입력 값과 함수(또는 메소드)의 외부입력값 및 수 행결과에 대한 유효성 검증방법 설계 및 유효하지 않은 값에 대한 처리방법 설계
1.10 업로드·다운로드 파일 검증 (파일검증)
업로드·다운로드 파일의 무결성, 실행권한 등에 관한 유효성 검증방법 설계 및 부적합한 파일에 대한 처리방법 설계
“DB XML 디시 웹웹 HTTP 메보파”
(1.1~1.10 앞글자 암기)
👓 "DB에서 XML을 조회하다 디시인사이드에 접속했더니, 웹 요청을 두 번이나 하다가, HTTP 오류로 메모리 오류가 나고 보안기능까지 깨져 파일이 털렸다!"
DB – SQL 질의의 입력·출력 검증
XML – XPath/XQuery 질의의 입력·출력 검증
디렉토리 서비스 – LDAP 입력·출력 검증
시스템 자원 – 명령어 입력값 검증
웹 서비스 – 게시판 등 요청/응답 결과 검증
웹 중요기능 – 결제/비밀번호 변경 시 요청값 검증
HTTP – 헤더·응답결과의 유효성 검증
메모리 접근 – 허용 범위 내 접근 검증
보안기능 – 인증/권한 등의 함수 입력·결과 검증
파일 – 업로드/다운로드 파일 검증
“DB XML 디시웹웹 HTTP 메보파: 모든 입력값은 의심하고 검증하라!”