주요정보통신기반시설 취약점 분석평가 기준


주요정보통신기반시설 취약점 분석평가 기준은 취약점 진단 항목의 표준으로 사용되는 기준 항목으로 취약점 진단 분야에 관심이 있거나 시작하려는 사람에게는 필수적인 자료이다.



1. 주요정보통신기반시설 취약점 분석 평가 기준 (행정안전부, 2012. 12)

출처 : www.law.go.kr/flDownload.do?flSeq=12457820

첨부파일 : 

주요 정보통신기반시설 취약점 분석·평가기준 (전문).hwp


I. 취약점 분석·평가 개요

o 취약점 분석·평가란, 악성코드 유포, 해킹 등 사이버 위협에 대한 주요정보통신기반시설의 취약점을 종합적으로 분석 및 평가 개선하는 일련의 과정을 말함

- 주요정보통신기반시설의 안정적 운영을 위협하는 사이버보안 점검항목과 항목별 세부 점검항목을 도출하여 취약점 분석을 실시

- 발견된 취약점에 대한 위험등급 부여, 개선방향 수립 등의 유기적인 평가 수행





2. 주요정보통신기반시설 취약점 분석 평가 기준 근거

- 정보통신기반 보호법 제9조(취약점의 분석·평가)

출처 : http://www.law.go.kr/%EB%B2%95%EB%A0%B9/%EC%A0%95%EB%B3%B4%ED%86%B5%EC%8B%A0%EA%B8%B0%EB%B0%98%20%EB%B3%B4%ED%98%B8%EB%B2%95

첨부파일 : 

정보통신기반 보호법.pdf



제1조(목적) 이 법은 전자적 침해행위에 대비하여 주요정보통신기반시설의 보호에 관한 대책을 수립·시행함으로써 동 시설을 안정적으로 운용하도록 하여 국가의 안전과 국민생활의 안정을 보장하는 것을 목적으로 한다.


제2조(정의) 이 법에서 사용하는 용어의 정의는 다음과 같다.  <개정 2007.12.21.>

1. "정보통신기반시설"이라 함은 국가안전보장·행정·국방·치안·금융·통신·운송·에너지 등의 업무와 관련된 전자적 제어·관리시스템 및 「정보통신망 이용촉진 및 정보보호 등에 관한 법률」 제2조제1항제1호의 규정에 의한 정보통신망을 말한다.

2. "전자적 침해행위"라 함은 정보통신기반시설을 대상으로 해킹, 컴퓨터바이러스, 논리·메일폭탄, 서비스거부 또는 고출력 전자기파 등에 의하여 정보통신기반시설을 공격하는 행위를 말한다.

3. "침해사고"란 전자적 침해행위로 인하여 발생한 사태를 말한다.


제9조(취약점의 분석·평가) ①관리기관의 장은 대통령령이 정하는 바에 따라 정기적으로 소관 주요정보통신기반시설의 취약점을 분석·평가하여야 한다.

②관리기관의 장은 제1항의 규정에 의하여 취약점을 분석·평가하고자 하는 경우에는 대통령령이 정하는 바에 따라 취약점을 분석·평가하는 전담반을 구성하여야 한다.

③관리기관의 장은 제1항의 규정에 의하여 취약점을 분석·평가하고자 하는 경우에는 다음 각호의 1에 해당하는 기관으로 하여금 소관 주요정보통신기반시설의 취약점을 분석·평가하게 할 수 있다. 다만, 이 경우 제2항의 규정에 의한 전담반을 구성하지 아니할 수 있다.  <개정 2002.12.18., 2007.12.21., 2009.5.22., 2013.3.23., 2015.6.22.>

1. 「정보통신망 이용촉진 및 정보보호 등에 관한 법률」 제52조의 규정에 의한 한국인터넷진흥원(이하 "인터넷진흥원"이라 한다)

2. 제16조의 규정에 의한 정보공유·분석센터(대통령령이 정하는 기준을 충족하는 정보공유·분석센터에 한한다)

3. 「정보보호산업의 진흥에 관한 법률」 제23조에 따라 지정된 정보보호 전문서비스 기업

4. 「정부출연연구기관 등의 설립·운영 및 육성에 관한 법률」 제8조의 규정에 의한 한국전자통신연구원

④미래창조과학부장관은 관계중앙행정기관의 장 및 국가정보원장과 협의하여 제1항의 규정에 의한 취약점 분석·평가에 관한 기준을 정하고 이를 관계중앙행정기관의 장에게 통보하여야 한다.  <개정 2008.2.29., 2013.3.23.>

⑤주요정보통신기반시설의 취약점 분석·평가의 방법 및 절차 등에 관하여 필요한 사항은 대통령령으로 정한다.



보안 취약점 진단 개요


1. 개요

