100108-SW 취약점과 사이버전

Download Report

Transcript 100108-SW 취약점과 사이버전

목차
1 / 23
1
사이버위협 실태
2
소프트웨어 위기
3
침해사고 시나리오
4
개선 방안
5
결언
1. 사이버위협 실태
새로운 형태의 개인/기업/국가안보 위협 – 사이버위협
2 / 23
1. 사이버위협 실태
새로운 형태의 위협 – 사이버위협
National
Interest
331
Zero-day Attack Time
180
151
25
Nimda Slammer Nachi
3 / 23
Personal
Gain
Thief
Personal
Fame
Trespasser
Curiosity
14
Blaster Sasser
Spy
Vandal
Script-Kiddy Undergrad Expert Specialist
1. 사이버위협 실태
공격 대상의 변화를 통해 목적화된 대규모 공격 시도
시스템 소프트웨어
응용 소프트웨어
자동 도구화
`
봇에 의한 대규모 공격
웜바이러스의 증가
술
준
분산 서비스 거부 공격
웹 공격
자동 스캔
세션 가로채기
백도어
로그삭제
취약점 공격
공격자의 지식 수준
패스워드 크랙
자기복제코드
암호 추측
1980
4 / 23
Zero day 공격 보편화
서비스 거부
기
수
무선휴대장치 공격
1985
1990
1995
2010
2. 소프트웨어 위기
지식기반 사회의 인프라
개발원가 비중 50% 넘어섬
☞ 출처 : ‘국가소프트웨어 경쟁력 향상 방안’, 고건 서울대교수
5 / 23
2. 소프트웨어 위기
정부, 미래 성장동력의 핵심 전략으로 소프트웨어 집중
투자 예정
 미래 5대 IT 핵심전략 추진
• IT 융합, 소프트웨어, 주력 IT, 방송통신, 인터넷
 이를 위해 정부와 민간은 향후 5년간(2009-2013) 189.3조원을 투자
• IT 정부 : 14.1조원 투자
• 글로벌 수준의 소프트웨어 기업 육성
• 소프트웨어 공학 센터 설립
• 소프트웨어 분리 발주 의무화 등
6 / 23
2. 소프트웨어 위기
공개
취약점정보
공격
공격자
공격
취약점정보
공격
공격자
全 산업분야에 SW산업이 융합되면서
지식기반사회의 SOC로서 자리잡아가고 있음
무인항공기
품종개량
이지스함
지식기반사회의 SOC
Software
국가기반시설 붕괴
국가안보위협
공격
7 / 23
U-city
스마트
하이웨이
2. 소프트웨어 위기
2001.7
2003.1
Question
2008.2
지속적인 피해 발생의 원인?
2009.7
2009.11
8 / 23
Answer
2. 소프트웨어 위기
9 / 23
3. 침해사고 시나리오
3단계 공격 시나리오
최초
침투
침투
확산
 최초 침투
• 거점이 되는 기관 내부 사용자 PC 사용
• 취약점을 이용한
 침투 확산
• 거점 사용자 PC로부터
 기밀 유출
• 감염된 모든 사용자 PC로부터
10 / 23
기밀
유출
3. 침해사고 시나리오
최초 침투를 위한 소프트웨어 취약점 분석
 공격 대상 PC 사용 소프트웨어 취약점을 이용한 침투
• ActiveX Control 소프트웨어 취약점
• 문서 관련 소프트웨어 취약점
• 동영상 재생기 및 일반 유틸리티 취약점
• 웹 브라우저 취약점
• 자바 VM/applet 취약점 등
 취약점 유형
• 임의명령 실행 취약점
• Office file의 헤더 파싱 원격코드 실행 취약점
• 임의 파일/삭제 취약점 등
11 / 23
3. 침해사고 시나리오
동영상 재생기 소프트웨어 취약점 이용 내부망 침투
내부망
사용자 PC
관리서버
공격자
악성코드 이메일
거점 사용자 PC
12 / 23
사용자 PC
3. 침해사고 시나리오
동영상 재생기를 분석하여 취약점 발견
 동영상 재생기에서 사용하는 URL scheme 구조 분석
 URL로 명령 실행 가능
 URL 상의 파일을 로컬 시스템에
다운로드 가능
13 / 23
3. 침해사고 시나리오
사용자 PC에 설치된 동영상 재생기의 취약점을
이용하여 공격하는 코드를 이메일에 포함하여 발송
<html>
<body>
X플레이어 공격 테스트
<!--화면에 나타나지 않게 다운로드 취약점 공격 페이지 로드-->
<iframe src="gdown.html" width=0 height=0>
<!--화면에 나타나지 않게 원격명령실행 취약점 공격 페이지 로드-->
<iframe src="gexec.html" width=0 height=0>
</body>
</html>
14 / 23
3. 침해사고 시나리오
공격자가 보낸 이메일 열람과 동시에 악성코드에 감염
15 / 23
3. 침해사고 시나리오
침투 확산을 위한 소프트웨어 취약점 분석
 거점 사용자 PC로부터 모든 내부 사용자 PC로 공격
• 사용자 PC 보안 관리 소프트웨어 취약점
• DMZ 내의 서버 시스템 취약점
 취약점 유형
• Packet Replay 취약점
• 인증 취약점
• 업데이트 취약점
• 디폴트 패스워드 취약점 등
• 응용 소프트웨어 SQL Injection 취약점
16 / 23
3. 침해사고 시나리오
사용자 PC 관리서버 취약점 이용 악성코드 침투 확산
내부망
사용자 PC
관리서버
공격자
악성코드 이메일
거점 사용자 PC
17 / 23
사용자 PC
3. 침해사고 시나리오
사용자 PC 관리 프로그램 분석하여 취약점 발견
 관리자 프로그램 인증 메커니즘 분석
 인증 서버에서 인증 실패 시 0 반환
 인증 서버에서 인증 성공 시 3 반환
항상 3이 반환되도록 관리자 프로그램 바이너리 패
치
18 / 23
3. 침해사고 시나리오
사용자 PC 관리서버에 관리자 권한으로 접속 후 다른
모든 사용자 PC에 악성코드 전파
19 / 23
3. 침해사고 시나리오
기밀 유출
 악성코드에 감염된 모든 내부 사용자 PC로부터
기밀 정보를 공격자에게 전송
내부망
사용자 PC
관리서버
공격자
사용자 PC
20 / 23
4. 소프트웨어 취약점 개선 방안
소프트웨어 취약점 최소화 (개발자 관점)
 방어적 프로그래밍(defensive programming)
• 프로그램 수행 중 발생한 에러에 대해 발생위치를 추측,
추적하는 기술로서 제어할 수 없거나 예상하지 못했던 오류
발생 시 피해를 최소화하는 것
 코딩 규칙(coding rule) 정의 및 준수
• MISRA, JSF, HIC/HICPP 등의 국제적 코딩 규칙 사용
 안전한 코딩(secure coding) 수행
• 안전한 코딩 규칙(secure coding rule) 준수
• 안전하지 않은 함수를 사용하지 않고, 안전한 함수 사용
21 / 23
4. 소프트웨어 취약점 개선 방안
안전한 소프트웨어 운영 (운영자 관점)
 최신 패치 설치 및 안티바이러스 엔진 업데이트
 정품 소프트웨어 사용
 불필요한 소프트웨어 사용 최소화
 DMZ 내 시스템(DB, 웹 서버 등) 이용 소프트웨어
• 침입차단시스템을 이용한 사용자별 포트 차단
• 디폴트 아이디 및 패스워드 삭제
22 / 23
5. 결언
개발자 및 사용자들에
대한 지속적인 교육
사이버테러
피해
최소화
소프트웨어 안전성
검증 체계 도입
안전성 높은
소프트웨어 운용
23 / 23