カテゴリー: Computer

MOPB-01-2007:PHP 4 Userland ZVAL Reference Counter Overflow Vulnerability

“the Month of PHP Bugs”をできるだけ多くの方が読めるように、Stefanさんの承諾を得て日本語訳を公開しています。このブログの「the Month of PHP Bugs」カテゴリでMOPBの翻訳ページを一覧できます。分かりやすいように意訳できる部分は意訳します。厳密に原文の通り訳していないので正確性を重視される方は原文をご覧ください。

もっと読む

the Month of PHP Bugs開始

“the Month of PHP Bugs”が始まりました。できるだけ多くの方が読めるように、Stefanさんの承諾を得て、日本語訳を公開します。「the Month of PHP Bugs」カテゴリがMoPBの翻訳ページになります。

https://blog.ohgaki.net/tag/mopb

まずはトップページから翻訳します。分かりやすいように意訳できる部分は意訳します。厳密に原文の通り訳していないので正確性を重視される方は原文をご覧ください。念の為に記載します。私はPHPプロジェクトのコミッタですがHardened-PHP ProjectおよびMonth of PHP Bugsには関係がありません。日本のPHPユーザが置き去りにされないよう日本語訳を公開しているだけです。

誤訳、間違い、タイポなどがあった場合、指摘していただけると助かります。

http://www.php-security.org/

もっと読む

Month of PHP bugs

Stefanさんが公言していた通り、セキュリティホールの公開が3月から始まるそうです。

The Month for the “Month of PHP bugs” was choosen and it will be March. This means I will post every day in March information about one or more vulnerabilities within PHP.

PHPの開発者は知っているがPHPの利用者はあまり知らないセキュリティ上の問題などもどんどん公開すればよいと思います。(セキュリティホールとして直すつもりがない物もあったりするので… )

たぶん私も知らない脆弱性もあるはずです。この忙しい時に対応しなければならないので困ったものです。せめて4月にしてもらいたい…

PHP 5.2.1リリース

情報としては古くなっていますが、念のため書きます。PHP 5.2.1がリリースされています。

JP-CERTのアドバイザリ(JPCERT/CC REPORT 2007-02-07)にMODxのXSSが記載されていましたがこっちの方が重要性は高いと思われます。次のアドバイザリでは記載されるかもしれませんが、例によってPHP4は置き去りにされているので、記載されない可能性も高いと思います。私が編集者だったらどうするかかなり迷います。
# MODxはコードをチラッとみただけで試すのを諦めたのですが
# いろいろあるようですね。

時間ができたらCode Blogの方にいろいろ書いてみたいと思っています。
# いつできるか?が問題だったり….

SPAMをテーマにしたエントリにSPAM

皮肉な事にSPAMをテーマにしたエントリにSPAMがありました。

http://blog.ohgaki.net/index.php/yohgaki/2006/07/14/10a_ya_sa_sa_ia_sa_a_ra_a_ca_a_ma_a_a_ms#c14228
(ドメイン名にSPAMを付けてページランクに影響しないようにしています)

既にあるコメントをコピーして張り付ける、といった手口ですが適当にモデレートしていると許可してしまいそうな手口です。この手の手法を使ったSPAMはまだ少ないですが困ったものです。

このSPAMはコメントでしたがトラックバックにCAPTCHAを付ける訳にはいきません。またトラックバックの妥当性を検証するにはトラックバック先のURLを見て検証する必要がありますが、そのURL自体が罠ページになっていてブラウザのセキュリティホールを攻撃し任意コードを実行されたりリスクもあります。有名サイト、例えばgoogle.com等、をタイポするとブラウザの脆弱性を攻撃しマルウェアをインストールしようとするサイトがあるくらいなのでトラックバックSPAMで誘導するくらいの事はやりかねません…トラックバックは便利な機能ですがセキュリティ的には非常に脆弱な機能と言えると思います。

PostgreSQLでSHA1

MS Access 2003でSHA1を使おうと思ったらどうもうまく動作しませんでした。
.NETのmbcorlibにMD5,SHA1等のハッシュ関数が定義されていてVBからはMSDNに書いてるサンプルで動作するのですがMS AccessのVBAからはいろいろ試しても動作しませんでした。サンプル通りだとオブジェクトを生成する行でシンタックスエラーになり、多少変更しても動作しませんでした。
# 普段VBAでプログラミングはしないので私が無知なだけかもしれませんが…
# Windowsプログラマの方はハッシュはあまり使わない??

VBAでハッシュが使える方が良かったのですが、しかた無くPL/Pythonでハッシュ値を取得し返す関数を定義することにしました。

PL/Pythonの場合、

CREATE OR REPLACE FUNCTION SHA1HASH( TEXT ) RETURNS CHAR(40) AS ‘
import sha
hash = sha.new( args[0] )
return hash.hexdigest()
‘ LANGUAGE plpythonu;

