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

Similar documents
DE1-SoC Board

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

Æí¶÷4-¼Ö·ç¼Çc03ÖÁ¾š

2013 <D55C><ACBD><C5F0><BC31><C11C>(<CD5C><C885>).pdf

[Brochure] KOR_TunA

Secure Programming Lecture1 : Introduction

Windows 8에서 BioStar 1 설치하기

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

ThinkVantage Fingerprint Software

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

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

ecorp-프로젝트제안서작성실무(양식3)

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

2007 상반기 실적회의 - DRM Extension

Intro to Servlet, EJB, JSP, WS

3. 클라우드 컴퓨팅 상호 운용성 기반의 서비스 평가 방법론 개발.hwp

PowerPoint Presentation


DBMS & SQL Server Installation Database Laboratory

untitled

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

암호내지

±èÇö¿í Ãâ·Â

PowerPoint 프레젠테이션


1.장인석-ITIL 소개.ppt

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

03.Agile.key

SchoolNet튜토리얼.PDF

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

서현수

소프트웨어개발방법론

제목 레이아웃

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

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

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

¾Ë·¹¸£±âÁöħ¼�1-ÃÖÁ¾

01....b

2007백서-001-특집

00목차

(291)본문7

FreeBSD Handbook

1,000 AP 20,000 ZoneDirector IT 5, WLAN. ZoneFlex AP ZoneDirector. WLAN. WLAN AP,,,,,,., Wi-Fi. AP. PSK PC. VLAN WLAN.. ZoneDirector 5000 WLAN L

Microsoft PowerPoint - file

TF_Dell x86_1..

untitled

Observational Determinism for Concurrent Program Security

OUTLINE 행사개요 행사명 Inside Bitcoins Conference & Expo 2015 장소 KINTEX 제 2전시장 3층 (회의실 301~304호) 행사시기 2015년 12월 9일(수) - 11일(금)ㅣ9일은

Ç¥Áö

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

wtu05_ÃÖÁ¾

ISO17025.PDF

Journal of Educational Innovation Research 2018, Vol. 28, No. 1, pp DOI: * A Analysis of

슬라이드 제목 없음

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

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

歯얻는다.PDF

키오스크12 p

PowerPoint 프레젠테이션

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아


Portal_9iAS.ppt [읽기 전용]

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

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


