120925_SW개발보안_추진방향(최종)(2)

Download Report

Transcript 120925_SW개발보안_추진방향(최종)(2)

스마트 강국은 정보보호에서부터
SW 개발보안 추진방향
2012. 9. 25(화)
1. 추진 배경
COPYRIGHT (c) 2010 by MINISTRY OF Public Administration and Security . All rights reserved.
2
1. 추진 배경
보안취약점이 내포된 SW는 해커의 공격목표가 되어 심각한 보안위협 초래
사이버 침해사고의 약 75%가 응용 프로그램(SW)의 취약점을 악용(가트너, '05)
정보시스템 운영 이전 개발단계부터 보안성 고려 및 잔존 보안약점 제거 필요
운영단계에서의 취약점 제거 비용은 개발단계보다 60~100배의 비용 소요(IBM社 보고서)
사전 예방체계 강화를 위한 SW 개발보안(시큐어코딩) 강화체계 도입 추진
시큐어코딩(Secure Coding) : SW 구현시 보안약점을 배제하기 위한 안전한 코딩 기법
선제적인 예방조치 강화를 위해 SW 개발단계부터 보안약점 진단·제거를 강화
※ Vulnerability(보안취약점) : 해킹 등 실제 보안사고에 이용되는 SW 보안약점
※ Weakness(보안약점) : 보안취약점의 근본 원인이 되는 SW 허점, 결점, 오류 등
-1-
[참고] 보안취약점의 증가 추이
( 취약점 공개 지속적 증가)
2009년 대비 27% 증가
(역대최고 취약점 공개)
2010년 8,562건 공개
(취약점 심각도)
높음 33%, 보통 60%,
낮음 7%
출처 : IBM X-Force 2010 동향 및 위험 보고서(2011.3)
-2-
[참고] SW 취약점에 의한 침해사고 사례
소프트웨어 취약점에
의한 각종 피해 발생
공격개요
OO 사이트해킹
공격개요
OO증권 해킹
공격개요
OO 사이트 해킹
취약점
XSS + Flash 취약
점
취약점
SQL Injection
취약점
SQL Injection
피해
악성코드 배포
피해
개인정보 유출
피해
개인정보 유출
(1억여명)
손실
일일 70만여명 감염
손실
개인정보 2만 6천건
손실
140억엔 손해
-3-
2. 추진 경과
항목
보안약점 진단
도구개발
개발자·담당공무원
대상 교육 실시
전자정부 서비스
대상
시범 진단
세부
내용
 진단도구 : SW에 잠재된 보안약점을 자동으로 분석해 주는 도구
 지원언어(11종): JAVA, JavaScript, JSP, HTML, XML, C, C++, C#,
Objective C, Android JAVA
 시스템 개발자, 담당공무원 대상 교육 실시(10년~11년, 총 1,500명)
 10년(10개사업) : 평균 80만 라인, 보안약점 수 2,400개 존재
(XSS, SQL 삽입 등 제거)
 11년(23개사업) : 평균 93만 라인, 보안약점 수 1,328개 존재
(시스템 데이터 정보노출, XSS, SQL 삽입 등 제거)
 개발자가 개발시 개발보안기법을 적용 수 있도록 도와주기 위한
SW 개발보안 가이드
문서 (SW 보안약점 최소화)
개발·보급
 언어별로 프로그램 보안약점 항목에 대해 안전한 코딩 방법을 기술
SW 개발보안 제도화  정보시스템 구축, 운영지침을 개정해, SW 개발보안 의무화
-4-
[참고] 시범진단 결과
23개 전자정부시스템 대상 시범진단 결과(’11년)
시스템별 평균 1,328개의 SW 보안약점이 발견, 조치됨
SQL 삽입(9.7%), XSS(16.9%) 등 고위험 보안약점은 ’10년(44%)보다 다소 감소 추세
주요 보완조치 미흡사례
널포인터
역참조;
5,7%
기타; 18,9%
• XSS 대응을 위해 입력값 검증을 적용
하였으나, 실제 프로세스가 미수행되는
경우
시스템
데이터 정보
누출; 24,6%
• 동일한 보안약점에 대해 개발자별로
보완조치를 다르게 하는 경우
SQL 삽입; 9,7%
XSS; 16,9%
오류 메시지
통한 정보 노출;
24,2%
• 보안기능이 잘못 구현된 경우
- Base64 인코딩, SHA1 등 취약한
알고리즘 사용
- 주요 정보의 평문 저장 및 전송 등
2011년도 SW약점 발생 순위
-5-
2. SW 개발보안 제도 추진
COPYRIGHT (c) 2010 by MINISTRY OF Public Administration and Security . All rights reserved.
8
1. SW 보안약점 사전 제거 의무화
개발단계에서 SW 보안약점 사전 제거 의무화
‘구축, 운영 지침’을 개정, 개발과정에서 보안약점 기준 및 진단 절차 규정
* 정보시스템 구축, 운영 지침(12.6월)
행정, 공공기관의 정보화 사업 중 신규 개발되는 모든 SW에 적용
40억 원 이상 신규사업에 우선 적용하고 순차적으로 확대
* (12.12월) 40억 원 이상→(14년) 20억 원 이상 →(15년) 5억 원 이상 감리대상 사업
지침 주요 내용
개발과정에서 진단, 제거해야 할 보안약점(43개) 기준, 진단도구 기준 및
보안약점 진단원 자격 기준 등 정의
* 보안약점별 세부 사항은 개발보안/진단가이드로 보급 예정
* 진단원 : 진단도구의 보안약점 진단 결과 판정 등 보안약점 분석 전문가
정보시스템 감리시 보안약점 진단 등 진단 방법, 절차 등 규정
-6-
2. SW 개발보안 제도화를 위한 기반 조성
전문연구기관을 선정, 보안약점 기준 및 진단방안 등 연구지원
개발보안
연구센터
설치
개발보안 관련 국내외 취약점 사례 분석, SW 개발단계에서
필수적으로 제거해야 할 약점 진단, 대응기술 연구 등 추진
MITRE사의 CWE(Common Weakness Enumeration) 분석
효과적인 SW 보안약점 진단 방법, 진단도구 평가 방안 마련 등
개발자, 진단원 등이 보안약점을 진단, 제거할 수 있는 가이드
개발보안
가이드
보급
개발보안
교육 강화
지침에 있는 SW보안약점 기준을 기반으로 개발
(개발가이드) 안전한 코딩 기법, 코드예제 등 포함
(진단가이드) 보안약점별 진단방법, 진단결과에 대한 정/오탐
판정 방법 등
발주에서 개발, 감리 등 정보화사업 전 과정에 관련자 교육
(공무원) SW개발보안 제도, 보안약점 기준 등 일반과정
(개발자) 보안약점별 개발보안 실무 교육
(진단원) 보안약점별 판단기준, 진단방법, 조치사항 등
-7-
3. SW 보안약점 진단기술력 제고
SW 보안약점 진단방법을 민간에 기술이전
'09년부터 개발·적용해 온 SW 개발보안(시큐어코딩) 진단기술을 희망기관에 무료로 공개
대상
· SW 보안약점 진단도구 개발업체 및 도구개발 희망기관(대학·연구소 등)
· KISA 개발 SW 보안약점 진단도구 진단규칙(Rule) 및 설명서(JAVA용)
※ 진단규칙은 명세언어(RDL) 기반 범용규칙과 전용규칙(VSP)으로 구성
내용
· SW 보안약점 진단도구 시범검증시 사용되는 검증용 샘플코드
※ 주요 보안약점 진단여부 확인을 위한 검증코드(JAVA, C/C++)
보안약점 진단도구 시범검증 및 기술지원 추진
기준
지원
사항
SW 보안약점(43개) 진단여부 및 수준(정확도 등) 등 진단도구 신뢰성
(검증前) SW 보안약점 진단도구 검증코드 및 진단규칙(예제 및 설명) 제공
(검증後) 보완사항 자문, 업체 요청시 진단도구 재검증
-8-
4. SW 개발보안 진단서비스 제공
주요 서비스 대상
SW 개발보안
진단
개발보안 제도 정착을 위해 전자정부 주요시스템을 대상으로
S W 보안약점 진단 및 개선 지원
※ 업무중요도 등을 기준으로 40억원 미만 정보화사업 중 선정(34 개)
정보화사업 초기 개발자 교육, 보안약점 진단 결과 이행점검을
통해 S W 보안약점 제거 효과 극대화
※ 수요조사 및 대상선정(5 월), 진단(7 ~1 2 월), 이행점검(1 1 ~1 2 월)
행정기관에서 개발하는 모바일 앱을 대상으로 보안기능 적용
모바일 앱
보안성 진단
여부와 S W 보안약점 잔존여부 진단
※ 신규 개발되는 행정서비스 및 대민서비스용 모바일 앱
(진단항목) 패스워드 등 주요 정보 암호화 여부 등 보안기능과
S QL 삽입 등 보안약점 4 1 개 항목 등
-9-
5. 운영 중인 SW에 대한 적용 방안 마련
운영단계 SW에 개발보안 적용 시범사업 추진
기존시스템은 사용자 인터페이스를 중심으로 개발보안 적용 시범사업
* 운영시스템은 SW 수정 비용부담, 장애우려 등으로 인해 보안약점 진단, 제거 곤란
사용자 인터페이스와 관련된 웹 프로그램을 대상으로 보안약점 제거 확인
운영시스템에 대한 SW 보안약점 제거 방안
개발보안 적용 효과, 소요 비용, 기간 등을 분석해 방안 마련
비용 대비 효과적인 방안을 도출해, 주요 시스템부터 적용 추진
* 필수적으로 수정해야 할 보안약점 기준 도출, 연차별 추진 전략 등 마련
- 10 -