문서의 제목 나눔고딕B, 54pt

Similar documents
5월-방지호1-1.indd

Microsoft PowerPoint - file

2015 년 SW 개발보안교육과정안내

2007 상반기 실적회의 - DRM Extension

2017 년 SW 개발보안교육과정안내 행정자치부와한국인터넷진흥원은행정기관등의정보시스템담당공무원및개 발자를대상으로 SW 개발보안에대한이해증진및전문역량강화를위해아래와 같은교육을실시하오니, 관심있으신분들의많은참여부탁드립니다 년 SW 개발보안기본과정 o 교육대상 :

암호내지

Observational Determinism for Concurrent Program Security

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

범정부서비스참조모형 2.0 (Service Reference Model 2.0)


제목 레이아웃

PowerPoint Template

2018 년 SW 개발보안교육과정안내 행정안전부와한국인터넷진흥원은행정기관등의정보시스템담당공무원및 개발자를대상으로 SW 개발보안에대한이해증진및전문역량강화를위해아래와 같은교육을실시하오니, 관심있으신분들의많은참여부탁드립니다 년 SW 개발보안일반과정 교육대상 : 전

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용

mytalk



< FBFF9B0A320BEC7BCBAC4DAB5E520C0BAB4D0BBE7C0CCC6AE20C5BDC1F620B5BFC7E220BAB8B0EDBCAD283131BFF E302028C8A8C6E4C0CCC1F620BEF7B

최종_백서 표지

JAVA PROGRAMMING 실습 08.다형성

Frama-C/JESSIS 사용법 소개

DBMS & SQL Server Installation Database Laboratory

Windows 8에서 BioStar 1 설치하기

Microsoft PowerPoint - CSharp-10-예외처리

untitled

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

< 목차 > 1. 악성코드은닉동향요약 1 2. 홈페이지은닉형악성코드통계 2 - 유포지탐지 국가별현황 2 - 대량경유지가탐지된유포지 TOP 악성코드유형별비율 4 - 악성코드취약점유형별비율 4 - 악성코드수집및분석결과 5 - 경유지탐지 업종별비율 9 3. 악성코

H3250_Wi-Fi_E.book

¿ÀǼҽº°¡À̵å1 -new

1. 제품 개요 AhnLab Policy Center 4.6 for Windows(이하 TOE)는 관리대상 클라이언트 시스템에 설치된 안랩의 안티바이러스 제품인 V3 제품군에 대해 보안정책 설정 및 모니터링 등의 기능을 제공하여 관리대상 클라이언트 시스템에 설치된 V3

1. 배경 업무 내용이나 개인정보가 담긴 청구서 등을 메일로 전달 시 중요한 정보가 유출되는 경우가 발생하고 있으며, 이에 따른 메일 암호화 솔루션을 도입하고 있으나 기존 ActiveX를 기반으로 한 플러그인 방식은 여러 가지 제약으로 인해 사용성이 저하되고, 고객 대

Secure Programming Lecture1 : Introduction


< FBBE7B0EDB3EBC6AE5FB5F0C6FAC6AEC6D0BDBABFF6B5E5C3EBBEE0C1A128BCF6C1A4292E687770>

F1-1(수정).ppt

레이아웃 1

Microsoft PowerPoint - chap01-C언어개요.pptx

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

서현수

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

SW¹é¼Ł-³¯°³Æ÷ÇÔÇ¥Áö2013

PowerPoint 프레젠테이션

인터넷 비즈니스의 필수 요소, 트랜잭션 시큐리티 서비스 인터넷 비즈니스는 기업 영리 활동에 있어서 부가적인 서비스가 아닌 사업을 영위해 가는데 중요한 역할을 하고 있습니다. 특히, 인터넷 쇼핑몰, 인터 넷 뱅킹, 사이버 트레이딩, 전자정부서비스, 온라인 게임, 인터넷

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

** 5 개이발생한주요소프트웨어별취약점세 EDB 번호취약점종류공격난이도공격위험도취약점이름소프트웨어이름

