<<<「LC2010出張」報告>>>

これは、 Linux の国際会議 LinuxCon North America 2010 の場で Linux Security Summit に参加するためにアメリカのボストンへ出張したときのレポートです。

===========準備編(当日までの出来事)===========

2010年7月10日(土) LinuxCon の参加申し込みをする。参加費(320US$)の振り込みに関して、今まではクレジットカード情報を直接入力していたが、今回からは PayPal を利用するように変更されていた。スパムメールやフィッシングメールが多数来るのでこの手のサービスは利用したくないのだが、やむを得ない。

VMware Workstation で録画したデモ動画について、 Xmessage によるポップアップを利用した説明文ではなく、音声による説明を付けたいと思っており、英語読み上げソフトの Expressivo というソフトに注目していたが、 PayPal でしか支払いができないということで躊躇っていた。しかし、どうせ PayPal を利用しなければいけないのなら一緒に購入してしまおうということで購入した。読み上げエンジンと Eric の音声とセットで49US$。

7月11日(日) Expressivo 1.5.1 を日本語版 Windows XP SP2 で利用しようとすると、起動から10秒後にエラーで異常終了してしまうため、使い物にならないことが判明。サポートに問い合わせメールを送る。

7月14日(水) 日本語版 Windows 向けの Expressivo 1.4.7 にダウングレードすることで解決できるという返事を頂いたので、やなさ株式会社様に連絡してダウングレードする。ダウングレードにより、問題が解決されたことを確認。以後、 VMware Workstation で録画したデモ動画に Expressivo を用いた説明を付けたデモ動画の作成を始める。

7月27日(火) カーネル 2.6.35 のリリースが迫ってきたので、カーネル 2.6.36 に搭載されることになっている TOMOYO 2.3 の仕様についての確定を行い、インストール手順などのドキュメントを整備する。

7月28日(水) AppArmor について、 If nobody has objection, I think it is time to add AppArmor for Linux 2.6.36. という最終確認を求める返事を出す。

7月30日(金) James Morris から Applied to git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6#next という反応が来る。なんとか 2.6.36 に間に合ったようだ。

7月31日(土) 今更ながら Pavel Machek から I do have objections. See mail archives. という反対意見が。でも、触らぬ神に祟りなしということで、全員で無視。(笑)

8月2日(月) カーネル 2.6.35 がリリースされる。

2.6.35-next-20100802 の動作テストをしてみたところ、 NFS サーバ内で NULL pointer dereference するバグを発見。 linux-fsdevel MLに報告する。

熊猫のGPG鍵の有効期限が先月で切れてしまったので、GPG鍵を含んでいる Ubuntu の LiveCD を更新しようとするが、最新版にアップデートすると容量が700MBを超えてしまうことが判明。なんとかして700MB以内に収めなければいけないが、 Ubuntu 10.04.1 がもうじきリリースされるとのことで、それをベースに作りなおすことにする。

8月3日(火) eチケットを受け取る。今回は午前中の便で出発することが判明。なので、今まで利用していた京成本線を経由するルートではなく、成田スカイアクセスを経由するルートを利用することにした。成田スカイアクセスが開通したことにより、有料特急である成田エクスプレスや京成スカイライナーを利用しなくても所要時間がかなり短縮された。ネットの検索サービスでの検索結果には成田エクスプレスが出なくなっているのには驚きである。佐倉駅を通過しないのでもう「はにゃ〜ん」な気持ちを味わえないのが残念。

YouTube にアップロードした音声付デモ動画に対して、 TOE-MOE-YOE LINUX, worst voice ever というコメントが付く。ほぇ〜〜。でも、知世は日本語だから、変な風に聞こえるのは避けられないと思う。

NULL pointer dereference する不具合を修正するパッチが投稿されたので試す。今度はマウント時にタイムアウトするという不具合が見つかる。

8月4日(水) マウント時にタイムアウトする不具合を修正するパッチが投稿されたので試す。今度は別の個所で NULL pointer dereference が発生する。

