Checkmarx Ltd.

脆弱性静的解析ツール Checkmarx CxSAST

Checkmarxはセキュリティに特化した高度で柔軟性のあるソースコード解析ツールです。広く普及しているプログラミング言語で書かれた未コンパイルのソースコードを解析し、何百種類もの脆弱性を検出することができます。またCheckmarx単体としての利用だけでなく、SDLCでの脆弱性検出・修正プロセスに有効に統合させることができます。

特長

コンパイル前のコードを解析

未加工のソースコードも解析できるため、脆弱性の特定には最も効果的である開発の初期段階でソースコードを解析することができます。また、コンパイルやビルドの成功を懸念する必要がなく、コードフラグメント(断片)を製品に投入すれば、解析が始まります。

オープンでカスタマイズ可能なクエリ

Checkmarxの製品にはオープンなクエリ言語が採用されており、Checkmarxが何をどのように解析したかを簡単に確認できます。また、特定の環境に合わせた素早いカスタマイズが可能で、フレームワークに含まれないサニタイズにも対応することができます。この機能により、過検知の割合を減らし、許容できる範囲にまでノイズを減らすことが可能です。先進的な企業は、ベストコーディングプラクティスや特定の規約を順守するために、自社オリジナルのクエリを追加しCheckmarxをご利用いただけます。

最適な修正ポイントの提案

Checkmarxはソースコードのあらゆる脆弱性を特定するだけではありません。アプリケーションのデータフローを俯瞰的に眺め、効果的な修正箇所を特定し、複数の脆弱性が1回の修正で取り除けるように支援します。

変更のないコードは再スキャンしない

Checkmarx独自のインクリメンタル・スキャン(差分解析)を使用することで、少数のソースコードのみを変更した場合は、必ずしもコードベース全体を再スキャンする必要がなくなります。前回の解析結果と関連ファイルから変更箇所を特定し、変更箇所のみを解析対象とすることで、解析結果を素早く得ることができます。これらは開発スピードの速いアジャイル開発では特に有効です。

既存ビルドプロセスと統合

Checkmarxはお客様既存のシステム開発ライフサイクル(SDLC)に柔軟に統合できるため、お客様が決定した脆弱性検査ポリシーを自動的に実行します。当社は最も普及しているソースコードリポジトリ、ビルド管理サーバ、バグ管理システム、IDE、レポーティングシステムに対応しており、セキュリティテストを最も効率的、かつ効果的に実施することが可能です。

最も普及しているプログラミング言語に対応

Checkmarxは、最新のプログラミング言語やフレームワークを簡単に追加できるように設計されています。現在、20以上のプログラミング言語とスクリプト言語、そして最も普及しているフレームワークに対応しており、毎年2-3の新しい言語が追加されています。

誤検知の削減

お客様のプロジェクトに適したルールセットを使用することで、不要な指摘を削減することができます。

他のCheckmarx社製品との連携により相乗効果を発揮

CxSASTは、オープンソースの脆弱性をチェックする「CxOSA」やIAST方式の動的検査を行う「CxIAST」と連携して使うことで、開発プロセスの複数のステージで、多面的に脆弱性リスクを軽減させることができます。

テクノロジー

サポートされている言語

  • Java
  • Apex and VisualForce
  • C#
  • Ruby
  • JavaScript
  • VBScript
  • VB.NET
  • Perl
  • ASP
  • HTML5
  • VB6
  • Python
  • PHP
  • Groovy
  • C/C++
  • Scala
  • Android (Java)
  • PL/SQL
  • Objective C
  • GO
  • Swift
  • TypeScript
  • Kotlin

※ 公式サイトのサポート言語の情報もご参照下さい。

サポートされているフレームワーク

Java ・Struts
・Spring MVC
・Hibernate
・MyBatis
.NET ・Telerik
・Infragistics
PHP ・Zend
・CakePHP
・Symfony
・Smarty
Ruby ・Ruby and Rails
JavaScript ・JQuery
・Node.js
・AngularJS
・PhoneGap
・React.js

※ 公式サイトのサポートフレームワークの情報もご参照下さい。

サポートされている開発環境

  • Eclipse 4.6 (Neon), 4.7 (Oxygen), 4.8 (Photon)
  • IntelliJ 11 - 16, 2017, 2018, 2018.2.3 (Community Edition) Windows, Mac OS X (El Capitan 以降)
  • Visual Studio 2012, 2013, 2015, 2017, 2017 (Enterprise)

