Microsoft Excel の脆弱性により、リモートでコードが実行される

マイクロソフト セキュリティ アドバイザリが出ています。CVE-2008-0081です。
日本のセキュリティチームの Blog」にも出た模様。

■Excelの脆弱性
http://www.exconn.net/Blogs/team02/archive/2008/01/16/19661.aspx

■Microsoft Excel の脆弱性により、リモートでコードが実行される
http://www.microsoft.com/japan/technet/security/advisory/947563.mspx

ZFS Stability

Kernel Trapに面白い記事があった。
っていうか、ぜんぜん-current読んでねーな俺…。いかんいかん。と思いつつ時間は過ぎ去っていき仕事は増える…。

■ZFS Stability
http://kerneltrap.org/FreeBSD/ZFS_Stability

A recent thread on the FreeBSD -current mailing list discussed the stability of ZFS on FreeBSD. Scott Long noted that ZFS requires proper tuning to be stable:

“I guess what makes me mad about ZFS is that it’s all-or-nothing; either it works, or it crashes. It doesn’t automatically recognize limits and make adjustments or sacrifices when it reaches those limits, it just crashes. Wanting multiple gigabytes of RAM for caching in order to optimize performance is great, but crashing when it doesn’t get those multiple gigabytes of RAM is not so great, and it leaves a bad taste in my mouth about ZFS in general.”

ZFS was committed in April of 2007 by Pawel Dawidek who notes that he is using ZFS quite successfully on all of his systems. He then cautioned, “of course all this doesn’t mean ZFS works great on FreeBSD. No. It is still an experimental feature.” In response to some negative comments about ZFS on FreeBSD, Pawel noted, “in my opinion people are panicing in this thread much more than ZFS:) Let try to think how we can warn people clearly about proper tunning and what proper tunning actually means. I think we should advise increasing KVA_PAGES on i386 and not only vm.kmem_size. We could also warn that running ZFS on 32bit systems is not generally recommended.”

誤訳:FreeBSD -currentメーリングリストでの最近のスレッドで、FreeBSD上のZFSの安定性について議論された。ZFSは安定させるのに適正なチューニングが求められるとScott Longは注意する。

“ZFSについて不穏にさせられる要因はオールオアナッシング、つまり機能するかクラッシュするかの二者択一であることだと思う。自動的にリミットを認識しない上に、限界に達したときでも調整したり諦めたりをしない。クラッシュするだけだ。最適なパフォーマンスを目的としてキャッシュ用の複数のギガバイトRAMを要求するのはご立派だが、そのようなギガバイトRAMが得られない時にクラッシュするのは、とても戴けないし、一般的にZFSについて後味の悪い結果を残す。”

ZFSは2007年4月に自身のシステム上でZFSはまったく完璧に利用できていると言うPawel Dawidekによってコミットされた。当時彼はこう警告した。”もちろん、このことがFreeBSD上でZFSが立派に機能することを意味する訳ではない。むしろ、まだ実験的実装である”。一連のFreeBSD版ZFSに対する否定的なコメントへの反応として、Pawelはこう返した。”みんなこのスレッドで、ZFSよりもパニクってると思うよ:) ユーザが適正にチューンについて理解し、実際に意味のある適正なチューニングとは何かをどう知らせることができるかについて考えようじゃないか。我々は、vm.kmem_sizeだけでなく、i386における増加するKVA_PAGESをアドバイスすべきだと思う。また我々は32bitシステム上で稼働するZFSは一般的に推奨しないことも警告できる。”

プログラミングセンス

決して自分にプログラミングのセンスがあるとは思わないが、プログラミングとは合理化だと思って久しい。
自分が若いときにやっていた例では、64KBメモリしかないシステムを、拡張しつつ64KBを維持するという仕事があったが、これはすなわち、いかに合理化するかに神経を注ぐだけだ。
自分というのは、こういう条件下で伸ばしていくものだと思う。

DBから、あるテーブルを検索する。特定範囲の日時を条件に、特定のIDを持つレコードを検索する。擬似コードを使って説明する。符号の細かい判断(>か>=かなど)やエラー処理例外処理などは、ここでは気にしない。

“select id from テーブル where day > 開始日 and day < 終了日;”;
for (検索されたレコードがある間) {
  if (id == 特定のID) {
    ”発見”;
    break;
  }
}

このコードを見たときに、この人はシステムのそれぞれに出来ることをちゃんと考えない人(考えられない人、ではない)と思ってしまう。SQLで実現可能なこと、プログラミングで実現可能なことをちゃんと理解しないと、無駄な処理、無駄なコードを埋めまくって、単にパフォーマンスを落とすだけになる。
もちろんDB側で処理させるとパフォーマンスが落ちるからプログラム側でやるのだ、というならわかる。が、例えばPerlやPHPのようなスクリプト系言語で処理させる場合、DB側での処理とスクリプトエンジンを使った処理では、どちらに分があるかは一目瞭然だと思う。データベースシステムは通常C/C++言語で実装され、バイナリで動作している。コンパイルされないスクリプト言語は、せいぜいよくて中間コードだ。

それにしたって、せいぜい、こう書くのが普通だろう。