TOMOYO 1.7 を Nexus One で動かそうとしているけれど ccs-editpolicy-agent が動いていないようだという質問が tomoyo-users-en MLに寄せられる。

TOMOYO 1.7.2p2 と 1.6.8p3 をリリースする。また、 TOMOYO 2.3 と 1.8 についての開発状況をアナウンスする。

8月5日(木) 環境が古すぎて make でデバッグ情報を生成できない。仕方が無いので手作業で printk() を挿入することで NULL pointer dereference の発生箇所を特定する。

Nexus One で問題が起こりそうな個所を推測して返信する。

8月6日(金) 熊猫のライトニングトークの資料を作成する。

発生原因が NFS サーバの初期化順序に起因するということまでは確認できた。しかし、今日中には解決できそうにない。出張先でもやりとりが続くことになりそうだったので、デスクトップPC内にある仮想マシンを出張で使うノートPCにコピーする。160GBしかないハードディスクに34GBの仮想マシンを格納するために、使用頻度の低い仮想マシンを圧縮する。

Nexus One で動いていなかったのは TOMOYO カーネルではなかったことが原因と判明。しかも、カーネル 2.6.32 に搭載されている TOMOYO 2.2 で動かしたいとの返事が来る。

8月7日(土) ライトニングトークの持ち時間は5分なので、自動再生型の動画にする。 YouTube に登録しようとしたところ、4分41秒あるはずの動画が1分51秒になってしまって使い物にならないことが判明。音声と組み合わせるために Windows ムービーメーカーで編集した場合も同様に切り詰められてしまう。そのため、 YouTube には登録せず、 VMware Workstation で録画した生動画を使うことにする。

NFS サーバの不具合を修正するパッチが投稿されたので試す。全ての不具合が解消されたことを確認。デバッグを完了する。

カーネル 2.6.35-git2 以降で TOMOYO が原因でカーネルパニックになるという報告がLKMLに寄せられていたので、ツールのアップデートとポリシーの再作成を行うようにという返事をする。

Nexus One で TOMOYO 2.2 を動かしたいという要望に対して、基本的な手順と必要となるファイルについて説明する。しかし、熊猫が知る限り ARM アーキテクチャ向け Android goldfish 用カーネルは 2.6.29 で開発が止まっているはずである。そこで、 2.6.32 カーネルのソースをどこで入手できるのか逆質問する。

===========2010年8月8日(日)===========

(5:00)起床。

いつものようにCCさくらを聴く。

(6:49)家を出発する。

(7:04)仙川駅で各駅停車新宿行に乗る。

千歳烏山駅と笹塚駅で乗り換えする。日曜日なので朝のラッシュでは無い。

馬喰横山駅で下車、浅草線に乗り換えるために改札へ向かう。改札まではエスカレータで昇れるので荷物があっても大丈夫である。

東日本橋駅からアクセス特急成田空港行きに乗る。最高時速で115km出ていたので結構速い。

成田湯川駅でスカイライナーの通過待ちをする。通過待ちをするために作られた駅というのが正しいかも。

(9:04)成田空港第1ターミナル駅に到着する。

案内板を見ると次のアクセス特急が40分後となっていた。スカイアクセスを経由する特急は本数が少ないようだ。

スカイアクセス経由を逃したら次のを待つよりもスカイアクセスを経由しない特急に乗る方が速いのでは無いかと思い、改札で時刻表をもらって確認する。駅員によるとそういう場合もあるとのこと。

(9:21)手荷物チェックインカウンターの列に並ぶ。今回は夏休みと重なっているためすごい行列である。

(9:47)チェックインが完了する。

(9:53)両替を行う(40000円)。今は結構円高が進んでいるようだ。

(10:00)セキュリティチェックの列に並び始める。コートを忘れそうになる。

出国審査待ちの列も長かった。

(10:20)搭乗ゲートに到着する。

(10:30)原田さんと合流する。

(10:53)搭乗する。NH2便ワシントンDC行き。かなり後方の座席である。

(11:17)ゲートを離れる。

