개발 보안 요구사항 | 추가 설명 |
사용자에게 전달된 값(Hidden Form Field, Parameter)을 재사용할 경우 신뢰해서는 안된다. | 클라이언트에 저장된 정보는 쉽게 조작 가능하므로, 세션 기반으로 서버에서 처리하도록 변경 필요 |
최종 통제 메커니즘은 반드시 서버에서 수행되어야 한다. | 클라이언트에서 입력값을 검증하는 것은 쉽게 우회 가능 1차 검증은 클라이언트 측에서 하고 2차 검증은 서버 측에서 하도록 개발 필요 |
클라이언트에게 중요 정보를 전달하지 않는다. | 중요 정보 하드코딩 금지 쿠키에 중요 정보 전달 시 암호화 필수 |
중요 정보 전송 시 POST 메소드 및 SSL(HTTPS)를 적용한다. | 사용자로부터 중요 정보 받을 때 GET 메소드 사용 시 URL상에 정보가 노출되므로 POST 메소드 사용 필요 중요도에 따라 SSL을 사용한 암호화 통신 적용 |
중요한 트랜잭션이 일어나는 프로세스에 사용자의 비밀번호를 재확인한다. | 사용자 정보 변경 등 중요한 트랙잭션 발생 시 CSRF로 인한 피해를 방지하기 위해 비밀번호 재확인 |
중요 정보를 보여주는 페이지는 Cache를 사용하지 못하도록 설정한다. | 중요 정보를 보여주는 화면에 no-cache 설정을 하지 않으면, 로그아웃해도 뒤로가기하면 해당 내용을 볼 수 있음 no-cache설정은 브라우저나 프락시 서버로 하여금 해당 페이지 요청 시마다 캐시된 페이지를 사용하지 않고 매번 서버로부터 새롭게 전송받게 하는 설정 |
적절한 방법으로 암호화한다. | 자체 개발한 암호 알고리즘 사용은 지양. 암호화키를 사용하지 않으면 암호화가 아닌 단순 인코딩이므로 기밀성 보장 불가 암호화키는 소스코드에 하드코딩 되어서는 안됨 |
각 언어에서 제공하는 보안 수단을 이해한 후 사용한다. |
* 출처 : 알기사 정보보안기사 실기
'정보보안기사&CISSP관련 > Application Security' 카테고리의 다른 글
[Day 274] SNMP - Community String (0) | 2021.05.10 |
---|---|
[Day 100] 검색엔진 정보노출 취약점 (0) | 2020.11.18 |
[Day 99] HTTP Cookie 관련 보안 속성 (0) | 2020.11.17 |
[Day 74] IIS Web Log 종류 (0) | 2020.10.23 |
[Day 73] FTP Bounce Attack (0) | 2020.10.22 |