<다음의 취약점 조치방법 안내>
부적절한 에러메시지 노출, 소스코드 내 중요 정보 노출, 중요 정보 비 암호화 통신
[각 취약점 내용 및 대응방법은 '홈페이지 취약점 심층점검 가이드' 에 나온 내용]
민감한 데이터 노출
민감한 정보가 제대로 보호되지 않을 경우 에러메시지, 소스코드 혹은
데이터 송수신 과정에서 개인식별정보, 계정정보 등이 노출 될 수 있으며, 이는 공격자의 악성 행위를 위한 정보로 활용될 수 있음
주요 취약점
4.1 부적절한 에러메시지 노출, 4.2 소스코드 내 중요 정보 노출, 4.3 중요 정보 비 암호화 통신
1 |
부적절한
에러메시지 노출 |
내용 |
사용자의 실수 또는 고의적인 입력 데이터에 대해 애플리케이션은 시스템 에러 페이지로 넘어감. 에러 페이지에 서버 데이터 정보 등 정보 노출 |
점검
내용 |
에러 상황에서 적절한 에러 메시지 설정하여 불필요한 정보 노출을 차단 è
URL에 웹 서버 디렉터리명을 입력하여 에러
페이지 확인 è
로그인 페이지에서 로그인 실패 메시지 확인 |
대응
방법 |
1) 웹 서버
내에서의 조치 에러 발생 시 에러페이지를 별도 제작하여 리다이렉트 하거나 메인페이지로 리다이렉트 되도록 설정 ① IIS 웹
서버 조치 방법 [제어판] → [관리도구] → [인터넷 서비스 관리자] → 웹 사이트 선택 후 마우스 오른쪽
버튼 클릭 → [등록 정보] → [사용자 정의 오류] → 상태 코드별 응답 설정 ② Apache 웹
서버 조치 방법 아파치 웹 서버의 설정 파일인 httpd.conf 파일에서 “ErrorDocument”를 찾아 수정 Ex) ErrorDocument 500 "제작한 에러페이지 경로" ③ Tomcat 조치
방법 web.xml 파일에서
<error-page> 태그를 사용하여 에러페이지 설정 Ex) <error ¯ page> <error ¯ code>500</error ¯ code> <location>제작한 에러페이지 경로</location> </error ¯ page> 2) 홈페이지
개발 보안 조치 로그인 시 아이디나 패스워드가 틀린 경우 동일한 메시지 출력 |
2 |
소스코드
내 중요 정보 노출 |
내용 |
소스코드에 민감한 정보가 포함된 경우, 외부 공격자에 의해 보안 관련정보가 노출 |
점검
내용 |
소스코드를 통한 민감한 정보 유출로 인한 추가 공격을 하지 못하도록 방지 è
소스코드 내에 중요 정보 노출 여부 확인 |
대응
방법 |
홈페이지 개발 보안 조치 가)
홈페이지 소스코드에는 디버깅 목적으로 주로 ID, 패스워드, 시스템 관련 정보 등 보안관련 정보가 남지 않도록 개발완료 후 제거 나)
프로그램 코드 내부에 패스워드는 암호화하여 별도의 파일에 저장하여 사용하고, SW 설치시 사용하는 디폴트 패스워드, 키 등을 사용하는 대신 “최초-로그인” 모드를
두어 사용자가 직접 패스워드나 키를 입력하도록 설계 |
3 |
중요
정보 비 암호화 통신 |
내용 |
민감한 데이터를 평문으로 통신채널을 통해서 송수신 할 경우 스니핑을 통해 데이터가 노출 |
점검
내용 |
서버와 클라이언트 간 통신 시 데이터가 평문으로 전송되어 정보가 유출되는 위험을 방지 è
중요 정보 송수신 페이지가 암호화 통신(https, 데이터
암호화 등)을 하는지 확인 |
대응
방법 |
1) 웹 서버
내에서의 조치 가)
웹 서버는 전자서명인증서, SSL(Secure
Socket Layer)을 이용하여 사용자 식별 및 DATA 전송 시 암호화 통신으로
데이터 전송의 안전성을 확보
나)
조치 완료 후 인증과정 등의 주요 정보 노출 여부를 재점검
2) 홈페이지
개발 보안 조치 가)
홈페이지는 민감한 데이터 전송 시 통신채널 암호화
나)
암호알고리즘 적용 시 안전성을 확인한 검증필 암호모듈 사용 |
1.1 SQL Injection, 1.2 SSI Injection, 1.3 LDAP Injection, 1.4 XPath Injection
1.5 XSS, 1.6 CSRF, 1.7 검증되지 않은 리다이렉트 및 포워드, 1.8 파일 업로드
2.1 관리자 페이지 노출, 2.2 경로추적 및 파일 다운로드, 2.3 자동화 공격
3.1 URL/파라미터 변조, 3.2 불충분한 세션 관리, 3.3 쿠키 변조, 3.4 디폴트/취약한 계정사용
5.1 디렉터리 인덱싱, 5.2 불필요한 Method 지원, 5.3 취약한 파일 존재,
5.4 히든필드 조작, 5.5 알려진 취약점이 있는 구성요소 사용
참조 : '교육기관 홈페이지 취약점 심층점검 가이드'