13 Who am I? R&D, Product Development Manager / Smart Worker Visualization SW SW KAIST Software Engineering Computer Engineering 3

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]


JVM 메모리구조

AhnLab_template

Microsoft PowerPoint - 6.pptx

Microsoft PowerPoint - 3-OWASP시큐어코딩_조민재.pptx

TTA Journal No.157_서체변경.indd

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

[Brochure] KOR_TunA

목 차 1. 개요 1 2. 규격의구성및범위 1 3. 관련표준및규격 국외표준및규격 국내표준및규격 기타 2 4. 정의 전자서명법용어정의 용어의정의 용어의효력 2 5. 약어 3 6. 사용자인증 3 7. 전송채널

목 차 주요내용요약 1 Ⅰ. 서론 3 Ⅱ. 스마트그리드산업동향 6 1. 특징 2. 시장동향및전망 Ⅲ. 주요국별스마트그리드산업정책 17 Ⅳ. 미국의스마트그리드산업동향 스마트그리드산업구조 2. 스마트그리드가치사슬 3. 스마트그리드보급현황 Ⅴ. 미국의스마트그리드정

PowerPoint 프레젠테이션

804NW±¹¹®


XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

Research & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W

품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ]

#WI DNS DDoS 공격악성코드분석

슬라이드 1

Power Point Templates

PowerPoint 프레젠테이션

helpU 1.0

Microsoft Word - src.doc

웹서버보안취약점대응및조치 교육사이버안전센터

B _00_Ko_p1-p51.indd

발신자 목적지 발신자 목적지 발신자 목적지 공격자 발신자 목적지 발신자 목적지 공격자 공격자

소프트웨어 보안을 위한 바이너리 분석 기법 동향

쉽게 풀어쓴 C 프로그래밊

Secure Programming Lecture1 : Introduction

PowerPoint 프레젠테이션

Secure Programming Lecture1 : Introduction

오토10. 8/9월호 내지8/5

취약점분석보고서 Simple Web Server 2.2 rc2 Remote Buffer Overflow Exploit RedAlert Team 안상환

Cloud Friendly System Architecture

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

소개 는 국내 산업계 IC 전문 인재양성과 기술 보급을 위한 IC 표준화 및 시험인증 전문 교육기관입니다. IC 글로벌 경쟁력 제고를 위한 핵심인재 양성을 목적으로 교육세나 및 자격시험 서비스를 제공합니다. 교육 훈련비용 일부를 지원하는 직업능력개발훈련과정을 운영합니다

Microsoft PowerPoint - 3.공영DBM_최동욱_본부장-중소기업의_실용주의_CRM

무인항공기 국제표준 현황 및 테스팅 형상관리 서비스

로거 자료실

PowerPoint Template

1 SW

SW

4S 1차년도 평가 발표자료

5th-KOR-SANGFOR NGAF(CC)

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

Contents Activity Define Real s Activity Define Reports UI, and Storyboards Activity Refine System Architecture Activity Defin

SIGIL 완벽입문

MySQL-.. 1

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

PowerPoint Presentation

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

접근제어 시간은 없고, IT투자 비용이 정해져 있다면, 조금 더 스마트하게 제어하는 방법을 모색해야 한다. 그 중 하나 로 상황별 맞춤 보안 정책(Contextual security) 을 제 안한다. 상황별 맞춤 보안은 민감한 데이터와 그렇지 않은 것을 구분한 후 민감

< FC1A4BAB8B9FDC7D D325FC3D6C1BEBABB2E687770>

목차 제1장개요 1. IoT 보안시험 인증절차 IoT 보안시험 인증기준구성... 7 제2장제출물검토기준 1. 보안요구사항준수명세서 (Security Requirement Specification) 제품사용설명서 (Manual)

Transcription:

소프트웨어개발보안 2015.05 김현철

2

목차 1. 소프트웨어중요성 2. 소프트웨어개발보안 3. 소프트웨어개발보안제도 4. SW 보안약점및정적진단의한계 5. 맺음말

