Mendは静的アプリケーションセキュリティ診断ツール(SAST)に関するよくある3つの誤解を解説した。シフトレフトを実現しようとする開発者を邪魔しないツールが望ましいという結論だ。
アプリケーションセキュリティベンダーのMendは2022年7月14日(米国時間)、「SASTツールによるアプリケーションテストに関する3つの大きな神話」と題して、静的アプリケーションセキュリティ診断ツール(Static Application Security Testing:SAST)に関するよくある誤解を解説した。
SASTはアプリケーションのソースコードを評価し、潜在的な脆弱(ぜいじゃく)性を検出するための主要な手法の一つだ。SASTは開発ライフサイクルの初期段階においてアプリケーションのセキュリティを強化し、セキュリティのシフトレフト実現において重要な役割を果たす。
しかし、SASTツールの実装に関連する神話が数多く存在するという。Mendはそのうちの3つを紹介した。
SASTツールがどれもほぼ同じテストを実行するというのはよくある誤解だ。主に2つの留意点がある。
・(1)テストの速度
SASTツールの中には、ユーザーの開発環境が求めるような速いペースでのテスト実行要求に応えることができず、ボトルネックになってしまうものがある。コードベースを素早くスキャンし、数分以内に結果を生成できるSASTツールもある。
・(2)統合性
SASTツールは既存のDevOps環境とCI/CD(継続的インテグレーション/継続的デリバリー)パイプラインを快適に統合し、開発者のワークフロー内で動作する必要がある。開発者がスキャンやテストのために既存のワークフローを外れて、別のSASTツールに切り替えることを強いられると、生産性が低下してしまうからだ。最悪の場合、SASTツールを全く使用しなくなり、脆弱性が放置される可能性がある。
SASTツールはカスタムコードやプロプライエタリなコードの欠陥をチェックし、修正案を提示できるものもある。
しかし、現在のアプリケーションでは、コードベースの80%以上がオープンソースのコンポーネントで構成されている。SASTツールだけに頼っていると、アプリケーションの攻撃対象領域の大部分(オープンソースの部分)は保護されないままになってしまう。
オープンソースソフトウェアの直接依存関係や推移的依存関係をスキャンしないままにしていた場合、アプリケーションのセキュリティを危険にさらす盲点になる可能性がある。
今日のように脅威が絶えず進化する状況では、SASTツールをソフトウェア構成分析(Software Composition Analysis:SCA)ツールと組み合わせることが最善だろう。これにより、包括的な分析ができ、ソースコードに何が含まれているのであれ、コードベース全体の問題を検出できる。重要なのは、アプリケーションに含まれる全てのコードがカバーされることだ。
理想的には、統合セキュリティプラットフォームを用意し、SASTとSCAのツール間でシームレスなスキャンを行うことが最良の戦略だ。アプリケーションのコードを完全に可視化するには、さまざまな最新の情報源から入手した既知の脆弱性に関する広範なデータベースを使用し、さまざまなプログラミング言語を最も幅広くサポートするプラットフォームを探すべきだ。
最新のSASTツールには、カスタムコード内のコード欠陥の自動修復が可能なものもある。これを使えば、企業は単一のプラットフォームを使用して、オープンソースとカスタムコードの両方におけるアプリケーションのセキュリティホールを発見し、自動的に修正できる。
これまでのSASTツールには、存在しない欠陥や影響が無視できる欠陥を報告する、つまり大量の誤検出を引き起こすものがあった。
こうなると開発者やDevOpsチームが誤って報告された脆弱性を修復しようとしてしまい、アラート疲れにつながる。チームは本物のセキュリティ上の欠陥に集中することができなくなるだろう。
しかし、さまざまなプログラミング言語にまたがってより深く正確な分析を行うことができるSASTツールもある。開発チームが多用するプログラミング言語でスキャンできるようになれば、そのような設計になっていないSASTツールと比較して、誤検出を最小限に抑えたり、排除したりすることもできる。
デフォルトの設定を強要するSASTツールは使いにくい。特定のニーズに合わせてカスタマイズできるツールを選択しなければならない。そうすることで、検出精度が向上し、誤検出の発生率も減少する。カスタマイズされていないツールは、当然ながらユーザーの組織にはあまり適合せず、開発したコードベースに影響を与える本物の脆弱性から注意をそらすことになる。
理想をいえば、SASTツールが本物の脆弱性を全て特定し、偽陽性を検出しない状態が望ましい。これまでは理想から遠い状態だったが、現在は誤検出率を大幅に低減することが現実的になっている。
Copyright © ITmedia, Inc. All Rights Reserved.