WhiteSourceは、静的アプリケーションセキュリティテスト(SAST)に関する解説記事を公式ブログで公開した。SASTの目的や仕組み、特徴、新世代製品のメリット、ツールの選び方、導入方法を解説している。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
オープンソースセキュリティとライセンスコンプライアンス管理プラットフォームを手掛けるWhiteSourceは2022年2月15日(米国時間)、静的アプリケーションセキュリティテスト(SAST)に関する解説記事を公式ブログで公開した。SASTの目的や仕組み、特徴、新世代製品のメリット、ツールの選び方、導入方法を解説している。
SASTは、コンポーネントが静止しているときにソースコードを分析するホワイトボックステストだ。最も成熟したアプリケーションセキュリティテスト手法の一つとなっている。
調査会社Forresterが先んじて発表したセキュリティ専門家に対する調査結果のレポート「State Of Application Security Report, 2021」によると、アプリケーションは依然として、外部からのセキュリティ侵害における最大の原因だ。2020年に発生した外部からの攻撃の3分の2以上が、Webアプリケーションを介したもの(39%)か、ソフトウェアの脆弱(ぜいじゃく)性を悪用したもの(30%)だった。
SASTにより、開発者はカスタムソースコードのセキュリティ上の欠陥や弱点を検出できる。その目的は、要件や規制(PCI DSS《Payment Card Industry Data Security Standard》など)に準拠することや、自社のソフトウェアリスクをよりよく理解することにある。セキュリティ上の欠陥を理解することは、それらを修正し、ソフトウェアリスクを低減するための第一歩になる。
SASTは通常、開発のコーディングとテストの段階で実装され、CI(継続的インテグレーション)サーバや、最近ではIDE(統合開発環境)に統合されている。
SASTスキャンは、ソースコード内のコーディングエラーを定義した一連のルールに基づいて行われる。SQLインジェクション、入力検証、スタックバッファオーバーフローなど、一般的なセキュリティ脆弱性を特定するように設計することが可能だ。
SASTは、適切に実行されれば、組織のアプリケーションセキュリティ戦略に不可欠なものになる。SASTをSDLC(ソフトウェア開発ライフサイクル)に統合することで、組織のセキュリティプロファイルを向上させることができる。
SASTはセキュリティテストのシフトレフトを支援し、プロプライエタリコードの脆弱性を、比較的容易に解決できる設計段階で検出する。このようにソフトウェア開発の早い段階でセキュリティ問題を発見、修正することで、リリース日近くや、リリース後に問題に対処することによる高いコストを回避できる。
SASTは、ごく単純なコーディングミスに起因する欠陥を簡単に検出できるため、開発チームが安全なコーディング基準やベストプラクティスの順守を徹底するのに役立つ。
自動化されたSASTツールは、バッファオーバーフロー、SQLインジェクション、クロスサイトスクリプティングといった一般的なセキュリティ脆弱性を、高い信頼性で容易に検出できる。
新世代のSAST製品は、アプリケーションの開発環境の変化、特に、現代の環境の規模と開発スピードに対応して進化している。これにより、次のようなメリットを提供する。
SASTの新しいアプローチは、既存のDevOps環境やCI/CD(継続的デリバリー)パイプラインとSASTの統合をさらに進め、開発者が個別にスキャンの設定やトリガーを行わずに済むようにしている。開発者はスキャンの実行や、結果の表示、セキュリティ問題の修正方法の調査のために、開発環境を離れる必要がない。そのため、新世代のSAST製品は開発者にとって、ワークフローに組み込みやすい。
新世代のSAST製品が提供する包括的な検出機能は、さまざまなプラットフォームやプログラミング言語、フレームワークで開発されたデスクトップ、Web、モバイルアプリケーションにおいて、多くの種類のCWE(Common Weakness Enumeration:共通脆弱性タイプ一覧)を可視化できる。その中には、The Open Web Application Security Project(OWASP)が挙げるWebアプリケーションの重大なセキュリティリスクのトップ10や、The SANS Instituteが挙げる最も危険なプログラミングエラーのトップ25などが含まれる。
従来のSAST製品は一般的に誤検出が多く、誤検出のノイズへの対処が開発チームやセキュリティチームにとって、かなりの負担となっていた。新世代のSAST製品は、誤検出の発生を大幅に減らせる。
従来のSAST製品は、一般的なSDLCが現在よりもかなり長かった他、大規模なコードベースの1回のスキャンに数時間かかることもあった時代に合わせて設計された。このため、リリースサイクルが1日未満の場合もある現在の速いペースの開発環境には、あまり適さない。新世代のSAST製品は、従来製品より格段に速いスキャンエンジンを搭載しており、数分以内にスキャン結果が得られる製品もある。
アプリケーションセキュリティテスト市場には、SAST製品がひしめいている。これらは多くの場合、追加のソリューションとバンドルされており、自社に最適な製品を見つけるのは難しい。
OWASPが提供する適切なSASTツールの選択基準リストを以下に示す。このリストは、企業がツールの選択肢を絞り込み、アプリケーションセキュリティ戦略の強化に最も有益なものを選択する上で役立つ。
SASTソリューションを適切に実装するには、次の手順を踏む必要がある。
オンプレミスとクラウドのどちらで展開するか。
いつ、どのようにコードをスキャンし、分析するかを検討する。次のような選択肢がある。
ニーズに合わせてカスタマイズすることもできる。例えば、誤検出の削減、新しいルールの作成や古いルールの修正に重点を置いたり、スキャン結果を分析するダッシュボードを作成したり、カスタムレポートを生成したりすることも可能だ。
Copyright © ITmedia, Inc. All Rights Reserved.