sparrow sce f › product_down › sparrow sce_시큐어코딩... · 2019-01-14 · semantic...

31
SPARROW SCE 시큐어코딩 진단도구 Secure Coding Edition

Upload: others

Post on 28-Jun-2020

9 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

SPARROW SCE

시큐어코딩 진단도구

Secure Coding Edition

Page 2: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

1. 제품개요

2. 구축효과

3. 제품 특장점

4. 운영환경

5. 레퍼런스

6. APPENDIX

- 행안부시큐어코딩가이드항목

CONTENTS

Page 3: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

제품개요 | 도입 필요성

SW 보안약점을 이용한 사이버테러 위협 증가

“사이버 공격의 약 75%가 응용 프로그램, 즉 SW의 취약점을 악용한 것” -Gartner

소스 코드의 보안취약점을 이용한 사이버 공격은 방화벽, 침입차단시스템, 침입방지 시스템 등의 일반적인 보안장비만으로는 대응하기 어렵습니다.

“3.20 사이버테러는 방송사, 금융기관에 공통적으로

설치된 SW의 보안취약성을 이용한 APT 공격이 원인”해커가 공격 대상의 취약점을 파고들어 악성코드를 서버 등에 유포, PC를 감염시키는 방식은 사실상 원천차단이 어렵습니다. 잠재적인 사이버테러를 방지하기위해서는 전 사업분야에 걸친 소스코드 보안 점검이 필요합니다.

SW 개발단계부터 소스코드 상의 보안 취약점을 최소화하여,SW의 보안성을 확보해야 합니다.

Page 4: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

SW개발보안(시큐어코딩)이 의무화 되었습니다.

제품개요 | 제품개발 배경 및 필요성

행정안전부는 소프트웨어 개발단계부터 보안약점을 제거하는 ‘소프트웨어 개발보안(시큐어코딩)’을 점진적으로의무화 적용하였습니다.

정보시스템 구축∙운영 지침(행정안전부공고 제2012-157호, 2012년 5월)

제 6장 소프트웨어 개발 보안

▶ 소프트웨어 개발보안 적용대상 점진적 의무화2012년 12월부터 행정기관 등에서 추진하는 개발비 40억 원 이상 정보화 사업에 소프트웨어 개발보안 적용을 의무화

2014년 1월부터는 개발비 20억 원 이상의 정보화 사업에 적용

2015년에는 감리대상 전 정보화 사업에 소프트웨어 개발보안을 적용

▶ 43개의 소프트웨어 보안약점 필수 진단소프트웨어 개발사업자가 반드시 제거해야 할 보안약점 43개 항목

▶ 정보시스템 감리 시 필수 항목감리법인은 정보시스템 감리 시 검사항목에 보안약점 제거여부를 반드시 포함

감리법인이 보안약점 진단도구를 사용할 경우 국정원장이 인증한 보안약점 진단도구를 사용하여야 함(‘14.1월부터 적용)

Page 5: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

제품개요 | SPARROW SCE

SPARROW SCE는 보안성과 안정성을 요하는SW 개발환경에 적합합니다.

• 정보화 사업을 추진하는 모든 공공기관

• 정보화 사업 감리를 수행하는 감리법인

• 활용 소프트웨어의 강력한 보안이 요구되는

금융기관 및 기업

• 소프트웨어를 자체 개발하여 사용하는 기업

SPARROW Secure Coding EditionSPARROW SCE는 국내 최고의 기술력을 갖춘 시큐어코딩을 위한 최적의 진단도구 입니다.

SPARROW SCE는 시맨틱 분석 기반의 정적 분석을 통해소스코드만으로 소프트웨어의 보안약점을 검출합니다.

사이버테러 위협에 대비

개발단계부터 소스코드 상의 보안 취약점을 최소화하여

사이버테러 위협에도 안전한 SW를 개발할 수 있습니다.

시큐어코딩 의무화에 적극적으로 대응

행안부에서 공고한 43개 보안약점뿐만 아니라 국제 표준

가이드를 지원합니다.

개발완료 이전 보안취약점 검출로 비용 절감

소프트웨어 개발 단계에 보안취약점 진단으로 오류 검출

및 수정에 투입되는 비용을 절감할 수 있습니다.

안전하고 효율적인 개발환경 통합관리

개발 전 단계에서 프로젝트의 보안성과 품질을 진단하여

소프트웨어 품질 향상과 올바른 보안 코딩 습관 마련에

기여합니다.

Page 6: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

SPARROW는 소스코드 분석 분야에서 기술력과 성능을 인정받았습니다.

제품개요 | 특허∙인증∙수상

SPARROW SCE는 시큐어코딩 전문 도구 1세대가 되기 위해, CC인증 규격 발표를 기다리고 있습니다.

SPARROW SCE는 CC인증을 신속하게 획득하여 경쟁력과성능이 검증된 시큐어코딩 진단 도구를 제공하고자 합니다.

국무총리상2007년 대한민국

SW 공모대전일반 SW 부분

