既にニュースとして流れていますので、ITに関わる人であればご存じだとは思いますが、セブン&アイ系決済サービスの7payが7月にサービスをスタートさせたばかりですが、セキュリティの問題で9月末でサービスを廃止する事を決定しました。
何が問題だったのか? というのはあちらこちらで論じられていますが、伝聞になるので当事者からのプレスリリース資料を確認すると経緯は以下の様になります。
ツールが全ての問題を解決してくれるわけではない。 でも、ツールは本来人がやらなくても良い作業を効率的に行ってくれる。 そして、人は人にしかできない事により注力すべき。 つまり、それがクリエイティビティ(創造性)。 システム開発におけるクリエイティビティを高めるお手伝いをしています。
2019年8月5日月曜日
2017年4月21日金曜日
.NET WEBアプリケーションで実行ボタンを押すとアプリケーションエラーになる
.NET WEBアプリケーションにて、トランザクションの実行ボタンを押した後にアプリケーションエラーになる。又、それ以降はメニューのボタンを押しただけでもアプリケーションエラーになる。という事象がありました。
エラーの内容は以下の通りです。
スタックトレースの内容は以下の通りです。
色々調べた所、Microsoft セキュリティ更新プログラム MS11-100が原因でした。これは、ASP.NETに対するサービス拒否攻撃に関する脆弱性対処だそうです。
簡単に言ってしまうと、サーバーにPOSTするデータの数が1000までに制限されています。今回のケースではトランザクションのWebFormに配置してある項目属性の数が多かったためでした。(1000=項目数ではありません。GeneXusが裏側で制御に使っているデータ等も含めての数だと思われます)
対処としては
但し、(2)に関しては、そもそもの発端が脆弱性に関する対処ですので、制限数を増やしてしまってはセキュリティレベルが下がります。
Webアプリケーションが外部に公開しているものであれば、選択肢は(1)になります。
逆に、社内で利用しているクローズドネットワーク上に配置しているのであれば、(2)もありだと思います。
(それでも社内クライアントが何らかのウイルスに感染して社内サーバーを攻撃し始めた時は防御出来ませんので、そのあたりのセキュリティポリシーを確認の上、対処を決めて下さい。)
エラーの内容は以下の通りです。
スタックトレースの内容は以下の通りです。
[InvalidOperationException: オブジェクトの現在の状態に問題があるため、操作は有効ではありません。] System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded() +2727926 System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encoding encoding) +61 System.Web.HttpRequest.FillInFormCollection() +148 [HttpException (0x80004005): URL にエンコードされたフォーム データが有効ではありません。] System.Web.HttpRequest.FillInFormCollection() +206 System.Web.HttpRequest.get_Form() +68 GeneXus.Http.HttpAjaxContext.LoadFormVars(HttpContext localHttpContext) +107 GeneXus.Http.GXHttpHandler.InitPrivates() +153 GeneXus.Http.GXHttpHandler.ProcessRequest(HttpContext httpContext) +157 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75 |
色々調べた所、Microsoft セキュリティ更新プログラム MS11-100が原因でした。これは、ASP.NETに対するサービス拒否攻撃に関する脆弱性対処だそうです。
簡単に言ってしまうと、サーバーにPOSTするデータの数が1000までに制限されています。今回のケースではトランザクションのWebFormに配置してある項目属性の数が多かったためでした。(1000=項目数ではありません。GeneXusが裏側で制御に使っているデータ等も含めての数だと思われます)
対処としては
- 画面上の項目数を減らす
- Web.configに下記の設定を追加し、制限数を増やす
| <appSettings> <add key="aspnet:MaxHttpCollectionKeys" value="1000" /> </appSettings> |
但し、(2)に関しては、そもそもの発端が脆弱性に関する対処ですので、制限数を増やしてしまってはセキュリティレベルが下がります。
Webアプリケーションが外部に公開しているものであれば、選択肢は(1)になります。
逆に、社内で利用しているクローズドネットワーク上に配置しているのであれば、(2)もありだと思います。
(それでも社内クライアントが何らかのウイルスに感染して社内サーバーを攻撃し始めた時は防御出来ませんので、そのあたりのセキュリティポリシーを確認の上、対処を決めて下さい。)
2013年5月27日月曜日
セキュリティスキャナーその2 - Security Scanner part 2
前回に引き続きSecurity Scannerの説明です。出典はこちらSecurity Scanner extension users manualです。Security ScannerのダウンロードはGeneXusマーケットプレイスから。
Parameter encryption #100
Security Scannerはナレッジベースの環境とオブジェクトをスキャンし、パラメーターが暗号化されているかどうか調べます。具合的には「Encrypt URL Parameters」プロパティが「Session Key」または「Site key」が設定されているかチェックします。(Noの場合は暗号化されない)
もし、Parameter encryption問題を発見した場合は下記のメッセージを表示します。
3.ルール定義
Parameter encryption #100
Security Scannerはナレッジベースの環境とオブジェクトをスキャンし、パラメーターが暗号化されているかどうか調べます。具合的には「Encrypt URL Parameters」プロパティが「Session Key」または「Site key」が設定されているかチェックします。(Noの場合は暗号化されない)
もし、Parameter encryption問題を発見した場合は下記のメッセージを表示します。
error: #100 in WebPanel1 >> Object parameters not encrypted
2013年5月22日水曜日
セキュリティスキャナーその1 - Security Scanner part 1
先の投稿「GeneXusにおけるWebアプリケーションセキュリティ対策 - OWASP 2010 Top10 Security Risks in GeneXus Applications」で出てきましたSecurity Scannerですが、これは開発したナレッジベースにセキュリティリスクの有無をチェックする為のGeneXusエクステンション(拡張モジュール)で、OWASP Top10 をベースにチェック・レポートしてくれます。
※[注意]現状はEvolution1のみ動作します。
Security ScannerエクステンションはGeneXusマーケットプレイスからダウンロードできます。(GxTechnicalアカウントの登録が必要です)
※[注意]現状はEvolution1のみ動作します。
1.Security Scannerのインストール
Security ScannerエクステンションはGeneXusマーケットプレイスからダウンロードできます。(GxTechnicalアカウントの登録が必要です)
| インストールは他のエクステンションと同様にGeneXusの 「ツール」メニューから「エクステンションマネージャ」を開きます。 |
2013年5月14日火曜日
GeneXusにおけるWebアプリケーションセキュリティ対策 - OWASP 2010 Top10 Security Risks in GeneXus Applications
最近よく質問を頂きます「GeneXus Webアプリケーションにおけるセキュリティ対策」に関して、OWASP Top10をベースに説明します。
まず、OWASPとはOpen Web Application Security Projectの略で、Webアプリケーションのセキュリティ向上を目的としてプロジェクトです。その中のOWASP Top 10プロジェクトがWebアプリケーションの脆弱性トップ10を公開しています。前回公開されたのが2010年版で、現在(2013年5月)は2013年版がRC(Release Candidate:リリース候補)版となっています。日本でもOWASP Japanとして活動しています。
一方、GeneXusとしてのWebアプリケーションセキュリティ対策状況はArtechのwikiサイト「OWASP 2010 Top 10 Security Risks in GeneXus Applications」にて公開されています。そのタイトルの通り2010年版がベースになります。今回はこの情報を元に対応状況を説明します。なにぶん英語の説明が回りくどいので直訳ではなく意訳をしています。翻訳や表現的に誤りを見つけた方はご連絡下さい。
又、説明の中で(Security Scanner #番号)という記述がありますが、これはArtech社が公開しているSecurity ScannerというGeneXusの拡張モジュールで、ナレッジベース内のセキュリティチェックを行いレポートしてくれるツールです。Security Scanner自身については別の機会に説明をしたいと思います。
登録:
投稿 (Atom)