(11:38)離陸。

(12:55)昼食。豚生姜焼き丼、イクラを載せたポテトサラダ、豆類のサラダ?、みそ汁、リンゴとみかん。ご飯とおかずを丼という形で一体化させているのは、かさばらないようにしてゴミを減らそうと工夫した結果なのだろう。

あまり眠れない。

(現地時間8:45)朝食。ハンバーガー、リンゴとみかんとキウイ、ヨーグルト。ハンバーガーにはレタスとトマトとマスタードとトマトケチャップを挟んで食べるようになっていた。日本サイズというか、機内食サイズというか、割と小さめであった。

(10:28)着陸。シカゴよりも遠くまで来た。熊猫の最長移動記録である。

座席が後方だったこともあり、降りるまでに時間がかかる。

空港内を移動するための電動バスで別ターミナルへ移動後、入国審査の列に並ぶ。審査窓口が少ないので待ち時間が長い。

(11:15)入国審査を済ませ、荷物を受け取り、すぐにまた預ける。

(11:24)セキュリティチェックを受ける。靴もチェック対象である。

(11:35)搭乗ゲートに到着する。

(11:55)搭乗する。UA424便ボストン行き。

(12:36)ゲートを離れる。

(12:46)離陸する。

翼の横だったからというのもあるが、眠いのであまり外の景色は見なかった。

(13:56)着陸する。

(14:02)ゲートに到着する。

(14:17)手荷物を受け取る。

(14:25)バスチケットを買う。(2$)プリペイド式のカードになっている。

(14:35)Silver Line というバスに乗る。路線ごとに色で区別されている。東京メトロのバス版みたいなものである。ターミナル内にある次の停留所で多数の人が乗ってきて混雑した。

(14:51)バスを降りる。

(14:53)Renaissance Boston Waterfront Hotel ホテルに到着する。今回はイベントの開催会場と宿泊場所が同じであるため、楽である。

(15:00)1Fでチェックインする。

(15:05)3Fへ移動して LinucCon の受付も済ませる。

(15:10)10Fの部屋に到着。広い部屋である。37インチ(?)のテレビとベッド2つ。

眠いので仮眠する。

(18:00)ロビーに集合する。

近所のレストラン Legal Test Kitchen で夕食にする。ツナバーガー、ポテトチップス、野菜の酢漬け。こちらではハンバーガーはメニューの中ではサンドイッチという分類である。実際に挟んでいるのでサンドイッチと呼べなくはないが、日本ではそうは呼ばないので何だか不思議な感じがする。

(19:32)ホテルの部屋に戻る。外国の食事は食物繊維が少ないので長期間滞在していると便秘になる。そこで、今回は粉末状の食物繊維サプリメントを用意してきた。他のサプリメントと一緒に水道水で飲む。

(19:45)就寝。

===========2010年8月9日(月)===========

(3:30)起床。

メールをチェックする。

Ubuntu では有線LANで接続できたが、 CentOS では有線LANで接続できない。ネットワークの調子が悪いのか?

部屋のある10Fでは有線LANが使えるが、イベント会場である3Fでは無線LANしか使えないので、 Ubuntu で無線LANを使うための方法を調査する。それらしきドライバを含むパッケージをインストールしたが認識されない。仕方がないので有線LANを使って無線LANドライバのソースコードをダウンロードしてコンパイルを開始する。

(8:00)1Fロビーへ移動するが、原田さんが見当たらない。

(8:05)3F受付にて原田さんを発見。そのまま朝食にする。クロワッサンとマフィンとオレンジジュース。

(8:40)セキュリティサミットの部屋に移動する。 2.6.36 でメインライン入りを果たした AppArmor のメンテナである John Johansen と、 2.6.36 で入りそうになって結局入れなかった Yama のメンテナである Kees Cook に会う。メーリングリスト上では何度もやりとりしているが、実際に会ったのはこれが初めてである。

(8:58)午前のセッションが始まる。今日は Linux Security Summit ということで、セキュリティ関連の話ばかり集まっている。

