見出し画像

【CODE BLUE 2024】川古谷 裕平+大月 勇人+塩治 榮太朗 / Yuhei Kawakoya+Yuto Otsuki+Eitaro Shioji - 講演関連資料 / Presentation resources


●講演概要 / Abstract

[ja] PkgFuzzプロジェクト: オープンソースソフトウェアのための新たな継続的ファジング

Googleが2016年に開始したOSS-Fuzzプロジェクトは2023年8月時点でさまざまなソフトウェアのバグを3万6000件以上見つけている。このプロジェクトでは「ファジング」という自動的にソフトウェアのバグを検出する技術が中核として使われている。ファジングは、自動的なバグ検出技術と言われるが、実際にファジングを実施するためにはハーネス(検査対象ソフトウェアを呼び出すプログラム)の作成、ファジング用バイナリの生成、コマンドライン引数の調整、初期シードの準備、などの人手による作業が必要である。特に、異なる複数のソフトウェアをファジングする場合、これらの作業が障害(自動化阻害要因)となり、ファジングワークフロー全体を自動化できない。このため、効率的に多種多様なソフトウェアのファジングを行うことが難しい。
われわれは、これら自動化阻害要因を解消し、ファジング・ワークフロー全体を自動化するシステム、PkgFuzzを開発した。PkzFuzzでは、ソフトウェア・パッケージのビルドプロセスを監視し、ファジング可能なパッケージを選び出す。また、同時にファジングに必要な情報を収集する。このPkgFuzzを利用したファジングキャンペーン、PkgFuzz Projectについて発表する。PkgFuzz Projectでは、多種多様なソフトウェアが含まれるUbuntu 23.10のDebianパッケージに対するファジングキャンペーンを実施したところ、人間の介在なしに、265のパッケージから、6万4658件のクラッシュを得た。これらを精査したところ、攻撃に利用可能な4件の脆弱性を発見した。これらをIPAへ報告し、3件のアドバイザリとCVEの発行へとつなげた。
PkgFuzzがファジングを自動実行した265のパッケージのうち、OSS-Fuzzでもファジングが実施されていたOSSプロジェクトはわずか32件(12%程度)であった。これは、PkgFuzz Projectが、OSS-Fuzzが今までファジング対象としていなかったOSSをファジングできていることを示している。PkgFuzz Projectではファジングの準備を自動化できる。つまり、OSS-Fuzzとは異なり、ハーネスの作成やコマンドライン引数の調整など、OSS開発者によるファジングのためだけの開発コストを要求しないため、ファジング導入のハードルが低い。そのため、今までファジングによるセキュリティテストを導入できていなかったOSSプロジェクト(特に今までOSS-Fuzzの恩恵をあまり受けていない小規模なOSS)に対してもファジングキャンペーンを実施することができる。PkgFuzz Projectにより、バグを発見、修正していくことで、より多くのOSSプロジェクトに対してセキュリティレベルの向上を促進し、安心なソフトウェア基盤の実現を可能にすると考える。

codeblue.jp

[en] PkgFuzz Project: Yet Another Continuous Fuzzing for Open Source Software

The OSS-Fuzz project, launched by Google in 2016, has discovered over 36,000 software bugs as of August 2023. This project primarily utilizes a technique called “fuzzing,” which is an automated bug detection technology. Although fuzzing is often referred to as an automatic bug detection technique, several manual tasks are required to actually perform fuzzing. These tasks include creating a harness (a program that calls the target software), generating fuzzing binaries, adjusting command-line arguments, and preparing initial seeds. Especially when fuzzing multiple different software programs, these tasks become obstacles (factors hindering automation) that prevent the entire fuzzing workflow from being fully automated. As a result, it becomes difficult to efficiently perform fuzzing across a wide variety of software.We have developed a system called PkgFuzz, which addresses these obstacles and automates the entire fuzzing workflow. PkgFuzz monitors the build process of software packages and selects packages that can be fuzzed. At the same time, it collects the necessary information for fuzzing. In this presentation, we will introduce the fuzzing campaign called the PkgFuzz Project, which utilized PkgFuzz. In the PkgFuzz Project, we conducted a fuzzing campaign on the Debian packages of Ubuntu 23.10, which includes a wide variety of software. Without human intervention, we obtained 64,658 crashes from 265 packages. Upon further investigation, we discovered four vulnerabilities that could be exploited in attacks. We reported these vulnerabilities to the Information-Technology Promotion Agency (IPA), which resulted in the issuance of three advisories and the assignment of CVEs.

codeblue.jp

●略歴 / Bio

[jp] 川古谷 裕平