국내 특허메모리 누수 검출

및 장치 방법10-2008-0038411

최고 기술상

2011 AppsecKorea

최고 기술상

GS 인증

2009년 TTA소프트웨어품질 인증

IT 혁신 상품

2009년 IT 혁신상품

‘SW분야’ 선정

2013년 TTA소프트웨어품질 인증

CC 인증

특허 GS인증 수상

CC인증

2013 신 SW 상품대상 선정

“행안부 43개 가이드라인과 CC인증을 위한 시큐어코딩보안요구사항은 엄연히 다르다. 국정원 CC인증은 솔루션의 보안기능 만족도를 보는 것이기 때문에 행안부 가이드라인보다는 광범위한 기준이 적용될 것”

‘시큐어코딩 CC인증’ 보안제품 규격 어떻게? 국보연, 이달중 발표 [디지털데일리, 2013-03-13]

Page 7: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

제품개요 | 구성 및 흐름

[개발서버]

[Sparrow 서버]

① 프로젝트생성 (권한관리)② 분석명령

③ 분석 정보 파일 수집

④전처리파일전송

⑤분석실행

⑥결과저장

⑦Nest 접속 (권한관리)

⑧결과조회

프로젝트

생성

소스코드

빌드 후

정보 추출

추출한 정보를

SPARROW 서버로

업로드분석 수행

통합관리시스템(NEST)

으로 결과 업로드

/ 오류 관리

SPARROW SCE는 컴파일러처럼 소스코드를 파싱하여 분석하기 최적화된구조로 변환한 후, 분석엔진에서 룰 기반의 소스코드 분석을 수행합니다. Eclipse 등 주요 IDE에 Plug-in을 제공하여 기존 개발 환경에도 쉽게 적용할수 있습니다.

개발자

SPARROWEngine

클라이언트분석관리시스템 (Whistle)

소스코드 파싱실행오류분석구문 분석보안 취약점 분석

보안관리자

프로젝트통합관리시스템 (NEST)프로젝트 관리프로젝트 통계분석 결과 제공분석 결과 관리라이선스 관리

SPARROWEngine

Page 8: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

구축효과

개발단계부터 소스코드 상의 보안 취약점을 최소화하여 사이버테러 위협에도 안전한 SW를 개발할 수 있습니다.

“3.20 사이버테러에 대한 정부의 대책으로 공공기관클라우드 서비스 등의 신규 정보화 사업은 2015년부터 '시큐어 코딩'을 의무적으로 도입한다. 시큐어코딩은 개발 단계부터 해킹 공격에 대한 차단율을높일 수 있다.”

[단독]3·20 사이버 테러 정부 종합대책 살펴보니[아시아경제, 2013-04-05][시큐어코딩] 국가정보화 사업 SW 개발 시

취약점 제거해 해킹 대비

사이버테러 위협을 대비할 수 있습니다.

행안부 시큐어코딩 가이드 보안취약점 100% 검출

행안부 시큐어코딩 의무화에 적극적으로 대응할 수 있습니다.

행안부에서 제시한 7가지 유형의 43개 보안약점을 모두검출합니다.

• 입력데이터 검증 및 표현• 시간 및 상태• 코드오류• 보안기능• 에러처리• 캡슐화• API오용

시큐어코딩에 최적화된 보고서 작성 가능

• 시큐어코딩 정보시스템 감리에 최적화된 형태로 보고서 작성이 가능합니다.

• 시큐어코딩 관련 항목을 추가한 보고서를 별도로 작성하거나 전문 인력의 도움을 받지 않고도 감리보고서를생성할 수 있습니다.

Page 9: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

구축효과

「검출력이 높고, 오탐율이 적은 시맨틱 분석 도구」를사용하는 경우, SW 개발완료 이전 보안취약점 검출로비용을 최대 30배 절감할 수 있습니다.

“개발완료 이전에 보안취약점을 진단, 제거할 경우개발완료 이후 보안취약점을 찾아 제거하는 활동에비해 최대 30배의 비용 절감효과가 있다.”

[미국 국립표준기술연구소(NIST)]

SW 개발완료 이전 보안취약점 검출로 비용을 절감할 수 있습니다.

▶ 프로젝트 품질향상에 기여합니다.

안전하고 효율적인 개발환경 통합관리가 가능합니다.

• 소프트웨어의 오류 및 보안취약점을 소스코드 상에서 검출하여 프로젝트 개발 초기부터 프로젝트의 품질 및 안전성을 확보• 개발 초기부터 완성까지 프로젝트의 품질 변화와 히스토리를 파악하여 소프트웨어 품질 향상에 기여

▶ 보안 코딩 점검 습관을 마련할 수 있습니다.

진정한 개발보안을 위해서는 개발 방법, 절차를 준수하는 것이 중요합니다. 개발자 PC에서 QA까지 개발 전 과정에서 소스코드를상시 점검하는 시큐어 코딩 점검 습관을 마련할 수 있습니다.

▶ 프로젝트 별 시큐어코딩 수행 정도를 파악할 수 있습니다.

