コードレビュー・セキュリティ

PowerBuilderにおけるOWASP Top 10:カバレッジと検出

PowerBuilderのコードはOWASP Top 10が示す複数のリスク(インジェクション、暗号化の失敗、ハードコードされた認証情報、安全でない構成)にさらされています。Visual ExpertはこれらすべてをPowerScriptと組み込みSQLの中で直接検出し、OracleおよびSQL Serverのコードにも同じチェックを適用します。

以下の表は、該当するOWASP Top 10の各カテゴリと、それを検出するルールを対応付けたものです(まずPowerBuilderから)。

PowerBuilderのカバレッジ: A01A02A03A05A06A07
A01

アクセス制御の不備

Visual Expertのルール 深刻度
ユーザー入力はパスインジェクションやパストラバーサル攻撃を許してはならない 重大
A02

暗号化の失敗

Visual Expertのルール 深刻度
AES暗号化アルゴリズムは常に安全なモードで使用すること 重大
暗号学的ハッシュ関数はSHA-1またはMessage-Digestアルゴリズムを使用してはならない 重大
DES(Data Encryption Standard)または3DESを使用してはならない 重大
暗号化アルゴリズムは適切な安全なモードとパディング方式を使用しなければならない 重大
暗号鍵は十分な長さを持たなければならない 重大
暗号鍵をハードコーディングしてはならない 重大
A03

インジェクション

Visual Expertのルール 深刻度
データベースクエリはインジェクション攻撃に対して脆弱であってはならない 重大
OSコマンドはインジェクション攻撃を許してはならない 重大
A05

セキュリティの設定ミス

Visual Expertのルール 深刻度
IPアドレスをハードコーディングしてはならない 重大
CoSetProxyBlanketやCoInitializeSecurityを使用してはならない 重大
本番環境ではコンソールログを使用してはならない 軽微
A06

脆弱で古くなったコンポーネント

Visual Expertのルール 深刻度
OLE Webブラウザは使用すべきではない(もはや安全ではない) 重大
A07

識別と認証の失敗

Visual Expertのルール 深刻度
ユーザーIDとパスワードをハードコーディングしてはならない 重大
DoS

Top 10を超えて

OWASPがTop 10:2021のリスト外で文書化しているサービス拒否(DoS)のパターンです。

Visual Expertのルール 深刻度
正規表現はサービス拒否攻撃(ReDoS)を許してはならない 重大

自社のPowerBuilderコードをこれらのルールでスキャンする

Visual Expertは、問題が本番環境に到達する前に、PowerBuilder、Oracle、SQL Serverのコードを検査ルール一式と照合してチェックします。

Visual Expertを無料で試す すべての検査ルールを見る

OracleをバックエンドとするPowerBuilderアプリケーションの場合、Visual ExpertはPL/SQL層を同じOWASPカテゴリで解析します。

OWASPカテゴリ Visual Expertのルール 深刻度
A02 暗号化の失敗 DESまたは3DESの使用 重大
A02 暗号化の失敗 SHA-1およびMessage-Digestハッシュアルゴリズムはセキュアなコンテキストで使用してはならない 重大
A03 インジェクション 動的なコード実行はセキュリティ上重要な操作である 重大
A05 セキュリティの設定ミス SYSスキーマが所有する機密関数を使用してはならない 重大
OWASPカテゴリ Visual Expertのルール 深刻度
A02 暗号化の失敗 SHA-1およびMessage-Digestハッシュアルゴリズムはセキュアなコンテキストで使用してはならない 重大
A03 インジェクション 動的なコード実行はセキュリティ上重要な操作である 重大
A05 セキュリティの設定ミス ハードコードされたIPアドレスはセキュリティ上重要な問題である 軽微

Visual Expertは、OWASP Top 10の範囲外ではあるものの、データベースコードにおけるリスクと技術的負債を軽減するルールも適用します。

Oracle

Visual Expertのルール 深刻度
DELETE文とUPDATE文にはWHERE句を含めなければならない 重大
NULLを返しうるサブクエリをNOT IN条件で使用してはならない 重大
例外を無視してはならない 重大
例外処理にはWHEN OTHERS句を使用すべきである 重大
WHEN OTHERSを唯一の例外ハンドラーにしてはならない 重大
DBMS_OBFUSCATION_TOOLKITパッケージは削除されている 重要

SQL Server

Visual Expertのルール 深刻度
DELETE文とUPDATE文にはWHERE句を含めなければならない 重大
NULLを返しうるサブクエリをNOT IN条件で使用してはならない 重大
SQL Serverのセッション構成は追跡すべきである 重要

Visual ExpertはOWASPに準拠していますか?

Visual Expertは、PowerBuilder、Oracle、SQL Serverのコードに該当するOWASP Top 10の脆弱性カテゴリ(インジェクション、暗号化の失敗、ハードコードされた認証情報、安全でない構成)を検出します。それぞれをコード検査ルールによって報告します。

PowerBuilderにはOWASP Top 10のどのカテゴリが該当しますか?

PowerBuilderのコードについて、Visual ExpertはA01アクセス制御の不備、A02暗号化の失敗、A03インジェクション、A05セキュリティの設定ミス、A06脆弱で古くなったコンポーネント、A07識別と認証の失敗をカバーします。

PowerBuilderアプリケーションのOWASP脆弱性はどのように確認できますか?

PowerBuilder、Oracle、SQL Serverのコードに対してVisual Expertのコード検査を実行してください。PowerScriptと組み込みSQLをルールセットと照合し、該当するOWASP Top 10のパターンを、本番環境に到達する前に検出します。

セキュリティ監査、技術的負債のレビュー、あるいはコンプライアンス評価(NIS2、DORA、または社内のセキュリティポリシー)の準備において、この仕組みは汎用的なチェックリストを、自社のコードベースにおける具体的な検出結果に変えます。Visual ExpertはPowerBuilder、Oracle、SQL Serverの全コードに対してこれらのチェックを実行するため、問題は本番環境に到達する前に明らかになります。