1. 소프트웨어중요성

1. 소프트웨어중요성 CES 2014/2015 주요키워드 : SMART! 5

1. 소프트웨어중요성 SMART Generation : Software World! 6

1. 소프트웨어중요성 Why Software is Eating the World? - Marc Andreessen - 2011.Aug. Wall Street Journal 비즈니스리더의 81 % 는기술이비즈니스모델의기본요소 6 억개이상의 Tablet 과 1 억 7 천만이상의스마트폰이직장에서사용됨 ( 12 년기준 ) 7 Global 2000 개기업의 99% 는 mission-critical application 에 Open Source 소프트웨어가사용될것 (2016 년 )

1. 소프트웨어중요성 소프트웨어의사소한결함이인류를파멸로이끌수있다! 8

1. 소프트웨어중요성 소프트웨어의사소한결함이당신의목숨을빼앗아갈수도있다! ( 09.8) Lexus Pedal Gate 일가족넷을태운 2009 년형렉서스 ES 350 이 125 마일 (195km/h) 의속도로질주하다고속도로진출입로가드레일을넘어추락, 일가족 4 명사망 출처 http://www.youtube.com/watch?v=03m7fmnho0i 12~24V 전압이생산되어야하나, 7~30V 불안정한전압으로소프트웨어의오류가발생하여엔진스로틀밸브가과다하게개폐되고통제할수없는상황으로사고가발생한것이었으나, 운전석바닥에깔린매트가액셀러레이터에걸려자동차가통제를잃고가속을하는것으로가장해서발표 ( 14.2) 프리우스소프트웨어결함 하이브리드시스템내전력제어장치를관장하는소프트웨어결함으로주행중차량이정지하는문제 9

2. 소프트웨어개발보안

2. 소프트웨어개발보안 소프트웨어개발보안이란? 안전한 SW 개발을위해보안을고려하여기능을설계 구현하고 SW 등에존재할수있는 잠재적인보안취약점 ( 보안약점 ) 을제거하는등의 SW 개발과정에서의일련의보안활동 요구사항분석설계및디자인구현테스트유지보수 현재는 SW 개발과정중소스코드구현및개발단계를중심으로 SW 개발보안적용 11

2. 소프트웨어개발보안 12

2. 소프트웨어개발보안 1 요구사항 2 설계및디자인 3 시공 4 준공검사 5 완공 13

2. 소프트웨어개발보안 소프트웨어개발프로세스 계획문서 요구사항표준서 시스템요구사항 요구사항분석 요구사항검토회의 SW 요구사항 기본설계 설계표준서 기본설계검토회의 SW 아키텍처 상세설계 상세설계검토회의 코딩룰분석도구 SW 설계명세 구현표준서 구현 단위구현물 통합 시험착수준비검토회의 단위통합시험자동화도구 시험운영후서비스개시 선진국 한국 요구사항검토체크리스트 설계검토체크리스트 정적분석도구 추적성검토 ( 자동화도구이용 ) 코드검토체크리스트 1 년 6 개월 3 개월 3 개월 2 개월 1 년 10 개월 14

2. 소프트웨어개발보안 소프트웨어의난개발은가독성, 유지보수성, 안정성등을위협 15

[ 참고 ] 시스템계층에따른침해사고발생빈도 방화벽 IDS/IPS 웹방화벽 개발서버 AV 웹서버 데이터베이스 Internet DDoS 잘알려진웹서버이슈 잘알려진애플리케이션레벨의공격 Back-End 서버 / 시스템 SSL 포트스캔 패턴기반의공격 애플리케이션서버 침해사고발생빈도 0.5% 3% 10% 75% 16

[ 참고 ] 침해사고사례 1 접근제어기능이취약한 해커의컴퓨터 웹애플리케이션이취약한서버 1 취약한홈페이지로그인 2 요금명세서조회 3 로그인한사용자의고객번호 (123456789) 4 Paros 에서위조된고객번호 (5678901234) 조회요청 6 5678901234 조회결과전송 조회애플리케이션 5 DB 조회요청처리 7 5678901234 조회결과전송 Paros 고객정보 DB 17

