カテゴリー
Computer Linux

Momonga LinuxとFedora Coreパッケージの比較

前にMomongaLinuxとFedoraCoreのパッケージの比較を行うスクリプトを作っていたのですが更新対象をFedoraCore 3からFedoraCore 4に変更しました。

http://www.momonga-linux.org/~yohgaki/compare_distribution_srpm.php?type=src_only

ついでにMomongaLinux 2とMomongaLinuxのtrunk(開発版)との違いも比較できるURLも用意しました。

http://www.momonga-linux.org/~yohgaki/compare_ml2_vs_devel.php?type=src_only

この比較リストの作成は時間がかかるのでキャッシュを使っています。確かキャッシュの有効期限は6時間くらいに設定していたと思います。最後に更新されてから6時間以上経過するとリストを再作成するので運が悪いとページの表示に時間がかかります。

カテゴリー
Other

“最強”のシワ対策品が登場へ!

シワは紫外線や加齢などによって起こるが、医師による治療を受ける以外に、シワを減らす有効な対策はなかった。

という事らしい。世の中には多数のシワ対策化粧品が販売されていると思いますが効果が無いのでしょうか?効果が有る化粧品も多いような気もしますが、どうなんでしょう?「レチノイン酸d-δ(デルタ)トコフェリル」という成分が効果的らしい。

3カ月後の結果では、シワの本数が1本以上減ったのが69%、毛穴の数や総面積も減少した。一方で、角質水分量は63%で改善した。

「これくらいの効果で最強であれば、今まで販売されてきた化粧品はどうだったんだろう?」と考えさせられました。

カテゴリー
Security

不正なJavaScriptによるダイアログの表示サンプル

先日IEの仕様ですに書いた問題とはどういう物か、百聞は一見にしかず、実際に見るのが良いと思います。

Secunia(ここからのアドバイザリは多いですね)がレポートした問題で、この不具合の動作をテストするページも用意されています。どういう訳かニュースサイトなどではこのURLが紹介されていない場合が多いようなので紹介する事にします。

http://secunia.com/multiple_browsers_dialog_origin_vulnerability_test/

このページの

Start the test:
Test Now – Left Click On This Link

「Left Click On This Link」を未対策のブラウザでクリックするとパスワード入力を要求するダイアログが開きます。

ポイントは「Left Click On This Link」は http://www.google.com/ にリンクされていること、クリックした後のダイアログ表示動作がいかにも http://www.google.com/ からのダイアログの様に表示されてしまうことです。どんなにセキュリティに精通したWeb開発者がWebサイトを開発してもこの攻撃に対処できません。ブラウザ側の問題だからです。
# 「このサイトはポップアップを利用していません」と注意を促すことは
# できますが、対策とは言えないでしょう。

これにユーザが騙されるか? というリスクへの対策が今問われています…
送信元が不明なダイアログやWindowの利用は注意してください、と言うだけでは不十分であること明らかではないでしょうか?

しかも、この問題を悪用するのは簡単です。
ほんの少しJavaScriptを知っていれば誰でも悪用できます。

カテゴリー
Security

IEの仕様です

最近話題になっている、信頼できるサイトからのダイアログの様に見せかける事ができるためフィッシングに利用される可能性がある問題、に対するマイクロソフトの対応です。

仕様として見て見ない振りしても問題は消えません。また一つIEを使わない理由が増えましたね。


成人の6割以上が銀行預金残高を主にインターネットで確認–米調査
という状況を考えると「仕様です」と言って切り捨てる訳には行かないと思います。

ブラウザのメンテナンスが大変であればいっそ「IEはもう新しいバージョンはリリースしません」と宣言してしまえばよいのではないかと思います。

カテゴリー
Computer Development

_php_stream_passthru

php-usersのMLに投稿した内容の補足です。コードはPHP 4.4の開発ブランチのソースです。

main/stream.cに_php_stream_passthru関数が定義されています。reafile関数(ファイルの中身を全て出力)、fpassthru関数(ファイルリソースの中身を全て出力)に利用されています。

PHPAPI size_t _php_stream_passthru(php_stream * stream STREAMS_DC TSRMLS_DC)
{
    size_t bcount = 0;
    int ready = 0;
    char buf[8192];
#ifdef HAVE_MMAP
    int fd;
#endif

#ifdef HAVE_MMAP
    if (!php_stream_is(stream, PHP_STREAM_IS_SOCKET)
            && stream->filterhead == NULL
            && php_stream_tell(stream) == 0
            && SUCCESS == php_stream_cast(stream, PHP_STREAM_AS_FD, (void*)&fd, 0))
    {
        struct stat sbuf;
        off_t off;
        void *p;
        size_t len;

        fstat(fd, &sbuf);

        if (sbuf.st_size > sizeof(buf)) {
            off = php_stream_tell(stream);
            len = sbuf.st_size - off;
            p = mmap(0, len, PROT_READ, MAP_SHARED, fd, off);
            if (p != (void *) MAP_FAILED) {
                BG(mmap_file) = p;
                BG(mmap_len) = len;
                PHPWRITE(p, len);
                BG(mmap_file) = NULL;
                munmap(p, len);
                bcount += len;
                ready = 1;
            }
        }
    }
#endif
    if(!ready) {
        int b;

        while ((b = php_stream_read(stream, buf, sizeof(buf))) > 0) {
            PHPWRITE(buf, b);
            bcount += b;
        }
    }
    return bcount;
}