특정 시점에 프로젝트 별 위험도와 변화 추이를 파악할 수 있어, 진행하는 프로젝트의 안전성과 업무 진행도를 분석하고 개선할수 있습니다.

Page 10: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

SPARROW SCE 특장점

Page 11: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

제품특장점 | Semantic 분석

| SPARROW SCE는 모든 정적 분석 기술을적용하여 깊고 상세한 의미 분석이 가능

현존하는 모든 정적 분석 이론을 적용한 SPARROW는 특히이론적인 연구와 오랜 경험이 필요한 시맨틱 기술을 통해단순한 패턴 방식으로는 분석이 어려운 조건문, Loop, 구조체등의 상태변화까지도 정확히 분석합니다.

SPARROW는 보다 높은 기술력을 요하는 품질관리 시장에먼저 진출하였습니다. SPARROW SCE는 공공 및 금융권의품질 시장에서 검증 받은 우수한 성능의 분석엔진을 기반으로 소스코드 상의 보안 취약점을 검출합니다.

국내 최고 기술력을 갖춘 Semantic 분석 도구

§ 프로그램 작성 시 지켜야 하는 규칙 위반 확인

(위반 시, 생산성 저하 / 의도하지 않은 프로그램

동작 / 보안 취약점 내포)

§ 프로그램 언어 구조 분석

§ 문법에 맞는 프로그램인지 겉모양 확인

§ Compiler에 내장

§ 프로그램 실행 시 발행하는 오류를 분석

(위반 시, 프로그램 멈춤 / 성능저하 발생 / 보안

취약점 내포)

§ 프로그램 실행 의미 분석

1세대 기술 : 문법검증 (Parsing)

2세대 기술 : 규칙 검증 (Syntactic Analysis)

3세대 기술 : 프로그램 실행 오류 분석

(Semantic Analysis)

SPARROW SCE는 모든 형태의 시맨틱 분석이 가능한국내 유일의 시큐어코딩 분석도구입니다.

• 경로고려분석 (path-sensitive analysis)• 흐름민감분석 (flow-sensitive analysis)• 값 분석 (value analysis)• 파일간 분석 (inter-file analysis)• 구조체 분석 (field-sensitive analysis)• 문맥 민감 분석 (context-sensitive analysis)• 포인터 분석 (pointer analysis)• 루프 분석 (loop invariants inference)

고난이도의 정적 분석 기술 적용

Page 12: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

제품특장점 | Semantic 분석

| Semantic 엔진과 Syntactic 엔진을복합 적용하여 빠짐없이 오류 검출• Semantic 분석 : 실제 프로그램이 실행될 때의 실행 의미를 이해하여 찾아내기 어려운 오류 분석

• Syntactic 분석 : 프로그램의 생김새나 구조만 관찰하는분석으로 미리 정해놓은 패턴을 바탕으로 오류 분석

| 높은 검출력, 낮은 오탐율

소스코드만으로도 보안취약점 검출

• 최신 정적 분석 이론을 탑재한 높은 기술력의 Semantic 엔진 사용

• 구문을 빠르고 정확하게 분석하는 syntactic 엔진 사용

• 탐지할 오류의 성질에 따라 두 가지 서로 다른 분석방법을 적용하여 검출력을 높이고, 오탐율을 낮춤

SPARROW VS. 외산 경쟁사 성능 비교

∙ SPARROW는 Buffer Overrun, Null Dereference, Resource Leak에 대해 경쟁사 대비뛰어난 검출력을 보임

∙ 공통으로 검출 : 21건SPARROW만 검출 : 46건경쟁사만 검출 : 1건

검지율

Buffer Overrun

Null Pointer참조

Resource Leak

미초기화변수

SPARROW 100% 43.8% 69.2% 36.8%

경쟁사 15.6% 18.8% 38.5% 36.8%

검출오류분포

SPARROW ONLY SPARROW & 경쟁사 공통 경쟁사 ONLY

46 21 1

SPARROW경쟁사

Page 13: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

| 서울대학교 소프트웨어 무결점 연구소 협력.

파수닷컴은 서울대학교 소프트웨어 무결점 연구센터와공동연구로 국내 최초∙유일의 실행의미기반 정적 프로그램 분석 솔루션 SPARROW를 개발하였습니다.

학계와 연계된 연구개발 프로세스를 보유 하고 있으며, 지속적인 제품 성능 향상 및 고객사의 환경에 적합한SW 개발이 가능합니다.

제품특장점 | Semantic 전문가의 지원

| 전문 개발인력 및 감리원 다수 보유, 국내 시장에서의 즉각적인 기술 지원 가능서울대 소프트웨어 무결점 연구소 출신 개발인력 및정보통신감리원 인력을 다수 사내에 보유하고 있습니다.

국내 시장 트렌드 반영 및 기술 지원을 신속하게 제공합니다.

Semantic 분석 전문가의 시큐어코딩 지원

Page 14: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

