column

コードのセキュリティ問題を発見し修正するSASTツールをどう活用するか

screenshot

ソフトウェア開発においてコードは機械的に作るものではありません。開発者のスキルによって、実装の方法はさまざまです。ですから、他のエディット作業と同様、チェッカーが必要です。

ここに例として示す、「SecureAssist」はオリジナルはCigitalという企業が開発したツールです。300以上の脆弱性分類に適合した、まずいコードのパターンを検知し、指摘する”スペルチェッカー”です。脆弱性につながる問題となるコードを発見し、問題の理由を指摘します。修正も迅速に行えますので、優れたセキュリティ・トレーニングツールであるとも言えます。このツールは、よくあるアプリケーション脆弱性の潜む部分をハイライトし、実践的なガイドを表示します。それで、開発者の開発用デスクトップから手が離れてしまう前に、それらの問題を解決することが可能になります。

しかも、脆弱性発見状況、修正状況をサーバに集約し、プロジェクト管理者が状況を把握することにも貢献します。

開発者の手元:IDEにプラグイン追加して使える

・Project View(レビューの結果、セキュリティリスク High – Mid – Low別に、問題となるコードの行までハイライト)
・Call Chain (問題となる値の取り扱いを概観)
・Guidance(問題のジャンル、詳細、ありがちな問題のコードパターン、修正のためのアイデア、サンプルコード、資料へのリンク)
これらは、Eclipse、VisualStudioで、ビューを表示させる機能により配置できます。

脆弱性検出ルール・テスト項目概要

SecureAssistは極めて軽量なIDEプラグイン方式のコードチェッカーですが、200以上のテスト項目による自動レビューを行います。OWASP Top 10/2010, 2013CWE/SANS Top 25にも対応しています。このリストは、SecureAssistのルールパックからの抜粋です。ルールパックは定期的に更新され、開発チームが新しいリスクに対応する助けになります。また、チームごとにオリジナルのルールパックを設定することができます。

入力値検証/出力値エンコーディング安全なデータの取り扱い適切なコーディング手法
クロスサイトスクリプティング *
SQLインジェクション *
Pathマニピュレーション *
DoS攻撃
ファイル入出力
未検証のユーザ入力 *
安全でないデータの保存 *
機微情報の漏洩
貧弱な暗号の利用 *
信頼境界の違反
未検証のリダイレクトや転送
スレッドAPI
Struts設定の不備 *
不適切なエラー処理
ログの取り扱い
クッキーのセキュリティ *
リソースの取り扱い

統合開発環境(IDE)のプラグインと連携するものが使いやすい

開発者の「仕事場」、まさにそこで動作します。開発者向けガイダンスも、その中に表示されます。特に難しいセキュリティワークフローは求められません。仕事中に必要なときに、自動的なスキャンが可能です。軽量な静的解析とトレーニングは、組織の目標に合致します。
SecureAssistも、開発者自身にセキュリティ脆弱性について自分のコードをスキャンできるようにしてやることが、開発チーム全体が、いかにアプリケーション全体の価値を俯瞰的に見ることができるよう助けになるかを強調するツールです。開発者が、コードのコミットやチェックインする前にコードに起因する問題を解決できれば、御社のセキュリティ・チームや品質管理を行うメンバーは、より重要な問題の検討に十分の時間をあてることができます。

(日本語字幕あり)

痒いところに手の届く機能

* カスタマイズ可能なルールセット: 共通の脆弱性検出ルールを作ることができます。組織のコーディングルール、ガイドラインを実際的なものとし、標準化し、設定を改善していくことができます。
* プロジェクト・レポート: IDEユーザの管理、ルールセットの管理は、社内に構築するEnterprise Portalを用います。セキュリティプログラムの効果性は、利用統計とレポートで見ることができます。
* ルールセット・パッケージは定期的に更新: サブスクリプション形式となっていますので、新しい問題の検出は更新されていきます。また、ライセンス有効期間内の新しいバージョンへの更新が可能なので、機能追加や情報追加のメリットも受けられます。

SASTツールでお悩みですか?

上記製品に限らず、わたしたちはさまざまな企業の製品を検証し、適切なツール選定をお手伝いできます。また、SASTの導入はそれほど簡単ではないかもしれません。エラーやワーニングのメッセージが理解できないと、修正できないからです。導入、活用支援、改善サイクルの推進など、お話できます。ご連絡お待ちしています。

詳しく話を聞いてみたい

arrow_upward