PowerBuilder コード セキュリティ:コード検査による脆弱性検出

PowerBuilder アプリケーションでは、長年のメンテナンスを経る中で、脆弱性が蓄積されることがあります。ハードコードされた認証情報、非推奨コンポーネント、未処理のエラーなどがその典型例です。

体系的なスキャンなしでは、これらの問題が見過ごされることが少なくありません。Visual Expert は 300 以上の定義済みルールに基づいてコードを解析し、本番稼働中のコードでも開発中のコードでも、セキュリティ脆弱性、バグ、保守性の問題を検出します。

注意:Visual Expert をまだ設定していない場合は、こちらのチュートリアルをご覧ください

コード検査で検出できる PowerBuilder の脆弱性

Visual Expert の PowerBuilder コード検査は、PowerBuilder アプリケーションのセキュリティと安定性に影響する問題を 3 つのカテゴリに分類して特定します。

  • セキュリティ脆弱性 - ハードコードされた認証情報および暗号化キー、SQL インジェクション リスク、パス トラバーサルの欠陥、安全でない暗号化モード、非推奨コンポーネント(SOAP/INET オブジェクト、OLE Web ブラウザ、EAServer)、および脆弱な暗号アルゴリズム(DES、MD5、SHA-1)。
  • バグおよび例外 - 空の catch ブロック、未処理のエラー、および本番環境での悪用や不安定性の原因となり得る処理経路。
  • 攻撃対象領域の削減 - デッドコード、重複コード、およびアプリケーションを不要に肥大化させる廃止済みコンポーネント。

Visual Expert が適用する PowerBuilder コード セキュリティ ルールの完全なリストについては、PowerBuilder コード セキュリティ スキャン ルールを参照してください。

より広範なセキュリティ対策の一環としてコード解析に取り組むチームには、PowerBuilder アプリケーション セキュリティ ガイドをご参照ください。デプロイ、アクセス制御、コンプライアンスを網羅した包括的なセキュリティ ロードマップの中で、コード解析を位置付けています。

新規プロジェクト作成時のコード検査の有効化

  • 以下の手順に従って新規プロジェクトを作成します。PowerBuilderOracleSQL Server
    VE プロジェクト ウィザードで解析対象のソースコードを選択した後、コード検査機能を有効化します:
    コード検査機能の有効化

既存プロジェクトでのコード検査の有効化

  • 既存のプロジェクトで、「設定 > 詳細設定」からコード検査機能を有効化します。
    コード検査の有効化
  • コード検査」タブで、「ON/OFF」ボタンを切り替えてコード検査機能を有効化します。
    コード検査機能の有効化
  • 「コード ルール名」列に表示されているコード ルールを確認し、必要のないルールは「IsActive」チェックボックスをオフにして無効化できます。
  • このウィンドウを閉じると設定が保存されます。

コード検査の結果

PowerBuilder コードの解析が完了すると、Visual Expert では 2 つの方法で結果を確認できます。

1. コード検査ダッシュボード

ダッシュボードでは、PowerBuilder コード解析の全体像を重大度とカテゴリ別に分類して確認できます。

たとえば、上位レベルの指標をクリックすることで、以下の操作が可能です。

  • クリックしたセグメントに対応するバグ、セキュリティ脆弱性、保守性の問題の完全なリストを表示する。
    バグ、脆弱性、保守性の問題のリスト
  • 修正が必要なコードに直接アクセスする。
  • コード品質とセキュリティの推移を追跡する。
    コード品質とセキュリティの推移

2. コード検査マクロ

  • コード解析が完了すると、Visual Expert のツリービューに新しいセクション「コード検査」が表示されます。
    サポートされている言語がツリービューのルートに一覧表示されます。
    各言語について、利用可能なルール数が表示されます。
    言語を選択します。例:「Code Inspection for PowerBuilder」
    PowerBuilder のコード検査ルール
  • 対象とする問題を表示するマクロを選択します。
    PB コード検査の対象問題を選択
  • 対応するルールがツリービューに一覧表示されます。
    各ルールについて、検出された問題の件数が下図のように表示されます。
    PowerBuilder のコード検査
  • ルールを選択すると、詳細を記載したドキュメント ページが表示されます。
    PB のコード検査ルールの説明
  • ナビゲーション バーで「検出された問題」をクリックします:
    この問題が検出された各オブジェクトが、コンテナ階層内に一覧表示されます。
    PowerBuilder アプリケーションのセキュリティ上の問題
  • このリストからオブジェクトを選択すると、コード内で問題がハイライト表示されます。
    コード内の問題のハイライト表示
  • その後、このスクリプトを PB IDE で直接開いて問題を修正できます。
    問題修正のために PB IDE でスクリプトを開く

関連トピック:

Visual Expert, PowerBuilder, コード検査, PowerBuilder コード セキュリティ, PowerBuilder 脆弱性, 静的コード解析