Webベース コラボレーティブ コードレビュー inspect ·...

Post on 27-Feb-2020

1 views 0 download

Transcript of Webベース コラボレーティブ コードレビュー inspect ·...

静的ソフトウェア欠陥・脆弱性検証ツール

AD1206020AD

掲載されている社名および製品名は各社の商標または登録商標です。

詳細情報や事例紹介などは、下記当社ホームページを参照くださいエンタープライズソリューション事業本部〒130-0012 東京都墨田区太平4-1-3 オリナスタワー TEL:03-6658-1760/Fax:03-6658-1250

klocwork@marubeni-sys.comhttp://www.marubeni-sys.com/dl/klocwork

静的ソフトウェア欠陥・脆弱性検証ツール静的ソフトウェア欠陥・脆弱性検証ツール静的ソフトウェア欠陥・脆弱性検証ツール静的ソフトウェア欠陥・脆弱性検証ツール

アーキテクチャの視覚化と最適化Klocwork InsightTM ではソースコードのグラフィカルモデルを活用して、ソフトウェア設計者がシステムに悪影響を及ぼすことなく、さまざまな最適化モデルを試すことができます。この自動コード検出機能を通じ、コードの複雑な相互関係を視覚化して理解し、what-ifシナリオを作成して、理想的な最適化に向け徐々にコードをリエンジニアリングしていくことができます。Klocworkの重大不具合検出機能と組み合わせることで、より優れた保守性の高いコードを開発することが可能になります。

システムビューが既存アプリケーションの物理的構造を明示します。アプリケーション内部の依存関係はもちろん、アプリケーションと外部環境との依存関係も明らかになります。この自動アーキテクチャ検査によって、コードを変更してもシステムの他の部分に悪影響を及ぼさないことを確認できます。

コード検出と影響分析

レビューが必要な全てのコードがカスタマイズ可能なホームページに送られる、フィードベースのユーザビリティモデルを提供します。この方法により、レビュー担当者は、重要なコードだけを確認できます。

Xoreax社製、高速GridコンパイルソリューションIncrediBuildと連携することで、Klocworkの解析速度を飛躍的に向上できます。

ハートランドデータ社製、動的テストツール DT10と連携することで、Klocworkの静的解析データをDT10から活用できます。

ライトウェイトなユーザビリティモデル

チェックイン前レビュー機能を使用して、コードをメインコードストリームに送る前に、ピアレビューしたり、プロセスの一環としてチェックイン後のレビューにも使用できます。レビュー担当者は、特定レビューを受け入れ、または拒否して、組織の承認モデルをツールにあわせることができます。

開発者のワークフローのサポート

自動フローチャート機能を活用してファイルのプロセスフローを理解すれば、手作業でのコードレビューを効果的に進めることができます。

コード検出と影響分析

この分析によって、アーキテクチャ上の複雑な問題(たとえば、循環依存性やモデル改良など)を迅速に発見し、開発者向けに対応可能な変更の一覧リストを作成することができます。

設計上の異常の発見と修復

大規模なC/C++ソフトウェアに共通する保守容易性の問題として、多くの不要なincludeを含む過度に複雑なヘッダファイル構造が挙げられます。システムに対して自動分析を実行して、システム規模とビルド時間の削減可能量を推測するとともに、ヘッダファイル最適化の具体的な特定の推奨ロードマップを提供します。

ヘッダファイル構造の最適化

Webベース コラボレーティブ コードレビューKlocwork InspectTM は、Klocwork InsightTM のソースコード解析および優れたコード管理ツールと完全に統合された、ライトウエイトのWebベースコラボレーションツールです。ピアコードレビュー作業を簡素化し、チームのコード作成を改善します。

システムビューが既存アプリケーションの 自動フローチャート機能を活用してファイこの分析によって、アーキテクチャ上の複 大規模なC/C++ソフトウェアに共通する保

Klocwork InspectTMは、Klocwork InsightTMのオプション製品です

他ツールとの連携のご案内

inspect

architect

Klocwork/中面

プロジェクトの進行に伴い指数関数的に増大する欠陥と脆弱性の修正コストを削減します

 昨今、アプリケーションの多機能・複雑化、ネットワーク対応により、ソフトウエアの欠陥や脆弱性の問題が重要な課題としてクローズアップされています。加えて、ソフトウエアの規模が増大し、開発チーム内でのソフトウェアの品質を高める実践的な手法も必要となってきました。 開発グループが、ソフトウェア開発サイクルのできるだけ早い段階でソースコードの欠陥を見つけ、そして除去しておく利点が十分理解されてきた今、早期に信頼できる検証ソフトウェアを用い、検証を行っておくことが重要になりました。QAの前にソフトウェアの欠陥を見つけておくことの利点は十分に裏付けもされ、また十分に理解もされてきました。 しかし残念なことに、これを可能にするメカニズムは、人手でのコードレビューからの解放を掲げたLintタイプの静的コードアナライザでした。そのようなツールの中には、フォルスポジティブと呼ばれる静的検証技術特有の擬似エラーの洪水を招くツールも多くありました。 フォルスポジティブを可能な限り排除する機構を備え、品質を阻害しかねないソフトウェアに潜む欠陥と他からの攻撃に対するセキュリティ脆弱性対策を、デスクトップとシステムの両サイドに提供するソリューションが Klocwork InsightTMです。

Klocwork InsightTMは、高度な静的解析手法(Klocwork Truepath®)を用いて、C、C++、Java、C#のプログラミング上の重大な欠陥を自動検出します。

