Offcanvas

개발자 / 보안

구글 ‘OSS-퍼즈’, 자바 앱까지 퍼징 확대 지원

2021.03.15 Paul Krill  |  InfoWorld
구글의 오픈소스 퍼징 서비스 ‘OSS-퍼즈(OSS-Fuzz)’가 이제 자바(Java) 및 JVM(Java Virtual Machine) 기반 언어(예: 코틀린, 스칼라 등)로 작성된 애플리케이션을 지원한다. 
 
ⓒGetty Images

‘OSS-퍼즈’는 오픈소스 소프트웨어에 지속적인 퍼징(continuous fuzzing)을 제공한다. 퍼징은 컴퓨터 프로그램에 유효하지 않은 무작위 데이터 스트림을 입력해 소프트웨어 프로그래밍 오류 및 보안 취약점을 찾는 방법이다. 

지난 3월 10일 발표된 보도 자료에 따르면 이제 JVM 언어와 같은 메모리 보안 언어로 작성된 코드를 퍼징해 프로그램이 충돌하거나 잘못 작동하는 버그를 찾을 수 있다. 

구글은 코드 인텔리전스(Code Intelligence)의 퍼저인 재저(Jazzer)를 OSS-퍼즈와 통합해 자바와 JVM에 대한 퍼징을 활성화했다고 설명했다. 재저를 사용하면 C/C++로 작성된 코드에서 했던 것처럼 LLVM 프로젝트의 립퍼저(libFuzzer)를 통해 JVM 기반 언어로 작성된 코드를 퍼징할 수 있다. 

재저는 자바(Java), 클로저(Clojure), 코틀린(Kotlin), 스칼라(Scala)를 지원한다. 코드 커버리지 피드백은 JVM 바이트코드에서 립퍼저로 제공되며, 재저는 다음과 같은 립퍼저 기능을 지원한다. 

• ‘FuzzedDataProvider’: 바이트 배열을 허용하지 않는 퍼징 코드 
• 8-bit 엣지 카운터를 기반으로 한 코드 커버리지 평가
• 충돌 입력 최소화
• 가치 프로필 


구글은 JVM 언어로 작성된 오픈소스 프로젝트를 OSS-퍼즈에 추가하는 방법을 설명하는 문서를 제공했다. 구글은 궁극적으로 재저가 모든 립퍼저 기능을 지원할 계획이라고 전했다.

재저는 자바 네이티브 인터페이스(Java Native Interface; JNI)를 통해 실행되는 네이티브 코드에서 커버리지 피드백을 제공할 수도 있다. 이를 통해 메모리가 보안되지 않는 네이티브 코드에서 메모리 손상 취약점을 발견할 수 있다. 이 밖에 OSS-퍼즈에서 지원되는 언어는 고(Go), 파이썬(Python), C/C++, 러스트(Rust) 등이 포함된다. ciokr@idg.co.kr

 
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.