adsense

글 목록

웹 개발 취약점 정리 - 4. 민감한 데이터 노출 취약점 조치방법



<다음의 취약점 조치방법 안내>

부적절한 에러메시지 노출, 소스코드 내 중요 정보 노출, 중요 정보 비 암호화 통신


[각 취약점 내용 및 대응방법은 '홈페이지 취약점 심층점검 가이드' 에 나온 내용]


민감한 데이터 노출

민감한 정보가 제대로 보호되지 않을 경우 에러메시지, 소스코드 혹은 데이터 송수신 과정에서 개인식별정보, 계정정보 등이 노출 될 수 있으며, 이는 공격자의 악성 행위를 위한 정보로 활용될 수 있음

주요 취약점

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.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. 취약한 접근 통제 취약점 조치방법

2.1 관리자 페이지 노출, 2.2 경로추적 및 파일 다운로드, 2.3 자동화 공격

3. 취약한 인증 취약점 조치방법

3.1 URL/파라미터 변조, 3.2 불충분한 세션 관리, 3.3 쿠키 변조, 3.4 디폴트/취약한 계정사용

5. 잘못된 보안 구성

5.1 디렉터리 인덱싱, 5.2 불필요한 Method 지원, 5.3 취약한 파일 존재, 

5.4 히든필드 조작, 5.5 알려진 취약점이 있는 구성요소 사용


참조 : '교육기관 홈페이지 취약점 심층점검 가이드'