セキュリティ強化のためのツールと手法
および現代の基準への準拠
PowerBuilderアプリケーションを扱う開発チーム、セキュリティ担当者、コンプライアンス管理者のための包括的なガイド。
PowerBuilderアプリケーションを担当するチーム:開発者、アーキテクト、プロジェクトマネージャー、運用マネージャー。アプリケーションのセキュリティ強化とライフサイクル(開発/テスト/本番環境)の保護方法を説明します。
セキュリティおよびコンプライアンスチーム:アプリケーションセキュリティマネージャー、CISO、GRCチーム、内部または外部監査人。PowerBuilderアプリケーションのセキュリティレベルを評価し、監査やコンプライアンスレビューに備えるのに役立ちます。
PowerBuilderアプリケーションは、重要なプロセス(財務、医療、物流、産業、公共部門)の中核を担っています。設計時よりも高いセキュリティおよびコンプライアンス要件(クライアントワークステーションの保護、強固な認証、暗号化、アクセス制御、トレーサビリティ、監査レポートなど)を満たす必要があります。
こうした状況において、組織は次の3つの目標を同時に達成する必要があります:
本ガイドを読むことで、以下のものを得られます:
本ガイドはモジュール式で、選択的に読むことができます。
各章は独立しており、コンテキスト、脅威、技術的目標、各ツールの機能、主要標準への準拠、証拠など、読みやすい構成になっています。
セキュリティまたはコンプライアンスプロジェクトの基盤として活用できます。
| PowerServer および PowerClient プロジェクトを含め、コード署名をコンパイルおよび配布プロセスに統合する。 | PB |
| 拡張検証証明書(EV 証明書)を使用してアプリケーションに署名し、ユーザーの信頼性と最新のセキュリティポリシーとの互換性を向上させます。 | PB |
| PowerBuilder 専用セキュリティルール(SAST)による PowerBuilder コードの分析と、脆弱性および不適切な手法の検出により、安全なデリバリーを実現します。 | VE |
| コード内のハードコードされた識別子/パスワード、暗号化キー、およびIP アドレスを検出し、デコンパイルやデプロイメントスクリプトのコピーによる漏洩リスクを低減します。 | VE |
この章では、ISO 27001 や SOX 準拠の環境でよく見られる、ソフトウェアの完全性およびリリースサイクル管理に関する期待事項について取り上げます。 (セキュリティ基準とコンプライアンス)
| トランザクションオブジェクトの接続プロパティを暗号化し、Secure Connection Encryptor を使用して暗号化された接続文字列を生成し、スクリプトやファイルに平文の認証情報が含まれないようにします。 | PB |
| SQL Server ドライバーおよびデータベース側で TLS/‘Strict’ 暗号化を有効にすることで SQL Server 接続を暗号化し、証明書を検証します。 | PB |
| CoderObject および CrypterObject オブジェクトを使用してデータをエンコードおよび暗号化します。 | PB |
| PowerBuilder コードをスキャンして、DES/3DES、廃止されたハッシュ関数 (SHA-1/MD5 など)、暗号化モード、ハードコードされたキー、または 堅牢ではないキーサイズ の使用を検出します。 | VE |
| 権限/ロールモデル を介して機密データや機能へのアクセスを厳密に制御し、リスクを軽減します。 | VG |
| 機密データおよび重要操作へのアクセスを記録し、詳細な監査(誰が、何を、いつ、どこから行ったか)を可能にします。トレーサビリティと監査 | VG |
本章は、ISO 27001、NIST SP 800-53、PCI DSS、および状況に応じて HIPAA や GDPR における機密性およびデータ保護の要件に貢献します。 (セキュリティ基準とコンプライアンス)
| TLS 1.3 および HTTP/2 を HTTPClient および RESTClient オブジェクトでサポートします。 | PB |
| 内部 API やパートナーサービスなどで使用される 相互 TLS 認証(クライアント証明書) をサポートします。 | PB |
| コード通信ポイント(HTTPクライアント、Webサービス呼び出し、証明書管理)を識別します。 | VE |
| 最新のセキュリティプロトコルをサポートしていない使用例(例:SOAP/INETサービスへの呼び出し や 非セキュアな認証API の使用)を検出します。ネットワークリファクタリングを優先します。 | VE |
| 標準化された Web サービス を専用サーバー経由で使用し、認証、アクセス制御、ログ記録を集中化するとともにクライアント側のセキュリティロジックを制限します。 | VG |
本章は、ISO 27001 および NIST の通信セキュリティに関連する統制に貢献し、金融および医療分野における監査要件を頻繁に満たします。 (セキュリティ基準とコンプライアンス)
| RESTClient を使用した REST ベースの統合を優先する。SOAP が必要な場合は、強力な認証を備えた TLS 1.2 以上の HTTPClient を使用し、レガシー SOAP クライアントの実装は避けてください。 | PB |
| 一般的な API 統合の慣行に合わせて、OAuth 2.0 認証プロトコルを使用します。 (強化された RESTClient オブジェクト - 新機能) | PB |
| ユーザー名とパスワードを送信する代わりに、トークンベースの認証(OAuth 2.0 ベアラートークン)を使用し、HTTPClient および OAuthClient でトークンを管理してください。(HTTPClient および OAuthClient の機能強化 - 新機能) | PB |
| SMTP をネイティブでサポートし、最新の認証方法(XOAUTH2 を含む)を使用します。脆弱な可能性のある社内実装を減らします。ネイティブメールサポート(SMTP クライアント) - 新機能 | PB |
| コードをスキャンして、SQL、OSコマンド、パスへのコードインジェクション、ハードコードされたシークレット、不十分なエラー処理、交換データの制御不足による攻撃の可能性を特定します。 | VE |
| 機密性の高い呼び出し(エクスポート、送信、ビジネスアクション)をトリガーできるユーザーを制限します。 | VG |
| 監査および調査のためにこれらの操作を追跡します。重大または異常なイベントが発生した場合にリアルタイムで監視し、通知をトリガーします。 | VG |
統合管理機能は、ISO 27001、NIST、PCI DSS、および適用範囲に応じてHIPAAのセキュリティとトレーサビリティ要件に貢献します。 (セキュリティ基準とコンプライアンス)
| Microsoft Edge WebView2 に基づく 最新化されたWebBrowser コントロールを使用し、関連する機能強化を適用します。 | PB |
| JavaScript実行やページ操作に関する WebBrowserの改善 を活用します。 | PB |
| 診断目的で WebBrowserのリモートデバッグ を有効化できます。この機能は厳重に管理し、本番環境では無効化する必要があります。 | PB |
| OLEブラウザや廃止されたコンポーネント の使用を検出します。これらは脆弱性やセキュリティ上の非互換性にさらされやすいためです。 | VE |
| WebBrowserの使用状況(URLの開く操作、スクリプトの実行、コンテンツの操作)を調査・分析し、リスクのある画面を特定して修正の優先順位を決定します。 | VE |
| Webコンテンツを統合する画面や機能へのアクセスを制限します。 | VG |
| ブラウザに関連する機密性の高い操作を追跡し監査します。 | VG |
| ウェブコンテンツを表示する画面や機能へのアクセスをリアルタイムで監視し、異常な動作が発生した場合にチームに通知します。 | VG |
この章は、ISO 27001 および NIST で一般的に求められる、攻撃対象領域の削減およびアクセス制御に関連する要件をサポートします。 (セキュリティ基準およびコンプライアンス)
| ソリューション形式 に切り替えてコードをテキストに変換し、バージョン管理ツールや自動化ツールとの統合を容易にします。 | PB |
| PBAutoBuild を使用してビルドスクリプトを簡素化し、パイプラインを標準化します。 | PB |
| PB 2025で マージ競合を減らし 、レビューとトレーサビリティを容易にします。 | PB |
| トリガー、ビルド受け入れ基準、ダッシュボードなど、すべてのビルドで静的脆弱性分析(SAST)を工業化します。 | VE |
| 例外が無視されず、本番環境でコンソールログが使用されていないことを検証します。 | VE |
| 環境間(開発/テスト/本番)におけるアクセス制御設定(権限、ロールなど)のデプロイを自動化し、不一致やエラーを削減します。 | VG |
この章は、ISO 27001 および、該当する場合は内部統制要件(SOX)に関連するガバナンスとトレーサビリティの要件に貢献します。 (セキュリティ基準とコンプライアンス)
| アプリケーションがIDサービスと連携する際、PBネットワークオブジェクト HTTPClient/OAuth/RESTClient を使用して、最新の認証およびトークンメカニズムを統合します。 | PB |
| コード内の認証/認可の実装を識別し、一般的な脆弱性(回避可能な制御、ハードコードされた権限、ロギングの欠如)を検出します。 | VE |
| 強力な認証(MFA)を実装し、ケースに応じて、Windows 認証、ログイン/パスワード、または同じアプリ内での混合モードを選択します。 | VG |
| 複数のディレクトリに分散したIDを管理(フェデレーション)し、組織構造を反映した階層的なグループにユーザーを編成することで、権限付与の委任と工業化を実現します。 | VG |
| 職務分離(SoD)を通じて権限衝突を特定し修正します。 | VG |
| 権限マトリックスを生成し、監査対応可能なレポートを作成します。 | VG |
この章では、ISO 27001、NIST SP 800-53、および PCI DSS のIAMおよびアクセスガバナンス要件に直接対応し、特に金融、医療、上場企業セクターに関連しています。(セキュリティ基準とコンプライアンス)
一部のPowerBuilderアプリケーションは現在、リモートアクセス(VPN、アプリケーションゲートウェイ、仮想化)が可能ですが、データベースに直接接続し、クライアントワークステーションに保存されたパラメータに依存する「厚いクライアント」も維持されています。
このモデルでは、ネットワーク境界やリモートアクセスポイントに配置された機器が重要な侵入経路となるため、一定のリスクが生じます。また、ワークステーションごとに秘密情報や接続パラメータを管理することがより困難になります。
DBIR 2025によると、脆弱性の悪用は初期アクセスのおよそ20%を占めています。特にリモートアクセス機器に影響を与える脆弱性は、30日以内に修正される割合が54%に留まることから、極めて敏感な問題であることが強調されています。
解決策は、ワークステーションへの依存度と露出を低減するため、多階層アーキテクチャへの移行です。アプリケーションサーバーが.NET API(PowerServer)を公開し、適切な位置(認証、ログ、ネットワークセグメンテーション)に集中管理されたID管理と制御機能を配置します。
| PowerServerを使用して、サーバー側の n 層アーキテクチャに移行し、クライアント ワークステーションからの直接データベース アクセスを削減します。 | PB |
| Web APIに OAuth 2.0 や JWT などの認証メカニズムを実装し、不正アクセスを防止します。 | PB |
| サーバーコンポーネントを.Netのサポート対象バージョンに更新します。 | PB |
| アーキテクチャ変更の前、最中、後に、アプリケーションのマッピング、依存関係の特定、既存コードのセキュリティ確保を行います。 | VE |
| 標準ツールを使用して、ユーザー、API アクセス権限を管理し、監査レポートを生成します。 | VG |
| 複数のアプリケーションのセキュリティを一元化し、IDと権限の包括的な可視化を実現するとともに、制御、ログ記録、監査を標準化します。 | VG |
この章は、ISO 27001およびNISTで頻繁に強調される、監査可能で標準化されたアーキテクチャへ整合させるアプローチの一部です。(セキュリティ基準とコンプライアンス)
規制対象分野(金融、医療、上場企業)では、セキュリティ強化だけが目的ではありません。
これらの組織は、アプリケーションが現代の基準に準拠していることを実証しなければなりません。また、機密機能にアクセスできるのは誰か、どのような権限が付与されているか、どのようなアクションが実行されているか、そして重要なデータをどのような対策で保護しているかなど、具体的な検証可能なチェックを実施する必要があります。
この要件は、透明性に関する義務によってさらに強化されています。例えば米国では、SEC は上場企業に対して、厳格に規制された手順に従って特定の「重要な」サイバーセキュリティインシデントを報告するよう義務付けています。
さらに、データ侵害による世界平均の損失額は2024年に488万ドルに達し、コンプライアンスのギャップが直接的な財務リスクへと変化しています。
こうした状況において、組織は今や統制を体系化し、証拠(レポート、ログ、アクセスレビュー、変更のトレーサビリティ)を提示しなければなりません。
重複を避け、監査準備を容易にするため、この章では上記の機能をコンプライアンス要件と関連付けて説明します。
| コード署名、DB/ドライバー接続の暗号化、セキュアなネットワークプロトコル、OAuth/REST統合機能など、頻繁に求められる要件をサポートします。 | PB |
| 脆弱性の低減および継続的改善アプローチの実証に役立つ、繰り返し可能でバージョン管理された分析(特にPowerBuilderセキュリティルールに関する分析)を提供します。 | VE |
| セキュリティチェックおよびレポートを自動化し、IAM、RBAC、職務分離、追跡可能性、監査といった現代的な基準に準拠します。 | VG |
| 権限マトリックスを公開することで、「誰が何にアクセスできるか」を文書化します。 | VG |
| ソースコードの脆弱性検出において再現性のある結果を生成するため、検査ルールのリポジトリを活用します。 | VE |
Visual Guard は、サポートされている標準(ISO 27001、NIST SP 800-53、NIST SP 800-63、CIS Controls、PCI DSS、GDPRなど)のマップを公開し、関連するメカニズム(MFA、RBAC、SoD、ロギング、アクセスレビュー)を示しています。(セキュリティ基準とコンプライアンス)
これらのチェックリストは、ほとんどのコンテキストに適用可能なアクションの後に、組織のアーキテクチャと規制上の制約に応じてアクティブ化されるオプションのアクションが続くという実用的なアプローチを提供します。
| 章 | 対策 |
|---|---|
横断的(前提条件) |
アプリケーション、環境、依存関係、フロー(ワークステーション、サーバー、データベースなど)をインベントリ化する。 |
| 取り扱うデータを分類し、関連する保護要件を正式に定義する。 | |
| 修復プロセスを確立する(優先順位付け、目標タイムライン、検証、追跡)。 | |
| パッチ適用と公開コンポーネントの更新(OS、データベース、ミドルウェア、ライブラリ、リモートアクセス)。 | |
| インシデント対応計画を正式化し、DR/BCP(復旧、回復)をテストする。 | |
2. 実行ファイルとコンポーネント |
特定可能なリリースに紐づく、再現可能なバージョン管理されたビルドプロセスを作成する。 |
| 会社承認の証明書を使用して、すべての実行ファイル、ライブラリ、配布パッケージに署名する。 | |
| 配布前にアーティファクトの完全性を検証(ハッシュ/フィンガープリント)し、結果を記録する。 | |
| 配布されたバージョン(ハッシュ、日付、所有者)を追跡し、履歴を保持する。 | |
| 配布に関連する公開権限と管理権限を制限し監査する。 | |
| リリース前にPowerBuilderコードをスキャンし、脆弱性と不適切な慣行を特定する。 | |
| コードやスクリプトからハードコードされた機密情報(ID、パスワード、キー、IPアドレス)を検出し削除する。 | |
3. データの保護 |
機密データとその保存場所(データベース、ファイル、エクスポート、ログ、バックアップ)を特定する。 |
| DBサーバーおよびPB DBドライバーでTLS 1.2以上(証明書検証を含む)を使用するようにTLSを有効にする。 | |
| 必要に応じて保存中の機密データを暗号化する(データベース、ファイル、エクスポート、バックアップ)。 | |
| 暗号化キーを保護する(保管、アクセス制御、ローテーション、失効)。 | |
| 接続プロパティを暗号化する。暗号化された接続文字列を生成する(平文のシークレットは使用しない)。 | |
| 脆弱な暗号化方式(例:DES/3DES)を検出し排除する。堅牢なモードを強制する。 | |
| 廃止されたハッシュ(例:SHA-1/MD5)を検出し排除し、堅牢な代替手段を強制する。 | |
| セキュリティポリシーに対して暗号の強さ(鍵サイズ、動作モード、パディング)を検証する。 | |
| ロール/権限によるアクセスを厳しく制限し、機密データへの露出を減らす。 | |
4. ネットワークプロトコル |
ネットワークフローと実際にネゴシエートされたプロトコル(TLSバージョン、スイート、証明書)をインベントリ化する。 |
| 廃止されたプロトコルを削除する。TLS設定を会社のポリシーに合わせる。 | |
| 証明書検証とエラー処理(バイパスやサイレントダウングレードを許さない)。 | |
| 必要に応じて相互TLS認証(mTLS)を実装する(内部/パートナーAPI)。 | |
| プロキシ、ゲートウェイ、ネットワーク保護機能との互換性をテストする(RESTClient / HTTPClient)。 | |
| 準拠していない、またはレガシーなネットワーク呼び出しを検出し、その置換を優先する。 | |
5. 外部サービスおよびAPIとのやり取り |
統合(API、内部サービス、SMTP)および交換されるデータをインベントリ化する。 |
| 統合にはSOAP/INETよりRESTを優先する(RESTClient)。 | |
| SOAPが必要な場合は、TLS 1.2以上と強力な認証を備えたHTTPClientを使用し、レガシーSOAPクライアントは避ける。 | |
| HTTPClient/OAuthClientを使用し、ユーザー名とパスワードではなくトークンベース認証を採用する。 | |
| トークンおよび技術アカウントの権限を厳格に制限する(スコープ、権限)。 | |
| ハードコードされたシークレットを削除し、環境ごとに保管、ローテーション、失効を管理する。 | |
| 入力とパラメータにおける注入リスク(SQL、OSコマンド、パス)を検知し修正する。 | |
| 公開フロー(サービス、API、ファイル、メール)における入力の検証と出力のエンコードを実施する。 | |
| 機密操作(エクスポート、送信、重要アクション)の追跡と監視/アラート設定を実施する。 | |
6. 組み込みブラウザ |
ブラウザを埋め込んだ画面をインベントリ化し、期待されるコンテンツと許可されたURLを定義する。 |
| サポートされている最新のブラウザエンジンに移行し、廃止されたコンポーネントを削除する。 | |
| 信頼できないコンテンツに対するブラウジング、URLオープン、スクリプト実行を制限する。 | |
| 望ましくない実行を防ぐため、JavaScriptインタラクション(アプリケーションブリッジ)を管理する。 | |
| 本番環境でのリモートデバッグを無効化し、管理された診断に限定する。 | |
| 「Web」画面へのアクセスを制限する。 | |
| ウェブアクセスを監視し、異常な動作時に通知をトリガーする(トレーサビリティと監査)。 | |
7. ビルドと配布 |
明示的な合格基準を持つ標準パイプライン(ビルド、テスト、分析、署名、デプロイ)を定義する。 |
| バージョン管理と自動化を簡素化するためソリューション形式に移行する(Solution)。 | |
| マージ競合を減らしトレーサビリティを向上させるため、PB 2025+ へ移行する。 | |
| ビルドの再現性を確保(バージョン、依存関係、パラメータ)。バージョンごとの成果物とレポートを保持する。 | |
| パイプラインの技術アカウントを保護(最小権限、役割分離、監査)。 | |
| パイプラインのシークレットとキーを保護する(安全な保管、アクセス制限、ローテーション)。 | |
| すべてのビルドでSAST分析を工業化し、重大なルール違反が発生した場合はリリースをブロックする。 | |
| 本番環境での危険な慣行(例:コンソールログ出力)を回避し、例外を無視しない。 | |
| 開発/テスト/本番環境間でセキュリティ設定のデプロイを標準化する(不一致を回避)。 | |
8. 認証とアクセス制御 |
ID管理を集中化(AD/Entra ID)し、ローカルアプリケーションアカウントを削減する。 |
| 機密性の高いアプリケーションと特権アカウントには多要素認証(MFA)を有効化する。 | |
| 最小権限の原則に沿ったロールと権限を通じて権限をモデル化する。 | |
| 専用サーバー(Identity Server)を介して認証、認可、ログ記録を一元化する。 | |
| 重要な業務における職務分離(SoD)を実施し、競合を解消する。 | |
| 定期的なアクセス権限の見直しを実施し、証拠を保持する。 | |
| 監査対応の権限マトリックスを作成する(誰が何をアクセスできるか)。 | |
| 機密性の高いログインと操作(誰が、何を、いつ、どこで)をログ記録し、監視を一元化する。 | |
10. 現代的な基準への準拠 |
適用される基準とアプリケーションのコンプライアンス範囲を定義する。 |
| 要件を測定可能な管理措置と期待される証拠(レポート、ログ、アクセスレビュー)に変換する。 | |
| 証拠リポジトリを確立し、バージョン/環境ごとに履歴を保持する。 | |
| ガバナンスを標準化する(アクセスレビュー、例外管理、SoD(職務分離)の競合処理)。 | |
| 要件、統制、ツール、証拠を連携させた再利用可能な監査パックを構築する。 |
| 章 | 対策 |
|---|---|
5. 外部サービスおよび API との交換 |
アプリケーションがAPIを消費する場合:強力な認証と鍵/トークンのローテーション(OAuth 2.0) |
| アプリケーションがAPIを消費する場合:トークンのスコープと権限を制限する(OAuthClient) | |
| メールの場合:ネイティブメールサポートと最新認証方式を使用(SMTPクライアント/XOAUTH2) | |
| メールの場合:セキュアな中継(認証、TLS)、添付ファイルの制限、機密送信の追跡(XOAUTH2) | |
6. 組み込みブラウザ |
Web/HTMLコンポーネントの場合:コンテンツを制御し、信頼できないスクリプトを制限する(WebBrowser) |
| Web/HTMLコンポーネントの場合:レガシーエンジンをサポート対象エンジンに置き換える(WebView2) | |
7. ビルドとデプロイ |
工業化の場合:ビルドスクリプトとパイプラインオーケストレーションを標準化(PBAutoBuild) |
| より強力なQAの場合:分析結果に基づく受け入れ基準を構築(SAST) | |
8. 認証とアクセス制御 |
権限衝突がある場合:職務分離(SoD)ルールと是正措置を定義する |
| 組織が複雑な場合:組織構造を反映したユーザー・グループ階層を構築し、権限を委譲する。 | |
| 複数のディレクトリにIDが分散している場合:IDフェデレーションを実装する。 | |
| 組織が監査を実施する場合:権限マトリックスを生成・活用する(Permission Matrix) | |
9. PowerServerによるモダンアーキテクチャ |
クライアントからデータベースにアクセス可能な場合:PowerServerを用いたn層アーキテクチャへ移行 |
| アプリケーションがAPIを公開/利用する場合:API認証を標準化(OAuth 2.0) | |
| アプリケーションがAPIを公開/利用する場合:標準トークンを使用し、不正アクセスを制限する(JWT) | |
| サーバーサイド制御(認証、認可、ロギング)を集中化する。 | |
| 最も機密性の高いモジュールを優先して段階的な移行を計画する(プログレッシブ移行)。 | |
| サーバーコンポーネントをサポート対象の.NETバージョンに更新する(.NET)。 | |
| APIアクセス権限を管理し、監査レポートを生成する(権限/監査活動)。 | |
10. 現代的な標準への準拠 |
厳しい要件がある場合(金融、医療など):コンプライアンスガバナンスと正式な制御(監査活動) |
| 厳格な要件がある場合:監査証拠とその保持の工業化(権限マトリックス) |