言語を登録していない場合

CREATE LANGUAGE plpythonu;

を先に実行しておきます。8.0からplpythonはplpythonuに名前が変更されています。(Untrustedな言語なのでuが付く)

PL/Perlの場合は多分こんな感じ(こちらは試していません)

CREATE OR REPLACE FUNCTION SHA1HASH( TEXT ) RETURNS CHAR(40) AS ‘
use Digest::SHA1 qw(sha1);
return sha1($args[0]);
‘ LANGUAGE plperl;

同じようなコードでMD5, SHA256, SHA512等が簡単に作れます。

普通パスワードはハッシュ化したパスワードを保存するのでユーザ情報テーブルのパスワードフィールドはハッシュ値になっています。

SELECT * FROM user WHERE username = ‘USERNAME’ AND password = sha1hash(‘PASSWORD’);

といった感じでクエリできるようになります。アプリの言語側でハッシュが使える場合はアプリ側でハッシュ化する方が好ましいのですがVB等でライブラリが制限されている場合には便利かも知れません。

なぜPHPアプリにセキュリティホールが多いのか?

技術評論社の新サイトで「なぜPHPアプリにセキュリティホールが多いのか?」をテーマにブログ風の記事を掲載させていただく事になりました。第一回は「CVEでみるPHPアプリケーションセキュリティ」です。

http://gihyo.jp/serial/2007/php-security/0001

CVEをフォローしている方であればPHPアプリケーションの脆弱性レポートの多さが目立っていることはよくご存知と思います。何故CVEエントリが多いのか解説しています。よろしければご覧下さい。

技術評論社の須藤さんに編集していただいているので私が書いた文章より読みやすいです。

今、気が付いたのですが、SecurityForcusに次の様な記載がありました。

The problem is, PHP applications accounted for about 43% of the security issues in 2006, according to the National Institute of Standards and Technology (NIST).

http://www.securityfocus.com/columnists/427

数えると凡そ半分と言っても良いくらいPHPアプリの脆弱性レポートがあったのですね。

ミイラ取りがミイラに – Zone-H Defaced

Zone-Hのページが改ざんされたそうです。詳しくはこのエントリタイトルのリンク先を見て頂くとして

In a short recap, our faults were:

1) Having a staff member who was not wise enough to recognize a Hotmail XSS attack.

2) Not finding the uploaded, but useless at that time, php shell. Zone-H contains 80 gigs of files, but this no excuse.

3) Not acknowledging in time the JCE component advisory (and we all make our living by reading tons of advisories every day…)

だそうです。

攻撃には

HotmailのXSS
http://lists.grok.org.uk/pipermail/full-disclosure/2006-August/048645.html

Joomlaのローカルファイルインクルードバグ
http://secunia.com/advisories/23160/
(XSSとされていますがローカルファイルインクルードが可能なようです)

が利用されたようです。実際に攻撃を受ける場合の例として参考になると思います。

HotmailのXSSは

Hotmail/MSN Cross Site Scripting Vulnerability

Author: Simo64
Contact: simo64_at_morx_dot_org
Discovered: 07/25/2006
Published: 08/10/2006
Vendor: MSN.com
Service: Hotmail.com Webmail Service
Vulnerability: Cross Site Scripting (Cookie-Theft)
Severity: Medium/High
Tested on: IE 6.0, firefox 1.5 and Opera (should work on all
browsers)

と2006/7/25に発見され8/10には公開されていますが12月になっても修正されていなかったのですね… XSSはWebアプリにとって致命的な問題です。これほど長く放置されるのは問題ですね。

# 私はWebメールを信用していないので、メジャーなサービスの
# アカウントは持ってはいますが使っていません。
# Gmailも今年だけでも何回かXSS脆弱性が見つかっています。
# Webメールは便利ですがリスクも高い事を知るには良い事例
# です。
#
# 追記: http://www.itmedia.co.jp/enterprise/articles/0612/25/news019.html
# こんな意見もあるようです。さすがにこの手のフィッシングに騙されるとは
# 思いませんが、騙されないと思っている人の方が騙されやすい傾向にあるの
# で注意が必要?!

SkypeにWorm

SkypeにWormが発生しているらしい。ただし、脆弱性を利用した攻撃ではなく、大規模な感染も発生していないようです。チャットで問題のある「バイナリ(sp.exe等)をダウンロードして」とメッセージが送られ、ダウンロード&実行すると感染するそうです。(亜種あり)

Skypeに脆弱性か!と思いましたが脆弱性を使った攻撃ではないようです。チャットメッセージからダウンロードしたファイルから感染するのであれば日本では問題にならないでしょう。

以下、F-Secureのブログから