ルーターの Vyatta の発表を聞いて、 TOMOYO が向いていると思ったので紹介した。

ダウンロードした無線LANのドライバをコンパイルしてみたものの、無線LANはまだ使えない。

(11:57)午前のセッションが終わったので発表会場の部屋を出る。

(12:20)昼食のためにホテルを出る。

近所のコンビニのような店でグラタンのようなピザを買う。

(12:35)ホテルの3Fに戻って昼食。見た目よりもボリュームがあった。

(13:07)午後のセッションが始まる。

Ubuntu では無線LANが認識されないままだったが、 CentOS では無線LANが認識されてネットワークに繋がるようになった。

FBAC-LSM は質問が多く出た。発表も質問も早口過ぎて全然聞き取れない。

とにかく眠い。休憩時間にコーヒーを飲んだが効果がない。

熊猫のライトニングトークで Yama を TOMOYO と一緒に使う話をする。Yama は TOMOYO ではカバーできていない部分を補うことができるので、 TOMOYO と同時に使えると嬉しい。世間的にはLSMは排他的でカーネルモジュールからアクセスできないと認識されているので、強引な手法でカーネルモジュールからLSMにアクセスするという話に参加者は驚いたり苦笑したりしていた。

(18:50)午後のセッションが終わったので、10Fの部屋に戻る。

このレポートを書く。

(19:55)就寝。

===========2010年8月10日(火)===========

(1:20)起床。

メールのチェックを行い、 TOMOYO 2.3 のクリーンアップパッチに対する承認と Vyatta の発表者からの質問に回答する。

パッチの更新をしようとしたが、有線無線どちらも調子が悪くなってしまったので諦める。

(3:30)就寝。

(6:00)起床。

2.6.35-git8 用のパッチを更新する。

メールのチェックを行う。 Nexus One で TOMOYO 2.2 を動かすにあたり、 securityfs がマウントされていないからマウントするように修正したけれども、 tomoyo-init が動かないという返事が届く。先の返信時に逆質問した 2.6.32 カーネルソースの入手先については教えてもらえなかった。 Nexus One は ARM アーキテクチャなので、 x86 用にコンパイルした tomoyo-init では動かないよという返信をする。基本的には TOMOYO 1.7 と同様の手順で行けるはずなのだが、どうやら組み込み環境に対する基本的な知識を持っていないようで、 TOMOYO 以前の所で躓いていることが判明。これはハードルが高いかも。

(8:00)3Fへ行って朝食にする。

(8:23)昨日のライトニングトークでの発表について質問されたので対応する。電源コンセントが近くになかったためバッテリーだけで対応していたので、数分でバッテリー切れになる。

(8:53)発表会場に移動する。

キーノートスピーチとKVMの話を聞く。KVMの話は数年で陳腐化してしまうハードウェアをKVMを用いて仮想化することにより、エンタープライズシステムのために長年にわたって同じハードウェア環境を提供できるようにするというもの。複数の仮想マシンを1台の物理マシン上で動作させることにより生じるセキュリティ上の問題点で苦労するよりも、1台の仮想マシンを1台の物理マシン上で動作させるというのは、仮想化の良い使い方だと思った。

続けて、 Casey Schaufler によるファイルの内容に基づくアクセス制御の話を聞く。数日前にパッチが投稿されたものだが、内容を聞いて驚いた。なんと、 file コマンドのようにファイルの内容に基づいてアクセス制御のためのラベルを決めようという試みである。ウイルス対策ソフトのようにファイルの中に悪意あるコードが含まれているか否かを判断するだけでも大変なのに、ファイルの内容を判断して適切なラベルを割り当てるなんて、現在では人間が行っている作業である。カーネル内でのアクセス制御を行う際のレース状況についての質問が多く出ていたが、熊猫的には file コマンドに相当するロジックを実装することの方がよっぽど難しいと感じた。

(13:10)昼食のためにホテルを出る。

ワールドトレードセンター内の店でシーフードサラダロールを購入。オーストラリアでは毎食のように食べていた。

