Download - Security sloution for not compiling code
시큐어코딩 솔루션 Checkmarx 소개
Seoul, October 2015
This document is confidential and is intended solely for
the use and information of the client to whom it is addressed.
Rimahr.Co., Ltd.
Rimahr Co., Ltd.
Rimahr Co., Ltd.
Presentation Material
1
Introduction
시큐어코딩의 필요성
시큐어코딩 솔루션의 유형
시큐어코딩의 성공요소
Checkmarx 소개 Checkmarx 개요
Checkmarx 기능 소개
주요 고객 사례
Checkmarx의 차별점
Next Step
2
사이버공격은 주로 어플리케이션의 취약점을 이용하므로 이의 수정이 필요하며, 특히 개발단계에 수정하는 것이 훨씬 경제적입니다
“사이버 공격의 약 “84%”가 어플리케이션 취약점을 악용한 것” (Gartner)
“어플리케이션의 86%가 취약점에 노출되어 있음” (Web App Security Consortium)
• 전세계 12,186 application을 대상으로 연구
• 이중, 86% 가 중간 이상 수준의 심각한 보안취약점에 노출
소프트웨어 개발단계에서 취약점을 수정하면, 상용화 단계 대비 약 1/90가격으로 수정 가능
시큐어코딩의 필요성
사이버공격의
주요 원인은
소프트웨어/
어플리케이션
보안 미흡
개발 단계
에서부터
보안 취약점
수정 필요
3
개발자
Source Repository
시큐어코딩솔루션
Build
Production
개발자
Source Repository
Production
Build Mgnt
System
Build
시큐어코딩솔루션
컴파일 방식 Un-compile 방식
시큐어코딩 솔루션은 스캔 실행 시점에 따라, 컴파일 방식과 un-compile 방식으로 구분할 수 있습니다
시큐어코딩 솔루션의 유형
4
시큐어코딩 솔루션의 유형
컴파일 방식의 한계
검수 단계에 한정적으로 취약점 진단
수행
컴파일 환경 구축에
시간 과다 소요
컴파일 방식의 문제점
개발자 별로 사용한 라이브러리 등을 통합하여 컴파일하는 데 상당한 시간/노력 소요
진단 준비과정 오래 걸림 1
검수 단계에 진단을 하기 때문에, 보완/수정 기간 부족
초기의 취약한 코드를 기반으로 한 추가적인 개발로 인해 수정에 따른 영향도 큼
취약점의 충분한 수정 어려움 2
형상관리시스템 연동 불가로, 체계적/자동화된 진단 어려움
체계적인 취약점 진단 어려움 3
개발자들이 시큐어코딩에 대해 익힐 기회가 없음
시큐어코딩 역량 강화 어려움 4
컴파일 방식의 취약점 진단
개발
리드타임
증가로
조직
경쟁력
약화
컴파일 방식의 취약점 진단은 준비과정이 길고, 충분하고 체계적인 수정이 어려워, 조직의 개발 경쟁력을 약화시키는 경우가 많습니다
5
취약점에 대한 충분한 수정이 어려움
체계적인 취약점 진단이 어려움
시큐어코딩 역량 강화가 어려움
취약점 진단 준비과정이 오래 걸림
컴파일 방식 시큐어코딩
Develop Build QA/Test Product
취약점진단
초기 진단/수정 충분한 수정기간 및 영향도 최소화
형상관리시스템 연동을 통해 체계적 점검 가능
개발자 주도 취약점 진단을 통해 자연스러운 교육 효과
컴파일 이전 소스코드 진단 준비과정 필요 없음
개발자 주도형 시큐어코딩
Develop Build QA/Test Product
시큐어코딩 최종 진단 개발자 주도형
시큐어코딩이란?
what
when
who
how
컴파일/빌드되지 않은 소스코드를
코딩단계에서부터
개발자가 주도적으로
형상관리에 연동, 자동화된 진단 수행
Reliability Productivity
시큐어코딩 솔루션의 유형
개발자가 코딩 단계에서 직접 취약점을 진단하는 “개발자 주도형 시큐어코딩”이 가장 효과적인 방법이라 할 수 있습니다
6
형상관리 시스템
개발자
보안 테스트
보안운영
형상관리 연동을 통해, 변경된
소스에 대한 자동화/체계적인
진단 시스템 구축 가능
개발자가 부담없이 취약점을
진단할 수 있도록 빠른 속도 필요
빠른 취약점 수정을 위한 정확한 검출
및 수정을 위한 효과적인 가이드 필요
향후 개발언어 및 취약점 룰 확장
을 감안한 유연한 시스템 필요
상시적, 즉각적인 고객 지원을
통해 문제 상황 발생시
적기에 대처 컴파일 이전에 스캔할 수 있어야
각각의 부분 파일을 스캔 가능
빠른 스캔 속도
컴파일 이전 스캔
유연한 시스템
형상관리 연동
효과적 수정 가이드
고객 지원
Define Design
Code
Test
Monitor
시큐어코딩의 성공요소
개발자 주도형 시큐어코딩의 성공요소는 개발 – 테스트 – 운영 단계별로 다음과 같이 규정할 수 있습니다
7
Why Checkmarx?
컴파일 / 빌드하지 않고 원시 소스코드를 스캔할 수 있음
연관분석을 통해 엘레먼트 간에 실행 가능한 경로를 파악하는 Virtual Compiler 기술로, 컴파일해야만 검출 가능한 취약점을 검출할 수 있음
스캔 준비에 필요한 컴파일 환경 설정이 필요없고, 스캔 속도가 빨라 전체 소요 시간이 단축됨
요소간 연관분석을 통한 트리구조 그래프 및 예상 공격경로 제공
Best Fix Location 제시를 통해 쉽고 빠른 취약점 수정
형상관리를 포함한 기존의 개발 관련 시스템 (SVN, GIT, Jenkins, Bamboo 등)과 쉽게 연동이 가능함
다양한 언어 및 IDE plug-in (Eclipse, Visual Studio, IntelliJ) 및 프레임워크를 지원하고 있으며, 취약점 룰 확장을 위한 커스터마이징 기능 보유함
365 / 24 글로벌 고객센터 운영 및 Rimahr Co. 기술지원팀을 통한 즉각적인 고객지원
시큐어코딩의 성공요소
이러한 개발자 주도형 시큐어코딩의 성공요소들을 충족하는 세계적으로 검증된 솔루션이 바로 Checkmarx입니다
컴파일 이전 스캔
빠른 스캔 속도
효과적 수정 가이드
형상관리 연동
유연한 시스템
고객 지원
8
Checkmarx는 현재 소프트웨어 보안취약점 점검 시장에서 가장 선도적인 시큐어코딩 솔루션으로 인정받고 있습니다
ICT 업계의 다양한 시장 평가기관들에 의해 최고의 솔루션으로 평가받고 있음
• Gartner의 “Critical Capabilities for Application Security Testing” (2014.9.22)에서 “Static Analysis Product” 분야에서 HP, IBM을 제치고 1위 (5.0만점) 선정
• Cyber Defense Magazine의 “Best Application Security Product in 2014” 에서 2nd Fastest Growing Security Company로 선정
빠른 스캔 속도, 유연한 customization 및 zero에 가까운 오탐율을 가능하게 하는 특허 기반의 선도적 기술을 보유
전세계 일류 기업들 (Fortune 500 customers)을 대상으로 서비스를 제공
Checkmarx 개요
Scan un-compiled code
Easy customization
Best fix locations
Incremental scan
On premise / on demand
Flexible licensing
9
• 모든 주요 코딩 언어 지원
• 전세계 모든 주요 보안기준 full support
CLI
• 다양한 개발 환경 플러그인 지원
Checkmarx 개요
Checkmarx는 주요 코딩 언어, 개발 환경, 보안기준을 모두 지원합니다
10
Checkmarx는 Virtual Compiler를 통해 코드와 플로우를 분석하여, 보안 혹은 보안을 넘어선 다양한 문제점을 검출해 줍니다
Virtual Compiler (가상컴파일러)
Code & Flow Database
Out- of the- box
Customized
Community
Business Logic
Code Standards
QA
검출 엔진
Security Query (보안취약점 검출)
Beyond Security (보안외의 문제점 검출)
Checkmarx 개요
11
Checkmarx는 Gartner의 2014 AST Critical Capabilities Report 에서 5.0 만점을 받은 유일한 솔루션입니다
Checkmarx 개요
12
개발자 (Checkmarx Web UI / IDE plug-in)
보안담당자 (Checkmarx web-UI)
Checkmarx Server
스캔 및 리뷰
감사
Repository/ Build Server
보안담당자 및 개발자는 Web/IDE 플러그인을 통해, Repository나 Build 서버 내의 코드를 스캔 및 리뷰할 수 있습니다
Checkmarx 개요
13
Checkmarx 기능 소개
Checkmarx는 코드 내에서 취약점의 위치 및 예측되는 공격경로를 제공함으로써 개발자들의 취약점에 대한 이해를 향상시켜 줍니다
공격경로 제공
실제 코드 내에서 취약점을 바로 확인
14
66개의 SQL 침입
검출
관련된 204개의 노드를
Graph로 제공 “Best Fix Location” 제안 (이 경우에는 11개만 고치면
66개의 공격이 모두 치료)
Checkmarx 기능 소개
요소간 플로우 분석을 통해 취약점을 트리 구조로 보여주며, 특히 best fix location 제공을 통해 수정기간을 단축시켜 줍니다
15
Checkmarx 기능 소개
스캔 결과 요약 및 이전 스캔 결과와의 비교 기능을 통해, 쉽고 편리하게 취약점을 확인 및 수정할 수 있습니다
이전 스캔 결과와의 비교 스캔 결과 요약
완료된 스캔 결과를 직관적으로 확인할 수
있도록, 주요 취약점 및 위험도를 요약 제시
동일 프로젝트에 대해 이전 스캔 결과와 현재
스캔 결과를 비교 분석 함으로써, 취약점 수정
여부를 직관적으로 확인 가능
16
동일 프로젝트에 대해, 기존 스캔에 비해 변경된 부분만 검출하여 스캔하는
“증분스캔(Incremental Scan)” 을 통해, 전체 코드를 스캔하는 것에 비해 스캔 시간을
획기적으로 단축시켜 줌
Checkmarx 기능 소개
Checkmarx에서 제공하는 증분 스캔 기능을 통해, 스캔에 소요되는 시간을 획기적으로 단축시킬 수 있습니다
: 전체스캔
: 증분스캔
17
Checkmarx 기능 소개
Checkmarx는 다음과 같이 IDE, Source Repository, Build Management 등 다양한 솔루션과 즉시 연동이 가능합니다
Cenzic
DAST
Intellij plugin
Visual Studio plugin
Eclipse plugin
Checkmarx Web Client
Developers
CxAudit
Checkmarx Web Client
Auditors
JIRA
Bug Tracking
Suggestions
TeamMentor
Build Management
Bamboo
Jenkins
WS API
CLI
Source Repository
TFS (Team Foundation Server)
SVN (Subversion)
GIT
Perforce
Sonar
Dashboards
18
[예시] 이클립스 플러그인 화면
Checkmarx 기능 소개
19
Checkmarx 기능 소개
[예시] 비주얼스튜디오 플러그인 화면
20
Checkmarx는 전세계에 걸쳐 다양한 산업군의 초일류 기업 및 정부기관을 고객으로 보유하고 있습니다
Hitech Retail Finance Health & Insurance
Gov & Defense
Gaming Consulting Media Telecom
주요 고객 사례
21
[예시] Checkmarx와 타 글로벌 벤더들과의 경쟁 사례
Customer Geo Industry Use case(s) Key
competitor(s)
Why we won
Intel USA Hi-tech SDLC HP
IBM
Pre compile scanning,
support
GAP USA Retail Enterprise wide Replaced HP TCO, usability, support
Coca Cola USA Retail Private cloud HP Usability, TCO
Sega Japan Gaming SDLC Coverity
HP
Coverage vs. Coverity,
Functionality &
Usability vs. HP
Accenture India
USA
Consulting Audit services Replaced IBM Functionality, Usability,
pricing
Sony Europe Hi-tech Private cloud HP Functionality &
Usability Against
corporate standard
ING direct Canada Banking SDLC Replaced HP Enabled complex scan;
HP unable to perform
Adidas Germany Retail Central audit HP
IBM
Usability, TCO
Nike USA Retail Department DLC HP Usability, TCO
About the customer Competitor
주요 고객 사례
22
Customer Geo Industry Use case(s) Key
competitor(s)
Why we won
Microsoft USA Hi-tech Market
certificate
Coverity Scan platform-based
apps, scripting
languages – JS, HTML5,
Ruby, iOSAdobe USA, India ISV SDLC Replaced HP TCO, Support
Skype UK Hi-tech SDLC Multiple Functionality, Usability
Guangdong
Bank
China Banking SDLC Replaced HP TCO, Usability
NTT software Japan ISV SDLC Multiple Overall better
Konami Japan Gaming SDLC IBM
HP
Coverage, functionality
Tata consulting India Consulting Audit services IBM
HP
Functionality, usability,
pricing
State farm USA Insurance Platform-App
certification
none Proprietary platform-
based apps
G6 hospitality USA Hospitality SAST + DAST Whitehat Partnership with Cenzic
About the customer Competitor
주요 고객 사례
[예시] Checkmarx와 타 글로벌 벤더들과의 경쟁 사례
23
“세일즈포스닷컴은 Checkmarx를 우리의 클라우드플랫폼 사업인 Force.com의 공식 소스코드 스캐너로 선정하여 사용하고 있습니다. 수십억개의 소스코드 라인이 발생하지만, Checkmarx는 가장 높은 수준의 보안기준을 적용하여 모든 AppExchange 어플리케이션을 안전하게 보장하고 있습니다.”
“Checkmarx는 다른 분석툴에 비해 사용이 편리합니다. 중요한 것은, 이것을 우리 build 과정에 통합할 필요 없이 소스코드를 던져주기만 하면 된다는 것입니다.”
“Checkmarx의 기술은 매우 정확하고 사용하기 쉽습니다. 훌륭한 퍼포먼스를 보여주고 있고, 불완전한 코드 샘플을 검출하는데 탁월합니다. 우리의 세세한 요구사항을 완벽히 지원할 정도로 유연하게 커스터마이즈되며, 가격적인 측면에서도 Checkmarx 도입은 가장 훌륭한 결정이었다고 생각합니다.”
주요 고객 사례
[예시] 주요 고객들의 Checkmarx 사용 사례
24
제공 가치 기타 분석도구 Checkmarx
사용편의성
(Ease of Use)
코드 스캔을 위해 컴파일 및 빌드 필요
사용 언어마다 다른 설정을 요구
스캔 실행이 어렵고 복잡함
특허 보유한 Virtual Compiler 기술을 통해
컴파일/ 빌드하지 않은 원시코드 스캔
사용 언어, 프로젝트 단계에 상관없이 스캔 가능
정확성
(Accuracy)
구문 분석 혹은 제한된 연관분석 제공
제한된 (혹은 불가능한) 커스터마이징
으로 인한 높은 오탐율
소스코드 Data Flow 기반 분석을 통한 취약점에
대한 정확한 진단
취약점 점검 Rule 자체의 customization 을 통해
zero에 가까운 오탐율 구현
유연성
(Flexibility)
제한적인 Plugin 만을 제공하거나, 기
존 사용 솔루션과의 연동 제한적
컴파일 기반 제품의 경우 개발 단계에
서의 시큐어코딩 적용 어려움
주로 사용하는 IDE, source repository 및 build
server에 대한 즉각 지원
형상관리 등 기존 사용 솔루션과의 연동을 통한
SDLC와 시큐어코딩의 손쉬운 연계
직관적 결과안내
(Results)
복잡한 결과 보고로 인해 취약점 파악
및 수정에 시간이 소요됨
그래프 및 Best Fix Location 제공을 통한 직관적
인 결과보고로 쉽고 빠른 파악 및 수정
고객 지원
(Support)
제한된 고객 지원 및 고객 요구 반영이
어렵거나 느림
365/24로 Global Support Center 운영
지속적인 버전, 취약점점검 룰 업데이트 및 IDE/
개발언어 추가
Checkmarx의 차별점
Checkmarx 는 기존의 시큐어코딩 솔루션들과 비교하여, 다음과 같은 차별점을 갖고 있습니다
25
NEXT STEP
POC Kickoff 인스톨 및 교육 (최초 스캔 포함 1.5 시간)
결과 검토 및 Fine tuning
(1.5 시간)
Self Free Trial
Use Case Analysis
설치
WEEK 1 WEEK 2