제품특장점 | 행안부 가이드 100% 지원

| 행안부 시큐어코딩 가이드 43개 보안약점 100% 검출

• SQL 삽입 등 입력데이터 검증 및 표현과 관련된 항목 14개• 부적절한 인가와 취약한 알고리즘 사용 등 보안기능과 관련된 항목 16개• 시간 및 상태, 에러 처리, 코드 오류 등 7개 항목

| 향후 행안부에서 추가하는 룰에 대해서도 신속하게 지원

| 국제기관에서 발표한 보안취약점 검출

CWE/SANS Top 25, OWASP Top 10, CERT 등 국제 표준레퍼런스를 기반으로 검출

| 시큐어코딩에 최적화된 보고서 작성 가능

감리보고서에 최적화 된 형태의 보고서 생성 가능

행안부 시큐어코딩에 최적화된 솔루션

Page 15: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

제품특장점 | 쉽고 편리한 프로젝트 관리

| 대규모 프로젝트 관리웹 기반의 통합 관리 시스템 Nest를 통해 진행중인 모든프로젝트를 통합 관리합니다.

분석결과를 Web을 통해 관리하여 언제 어디서나 접속하여 결과 리뷰 및 공유가 가능합니다.

개발과 관리의 효율성 보장

1. 사내 Web 기반 중앙 관리 시스템 제공2. 사용자 관리3. 분석 룰 관리3. 검출 결과 관리4. 결과 통계5. 프로젝트 관리 등의 기능 제공

| 프로젝트 분석 서버 통합 관리소스코드 분석 정보가 서버에 저장되며, 프로그램 언어에 상관없이 분석관리가 가능한 클라이언트 매니저 Whistle을 제공합니다.

클라이언트 매니저를 통해 누구나 쉽게 분석이 가능하며, 분석정보와관련 히스토리가 모두 저장되어 프로젝트를 진행하던 개발자가 중간에퇴사하더라도 지속적인 프로젝트 관리가 가능합니다.

클라이언트 매니저 Whistle을 통한통합 GUI분석

Page 16: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

제품특장점 | 쉽고 편리한 프로젝트 관리

| 안전한 협업 시스템프로젝트마다 분석, 리뷰 권한을 설정하여 사용자 권한 별로 접근을 제한합니다.

자동 업데이트 : 서버와 클라이언트가 연계된 구조로, 서버를 업데이트하면 클라이언트도 자동으로 업데이트 되어 항상최신 데이터를 유지할 수 있습니다.

1. 사용자 권한 관리 : 사용자 추가/제거, 권한 관리2. CSV 가져오기를 통해 사용자 일괄 추가3. 신규사용자 추가4. 업무별, 사용자 별로 분석 및 권한 관리

개발과 관리의 효율성 보장

1. Nest에서 생성된 룰셋에 대해 실시간으로 개발자가확인/ 이용 가능2. 프로젝트 생성 시 체커 그룹에 대한 정보를 포함하고있어 분석 때마다 자동 적용 가능3. 체커 그룹 설계 시 관련 상세 설명 제시

Page 17: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

제품특장점 | 쉽고 편리한 프로젝트 관리

| 룰 기반의 검증Web 기반의 통합 관리 시스템 Nest에서 룰에 대한 중앙 통제 시스템을 지원합니다. 추가, 변경, 그룹핑된 룰셋은 클라이언트을 통해 실시간으로 업데이트 됩니다. 룰은 업무/ 분야/ 중요도 별로 그룹핑 관리 및 추가/ 수정/ 삭제하는 등의 권한관리도 가능합니다.

새로운 룰 추가 및 설계가 용이하며, 위험도 등의 세부 변경이 가능하고, 그룹별로 룰 커스텀이 가능합니다.

개발과 관리의 효율성 보장

1. 체커 필터 : 분류, 위험도, 레퍼런스 검색 필터 제공2. 체커 설명 : 선택한 체커의 상세한 설명 및 예시

제공3. 분석 체커 설정 : 분석할 체커 다중 선택4. 위험도 변경 : 체커그룹별로 위험도 변경5. 그룹 복사 : 설계한 그룹 복사/다른이름으로 저장 그룹별 커스텀 관리 : 체커 그룹별로 커스텀 지정

Page 18: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

제품특장점 | 상세가이드

신속한 보안약점 수정을 위한 상세가이드 제공

| 소스코드 오류 정확한 위치 추적, 상세한 수정가이드 제공소스 네비게이터를 통해 보안약점의 발생 장소뿐만 아니라 발생 원인의 정확한 위치를 데이터 흐름에 따라 설명합니다. 결함과 결함 발생 원인이 위치한 라인 하이라이트, function folding 등 결함 위치 파악 및 수정을 위한 다양한 부가 기능을 제공합니다.

CWE, CERT, OWASP 등 국제 공인기관 설명을 통해 보안약점에 관련된 예시와 해결 가이드를 제공합니다.

1. 네비게이터 : 결함의 위치와 원인파악이 용이하며, 결함 선택 시 소스코드에 별색 표시

