PHP 5.2.3リリース

PHP 5.2.3リリース

日本語環境でMySQLを利用している方には、リリースノートに記載されているmysql_set_charset()の追加に重要な意味がある方も多いと思います。

Added mysql_set_charset() to allow runtime altering of connection encoding.

PHP4にはまだ追加されていませんがかなり重要なセキュリティフィックスだと思います。mysql_set_charset()はlibmysqlのmysql_set_character_set()の簡単なラッパー関数です。

http://dev.mysql.com/doc/refman/4.1/en/mysql-real-escape-string.html

“If you need to change the character set of the connection, you should use the mysql_set_character_set() function rather than executing a SET NAMES (or SET CHARACTER SET) statement. mysql_set_character_set() works like SET NAMES but also affects the character set used by mysql_real_escape_string(), which SET NAMES does not”

つまりSET NEMESだと文字エンコーディングを利用したSQLインジェクションに脆弱となる可能性があります。共有型サービスを利用されている場合、SET NAMESを使用している方も多いと思います。

ググってみると2005年11月には日本のMySQLユーザ会MLでは問題が認識されていたようです。

PostgreSQLカンファレンス2007

明日開催されるPostgreSQL2007は会場費等の為に2000円でローソンチケットでチケットを販売していました。ローソンチケット分は完売で現在購入できないそうです。しかし、当日券を会場にて販売(当日券は3000円だそうです)するそうです。もしチケットを入手できなかった方は現金で購入できるそうです。領収書も発行できるので仕事の都合がつく方は是非お越しください。

PostgreSQLカンファレンス2007

最近忙しすぎてブログの更新が全くできない状態がつづいていますが、PostgreSQLカンファレンス2007が2007/6/5(火)に秋葉原UDXにて開催されます。私もRoom C(定員60名: 16:00~16:55)で講師を務めさせていただきます。私がメールを読んでいなかった為、私の資料は印刷物には入っていません… この為当日自分で持って行くことになってしました…
# 関係者の皆様、ご迷惑をおけしました。

Room C(60名)16:00~16:55
WEB+DBアプリケーションのセキュリティ(仮)
PHPユーザ会/日本PostgreSQLユーザ会
大垣靖男 様

セキュリティ対策はまず基礎知識から、ということでPostgreSQLを安全に利用するための基礎知識を解説させていただきます。今回は初めてデモを予定しています。SQLインジェクションに脆弱だといかに簡単に不正にデータを取得したり、データベース設計を解析できるかをデモンストレーションする予定です。SQLインジェクションに再確認されたい方、SQLインジェクションは知っているがどの程度の攻撃が可能か詳しく知らない方であれば、PostgreSQLユーザのみでなく、全てのSQLデータベースを利用されている開発者に有用な講演になると思います。

ローソンチケットによるとまだチケット(2000円です。会場費などに利用されます)は買えるようです。いろいろ有用なセミナーがそろっています。都合が良い方は是非お越しください。

CAPTCHAをお金で…

SPAMはお金になる、ということでCAPTCHAを解読して売っているそうです。

1000のCAPTCHAを解読して7~15$だそうです。一時間に数百くらいしか解読できないと思われるので、日本なら普通のバイトの方がよっぽど儲かります。しかし途上国では特別なスキルなしに収入になるのでこのような低報酬でも十分です。

CAPTCHAも使い物にならなくなるとSPAM対策は非常に難しくなります…

VMWare上のUbuntu 7.0、CentOS5

VMWare上にUbuntu 7.0をインストール(正確には6.xから7.04にアップグレード)してみました。6.xのときからvmwareのマウスドライバがインストールされないため、ホスト・ゲストOS上でマウスカーソールが移動できませんでした。

あまり気にしていなかったのですがCentOS5をゲストOSとしてインストールしても同じようにマウスポインタが移動できません。さすがに2つのゲストOSでマウスポインタが思ったように動作しないのは面倒なので調べてみることにしました。

CentOS5の/etc/X11/xorg.confをvmwareのマウスドライバを使用するようにすると動作するようになりました。

Section "InputDevice"
Identifier "Mouse0"
Driver "vmmouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "IMPS/2"
Option "ZAxisMapping" "4 5"
EndSection

Ubuntuの方はvmmouseドライバを指定するとドライバファイルが見付からないためXが起動しなくなりました。

ln -s /usr/lib/vmware-tools/configurator/XOrg/7.0/vmmouse_drv.so /usr/lib/xorg/modules/input/vmmouse_drv.so

