ソフトウェア開発におけるセキュリティのバランス
開発者がプロジェクトでセキュリティを効果的に優先させる方法を学ぼう。
― 1 分で読む
ソフトウェア開発では、セキュリティと他の問題のバランスを取るのが難しいことがあるよね。多くの開発者はセキュリティの専門家じゃないから、プロジェクトを進めながらどうやってセキュリティの問題を処理するかが悩みどころ。この文章では、開発者がセキュリティ問題をどう理解し、優先順位をつけるかを、イシュートラッカーっていうツールを使って考えてみるよ。
イシュートラッカーを理解する
イシュートラッカーは、開発者がプロジェクトのバグやタスクを管理するためのツールだよ。チームが何を修正する必要があるかを管理できるし、セキュリティの問題も含まれる。ただ、これらのトラッカーの多くは、セキュリティの懸念を明確に示す方法がないんだ。だから、開発者がセキュリティと他の重要なタスクの優先順位をどうつけるかが難しくなる。
開発者のセキュリティ意識
開発者は脆弱性について話すとき、セキュリティ基準を参考にすることが多いよ。例えば、共通脆弱性評価システム(CVSS)があって、これはセキュリティの欠陥の深刻度を0から10のスケールで評価するんだ。他には、共通脆弱性と露出(CVE)システムがあって、特定のセキュリティの問題をリスト化している。残念ながら、多くのイシュートラッカーには、セキュリティ情報やスコアを強調するためのスペースがない。
ある調査では、多くの開発者がCVSSを使うのに自信がなかったことがわかったけど、その理由は理解できていたみたい。彼らはセキュリティに関する決定をする際に同僚からの説明やアドバイスに頼ることが多かったんだ。これから、イシュートラッカー内でのセキュリティについてのコミュニケーションを改善すれば、開発者がセキュリティの問題をうまく扱えるようになるって感じだね。
開発者の役割
開発者はセキュリティリスクについて知識を持ってないと、適切な決定ができないよ。これはセキュリティ専門家だけの仕事じゃない。チーム全員がセキュリティの議論に参加することが大事だから、開発中に使うツールが非専門家の間で良いセキュリティプラクティスを促進するかどうかを見極めるのが重要だよ。
イシュートラッカーのデザインを調査
イシュートラッカーがセキュリティニーズにどれだけ応えているかを調べるために、いくつかの有名なプラットフォームのデザインを見直したよ。分析は、これらのプラットフォームがセキュリティ機能をどのように統合しているかに焦点を当てた。調査対象に選んだのは、Bugzilla、Monorail、Jira、GitLabの4つの主要なイシュートラッカーだ。
Bugzilla: Firefoxの開発で使われているトラッカーで、カスタムフィールドを追加できるけど、CVSSスコアを追跡するための組み込み機能はないんだ。Bugzillaでは、セキュリティの問題は発生したときに大半がクリティカルとしてラベル付けされる。でも、セキュリティの優先順位の付け方にはばらつきがあるんだ。
Monorail: GoogleがChromeのために開発したもので、フィールドの代わりにラベルを使って問題をカテゴライズする。Bugzillaと同様に、CVSSスコアを追跡するための組み込み機能がない。セキュリティ関連のコメントは通常CVEレポートからのものなんだ。
Jira: MongoDBなど複数のプロジェクトで使われているトラッカー。たくさんのカスタムフィールドを許可していて、コメント内にCVSSスコアの一部統合があるけど、これらのスコアは問題とは体系的にリンクされていない。
GitLab: 開発プロセス全体をサポートしているトラッカーで、イシュートラッキングを含み、内蔵のCVSS計算機がある。ただ、「重量」フィールドの意味はプロジェクトによって異なるから、セキュリティの問題を一貫して測るのが難しい。
共通の発見
全てのプラットフォームに共通するテーマは、大半のイシュートラッカーがセキュリティ情報のための専用スペースを提供していないってこと。開発者はCVSSやセキュリティ関連の情報を参照するためにラベルやコメントを使うことが多いけど、この統合は一貫性がない。このはっきりとしたコミュニケーションの欠如が、セキュリティの問題の優先順位を下げる要因になることがある。
開発者の行動を詳しく見る
開発者がセキュリティの問題をどう優先順位をつけるかをよりよく理解するために、非セキュリティの専門家を対象にした調査が行われたよ。参加者は、セキュリティと機能性のバランスを取りながら、さまざまな問題に優先順位を付けるシナリオに置かれた。問題はセキュリティについて批判的に考えるように注意深く選ばれた。
調査中、参加者の関与レベルはまちまちだった。一部は複数の問題をじっくり分析していたが、他の人はほんの数個にしか焦点を当てなかった。特に、セキュリティの問題は非セキュリティの問題よりも高く評価されることが多く、開発者の間でセキュリティの重要性について一般的な認識があることを示している。
セキュリティスコアリングシステムの有用性
参加者にはCVSSを使うことに対する快適さを尋ねたところ、4人中1人だけが余裕を感じていた。このことから、CVSSには可能性があるものの、非セキュリティの専門家にとっては単純ではないかもしれないってわかる。開発者は、より明確な方法論が欲しいと表現し、特にサポートや説明の必要性を強調していたよ。
セキュリティ理解を深める
セキュリティのトピックにもっと関与するために、開発者はチーム指向のアプローチを提案した。彼らは、チームメンバー同士の協力がセキュリティの意思決定を改善すると感じていた。提案としては、セキュリティの問題についてアドバイスを提供できる人のリストを維持することや、セキュリティのベストプラクティスに焦点を当てる専用チームを持つことがあった。
ディスカッションでは、参加者が知識のある同僚からの説明を重視し、法律的な影響がセキュリティ問題の優先順位付けにおいて重要な要素であると強調していた。彼らは、GDPRのような法律を理解することで、より良いセキュリティプラクティスが奨励されることを認識していたよ。
結論
この調査の結果、セキュリティは多くの開発者にとって優先事項だけど、使っているツールが彼らのニーズを十分にサポートしていないことがわかった。セキュリティ問題に関する明確なコミュニケーションや、CVSSのようなスコアリングシステムのよりシンプルな統合があれば、開発者がセキュリティを優先できるようになるかもしれない。チームメンバー間の協力が、ソフトウェア開発におけるセキュリティ意識や責任の文化を育むのに不可欠なんだ。イシュートラッカーを改善してコミュニケーションを強化すれば、開発者はセキュリティの考慮事項にもっとよく対処できて、プロジェクトライフサイクル全体で情報に基づいた決定を下せるようになるよ。
タイトル: Communicating on Security within Software Development Issue Tracking
概要: During software development, balancing security and non security issues is challenging. We focus on security awareness and approaches taken by non-security experts using software development issue trackers when considering security. We first analyse interfaces from prominent issue trackers to see how they support security communication and how they integrate security scoring. Then, we investigate through a small scale user study what criteria developers take when prioritising issues, in particular observing their attitudes to security. We find projects make reference to CVSS summaries (Common Vulnerability Scoring System), often alongside CVE reports (Common Vulnerabilities and Exposures), but issue trackers do not often have interfaces designed for this. Users in our study were not comfortable with CVSS analysis, though were able to reason in a manner compatible with CVSS. Detailed explanations and advice were seen as helpful in making security decisions. This suggests that adding improvements to communication through CVSS-like questioning in issue tracking software can elicit better security interactions.
著者: Léon McGregor, Manuel Maarek, Hans-Wolfgang Loidl
最終更新: 2023-08-25 00:00:00
言語: English
ソースURL: https://arxiv.org/abs/2308.13480
ソースPDF: https://arxiv.org/pdf/2308.13480
ライセンス: https://creativecommons.org/licenses/by/4.0/
変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。
オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。
参照リンク
- https://devusec.de/2023-conference-wsiw/#cop
- https://tex.stackexchange.com/questions/32683/rotated-column-titles-in-tabular
- https://bugzilla.mozilla.org/show_bug.cgi?id=
- https://bugs.chromium.org/p/chromium/issues/detail?id=
- https://jira.atlassian.com/browse/
- https://gitlab.com/gitlab-org/gitlab/-/issues/
- https://bugzilla.mozilla.org/
- https://bugs.chromium.org
- https://jira.atlassian.com/secure/Dashboard.jspa
- https://gitlab.com/gitlab-org/gitlab/-/issues
- https://bugzilla.readthedocs.io/en/5.0.4/administering/custom-fields.html
- https://chromium.googlesource.com/infra/infra/+/main/appengine/monorail/doc/userguide/concepts.md
- https://bugs.chromium.org/p/chromium/issues/list?q=cvss&can=1
- https://bugs.chromium.org/p/chromium/issues/list?q=cvss
- https://support.atlassian.com/jira-cloud-administration/docs/create-a-custom-field/
- https://bugreports.qt.io/browse/
- https://jira.atlassian.com/issues/?jql=issuetype
- https://asecurityteam.bitbucket.io/cvss_v3/
- https://about.gitlab.com/handbook/engineering/security/threat-management/vulnerability-management/
- https://docs.gitlab.com/ee/user/project/issues/issue_weight.html
- https://gitlab-com.gitlab.io/gl-security/appsec/cvss-calculator/
- https://gitlab.com/gitlab-org/gitlab/-/labels?subscribed=&search=weakness
- https://cwe.mitre.org/top25/archive/2020/2020_cwe_top25.html
- https://find-sec-bugs.github.io/bugs.htm
- https://www.first.org/epss/