18

[ 참고 ] 침해사고사례 2 파일업로드취약점 계정관리미흡, 암호화되지않은 42 만명의이름, 주민등록번호, 이메일, 전화번호등 해킹 1 만 3 천명의프라임론패스, 비밀번호, 신용등급등 해킹 보조서버 제 3 의관련회사서버 공격당한 A 사의메인서버 침투 침투 해커컴퓨터 해커일당 필리핀 브라질등의해외서버 19

20

2. 소프트웨어개발보안방법론 SSDL(Secure Software Development Lifecycle) SDL 단계마다필수적인보안과무결성을보증하는소프트웨어개발방법론 SDL 단계별로적절한보안조치를통하여, 소프트웨어에대한안정성향상이목적대표적으로 Microsoft의 MS-SDL, 美 DHS 7 Touch Point가있음 21

[ 참고 ] 소프트웨어개발보안방법론사례 (MS-SDL) 마이크로소프트사는 SDL 을 (Secure Develop Lifecycle) 통한소프트웨어개발프로세스를 개선함으로써시스템취약점을획기적으로줄일수있었음 (Training) (Requirement) (Design) (Implementation) 소프트웨어개발보안교육 (Core training) 소프트웨어의질과버그경계정의 (Define quality gates / bug bar) 보안과프라이버시위험분석 (Analyze security and privacy risk) 공격영역분석 (Attack surface analysis) 위협모델링 (Threat modeling) 도구명세 (Specify tool) 금지된함수사용제한 (Enforce banned functions) 정적분석 (Static analysis) (Response) (Release) (Verification) 사고대응수행 (Response execution) 사고대응계획 (Response Plan) 동적 / 퍼징테스팅 (Dynamic/Fuzztesting) 최종보안검토 (Final security review) 기록보관 (Release archive) 공격영역 / 위협모델검증 (Verify threat models /attack surface) 22

[ 참고 ] 소프트웨어개발보안방법론사례 (MS-SDL) 성공사례인하나인 MS-SDL 출처 : http://www.microsoft.com/security/sdl 출처 : The Economic Impacts of Inadequate Infrastructure for SW Testing(2002.5, NIST) 사전점검을통해 SW 개발보안이이루어지면취약점조치비용절약 ( 설계단계대비최대 30 배의취약점수정비용절약 ) 23

[ 참고 ] SW 개발보안지원을위한우리의활동은? 가이드개발, 교육과정운영, 보안약점진단, 최신동향분석등 개발자 ( 심화교육 ),

3. 소프트웨어개발보안제도

3. 소프트웨어개발보안제도 보안약점 (Weakness) VS 취약점 (Vulnerability) 보안약점 (SW weakness) 해킹등실제보안사고에악용될수있는보안취약점의근본원인 보안취약점 (SW Vulnerability) 소프트웨어실행시점에보안약점이원인이되어발생하는실제적인위협 보안약점 보안취약점보안취약점예방정책 : 보안약점제거 software 26