欠陥とセキュリティ上の脆弱性分析Klocwork InsightTM では Klocwork Truepath® 解析エンジンにより、関数をまたがる制御フロー、データフロー、変数の伝播、シンボリックロジック解析を活用して、可能性のある実行パスを入念に検証し、700種類以上の問題を検出できます(※)。また業界標準のコーデングチェック機能やメトリクス解析機能により、欠陥が出にくく、保守性の高いコードを維持することができます。(※バージョン9.5時点、C/C++、Java、C#の合計のチェック項目数)

総合的なウェブレポーティングソリューションとソフトウェアメトリクス解析総合的なウェブレポーティングソリューションにより、開発チームにおいて、欠陥修正率などの重要なソフトウェアメトリクスをデスクトップで追跡管理できるようになります。ソフトウェア開発組織ではソフトウェア開発プロセスを管理するため、多種多様なメトリックを収集します。Six SigmaやCMMIその他、成熟したソフトウェア開発組織が使用するプロセスでは特に、プロセスメトリック、リソースメトリック、環境メトリックなどを収集します。Klocwork InsightTM は、こうしたメトリック収集機能をさらに強化し、ソフトウェアコードから直接引き出される、客観的で実用性が高い製品メトリクスを100種類以上提供します。

デスクトップで発見および修復されている内容に関する情報を、それがソースストリームに伝播されていない場合であっても、自動的に集約します。この独自の機能によって、コードをチェックインする前に、不具合削減には何が必要かをより明確に理解できます。

どのメトリックについても、マウスをクリックするだけで時系列に沿った傾向を表示できます。日付の範囲や現在時刻との関係でビルドを比較でき、任意の2つのビルドについてベースラインおよびオフセット比較を行うこともできます。

カスタム所有モデルを簡単に定義し、すべてのコードメトリックを個人、グループ、地理的条件、コンポーネントなど組織にとって意味がある任意の属性に従って編成することができます。

デスクトップ解析とC/C++リファクタリングKlocwork Desktop Analysis により、開発者はセキュリティ上の脆弱性と品質に関わる欠陥を含む重大な不具合に関して強力で正確な分析をローカルで実行し、不具合のないコードをチェックインできます。またコネクテッドデスクトップ機能により、プロジェクトメンバーで指摘のステータスや構成ファイルを共有し、問題点にチームで取り組むことができます。またVisual StudioプラグインおよびeclipseのプラグインのC/C++リファクタリング機能により、コード作成の生産性を向上できます。

VisualStudioプラグインを利用すると、オンザフライ解析機能により、開発者はまるでスペルチェックのように手軽に、不具合やセキュリティ脆弱性の指摘を修正できます。

VisualStudioプラグイン

C/C++リファクタリング機能には、選択範囲の外部関数化、関数・変数名の変更、インクルードヘッダーの最適化、選択式の変数化などがあります。

C/C++リファクタリング

eclipseプラグインは通常のeclipseのほか、eclipseをベースとした各種IDEでも利用できます。開発者は使い慣れたIDE環境から、Klocworkのデスクトップ解析機能を利用できます。

eclipseプラグイン

HEWやIAR WB、テキストエディタなど、プラグインに対応しないIDEを使用する場合は、コマンドラインや、専用GUIツールのKlocwork Desktopから、デスクトップ解析が利用できます。

Klocwork Desktop Analysisは、開発者に静的ソースコード解析環境を提供します。まるでスペルチェックのように手軽に、不具合やセキュリティの脆弱性を迅速かつ正確に、継続的に検出します。

Klocwork Reviewによって、統合ビルド解析の解析結果を参照できます。ドラッグアンドドロップによるレポート機能を使用することで、開発メンバーは、全コードベースのセキュリティ、信頼性および保守性に関する複雑な質問に対して数分で回答できます。

Klocwork Desktop

品質と信頼性の問題

• メモリやリソースのリーク • 割り当てが解放されたメモリの使用 • メモリの不正な割り当て解除 • NULL ポインタの逆参照 • 初期化されていないデータの使用 • 無限ループ • 競合違反

保全性の問題

• コーディングルール違反 • ポーティングの問題 • デッドコード • 到達不能コード • 使用されない計算値• 未使用の関数パラメータ • 未使用のローカル変数

セキュリティの脆弱性

• バッファオーバーフロー • 未検証のーザ入力 • SQL インジェクション • パスインジェクション • ファイルインジェクション • クロスサイトスクリプティング • 脆弱な暗号化 • 脆弱なコーディング

静的ソフトウェア欠陥・脆弱性検証ツール

code check-in

Klocwork Truepath®は、Klocworkのツールをサポートする静的解析エンジンです。C、C++、JavaおよびC#コードのプログラム全体を解析する高性能な機能を使用して、深刻なセキュリティおよび信頼性問題を正確に特定します。

Klocwork Inspectは、Klocwork Insightのソースコード解析および優れたコード管理ツールと完全に統合された、ライトウエイトのWebベースコラボレーションツールです。ピアコードレビュー作業を簡素化し、チームのコード作成を改善します。

Klocwork Architectは、ソフトウェアプロジェクトのアーキテクチャを視覚的に表現します。これにより、チームメンバーおよびソフトウェアアーキテクトは、複雑なコードベースを確認、試行、最適化できます。

inspect architect

Pre Check-in Post Check-in

desktop

desktop

review

review

MISRA C (対応範囲93%以上)、MISRA C++ (対応範囲 90%以上)、CWE、CERT、DISA STIG独自のカスタムチェッカーも追加可能です。

業界標準のコーディング基準にデフォルトで対応