エスケープファースト、この順序は変えられない
アプリセキュリティ対策の根本的なセキュリティ対策は教育です。セキュリティ対策を教育する場合、エスケープファースト(エスケープを一番)にすると最も高い効果を期待できます。汎用性もあり、自己解決する能力も付きます。
エスケープを無くせばOK、と勘違いして失敗した事例 XPath 1.0
昨日のブログでは.NETにはSQLのエスケープAPIが無いので、セキュリティ対策として本末転倒な状態になっている事を紹介しました。もう一つXPath 1.0の失敗例を紹介します。
IPAの「安全なSQLの呼び出し方」が安全になっていた
IPAは「安全なSQLの呼び出し方」(PDF)を以下のURLから公開しています。 http://www.ipa.go.jp/security/vuln/websecurity.html 「安全なSQLの呼び出し方」は危険である、とするエントリを書こうかと思い、内容を確認するとそうでもありませんでした。
根本的なセキュリティ対策とは?
何年間も下書きのまま塩漬けになっていたエントリを多少修正して公開します。 プログラミングではホワイトリスティングが基本ではプログラミング/システム開発とセキュリティに対する基本的な考え方をまとめて説明していませんでした。手短にこれらの基本的な考え方・解決策を紹介します。
スクリプトアップロード対策(追加)
スクリプトアップロード対策は既に書きましたが、書き漏らしていたので追加します。
WordPressの脆弱性調査プロジェクト Day of bugs in WordPress3 始まる
Full Disclosureに以下のようなメールが投稿されていました。 Day of bugs in WordPress3が始まるようです。
いまさら聞けないWebアプリセキュリティの基本ルール
C言語の最も重要なセキュリティの基本ルールは「メモリをきっちり管理する」です。もちろん他にもプログラミングをする上で注意しなればならない事は山ほどありますが、C言語でプログラミングする上で最も基本的なセキュリティのルールは「正確なメモリ管理」です。 Webアプリを作る上でのセキュリティの基本ルールは何でしょうか? 今回はWebアプリセキュリティはもっとシンプ…
フィルター/デコード時のセキュリティ対策の鉄則
ブラックリスト型(サニタイズ型)のセキュリティ対策クイズ 解答編 ではバリデーション時の注意点をまとめに書きました。 ホワイトリスト型のバリデーションを行う場合でも以下の項目に注意しなければなりません。 特殊な意味を持つ文字を許可する場合、細心の注意を払う そもそも特殊な意味を持つ文字は許可しない方が良い 絶対の自信が無いのであれば、特殊な意味を持…