WhiteSource、静的アプリケーションセキュリティテスト(SAST)について解説アプリケーションは外部からの攻撃における最大の原因

WhiteSourceは、静的アプリケーションセキュリティテスト(SAST)に関する解説記事を公式ブログで公開した。SASTの目的や仕組み、特徴、新世代製品のメリット、ツールの選び方、導入方法を解説している。

» 2022年04月15日 13時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 オープンソースセキュリティとライセンスコンプライアンス管理プラットフォームを手掛けるWhiteSourceは2022年2月15日(米国時間)、静的アプリケーションセキュリティテスト(SAST)に関する解説記事を公式ブログで公開した。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は、適切に実行されれば、組織のアプリケーションセキュリティ戦略に不可欠なものになる。SASTをSDLC(ソフトウェア開発ライフサイクル)に統合することで、組織のセキュリティプロファイルを向上させることができる。

1.セキュリティのシフトレフト

 SASTはセキュリティテストのシフトレフトを支援し、プロプライエタリコードの脆弱性を、比較的容易に解決できる設計段階で検出する。このようにソフトウェア開発の早い段階でセキュリティ問題を発見、修正することで、リリース日近くや、リリース後に問題に対処することによる高いコストを回避できる。

2.安全なコーディングの確保

 SASTは、ごく単純なコーディングミスに起因する欠陥を簡単に検出できるため、開発チームが安全なコーディング基準やベストプラクティスの順守を徹底するのに役立つ。

3.一般的な脆弱性の検出

 自動化されたSASTツールは、バッファオーバーフロー、SQLインジェクション、クロスサイトスクリプティングといった一般的なセキュリティ脆弱性を、高い信頼性で容易に検出できる。

新世代SASTのメリット

 新世代のSAST製品は、アプリケーションの開発環境の変化、特に、現代の環境の規模と開発スピードに対応して進化している。これにより、次のようなメリットを提供する。

1.使いやすさ

 SASTの新しいアプローチは、既存のDevOps環境やCI/CD(継続的デリバリー)パイプラインとSASTの統合をさらに進め、開発者が個別にスキャンの設定やトリガーを行わずに済むようにしている。開発者はスキャンの実行や、結果の表示、セキュリティ問題の修正方法の調査のために、開発環境を離れる必要がない。そのため、新世代のSAST製品は開発者にとって、ワークフローに組み込みやすい。

2.CWEへの包括的な対応

 新世代のSAST製品が提供する包括的な検出機能は、さまざまなプラットフォームやプログラミング言語、フレームワークで開発されたデスクトップ、Web、モバイルアプリケーションにおいて、多くの種類のCWE(Common Weakness Enumeration:共通脆弱性タイプ一覧)を可視化できる。その中には、The Open Web Application Security Project(OWASP)が挙げるWebアプリケーションの重大なセキュリティリスクのトップ10や、The SANS Instituteが挙げる最も危険なプログラミングエラーのトップ25などが含まれる。

3.誤検出の低減

 従来のSAST製品は一般的に誤検出が多く、誤検出のノイズへの対処が開発チームやセキュリティチームにとって、かなりの負担となっていた。新世代のSAST製品は、誤検出の発生を大幅に減らせる。

4.スピード

 従来のSAST製品は、一般的なSDLCが現在よりもかなり長かった他、大規模なコードベースの1回のスキャンに数時間かかることもあった時代に合わせて設計された。このため、リリースサイクルが1日未満の場合もある現在の速いペースの開発環境には、あまり適さない。新世代のSAST製品は、従来製品より格段に速いスキャンエンジンを搭載しており、数分以内にスキャン結果が得られる製品もある。

自社に最適なSASTツールの選び方

 アプリケーションセキュリティテスト市場には、SAST製品がひしめいている。これらは多くの場合、追加のソリューションとバンドルされており、自社に最適な製品を見つけるのは難しい。

 OWASPが提供する適切なSASTツールの選択基準リストを以下に示す。このリストは、企業がツールの選択肢を絞り込み、アプリケーションセキュリティ戦略の強化に最も有益なものを選択する上で役立つ。

  • 自社で使っているプログラミング言語のサポート
  • チェックできる脆弱性の網羅性
  • スキャン精度
  • 既存フレームワークとの互換性
  • IDEとの統合
  • 他のDevOpsツールとの容易な統合
  • 大規模プロジェクトにも対応できるスケーラビリティ

SASTの導入方法

 SASTソリューションを適切に実装するには、次の手順を踏む必要がある。

導入手段を選択する

 オンプレミスとクラウドのどちらで展開するか。

構成し、SDLCに統合する

 いつ、どのようにコードをスキャンし、分析するかを検討する。次のような選択肢がある。

  • コンパイル時にコードを分析する
  • コードベースにマージする際にスキャンする
  • CI/CDパイプラインにSASTを追加する
  • IDEでSASTを実行し、コーディングしながら脆弱性を検出、緩和できるようにする

分析の範囲を選択する

 ニーズに合わせてカスタマイズすることもできる。例えば、誤検出の削減、新しいルールの作成や古いルールの修正に重点を置いたり、スキャン結果を分析するダッシュボードを作成したり、カスタムレポートを生成したりすることも可能だ。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。