SW 업데이트체계 보안가이드라인 1. 개요 1) 목적 2) 적용대상 3) 구성 2. SW 업데이트체계정의및현황 1) 정의 2) 현황 3. SW 업데이트체계보안위협 1) 보안위협유형 2) 보안위협사례 3) 기존 SW 업데이트체계의문제점 4. 대응방안 1) 파일보호 2) 채널보호 5. SW 업데이트체계보안십계명 [ 부록 ] SW 업데이트체계보안십계명요약
1. 목적 제 1 장개요 1 장개요 1 목적 SW 업데이트체계는최신버전의소프트웨어를검색, 다운로드및설치하기위한자동화된소프트웨어관리체계를의미하며, 운영체제및응용프로그램의버그패치, 성능개선등의목적으로마이크로소프트, 애플, 레드햇사의 SW 제품을포함한대부분의상용및공개소프트웨어에서사용된다. 그러나 SW 업데이트체계에대한보안은소프트웨어개발자및사용자들에게소프트웨어자체의보안에비해상대적으로보안에대한인식이부족한상황이며, 사용자수가많은 SW 업데이트체계의취약점이공격자에의해악용될경우대규모의피해를발생시킬수있다. 특히, 최근발생한 3.20 및 6.25 사이버공격 (2013 년 ), SK컴즈개인정보유출사태 (2011 년 ), 농협금융전산망마비사태 (2011년), 7.7 DDos 대란 (2009년) 등과같은사이버보안사고는 SW 업데이트체계의취약점을악용하여악성코드를확산시켜서공공및민간기반시설에대한대규모피해를유발하였다. 이에따라본보안가이드라인에서는 SW 업데이트체계의보안을향상시키기위해필요한주요보안문제에대해기술한다. 2 적용대상 본보안가이드라인은 SW 개발업체에서자동업데이트기능개발시준수해야할보안항목및주의사항을따르지않을경우발생할수있는위험성, 해킹에악용된사례및문제해결방안을설명한다. 3 구성 2장에서는 SW 업데이트체계의정의및현황에대하여살펴본다. 3장에서는 SW 업데이트체계의보안위협과보안위협사례에대해기술한다. 4장에서는 SW 업데이트체계의보안위협에대한대응방안을기술한다. 5장에서는 SW 업데이트체계의보안을향상시키기위해 SW 업데이트체계개발시점검해야할사항을 10가지로분류하여기술한다. 세계최고보안기술을지향하는창조적리더! 2
SW 업데이트체계보안가이드라인 2 장 SW 업데이트체계정의및현황 1 정의 1-1 SW 업데이트체계정의 SW 업데이트는이미배포된소프트웨어제품의기능개선또는버그나보안취약점등을수정하기위해개발사가내놓는프로그램을지칭한다. ( 위키백과 ) SW 업데이트체계는최신버전의소프트웨어를검색, 다운로드, 설치하는체계를말한다. SW 업데이트체계는업데이트프로그램을전송하는업데이트서버, 실제업데이트를담당하는업데이트클라이언트그리고, 업데이트서버와클라이언트사이에설치프로그램을전송하는통신채널로구성된다. 1-2 SW 업데이트유형 SW 업데이트는사용자가직접업데이트파일을웹으로부터다운로드받아서설치하는수동업데이트방식과자동으로정해진일정에따라업데이트필요유무를검사하고필요시다운로드및설치하는자동업데이트방식으로구분할수있다. 최근에는빈번한보안취약점및버그수정을위해자동업데이트가일반적으로사용되고있다. SW 업데이트는그내용의중요도에따라다음과같이구분할수있다. - 중요업데이트는보안취약점에대한패치, 개인정보보호및버그수정등의안정성및안전성과관련된필수업데이트를의미한다. - 선택업데이트에는컴퓨터작업환경을향상시킬수있는업데이트, 드라이버또는해당제조사의새로운소프트웨어가포함될수있으며, 사용자의선택에따라설치되는업데이트이다. 1-3 SW 업데이트체계동작구조 ( 설정정보다운로드 ) 사용자 PC에설치된 SW에서약속된업데이트서버에접속해서최신버전에대한버전번호와업데이트를위해서필요한파일들의 URL 목록을다운로드 ( 파일다운로드 ) 사용자 PC에설치된 SW의버전이최신버전이아니라면서버로부터획득한 URL 목록을이용해서업데이트에필요한파일들을다운로드 ( 파일설치 ) 다운로드한파일들을사용자 PC에설치 ( 파일교체및실행 ) 업데이트서버와사용자 PC 간의연결은보통 HTTP 또는 HTTPS 로이루어짐 3
2. 현황 제 2 장 SW 업데이트체계정의및현황 2 현황 2-1 전세계대부분의 SW 는자체적인업데이트기능탑재 대부분의 SW 제품은기능개선및보안패치를자사제품에적용하기위한업데이트체계를갖추고있다. SW 업데이트체계는국제적인표준이나가이드라인이없어각 SW 개발사마다서로다른방식으로구축 운영하고있는실정이다. PC 1대당평균 24개의제작사로부터 74개의프로그램이설치되어있으며, 사용자는 74개프로그램을패치하기위해 24개의각기다른업데이트체계를관리해야한다. 출처 : 영국 Secunia PSI Report Q1, 2013. 제품 업데이트체계 Windows 제품군 Microsoft Office 제품군기타 WSUS(Windows Server Update Services) Linux Fedora, Redhat, Ubuntu 등 YUM(Yellowdog Updater, Modified) YaST(Yet another Setup Tool) APT(Advanced Packaging Tool) Adobe Reader, AIR 등 Adobe Updater Mozilla Firefox 등 Firefox Update Google Chrome, Earth 등 Google Update (Omaha) Android ( 스마트폰 ) Google Play Apple Mac OS X, itunes 등 Apple Software Update iphone ( 스마트폰 ), ipad 등 AppStore 국산 SW에서도자동업데이트는필수적인요소가되었으며, V3나알약같은백신은물론이고한글, 곰플레이어등대부분의사용자응용프로그램에도포함되어있다. 사용자는컴퓨터를켜는순간부터, 문서작성, 메신저대화, 음악감상, 파일압축, 파일전송, 주식거래, 스마트폰관리, 내비게이션관리등의순간마다사용자가인지하거나인지하지않은상태에서업데이트를수행하고있다. 세계최고보안기술을지향하는창조적리더! 4
SW 업데이트체계보안가이드라인 분야세부분야국산소프트웨어예 응용소프트웨어 문서편집 / 변환문서뷰어그래픽프로그램음악재생프로그램동영상압축프로그램브라우저툴바메신저게임보안스마트폰관리주식거래네비게이션 P2P, 웹하드 한글, 알마인드, 훈민정음, 나모웹에디터한컴뷰어, 별PDF 리더, 훈민정음2000 뷰어알씨, 꿀뷰, 알캡처곰오디오, 벅스플레이어, 멜론곰플레이어, 팟플레이어, KMPlayer 알집, 반디집, 빵집알툴바, 네이버툴바네이트온, 마이피플, 라인한게임, 피망 V3, Virobot, 알약, 네이버백신삼성 Kies, LG Mobile Support Tool 키움증권, 대신증권등 HTS 아틀란, 지니미래창조과학부등록웹하드전용 SW 특히국내에서는금융을위한 ActiveX Control 의사용이많으며, ActiveX Control 은사이트방문시최신버전으로유지하기위한자동업데이트를수행한다. ActiveX Control의자동업데이트기능을포함한다면국내사용자들은외국에비해더많은업데이트프로그램을사용하고있는것이현실이다. 5
1. 보안위협유형 제 3 장 SW 업데이트체계보안위협 3 장 SW 업데이트체계보안위협 1 보안위협유형 1-1 ( 서버 ) 서버장악 ( 사례 : 09 년 7.7 DDoS, 11 년 3.4 DDoS) 위협개요 : 별도의해킹을통해서업데이트서버에침투한후업데이트에사용되는설정정보또는업데이트파일위 변조파급효과 : 해당 SW 사용자단말전체에악성코드유포가능발생원인 : 외부에서업데이트서버로원격침투 1-2 ( 서버 ) 악성코드업로드 ( 사례 : 13 년 3 20 사태 ) 위협개요 : 업데이트서버를직접해킹해서장악하지않고도업데이트서버에악성코드를업로드해서다른사용자단말로악성코드를유포 ( 서버장악과동일한효과 ) 파급효과 : 해당 SW 사용자단말전체에악성코드유포가능발생원인 : 업데이트서버에서파일업로드에필요한권한 ( 사용자또는기기 ) 미확인 세계최고보안기술을지향하는창조적리더! 6
SW 업데이트체계보안가이드라인 1-3 ( 채널 ) MITM(Man-In-The-Middle) 위협개요 : 업데이트서버와사용자단말간의통신경로사이에서업데이트설정정보또는업데이트파일위 변조파급효과 : 통신경로상의위치에따라영향받는사용자단말에악성코드유포가능발생원인 : 클라이언트가업데이트서버에서전송한설정정보및파일의위 변조여부미확인 1-4 ( 클라이언트 ) 위장서버접속 ( 사례 : 11 년 SK 컴즈개인정보유출 ) 위협개요 : DNS 응답위 변조등의방법으로업데이트파일다운로드전 ( 前 ) 단계에서사용자단말이정상적인업데이트서버가아닌악의적인위장서버로접속하도록유도하여위장서버에서악성코드를사용자단말에전송파급효과 : 위장서버로유도하는지점의통신경로상의위치에따라영향받는사용자단말에악성코드유포가능발생원인 : 클라이언트가통신채널상대방의정상적인업데이트서버여부미확인 7
2. 보안위협사례 제 3 장 SW 업데이트체계보안위협 2 보안위협사례 2-1 국내보안취약점사례 인터넷에서다운로드받아사용할수있는국내주요 SW 20종에서 SW 업데이트체계취약점발견 ( 13.6.12. 관련업체통보 ) 발견된취약점은최악의경우해당 SW 사용자 PC 전체에악성코드를유포 확산시킬수있는치명적인수준인것으로판단됨특히, A사의경우는지난 11년발생한업데이트관련사고이후, 보안강화대책을적용한것으로알려졌으나, 여전히취약점이발견되었음 SW 보안위협 ( 채널 ) ( 클라이언트 ) MITM 위장서버접속 사용자 ( 단위 : 명 ) 취약점설명 A 사 천만이상 병행제품설치시위장서버로접속악성코드다운로드및실행가능 임의의인증서를제시하는 SSL 사용웹서버에접속하는경우인증서유효성및발급주체검증미실시로악성코드다운로드및실행가능 B 사 추정불가 서명검증미실시 C 사 천만이상 서명검증미실시 D 사 추정불가 서명검증미실시 E 사 백만이상 제휴제품설치시서명검증미실시 세계최고보안기술을지향하는창조적리더! 8
SW 업데이트체계보안가이드라인 2-2 국외보안취약점사례 2006년부터지속적으로 SW 업데이트체계취약점이발견되고있음특히, Apple, Oracle, McAfee, Mozilla 등의대표적인글로벌 SW 개발사들의제품에서도취약점이발견되고있음더욱이, 미국보안회사인 McAfee의바이러스백신의업데이트체계에서도취약점이발생되었던것으로볼때보안회사제품도악성코드침투경로로악용될수있음 2012 년 2010 년 2007 년 2006 년 SW Java (Oracle) Catalyst Control Center (AMD) itunes (Apple) Winzip (Corel) Winamp (AOL) MacOS (Apple) OpenOffices LinkedIn 기타 57종 Cam2PC (Nabosoft) Firefox (Mozilla) Fugu (Freeware) VirusScan (McAfee) Virex (McAfee) Zango (180Solutions) 보안위협 ( 추정 ) ( 채널 ) ( 클라이언트 ) MITM 위장서버접속 추정 추정 불가 불가 추정불가 추정불가 취약점설명 입력값검사미실시로외부의임의의 바이너리파일다운로드및실행가능 자동업데이트모듈의취약점으로 AMD Catalyst 13.1 버전부터드라이버 자동업데이트기능제거키로함 Infobyte 의 Francisco Amato 는 WinZip, itunes, Winamp 등 63 종의 자동업데이트모듈에서서명검사를 수행하지않는취약점을이용하여 클라이언트에악성프로그램을설치할 수있는도구인 Evilgrade 를개발 2008 년 1.0 버전을발표한이래지속적 으로취약한업데이트 SW 추가 서명검증미실시 업데이트설정정보미인증으로 MITM 공격가능 서명검증미실시 서명검증미실시 서명검증미실시 서명검증미실시 국외 SW 업데이트체계취약점현황은알려진취약점정보의부족으로보안위협을추정하여 기재하였으며추정이불가한경우도있음 9
2. 보안위협사례 제 3 장 SW 업데이트체계보안위협 2-3 피해보상사례 SK 커뮤니케이션즈해킹사건 으로인해법원은네이트해킹피해사용자위자료 100만원지급판결내림 법원, 네이트해킹피해위자료 100만원, 첫보상판결, 매일경제, 2012.04. 농협금융전산망마비사태 (2011.4) 로인해농협은 IBM으로부터현물약 115억원을보상받음 농협, 전산대란책임있는 IBM과굴욕적협상, 서울파이낸스, 2012.10. 3 20 사이버테러 로피해를입은농협이보안솔루션공급업체안랩을상대로손해배상청구를검토 농협, 안랩에 3.20 사이버테러 피해손해배상청구검토논란, 이투데이, 2013.04. 세계최고보안기술을지향하는창조적리더! 10
SW 업데이트체계보안가이드라인 3 기존 SW 업데이트체계의문제점 3-1 상호인증보장기술미적용 국내의 SW 업데이트체계에서는업데이트서버와업데이트클라이언트사이의상호인증기능을제공하지않기때문에위장업데이트서버를구축할경우업데이트클라이언트에서는정상업데이트서버로오인하여업데이트가수행됨 3-2 통신채널보호기술미적용 국내의일부 SW 업데이트체계를제외한대부분의업데이트체계에서는업데이트서버와업데이트클라이언트사이의통신채널을보호하지않기때문에업데이트와관련된중요한정보파일및통신프로토콜정보가노출되어공격자가업데이트체계를공격하는데활용됨 - 업데이트정보파일및실행파일을암호화하지않고평문으로전송 - 업데이트정보파일을 XOR 인코딩하여전송 - 업데이트정보파일및실행파일을잘알려진알고리즘 (zip, bzip2, cab 등 ) 으로압축 - 업데이트서버와업데이트클라이언트간의통신프로토콜분석가능 3-3 기밀성보장기술미적용 국내의 SW 업데이트체계에서는업데이트와관련된중요한정보파일및설치파일을보호하지않고평문형태로해당업데이트클라이언트의임시폴더및설치폴더에저장하거나낮은수준의파일보호만을하고있기때문에소프트웨어역공학을이용한분석을통해공격자가업데이트체계를공격하는데활용됨 - 업데이트정보파일 (xml, ini 등 ) 및실행파일 (exe, dll 등 ) 을암호화하지않고평문으로저장 3-4 저수준의무결성보장기술적용 국내의 SW 업데이트체계에서는업데이트정보파일및실행파일실행시에파일에대한무결성검사를수행하지않거나, 무결성검사를수행하는경우에도안전하지않은방법을이용하고있으므로공격자가무결성검사를우회하여업데이트클라이언트에서악성프로그램을실행가능함 - 업데이트정보파일과실행파일에대한무결성검사를수행하지않고업데이트 - 업데이트정보파일에대한무결성검사만수행하고실행파일에대한무결성검사미실시 - 업데이트정보파일에대한무결성검사없이실행파일무결성검사 - 실행파일이외의파일 ( 플래시파일, 그림파일, 설정파일등 ) 에대한무결성검사미실시 - 단순한 XOR 인코딩방법을이용하여업데이트정보파일의무결성을검사 - 해쉬 (MD5) 를이용하여정보파일및실행파일의무결성검사 - 해쉬 (MD5) 와대칭키암호화기법 (AES) 을이용하여실행파일의무결성검사 11
1. 파일보호 제 4 장대응방안 4 장대응방안 서버 채널 클라이언트 보안위협 서버장악 ( 09년 7 7, 11년 3 4 DDoS) 악성코드업로드 ( 13년 3 20 사태 ) 대규모 MITM DNS 포이즈닝라우터장악공개 Proxy 소규모 MITM 스위치장악 ARP 스푸핑위장서버접속 ( 11년 SK컴즈개인정보유출 ) 파급력 (L/M/H) 파일체크섬 파일보호 ( 수준 : L/M/H) 파일암호화 보안강화대책 디지털서명 고유값상호인증 채널보호 ( 수준 : L/M/H) PKI 상호인증 PKI 상호인증 + 채널암호화 H L M H - - - H L M H L M H H L M H - - H M L M H - - H H~M L M H L M H 파급력및보호대책의수준을 3 단계로분류 (L: Low, M: Medium, H: High) 1 파일보호 파일체크섬, 파일암호화, 디지털서명등의방법으로업데이트파일을조작할수없도록조치하는보안강화방법업데이트서버로부터클라이언트로파일만전송되는체계에서는채널보호없이파일보호수단만으로도안전성을강화할수있음 1-1 파일체크섬을이용한무결성검증 구조 - 서버 : 업데이트설정정보에파일체크섬정보포함 - 클라이언트 : 실제로다운로드받은파일에대해서체크섬값을계산한후업데이트설정정보에기재된체크섬값과일치하는지여부를확인 세계최고보안기술을지향하는창조적리더! 12
SW 업데이트체계보안가이드라인 장점 - 가장적은비용으로빠르게구현가능 ( 대부분의업데이트체계가이방법채택 ) 단점 ( 주의사항 ) - 체크섬생성알고리즘이클라이언트프로그램에포함되므로역공학등을통해서체크섬생성알고리즘이노출되기쉬우며, 이경우보안강화조치는무력화됨 1-2 파일암호화를이용한기밀성보장 구조 - 서버 : 업데이트파일을암호화해서저장 - 클라이언트 : 다운로드받은파일을복호화해서설치 ( 복호화실패시설치실패 ) 장점 - 비교적적은비용으로구현가능 - 암호화알고리즘은서버에만존재하므로서버장악외에는파일위 변조불가 - 암호화된파일을변조하는경우올바르게복호화되지않으므로설치불가단점 ( 주의사항 ) - 알려진대칭키암호화알고리즘을사용하면클라이언트프로그램에대한역공학등을통해암호키와알고리즘이노출될수있으며, 이경우보안강화조치는무력화됨 1-3 디지털서명을이용한무결성검증 구조 - 서버 : 업데이트파일에대한디지털서명 - 클라이언트 : 다운로드받은파일의디지털서명유효성검사 ( 무결성및발급주체확인 ) 장점 - 현존하는파일보호대책중가장안전 (PKI 방식 ) 13
1. 파일보호 제 4 장대응방안 단점 ( 주의사항 ) - 업데이트서버에서디지털서명생성이가능한경우서버장악후악성코드에디지털서명을붙여서배포가능 - 따라서, 반드시디지털서명의생성은업데이트서버외부의별도 PC에서수행해야함 - 또한, 디지털서명생성이가능한 PC가해커에게장악되는경우안전성이보장되지않음 - 인증기관 (CA) 에유지보수비용을지불해야함 세계최고보안기술을지향하는창조적리더! 14
SW 업데이트체계보안가이드라인 2 채널보호 채널보호는통신채널의양주체인서버와클라이언트가서로상대방을인증하는방법으로, 크게고유값상호인증, PKI 상호인증, PKI 상호인증 + 채널암호화의 3가지방법이사용됨일반적으로업데이트체계에서파일만송수신된다면채널보호대책없이도디지털서명과같은강력한파일보호대책만으로도안전성강화가가능하나, 업데이트체계의특성상파일이외의개체 ( 예 : 프로그램실행명령등 ) 를송수신하는경우라면파일보호대책에보호를받지못하므로채널보호대책도함께강구해야함 2-1 고유값상호인증을이용한인증 구조 - 서버 : 클라이언트가제공한고유값이약속한 ( 등록된 ) 값인지검사 ( 예 : IP주소또는 ID/PW) - 클라이언트 : 서버가제공한고유값이약속한 ( 등록된 ) 값인지검사 ( 예 : 서버 S/N) 장점 - 비교적적은비용으로구현가능단점 ( 주의사항 ) - 클라이언트가인정하는서버의고유값은각클라이언트마다서로달라야함 - 서버의고유값이모든클라이언트에게동일하다면쉽게노출되어채널보호대책이무력화됨 - 서버측에서는유효한클라이언트의고유값을등록하는절차가필요함 ( 예 : 최초설치시 ) 2-2 PKI 상호인증을이용한인증 구조 - 서버 : 클라이언트가제공한인증서검사 ( 유효성및발급주체 ) - 클라이언트 : 서버가제공한인증서검사 ( 유효성및발급주체 ) 장점 - 인증서의유효성과발급주체검사로강력한상호인증방법임단점 ( 주의사항 ) 15
2. 채널보호 제 4 장대응방안 - 제시된인증서가유효성과함께발급주체가올바른서버또는클라이언트인지확인하지않는경우가짜인증서를사용해서 MITM 공격가능 2-3 PKI 상호인증 + 채널암호화를이용한인증및기밀성보장 구조 : PKI 상호인증과더불어채널암호화수행 ( 예 : SSL) 장점 : 현존하는채널보호대책중가장안전단점 ( 주의사항 ) - 제시된인증서의유효성과함께발급주체에대한검사를수행하지않는경우가짜인증서를사용해서 (SSL) MITM 공격가능 세계최고보안기술을지향하는창조적리더! 16
SW 업데이트체계보안가이드라인 5 장 SW 업데이트체계보안십계명 1 업데이트설정파일무결성검사 업데이트프로그램은주기적으로또는사용자가해당 SW를실행할때업데이트필요유무를판단하기위해업데이트정보파일을업데이트서버에요청한다. 서버로부터전송받은업데이트정보파일의버전정보를비교하여로컬에설치된버전보다최신버전일경우, 업데이트정보파일에기재된업데이트 URL에접속하여업데이트파일을다운로드받고설치한다. 업데이트설정파일을해커가통신채널중간에서변조할수없도록디지털서명검증을수행해야한다. ( 검증실패시파일즉시삭제 ) 위협 - 업데이트설정파일의무결성검사를수행하지않을경우해커가변조하여업데이트가없을경우에도업데이트가있는것으로위장할수있으며, 위장서버로접속하여업데이트파일을가장한악성파일을다운로드및실행하도록할수있다. 개발시주의사항 - MD5 등의해쉬만사용할경우에는공격자가쉽게변조가능하므로, 반드시디지털서명검증방식으로무결성검사를수행해야한다. - 서명의유효성검사뿐만아니라, 서명에사용된인증서의상태도반드시확인해야한다. 2 업데이트설정파일암호화 업데이트정보파일을암호화하여사용할경우해커가업데이트정보파일을변조하는것을 어렵게만들수있다. 위협 - 업데이트정보파일을암호화하지않고평문으로사용할경우, 해커에게버전정보및업데이트 URL 정보등의업데이트관련정보가노출되어조작될수있다. 17
3. 업데이트정보파일암호화 제 5 장 SW 업데이트체계보안십계명 개발시주의사항 - 암호키는소스코드상에고정적으로사용할경우, 역공학에의해노출될수있으므로, 공개키기반의키암호화방식을사용할것을권고한다. 3 실행파일디지털서명검증 실행파일에대한무결성검증방법으로디지털서명을사용해야함. 디지털서명에사용된인증서의유효성을검증하고, 검증실패시에는관련파일을즉시삭제하고업데이트를종료하여야한다. 위협 - 디지털서명에사용된인증서의유효성을검사하지않을경우유효하지않은인증서에의해서명된악성코드가실행될가능성이있다. - 디지털서명검증에성공할경우에도, 서명자와버전정보가같은지확인하지않을경우, 다른회사의취약한제품이설치되거나, 동일제품의취약한버전또는동일회사의다른취약한제품으로설치가가능한문제가있다. 개발시주의사항 - 인증서의유효성검증실패시에는즉시해당파일을삭제조치하고업데이트과정을종료한다. - 디지털서명검증시에서명자와버전정보의최신성을확인을위해파일의무결성검증 ( 해쉬검사등 ) 도반드시수행해야한다. 4 비실행파일디지털서명검증 실행파일뿐만아니라그림, 플래시, 문서등을포함한모든비실행파일을업데이트할경우에도반드시디지털서명을사용하여무결성검증을수행하고, 검증실패시에는즉시삭제하여야한다. 위협 - S사보안프로그램의자동업데이트모듈에서업데이트파일중실행파일에대해서는무결성검증을수행하지만광고를위한그림파일에대해서는무결성검증을수행하지않음으로인하여공격자가업로드한악성코드가내장된그림파일을클라이언트의특정폴더에저장한뒤, 기타취약점을이용하여악성코드를실행하는사례가있었다. - C사는 PKI 기반의디지털서명검증을이용한무결성검증을수행하였으나, 해커에의해개발자 PC에저장된개인키가유출됨으로써악용된사례가있으므로, 배포와관련된개인키는별도의저장소에안전하게보관하여야한다. 개발시주의사항 - 비실행파일각각에대하여무결성검증을수행하기보다는 Cab 파일형태로압축한후압축파일에대하여디지털서명을삽입하는방법을권장한다. - 코드서명검증실패시에는즉시해당파일을삭제조치하고업데이트과정을종료한다. - MD5 등의해쉬는공격자가쉽게변조가능하므로지양하고, 반드시 PKI 기반의디지털서명검증방식으로구현하는것이안전하다. - 디지털서명검증시에서명자와버전정보의최신성을확인을위해파일의무결성검증 ( 해쉬검사등 ) 도반드시수행해야한다. 세계최고보안기술을지향하는창조적리더! 18
SW 업데이트체계보안가이드라인 5 제휴서비스프로그램디지털서명검증 제휴서비스프로그램설치시에도무결성을검증한뒤설치하도록한다. 검증실패시에는즉시삭제해야한다. 위협 - H사에서무료로배포하는 SW의경우, H사의프로그램에대한업데이트에대해서는무결성검증을수행하지만, 기본설정으로설치되는제휴사의프로그램에대해서는무결성검증을수행하지않는취약점이있었다. 이경우, MITM 공격으로위장서버에접속하여악성코드를다운로드받고설치할수있다. 개발시주의사항 - 제휴서비스로설치되는프로그램의경우에도, 다운로드받는설치파일에대한디지털서명검증을반드시확인해야한다. - 디지털서명검증시에서명자와버전정보의최신성을확인을위해파일의무결성검증 ( 해쉬검사등 ) 도수행해야한다. - 파일에대한디지털서명검증실패시에는즉시해당파일을삭제조치해야한다. 6 PKI 기반통신채널보호 정상적인업데이트절차에해커가끼어들지못하도록 SSL과같은통신채널보호를적용하는것이좋다. PKI기반의상호인증및통신채널암호화를수행하므로중간에 MITM 공격에대응할수있다. 위협 - E사가무료로배포하는 SW는통신채널보호를위해 SSL을사용하였으나, 서버인증서의유효성을검사하지않음으로인하여, 누구나발급할수있는자가서명된 (Self-Signed) 테스트용인증서를통한 MITM 공격이가능하였다. 개발시주의사항 - 업데이트프로그램에서 SSL을통한업데이트서버인증시서버인증서의유효성검증을정확히수행해야한다. 7 업데이트서버주소무결성검증 업데이트서버 URL이변조되지않음을보장해야한다. 이를위해, 업데이트서버주소는소스코드상에고정적으로사용하도록하고, 서버와클라이언트간의상호인증을수행해야한다. 위협 - ActiveX Control이나자바애플릿등과같은웹플러그인 SW에서간혹업데이트서버 URL을고정적으로사용하지않고웹페이지에서메소드의입력으로받아서설치하는경우가있다. 이런경우에는해커에의해변조되어위장서버로접속할수있다. - 업데이트서버 URL을업데이트프로그램소스코드상에고정적으로사용할경우에도 ARP 스푸핑이나파밍공격등에의해위장서버로접속할수있다. 19
8. 디지털서명에사용된인증서상태검사 제 5 장 SW 업데이트체계보안십계명 개발시주의사항 - 업데이트서버 URL을업데이트프로그램소스코드상에고정적으로사용하도록한다. - 불가피하게입력으로받아야할경우에는특정도메인으로제한해야한다. - 도메인및 URL 검사시에는문자열비교를정확히수행해야한다. 예를들어, update.server.com 서버의주소를검사할때 update.server.comp.com 과같은유사 URL로접속하는것을허용해서는안된다. - 업데이트서버와클라이언트간의상호인증을수행하는방법에는 SSL과같은통신채널보호또는업데이트파일자체의무결성검증을우선적으로적용한다. 8 디지털서명에사용된인증서상태검사 업데이트설정파일및업데이트파일의디지털서명검증시에는디지털서명의유효성검증뿐만아니라, 서명에사용된인증서의유효기간, 인증경로, 인증서효력정지또는해지여부등의상태를반드시검사해야한다. 위협 - 유효한인증서를이용하여서명된업데이트관련파일일경우에도개발자의실수에의해개인키가유출됨으로써유출된개인키로서명된악성프로그램이실행될수있다. 디지털서명검증시주의사항 - 디지털서명검증모듈개발시에서명에사용된인증서의 CRL 1) 또는 OCSP 2) 정보를이용하여유효한인증서인지를확인해야한다. 9 업데이트프로그램분석방지를위해코드난독화적용 소프트웨어역공학을통해실행코드로부터업데이트체계구현에사용된통신프로토콜, 암호화알고리즘, 업데이트관련설정파일등의모든내용이분석가능하므로코드난독화를적용하여업데이트체계에대한상세분석을어렵게해야한다. 코드난독화적용시주의사항 - 코드난독화를적용할경우수행속도및안전성의문제가발생할수있으므로프로그램내의보호가필요한부분에코드난독화를적용하도록권장한다. 10 자동업데이트보안미비시기능삭제 자동업데이트체계에대한상기필수보안대책이미비할경우, 자동업데이트기능을삭제하고사용자가수동으로사이트에접속하여다운로드받아설치하는수동업데이트방식을사용하도록유도해야한다. 사용자가제품업데이트다운로드페이지에접속하여다운로드받을경우에도, 제작사의서명이올바른지확인하도록공지할필요가있다. 1) CRL(Certificate Revocation List) : 인증서폐기목록 2) OCSP(Online Certificate Status Protocol) : 온라인인증서상태프로토콜 세계최고보안기술을지향하는창조적리더! 20
부록 SW 업데이트체계보안십계명 ( 요약 ) 번호 항목내용비고 - 업데이트설정파일을해커가통신채널중간에서변조할수없도록 1 업데이트설정파일디지털서명검증 디지털서명검증을수행해야함 ( 검증실패시파일즉시삭제 ) -디지털서명검증이란비대칭키암호알고리즘을사용하여설정파일을업체의개인키로서명하고, 클라이언트업데이트 필수 프로그램에서이를업체의공개키로검증하는방법을말함 -MD5 등의해쉬는공격자가쉽게변조가능하므로지양해야함 2 업데이트설정파일암호화 -업데이트정보를포함하는설정파일은암호화를통해서임의로분석이불가능하도록변경하는것이좋음 선택 - 업데이트서버를통해배포할업데이트파일은반드시 디지털서명검증을수행해야함. 이를위해업데이트파일은 업체의개인키로서명한후업로드해야함 3 실행파일디지털서명검증 -클라이언트업데이트프로그램은다운로드받은파일을임시폴더에먼저저장하고업체의공개키로디지털서명을검증하여신뢰된파일만사용하여야함 ( 검증실패시파일즉시삭제 ) 필수 -EXE, DLL, SYS 와같은실행파일의코드서명검증시에는서명의 유효성뿐만아니라서명자정보의일치유무도정확히검사해야함 -MD5 등의해쉬는공격자가쉽게변조가능하므로사용을 지양해야함 - 실행파일외에그림, 플래시등의비실행파일을업데이트할 4 비실행파일디지털서명검증 경우에도반드시디지털서명검증을수행해야함 ( 검증실패시파일즉시삭제 ) -비실행파일의경우 cab파일형태로압축한후압축파일에 필수 디지털서명을삽입할것을권장 -MD5 등의해쉬는공격자가쉽게변조가능하므로지양해야함 - 제휴프로그램설치시에도무결성을검증한뒤설치하도록해야함 5 제휴서비스프로그램설치시디지털서명검증 ( 검증실패시파일즉시삭제 ) -제휴프로그램의무결성검증을위해서는공개키기반의디지털서명방식을사용해야함 -제휴프로그램디지털서명확인시에는반드시서명자, 버전을 필수 확인해야함 ( 파일해쉬검증 ) 6 PKI 기반통신채널보호 - 정상적인업데이트절차에해커가끼어들지못하도록 SSL 과 같은채널보호를적용하는것이좋음 선택 21
부록 SW 업데이트체계보안십계명 ( 요약 ) 7 업데이트서버주소무결성검증 - 업데이트서버 URL 이변조되지않도록업데이트서버주소는 소스코드상에고정적으로사용하고, 서버와클라이언트간의 상호인증을수행해야함 선택 8 인증서상태검사 9 실행파일난독화 -업데이트관련파일디지털서명검증시에서명에사용된인증서의유효기간, 인증경로, 인증서효력정지또는해지여부등의상태를검사해야함 -업데이트프로그램등의실행파일은난독화도구를활용하여임의로분석이어렵도록하는것이좋음 필수 선택 - 자동업데이트체계에대한상기필수보안대책이미비할경우, 자동업데이트기능을삭제하고사용자가수동으로사이트에 10 자동업데이트보안미비시기능삭제 접속하여다운로드받아설치하는수동업데이트방식을사용하도록유도해야함 필수 - 사용자가수동다운로드시에도, 제작사의서명이올바른지 확인하도록공지해야함 세계최고보안기술을지향하는창조적리더! 22