2. 코드리뷰 부가기능 : Function folding, high light 검색, 매크로 추적, 변수 선언 보기

3. 추적 링크 : 결함의 원인 추적, 코드 리뷰를 위한화면 분할, 새 창 등 여러 모드 제공

1. 검출 결함 유형 파악 : 사용자, 프로젝트 별 품질/보안 /코딩규칙, 위험도 별로 유형 파악

2. 누적 체커 랭킹 : 검출된 결함의 누적 체커 표시3. 체커 가이드 제공 : 코딩표준 기관 CWE/CERT/

OWASP/KISA 링크

Page 19: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

제품특장점 | 보안약점 수정을 위한 상세가이드

| 분석파일 정보, 필터 제공사용자의 편의에 따라 분석 결과의 순서를 정렬하거나필터링 하여 분석결과의 활용도를 높일 수 있습니다.

분석한 파일 개수, 헤더, 코드, 주석에 대한 정보 및 보안약점 밀도, 코드 비율 등 상세한 분석결과를 제공합니다.

원하는 보안약점을 편리하게 찾기 위한 상세 필터가 가능하며, 필터링 한 결과를 저장하고, 지속적으로 관리할 수있습니다.

신속한 보안약점 수정을 위한 상세가이드 제공

1. 검출된 결함에 대한 상태 / 우선 순위 / 담당자 지정/ 코멘트 작성 기능

2. 포함 경로와 관련 함수 의견, 결함 상태, 우선 순위등으로 필터링 및 정렬 가능

3. 검색 필터를 저장하여 필터링 상태 지속 가능4. 상세 컬럼 조정을 통해 원하는 정보만 보거나 excel

파일로 출력가능

Page 20: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

| 프로젝트 상세관리 및 공유분석 항목 선택, 위험도 조절, 체커그룹 설정을 통한 일괄관리가 가능합니다.

동일한 보안약점을 추적하는 기술을 이용하여 전체/ 개별 프로젝트에 대해 이미 검출된 보안약점을 탐지하여 불필요한소스코드 중복 수정을 방지합니다.

제품특장점 | 보안약점 수정을 위한 상세가이드

신속한 보안약점 수정을 위한 상세가이드 제공

1. 결함 상태 관리 : 담당자, 우선 순위, 메모 등 변경2. 결함 이력 관리 : 결함 변경 히스토리(이력) 관리3. 다중 변경 관리 : 결함 상태 다중 변경 용이

* 스마트 결함 변경 관리 : 변경한 결함 상태(우선순위,담당자,의견 등)가 NEST에 저장되어, 라인 등을변경하더라도 기존 검출 내용이 유지됨

1

2

3

1. 결함 상태 : NEST에서 변경한 담당자, 우선 순위, 메모 등 변경 사항 반영

2. 결함 링크 : 변경 사항이 반영된 엑셀 리포트를제공하며, 레포트 내의 링크 클릭 시결함 설명으로 연결됨

Page 21: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

제품특장점 | 보안약점 수정을 위한 상세가이드

| 통계∙보고서 제공분석한 프로젝트의 요약 리포트를 제공합니다. 프로젝트 정보, 결함 정보, 위험도 등 세부 항목을 설정할 수 있고, 검출된보안약점의 링크를 포함하여 보고서를 통한 편리한 리뷰가 가능합니다. 모든 정보는 excel 파일로 저장/출력 가능하며, 분석보고서는 PDF로 저장할 수도 있습니다.

대시보드를 통해 분석 회차 별로 히스토리를 관리하여 프로젝트 보안약점의 상태 추이를 파악할 수 있습니다.

1. 프로젝트 정보 : 분석한 프로젝트 요약 정보2. 파일 정보 : 분석 정보, Top 10 결함 파일 정보3. 위험도 별 정보 : 위험도 별 결함 분포도4. 표준 레퍼런스 위배 정보 : CWE/ CERT/ OWASP/

행안부 가이드 등 sort하여 정렬 가능5. 파일 출력 : pdf, xls파일로 출력 가능

신속한 보안약점 수정을 위한 상세가이드 제공

1. 통계 유형 : 업무/프로젝트/사용자별 통계 유형 선택2. 기간 필터 : 주 단위, 월 단위 등 원하는 기간 설정3. 통계 결과 : 분석사용률/총 결함/유형별 결함/

위험도별 결함/검출된 체커 랭킹4. 사용자 별 통계 제공5. 분석 파일 정보 제공 : 전체/ 파일 별 분석 정보

(빌드라인, 주석, 결함 밀도 등)

Page 22: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

제품특장점 | 유연한 적용

품질 관리자

개발자

어플리케이션 운영 서버

형상관리 서버

어플리케이션 개발 서버

컴파일 및 테스트

분석결과

C/C++, Java

Compile 및품질진단

승인된 소스코드

품질정책 설정

Analysis Engine

control

flowIDE를 연동하여

자체 소스코드 분석

실행 테스트

운영 시스템 반영

스패로우

