IL - 정보 누출 ■ 점검내용 웹 서비스 시 불필요한 정보가 노출되는지 여부 점검 ■ 점검목적 웹 서비스 시 불필요한 정보가 노출되는 것을 방지함으로써 2차 공격에 활용될 수 있는 정보 노출을 차단하기 위함 ■ 보안위협 웹 사이트에 중요정보(개인정보, 계정정보, 금융정보 등)가 노출되거나 에러 발생 시 과도한 정보(애플리케이션 정보, DB 정보, 웹 서버 구성 정보, 개발 과정의 코멘트 등)가 노출될 경우 공격자들의 2차 공격을 위한 정보로 활용될 수 있음 ■ 참고 ※ 소스코드 및 취약점 점검 필요 점검대상 및 판단기준 ■ 대상 : 웹 애플리케이션 소스코드 양호 웹 사이트에 중요정보가 노출되지 않고, 에러 발생 시 과도한 정보가 노출되지 않는 경우 취약 웹 사이트에 중요정보가 노출되거나, 에러 발생 시..
CC - 쿠키 변조 ■ 점검내용 쿠키 사용 여부 및 사용하는 경우 안전한 알고리즘으로 암호화 여부 점검 ■ 점검목적 쿠키를 사용하는 경우 안전한 알고리즘으로 암호화하여 공격자가 쿠키 인젝션 등과 같은 쿠키 값 변조를 통한 다른 사용자로의 위장 및 권한 변경을 방지하고자 함 ■ 보안위협 클라이언트에 전달되는 쿠키에 사용자 식별 값이 평문으로 노출될 경우 쿠키 변조를 통해 다른 사용자의 유효한 세션을 취득할 수 있으며, 기타 중요정보의 유출 및 변조 가능함 ■ 참고 ※ 쿠키(Cookie): 인터넷 사용자가 어떠한 웹 사이트를 방문할 경우 그 사이트가 사용하고 있는 서버에서 인터넷 사용자의 컴퓨터에 설치하는 작은 기록 정보 파일 ※ 소스코드 및 취약점 점검 필요 점검대상 및 판단기준 ■ 대상 : 웹 애플리케이..
SI - SQL 인젝션 ■ 점검내용 웹페이지 내 SQL 인젝션 취약점 존재 여부 점검 ■ 점검목적 대화형 웹 사이트에 비정상적인 사용자 입력 값 허용을 차단하여 악의적인 데이터베이스 접근 및 조작을 방지하기 위함 ■ 보안위협 해당 취약점이 존재하는 경우 비정상적인 SQL 쿼리로 DBMS 및 데이터(Data)를 열람하거나 조작 가능하므로 사용자의 입력 값에 대한 필터링을 구현하여야 함 ■ 참고 ※ SQL인젝션: 사용자의 입력 값으로 웹 사이트 SQL 쿼리가 완성되는 약점을 이용하며, 입력 값을 변조하여 비정상적인 SQL 쿼리를 조합하거나 실행하는 공격. 개발자가 생각지 못한 SQL문을 실행되게 함으로써 데이터베이스를 비정상적으로 조작 가능함 ※ SQL인젝션 공격 관련 코드 검토 필요 ※ 소스코드 및 취약점..
FS - 포맷 스트링 ■ 점검내용 웹 애플리케이션에 포맷 스트링 취약점 존재 여부 점검 ■ 점검목적 공격자의 포맷 스트링 취약점을 통한 악의적인 행위를 차단하기 위함 ■ 보안위협 C언어로 만드는 프로그램 중 변수의 값을 출력하거나 입력받을 때 입력받은 값을 조작하여 프로그램의 메모리 위치를 반환받아 메모리 주소를 변조하여 시스템의 관리자 권한을 획득할 수 있음 ■ 참고 ※ 포맷 스트링 버그(format string bug): printf 등의 함수에서 문자열 입력 포맷을 잘못된 형태로 입력하는 경우 나타나는 취약점으로 루트 권한을 획득하는 것도 가능함. 포맷 스트링의 종류에는 여러 가지가 있으며 그 중 C언어에서 일반적으로 Data(변수)를 입·출력문에서 일정한 형태로 받아들이거나 출력하기 위하여 사용하..
SC - 불충분한 세션 만료 ■ 점검내용 세션의 만료 기간 설정 여부 점검 ■ 점검목적 세션 타임아웃 기능을 구현하여 공격자가 만료되지 않은 세션 활용을 방지하기 위함 ■ 보안위협 세션의 만료 기간을 정하지 않거나, 만료기한을 너무 길게 설정된 경우 악의적인 사용자가 만료되지 않은 세션을 활용하여 불법적인 접근이 가능할 수 있음 ■ 참고 ※ 소스코드 및 취약점 점검 필요 점검대상 및 판단기준 ■ 대상 : 웹 애플리케이션 소스코드, 웹 서버 양호 세션 종료 시간이 설정되어 있는 경우 취약 세션 종료 시간이 설정되어 있지 않아 세션 재사용이 가능한 경우 ■ 조치방법 세션 종료 시간 설정 또는 자동 로그아웃 기능 구현(세션 종료 시간은 사이트의 특성에 따라 달라질 수 있으므로 사이트의 특성에 맞게 적정 시간 ..
PT - 경로 추적 ■ 점검내용 웹 서버와 웹 애플리케이션의 파일 또는 디렉터리의 접근 통제 여부 점검 ■ 점검목적 웹 서버 또는 웹 애플리케이션의 중요한 파일과 데이터의 접근 및 실행을 방지하고자 함 ■ 보안위협 웹 서버와 웹 애플리케이션의 파일 또는 디렉터리 접근이 통제되지 않아 웹 서버 또는 웹 애플리케이션의 중요한 파일과 데이터에 접근을 허용하는 취약점으로 웹 루트 디렉터리에서 외부의 파일까지 접근하여 이를 실행할 수 있음 ■ 참고 ※ 소스코드 및 취약점 점검 필요 점검대상 및 판단기준 ■ 대상 : 웹 애플리케이션 소스코드, 웹 서버, 웹 방화벽 양호 웹 루트 디렉터리보다 상위 디렉터리(예. /root)에 접근이 불가능한 경우 취약 웹 루트 디렉터리보다 상위 디렉터리에 접근이 가능한 경우 ■ 조치..
SF - 세션 고정 ■ 점검내용 사용자 로그인 시 항상 일정하게 고정된 세션 ID 값을 발행하는지 여부 확인 ■ 점검목적 로그인할 때마다 예측 불가능한 새로운 세션 ID를 발행하여 세션 ID의 고정 사용을 방지하기 위함 ■ 보안위협 사용자 로그인 시 항상 일정하게 고정된 세션 ID가 발행되는 경우 세션 ID를 도용한 비인가자의 접근 및 권한 우회가 가능 ■ 참고 ※ 소스코드 및 취약점 점검 필요 점검대상 및 판단기준 ■ 대상 : 웹 애플리케이션 소스코드 양호 로그인할 때마다 예측 불가능한 새로운 세션 ID가 발행되고, 기존 세션 ID는 파기될 경우 취약 로그인 세션 ID가 고정 사용되거나 새로운 세션 ID가 발행되지만 예측 가능한 패턴으로 발행될 경우 ■ 조치방법 사용자가 로그인할 때마다 예측 불가능한 ..
SE - 세션 예측 ■ 점검내용 단순한 방법(연속된 숫자 할당 등)으로 생성되는 세션 ID를 예측하여 세션 탈취 여부 점검 ■ 점검목적 사용자의 세션ID를 추측 불가능하도록 난수로 생성하여 공격자의 불법적인 접근을 차단하기 위함 ■ 보안위협 사용자에게 전달하는 세션 ID가 일정한 패턴을 가지고 있는 경우 공격자가 세션 ID를 추측하여 불법적인 접근을 시도할 수 있음 ■ 참고 ※ 세션(Session): 일정 시간 동안 같은 사용자(브라우저)로 부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술 ※ 소스코드 및 취약점 점검 필요 점검대상 및 판단기준 ■ 대상 : 웹 애플리케이션 소스코드 양호 추측 불가능한 세션 ID가 발급되는 경우 취약 세션 ID가 일정한 패턴으로 발급되는 ..
PL - 위치 공개 ■ 점검내용 예측 가능한 폴더의 위치 사용 여부 및 불필요한 파일의 존재 여부 점검 ■ 점검목적 공격자가 폴더의 위치를 예측하여 파일 및 정보 획득을 방지하고자 함 ■ 보안위협 폴더나 파일명의 위치가 예측 가능하여 쉽게 노출될 경우 공격자는 이를 악용하여 대상에 대한 정보를 획득하고 민감한 데이터에 접근 가능 ■ 참고 - 점검대상 및 판단기준 ■ 대상 : 웹 서버 양호 불필요한 파일이 존재하지 않고, 샘플 페이지가 존재하지 않을 경우 취약 불필요한 파일이 존재하거나, 샘플 페이지가 존재하는 경우 ■ 조치방법 웹 루트 디렉터리 이하 모든 불필요한 파일 및 샘플 페이지 삭제 점검 및 조치 방법 ■ 점검방법 Step 1) 웹 루트 디렉터리 내 웹 서비스에 불필요한 확장자(.bak, .bac..
DI - 디렉터리 인덱싱 ■ 점검내용 웹 서버 내 디렉터리 인덱싱 취약점 존재 여부 점검 ■ 점검목적 디렉터리 인덱싱 취약점을 제거하여 특정 디렉터리 내 불필요한 파일 정보의 노출을 차단 ■ 보안위협 해당 취약점이 존재할 경우 브라우저를 통해 특정 디렉터리 내 파일 리스트를 노출하여 응용시스템의 구조를 외부에 허용할 수 있고, 민감한 정보가 포함된 설정 파일 등이 노출될 경우 보안상 심각한 위험을 초래할 수 있음 ■ 참고 ※ 디렉터리 인덱싱 취약점: 특정 디렉터리에 초기 페이지 (index.html, home.html, default.asp 등)의 파일이 존재하지 않을 때 자동으로 디렉터리 리스트를 출력하는 취약점 점검대상 및 판단기준 ■ 대상 : 웹 서버 양호 디렉터리 파일 리스트가 노출되지 않는 경우..
AE - 관리자 페이지 노출 ■ 점검내용 유추하기 쉬운 URL로 관리자 페이지 및 메뉴 접근의 가능 여부 점검 ■ 점검목적 관리자 페이지 URL이 유추하기 쉬운 이름(admin, manager 등) 및 웹 사이트 설계 오류를 수정하여 비인가자의 관리자 메뉴 접근을 방지하고자 함 ■ 보안위협 웹 관리자의 권한이 노출될 경우 웹 사이트의 변조뿐만 아니라 취약성 정도에 따라서 웹 서버의 권한까지도 노출될 수 있음 ■ 참고 ※ 소스코드 및 취약점 점검 필요 점검대상 및 판단기준 ■ 대상 : 웹 애플리케이션 소스코드, 웹 서버, 웹 방화벽 양호 유추하기 쉬운 URL로 관리자 페이지 접근이 불가능한 경우 취약 유추하기 쉬운 URL로 관리자 페이지 접근이 가능한 경우 ■ 조치방법 유추하기 어려운 이름(포트 번호 변경..
CF - 크로스사이트 리퀘스트 변조(CSRF) ■ 점검내용 사용자의 신뢰(인증) 정보의 변조 여부 점검 ■ 점검목적 사용자 입력 값에 대한 적절한 필터링 및 인증에 대한 유효성을 검증하여 신뢰(인증) 정보 내의 요청(Request)에 대한 변조 방지 ■ 보안위협 사용자의 신뢰(인증) 정보 내에서 사용자의 요청(Request)을 변조함으로써 해당 사용자의 권한으로 악의적인 공격을 수행할 수 있음 ■ 참고 ※ CSRF(Cross Site Request Forgery): 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹 사이트에 요청하게 하는 공격 유형 ※ OWASP - CSRF 관련 참고사항 https://owasp.org/www-community/attacks/cs..
IN - 불충분한 인가 ■ 점검내용 민감한 데이터 또는 기능에 접근 및 수정 시 통제 여부 점검 ■ 점검목적 접근 권한에 대한 검증 로직을 구현하여 비인가자의 악의적인 접근을 차단하기 위함 ■ 보안위협 접근제어가 필요한 중요 페이지의 통제수단이 미흡한 경우, 비인가자가 URL 파라미터 값 변경 등의 방법으로 중요 페이지에 접근하여 민감한 정보 열람 및 변조 가능함 ■ 참고 ※ 소스코드 및 취약점 점검 필요 점검대상 및 판단기준 ■ 대상 : 웹 애플리케이션 소스코드 양호 접근제어가 필요한 중요 페이지의 통제수단이 적절하여 비인가자의 접근이 불가능한 경우 취약 접근제어가 필요한 중요 페이지의 통제수단이 미흡하여 비인가자의 접근이 가능한 경우 ■ 조치방법 접근제어가 필요한 모든 페이지에 권한검증 로직 구현 점..
BF - 약한 문자열 강도 ■ 점검내용 웹페이지 내 로그인 폼 등에 약한 강도의 문자열 사용 여부 점검 ■ 점검목적 유추 가능한 취약한 문자열 사용을 제한하여 계정 및 패스워드 추측 공격을 방지하기 위함 ■ 보안위협 해당 취약점 존재 시 유추가 용이한 계정 및 패스워드의 사용으로 인한 사용자 권한 탈취 위험이 존재하며, 해당 위험을 방지하기 위해 값의 적절성 및 복잡성을 검증하는 로직을 구현하여야 함 ■ 참고 ※ 약한 문자열 강도 취약점: 웹 사이트에서 취약한 패스워드로 회원가입이 가능할 경우 공격자는 추측 및 주변 정보를 수집하여 작성한 사전 파일로 대입을 시도하여 사용자 계정을 탈취할 수 있는 취약점 ※ 소스코드 및 취약점 점검 필요 점검대상 및 판단기준 ■ 대상 : 웹 애플리케이션 소스코드 양호 관..