とするとドライバをロードしマウスが期待どおり動作するようになりました。Ubuntu 7.0のXorgは7.2ですが7.0のドライバでも問題なく動作するようです。

MOBPを訳し終えて

もう何年か前になりますがStefanさんがPHPプロジェクトへの貢献を始めたころ「整数オーバーフローの修正はセキュリティ脆弱性なのでそのことを明記すべき」と指摘した事がありました。信じがたいかもしれませんが「攻撃可能かどうか分からないし脆弱性でなく普通のバグ修正だ」と主張する開発者がいたためPHPのこの手のヒープオーバーフローセキュリティ修正は「fixed crash」とCVSログに書いてあるだけの場合が多く、NEWSファイルにも記載されない事が当たり前になっていました。

もっと読む

.xxxドメイン却下

ここ数年間、議論されていた.xxxドメインが却下されたそうです。当然です。ほとんどフィッシングくらいにしか使われていない!? .infoや.bizよりも悪いドメインになりそうだった.xxxドメインが却下されて何よりです。

新しいTLDはほとんど必要ないし、作って利益があるのはインターネットを利用するユーザでも、サービスの提供者でも無く、フィッシングをする悪人、屋号・商標などを登録して悪用(たとえば恐喝まがいのドメインセールス)する悪人またはレジストラだけです。

IDNも至極迷惑なのですべてのブラウザがデフォルトで無効にしてほしいくらいです。標準に準拠しなくなる!という議論もあると思いますが、今のブラウザは標準準拠していない機能ばかりです。どうせ標準に準拠していないのでIDNに準拠しない方が問題が少なくなる、と考えている人も少なくないと思います。

ha.ckers.orgに載っていたのですがSSLをURLに含めたフィッシング、たとえば

http://evil.example.com/www.target.com/ssl/foo/bar/

も一定の効果があるようです。何故なら、「Look for correct domain」(正しいドメイン名か確認せよ)、「Look for SSL」(SSLであることを確認せよ)と言われているからです。一般のユーザにとってSSLは何の意味もないことが多く、httpsがURLの先頭にあるとSSLになる事も知らない場合が多いのです。フィッシングを成功させるには一部のユーザをだますだけでも十分です。

エンドユーザが安全にインターネットを利用するためにIDNが役に立つとは到底思えません。IDNが一般化すれば先ほどの馬鹿げた例よりもっと効率的にフィッシングできます。往々にしてコンピュータに詳しくないユーザがフィッシングに騙されやすく、新しいTLDやIDNでフィッシング被害に合う確率が高くなる、と予想できます。コンピュータに詳しくないユーザは、怪しいIDNリンクをクリックした後にxnで始まる名前に変換されても意味をなさない場合も多くあると予想できます。

さらに日本語のIDNドメインは安全性の問題は重大だと思います。たとえば、

http://テレビなら○○.com/
http://DVDなら○○.com/
http://○○のテレビ.com/
http://○○のDVD.com/
http://パソコンの○○.com/
http://家電のことなら○○.com/
http://安心の○○.com/
http://○○のユーザサポートコーナー.com/
http://○○のサポートサイト.com/
http://聞いて安心○○サポート.com/

複数の単語を使ったそれらしいフィッシング向きのドメイン名はいくらでも作れます。日本語ドメイン名にすることにより長いドメイン名でも違和感が少なくなります。適当に有名メーカ・ブランドの名前を○○に入れると騙されてしまうユーザはいくらでもいると思われます。匿名組合に投資して「パンフレットに有名企業の企業名とロゴがあったので信用したのに… 損失はその企業に補てんもらわねば」というお国柄です。マーケティングの事しか考えてない日本語ドメイン名が溢れ出すとどうしようもなくなります。

もしIDNの利用が増えるようであれば、有名企業はIDNを使わないことを宣言してユーザに注意を喚起しなければならないと思います。IDN以外のドメインも、サービスを提供しているドメインはメインサイトで一覧にするなどの処置をし「リスト以外のサイトはフィッシングサイトの可能性があるのでご連絡ください」などと協力をお願いする方が良いと思います。

とにかく、またTLDが増えなくて何よりです。IDNも無くなればよいのですが…

SPAM急増中…

このブログのコメント・トラックバックには日本語フィルタが追加されているのですが、今月からこのフィルタの回避方法に気が付いたと思われるSPAMMERから大量にSPAMがくる様になっています。ボットによる分散型なので効果的な対処情報はトークンを用いた方法くらいしかありません。自分で作っている時間がないのでとりあえず放置するしかないです。

コメント・トラックバックを頂いても気が付かない可能性が非常に高いです….