주요정보통신기반 시설 가이드 23

데이터 평문 전송과 쿠키 변조

데이터 평문 전송 개념 통신간 암호화를 하지않아 발생하는 취약점입니다. 발생 원인 통신간 암호화를 하지않아 발생하는 취약점입니다. 위험한 이유 암호화를 하지 않으면 스니핑 같은 간단한 도청에도 정보를 탈취 혹은 도용할 수 있습니다. 조치 방법 - 웹상에서의 전송 정보를 제한하여 불필요한 비밀번호, 주민번호, 계좌정보와 같은 중요정보의 전송을 최소화하여야 하며, 중요정보에 대해서는 반드시 SSL등의 암호화 통신을 사용하여 도청으로부터의 위험을 제거합니다. - 쿠키와 같이 클라이언트 측에서 노출되는 곳에 비밀번호, 인증인식 값, 개인정보 등의 정보를 기록하지 않습니다. - 암호화 전송 시 프로토콜 설계의 경함이 있는 SSLv2, SSLv3, TLSv1.0, TLSv1.1은 비활성화 하고 TLSv1.2이상 사..

위치 공개 취약점이란?

개념 - 예측 가능한 폴더에 불필요한 파일이 존재하는 취약점입니다. 발생 원인 불충분한 보안 대책으로 인해 발생합니다. 위험한 이유 폴더나 파일의 위치가 예측 가능하고 쉽게 노출될 경우 공격자가 이를 악용해 민감한 데이터에 접근하는 2차 피해를 야기시킬 수 있습니다. 조치 방법 - Robots.txt 파일 작성을 통해 검색 차단할 디렉터리 확장자, 페이지 등을 지정할 수 있으며 HTML의 HEAD 태그 내에 META 태그를 추가하여 검색엔진의 인덱싱을 차단합니다. - 웹 디렉터리를 조사하여 아래의 삭제해야 할 파일 확장자에 포함된 백업 파일을 모두 삭제하고, *.txt 확장자와 같이 작업 중 생성된 일반 텍스트 파일이나 이미지 파일 등도 제거합니다. - 백업 파일은 백업 계획을 수립하여 안전한 곳에 정기..

관리자 페이지 노출과 경로 추적

개념 유추하기 쉬운 URL로 관리자 페이지나 메뉴에 접근가능한 취약점입니다. 발생 원인 불충분한 보안 대책으로 인해 발생합니다. 위험한 이유 공격자가 관리자의 권한을 얻을 경우 웹 사이트 변조나 정보 탈취가 이루어질 수 있습니다. 조치 방법 - 일반 사용자의 접근이 불필요한 관리자 로그인 페이지 주소를 유추하기 어려운 이름으로 변경하고 관리자 페이지 접근 포트도 변경합니다. - 관리자 페이지의 하위 페이지 URL을 직접 입력하여 접근하지 못하도록 페이지 마다 세션 검증이 필요합니다. - 관리자 페이지 이외에도 특정 사용자만 접근 가능한 페이지들은 정상적인 프로세스에 따라 접근할 수 있도록 페이지마다 세션 검증이 필요합니다. - 웹 방화벽을 이용하여 특정 IP만 접근 가능할 수 있도록 룰셋을 적용합니다. ..

파일 업로드와 파일 다운로드

파일 업로드 개념 공격자가 심은 Server Side Script 파일이 업로드되어 실행되는 취약점입니다. 발생 원인 업로드되는 파일의 확장자에 대한 확인 로직 미흡으로 발생합니다. 위험한 이유 공격자가 조작된 Server Side Script 파일을 서버에 업로드하여 시스템 관리자 권한 획득이나 인접 서버에 침입, 혹은 정보 탈취등을 시행할 수 있습니다. 조치 방법 - 화이트 리스트 방식으로 허용된 확장자만 업로드 가능토록 서버 측 통제를 적용합니다. - 업로드되는 파일을 디렉터리에 저장할 때 파일명과 확장자를 외부 사용자가 추측할 수 없는 문자열로 변경하여 저장합니다. - 업로드 파일을 위한 전용 디렉터리를 별도로 생성하여 웹 서버 데몬 설정 파일(httpd.conf 등)에서 실행 설정을 제거함으로써..

자동화 공격과 프로세스 검증 누락

자동화 공격 개념 DoS같은 자동화 공격으로 웹 APP 자원이 고갈되는 취약점입니다. 발생 원인 불충분한 보안 대책으로 인해 발생합니다. 위험한 이유 자동화 공격을 통제하지 않을 경우 계정이 탈취될 수 있고, 웹 APP 자원을 고갈시켜 서비스 장애를 일으킬 수 있습니다. 조치 방법 - 로그인 시도, 게시글 등록, SMS 발송 등에 대한 사용자 요청이 일회성이 될 수 있도록 캡차 등 일회성 확인 로직을 구현하여야 합니다. - 자동화 공격을 시도하면 짧은 시간에 다량의 패킷이 전송되므로 이를 공격으로 감지하고 방어할 수 있는 IDS/IPS 시스템을 구축하여야 합니다. 프로세스 검증 누락 개념 인증이 필요한 중요페이지의 통제수단이 미흡한 경우 발생하는 취약점입니다. 발생 원인 불충분한 보안 대책으로 인해 발생..