(13:40)お土産を買えそうな店を探したが見つからなかったのでホテルに戻る。

メールのチェックを行い、 TOMOYO 2.3 でカーネルパニックになる件についての誤解を解くために返信の準備を行う。しかし、返信する前に発表時間になってしまったので、会場へ移動。

James Morris によるセキュリティの歴史の話を聞く。21世紀のセキュリティは許可された範囲の動作で騙そうとしてくる攻撃者からどのように守るかが重要だと熊猫は思っているが、タイトルから想像していた内容とは違った。

(15:43)特に聞きたい内容は無かったので、部屋を出て返信を行う。ネットワークになかなか繋がらずに苦労する。

バニラカーネルのアップデートが出ていたのでパッチをダウンロードする。

カーネルについてのパネルセッションの話を聞く。眠い。

(17:48)この後ボウリング大会を別の場所でやるようだが、眠いので部屋に戻る。

パッケージのアップデートをかけたら178個も対象が出る。 Universe を有効にしたからか?

このレポートを書く。

(19:00)就寝。

===========2010年8月11日(水)===========

(0:10)起床。

カーネルのアップデートが出たのでパッチをアップデートをしようと思って CentOS を起動するがネットワークが繋がらない。有線/無線ともにDHCPでIPアドレスとゲートウェイとDNSの設定ができているのに、ゲートウェイからのパケットを受信できないようだ。ネットワークが不安定なのだと思っていたが、 Ubuntu では普通に繋がることが判明。どうやら CentOS のDHCPクライアント側の動作が原因のようだ。

VMware を動かすので、 CentOS で起動しないわけにはいかない。幸い CentOS の x86_64 用カーネルでも x86_32 用アプリケーションを実行することはできるようになっているので、 Ubuntu パーティションをマウントして chroot して、 Ubuntu のDHCPクライアントでネットワーク設定を行うことにした。

ようやく CentOS からネットワークが安定して使えるようになったので、パッチのアップデートを行う。2.6.35-git8 では無かった呼び出しが 2.6.35-git10 で復活していたので、どちらが正しいのか質問するメールを投げる。 TOMOYO パッチと競合する位置にあるので、どちらが正しいのか気になるのである。

メールをチェックしたら、 TOMOYO 2.3 のカーネルパニックの問題はツールのアップデートとポリシーの作り直しで解決したとの返事が届いていた。

(4:40)就寝。

(6:06)起床。

メールをチェックする。 TOMOYO 2.3 のカーネルパニックについてメッセージが不親切なのではないかとの指摘が届いていた。

Nexus One で TOMOYO 2.2 を動かす試みのほうは、 tomoyo-editpolicy-agent と tomoyo-init を再コンパイルしたけれども動いていないようなのでどうすれば確認できるかという質問が届いていた。う〜ん、 securityfs をマウントする必要があることと、 ccs の部分を tomoyo に置き換える必要があること以外は、基本的に TOMOYO 1.7 と同じなんだけどなぁ。カーネルソースの入手先を教えてくれれば熊猫の方でもエミュレータを使った動作テストができるのだけれども、教えてくれないし。 tomoyo-editpolicy-agent と tomoyo-init が依存するライブラリファイルがコピーされているか確認するようにと返信した。

(8:05)3Fへ行って朝食にする。今日も同じようなメニュー。

Fedora のブースが設置されていたので、昨年12月に Bugzilla に登録したけどもまだ結論がでていない、 TOMOYO を Fedora で使えるようにする提案について相談する。

(8:45)キーノートスピーチの部屋へ移動する。

(10:05)部屋を出る。

このレポートを書く。

(11:25)Ubuntu の起動を高速化する話を聞く。

(12:35)フロントで近所にお土産を買えるような店が無いか尋ねたが、近所には無いとのことで、地図を貰う。

(12:45)昼食のためにホテルを出る。

初日に夕食を食べた Legal Test Kitchen に入る。豚バーガー、野菜の酢漬け、フライドピクルス。やっぱり量が多すぎる。ピクルスは天ぷらにしないほうがおいしいと思う。