川古谷 祐平は、NTTセキュリティホールディングス株式会社の特別研究員である。2005年にNTTに入社して以来、コンピューターセキュリティに関する研究開発に従事している。彼の研究分野は、リバースエンジニアリング、マルウェア解析、脆弱性発見に関心がある。

codeblue.jp

[jp] 大月 勇人

大月 勇人はセキュリティ・リサーチャーである。彼の研究分野は、メモリ解析、リバースエンジニアリング、オペレーティングシステムのセキュリティである。立命館大学大学院情報理工学研究科で工学博士号を取得している。2016年から2019年まで、NTTセキュアプラットフォーム研究所にてマルウェア解析およびデジタルフォレンジックスの研究に従事していた。現在はNTTセキュリティホールディングス株式会社に所属し、主に脆弱性検出および悪用可能性解析の研究に取り組んでいる。

codeblue.jp

[ja] 塩治 榮太朗

塩治榮太朗は、NTT社会情報研究所の主任研究員である。2010年にNTTに入社して以来、コンピューターセキュリティに関する研究開発に従事している。ソフトウェアセキュリティ、脆弱性対策、Webセキュリティなどの研究分野に関心がある。

codeblue.jp

[en] Yuhei Kawakoya

Yuhei Kawakoya is a Distinguished Researcher at NTT Security Holdings Corporation. Since joining NTT in 2005, he has been engaged in R&D on computer security. His research interests include reverse engineering, malware analysis, and vulnerability discovery.

codeblue.jp

[en] Yuto Otsuki

Yuto Otsuki is a security researcher. His research interests are memory analysis, reverse engineering and operating system security. He received his D.Eng. degree from Graduate School of Information Science and Engineering, Ritsumeikan University in Japan. From 2016 to 2019, he was engaged in research of malware analysis and digital forensics at NTT Secure Platform Laboratories. He is now with NTT Security Holdings Corporation and mainly focus on research in vulnerability detection and exploitability analysis.

codeblue.jp

[en] Eitaro Shioji

Eitaro Shioji is a Senior Research Engineer at NTT Social Informatics Laboratories. Since joining NTT in 2010, he has been engaged in R&D on computer security. His research interests include software security, vulnerability mitigation, and web security.

codeblue.jp

●事前インタビュー / Pre-Event Interview

[ja] インタビュー

Q1 あなたがこのトピックに取り組むようになったきっかけは何ですか?
当初、実験的にさまざまなソフトウェアをファジングしていた際、各種手作業が煩わしく感じました。これらを自動化すれば大量のファジングを実施でき、大量のCVE獲得につながる!? と思ったのがきっかけです。

Q2 研究の過程でどのような点で苦労しましたか?
( 今でも解決していませんが、)ファジングを行うとある程度のクラッシュを得ることはできると思います。しかし、それらが脆弱性だと断定するのは非常に大変です。トリアージツールはExploitableと判定していても、実際は攻撃できないケースは多くあります。当該分野の技術の発展の必要性を強く感じています。

Q3 CODEBLUEの参加者、参加を検討している人に向けてメッセージをお願いします。
発表の中では我々の取り組みの中での苦労話や、最新の研究動向なども織り交ぜた実験結果をお話するつもりです。ファジングやその周辺技術に興味を持っていただき、連携の機会などを議論できたら幸いです。

[en]  Interview

Q1 What led you to making this presentation?
Initially, while experimenting with various fuzzing software, I found the manual processes quite bothersome. That’s when I thought, "If I automate these processes, I could carry out large-scale fuzzing and potentially obtain a significant number of CVEs!" That was the starting point.

Q2 What were some challenges you faced during this research?
( Although it's still an unresolved issue, ) I believe fuzzing can result in a certain number of crashes. However, determining whether those crashes are actual vulnerabilities is extremely difficult. Even when triage tools label them as "Exploitable," there are many cases where they cannot actually be exploited. I strongly feel that further development in this area of technology is needed.

Q3 What message would you like to convey to those considering attending this talk?
In this presentation, I plan to share not only the challenges we’ve faced in our work but also experimental results that incorporate the latest research trends. I hope that you’ll find an interest in fuzzing and related technologies, and I would be happy if we can discuss opportunities for collaboration.

●講演動画 / Presentation video

●講演スライド / Presentation slide

画像をクリックすると外部リンクでPDFが開きます
(Click the image to open the PDF via an external link)

●写真 / Photo

左より川古谷 裕平氏、大月 勇人氏、塩治 榮太朗氏
(From the left: Yuhei Kawakoya, Hayato Otsuki, and Eitaro Shioji.)

●レポート記事 / Reports

[ja] [レポート]PkgFuzzプロジェクト: オープンソースソフトウェアのための新たな継続的ファジング – CODE BLUE 2024(Developers IO / クラスメソッド)