View
4
Download
0
Category
Preview:
Citation preview
-0-
바이너리 코드 분석솔루션 - Clarity
-1-
1. 오픈소스SW 동향
2. 오픈소스SW 리스크
3. Clarity 제품소개
-2-
-3-
(출처 : 정보통신산업진흥원)
1,410 1,602
1,834 2,113
2,452
2,862
2015 2016 2017 2018 2019 2020
(단위 : 억원)
-4-
개발
생산성향상비용절감
호환성 확보
(벤더 Lock-in 탈피)
-5- 출처 : Bearing Point Automotive OSS Study 2012
-6-
1. 오픈소스SW 동향
2. 오픈소스SW 리스크
3. Clarity 제품소개
-7-
• 많은 기업들이 비용 절감 및 효율성 향상을 위해외부(3rd Party) 코드를 이용
• 공급망에 있는 모든기업이외부 코드의 보안 및법적 컴플라이언스에 책임을가짐
• 대부분의 외부 코드는 오픈 소스를 포함하며, 바이너리파일형태로 배포
• 구매 당시 안전한 제품도 추후 보안에 취약해지는 경우가 많음
-8-
라이선스의무사항없음
외부배포
내부사용
소스코드공개
공개범위고지
특허무효
License 사본
-9-
오픈소스개발자 / 커뮤니티 사용자 / 기업OSS 제공
라이선스의무준수
이를어길시,
직접 Legal Claim 제기하는경우발생소송대리 / 저작권양도
오픈소스관련기관
저작권자를대신하여소송을제기하는비영리단체
소송제기-제품판매정지-손해배상및이익배분
출처 : LG Electronics
-10-
-11-
-12-출처 : LG Electronics
-13-
아파치 스트럿츠(Apache Struts)에 포함된 Jakarta
Multipart Parser 취약점(CVE-2017-5638)이 원인
-14-
혼다車, 랜섬웨어감염에생산일시중단 (2017.6)
가정용 IP카메라해킹해성인사이트에업로드 (2017.5)
국내웹호스팅업체랜섬웨어복구비용 13억지불 (2017.6)
IoT기기보안취약점신고전년대비 2.7배증가 (2017.9)
미국전역및유럽에인터넷서비스마비사태발생 (2016.10)
-15-
-16-
-17-
보안 공격자에게 쉬운공격대상의 환경을 제공
상용 및 내부 사용
애플리케이션에 전반적으로
사용하여, 보안취약점이 노출될
경우, 보안 공격자에게 쉬운
공격대상의 환경을 제공
보안취약점과
익스플로잇의 공개적 노출
NVD, 메일링 리스트, 프로젝트
홈페이지 등의 소스에
공개적으로 노출되어 있음
PULL 서포트 모델
사용자가 직접 사용하는
오픈소스에 대한 보안취약점,
패치 및 업데이트를 모니터링
다양한 오픈소스 유입경로
오픈소스에 대한 가시성이
확보되지 못할 경우, 사용된
오픈소스 컴포넌트에 알려진
보안취약점을 타겟으로
한 공격에 대응불가
출처 : 블랙덕소프트웨어
-18-
Heartbleed Shellshock Freak
Ghost Venom Drown
오픈소스 OpenSSL
출시시점 2011
보고시점 2014
오픈소스 Bash
출시시점 1989
보고시점 2014
오픈소스 OpenSSL
출시시점 1990s
보고시점 2015
오픈소스 GNU C Library
출시시점 2000
보고시점 2015
오픈소스 QEMU
출시시점 2000
보고시점 2015
오픈소스 OpenSSL
출시시점 1990s
보고시점 2016
소프트웨어 내에서 평균 1894일 동안 노출
-19-
Heartbleed Shellshock Freak
Ghost Venom Drown
오픈소스 OpenSSL
출시시점 2011
보고시점 2014
오픈소스 Bash
출시시점 1989
보고시점 2014
오픈소스 OpenSSL
출시시점 1990s
보고시점 2015
오픈소스 GNU C Library
출시시점 2000
보고시점 2015
오픈소스 QEMU
출시시점 2000
보고시점 2015
오픈소스 OpenSSL
출시시점 1990s
보고시점 2016출처 : SHODAN
-20-
정적분석
동적분석
출처: 전자정부SW 개발·운영자를위한소프트웨어개발보안가이드, 행정자치부
-21-
정적분석탐지
동적분석탐지
발생가능한모든보안취약점
-22-
프로젝트
오픈소스 커뮤니티
<code>
1OO1O1OO1
1OO1O1OO1
1OO1O1OO1
1OO1O1OO1
<code>
<code>
<code>
3rd Party
3rd Party
3rd Party
-23-
프로젝트
오픈소스커뮤니티
<code>
1OO1O1OO1
1OO1O1OO1
1OO1O1OO1
1OO1O1OO1
<code>
<code>
<code>
-24-
1. 오픈소스SW 동향
2. 오픈소스SW 리스크
3. Clarity 제품소개
-25-
-26-
-27-
identifier ‘A’
① Unpack (Clarity Engine )
Identifier‘A’
Identifier‘C’
Identifier‘B’
바이너리파일
② Identifier 추출
③ Clarity 오픈소스DB와identifier간교차검색
-28-
identifier ‘A’
① Unpack (Clarity Engine )
Identifier‘A’
Identifier‘C’
Identifier‘B’
BinaryFile
② Identifier 추출
③ Clarity 오픈소스DB와identifier간교차검색
Pre-run
Unpack
Leaf Scan
Aggregate Scan
Post-run
Binary_1
File_11
File_12
File_13
File_14
File_15
File_16
File_131
File_132
File_132
File_134
Binary_1
File_11
File_12
File_13
File_14
File_15
File_16 File_1321
File_1322
File_1323
File_1324
-29-
identifier ‘A’
① Unpack (Clarity Engine )
Identifier‘A’
Identifier‘C’
Identifier‘B’
BinaryFile
② Identifier 추출
③ Clarity 오픈소스DB와identifier간교차검색
=1
Yes
No
Yes
# of match component
>1
Source files used only once
Too manymatch found
-30-
identifier ‘A’
① Unpack (Clarity Engine )
Identifier‘A’
Identifier‘C’
Identifier‘B’
BinaryFile
② Identifier 추출
③ Clarity 오픈소스DB와identifier간교차검색
바이너리파일OSS Repository
일치
불일치
불일치
불일치
-31-
-32-
-33-
• 개인오픈소스개발자가직접법적권리를제기하거나, 오픈소스관련비영리단체가저작권자를대신하여소송을제기
• 소송을당한기업은제품판매정지, 손해배상및이익배분등의피해를받음
⇨ Clarity는상기와같이저작권이슈가되는오픈소스를『Litigator Code』로별도관리하며, 이에대한정보를사용자에게알림
-34-
-35-
`
Android Dex/Odex Apple resource fork files base64 OpenType Fonts
Android Resources elf bFLT TrueType Fonts
APK for Android binary XML terminfo file ico
java class files xml vim swap files Ics
timezone file text files (ASCII) ogg symbolic links
woff webp swf …
-36-
Clarity Web고객 A
Clarity on AWS
Clarity Web고객 B
Clarity Web고객 C
-37-
고객
WebApplication
DB(OSS,
Vulnerability,Web Data, etc.)
Clarity Engine
InsignaryCloud Server
Internet
-38-
• 8 Cores (64-bit processor) • 32GB RAM • 2TB SSD
HW
OS • Ubuntu 16.04.x
DB • PostgreSQL
• Docker• 일관된 Clarity 구동환경 구성 (옵션)
• Chrome 56 + • Firefox 51 + • Internet Explorer 11 +• Safari 10 +
-39-
다양한임베디드환경(ARM, Intel 등)을지원하는범용성
클라우드 및 On-Premise 모두제공
-40-
고객사
파트너
<Korea, Japan>
<Japan>
<China> <East Asia, India, Australia>
<Korea><Europe>
-41-
• 등록된 이메일 ID로 로그인
-42-
• 프로젝트/버전 선택 및 파일 업로드
-43-
• ‘by Binary’와 ‘by Project’ 화면 제공
• 진단한 바이너리 파일 리스트 및 개요
-44-
• 선택한 바이너리 파일에서 파악된 OSS에 대한
요약 정보 제공
-45-
• 파일 트리의 각 파일별 검출된 오픈소스 정보 제공
• 점수 기반의 오픈소스 순위 안내
-46-
• Identifier 카테고리별 상세 정보 제공
• 오픈소스 진단의 근거
-47-
Click
Recommended