食べすぎたので散歩を兼ねて、地図に書かれている店まで歩く。網状に道路が張り巡らされているので、信号で足止めを喰らうことが多い。丸の内のような雰囲気の場所を抜けたら、原宿か渋谷のような場所に出た。

フロントで教えて貰った Faneuil Hall Boston に入るが、期待していた店ではなかった。土産物屋というよりは雑貨屋といった感じである。ホテルからこの建物まで片道30分。

(14:55)ホテルに戻る。

このレポートを書く。

(17:35)部屋に戻る。仮眠。

(18:35)今夜のクルーズイベントに参加するためにロビーへ行く。しかし原田さんに会えない。仕方がないのでそのまま乗り場へと向かう。しかし見つけられない。資料作りが忙しすぎて諦めたのだろうか?

(19:05)クルーズ開始。

船に乗るのは久しぶりである。先々月に YouTube で ARIA を観たので、なんだか「はにゃ〜ん」となってしまった。

(22:04)クルーズ終了。

(22:14)ホテルの部屋に戻る。

メールをチェックする。 Fedora ブースで相談した Tom "spot" Callaway さん宛に、 Bugzilla の件についてメールを送る。

(23:15)就寝。

===========2010年8月12日(木)===========

(6:00)起床。

メールをチェックする。原田さんは腹痛で寝ていて、起きたら20:00だったそうだ。道理で会えないわけだ。

(8:05)3Fへ行って朝食にする。今日はクロワッサンやマフィンではなく、驚いたことにドーナツとベーグルパン。う〜ん、朝からドーナツとはしんどいなぁ。サンフランシスコでもオタワでもホバートでも、ドーナツが朝食だったことは無かったと思うけどなぁ。

(8:40)原田さんの発表を行う部屋へ行って準備を開始する。ストリーミングを行う機材が移動した結果だと思うが、発表を行う部屋が当初の予定とは変更されていた。今回の資料は Flash とか YouTube を使ったアニメーションが多用されており、プロジェクターで綺麗に映るようにいろいろな設定を試す。また、資料の内容についても確認を行う。

(10:30)原田さんの発表。事前に YouTube のアニメーションをブラウザにキャッシュしておいたのに、本番では緊張のあまりキャッシュを使うのを忘れてしまったのだろうか。幸い、キャッシュを使わなくてもストリーミング再生が滞り無くできたので安心した。

バッファオーバーフローのデモは2003年に試したものなので、ちょっと内容が古くなっている。当時よりは管理者権限を使わないで済むようにする努力が進んでいるとはいえ、バッファオーバーフローは現在でも起きており、 SELinux などのセキュリティ機能を無効にする人がいる以上、このようなデモを通じて知らせていくことは必要だと思う。資料のページ数が多すぎて時間ギリギリになってしまい、説明し切れなかった部分があるのが残念。

(11:30)発表を行った部屋を出る。

(11:48)昼食とお土産探しのためにホテルを出る。昨日行った場所ではお土産を買えそうになかったので、昨日とは違う場所へ向かって歩いていく。

(12:30)Cosi というファストフードの店で昼食。イタリアンサンドイッチを買う。野菜が多くてボリュームが多すぎない、ちょうどよいメニューであった。

その後、周辺の店を散策。洋服や化粧品、東急ハンズのような店やCDショップなどはあるのだが、チョコレートやクッキーのようなものを扱っている店は無かった。空港でしか買えなさそうだ。店員が中国語でニーハオマと声をかけてきた。商品の品質保持期限にも中国語での表記がある。近くにチャイナタウンがあるからだろうか?それとも、アメリカの中国重視の姿勢によるものなのか?

(14:07)ホテルに戻る。そのまま Jonathan Corbet による The Kernel Report を聞きにいく。 AppArmor がとうとう 2.6.36 でマージされることについて触れられていた。

