Skip to content

OTR_VulnerabilityCountermeasurePoints

nishi_74322014 edited this page Oct 27, 2026 · 1 revision

脆弱性対策のポイント

概要

主な脆弱性に対して、Open 棟梁のどの機能を使って対策するかの対応表。
脆弱性対策そのものの考え方は、脆弱性対策のポイント(マイクロソフト系技術情報 Wiki)を参照。

詳細

対応表

脆弱性 一般的な対策 Open 棟梁で使う機能
SQL インジェクション SQLインジェクション対策 静的パラメタライズド・クエリ、動的パラメタライズド・クエリ、バッチクエリ作成支援機能
XSS XSS対策 Web Forms:バリデーション機能付きカスタム・コントロールのサニタイジング。MVC:Razor の自動エンコード
CSRF(XSRF) CSRF(XSRF)対策の実装方針 Web Forms:不正操作防止機能(POST)、画面遷移制御機能の GET 防止。MVC:ASP.NET の Anti-Forgery トークン

SQL インジェクション

  • 値はすべてパラメタ(SetParameter)で渡す。静的(.sql)も動的(.xml)も同じ。
  • ユーザ・パラメタ(SetUserParameter、静的の %名前%、動的の <VAL>)は文字列置換なので、ユーザ入力を渡さない。
    列名やソート順は、コード側の許可リストから選んだ値を渡す。
  • バッチクエリ作成支援機能は、パラメタ数の上限を避けるため値を SQL 内に組み込む。
    その代わり、文字列パラメタのエスケープ処理を実装している。

XSS

  • Web Forms では、バリデーション機能付きカスタム・コントロールのテンプレートをカスタマイズして、サニタイジング処理を追加できる。
  • MVC(ASP.NET Core MVC を含む)では、Razor の @ 出力が既定で HTML エンコードされる。Html.Raw の使用箇所を限定する。

CSRF(XSRF)

  • 不正操作防止機能・画面遷移制御機能は Web Forms 専用である(MVC の親クラスには無い)。
    • POST:不正操作防止機能(Request Ticket)。
    • GET:画面遷移制御機能の、画面遷移チェックにある GET 防止。
  • MVC では、ASP.NET 標準の Anti-Forgery トークン([ValidateAntiForgeryToken] など)を使う。

その他

コーディング・エージェントに任せる場合

  • SQL はスキル opentouryo-query-definition / Dao 系スキル、不正操作防止は opentouryo-app-design(references/illegal-operation-prevention.md)を使わせる。
  • エージェントのレビューでは、SetUserParameter / Html.Raw / ファイル・パスの組み立てを重点的に見る。

参考


Tags: 再構築

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki
開発基盤部会 Wiki

移行管理: DONE / TODO

Clone this wiki locally