Checkmarx Ltd.

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

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

 

 Checkmarx レポート 

APPSEC:セキュリティおよびソフトウェア開発の専門家の見解

APPSEC:セキュリティおよびソフトウェア開発の専門家の見解

ソフトウェアの自社開発を行っている欧米およびAPAC企業に勤務する、アプリケーションセキュリティ担当者やソフトウェア開発者1500名以上を対象に2021年に実施された、アプリケーションセキュリティの現状についてのアンケート結果をまとめたレポートの日本語参考訳です。ご興味のある方は、下記フォームよりお申込みください。

ダウンロード申込フォームfile_download

特長

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

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

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

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

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

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

差分解析による解析時間の短縮

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

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

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

プログラミング言語を幅広くサポート

Checkmarxは、最新のプログラミング言語やフレームワークを簡単に追加できるように設計されています。現在、25以上のプログラミング言語とスクリプト言語、そして主要なフレームワークに対応(今後も継続的に追加予定)。

誤検知の削減

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

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

CxSASTは、オープンソースの脆弱性をチェックする「CxSCA」や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
  • IntelliJ
  • Visual Studio

検出可能な脆弱性

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

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

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

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

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

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

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

脆弱性検出レポート

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

脆弱性についての説明

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

サンプルコード

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

ナレッジ情報&FAQ

ナレッジ情報およびFAQについては、下記のページをご参照ください。

Checkmarx ブログ

テクニカルサポート

技術的なご質問に関しては、以下までご連絡ください。

※ サポート受付時間:9:30~17:30(土日、祝日を除く)

お問い合わせ先

phone Tel: 03-3245-1248    mail Email: ss_support@toyo.co.jp

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

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