* There is something spreading on Skype, but only in limited numbers
* It is not exploiting a vulnerability in Skype but simply sending chat messages asking you to download and run the infected executable

しかし、Bot作りも大変ですね。この手のWormでそれほど多くのBotが作れるとは思えないのですが… Botではなく別の目的かな?

# ところで、これワームと言うよりトロイの木馬ですよね。

Full 64bit PPC Linux

テスト版ISOイメージはPS3へは普通(?)にインストールできていたようですが、私のPower Mac G5 Dualにはインストールができませんでした。最新版はインストールに成功(テキストモードですが)し、nvドライバを使ってXも使えるようになりました。取り合えず、ビルドだけは参加できる環境が整いました。
# パッケージの調整などは時間的に無理…

http://dist.momonga-linux.org/pub/momonga/test/PS3/

YDLは昔からフル64bitのPPC Linuxを有償で提供していたと思いますが、FC6などPPC64をサポートしているディストリビューションでもカーネルだけ64bitでアプリケーションは32bitパッケージになっていました。コミュニティで開発されているRPM系LinuxディストリビューションでフルPPC64はMomonga Linuxくらいだと思います。

以下はビルドしたパッケージのリスト。ppc.rpmでなくppc64.rpmとしてビルドされている。

-rw-r–r– 1 yohgaki yohgaki 682690 May 31 2006 rpm-4.4.2-5m.ppc64.rpm
-rw-r–r– 1 yohgaki yohgaki 788533 May 31 2006 rpm-build-4.4.2-5m.ppc64.rpm
-rw-r–r– 1 yohgaki yohgaki 1431640 May 31 2006 rpm-devel-4.4.2-5m.ppc64.rpm
-rw-r–r– 1 yohgaki yohgaki 1127865 May 31 2006 rpm-libs-4.4.2-5m.ppc64.rpm
-rw-r–r– 1 yohgaki yohgaki 70281 May 31 2006 rpm-python-4.4.2-5m.ppc64.rpm
-rw-r–r– 1 yohgaki yohgaki 2631610 May 31 2006 ruby-1.8.4-7m.ppc64.rpm
-rw-r–r– 1 yohgaki yohgaki 550121 May 31 2006 ruby-devel-1.8.4-7m.ppc64.rpm
-rw-r–r– 1 yohgaki yohgaki 640791 May 31 2006 ruby-doc-1.8.4-7m.ppc64.rpm
-rw-r–r– 1 yohgaki yohgaki 118636 Jun 1 2006 ruby-rpm-1.2.0-19m.ppc64.rpm
-rw-r–r– 1 yohgaki yohgaki 348576 May 31 2006 ruby-tcltk-1.8.4-7m.ppc64.rpm
-rw-r–r– 1 yohgaki yohgaki 197165 May 31 2006 sharutils-4.6.2-1m.ppc64.rpm
-rw-r–r– 1 yohgaki yohgaki 370292 Jun 2 2006 sqlite-2.8.17-1m.ppc64.rpm
-rw-r–r– 1 yohgaki yohgaki 230806 Jun 2 2006 sqlite-devel-2.8.17-1m.ppc64.rpm
-rw-r–r– 1 yohgaki yohgaki 471272 Jun 2 2006 sqlite3-3.3.5-1m.ppc64.rpm
-rw-r–r– 1 yohgaki yohgaki 461554 Jun 2 2006 sqlite3-devel-3.3.5-1m.ppc64.rpm
-rw-r–r– 1 yohgaki yohgaki 602679 Jun 1 2006 tar-1.15.1-2m.ppc64.rpm
-rw-r–r– 1 yohgaki yohgaki 999627 Jun 1 2006 tcl-8.4.12-1m.ppc64.rpm

ブラウザのシェア

このブログの場合はおよそ3割がFirefoxでIEのシェアは6割ほどです。もちろんほとんどが日本国内からのアクセスです。普段Firefoxを使っていますが自分のアクセスは計算されないようになっています。(実はアクセスが増えてきてIE比率が上昇していたります)

ブラウザのシェア(blog.ohgaki.netへのアクセス)

Hatenaなので一般的ユーザとは言えないかもしれませんが、今はFirefoxは2割超、IEは5割強。2005年12月でもFirefoxが1割以上ですね。
http://counter.hatena.ne.jp/sample/report?cid=11&date=2006-12-01&mode=summary&target=browser&type=monthly&view=

現時点ではIEのシェアはおよそ75%。
http://www.w3counter.com/globalstats/

セキュリティ系のサイトの場合、IEのシェアは半分以下の場合も多いと思います。
http://security-protocols.com/2006/12/10/my-firefox-vs-internet-explorer-statistics/

