• Adobe Readerの脆弱性は1月から攻撃に利用されていた

    Adobe Readerのセキュリティフィックスは2008/2/7にリリースされました。

    http://www.adobe.com/support/security/advisories/apsa08-01.html

    APSA08-01 Adobe RreaderとAcrobat8のセキュリティアップデート公開 02/07/2008

    しかし、次の記事によるとこの脆弱性を利用した攻撃は1月から始まっていたとしています。

    http://www.cio.com/article/182055/Attacks_Aimed_At_Adobe_Reader_Acrobat_Flaws_Intensify

    In January, iDefense noticed that the malicious PDF document was being delivered through malicious banner advertisements.

    この攻撃は悪意のあるバナー広告を利用し、バナーにアクセスしてPDFファイルをダウンロードし開いてしまうと、Zonebac(Symantecの名称)と呼ばれるトロイの木馬がダウンロードされるとしています。
    # プラグインで自動的に開いてしまう設定のブラウザは少なくない

    2006年から既知のプログラムであり、通常のアンチウィルスソフトで検出可能と思われます。トロイの木馬は実行しなければ被害は発生しないので実際に被害が発生したケースは少ないと考えられます。

    追記:
    整数オーバフローで任意コード実行だそうです。かなり危険度は高いと考えた方が良いようです。上記の記事では観測された攻撃はダウンローダーでダウンロードしただけだった、考えるべきでしょう。少なくともバナーをクリックしたらPDFが表示されたり、表示されかけた方は念入りにシステムをチェックするべきだと思います。もしステルス型のルートキットなら見つけるのはかなり難しいとは思います… 管理者権限で利用していなければルートキットのインストールやシステム関連設定の変更は難しいのですけどね…

  • Taint mode for PHP 5.2.5

    PHPのTaintモードパッチです。最近更新されていたようです。

    ftp://ftp.porcupine.org/pub/php/php-5.2.5-taint-20080130.README.html

    Taintモードはあれば良い程度の機能ですが、フールセーフ機能(フェイルセーフでなくフールセーフ – fool safe)としては便利です。入力バリデーション用のコードは必須ですが、そのようなコードが無い場合やあっても不完全な場合には有用です。

    PHP 5.2.5よりCVS HEADとPHP_5_3ブランチ用のパッチを作った方が採用されやすいのですが….

    このパッチは関数毎に違うマークを付けるtaintモードなのでかなり大きいです。(+遅い)

  • TomcatのCookie処理の問題

    脆弱性は意外と単純な所に残っている場合の方が多いです。

    http://nvd.nist.gov/nvd.cfm?cvename=CVE-2007-5333

    Apache Tomcat 6.0.0 through 6.0.14, 5.5.0 through 5.5.25, and 4.1.0 through 4.1.36 does not properly handle (1) double quote (“) characters or (2) %5C (encoded backslash) sequences in a cookie value, which might cause sensitive information such as session IDs to be leaked to remote attackers and enable session hijacking attacks. NOTE: this issue exists because of an incomplete fix for CVE-2007-3385.

    これだけだと解りづらいですが以下のURLにもう少し詳しく書いてあります。

    http://www.securityfocus.com/archive/1/archive/1/487822/100/0/threaded

    Examples:
    +++
    GET /myapp/MyCookies HTTP/1.1
    Host: localhost
    Cookie: name="val " ue"
    Cookie: name1=moi
    +++
    http://example:8080/examples/servlets/servlet/CookieExample?cookiename=t
    est&cookievalue=test%5c%5c%22%3B+Expires%3DThu%2C+1+Jan+2009+00%3A00%3A0
    1+UTC%3B+Path%3D%2Fservlets-examples%2Fservlet+%3B

    (さらに…)

  • ブログらしくブックマークなどに登録してもらう為のリンク追加

    たいした事を書くつもりが無かったので、読んでみたいと思っていただいた方や検索エンジンから見つけて読んでいただける方だけで良い、とブックマークサービスなどに追加するボタンを付けていませんでした。時代が時代なので遅ればせながら付けてみました。
    # と言っても自分自身はソーシャルブックマークサービスを利用していません。
    # 問題があったら教えてください。

    このブログに貼付けたボタン/リンクは、以下のサイトとURLから生成したかURLの情報を参考に作成しました。

    他にこれもというサイトがあれば教えてください。リモートのJavaScriptを読み込まないサービスであれば追加したいと思います。

    (さらに…)

  • ホワイトリストはどう作る?

    まずホワイトリストの基本中の基本は”デフォルトで全て拒否するであることに注意してください。全て拒否した上で許可するモノを指定しないとホワイトリストになりません

    例えば、CSPはホワイトリストで不正なJavaScriptの実行を防止する仕組みです。2016年のGoolgeの調査によると95%のCSP定義が、実際にはJavaScriptインジェクション脆弱性の防止に役立っていない、との調査結果を発表しています。原因はホワイトリストの作り方の基本、全て拒否した上で許可するモノを指定する、を理解していないことにあると考えられます。1

    私はいつも基本的に能動的なセキュリティ対策2を選択するようにお勧めしています。能動的なセキュリティ対策とは全ての入力値の厳格なバリデーション処理であり、出力時に過剰とも言えるエスケープ処理です。入力/出力の両方にホワイトリスティング対策をお勧めしています。3

    (さらに…)

  • OpenIDのライブラリにはCSRFに脆弱な物が多い

    GNUCitizenによると

    CSRF – It comes very handy. It seams that no matter how much you talk about it, very few pay attention on the problem. And it is not a problem that you can afford to have. And among the XSS issues, which most OpenID libraries have, CSRF (Cross-site Request Forgery) seams to be the most pervasive form of attack.

    http://www.gnucitizen.org/blog/hijacking-openid-enabled-accounts

    とほとんどのOpenIDのライブラリはCSRFに脆弱だそうです。

    tiny problemと書いてありますがとても重要な問題です。OpenIDのようなSSO (Single Sign On)システムが脆弱だとそれを利用しているシステム全体が危険にさらされます。

    (さらに…)

  • 企業ユーザはPHP4からPHP5への移行は慎重にすべき

    2008年1月3日のPHP4.4.8のリリースを持ってPHP4サポートが終了しました。海外では「PHP5へ移行しよう」キャンペーンも始まりました。

    私は従来から「PHP5へ早く移行すべきです」と繰り返し勧めて来ました。現在でも全てのオープンソースアプリケーションの開発者は、今すぐPHP5に移行すべき、と考えています。

    しかし、新規開発を除き、企業ユーザには今すぐPHP5へ移行すべきだ、と一概にアドバイスできません。3つのお薦めしない理由があります。

    • PHP4からPHP5へのマイグレーションはそれほど簡単ではない
    • PHP5に移行するとマイナーバージョンアップに追随しないとならない
    • PHP5.3のリリースが準備されている

    (さらに…)

  • ロケール問題を修復

    先日b2evolutionのアップグレードを行った際にロケールファイルの設定に漏れがあり普通に参照すると強制的にISO-8859-1への変換が行われ、????となってしまっていました。

    この辺りの仕様はおかしな所もあるので、普通に動作するようパッチを書いて送る事にします。

    問題をご連絡頂いた皆さん、ありがとうございました。

    追記:
    ついでに前から気になっていたURLも修正しました。

    http://blog.ohgaki.net/index.php/yohgaki/article

    といった感じでしたが

    http://blog.ohgaki.net/article

    でアクセスできるようにしました。もちろん前のURL形式でアクセスしてもリダイレクトで表示できるようにしています。

    追記:
    さらにRefererスパム防止機能のため、はてなブックマークからのリンクをクリックするとSPAM防止用ページが表示されていました。この機能を無効にしたので「はてな」からもアクセスが容易になりました。問題を教えてくださった方、ありがとうございます。

  • どの言語で書いてもおかしなコードを書く奴は書く

    # 書きかけです。後で編集予定

    「Web屋のネタ帳」のどの言語で書いてもおかしなコードを書く奴は書くに対するコメントです。その記事にはRubyのまつもと氏のブログの引用もあるのでそちらにも対するコメントでもあります。

    言語が良いコードを書けるようサポートする事はできると思います。しかし、言語だけによって良いコード(安全なコード、メンテナンスし易いコードなど)が書けるようにはならないのではないでしょうか? 言語だけでは不十分だからです。

    (さらに…)

  • 正しいメールアドレスのチェック方法

    正しいメールアドレスのチェック方法がちょっとした話題になっているようです。Web屋のネタ帳でも取り上げられていますが、メールアドレスのチェック方法自体は解説していません。ついでなので書いておきます。

    「本当に正しいメールアドレスかチェック」するには実際にメールを送信して、送信されたユーザしか知り得ない情報をユーザが知っている事により確認しなければなりません。これはWeb屋のネタ帳で解説されている通りです。

    (さらに…)

  • Linux/Apacheを狙った攻撃 – 確認方法はmkdir 1

    OpenTechPressにLinux/Apache系Webサイトを狙った正体不明の攻撃についての現状報告と気になる記事があります。

    この攻撃ですが、結構話題になっていて私のブログでも先日FTPとCPanelユーザはクラッキングに注意が必要と題したエントリを公開しています。OpenTechPressの記事中にもcPanelの件は紹介されていますが、非常に気になる記述がある

    問題のルートキットを検出する方法ないし、感染の確認されたサーバの洗浄法についてアドバイスが得られないかをApache Software Foundationに問い合わせてみたが、Apacheのセキュリティ対策チームに属するMark Cox氏から得られたのは、「現状で攻撃者側がサーバ群のルートアクセスを得た方法の詳細はつかみ切れていませんが、同時にApache HTTP Serverに潜む脆弱性に起因していることを示す証拠も得られていません」という回答である。

    Linuxサーバにルートキットがインストールされるらしい。そしてその確認方法は

    感染後は数字で始まるディレクトリの新規作成が行えなくなるとされている(例えば「mkdir 1」など)。

    としています。ルートキットなのでps uaxなどとしてもプロセスリストには出てこないはずです。本当にmkdir 1でファイルが作れないなら試してみるのも良いかもしれません。ただし、mkdir 1でファイルが作れないのはルートキットのバグと考えられるます。最新版では修正済かもしれません。記事に紹介されているようにパケットをモニタリングする方法の方が確実でしょう。

    rootのパスワードを推測した可能性が高いと記載されていますが本当のところはどうなのか気になります。

    この攻撃のすごいところは、その手法がかなり洗練されている点です。

    How a Rootkit works
    1. Once the Rootkit is successfully installed, the server will sit idle until rebooted. During a server reboot, the system initialization scripts will call the infected binaries.
    2. When executed, the infected binary packages use /dev/mem as a pathway to the Kernel, and then attach to several system calls within the running Kernel. This results in hidden files, broken binary packages, and random JavaScript code being seen by web visitors.
    3. When the system is fully online in an infected state, the Kernel will begin serving a JavaScript payload to random web requests/visits. This occurs outside of Apache and will not be seen in any of the Apache logs. The JavaScript injection will look like:
    <script language=’JavaScript’ type=’text/JavaScript’ src=’cbolw.js’></script>

    http://servertune.com/kbase/entry/258/

    ApacheやPHPなどのWebアプリケーションレベルで攻撃用のJavaScriptを送信しているのではなく、ルートキットがインストールされたカーネルから送信している、としています。

    アプリケーションレベルはもちろん、Apacheのログにも残らず、不審なファイル/プロセスも見えないこの攻撃はかなりの脅威です。

  • 最大のP2PネットワークはThePrivateBay


    The Pirate Bay Breaks 10 Million Users

    10 million simultaneous users represents a number never duplicated by any file-sharing entity. The largest P2P networks, such as FastTrack and eDonkey2000, both topped out with approximately 5 million users.

    1000万「同時」ユーザだそうです。これはすごい数です。基本的にはキャッシュを効かせてリバースプロキシの効果を最大限に利用して… といった感じなのだとは思います。しかし、検索機能もあり試しに検索しても遅くないです。

    もう少し覗いてい見ると日本のコンテンツはあまりないようですが、海外のコンテンツは豊富なようです。また、アダルトコンテンツが公開のページには無いようでそれが人気の理由なのかな、と思います。

    確か一度閉鎖されたことがあるサイトだったと思うので調べるとありました。
    http://ccr2.blog9.fc2.com/blog-entry-1761.html
    今はどんな状態で運用しているのでしょうね?

    コンテンツの著作権をもつ方々はこのような状態にどのように対処するか思案が必要でしょう。基本的にはDRM無しで広告収入で儲ける合法的な手法を提供するのが良いと思います。無料コンテンツはビットレートが低い物、ビットレートが高い物は有償で、といった感じが良いのではないかと思います。しかし、ビットレートが高い物を有償化しても、ビットレートの高いデータその物がまた違法に公開されるので意味が無い、となってしまうかも知れません。どう折り合いをつけるか難しいですね。

  • 日本PostgreSQLユーザ会北海道支部 / Ruby札幌 合同セミナーのお知らせ

    2月16日(土)に、日本PostgreSQLユーザ会(JPUG)北海道支部とRuby札幌の合同セミナーが開催されます。

    日本PostgreSQLユーザ会北海道支部 / Ruby札幌 合同セミナーのお知らせ

    私も講師の一人として参加させて頂きます。PostgreSQLとMySQLのベンチマークについて話す予定です。ご都合がよい方はお越しください。

    有料と聞いていないので無料セミナーだと思います。アナウンス文には無料と記載されていないので主催者に問い合わせてみます。

    追記:
    現在は無料であることがアナウンス文に追加されています。

  • エントリのコメントに評価をつけてみました

    最近のb2evolutionのフィードバック(コメント)には評価を記録できるようになっているので有効にしてみました。辛口評価コメントも歓迎です。どれが役に立ったのか、立たなかったのか、などはいろいろと参考になります。

    「書かない日記」の「書かない」には

    • 詳しく書かない
    • あまり書かない
    • きちんと書かない

    の3つの「書かない」の意味があるのですが酷すぎる場合はコメントを入れていただければそのエントリ分の追加は努力します。

    と書いて今思い出しました。DNS Rebinding攻撃の書きかけエントリに追記するのを忘れていました…

    追記:
    試しに入れてみるとフィードバックとして取り扱われるのでモデレートされます。SPAM以外は全部公開しているので安心(?)してください。公開してほしくないコメントの場合、非公開で、と書いておいてください。

  • Ruby on Rials – Session Fixation脆弱性の攻撃方法

    前回に引き続きWeb関係のセキュリティ脆弱性がどのように攻撃されるのか解説した記事がThinkITに掲載されています。

    今回はRuby on Railsの脆弱性が対象です。Ruby on Railsにもいくつかのセキュリティ脆弱性が報告されていますが、URLベースのセッションがいかに脆弱であるか解説しています。

    解説対象の脆弱性
    http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-5380
    http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6077

    (さらに…)