3.ルール定義
Parameter encryption #100
Security Scannerはナレッジベースの環境とオブジェクトをスキャンし、パラメーターが暗号化されているかどうか調べます。具合的には「Encrypt URL Parameters」プロパティが「Session Key」または「Site key」が設定されているかチェックします。(Noの場合は暗号化されない)
もし、Parameter encryption問題を発見した場合は下記のメッセージを表示します。
error: #100 in WebPanel1 >> Object parameters not encrypted
HTML format #101
Security Scannerは項目属性、変数そしてテキストブロックをスキャンし「Format」プロパティが「HTML」または「RawHTML」が設定されていないかチェックします。
もし、HTML format問題を発見した場合は下記のメッセージを表示します。
error: #101 in WWCountry >> Variable CountryName allows HTML
Authorization #102
Security ScannerはWebパネルとトランザクションオブジェクトをスキャンし、認証用プログラム(プロシージャオブジェクト)がCallされている事をチェックします。このルールはマスターページとWebコンポーネントには適用しません。
もし、Authorization問題を発見した場合は下記のメッセージを表示します。
error: #102 in WebPanel1 >> No authorization call found
SQL Command #103
Security Scannerはナレッジベース内のオブジェクトをスキャンしSQLコマンドを使用していないかチェックします。
もし、SQL Command問題を発見した場合は下記のメッセージを表示します。
error: #103 in Command >> SQL Command found in source
i.e.: SQL UPDATE UserInfo SET UserWelcomeMessage='[!&UserWelcomeMessage!]' WHERE UserId=[!&UserId!]
Link Command #104
Security Scannerはナレッジベース内のオブジェクトをスキャンしパラメータ無し動的Linkコマンドを使用していないかチェックします。
もし、Link Command問題を発見した場合は下記のメッセージを表示します。
error: #104 in WWCountry >> Parameterless LINK commnad found
i.e.: Link(&SomeWebPanel)
Http Protocol #105
Security Scannerはナレッジベースの環境とWebパネルをスキャンしHTTPSプロトコルを使用しているか調べます。具体的には「Protocol specification」プロパティに「Secure (HTTPS)」が設定されているかチェックします。
もし、Http Protocol問題を発見した場合は下記のメッセージを表示します。
error: #105 in WebPanel1 >> Http protocol is not Secure
Ajax Request Security #106
Security Scannerはナレッジベース環境とオブジェクトをスキャンし、Ajax callセキュリティが高になっているか調べます。具体的には「Ajax requests security」プロパティに「High」が設定されているかチェックします。
もし、Ajax Request Security問題を発見した場合は下記のメッセージを表示します。
error: #106 in WebPanel1 >> Ajax request security is not High
Web Components URL Access #107
Security Scannerはナレッジベース内のWebコンポーネントをスキャンし、URLアクセスが可能になっていないか調べます。具体的には「URL Access」プロパティが「Yes」に設定されていないかチェックします。
もし、Web Components URL問題を発見した場合は下記のメッセージを表示します。
error: #107 in WebPanel1 >> Web Components with URL Access enabled
C# or Java native code usage #108
Security Scannerはナレッジベース内のオブジェクトのソースセクションをスキャンし、Javaコマンド又はCSharpコマンドが記述されていないか調べます。
もし記述が見つかった場合は下記のメッセージを表示します。
error: #108 in NativeCodeObjectSample >> Native Code usage found in source
HttpResponse data type usage #109
Security Scannerはナレッジベース内のオブジェクトの変数セクションをスキャンし、HttpResponseデータ型を変数として使用しているかチェックします。
もし記述が見つかった場合は下記のメッセージを表示します。
error: #109 in WebPanelSample >> HttpResponse Data Type usage in variables
#109: Name 'response' Type 'HttpResponse'
LDAPClient GetAttribute method usage #110
Security Scannerはナレッジベース内のオブジェクトのソースセクションをスキャンし、LDAPClientデータ型の「GetAttribute」メソッドが使用されているか確認します。
もし記述が見つかった場合は下記のメッセージを表示します。
error: #110 in ProcedureSample >> LDAPClient GetAttribute method used in source
Directory data type usage #111
Security Scannerはナレッジベース内のオブジェクトの変数セクションをスキャンし、Directoryデータ型を使用しているか確認します。
もし記述が見つかった場合は下記のメッセージを表示します。
error: #111 in WebPanelSample >> Directory Data Type usage in variables
#111: Name 'd01' Type 'Directory'
File data type usage #112
Security Scannerはナレッジベース内のオブジェクトの変数セクションをスキャンし、Fileデータ型を使用しているか確認します。
もし記述が見つかった場合は下記のメッセージを表示します。
error: #112 in WebPanelSample >> File Data Type usage in variables
#112: Name 'f01' Type 'File'
XMLReader ValidationType property usage #113
Security Scannerはナレッジベース内のオブジェクトのソースセクションをスキャンし、XMLReaderデータ型の「ValidationType」プロパティが使用されているか確認します。
もし記述が見つかった場合は下記のメッセージを表示します。
error: #113 in ProcedureSample >> XMLReader ValidationType property not used in source
Shell function #114
Security Scannerはナレッジベース内のオブジェクトのソースセクションをスキャンし、Shell関数が使用されているか確認します。
もし記述が見つかった場合は下記のメッセージを表示します。
error: #114 in ProcedureSample >> Shell function found in source
Random function #115
Security Scannerはナレッジベース内のオブジェクトのソースセクションをスキャンし、Random関数が使用されているか確認します。
もし記述が見つかった場合は下記のメッセージを表示します。
error: #115 in ProcedureSample >> Random function found in source
SetCookie function #116
Security Scannerはナレッジベース内のオブジェクトのソースセクションをスキャンし、SetCookie関数が使用されているか確認します。
もし記述が見つかった場合は下記のメッセージを表示します。
error: #116 in ProcedureSample >> SetCookie function found in source
Form.HeaderRawHTML property #117
Security ScannerはWebパネルとトランザクションオブジェクトのソースセクションをスキャンし、「Form.HeaderRawHTML」プロパティが使用されているか確認します。
もし記述が見つかった場合は下記のメッセージを表示します。
error: #117 in WebPanelSample >> Form.HeaderRawHTML property found in source
Form.JScriptSrc property #118
Security ScannerはWebパネルとトランザクションオブジェクトのソースセクションをスキャンし、「Form.JScriptSrc」プロパティが使用されているか確認します。
もし記述が見つかった場合は下記のメッセージを表示します。
error: #118 in WebPanelSample >> Form.JScriptSrc property found in source
IsPassword property #119
Security ScannerはWebパネルとトランザクションオブジェクトのソースセクションをスキャンし、「IsPassword」プロパティが使用されているか確認します。
もし記述が見つかった場合は下記のメッセージを表示します。
error: #119 in WebPanelSample >> IsPassword Property enabled in WebForm
error: #119 in WebPanelSample >> IsPassword property found in source
error: #119 in WebPanelSample >> IsPassword property found in rules
External Object usage #120
Security Scannerはナレッジベース内のオブジェクトのソースセクションをスキャンし、外部オブジェクトが使用されているか確認します。
もし記述が見つかった場合は下記のメッセージを表示します。
error: #120 in ProcedureSample >> External Object usage in variables
#120: Name 'myMD5' Type 'md5'
User Control usage #121
Security ScannerはWebパネルとトランザクションオブジェクトのWebFormセクションをスキャンし、ユーザーコントロールが使用されているか確認します。
もし記述が見つかった場合は下記のメッセージを表示します。
error: #121 in WebPanelSample >> UserControl detected in WebForm
#121: Name 'HistoryManager' Type 'HistoryManager'
SDT.ToXml() pattern usage #122
Security Scannerはナレッジベース内のオブジェクトのソースセクションをスキャンし、SDTのToXML()が使用されているか確認します。
もし記述が見つかった場合は下記のメッセージを表示します。
error: #122 in ProcedureSample >> SDT.ToXml() pattern detected in source
4.ルール定義とOWASP Top10のマッピング
ルールが22個と多いので、OWASP Top10とどう関連付けられているのか分かりづらいです。OWASP Top10と22個のルールのマトリックを作成しましたので、ここに掲載します。
現在、Security ScannerはGeneXus X Evolution1のみに対応しています。これはScan対象となるプロパティがEvolution2では若干変更が出ているためです。又、OWASP Top10 2013も現在RC版であり、まもなくリリース版となります。恐らくArtech側もOWASP Top10 2013 リリース後にEvolution2対応版のSecurity Scannerを出してくると思われますので、その時はまた日本語訳を掲載したいと思います。
現在、Security ScannerはGeneXus X Evolution1のみに対応しています。これはScan対象となるプロパティがEvolution2では若干変更が出ているためです。又、OWASP Top10 2013も現在RC版であり、まもなくリリース版となります。恐らくArtech側もOWASP Top10 2013 リリース後にEvolution2対応版のSecurity Scannerを出してくると思われますので、その時はまた日本語訳を掲載したいと思います。
0 件のコメント:
コメントを投稿