보안 취약점 진단은 보안 취약성 진단, 보안 취약점 점검, 보안 취약성 점검 등의 용어로 사용되고, 정보보호업체 마다 자신들만의 정의가 있어서 조금씩 사용하는 용어가 다르긴 하나 일반적으로 다음과 같이 소개된다.


보안 취약점 진단은 고객사의 주요 정보시스템을 대상으로 취약점 평가 항목을 점검하여 내재되어 있는 보안 취약점을 도출하고, 그 발생 원인을 분석하여 보안 수준을 강화함으로써 서비스의 안전한 운영을 목적으로 하고 있다. 



2. 보안 취약점 진단 분류

- 서버 취약점 진단 (UNIX 계열, Windows 계열)

- 네트워크 취약점 진단 (Cisco, Pumpkin, Alcatel, Piolink 등)

- DBMS 취약점 진단 (Oracle, MySQL, MSSQL, DB2 등)

- 정보보호시스템 취약점 진단 (방화벽, IPS, IDS, UTM, 접근제어, NAC 등)

- PC 취약점 진단 (Windows XP, 7, 8, 10 등)

- 웹 어플리케이션 취약점 진단 (웹 기반의 어플리케이션)

- 모바일 앱 취약점 진단 (IOS, Android)

* VB, Delphi, VC, .NET 등으로 작성된 업무용 어플리케이션은 일반적인 취약점 진단 분야에서는 제외됨

 

참고 : 몇 년 전부터 "모의해킹, 모의침투공격" 등의 명칭으로 "웹 어플리케이션 취약점 진단"을 실시하곤 하는데 엄연히 두 가지는 구분되어 사용되어야 한다.



3. 진단 기준

정보보호업체 마다 각각의 고유한 취약점 진단 기준이 존재한다.

하지만 최근 들어 주요정보통신기반시설 취약점 분석 평가 기준을 취약점 진단의 표준 기준으로 삼고 있다.



4. 진단절차

진단절차는 특별하지 않는 이상 다음과 같이 실시된다.


1) 진단대상선정

2) 정보수집

3) 취약점 진단

4) 진단결과 분석

5) 대응책 수립

6) 보고서 작성



5. 수행 분야

- 정보보호관리체계(K-ISMS, IOS27001 등) 및 개인정보보호관리체계 컨설팅 등에서 기술적 취약점 진단 항목으로 수행

- 주요정보통신기반시설 점검시 기술적 취약점 진단항목 관점에서 수행

- 전문적인 기술적 취약점 진단 수행

- 통합유지보수 관점에서 취약점 진단 분야 포함

- 보안감사 관점에서 수행

- 기타 등등



이상으로 취약점 진단에 대해서 간단하게 알아보았다.


webhacking.kr 1번 문제 풀이


webhacking.kr 의 첫번째 문제..


문제접속 : http://webhacking.kr/index.php?mode=challenge&no=1

다음과 같은 화면이 나타난다.


URL 메뉴에 링크가 걸려있어서 클릭하면 다음 페이지로 연결된다.

http://webhacking.kr/challenge/web/web-01/


index.phps 클릭 시 해당문제의 소스가 제공된다.

http://webhacking.kr/challenge/web/web-01/index.phps

 

<?

if(!$_COOKIE[user_lv])

{

SetCookie("user_lv","1");

echo("<meta http-equiv=refresh content=0>");

}

?>

<html>

<head>

<title>Challenge 1</title>

</head>

<body bgcolor=black>

<center>

<br><br><br><br><br>

<font color=white>

---------------------<br>

<?

 

$password="????";

 

if(eregi("[^0-9,.]",$_COOKIE[user_lv])) $_COOKIE[user_lv]=1;

 

if($_COOKIE[user_lv]>=6) $_COOKIE[user_lv]=1;

 

if($_COOKIE[user_lv]>5) @solve();

 

echo("<br>level : $_COOKIE[user_lv]");

 

?>

<br>

<pre>

<a onclick=location.href='index.phps'>----- index.phps -----</a>

</body>

</html>

 

소스를 봤을 때 해당 문제는 Cookie 조작 문제임을 알 수 있다.

 

소스 중 핵심 구문을 살펴보면 다음과 같다.

 1) 숫자 , . 만 허용한다.

if(eregi("[^0-9,.]",$_COOKIE[user_lv])) $_COOKIE[user_lv]=1;

 

2) Cookie 변수 user_lv 6이상이면 user_lv 1이고

User_lv 5를 초과할 경우 level1을 통과할 수 있다.

if($_COOKIE[user_lv]>=6) $_COOKIE[user_lv]=1;

if($_COOKIE[user_lv]>5) @solve();

 

결국 5초과, 6미만의 값을 넣으면 된다.

해당 소스에서 피리어드(.)의 입력이 가능하므로 5.5를 입력하도록 하자

 

Cookie를 조작하여 user_lv 값으로 5.5를 입력한다.


Congraturation과 함께 level 통과 및 200점 획득



level clear!!



+ Recent posts