SF - 세션 고정 ■ 점검내용 사용자 로그인 시 항상 일정하게 고정된 세션 ID 값을 발행하는지 여부 확인 ■ 점검목적 로그인할 때마다 예측 불가능한 새로운 세션 ID를 발행하여 세션 ID의 고정 사용을 방지하기 위함 ■ 보안위협 사용자 로그인 시 항상 일정하게 고정된 세션 ID가 발행되는 경우 세션 ID를 도용한 비인가자의 접근 및 권한 우회가 가능 ■ 참고 ※ 소스코드 및 취약점 점검 필요 점검대상 및 판단기준 ■ 대상 : 웹 애플리케이션 소스코드 양호 로그인할 때마다 예측 불가능한 새로운 세션 ID가 발행되고, 기존 세션 ID는 파기될 경우 취약 로그인 세션 ID가 고정 사용되거나 새로운 세션 ID가 발행되지만 예측 가능한 패턴으로 발행될 경우 ■ 조치방법 사용자가 로그인할 때마다 예측 불가능한 ..
SE - 세션 예측 ■ 점검내용 단순한 방법(연속된 숫자 할당 등)으로 생성되는 세션 ID를 예측하여 세션 탈취 여부 점검 ■ 점검목적 사용자의 세션ID를 추측 불가능하도록 난수로 생성하여 공격자의 불법적인 접근을 차단하기 위함 ■ 보안위협 사용자에게 전달하는 세션 ID가 일정한 패턴을 가지고 있는 경우 공격자가 세션 ID를 추측하여 불법적인 접근을 시도할 수 있음 ■ 참고 ※ 세션(Session): 일정 시간 동안 같은 사용자(브라우저)로 부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술 ※ 소스코드 및 취약점 점검 필요 점검대상 및 판단기준 ■ 대상 : 웹 애플리케이션 소스코드 양호 추측 불가능한 세션 ID가 발급되는 경우 취약 세션 ID가 일정한 패턴으로 발급되는 ..
D-07 리스너의 패스워드를 설정하여 사용 ■ 점검영역 : 접근관리 ■ 항목 중요도 : 상 ■ 점검내용 오라클 데이터베이스 Listener의 패스워드 설정 여부 점검 ■ 점검목적 Listener의 Owner는 DBA가 아니더라도 Listener를 shutdown 시키거나 DB 서버에 임의의 파일을 생성할 수 있으며, 원격에서 LSNRCTL 유틸리티를 사용하여 listener.ora 파일에 대한 변경이 가능하므로 Listener에 패스워드를 설정하여 비인가자가 이를 수정하지 못하도록 하기 위함 ■ 보안위협 Listener에 패스워드가 설정되지 않은 경우 DoS, 정보 획득, Listener 프로세스를 중지시킬 수 있는 위험이 있으므로 반드시 Listener 패스워드 설정 필요 ■ 참고 ※ 오라클 Liste..
U-33 DNS 보안 버전 패치 ■ 점검영역 : 서비스 관리 ■ 항목 중요도 : 상 ■ 점검내용 BIND 최신버전 사용 유무 및 주기적 보안 패치 여부 점검 ■ 점검목적 취약점이 발표되지 않은 BIND 버전의 사용을 목적으로 함 ■ 보안위협 최신버전(2016.01 기준 9.10.3-P2) 이하의 버전에서는 서비스거부 공격, 버퍼 오버플로우(Buffer Overflow) 및 DNS 서버 원격 침입 등의 취약성이 존재함 ■ 참고 ※ BIND(Berkeley Internet Name Domain) BIND는 BSD 기반의 유닉스 시스템을 위해 설계된 DNS로 서버와 resolver 라이브러리로 구성되어 있음. 네임서버는 클라이언트들이 이름 자원들이나 객체들에 접근하여, 네트워크 내의 다른 객체들과 함께 정보를..
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 - 약한 문자열 강도 ■ 점검내용 웹페이지 내 로그인 폼 등에 약한 강도의 문자열 사용 여부 점검 ■ 점검목적 유추 가능한 취약한 문자열 사용을 제한하여 계정 및 패스워드 추측 공격을 방지하기 위함 ■ 보안위협 해당 취약점 존재 시 유추가 용이한 계정 및 패스워드의 사용으로 인한 사용자 권한 탈취 위험이 존재하며, 해당 위험을 방지하기 위해 값의 적절성 및 복잡성을 검증하는 로직을 구현하여야 함 ■ 참고 ※ 약한 문자열 강도 취약점: 웹 사이트에서 취약한 패스워드로 회원가입이 가능할 경우 공격자는 추측 및 주변 정보를 수집하여 작성한 사전 파일로 대입을 시도하여 사용자 계정을 탈취할 수 있는 취약점 ※ 소스코드 및 취약점 점검 필요 점검대상 및 판단기준 ■ 대상 : 웹 애플리케이션 소스코드 양호 관..
SS - SSI 인젝션 ■ 점검내용 웹페이지 내 SSI 인젝션 공격 가능성 점검 ■ 점검목적 적절한 입력 값 검증 절차를 마련하여 악의적인 파일을 include 시키지 못하도록 하여 불법적인 데이터 접근을 차단하기 위함 ■ 보안위협 해당 취약점이 존재할 경우 웹 서버 상에 있는 파일을 include 시켜 명령문이 실행되게 함으로 불법적으로 데이터에 접근할 수 있음 공통 SSI 구현은 외부의 파일을 Include 할 수 있는 명령어를 제공하며, 웹 서버의 CGI 환경 변수를 설정하고 출력할 수 있고, 외부의 CGI 스크립트나 시스템 명령어들을 실행할 수 있으므로 사용자 입력 값에 대한 검증 로직을 추가로 구현하여야 함 ■ 참고 ※ SSI(Server-Side Includes): CGI 프로그램을 작성하거나..
CS - 악성 콘텐츠 ■ 점검내용 게시판 등에 악성 콘텐츠 삽입 및 실행 여부 점검 ■ 점검목적 사이트 내 악의적인 콘텐츠 삽입 및 실행을 방지하기 위함 ■ 보안위협 웹 사이트 게시판, 댓글, 자료실 등에 정상적인 콘텐츠 대신 악성 콘텐츠를 주입하여 실행될 경우 사용자가 해당 콘텐츠 열람 시 악성코드 감염 및 웹 페이지 변조 등 보안상 심각한 위험에 노출될 수 있음 ■ 참고 ※ 기반시설 특성상 원칙적으로 업로드 기능을 제한해야 하나 꼭 사용해야 하는 경우 특정 사용자만 허용된 확장자의 콘텐츠 파일을 업로드 할 수 있게 구현 필요 ※ 소스코드 및 취약점 점검 필요 점검대상 및 판단기준 ■ 대상 : 웹 애플리케이션 소스코드, 웹 방화벽 양호 악의적 콘텐츠가 실행되지 않는 경우 취약 악의적 콘텐츠가 입력되며,..
XS - 크로스사이트 스크립팅 ■ 점검내용 웹 사이트 내 크로스사이트 스크립팅 취약점 존재 여부 점검 ■ 점검목적 웹 사이트 내 크로스사이트 스크립팅 취약점을 제거하여 악성 스크립트의 실행을 차단 ■ 보안위협 웹 애플리케이션에서 사용자 입력 값에 대한 필터링이 제대로 이루어지지 않을 경우, 공격자는 사용자 입력 값을 받는 게시판, URL 등에 악의적인 스크립트(Javascript, VBScript, ActiveX, Flash 등)를 삽입하여 게시글이나 이메일을 읽는 사용자의 쿠키(세션)를 탈취하여 도용하거나 악성코드 유포 사이트로 Redirect 할 수 있음 ■ 참고 ※ 크로스사이트 스크립팅: 악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기법으로 공격 방식은 크게 stored 공격 방식과 ref..
XI - XPath 인젝션 ■ 점검내용 웹페이지 내 조작된 XPath 쿼리 공격 가능성 점검 ■ 점검목적 XPath 쿼리에 대한 적절한 필터링을 적용하여 웹 사이트의 로직 손상 및 특정 데이터 추출을 차단하기 위함 ■ 보안위협 해당 취약점이 존재할 경우 프로그래머가 의도하지 않았던 문자열을 전달하여 쿼리문의 의미를 왜곡시키거나 그 구조를 변경하고 임의의 쿼리를 실행하여 인가되지 않은 데이터를 열람할 수 있으므로 적절한 필터링 로직 구현이 필요함 ■ 참고 ※ 소스코드 및 취약점 점검 필요 점검대상 및 판단기준 ■ 대상 : 웹 애플리케이션 소스코드, 웹 방화벽 양호 쿼리 입력 값에 대해 검증이 이루어지는 경우 취약 쿼리 입력 값에 대해 검증이 이루어지지 않는 경우 ■ 조치방법 쿼리 입력 값에 대해 검증 로직..