IBM Software Group 개발라이프사이클관점의웹애플리케이션보안 2011/05/18 한국 IBM 박성민차장 2011 IBM Corporation
목 차 웹애플리케이션보안동향 웹애플리케이션보안이중요한이유및피해사례 웹취약점예 : SQL Injection 개발라이프사이클관점의보안 보안담당자 : Black Box 테스트를통한취약성발견 AppScan Standard / Enterprise Edition 개발자 : White Box 테스트를통한취약성의 Early Detection AppScan Source Edition Composite Analysis 기대효과및사례 요약 2011 IBM Corporation 2
웹중심의비즈니스와보안동향 새로운패러다임 보안동향 모바일디바이스를통한웹접속 새로운기회이전보다복잡한환경전에없던위험성대두 글로벌화 새로운형태의협업 : SNS, SM 실시간으로수많은정보취득 Open Agile Safe 사이버범죄시장규모 > 마약시장 (FBI, 2007) 사이버범죄가과시를위한해킹이아니라조직적이며사업적인성격을띄고있음 해커들의방법이점차진화되며공격이점점더악의적으로변함 피해자의유형이나집중되는분야가급속도로확산 피해자가피해를입었는지도알기어려움 지난몇년간해킹공격이매년 2 배이상증가 웹이애플리케이션의주된인터페이스환경 비즈니스가환경, 고객, 파트너, 직원등에대해개방되어야하며변화에신속하게대응할수있어야하는동시에안전해야함 개발시점에보안을염두해두고개발되지않음 2011 IBM Corporation 3
보안의영역및웹애플리케이션 기존의정적인문제대응방식의방법으로는웹애플리케이션을타겟으로행해지는공격을막아낼수없기때문에근본적인문제를해결하는것이중요 Access Control And Firewall IDS/IPS Enterprise Infrastructure AV 허가된네트워크사용자 The Internet DoS Antispoofing Known Web Server Issues Parameter Tampering Cross Site Scripting Web Server Application Server Databases Backend Server/System SSL Port Scanning Pattern- Based Attacks SQL Injection Cookie Poisoning PC 용보안솔루션 바이러스백신, 개인방화벽 l, 스팸방지, 스파이웨어제거등 암호화통신으로정보유출차단 SSL, VPN 등 네트워크보안솔루션 F/W, WAF, IPS, IDS, Virus Wall 등 Web Application 의근본적인보안취약성해결을위한솔루션은? 2011 IBM Corporation 4
웹애플리케이션의취약성은지속적으로증가 2010년상반기에발견된보안문제점중약 % 56 가웹애플리케이션과연관 발견되는웹애플리케이션취약성은큰폭으로증가추세에있음 80% 의기업및조직들이애플리케이션보안과관련된문제를겪을가능성이있음 (Gartner) IBM Internet Security Systems 2010 X-Force Mid-Year Trend & Risk Report 2011 IBM Corporation 5
피해 사례 보안 사고 발생 시 미디어의 타겟이 되며, 법적 책임 및 이와 관련된 비용과 더불어 기업의 신뢰도 하락 등의 문제가 발생하게 됨 A 홈쇼핑 회원 200만명 개인정보 유출(종합) - 연합뉴스, 2005년 3월 버지니아 주 보건부 웹 사이트를 공격한 해커가 거액을 요구 정보유출 B은행 피해고객 1000여명에 20만원씩 배상 E 금융사 - 경향신문, 2007년 2월 -해커 협박 전 두 달 간 해킹 사실 파악 못함 C 웹 마켓, 해킹으로 개인정보 유출 - 고객 정보, 신용 등급 정보 유출 - 파이낸셜 뉴스, 2008년 2월 - 신용도 하락 D 게임 `개인정보 유출` 원고 승소 - - 워싱턴 포스트, 2009년 5월 국내 해킹 사고 증가세..보안 위협 심각 - 아시아 경제, 2010년 9월 - 디지털타임스, 2009년 6월 국내 유명 백화점 인터넷 사이트나 포털 등 25개 온라인 사이트의 회원정보 2000만 해킹건당한 소니 "1인당 최대 10억원 피해보상 유통 - 한국경제, 2011년 5월 - 서울신문, 2010년 3월 2011 IBM Corporation 6 DDOS, 이젠 근원적 처방 고민할 때 - 전자신문, 2011년 3월
피해사례 Hackers breach Heartland Payment credit card system USA Today (2009/1/23) 2008 년 5 월부터 2009 년 1 월까지 6 개월이넘도록악성코드를이용한해킹을당해 1 억 3,000 만건의개인정보가유출되면서사상최대의해킹사고라는오점을남김 기업의신뢰도하락 고객감소 시장점유율하락 평판에타격 법적책임및이에따른비용 규제및감사비용 2011 IBM Corporation 7
IBM 보안프레임워크 GRC 거버넌스, 위험관리와컴플라이언스 사람과아이덴터티 데이터와정보 어플리케이션과프로세스 네트워크, 서버와단말등 IT 인프라 물리적인프라 2011 IBM Corporation 8
웹취약점의예 : SQL Injection 애플리케이션탐색을위한시도 에러메시지가해커에게스트링이사용된다는점, DB 의종류등에대한정보를제공 SQL 문확인가능 : username = AND password = xxxx username = or 1=1 -- AND password = xxxx 허가되지않은데이터베이스의데이터접근및수정 > 정보유출 테이블삽입, 삭제 데이터베이스서비스중지, 명령어실행등 2011 IBM Corporation 9
개발공정상의보안테스트 소프트웨어개발공정 Coding Build QA Security Production 코드상의취약성발견 빌드프로세스에보안및규제준수테스트통합 테스트및조치공정에보안및규제준수테스트포함 보안및규제준수테스트, 정책감사, 웹품질검증 지속적인보안취약성및규제준수모니터링 개발자 통합대쉬보드를통한전사적취약성현황파악 개발자 개발자 빌드담당자테스터보안감사자운영자 애플리케이션보안테스트의성숙도 2011 IBM Corporation 10
웹취약성테스트방식 1 : Black Box Test 단계 1: 일반사용자와같이페이지내의링크를통해웹사이트탐색 링크클릭 / 정상적인입력에의한요청 http://mysite/page.jsp?param=value 단계 2: 변조된요청 (http request) 을통해웹애플리케이션의취약성검사 http://mysite/page.jsp?param= or 1=1 or http://mysite/page.jsp?param= or 1=1 -- http://mysite/page.jsp?param= -- 실제해커들이수행할만한요청 http://mysite/ http://mysite/login.jsp http://mysite/feedback.jsp http://mysite/editprofile.jsp http://mysite/logout.jsp 2011 IBM Corporation 11 11
AppScan Standard Edition 웹애플리케이션의보안점검도구로보안상의취약점을보다쉽게발견하고해결 HTTP 요청의결과에근거하여해당애플리케이션이취약한지평가 : Black Box 방식 발견된문제에대해서는단순한리스트이상의정보가필요하므로취약점에대한포괄적이고자세한정보제공 문제정보, 보안권고문, 수정안등 자바스크립트에대한정적분석을통해클라이언트측의보안취약성을검출 새로발견된취약성에대한주기적인 Rule 업데이트 테스트분석후조직내의다양한팀원들과결과를공유할수있는여러관점의리포트제공 산업표준 / Compliance 등 Web Application HTTP Request 웹보안스캐너 HTTP Response 2011 IBM Corporation 12
AppScan Enterprise Edition 보안취약성검증을수행하고이에관한정보를중앙에서취합하여평가해야하는보안팀을위한웹기반의보안솔루션 AppScan Standard Edition 의기능 + 전사적으로제공되는가시성 대시보드를통한중앙집중화된관리및테스트진행상황파악 발견된보안취약성 / 해결상황 테스트대상별문제점상황 이슈관리기능제공 워크플로우포함 (In Progress, Fixed ) 사용자역할별업무할당및접근제어기능 2011 IBM Corporation 13
Early Vulnerability Detection 개발자참여필요 애플리케이션의취약점조치는개발자가수행해야함 개발단계에서부터검증필요 개발후보안취약점발견및해결을위해서는별도의시간및비용소모 개발완료시점에는현실적으로전수검사가불가능 개발기간만큼의시간이소요될수있음 (Gartner) 개발공정의앞단계에서보안이고려될수록비용절감효과를얻을수있음 ( 정통부 ) 설계단계 21%, 개발단계 15%, 테스트단계 12% 취약성검토시점 $80/defect $240/defect $960/defect $7,600/defect 요구사항분석단계 디자인 / 구현단계 QA/ 테스트단계 출시후 2011 IBM Corporation 14
웹취약성테스트방식 2 : White Box Test 잘못된데이터입력을인식 ( 변수, 쿼리문에반영되는것추적 ) 쿼리문의필터링 (validation routine) 없이 Sink에의해직접실행될수있음을확인 String username = request.getparameter("username"); //... String username = request.getparameter("username"); String password = request.getparameter("password"); //... String query = "SELECT * from tusers where " +' "userid='" +username + "' " + "AND password='" + password + "'"; String query = "SELECT " + username //... ResultSet rs = stmt.executequery(query); Source 문제가있는문자열을리턴하는메소드 사용자가 SQL 문을조작가능문제가되는문자열을걸러주는 Validation Routine 의부재 ResultSet rs = stmt.executequery(query); Sink 보안문제를발생시킬여지가있는메소드 2011 IBM Corporation 15 Hacking 102: Integrating Web Application Security Testing into Development 15
AppScan Source Edition 현실적으로보안을고려하여개발할수있는개발자가많지않음 (Gartner) 보안관점에서소스코드 inspection 을수행 C/C++, Java, JSP,.Net, ASP 등 Eclipse, Visual Studio.Net, Rational Application Developer 등과통합 취약성을파악하고우선순위화할수있는스캔결과제공 발견된취약점들의수, 특정한보안관점의고려사항, 애플리케이션위험요소평가등을포함하여분류 애플리케이션의취약성을발견하고문제를해결할수있도록가이드등을제공 Call 그래프, 데이터추적등의분석정보제공 발견된각취약점에대해서소스코드를리뷰하고문제해결을위한권고사항제공 사용자정의룰지원및공유 In house 프레임워크 / 취약성에적용 전사적으로일관된보안정책유지가능 2011 IBM Corporation 16
개발공정에걸친취약성점검 소프트웨어개발공정 Coding Build QA Security AppScan Source 개발자 AppScan Source for Automation AppScan Tester AppScan Standard 잠재적인취약성 빌드담당자테스터보안감사자 초반에문제점을찾아해결 보다복잡한문제에집중 1. 문제해결비용감소 2. 같은노력으로품질개선 2011 IBM Corporation 17
Black box 분석 결과의정확성 소스가필요없음 코드커버리지 Composite Analysis Whitebox 분석 코드커버리지 주어진코드에국한됨 HTTP 검증이상의테스트 HTTP 관점의테스트에국한 완성된애플리케이션이필요 테스트선조건이많지않음 원격의해커와유사하게테스트 부분적인애플리케이션테스트가능 지원언어 / 프레임워크제약 완성된애플리케이션이필요치않음 오탐이상대적으로많음 2011 IBM Corporation 18 18
Black Box / White Box 점검결과 Black Box 분석결과 실제문제가발생된웹페이지 문제가된요청 / 응답 White Box 분석결과 취약성이존재하는코드의위치 데이트흐름, 메소드정보 2011 IBM Corporation 19
Composite Analysis 점검절차예시 개발단계 개발자 AppScan Source 테스트단계 보안담당자 AppScan Source 프로덕션 보안담당자 AppScan Standard (1) 정적분석후소스수정하고형상관리에반영 (2) 형상관리에서 (4) Production 가져온소스를 White 서버에 Black Box Box 분석분석 (6) Composite Analysis 결과확인 형상관리서버 Production Server (6) Composite Analysis 결과확인 (3) White Box 분석결과 Upload (5) Black Box 분석결과 Upload CxO Black Box 분석 White Box 분석 Composite 분석 AppScan Reporting Console Composite Analysis 2011 IBM Corporation 20
Composite Analysis : Black Box/White Box 결과의연계 동적분석도구와정적분석도구로발견된취약성들을서로연관시켜문제를분석 문제해결의우선순위를판단하는데도움 두가지방법에의해모두발견된취약성은실제존재하며악용될가능성이높음 Black Box 분석결과 : 취약성이발견된페이지정보 White Box 분석결과 : 소스파일 / 행및 API 정보 2011 21 IBM Corporation 21
기대효과 자동테스트수행을통한비용절감및품질개선 자동스캔을통해수작업진단대비높은생산성기대 주기적인애플리케이션 / 코드스캔으로웹애플리케이션에대한비용효과적인보안검증이가능 일관된보안정책적용과스캔커버리지개선으로애플리케이션의보안품질향상 개발프로세스상의조기취약성검증 비용절감 80% 의개발비용이결함을발견하고이를조치하는데소요되며, 개발완료시점에가까울수록결함을발견하고조치하는데더많은비용과노력소요 개발프로세스초기 ( 코딩단계 ) 에서문제를찾아해결함으로써불필요한비용절감가능 보안사고예방 전문업체에의한진단은일반적인웹애플리케이션당일정금액의예산이필요하며, 매회진단에따른비용지불로주기적인진단시장기적으로높은지출이불가피 수작업에의한진단신뢰성이낮으며상시진단이어려움 문제발견및조치비용 코딩단계에서 $80, QA/ 테스팅단계에서 $960 * Ex) 년간 50 개의웹애플리케이션과애플리케이션당 25 개의취약성을가정할때코딩시점에검증이이루어질경우연간 $1.1M 절약가능 개인정보유출사고와같은보안사고시 법적책임및이에따른비용 규제및감사비용 기업의신뢰도하락및고객감소등의문제발생 개인정보한건당 $204 의가치 보안사고당 $6.6M 의비용소요 ** 모은행 2 억여원배상사례 + 무형손실 * Source: GBS Industry standard study ** Source: Ponemon Institute 2009-10 2011 IBM Corporation 22
사례및효과 1. 게임포털사이트 P 를보유하고있는 N 포털사는급증하는방문자트래픽과이에따른악의적해킹시도로부터사이트를보호하고, 안전한웹서비스를제공하기위한보안강화로솔루션도입 보안점검효율성 개발자가수작업으로모의해킹 점검업무하루 (8 시간 ) 이상소요 웹취약성점검후서비스의퍼블리쉬 ( 결과정리, 개발팀에요청, 해결, 검증및서비스공개 ) 까지일주일이상소요 수작업으로리포트작성 웹서비스보안안정성 개발자경험에전적으로의존한보안점검의한계로최신해킹패턴에대한대응부재 이미서비스된애플리케이션은보안점검이어려움 모의해킹자동화 자동점검을통해 3 시간내로단축 취약성점검후퍼블리쉬과정이 1 일이내로 80% 이상단축효과 리포트자동생성 광범위한해킹패턴보유및국내 / 외최신해킹패턴의주기적인업데이트로보다완전한보안점검이가능 스케줄링기능으로대외서비스의정기 / 비정기적상시보안점검이가능 2. K 통신사는보안솔루션도입으로주기적인자체적인인증제를포함하는웹애플리케이션진단프로세스를확립 제한적인애플리케이션보안 : 진단비율이 30% 수준으로여러보안문제를내제 외주개발사를포함한애플리케이션보안진단비율이 95% 이상으로높아짐 웹애플리케이션보안및안정성향상으로기존대비보안사고 90% 감소효과 2011 IBM Corporation 23
소프트웨어개발공정전체의보안솔루션 SECURITY 요구사항 CODE BUILD QA PRE-PROD PRODUCTION 디자인및개발이전에보안요구사항정의 IDE 에서코드취약성점검 빌드프로세스에보안및규제준수테스트통합 테스트및조치공정에보안및규제준수테스트포함 보안및규제준수테스트, 정책감사, 웹품질검증 지속적인보안취약성및규제준수모니터링 AppScan Policy Tester AppScan Enterprise AppScan Reporting Console AppScan OnDemand SaaS Security Requirements Definition AppScan Source AppScan Source Automation AppScan Tester AppScan Standard 동적분석 / Blackbox 정적분석 / Whitebox Rational Team Concert Rational ClearQuest MS Team Foundation Server HP Quality Center 형상관리빌드관리결함관리테스트관리 Application Security Best Practices Secure Engineering Framework Rational Quality Manager 2011 24 IBM Corporation 24
요약 웹응용프로그램에는근본적인취약성이존재하고그에따른피해는심각 보안피해는 소잃고외양간고치는 꼴이므로현실적으로가시화되고있는피해에대하여적극적으로대처해야함 For Security Team 고객고충 인력에의한주기적인진단은시간 / 비용이많이소요되며, 일관된진단및결과를기대하기어려움 발견된취약성을해결하기위한정보가부족하며 고객이얻는가치 자동화도구의최신취약성패턴으로상시취약성을통한진단결과의신뢰성 발견된취약성및이에대한다양한정보를제공하며이를개발팀과공유하여효과적인문제해결 For Development 고객고충 개발단계에서발견하여해결할수있는문제들이적절한인력과솔루션의부재로적시에발견되지못함 이에따라개발공정후반에발견된문제를해결하는데많은비용과시간이소요되어비능률적 고객이얻는가치 개발단계에서코드수준에서발견할수있는보안취약성검증 개발프로세스에서보다일찍보안이슈들을발견하고조치하도록하여, 프로세스를개선 개발공정전체에걸쳐여러팀원들이보안문제해결을위해노력 결과의정확성개선 보안위험성감소및비용감소 2011 IBM Corporation 25
감사합니다 2011 IBM Corporation 26