(15:58)イベントの最後を飾るクイズ大会の部屋へ行く。しかし、英語がさっぱり分からない。しかも、ニュースネタなどの、 Linux とは関係ない話なので想像もできない。来年はバンクーバーで開催されるそうだ。

(17:27)ホテルの部屋に戻る。

(17:30)就寝。

===========2010年8月13日(金)===========

(2:40)起床。このレポートを書く。

(4:10)朝食として、昨日のファストフード店でサンドイッチについてきたポテトチップスを食べる。

(6:25)チェックアウト。イベント会場にもあった飲料水のタンクがバス停近くにもあった。なんと、今頃になって、ボストンの水道水は飲めないということを知る。はぅ〜〜、知らずに毎日飲んでしまっていたよ〜。

(6:43)空港行きのバスに乗る。(2$)混雑していたので片手で荷物を押さえ、片手で吊革に掴まるという状態だったので、カーブで無茶な姿勢になってしまって腕が攣りそうになった。

(6:56)空港着。お土産屋を探すが見当たらない。

(7:03)チェックインをして、そのままセキュリティチェックの列へと向かう。

(7:27)セキュリティチェック完了。

(7:35)搭乗ゲートに到着。

(8:20)ワシントンダレス空港で買えなかった場合に備えて少しだけチョコを買う。

(9:00)搭乗。UA897便ワシントンDC行き。

(9:19)ゲートを離れる。隣の席に座った子供は中国へ帰る途中だそうだ。

(9:30)離陸。

(10:40)着陸。

(10:45)ゲート着。

(11:00)空港内を走る地下鉄に乗ってターミナル間を移動する。神戸のポートライナーよりも高速かも。

(11:15)搭乗ゲートに到着。チケットを発行してもらう。

(11:50)免税店でチョコを買う。何故か店員が搭乗ゲートまで運んでくれた。

(12:15)搭乗する。NH1便成田行き。直前まで雨が降っていたようだ。空席が目立つ。

(12:29)ゲートを離れる。

(12:44)離陸。

(13:42)昼食。きんぴらごぼう入りの鶏の照り焼き丼、そば、味噌汁、ひじきの煮物、果物。

台北からの帰りの便で遊んだ数独で暇つぶし。手動エンピツ機能の使い方が解らなかったので、最初はエンピツ機能を使わないでやっていた。

自動エンピツ機能を有効にした状態で、中級までクリアできるようになった。

===========2010年8月14日(土)===========

(日本時間12:55)昼食。チキンとチーズのサンドイッチロール、ラズベリーヨーグルト、メロン。

(15:01)着陸。しかし、行きは偏西風に逆らうのは大変だろうから太平洋経由で時差13時間というのはやむを得ないと思うが、帰りは偏西風に乗ってヨーロッパ経由で飛べば時差11時間で済むのだから、飛行距離も飛行時間も短縮できるのではないかと思う。

(15:07)ゲート着。

(15:20)入国審査を済ませる。

(15:34)荷物を受け取る。

(15:36)税関を通過する。

(15:40)解散する。

(15:51)アクセス特急羽田空港行きに乗る。夏休みだからか、デジカメを持った子供たちも乗っている。成田空港第2ターミナル駅と成田湯川駅との間には単線区間があったり複線区間でも対向車線を待つために停車したりと、ドキドキであった。

(17:00)浅草線東日本橋駅に到着。都営新宿線に乗り換える。反対側へ向かうために階段あり。

(17:07)各駅停車笹塚行きに乗る。笹塚からは各駅停車に乗り換え。

(17:46)仙川駅着。行きは120分かかったのに、帰りは115分で戻ってこれた。

(17:55)帰宅。メールを受信したりパッチを更新したりしてから寝る。

Tom "spot" Callaway さんと James Morris さんが Bugzilla の件の CC リストに登録してくれていた。さてさて、前進してくれるかな?

===========後日編(その後の出来事)===========

2010年8月15日(日) 8/11に質問を投げた 2.6.35-git10 の件の返事が来ていたので、 TOMOYO パッチを修正する。