3. 소프트웨어개발보안제도 정보시스템개발단계에서 SW( 소스코드 ) 보안약점제거조치의무화 근거 : 행정기관및공공기관정보시스템구축 운영지침 ( 행정자치부고시제 2014-1 호, 14.11.25) 구분내용비고 대상 행정기관및공공기관의정보시스템감리대상정보화사업 ('12.12 월 ) 40 억이상 ('14.1 월 ) 20 억이상 ('15.1 월 ) 감리대상전체 단계적확대 범위 소스코드 ( 신규개발전체또는유지보수로변경된부분 ) 단, 상용 SW 제외 SW 보안약점기준 (SQL 삽입등 47 개항목 ) 행정기관및공공기관정보시스템구축 운영지침 ' 별표 3' 진단기준 기준 및 기타 감리법인이진단도구사용시, 국정원장이인증한도구를사용 진단도구 : 소스코드상의 SW 보안약점을찾기위하여사용하는분석도구 감리법인이 SW 보안약점진단시, 진단원을우선적으로배치하도록권고 SW 보안약점진단원 : SW 결함, 오류등으로사이버공격을유발할가능성이있는 SW 보안약점에대한진단을수행하는자 27 '14.1 월부터적용 진단원활용

3. 소프트웨어개발보안제도 구분내용비고 행정자치부 국정원과협의하여지침고시, 가이드배포, 보안약점진단원자격부여등 행정기관등 개발업체 감리법인 제안요청서에 SW 개발보안적용 명시 개발보안을위한소프트웨어진단도구사용여부, 개발절차와방법의적절성, 교육계획의적정성을평가에반영할수있음 SW 보안약점진단 제거결과확인 감리법인 ( 감리대상사업 ) 또는자체적 ( 감리대상外사업 ) 으로수행 개발인력대상 SW 개발보안관련교육실시 SW 개발보안가이드를참조하여개발 자체적으로 SW 보안약점진단및제거 SW 보안약점제거여부진단및조치결과확인 SW 보안약점진단시, 진단원우선배치 CC 인증 ( 국정원 ) 된진단도구사용 ('14.1월부터적용 ) ( 감리법인은진단도구가진단항목을진단하는지여부를확인해야함 ] 28 발주자 ( 공무원 ) 사업자 ( 개발자 ) 감리원 ( 진단원 )

[ 참고 ] 모바일개발보안제도 행정기관및공공기관의모바일대민서비스구축시개발보안적용의무화 근거 : 모바일전자정부서비스관리지침 ( 행정자치부고시제 2014-1 호, 14.11.25) 지원기관정책기관검증기관 정책지원 정책지원 앱현황관리 기준준수권고 배포 신청기관 소스코드검증신청 소스코드검증수행 사용자 [ 모바일대국민전자정부서비스앱소스코드검증체계 ]

[ 참고 ] 모바일개발보안제도 ( 소스코드보안성검증 ) 검증단계 준비및신청 보안성보안성검증검증 배포보안성배포및및서비스검증서비스 01 제출물준비보안명세서, 실행앱, 소스코드 검증신청공문, 신청서, 제출물 02 소스코드기능보안성점검 보완조치및조치내역확인 03 각기관에서앱스토어를통한자율배포 검증수요에따라검증대기가능 최초 : 1주, 조치확인 : 1주이내 지원센터 : 2주 ( 필요시, 2주추가소요 ) 검증신청준비물 제출처 공문 검증신청서 보안명세서 소스코드, 실행파일 우편 : 서울시송파구중대로 135 IT벤처타워서관 6층보안평가인증팀 연락처 : 02-405-5377 kisaappverify@kisa.or.kr

4. SW 보안약점및정적진단의한계

4-1. 소프트웨어보안약점 입력데이터검증및표현등 7 개분류 47 개항목으로구성 유형 입력데이터검증및표현 주요내용 프로그램입력값에대한부적절한검증등으로인해발생할수있는보안약점 ( 예 ) SQL 삽입, 자원삽입, 크로스사이트스크립트등 개수 ( 총 47 개 ) 15 개 보안기능 시간및상태 인증, 접근제어, 권한관리등을적절하지않게구현시발생할수있는보안약점 ( 예 ) 부적절한인가, 중요정보평문저장, 하드코드된패스워드등 멀티프로세스동작환경에서부적절한시간및상태관리로발생할수있는보안약점 ( 예 ) 경쟁조건 (TOCTOU), 제어문을사용하지않는재귀함수등 16 개 2 개 에러처리 불충분한에러처리로중요정보가에러정보에포함되어발생할수있는보안약점 ( 예 ) 오류상황대응부재, 오류메시지를통한정보노출등 3 개 코드오류 개발자가범할수있는코딩오류로인해유발되는보안약점 ( 예 ) 널포인터역참조, 부적절한자원해제등 4 개 캡슐화 불충분한캡슐화로인가되지않은사용자에게데이터가노출될수있는보안약점 ( 예 ) 제거되지않고남은디버그코드, 시스템데이터정보노출등 5 개 API 오용 부적절하거나, 보안에취약한 API 사용으로발생할수있는보안약점 ( 예 ) DNS lookup 에의존한보안결정등 2 개 32

4-1. 소프트웨어보안약점 행정자치부 21 개웹취약점표준점검항목, OWASP, CWE 등반영 SQL 삽입 경로조작및자원삽입 크로스사이트스크립트 운영체제명령어삽입 위험한형식파일업로드 신뢰되지않은 URL 주소로자동접속연결 입력데이터검증및표현 XQuery 삽입 XPath 삽입 LDAP 삽입 크로스사이트요청위조 HTTP 응답분할 정수형오버플로우 보안기능결정에사용되는부적절한입력값 메모리버퍼오버플로우 포맷스트링삽입 적절한인증없는중요기능허용 부적절한인가 주요한자원에대한잘못된권한설정 취약한암호화알고리즘사용 중요정보평문저장 중요정보평문전송 보안기능 하드코드된비밀번호 충분하지않은키길이사용 적절하지않은난수값사용 하드코드된암호화키취약한비밀번호허용 사용자하드디스크에저장되는쿠키를통한정보노출 주석만안네포함된시스템주요정보 솔트없이일방향해쉬함수사용 무결성검사없는코드다운로드 반복된인증시도제한기능부재 시간및상태 검사시점과사용시점 종료되지않은반복문재귀함수 에러처리 오류메시지를통한정보노출 오류상황대응부재 부적절한예외처리 코드오류 Null Pointer 역참조부적절한자원해제해제된자원사용 초기화되지않은변수사용 캡슐화 잘못된세션에의한데이터정보노출 제거되지않고남은디버그코드 시스템데이터정보노출 Public 메소드부터반환된 Private 배열 Private 배열에 Public 데이터할당 API 오용 DNS Lookup 에의존한보안결정 취약한 API 사용 33

[ 참고 ] 소프트웨어개발보안관련가이드 KISA 대표홈페이지자료실 -> 안내서 / 해설서다운로드가능 http://www.kisa.or.kr/public/laws/laws3.jsp 개발보안가이드 시큐어코딩가이드 (Java) 시큐어코딩가이드 (C 언어 ) 모바일구축가이드 시큐어코딩가이드 (A-Java) 진단가이드 (2012 년 ) 진단가이드 (2013 년 ) 모바일취약점점검가이드 34

[ 참고 ] 소프트웨어개발보안관련가이드 소프트웨어개발보안가이드 35

4-2. 소스코드정적진단의한계 비정형화된패턴의소스코드보안약점은어떻게할것인가? 소프트웨어가실행되는시점에사용되는정보에대한진단은어떻게 할것인가? 사람에의해판단이필요한부분에대한진단은어떻게할것인가? 36

4-2. 소스코드정적진단의한계 SQL-INJECTION 36: <tr><td height=5 colspan=2></td></tr> 37: <? 38: $sql=" select * from poll_s_table where apm_id=$apm_id order by aps_id "; 39: $result = mysql_query($sql); 40: while($row=mysql_fetch_array($result)) { 41:?> 42: <tr> apm_id 매개변수에 SQL 구문삽입시 Mysql 오류 37

4-2. 소스코드정적진단의한계 하드코드된중요정보 http://www.xxx.xxx.xxx.xxx.go.kr/count/dbcountconn.php 1: <? 2: $dbconn = mysql_connect("localhost", A", A"); 3: mysql_select_db( A_DB",$dbconn); 4: //mysql_query("set names euckr"); 5:?> 38

4-2. 소스코드정적진단의한계 파일업로드취약점 57. var ImageFile = document.myform.filename.value; 58. var extfile = ImageFile.split("\\"); 59. var ImgInfo = extfile[extfile.length-1]; 60. var ext = ImgInfo.split("."); 61. if (ext[1].touppercase() == "JPG" ext[1].touppercase() == "GIF"){.JPG.GIF 등파일업로드가능. 첫번째확장자만검사 39

4-2. 소스코드정적진단의한계 진단기법에따른보안약점 TOP 10(2014 년진단결과 ) 크로스사이트스크립트 42.23% 크로스사이트스크립트 35.38% 부적절한예외처리 19.04% 반복된인증시도제한기능부재 12.31% 오류메시지를통한정보 15.13% 하드코드된비밀번호 10.77% 오류상황대응부재 10.22% 오류메시지를통한정보 9.23% SQL 삽입 5.26% 위험한형식파일업로드 7.69% 부적절한자원해제 1.50% 취약한비밀번호허용 4.62% 경로조작및자원삽입 1.47% Null Pointer 역참조 4.62% 잘못된세션에의한데이터정보노출 1.20% 오류상황대응부재 3.08% Null Pointer 역참조 0.68% SQL 삽입 3.08% 취약한암호화알고리즘사용 0.65% 중요정보평문전송 3.08% 40

4-2. 소스코드정적진단의한계 진단기법에따른보안약점분류 정적진단항목 22개항목 (47%) 정수형오버플로우, 부적절한자원해제 정적 + 동적진단항목 19개항목 (40.43%), 취약한암호화알고리즘사용등 SQL 삽입, 크로스사이트스크립트, 취약한비밀번호허용등 동적진단항목 6개항목 (12.77%) 적절한인증없는중요기능허용, 부적절한인가, 중요정보평문전송등 시간및상태, API 오용유형 100% 캡슐화, 코드오류 75% 이상 입력데이터검증및표현, 보안기능, 에러처리는 43.75% 이하 소스코드내용파악이필요한보안약점으로동적진단불가 부적절한자원해제, 메모리버퍼오버플로우등동적진단으로공격할지점을찾기어려움 입력데이터검증및표현, 에러처리는 66.67% 보안기능, 코드오류, 캡슐화는 31.25% 이하 시간및상태, API 오용은 0% 입력과출력이명확한항목이진단가능 에러에의해오류메시지가표현되는유형진단가능 41 보안기능은 25% 입력데이터검증및표현은 13.33% 적절한인증없는중요기능허용, 부적절한인가등의적절하지않은행위에대해소스코드로표현되는구체적인기준이없음 중요정보평문전송, 저장등의기능에대해자주사용되는패턴이없음

4-3. 효과적인소스코드진단방법 소프트웨어에대한효과적인진단방법은? 42

4-3. 효과적인소스코드진단방법 소스코드에대한정적진단과실행소프트웨어에대한동적진단병행 소스코드준비 소스코드보안약점 ( 정적분석 ) 1 차진단 화이트박스블랙박스 모의해킹 ( 동적분석 ) 1차진단 소스코드수정 소스코드보안약점 ( 정적분석 ) 2 차진단 블랙박스 모의해킹 ( 동적분석 ) 2 차진단 검증종료 43

4-3. 효과적인소스코드진단방법 IAST : 소스코드의정적분석을수행하고실행시점의동적정보를분석 IAST : Interactive Application Security Testing(SAST + DAST) 44

5. 맺음말

5. 맺음말 참여주체의인식제고및역량강화가무엇보다중요 ( 발주기관 ) 사전요구사항명시, 사업관리및개발일정에반영개발보안전문역량을갖춘사업자우대등필요 ( 개발기관 ) 자체적인개발보안체계수립 적용확산필요자체코딩표준 ( 시큐어코딩등 ) 마련, 개발전문인력 장비확보등 ( 전문기관 ) 취약성분석및기술지원, 보안가이드보급및교육과정운영등 46

[ 참고 ] 소프트웨어개발보안관련교육일정 47

Q & A

감사합니다