著者: Wachiraphan Charoenwet Patanamon Thongtanunam ヴァン・トゥアン・ファム クリストファー・トレード 著者: ワクシュラッパン Charoenwet パタナモン Thongtanunam ヴァン・トゥアン・ファム クリストファー・トレード Table of links 左のテーブル Abstract 抽象 1 Introduction 1 導入 2 Background and Related Work 2 背景と関連作品 ソフト セキュリティ コードの弱点 セキュリティ Shift-Left 現代コードレビュー ソフトウェアセキュリティのためのコードレビュー コードレビューにおけるセキュリティ関心処理プロセス 3 Motivating Examples 3 動機づけの例 4 Case Study Design 4 ケーススタディデザイン 研究質問 研究プロジェクト データ収集 コード・弱点・タクソノミー 研究概要 セキュリティ関心の識別アプローチ(RQ1) 既知の脆弱性分析(RQ2) 処理プロセス識別(RQ3) 5 Preliminary Analysis 5 初期分析 PA1:コードの弱点のコメントの普及 PA2:セキュリティ関心の識別アプローチの初期評価 6 Case Study Results 6 ケース研究の結果 7 Discussion 7 議論 8 Threats to Validity 8 正当性の脅威 内部有効性 Validityの構築 外部有効性 Abstract 抽象 しかしながら、既存のコードレビュー研究は、ソフトウェアシステムに潜在的な負の影響を軽減することを奨励されています。コードレビューは、ソフトウェア開発サイクル中に効果的に修正されたコードを手動で検査し、セキュリティの問題を把握するための広く使用される方法です。 しかし、既存のコードレビュー研究は、既知の脆弱性に焦点を当て、コードレビューの13560のコメントに基づいて、コードレビューを通じてより目に見える現実世界のセキュリティの問題を導入することができます。コードレビューの実践は、そのようなコードレビューの脆弱性を識別する際にまだ完全に調査されていません。これをよりよく理解するために、我々は2つの大規模なオープンソースプロジェクト 1 Introduction ソフトウェア開発プロセスにおけるソフトウェアセキュリティは、ソフトウェアシステムが外部の脅威を維持する方法を含んでいるため、重要な焦点である(McGraw, 2004)。ソフトウェア製品におけるセキュリティの問題を管理することは、潜在的なセキュリティの問題、特に利用可能な脆弱性が、エンドユーザに膨大な影響を与え、後期に発見された場合に解決するためにより多くのリソースを必要とするため、重要です。 セキュリティの問題を緩和しようとする試みで、開発者は継続的な shift-leftコンセプト(Migues, 2021; Weir et al., 2022)によって奨励されています 新しいソフトウェアを可能な限り早期にテストする。 左に移動する精神で、多くの組織は現代のコードレビュー いくつかの研究は、セキュリティ問題を識別するためにコードレビューの利点を調査しました(Alfadel et al., 2023; Bosu et al., 2014; Di Biase et al., 2016; Edmundson et al., 2013; Paul et al., 2021b) それにもかかわらず、以前の作業で研究されたセキュリティ問題は、一般的に、SQLインジェクションやXSSなどのよく知られている脆弱性の種類によって制限されています。 特に、研究されたセキュリティ問題の大部分は、攻撃者が利用できる脆弱性に限定されています。 コードレビューは、コードの脆弱性の識別と軽減に焦点を当てているので、我々は、コードの脆弱性、またはコードの欠陥が潜在的にセキュリティの問題につながる可能性があると仮定しています。 これには、セキュリティ問題につながる暗号化の脆弱性の種類と、これらの暗号化の脆弱性の処理プロセスが含まれています。さらに、コードレビュー中に提起されたセキュリティ上の懸念が、過去にシステムが抱えていた脆弱性と一致しているかどうかについては、ほとんど知られていません。これらの側面を調べることで、ソフトウェアレビュープロセス中に暗号化の脆弱性を考慮し、ソフトウェアのセキュリティの問題を早期に予防するための暗号化の脆弱性をよりよく理解するのに役立ちます。そのような洞察は、現在のコードレビュープロセスと各システムで知られている脆弱性との間のギャップを明らかにすることもできます。一方で、ソフトウェアチームは、コードレビュープロセ この作業では、コードレビュー中に提起された暗号化の弱点を調査し、暗号化の弱点を挙げたコードレビューのコメントがどのように扱われたかを調査することを目指しています。 OpenSSLとPHPは、セキュリティ問題に敏感な大規模なオープンソースシステムです。我々は、公開ソースプロジェクトにおけるこれらの現象を、公開データセットの可用性、義務化されたコードレビューポリシー、および選択されたプロジェクトの過去の脆弱性によって調査することを選択しました。この決定はまた、オープンソースコミュニティにおけるコードレビューの結果が、機能上の欠陥と維持性の欠陥の比率が、レビュー者によって識別されたものと同様に、業界設定で観察されたもの したがって、我々は3つの研究質問に対処するために実験的な研究を行いました: (RQ1)コードレビューで頻繁に提起されるコードレビューに関連するセキュリティ上の懸念は何ですか? (RQ2)コードレビューで提起されたセキュリティ上の懸念と既知の脆弱性がどのように一致しているか?および (RQ3)コードレビューでセキュリティ上の懸念がどのように扱われているか? そのため、コードレビューに関連するコードレビューのコメントがコードレビューに関連するコードレビューのコメントがコードレビューに関連するコードレビューのコメントの40カテゴリーをカバーする135,560コードレビューのコメントに半自動的なアプローチを適用しました。 さらに、コードレビューに関連 ケーススタディの結果は、CWE-699の40カテゴリのうち35カテゴリに関連する暗号化の弱点がOpenSSLおよびPHP(RQ1)のコードレビュープロセス中に提起されたことを示しています。例えば、認証、特権およびAPIの暗号化の弱点に関するコメントは、両方の研究プロジェクトで頻繁に提起されていました。各研究プロジェクトには、コードレビュー中に提起された独特の暗号化の弱点があり、例えば、OpenSSLおよびPHPの入力データ検証における直接のセキュリティの脅威です。これらの結果は、セキュリティの問題に関連する様々な暗号化の弱点がコードレビュープロセス中に提起され、さまざまなソフトウェアプロジェクトには異 複数のケース(39%~41%)で、開発者は問題を解決しようとしたが、約3分の1(30%~36%)の問題が直ちに修正されずに認められた(すなわち、レビューにおけるコードの変更に追加の変更はない)。我々は、認められた懸念のいくつかが新たな別々のコードの変更(10%~18%)で修正されることに合意され、問題のいくつかは適切なソリューション(18%~20%)についての意見の相違により修正されなかった。上記の懸念の比較的少ない割合(14%~26%)が明確化され、議論を通じて廃止された。すべてのシナリオから、セキュリティの問題がコードに導入される可能性があるという懸念事例(9%~9%)を発見した 結果に基づき、ソフトウェアプロジェクトは、コードレビューにセキュリティ問題を導入する可能性のあるコードレビューの脆弱性を特定するためのガイドラインとして、コード化脆弱性カテゴリ(CWE-699)を検討することを推奨します。コード化脆弱性は、過去のコードレビューで提起された重要性、傾向、そしてユニークなコード化脆弱性のセットに基づいて優先されることができます。 この論文は、われわれの知る限り最善のところで、コードレビューが、セキュリティ問題と関連する潜在的なコードレビューコメントを見つけるために、ドメイン特有の事前訓練された単語埋め込みモデルを活用する新しい半自動的なアプローチを紹介し、コードレビュープロセス中に頻繁に提起されたコードレビュープロセスにおける既知の脆弱性とコードレビュープロセスにおける脆弱性の間の調和を強調し、知られている脆弱性に加えて、セキュリティ問題に関連する潜在的なコードレビューコメントを見つけるために、コードレビューの脆弱性の識別および軽減を強調した。 Novelty & Contributions: 私たちは、この研究におけるデータの取得とデータ分析のためのスクリプトの補足材料1を、さらなる研究を促進するために注釈されたデータとともにリリースしました。 Data Availability: セクション2は背景を説明し、関連する作業を模索します。セクション3は、コードの弱点によって引き起こされた脆弱性の例を示します。セクション4は、ケーススタディの設計を説明します。セクション5は、初期の分析方法と結果を説明します。セクション6は、結果を報告します。セクション7は、影響と提案を議論します。セクション8は、この研究の有効性に影響を与える可能性のある脅威を明確にします。 Paper Organization: この論文は、CC by 4.0 Deed (Attribution 4.0 International) ライセンスの下で archiv で利用できます。 この紙は CC by 4.0 Deed (Attribution 4.0 International) ライセンス available on arxiv ARCHIV で利用可能