注目すべきは以下です。

            if (p != (void *) MAP_FAILED) {
                BG(mmap_file) = p;
                BG(mmap_len) = len;
                PHPWRITE(p, len);
                BG(mmap_file) = NULL;
                munmap(p, len);
                bcount += len;
                ready = 1;
            }

PHPWRITEマクロは最終的に出力バッファに書き出します。PHPからの出力は最終的にWebサーバにバッファされる場合があります。つまり、一度に大量のデータを出力するとメモリを大量に必要とする可能性があります。

Momoery Mapped I/Oの利点がバッファ無しでデータを読める事は分りますが、大きなファイルを送信するには不適切な事は明らかです。データを適切なチャンクサイズに区切ってPHPWRITEに書き込むよう変更しなければならないですね…

カテゴリー
Computer Development

DokuWiki

久しぶりにmadwifiの設定をしようとmadwifiのページを見てみると見慣れないWikiを使っていたのでどんなWikiかさらっと見てみました。インストールやソースを読んでいないので見てみた感想です。

基本的なWiki機能はそろっているようです。ページの場所 “top>a page>another page”の様に表示されるのも便利です。ログインユーザ登録もサポートしているようで、Eメールアドレスを登録してから編集を許可する、という運用ができるのはSPAM対策やセキュリティ対策に役立つと思います。

次のような機能を持っているようです。

DokuWiki Features here

* works on plain text files, no database needed
* simple syntax and easy editing with quickbuttons and accesskeys
* Section Editing allows you to edit small parts of a page
* automatic generation of content tables
* unlimited page revisions
* colored side by side diff support
* support for read only pages
* syndication of recent changes as RSS Feed
* namespaces
* Interwiki Links
* uploading and embedding images
* image caching and resizing
* easy navigation through breadcrumbs
* Customizing with templates and plugins
* Multilanguage Support
* Spam blacklist
* custom text replacements
* pagecaching
* locking to avoid edit conflicts
* full UTF-8 support
* and more

Wiki機能の比較は見るだけでも興味深いと思います。

Tipsのページを見てみると色々な機能が追加できる事が分かります。SVGをPNGやGIFに変換、ページをPostscriptに変換、HTMLからDokuWiki形式への変換方法が記載されています。

面白かったのはNanoWebをサポートするWebサーバとして記載されている所です。NanoWebはPHPで記述されたWebサーバで

Nanoweb’s main features are :

– HTTP/1.1 compliance
– Powerful and easy configuration
– Modular architecture
– FastCGI, CGI and Server side includes support
– Name and port based virtual hosts
– Access control lists
– htpasswd, MySQL, PostgreSQL and LDAP authentication support
– Themes for server generated content
– Apache compatible log format, MySQL logging
– Directory browsing
– inetd support and SSL via external helpers
– Denial of Service protection
– Proxy Server extension
– Filters and gzip support
– RBL support (mail-abuse.org)
– Extension Protocols (request methods) support
– … and a lot more

と色々盛り沢山です。

コマンドラインのPHPさえインストールされていれば自分でWebサーバを立てる事ができます。NanoWebのソースは以前に読んだ事があるので多少は分かります。pluginの作成は簡単そうでした。速度的にも普通(?)のリクエスト数であれば十分処理できるパフォーマンスでした。(思ったより速くて驚いたと思います)

カテゴリー
Computer

とばっちり?

CNet Japanでも「米で史上空前の情報流出–4000万件のクレジットカードに影響か」と報道されているように日本で影響があったクレジットカード発行会社としてNICOSがあります。

私もNICOS郵貯VISAカードを持っています。支払日が近いのですが明細書が届いていなかったのでWebから確認しようと思い、NICOSのWebサイトに行くと重くて使えませんでした。サーバが混雑していたのはMASTERカードの情報漏えいの影響ではないかと推測しています。

前から気になっていたのですがNICOSのサイトはSSLが不必要なページでもSSLが使われていたりします。一時的に経営危機があったとは言えそれなりの作りになっていて高負荷時でも問題無く動作するように作られている、と思っていたのですがそうでは無かったようです。
# 備考:SSLを使った通信と普通の通信を比べると、SSLを使った
# 通信の方が大きな負荷がサーバにかかります。

ところで、アメリカでは無差別攻撃的なフィッシングはもう古い手口になっています。今回のMASTERカードから漏洩した情報には社会保障番号は含まれていないようですが、住所、氏名、電話番号、勤務先、社会保障番号などの個人情報を含んだメールを送信し信用させ更に重要な情報を取得する詐欺が多発しています。中にはこのような手間をかけずに盗んだ個人情報で勝手にクレジットカードを作り使用する犯罪も横行しています。

カードの不正利用は保障されるので過剰反応する必要はありませんが、利用明細は必ず確認した方がよいでしょう。大学いた頃の話なので随分昔の事ですが、経営学の教授は毎月のように使った覚えのない航空券の請求がくる、と言っていました。幸いまだ私はこのような不正利用による請求はありませんでしたがクレジットカード利用者であればありえるリスクです。
# 不正利用は保障されますが暗証番号を伴う取引は保障されない可能性が
# 高いです。店頭などで暗証番号は入力しない方がよいと思います。