Engine

SPARROWEngine

기존 개발환경의 변경 없이 유연한 구축 가능

| 분석엔진은 서버 뿐만 아니라 개발자 PC에도 위치할 수 있어 유연한 구축이 가능

| 소스코드 상시 점검 및 통제를 위해 형상관리 시스템과 연동 가능

| 어떤 개발 환경에서도 소스코드 보안약점 점검 가능기존에 사용하던 개발 툴에 Plugin 설치로 구축 가능

SPARROWEngine

Page 23: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

제품특장점 | 빠른 분석속도

| 100만LOC/1hr 속도로 분석 수행,대용량 소스코드도 업무시간 이후 일괄 분석또는 전수 검사 수행 가능

오류가 발생할 가능성이 높은 Path만 선별적으로 분석하여,대용량 소스코드도 빠르게 분석하고 검출 결과의 유효성이높습니다.

AccuracyFalse alarm ratio

about 15%

빠르고정확한분석

Speed1hr per MLoC

Semantic 분석 도구 중에서 가장 빠른 분석속도

항 목 내 역

대상소스 상품계 소스코드

라인 수 약 10,000,000

분석 시간 9시간 (십만 라인수 당 약 5분 소요)

분석 대상 2 PC

분석 주기 주 1회 배치 분석 방식으로 수행

항 목 내 역

대상소스 소스코드

라인 수 약 8,000,000

분석시간 8시간 (십만 라인수 당 약 6분 소요)

분석 대상 1 PC

분석 주기 개발 업무별 자체적으로 분석 사용 중

금융권 소스코드 분석 속도 검증 결과

Page 24: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

제품특장점 | 확장성

| 무결점 SW 개발 실현품질관리 도구 SPARROW QCE(Quality Coding Edition)를 함께 도입하여 분석 영역을 확장할 경우, 소스코드 내의 보안취약점 뿐만 아니라 치명적인 오류까지 검출 가능합니다.

코딩단계에서 실행오류, 시큐어코딩, 코딩표준을 모두 점검할 수 있기 때문에 개발과정에서 효율성이 높은 품질관리가가능합니다. 개발자와 테스터의 업무 효율성 및 생산성이 향상됩니다.

| 2012년 금융권 공급 1위SW 품질 관리도구는 보안취약점 검출 이상의 기술력이필요합니다. 소스코드 품질 점검 도구로서 먼저 시장에진출한 SPARROW는 2012년 국내 금융권 공급 1위를 달성하며 그 경쟁력과 시장성을 인정받았습니다.

SW 품질관리로 확장이 용이함

2012년 금융권 도입 고객

Page 25: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

운영환경

구분 요구 기능

SPARROW 서버

지원 환경

H/W§ CPU : 2GHz이상 권장§ RAM : 4GB이상 권장§ HDD : 최소 10GB(분석 데이터에 따라 다름)

OS

§Windows 2000 Server이상§ Ubuntu Linux 8.04 이상§ Redhat Linux 5 이상§ Fedora 8이상§ CentOS 5 이상

WAS§ JDK 1.6 이상(내부 프로그램에 포함)§ Tomcat 5.5.x이상(내부 프로그램에 포함)

SAPRROW클라이언트지원 환경

H/W§ CPU : 2GHz이상 권장§ RAM : 2GB이상 권장§ HDD : 최소 10GB(분석 데이터에 따라 다름)

OS

§Windows 2000 Server이상§ Ubuntu Linux 8.04 이상§ Redhat Linux 5 이상§ Fedora 8이상§ CentOS 5 이상§ AIX 5.1 이상§ HP_UX 11.x이상§ SUN_OS 5.6 이상§MAC_OS 10.6 이상

DBMS § Postgresql 9(내부 프로그램에 포함)

Language§ C/C++/Proc [.c /.cpp /.pc / .sc / .h / .hpp /.cc ]

§ Java [ .java외 ]

Compiler / IDE

§ C/C++/Proc : AIXCC, SUNCC, HPUXCC 등 24개컴파일러 지원

§ Java : JDK1.4 이상 지원§ Visual Studio 6 이상 지원§ Eclipse 3.2 이상 지원

다국어 지원§ 완벽한 Unicode 지원§ 다국어 UI 지원 (한국어 /영어)

C/C++, JAVA(JSP)를 지원하고, Window, Solaris, Linux 등 다양한OS에서 소스코드 분석을 수행합니다

Page 26: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

레퍼런스

SPARROW는 공공 및 금융시장에서 가치를 인정받고 있습니다.

Page 27: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

APPENDIX행안부 시큐어코딩 43개 항목

Page 28: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

진단 가능한 보안약점

번호 보안약점 설명

1 SQL 삽입사용자의 입력값 등 외부 입력값이 SQL 쿼리에 삽입되어 공격자가 쿼리를 조작해 공격할 수 있는 보안약점

2 자원 삽입외부 입력값에 대한 검증이 없거나 혹은 잘못된 검증을 거쳐서 시스템 자원에 접근하는 경로 등의정보로 이용될 때 발생하는 보안약점