8月16日(月) 2.6.36-rc1 がリリースされたので Ubuntu 10.04 で TOMOYO 2.3 のテストをしようとしたら、排他制御漏れらしきバグが見つかったので linux-fsdevel MLに報告する。

8月17日(火) Bugzilla の件は却下され、 Fedora で TOMOYO が使えるようになる可能性は消滅した。また、 Fedora で採用されないことが確定したことで RedHat Enterprise Linux や CentOS でも採用されないことが確定的になり、 TOMOYO Linux を RedHat のサポート付きで使えることを望んでいた RHEL ユーザに使ってもらえるようになる道も閉ざされてしまった。

Ubuntu 10.04 で 2.6.36-rc1 のテストができないので、 Debian Sarge で 2.6.36-rc1 のテストをしようとしたら、今度はリスト破壊らしきバグが見つかったので linux-fsdevel MLに報告する。 linux-next や 2.6.36-gitXX では問題が無かったのに 2.6.36-rc1 になって問題が発覚したということで、 TOMOYO 側の不具合だったらどうしようと心配になる。

8月18日(水) Nexus One の件で、クロスコンパイルでリンクエラーになるという質問が来たが、 TOMOYO とは全く関係ない部分なのでアドバイス不能と返信。

リスト破壊の原因となったパッチを割り出して報告する。その日の内に修正パッチが投稿され、問題が解決。しかも、8/16の不具合も一緒に解決された。 TOMOYO 側の不具合ではなかったので安心した。

8月20日(金) Nexus One の件で、カーネル 2.6.32 上の TOMOYO 2.2 ではなくカーネル 2.6.29 上の TOMOYO 1.7 を使うという返事が来た。うまく動かないのはポリシーがロードされていないのが原因のようだと返信。 TOMOYO 2.x のソースを見て、 TOMOYO 1.x ではカーネルコンフィグで指定可能なパス名が TOMOYO 2.x ではハードコーディングされたままになっているため、そのままでは使えないということに気づき、パッチを投稿する。

8月21日(土) TOMOYO 1.8 で Unix ドメインソケットに対するアクセス制御を追加できないかと思って unix_autobind() を眺めていたら、無限ループによるサービス拒否攻撃に繋がりそうな仕様を発見。MLで質問する。

8月24日(火) Nexus One の件で、ポリシーローダを実行できずに再起動を繰り返してしまうという質問が来た。どうやらダイナミックリンクライブラリとリンクができていないようだと返信。

8月25日(水) Nexus One の件で、違うパッチを使っているのが原因ではないかという質問が来たが、関係無いと返信。

特定のユーザIDやグループIDによるネットワーク通信を遮断したいという質問が来ていたので、 TOMOYO がそのためのフックを提案したけれど受け入れられないので実現するのは無理だろうと返信する。

8月26日(木) 昨日の質問を読み返してみると、部分的な遮断ではなく完全な遮断をしたいということだったので、まさに Linux Security Summit のライトニングトークで紹介した裏技の出番だということで、特定のユーザIDによる全てのソケット操作を拒否するLSMモジュールを作成して返信する。

8月30日(月) Nexus One の件で、ポリシーローダの自動実行に成功したとの報告がきた。どうやらダイナミックリンクライブラリをコピーするのをサボってシンボリックリンクで済ませようとしていたため、ポリシーローダの実行時点ではシンボリックリンクのリンク先が存在しない状態になっていたのが原因のようだ。これは手順書に注意書きをしておく必要があるなぁ。

8/26に示したLSMモジュールはカーネル 2.6.36 用だが、質問者の環境である openSUSE 11.3 はカーネル 2.6.34 だったので、カーネル 2.6.34 に対応する方法を伝える。

CVE-2005-2973 用に作ったアセンブラで書かれた exploit コードを僅かに修正してサービス拒否攻撃が成立しそうかどうか試してみた結果、メモリを大量に搭載しているハイエンドなマシンでなら成立しそうだということを確認できたので、攻撃を回避するために unix_autobind() の仕様を変更するパッチを投稿する。


トップページに戻る