“select id from テーブル where day > 開始日 and day < 終了日 and id = 特定のID;”;
if (レコード発見) {
  ”発見”;
}

人のコードをコピーペーストしてつぎはぎし、その場をしのぎながら動けばいいというコードを作る人は、たぶん何も考えていないと思う。
単に、確実に動いている部分を持ってきて、貼るのだ。だからインデントもコーディングスタイルも醜悪になり、結果enbugしやすい状況を招き、最終的に自分でdebugできなくなるか無駄な時間を掛けていくという負の循環を引き起こす。

決して、自分がプログラミングセンスを有しているとは思わない。
重要なのは、どう合理化/効率化を考えながらプログラムを書くかだと思う。

FreeBSD Security Advisory

FreeBSDでSAが2つ上がってます。
ptyがらみとinet_network()のバッファオーバフローがらみ。
openpty(3)がptyの取扱いでworld R/Wにしているのでscript(1)やopenpty(3)を使う非特権ユーザにpty経由で表示テキストが盗み見られるよっていう問題と、inet_network()経由で不適切なデータでDoSや攻撃者の任意のコードを実行させることができるらしい。
後者のは回避策として「No workaround is available.」というのだから、始末が悪いね…。
いずれもパッチが出ているので対応するなりアップグレードするなりが必要らしい。

まいったね。

■pty snooping – FreeBSD-SA-08:01.pty
http://security.freebsd.org/advisories/FreeBSD-SA-08:01.pty.asc

■inet_network() buffer overflow – FreeBSD-SA-08:02.libc
http://security.freebsd.org/advisories/FreeBSD-SA-08:02.libc.asc

ISOイメージの仮想マウント

WindowsでISOイメージを仮想ドライバ経由でCD-ROMデバイスとしてマウントするための方法があるらしい。
訳あってそういう理由ができたので調べてみた。
すると、XPならドライバとツールをインストールして使用することで、仮想的に見せることができるらしい。

■仮想CD-ROMイメージをマウントする(vcdrom.sys編)
http://www.atmarkit.co.jp/fwin2k/win2ktips/536vcdrom/vcdrom.html

ツールのダウンロードは、ここから。デスクトップにフォルダを作って、その中で展開するのがいいだろう。
あとはREADME.TXTでも読むといい。vcdrom.sysをC:\WINDOWS\system32\driversに放り込み、VCdControlTool.exeで適宜操作すればいい。直感で使え!

■Virtual CD-ROM Control Panel for Windows XP
http://download.microsoft.com/download/7/b/6/7b6abd84-7841-4978-96f5-bd58df02efa2/winxpvirtualcdcontrolpanel_21.exe

英文FAQにかかれているが、使い方は@ITの記事が日本語だし詳しいのでいいと思う。

■MSDN Subscriptions Frequently Asked Questions
http://msdn.microsoft.com/subscriptions/faq/default.aspx

SQLiteでのdump

単なるメモ。
記録しておくほどのもんでもないと思うけれど。

SQLiteでのdumpによるバックアップ方法。

% echo “.dump” | sqlite database.db > database_backup.sql

必要なら「| nkf -eLu」などとかますとよい。

それだけ。
お粗末…。

OpenBSDでのセキュリティホール

OpenBSD-4.2で、ioctlでの不適切な検査がカーネルパニックを引き起こすというセキュリティホールを持っているそうです。
-currentと4.2-stableで修正済みとのこと。パッチもあるらしい。

■errata 005 for OpenBSD 4.2: local users can provoke a kernel panic
http://marc.info/?l=openbsd-security-announce&m=120007327504064&w=2

■A patch for OpenBSD 4.2 will appear at the URL below shortly.
ftp://ftp.openbsd.org/pub/OpenBSD/patches/4.2/common/005_ifrtlabel.patch

マイクロソフト セキュリティ情報の更新

過去アナウンスされているマイクロソフトのセキュリティ情報が3件更新されています。
更新履歴も記載しておきましょう。

■マイクロソフト セキュリティ情報 MS07-042 – 緊急
 XML コア サービスの脆弱性により、リモートでコードが実行される (936227)
http://www.microsoft.com/japan/technet/security/bulletin/MS07-042.mspx

2008/01/10: このセキュリティ情報ページを更新し、Microsoft Word Viewer 2003 を影響を受けるソフトウェアに追加しました。また、Microsoft XML Parser 2.6 用の kill bit についてとこのセキュリティ更新プログラムへの適用についてを明確にする FAQを追加しました。

■マイクロソフト セキュリティ情報 MS07-057 – 緊急
 Internet Explorer 用の累積的なセキュリティ更新プログラム (939653)
http://www.microsoft.com/japan/technet/security/bulletin/MS07-057.mspx

2008/01/10: 既知の問題を追加するため、このセキュリティ情報を更新しました。

■マイクロソフト セキュリティ情報 MS07-064 – 緊急
 DirectShow の脆弱性により、リモートでコードが実行される (941568)
http://www.microsoft.com/japan/technet/security/bulletin/MS07-064.mspx

2008/01/10: このセキュリティ情報を更新し、「既知の問題」の欄を「なし」に変更しました。この更新プログラムには既知の問題はありません。