3 크로스사이트스크립트 검증되지 않은 외부 입력값에 의해 브라우저에서 악의적인 코드가 실행되는 보안약점

4 운영체제 명령어 삽입운영체제 명령어를 구성하는 외부 입력값이 적절한 필터링을 거치지 않고 쓰여져서 공격자가 운영체제 명령어를 조작할 수 있는 보안약점

5 위험한 형식 파일 업로드 파일의 확장자 등 파일형식에 대한 검증 없이 업로드를 허용하여 발생하는 보안약점

6신뢰되지 않는 URL 주소로자동 접속 연결

사용자의 입력값 등 외부 입력값이 링크 표현에 사용되고, 이 링크를 이용하여 악의적인 사이트로리다이렉트(redirect)되는 보안약점

7 XQuery 삽입 사용자의 입력값 등 외부 입력값이 XQuery 표현에 삽입되어 악의적인 쿼리가 실행되는 보안약점

8 XPath 삽입 사용자의 입력값 등 외부 입력값이 XPath 표현에 삽입되어 악의적인 쿼리가 실행되는 보안약점

9 LDAP 삽입검증되지 않은 입력값을 사용해서 동적으로 생성된 LDAP문에 의해 악의적인 LDAP 명령이 실행되는보안약점

10 크로스사이트 요청 위조검증되지 않은 외부 입력값에 의해 브라우저에서 악의적인 코드가 실행되어 공격자가 원하는 요청(Request)이 다른 사용자(관리자 등)의 권한으로 서버로 전송되는 보안약점

11 디렉토리 경로 조작 지정된 경로 밖의 파일시스템 경로에 접근하게 되는 보안약점

12 HTTP 응답분할 사용자의 입력값 등 외부 입력값이 HTTP 응답헤더에 삽입되어 악의적인 코드가 실행되는 보안약점

13 정수 오버플로우정수를 사용한 연산의 결과가 정수값의 범위를 넘어서는 경우프로그램이 예기치 않은 동작될 수 있는보안약점

14보호메커니즘을 우회할 수있는 입력값 변조

사용자에 의해 변경될 수 있는 값을 사용하여 보안결정(인증/인가/권한부여 등)을 수행하여 보안메커니즘이우회될 수 있는 보안약점

1. 입력데이터 검증 및 표현: 프로그램 입력 값에 대한 검증 누락 또는 부적절한 검증, 데이터의 잘못된 형식지정으로 인해 발생할 수 있는 보안약점

Page 29: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

2. 보안기능: 보안기능(인증, 접근제어, 기밀성, 암호화, 권한 관리 등)을 적절하지 않게 구현시 발생할 수 있는 보안약점

번호 보안약점 설명

1적절한 인증 없는 중요기능허용

적절한 인증없이 중요정보(계좌이체 정보, 개인정보 등)를 열람(또는 변경)할 수 있게 하는 보안약점

2 부적절한 인가적절한 접근제어 없이 외부 입력값을 포함한 문자열로 서버자원에 접근(혹은 서버 실행 인가)을 할 수있게 하는 보안약점

3중요한 자원에 대한 잘못된권한설정

중요자원(프로그램 설정, 민감한 사용자 데이터 등)에 대한 적절한 접근권한을 부여하지 않아, 의도하지않는 사용자에 의해 중요정보가 노출․수정되는 보안약점

4취약한 암호화 알고리즘사용

중요정보(패스워드, 개인정보 등)의 기밀성을 보장할 수 없는 취약한 암호화 알고리즘을 사용하여 정보가노출될 수 있는 보안약점

5사용자 중요정보 평문저장(또는 전송)

중요정보(패스워드, 개인정보 등) 저장(또는 전송)시 암호화 하지 않아 공격자에게 누출될 수 있는 보안약점

6 하드코드 된 패스워드소스코드 내에 비밀번호를 하드코딩함에 따라 관리자 비밀번호가 노출되거나, 주기적 변경 등 수정(관리자 변경 등)이 용이

7 충분하지 않은 키 길이사용데이터의 기밀성, 무결성 보장을 위해 사용되는 키의 길이가 충분하지 않아 기밀정보 누출, 무결성이깨지는 보안약점

8적절하지 않은 난수 값사용

예측 가능한 난수 사용으로 공격자로 하여금 다음 숫자 등을 예상하여 시스템 공격이 가능한 보안약점

9 패스워드 평문 저장 기밀정보인 비밀번호를 암호화하지 않아 노출될 수 있는 보안약점

10기밀정보인 비밀번호를암호화하지 않아 노출될 수있는 보안약점

소스코드 내에 암호화키를 하드코딩 하는 경우, 향후 노출될 수 있으며, 키 변경 등 수정이 용이하지 않는보안약점

11 취약한 패스워드 허용 비밀번호 조합규칙(영문, 숫자, 특수문자 등) 및 길이가 충분하지 않아 노출될 수 있는 보안약점

