タグ

RailsとSecurityに関するraimon49のブックマーク (13)

  • DNSリバインディング(DNS Rebinding)対策総まとめ

    サマリ DNSリバインディングが最近注目されている。Google Chromeは最近になってローカルネットワークへのアクセス制限機能を追加しており、その目的の一つがDNSリバインディング対策になっている。Googleが提供するWiFiルータGoogle Nest WiFiはデフォルトでDNSリバインディング対策機能が有効になっている。 DNSリバインディング対策は、攻撃対象アプリケーションで行うべきものであるが、ブラウザ、PROXYサーバー、リゾルバ等でも保護機能が組み込まれている。稿ではそれら対策機能の状況と対策の考え方について説明する。 DNSリバインディング(DNS Rebinding)とは DNSリバインディングはDNS問い合わせの時間差を利用した攻撃です。DNSのTTL(キャッシュ有効期間)を極めて短くした上で、1回目と2回目の問い合わせ結果を変えることにより、IPアドレスのチ

    DNSリバインディング(DNS Rebinding)対策総まとめ
  • 企業は安易なMastodonインスタンスの運用を避けるべきでは? - ただのにっき(2017-04-21)

    ■ 企業は安易なMastodonインスタンスの運用を避けるべきでは? たまにはセキュリティクラスタ的なことを書いてみる。最初は「安全なMastodonインスタンスの選び方」というタイトルだったんだけど「安全と安心は違うしなぁ」と思い、「安心な~選び方」にしていたんだが、ここ数日で「企業は自社インスタンスを立ち上げるべき!」みたいな煽りをよく目にすることになったのでこうした。 「おひとりさまインスタンス」を立てる記事がいくつも書かれ、さくらインターネットが提供するVPSで簡単にインスタンスを動かせるスクリプトを提供されたりして、この波にのって我が社も専用インスタンスを持とうって考えてる企業は多いと思う。すでにニッポン放送のインスタンス「Tuner」みたいな(非IT系)企業インスタンスができ始めている。 そりゃぁ他人・他社が運用するインスタンスにアカウント作って「公式でござい」なんてするより、

    企業は安易なMastodonインスタンスの運用を避けるべきでは? - ただのにっき(2017-04-21)
    raimon49
    raimon49 2017/04/22
    >本業でRailsアプリを運用しているWeb企業が、RubyとRailsを最新に保つために投入している労力がどれだけ大きいものか / Rails + Node + Reactは地獄感ある
  • ep16 Security (application) | mozaic.fm

    Theme 第 16 回のテーマは Security (application) です。 今回は @hasegawayosuke さんをお迎えして、 Web アプリケーションの開発技術が進化することによって、同じように変わっている筈のセキュリティに関して、その変化をどう考えればいいのか? 開発者とセキュリティ関係者のあいだで、足りてないと認識されているものは何か? それらをふまえてセキュリティをとりまく環境で「今何が起こっているのか」、そして「これからどうなっていくのか」について議論しました。 hasegawa さんがを書いてる件は、許可を取っておりカットしてません。公表して自分を追い込むメソッドだそうです w Show Note iframe で 2sh を表示す XSS CSRF SQL Injection E4X ES6 時代における Web 開発者とセキュリティ業界の乖離 CSP

    ep16 Security (application) | mozaic.fm
  • (翻訳) Ruby 2.2 のシンボル GC - FIVETEESIXONE

    Ruby 2.2 の新機能にシンボル GC というものがあります。 正直、「え、シンボルって GC されないから速いんじゃないの?なのにシンボル GC で Rails が速くなるとか話聞くけど、いったいどういうことなの?」という感じでサッパリ理解できてなかったのですが、その辺りの疑問に対してまとめられている記事がありました。 Symbol GC in Ruby 2.2 とても分かりやすく素晴らしい記事だと感じたので、許可をもらって以下に日語訳を公開します。 Symbol GC in Ruby 2.2 シンボル GC ってなに?それって気にしなくちゃいけないことなの? リリースされたばかりの Ruby 2.2 の大きな新機能として「インクリメンタル GC」が挙げられますが、もう1つの注目すべき新機能が、この「シンボル GC」 です。 もしあなたがこれまで Ruby の世界で過ごしてきたのな

    (翻訳) Ruby 2.2 のシンボル GC - FIVETEESIXONE
  • 正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう

    正規表現によるバリデーション等で、完全一致を示す目的で ^ と $ を用いる方法が一般的ですが、正しくは \A と \z を用いる必要があります。Rubyの場合 ^ と $ を使って完全一致のバリデーションを行うと脆弱性が入りやすいワナとなります。PerlPHPの場合は、Ruby程ではありませんが不具合が生じるので \A と \z を使うようにしましょう。 はじめに 大垣さんのブログエントリ「PHPer向け、Ruby/Railsの落とし穴」には、Rubyの落とし穴として、完全一致検索の指定として、正規表現の ^ と $ を指定する例が、Ruby on Rails Security Guideからの引用として紹介されています。以下の正規表現は、XSS対策として、httpスキームあるいはhttpsスキームのURLのみを許可する正規表現のつもりです。 /^https?:\/\/[^\n]+$/

    raimon49
    raimon49 2014/03/04
    >Rubyの正規表現機能は、デフォルトで複数行モードである / ひー。知らなかった。PHPも末尾が改行コードだと挙動が変わる。
  • Selfkleptomaniac — register_globals?そんなのデフォルトでオフですよ

    Blogging is a disease: selfkleptomania, your normal condition. About GPG Public Key Ruby on Railsのmass assignment絡みの脆弱性について、すごくよくまとまった記事。Railsで開発している人は必見ですね。 かつてPHPにはregister_globalsというこれと似た機能があり、現在はデフォルトでオフかつ5.4以降は廃止されたのですが、それまでは散々恐ろしい問題を引き起こしていました。PHPのウェブアプリケーションにセキュリティ問題が多いという評判が定着してしまったのは、これが主な原因といっても過言ではありません。PHPは何年もかけてようやく負の遺産を返済することができたのですが、Railsにはこのregister_globals相当の機能があり、今回見つかった脆弱性はかつてPH

    raimon49
    raimon49 2012/03/05
    歴史は繰り返すw
  • github の mass assignment 脆弱性が突かれた件

    Github に脆弱性。やった人は Rails に有りがちな脆弱性を issue に挙げていたが相手にされず、実際にそれを突いてきた。一見 childish だが、それだけ簡単に脆弱な実装がなされてしまうということだ。週明けの今日、Rubyist はまず関連情報に一読を。 — Yuki Nishijima (@yuki24) March 4, 2012 気になって調べたのでメモ。自分も気をつけないとなー。 Public Key Security Vulnerability and Mitigation - github.com/blog/ github に脆弱性があってそれが突かれたらしい。 Rails アプリにありがちな脆弱性の一つ、Mass assignment とかいうタイプの脆弱性である。 mass assignment 脆弱性とは mass assignment 脆弱性とは何か、

    raimon49
    raimon49 2012/03/05
    attr_accessibleに制限をしていない状態(デフォルト)だった
  • 徳丸本のあれこれを実践してみて気付いたこと | 水無月ばけらのえび日記

    更新: 2011年7月9日23時0分頃 とあるシステムで徳丸のストレッチングを採用することにしたという話がありましたが、その実装が佳境に入ってきました。私は指示だけ出して、実装はお任せ……と思っていたのですが、基的な部分を作ってもらったところでバトンタッチされ、私が引き継ぐ形で実際にコードを書くことになりました。 基的には徳丸 (www.amazon.co.jp)のオススメどおりの実装にするという方針なのですが、実際にコードを書いてみると、いろいろと気になったり迷ったりした事も出てきました。そのあたりを簡単にメモしておきます。 ※ちなみに、このシステムはRuby1.9.2 + Ruby on Rails3での実装なので、PHPのコードサンプルをそのまま使っているわけではありません。 ストレッチ回数をどう決めるのか徳丸327ページにあるコード例を参考にして実装。アプリケーションごと

    raimon49
    raimon49 2011/06/27
    計算量と計算回数の調整。ログイン失敗の応答時間も考慮する。
  • Railsの脆弱性: XML実体爆発攻撃 | 水無月ばけらのえび日記

    RailsでXMLリクエストのパースに使用されているREXMLに、DoS脆弱性が発見されました。XML entity explosion attackと呼ばれる攻撃手法により、ユーザから与えられたXMLを解析するようなアプリケーションをサービス不能(DoS)状態にすることができます。大部分のRailsアプリケーションはこの攻撃に対して脆弱です。 XML entity explosion attackというのは、実体宣言の中で別の実体を参照することを繰り返して実体参照の処理負荷を高める手法のようですね。掲げられているサンプルコードは短いですが、実体参照を展開するとデータは30メガバイトにもなります。展開の処理方法によっては、メモリをい尽くしてしまうのでしょう。 外部からXMLデータのPOSTを受け付けるようなサイトは注意……と言いたいところですが、XMLデータのPOSTを受け付けないはずの

    raimon49
    raimon49 2008/08/30
    >XML entity explosion attackというのは、実体宣言の中で別の実体を参照することを繰り返して実体参照の処理負荷を高める手法
  • どの言語で書いてもおかしなコードを書く奴は書く

    (Last Updated On: 2013年12月1日)# 書きかけです。後で編集予定 「Web屋のネタ帳」のどの言語で書いてもおかしなコードを書く奴は書くに対するコメントです。その記事にはRubyのまつもと氏のブログの引用もあるのでそちらにも対するコメントでもあります。 言語が良いコードを書けるようサポートする事はできると思います。しかし、言語だけによって良いコード(安全なコード、メンテナンスし易いコードなど)が書けるようにはならないのではないでしょうか? 言語だけでは不十分だからです。 「どの言語で書いてもおかしなコードを書く奴は書く」とは昔から言われてきた事です。同じ人がおかしなコードを書きつづける場合もあるとは思いますが「どの言語のユーザでもおかしなコード(危険なコードであったり、メンテナンスが難しいコード、無駄が多いコード)を書く人はいるものだ」の意味で使われていると思います。

    どの言語で書いてもおかしなコードを書く奴は書く
    raimon49
    raimon49 2008/02/03
    言語としての柔軟さ。
  • Webアプリケーションセキュリティフォーラム - Journal InTime(2007-07-05)

    _ Webアプリケーションセキュリティフォーラム というわけで、発表して来た。 スライド(PDF) スライド原稿(RD) 自分の発表はともかく興味深い話を色々聞けてよかった。 とくに奥さんと高木先生のバトルが面白かった。 追記: リクエストがあったのでバトルの内容について少し。 (曖昧な記憶に基づく再現で言い回しは違うと思うし、内容にも私の勘違いがあるかもしれません。念のため) 高木先生 Greasemonkeyの説明の部分がよく聞こえなかったんですが。 奥さん (内容を説明) 高木先生 ええと、「クッキーが漏洩する程度なので問題ない」と聞こえたような気がしたんですが。 私の心の声 (最初から聞こえてたんじゃ…) 奥さん ローカルファイルにアクセスできたり、任意のコマンドを実行されたりするのに比べれば、ということですね。 高木先生 いや、それは違うと思うんですよ。銀行サイトのクッキーが漏洩

  • http://www.quarkruby.com/2007/9/20/ruby-on-rails-security-guide

  • 1