EDB 분석보고서 (04.06) ~ Exploit-DB( 에공개된별로분류한정보입니다. Directory Traversal users-x.php 4.0 -support-x.php 4.0 time-

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

I I-1 I-2 I-3 I-4 I-5 I-6 GIS II II-1 II-2 II-3 III III-1 III-2 III-3 III-4 III-5 III-6 IV GIS IV-1 IV-2 (Complement) IV-3 IV-4 V References * 2012.

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

슬라이드 1

API 매뉴얼

학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석

Microsoft Word - src.doc

FreeBSD Handbook

FreeBSD Handbook

FreeBSD Handbook

FreeBSD Handbook

SW

1 SW

2009방송통신산업동향.hwp

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

슬라이드 1

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

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

<30362E20C6EDC1FD2DB0EDBFB5B4EBB4D420BCF6C1A42E687770>

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

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

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

No Slide Title

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

PowerPoint 프레젠테이션

쿠폰형_상품소개서

슬라이드 1

I care - Do you?

¹Ìµå¹Ì3Â÷Àμâ

Service-Oriented Architecture Copyright Tmax Soft 2005

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

0312젠-가이드라인-표지최종.ps, page Normalize

저작자표시 - 비영리 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 이차적저작물을작성할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물

Transcription:

SigPL Secure Coding Workshop 웹어플리케이션취약점대응을위한 시큐어코딩소개 2013. 06. 28 Korea Chapter 조민재이사 johnny.cho@owasp.org Copyright The Korea Permission is granted to copy, distribute and/or modify this document under the terms of the License. The Korea Chapter http://www.owasp.or.kr 발표자소개 Korea 챕터이사 (Board Member) Yahoo! Korea, NHN, 펜타시큐리티등기업체경력 13 년 SW 개발보안및인프라보안전문가 Top10 2010 번역참여 2 1

발표내용 1. 소개 2. 시큐어코딩규칙소개 3. Q&A 3 4 2

(www.owasp.org) The Open Web Application Security Project 응용소프트웨어보안을연구하는비영리단체 2001.12 : 온라인조직으로미국에서처음시작 2004.04 : 정식비영리법인출범 웹소프트웨어보안에관련된연구프로젝트수행 시험도구및표준문서발간 서적발간 : 시험, 안전한코드개발, 보안코드검토 표준보안통제와라이브러리 전세계챕터 ( 지부 ) 운영및교류 보안컨퍼런스 (AppSec) 개최 5 핵심가치 OPEN( 개방 ) : 모든것이투명하게 INNOVATION( 혁신 ) : 혁신과경험을존중 GLOBAL( 세계적 ) : 누구든지참여 INTEGRITY( 진실 ) : 진실되고, 성실하게 운영원칙 Free & Open Governed by rough consensus & running code Abide by a code of ethics Not-for-profit Not driven by commercial interests Risk based approach 미션 응용소프트웨어보안성향상을목표로활동 상용제품과서비스에대한지지하거나추천하기않고, 대신다양한지식을모아서응용소프트웨어보안기술을생성 6 3

Korea Chapter 2011.01 : 온라인으로이사진구성시작 2011.06 : 시큐어코딩규칙참고가이드번역 2011.10 : 제 1 회 Korea 챕터세미나 2013.02 : AppSec ASIAPAC 2013 2013.02.19~23, 하얏트리젠시제주 7 Top Ten (2013 Edition) https://owasp.org/index.php/category:_top_ten_project 8 4

Top10 http://owasp.org/index.php/category:_top_ten_project 9 시큐어코딩규칙 10 5

문서에대한배경 Secure Coding Practices Quick Reference Guide 웹어플리케이션개발자들이 시큐어코딩규칙 을빨리이해할수있도록개발 보잉社내부에서사용하기위해최초개발 2010.07 : 보잉사가 에저작권을양도 2010.08 : 프로젝트로시작 (v1) 2010.10 : v2 개정 11 시큐어코딩규칙개요 기술에종속적이지않은코딩규칙 무엇을할것인가에초점 ( 어떻게할것인가는아님 ) 집약적이면서도포괄적인체크리스트형식 취약점보다는시큐어코딩요구사항에중심 개발자와보안담당자간에동일한용어로의사소통하기위한기술용어정의 12 6

구성 체크리스트형식으로되어있으며, 아래내용이포함 목차 소개 소프트웨어보안과위험원칙개요 시큐어코딩규칙체크리스트 참고자료 중요한기술용어 13 체크리스트규칙 간단하고, 핵심위주 해야할것 과 하지말아야할것 을직설적으로표현 규칙을서열화하지말자 일부규칙은시스템또는정보의중요도에따라조건적으로권고 어플리케이션에적용된보안사항은확실히이해할수있어야한다. 14 7

시큐어코딩규칙체크리스트 입력값검증 출력값인코딩 인증과패스워드관리 세션관리 접근통제 암호규칙 에러처리와감사기록 데이터보호 통신보안 시스템설정 데이터베이스보안 파일관리 메모리관리 일반코딩규칙 15 체크리스트부분 입력값검증 신뢰시스템의모든데이터유효성을검증 ( 예 : 서버 ) 모든데이터의출처를확인하고신뢰 / 비신뢰로구분하라. 출처를신뢰하지못하는모든데이터를검증 ( 예 : 데이터베이스, 파일스트림등 ) 잠재적으로위험한문자가반드시입력되어야한다면, 출력값인코딩, 안전한작업을위한 API, 그리고애플리케이션전체에대한데이터가활용되는감사기능과같은추가적인통제기능구현. 일반적으로위험한문자의예는다음과같다 : <>"'%()&+ \ \' \" 16 8

체크리스트부분 출력값인코딩 신뢰시스템의모든인코딩을적용 ( 예 : 서버 ) 외부로나가는인코딩에대해표준적이고, 시험이된루틴이용 애플리케이션의신뢰범위 (trust boundary) 외부로부터클라이언트로반환된모든데이터는상황에맞는출력값인코딩. HTML 엔터티인코딩이예가될수있지만, 모든경우에그런것은아니다. 사용하는인터프리터에서안전하다고알려진문자이외의모든문자를인코딩 SQL, XML, 그리고 LDAP 에쿼리하는신뢰받지못하는데이터의모든출력값을상황에맞게필터링 17 체크리스트부분 인증과패스워드관리 의도적으로공개하는경우를제외한모든페이지와자원은인증실시 모든인증통제는반드시신뢰시스템에서수행 ( 예 : 서버 ) 특수한경우를제외하곤, 표준화되고검증된인증서비스를확립하고이용 외부인증서비스를호출하는라이브러리를포함한모든인증통제는중앙집중화하여사용하라 요청된자원과인증로직을구분하고중앙집중화된인증통제정보를주고받는데는리다이렉트를사용하라 모든인증통제는안전하게인증실패처리 인증정보를전송할때에는반드시 HTTP POST 요청을사용 GET method : 정보가 URL에적혀서전달 POST method : 정보가 request 본문에전달됨 18 9

데이터베이스보안 반드시사전준비된쿼리 (prepared queries) 를사용 입력값검증과출력인코딩을활용하고메타문자 (*,?, [ ],~,!, +) 를확실히처리. 만약이작업이실패한다면, 데이터베이스명령어를실행시켜선안됨 반드시변수가제대로입력되었는지검증 데이터베이스에접속했을때애플리케이션은가장낮은수준의권한을사용 데이터베이스접속을위해안전한인증정보를사용 접속정보는애플리케이션내에하드코딩되어선안됨. 접속정보는신뢰된시스템의별도설정파일로저장및암호화 데이터에직접접근하지못하도록저장프로시저 (stored procedure) 를사용하고, 데이터베이스에존재하는기본테이블에대한권한제거 데이터베이스접속은가능한빨리종료 기본으로제공되는데이터베이스관리계정을제거하거나패스워드를변경. 강력한패스워드 / 비밀문구를활용하거나다중인증을구현 불필요한모든데이터베이스기능을비활성화 ( 예 : 불필요한저장프로시저또는서비스, 유틸리티패키지, 필요한최소한의기능과옵션만을설치하라 ( 공격노출범위축소 )) 불필요한벤더기본콘텐츠제거 ( 예 : 샘플스키마 ) 비즈니스요구사항에필요하지않은모든기본계정비활성화 애플리케이션은데이터베이스에접속할때개별기능 ( 권한 ) 에대해다른인증정보를사용 ( 예 : 사용자, 읽기전용사용자, 방문자, 관리자 ) 19 활용방법 시나리오 #1: 가이던스문서개발 시큐어코딩규칙 Guiding Principles What to do How to do it 보안정책 어플리케이션보안절차서 어플리케이션보안코딩표준 20 10

활용방법 continued 시나리오 #2: SDLC(Secure Development Lifecycle) 지원 What to do How you should do it What you did Did it work 어플리케이션보안요구사항 시큐어개발절차 표준화된라이브러리 솔루션검토 테스트솔루션구축 라이브러리에없는솔루션에대한표준가이던스 시큐어코딩규칙 21 가이드활용방법 continued 시나리오 #3: 개발위탁 소프트웨어외주개발을할때보안요구사항을확인 RFP 및계약서에포함 ( 가격에도꼭포함!) How do I make it work We can build anything 시큐어코딩규칙 I need cool Software RFP Contract Best Software Best Ever Software Ever Programmer Salesman Customer 22 11

안전한개발프레임워크 안전한소프트웨어개발프레임워크가이드는시큐어코딩규칙범위는아니지만 프로젝트에다양한프로젝트가있음 Implement a secure software development lifecycle CLASP Project Establish secure coding standards Development Guide Project Build a re-usable object library Enterprise Security API (ESAPI) Project Verify the effectiveness of security controls Application Security Verification Standard (ASVS) Project) Establish secure outsourced development practices including defining security requirements and verification methodologies in both the RFP and contract Legal Project 23 Q & A Suggestion 12