12사용자 하드디스크에 저장되는 쿠키를 통한 정보노출

쿠키(세션 ID, 사용자 권한정보 등 중요정보)를 사용자 하드디스크에 저장함으로써 개인정보 등 기밀정보가 노출될 수 있는 보안약점

13보안속성 미적용으로 인한쿠키 노출

쿠키에 보안속성을 적용하지 않을 경우, 쿠키에 저장된 중요데이터가 공격자에 노출될 수 있는 보안약점

14주석문 안에 포함된 패스워드 등 시스템 주요정보

소스코드내의 주석문에 비밀번호가 하드코딩되어 비밀번호가 노출될 수 있는 보안약점

15솔트 없이 일방향 해쉬함수사용

공격자가 솔트 없이 생성된 해쉬값을 얻게 된 경우, 미리 계산된 레인보우 테이블을 이용하여 원문을찾을 수 있는 취약점

16무결성 검사 없는 코드다운로드

원격으로부터 소스 코드 또는 실행파일을 무결성 검사 없이 다운로드 받고 이를 실행하는 경우 공격자가악의적인 코드를 실행할 수 있는 보안약점

29

진단 가능한 보안약점

Page 30: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

3. 시간 및 상태: 동시 또는 거의 동시 수행을 지원하는 병렬 시스템, 하나 이상의 프로세스가 동작되는 환경에서 시간 및 상태를 부적절하게

관리하여 발생할 수 있는 보안약점

번호 보안약점 설명

1경쟁조건: 검사시점과 사용시점(TOCTOU)

멀티 프로세스 상에서 자원을 검사하는 시점과 사용하는 시점이 달라서 발생하는 보안약점

2 제어문을 사용하지 않는 재귀함수 적절한 제어문 사용이 없는 재귀함수에서 무한재귀가 발생하는 보안약점

번호 보안약점 설명

1 오류메시지 통한 정보노출개발시 활용을 위한 오류정보의 출력메시지를 배포될 버전의 SW에 포함시킬 때 발생하는 보안약점

2 오류상황 대응 부재시스템에서 발생하는 오류상황을 처리하지 않아 프로그램 다운 등 의도하지 않은 상황이 발생할수 있는 보안약점

3 적절하지 않은 예외처리 예외에 대한 부적절한 처리로 인해 의도하지 않은 상황이 발생될 수 있는 보안약점

번호 보안약점 설명

1 널(Null) 포인터 역참조 Null로 설정된 변수의 주소값을 참조했을 때 발생하는 보안약점

2 부적절한 자원 해제사용된 자원을 적절히 해제 하지 않으면 자원의 누수 등이 발생하고, 자원이 모자라 새로운 입력에처리 못하게 되는 보안약점

4. 에러처리: 에러를 처리하지 않거나, 불충분하게 처리하여 에러정보에 중요정보(시스템 등)가 포함될 때 발생할 수 있는 보안약점

5. 코드오류: 타입변환 오류, 자원(메모리 등)의 부적절한 반환 등과 같이 개발자가 범할 수 있는 코딩오류로 인해 유발되는 보안약점

진단 가능한 보안약점

Page 31: SPARROW SCE f › product_down › SPARROW SCE_시큐어코딩... · 2019-01-14 · Semantic 분석도구중에서가장빠른분석속도 항목 내역 대상소스상품계소스코드

6. 캡슐화: 중요한 데이터 또는 기능성을 불충분하게 캡슐화 하였을 때 인가되지 않은 사용자에게 데이터 누출이 가능해지는 보안약점

7. API 오용: 의도된 사용에 반하는 방법으로 API를 사용하거나, 보안에 취약한 API를 사용하여 발생할 수 있는 보안약점

번호 보안약점 설명

1잘못된 세션에 의한 데이터 정보 노출

잘못된 세션에 의해 권한 없는 사용자에게 데이터 노출이 일어날 수 있는 보안약점

2 제거되지 않고 남은 디버거 코드디버깅을 위해 작성된 코드를 통해 권한 없는 사용자 인증우회(또는 중요중보)접근이 가능해지는 보안약점

3 시스템 데이터 정보노출사용자가 볼 수 있는 오류 메시지나 스택 정보에 시스템 내부 데이터나 디버깅 관련 정보가 공개되는 보안약점

4Public 메소드부터 반환된 Private 배열

private로 선언된 배열을 public으로 선언된 메소드를 통해 반환(return)하면, 그 배열의 레퍼런스가 외부에 공개되어 외부에 서 배열의 수정될 수 있는 보안약점

5 Private 배열에 Public데이터 할당public으로 선언된 데이터 또는 메소드의 인자가 private 선언된 배열에 저장되면, private 배열을외부에서 접근할 수 있게 되는 보안약점

번호 보안약점 설명

1 DNS lookup에 의존한 보안결정DNS는 공격자에 의해 DNS 스푸핑 공격 등이 가능함으로 보안결정을 DNS 이름에 의존할 경우, 보안결정 등이 노출되는 보안약점

진단 가능한 보안약점