タグ

サニタイズ言うなに関するt-murachiのブックマーク (4)

  • 悪いサニタイズ、良い(?)サニタイズ、そして例外処理

    先日のエントリ「処理開始後の例外処理では「サニタイズ」が有効な場合もある」は、素材の消化不足、私の表現の未熟等から、一部で誤解を招いてしまったようで申し訳ありません。アプローチを変えて、サニタイズについてもう一度考えてみたいと思います。結論から言えば、悪いサニタイズはあっても、「良いサニタイズ」はないと考えます。しかしながら、状況によっては妥協の産物としてサニタイズを使うことは、あり得ると考えます。 稿で用いる「サニタイズ」の定義 サニタイズという用語は、歴史的に都合の良いように使われてきた歴史があり、あらためてネット検索して見ると、当に多様な使われ方をしていると感じました。その様子は、高木浩光氏のブログ記事『「サニタイズ」という言葉はもう死んでいる』からも伺えます。 ここでは、議論の都合上、以下をサニタイズの定義として用いることにします。 サニタイズとは、 主にセキュリティ上の目的で

    t-murachi
    t-murachi 2012/04/04
    結局は捕捉がすべてだなぁ…。
  • 処理開始後の例外処理では「サニタイズ」が有効な場合もある

    このエントリでは、脆弱性対処における例外処理について、奥一穂氏(@kazuho)との会話から私が学んだことを共有いたします。セキュアプログラミングの心得として、異常が起これば直ちにプログラムを終了することが推奨される場合がありますが、必ずしもそうではないというのが結論です。 はじめに Webアプリケーションの脆弱性対策では、脆弱性が発生するのはデータを使うところであるので、データを使う際の適切なエスケープ処理などで対処するのがよいと言われます。しかし、処理内容によってはエスケープができない場合もあり、その場合の対処についてはまだ定説がないと考えます。 エスケープができない場合の例としては、以下があります。 SQLの数値リテラルを構成する際に、入力に数値以外の文字が入っていた メール送信しようとしたが、メールアドレスに改行文字が入っていた 入力されたURLにリダイレクトしようとしたところ、U

    t-murachi
    t-murachi 2012/03/30
    プログラム上の I/O として考えると、 Web アプリからの出力は HTML への入力であるとも考えられる。このケースでは HTML 生成時に HTML の仕様と UTF-8 の仕様を考慮する必要がある、と考えるのが本質なのだと思う。
  • 試訳 - コードをセキュアにする10の作法 : 404 Blog Not Found

    2008年01月05日02:45 カテゴリ翻訳/紹介Code 試訳 - コードをセキュアにする10の作法 全コーダー必読。プログラマーだけではなく法を作る人も全員。 Top 10 Secure Coding Practices - CERT Secure Coding Standards 突っ込み希望なので、いつもの「惰訳」ではなく「試訳」としました。 Enjoy -- with Care! Dan the Coder to Err -- and Fix コードをセキュアにする10の作法 (Top 10 Secure Coding Practices) 入力を検証せよ(Validate input) - 信頼なきデータソースからの入力は、全て検証するようにしましょう。適切な入力検証は、大部分のソフトウェア脆弱性を取り除きます。外部データは疑って掛かりましょう。これらにはコマンドライン引数、

    試訳 - コードをセキュアにする10の作法 : 404 Blog Not Found
    t-murachi
    t-murachi 2008/01/05
    敢えて言おう、「サニタイズ言うな」と。「適切なデータ」を送るべきなのであって、「サニタイズ」すればいいという考え方は危険。 / 「デフォルトで拒絶」は法にまで適用してほしくないなぁ。 / 元記事の写真は秀逸。
  • 「サニタイズ言うなキャンペーン」に癒されてみる: 国民宿舎はらぺこ 大浴場

    「サニタイズ言うなキャンペーン」私の解釈 (K.Maebashi's home page さま) 言いだしっぺの高木先生お墨付き。一応、原典についてもリンクを示しておこうかしら。 「サニタイズ言うなキャンペーン」とは何か (高木浩光@自宅の日記 さま) 続・「サニタイズ言うなキャンペーン」とは (同上) てゆか、「やっぱりそれでいいんだよなぁ」と内心「ホッとした」というのが正直な感想。 思うんだが、「セキュリティー対策」と「セキュリティーホール対策」は、分けて考えるべきだと思う。 「セキュリティー対策」ってのは、その名の通り、セキュリティーを積極的に向上する為の対策であって、主な内容としてはウイルス対策ツールの導入だとか、プライベートファイヤーウォールの導入だとか (Unix 風 OS の常識から言えば、ポートフィルタリングは施していて当たり前とも思うが)、パッチを自動更新するだとか、バッ

  • 1