その他、検索して見つけたブラウザシェア情報を書いたページ
http://www.kkoba.com/blog/archives/2005/10/20059.shtml
http://www.spreadfirefox.com/node/23850
http://www.seo-equation.com/www/cat25/browser_market_share
http://lovesolid.com/nuc/item/243
http://salo919.lar.jp/modules/wordpress/index.php?p=48
http://taisyo.seesaa.net/article/28702371.html

2005年には依然日本ではIEが9割以上のシェアを持っているというレポートもあります。
http://www.websidestory.com/products/web-analytics/datainsights/spotlight/05-10-2005.html

こちらは2005年12月でおよそ10%のシェアとしています。
http://japan.internet.com/webtech/20060110/12.html

2006年1月の時点で12%のシェアがFirefoxとするレポートもあります。
http://internet.watch.impress.co.jp/cda/news/2006/01/23/10575.html

日本に限ればFirefoxなどのシェアはまだ低く、確かに日本では欧米に比べてFirefoxのシェアの伸びは遅れています。2006年になってから一般への普及も広がってきているように思います。

データが少ないので想像に近い値ですが、現在の日本のユーザのブラウザシェアは7割強がIE、2割がFirefox、1割弱がその他といったところが現実に近いシェアではないでしょうか?

ちょっとWebのことを知っている方(Web開発をメインでやっていないIT系の方など)は未だに「IEのシェアは国内では90%+で圧倒的、Firefoxは数%」と思っている方も多いようです。2005年にはメディアで「日本は欧米に比べFirefoxのシェアは低い」という情報が多かったことも原因と思われます。

どうもブラウザのシェアがどうなっているか、認識にずれが生じてきていると思います。

PostgreSQL 8.2 リリース

PostgreSQL 8.2がリリースされました。

主要な変更点

Among the features of this new version are:

* Higher performance (+20% on OLTP tests)
* Improved Warm standby databases
* Online index builds
* SQL2003 aggregates
* Improved TSearch2 with Generalized Inverted Indexes
* Support for DTrace probes
* Advisory Locks
* New ISN/ISBN and pgCrypto modules
* Selective pg_dump options

参考: アプリプログラマに影響が大きい変更点
http://blog.ohgaki.net/index.php/yohgaki/2006/09/29/postgresql_8_2_beta

PS3でも動作するMomonga Linux 3 for PPC64

Momonga Linuxメンバーの方がインストール可能なPPC64のDVDイメージの公開を準備中です。

rpm系では初!と思われる full 64bit(ppc64) の環境です。
Momonga ppc64 環境が初めて日の目を見るかも…

との事です。

私はISOイメージを手に入れたのでとりあえずDual G5のMacに入れてみよう。

Zero3 esにプレミアムバージョン

名刺リーダーが追加されて3000~4000円増しで発売されたのですね。知りませんでした。既に購入済みユーザーにも販売されるようです。連絡先に自動登録できるのかな? 名刺リーダーは欲しかった機能なので買います。

個人的には必要ないですがコレを見るとワンセグチューナーもあるようです。無線LANカードプロジェクタにつなげるオプションもあったり(MiniSDに付けるタイプはこちら)至れり尽くせりです。

電話としてはちょっと困る事(フリーズしたり)もありますが、お勧めの1台と思います。私の周りではZero3 es人口急増中です。

追記:
モニタに出力できるIMSV-841が買える場所がない、と思っていたらこんなページを見付けました。

http://kureyon88.seesaa.net/article/21568393.html

価格差が大きいですね。

Momonga Linux 3のX

Momonga Linux 2では普通にXも使えていたPCにMomonga Linux 3をインストールしたところXが起動するとZAPもVCへの切替えもできない状態になりました。インストールまでは通常通りGUIでインストールできたので設定の問題であることは明らかです。勘でDRIかな?とxorg.confを編集してdriモジュールをロードしないようにしたら普通に使えるようになりました。
# 当然DRIは使えませんが、Xは使えるようになりました。
# ディスプレイドライバはviaです。

もしインストール後にXが使えなくなった方、DRIを無効にしてみると良いかもしれません。

この他にもnVidiaカードを使っている方はxorg謹製のnvドライバを利用するよりvVidiaが提供しているドライバを使用した方が良いと思います。nvドライバだとXが全く動作しなかったり、少し動作してもすぐにおかしな状態になる場合あります。nVidiaが提供しているドライバもバージョンによって当たりハズレがあります。ハズレに当たるとどうやっても正常に動作しない事があります。私はIA32用(i686)の

NVIDIA-Linux-x86-1.0-9629-pkg1.run

を945チップセット+GeForce6600、TwinView有効で利用しています。特に問題もなく快適です。

IA64(x86_64)の場合、1.0-8776は当たり、1.0-9626はハズレだそうです。

参考:http://wiki.ohgaki.net/index.php?Momonga%20Linux%2FNVidia%20TwinView