불충분한 세션 만료와 세션 고정

불충분한 세션 만료 개념 세션 타임아웃 기능이 구현되어있지않는 취약점입니다. 발생 원인 불충분한 보안 대책으로 인해 발생합니다. 위험한 이유 공격자가 만료되지 않은 세션을 활용해 불법적인 접근을 진행할 수 있습니다. 만약 성공할 경우 데이터 열람 및 탈취가 가능해집니다. 조치 방법 - 세션 타임아웃 구현 시 시간을 10분으로 설정할 것을 권고합니다. 세션 고정 개념 사용자의 세션 ID를 항상 고정된 세션 ID로 발급하는 취약점입니다. 발생 원인 불충분한 보안 대책으로 인해 발생합니다. 위험한 이유 항상 고정된 세션 ID가 발급된다면 세션 ID가 도용될 경우 비인가자의 접근 및 권한 우회가 가능해집니다. 조치 방법 - 로그인할 때마다 예측 불가능한 새로운 세션 ID를 발급받도록 해야 하고 기존 세션 ID는..

불충분한 인가란?

개념 중요페이지의 통제수단이 미흡한 경우 발생하는 취약점입니다 발생 원인 불충분한 보안 대책으로 인해 발생합니다. 위험한 이유 공격자가 URL 파라미터 값 조작등의 방법으로 중요 페이지의 접근해 중요 정보 열람 및 탈취가 가능해집니다. 조치 방법 - 접근제어가 필요한 중요 페이지는 세션을 통한 인증 등 통제수단을 구현하여 인가된 사용자 여부를 검증 후 해당 페이지에 접근할 수 있도록 합니다. - 페이지별 권한 매트릭스를 작성하여 접근제어가 필요한 모든 페이지에서 권한 체크가 이뤄지도록 구현하여야 합니다. 추가 정보 불충분한 인증은 담벼락이 허술해서 뚫리는 느낌이고 불충분한 인가는 담벼락은 단단한데 집안의 벽이 허술해서 방을 자유롭게 돌아다닐 수 있는 느낌으로 이해하고 있습니다.

세션 예측이란?

개념 세션 ID가 일정한 패턴을 가지고 있는 취약점입니다. 세션: 일정 시간 동안 같은 사용자(브라우저)로부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지하는 기술 발생 원인 불충분한 보안 대책으로 인해 발생합니다. 위험한 이유 세션 ID가 일정한 패턴을 가지고 있으면 공격자가 세션 ID를 추측하여 부적절한 접근을 시도할 수 있습니다. 만약 성공할 경우 데이터 조작이나 탈취 같은 피해가 발생합니다. 조치 방법 - 길이가 길고 복잡한 항목으로 세션 ID가 만들어져도 공격자가 충분한 시간과 자원이 있다면 뚫는 것은 불가능하지 않으므로 강력한 세션 ID가 만들어져야 합니다. 주된 목적은 수많은 대역폭과 처리 자원을 가지고 있는 공격자가 하나의 유효한 세션 ID를 추측하는데 최대한 오랜 ..

크로스사이트 리퀘스트 변조(CSRF)란?

개념 공격자가 삽입한 스크립트를 다른 사용자가 자신의 의지와 무관하게 실행해 공격자가 의도한 행위를 서버에 요청하는 취약점입니다. 발생 원인 사용자 입력 값에 대한 적절한 필터링 및 유효성 검증을 하지 않아 발생하는 취약점입니다. 위험한 이유 타 사용자의 권한으로 악의적인 공격을 수행해 해당 사용자가 피해를 입을 수 있습니다. 조치 방법 - 웹 사이트에 사용자 입력 값이 저장되는 페이지는 요청이 일회성이 될 수 있도록 설계합니다 - 사용 중인 프레임워크에 기본적으로 제공되는 CSRF 보호 기능을 사용합니다. - 사용자가 정상적인 프로세스를 통해 요청하였는지 HTTP 헤더의 Referer 검증 로직을 구현합니다. - 정상적인 요청(Request)와 비정상적인 요청(Request)를 구분할 수 있도록 Hid..

취약한 패스워드 복구란?

취약한 패스워드 복구 (Recovering Vulnerable Passwords) 개념 패스워드 재설정 시 일정 패턴으로 설정되거나 웹 사이트에 재설정된 패스워드가 바로 노출되는 취약점입니다. 발생 원인 불충분한 보안 대책으로 인해 발생합니다. 위험한 이유 공격자가 불법적으로 다른 사용자의 패스워드를 획득하거나 변경할 수 있게 됩니다. 조치 방법 - 사용자의 개인정보로 패스워드를 생성하지 말아야 하며, 난수를 이용한 불규칙적이고 최소 길이(6자 이상)이상의 패턴이 없는 패스워드를 발급하여야 합니다. - 사용자 패스워드를 발급해주거나 확인할 때 웹 사이트 화면에 바로 출력하는 것이 아닌 인증된 사용자 메일이나 SMS로 전송해야 합니다. - 패스워드 재발급 검증 실패에 대한 임계값을 설정하여 일정 횟수 이상..