検出可能な脆弱性

  • SQLインジェクション
  • セッション固定攻撃
  • クロスサイトスクリプティング
  • セッションポイズニング
  • コードインジェクション
  • 補足されていない例外
  • バッファオーバーフロー
  • 解放されていないリソース
  • パラメータの改ざん
  • 検証されていない入力
  • クロスサイトリクエストフォージェリ
  • URLリダイレクト攻撃
  • HTTPレスポンスの分割
  • 危険なファイルアップロード
  • ログの偽造
  • ハードコーディングされたパスワード
  • DoS攻撃
  • XMLエンティティ拡張(XEE)攻撃
  • 安全でないデシリアライゼージョン など

サポートされている標準規格

Checkmarxは以下の標準規格にも対応しています。

  • OWASP Top10 2017
  • FISMA
  • OWASP Mobile Top10 2016
  • PCI DSS v3.2
  • SANS 25
  • MISRA
  • HIPAA
  • BSIMM
  • Mitre CWE

機能

セキュリティ専門家や開発者は検出された脆弱性を調査し、最適な修正方法を決めなければなりませんが、CxSAST Viewerでは、攻撃ベクターをソースからシンクまでのデータフローで表示し、各ノードをクリックすることで関連するメソッドやコード行を表示します。

ダッシュボードとレポート

データの分析やレポート作成はとても簡単です。予め定義されたテンプレートを使用したり、自分が見たい観点でのレポートをドラッグ&ドロップでパラメータを指定し作成できます。
グラフタイプを選択すれば、データをフィルタリングできます。変更はリアルタイムに反映され、分析結果をPDF又はExcelにエクスポートすることすることもできます。

最適な修正箇所の特定

Checkmarxは脆弱性を特定するだけではありません。検出された脆弱リスト化に加え、グラフ理論のアルゴリズムを使用して攻撃ベクターを統合し、複数の攻撃ベクターが交差する、コード修正に最適な個所を特定します。グラフビューは全体的な修正を達成するために、最低限必要な修正箇所を指摘し、開発者のコード修正を支援します。

FAQ

取得できる解析結果 レポート

CxSAST(Cxクラウド)を利用することで、以下の様な情報を含む解析結果を簡単に取得することができます。

脆弱性検査結果の統計情報

脆弱性検査結果の総合的な情報が表示されます。危険度の高い脆弱性から優先的に対処するなど、計画的に脆弱性対策を行うのに役立ちます。

OWASP Top 10 2017のカテゴリレポート

OWASP TOP10をベースとした脆弱性検査の証跡として利用できるレポートです。OWASP TOP 10以外にも、PCI DSS、FISMA、NISTのカテゴリに基づいたレポートを出力することができます。

脆弱性検出レポート

実際に修正するべきソースコード箇所が表示されますので、脆弱性のある行をすぐに特定し、修正に取り掛かることができます。

脆弱性についての説明

脆弱性の説明が表示されますので、脆弱性の理解に役立ちます。

サンプルコード

脆弱性の対策済みコードの一例が表示されます。サンプルコードをそのまま使用することも、サンプルコードをもとにカスタマイズした修正を行うことも可能です。

Knowledge Center

Checkmarx ブログ

テクニカルサポート

技術的なお問い合わせ

Checkmarx社の製品に関する技術的なご質問に対しては、弊社のサポートデスクがお答えいたします。
お問い合わせ先:ss_support@toyo.co.jp

緊急の場合には、電話によるお問い合わせに対してもお答えいたします。
お取扱い時間は、 9:30~17:30(⼟⽇、祝⽇を除く)です。

ご注意:
サポートデスク宛に技術的なご質問をお出しになる場合、お客様と弊社の間には 保守契約が締結されている必要があります。

お問い合わせに際してのお願い

  1. お問い合わせのE-mailに、次の情報を付加してください。それによって、より早い回答をお届けすることができます。
    ・ ご使用になっているOSの種類とバージョン
    ・ ご使用になっている製品のバージョン
  2. エラーメッセージが出ている場合は、そのエラーメッセージを正確にお送りください。また、問題が発生した画面をキャプチャした画像ファイルをお送りください。
  3. 可能な限り、その問題が発⽣した経緯、再現の⼿順をお知らせください