32nd Diary

トップ | 最新 | 過去の日記 | もっと過去の日記

2007年
3月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
めーるあどれす
ruby -rbase64 -e'puts Base64.decode64 %q(dGFrYW5vMzJAZ21haWwuY29t)'



2007-03-11 (Sunday) [長年日記]

[BSD][Event][UNIX] Asia BSD Conference 2007 #4

Red Gate - 赤門 昨日の三日目に続き,AsiaBSDConの四日目に参加してきました.

写真は東大のRed Gateこと赤門ですが,あいにくの曇り空です. なんで昨日撮らなかったんだろうね.(^^;;;

P9: OpenBSD Network Randomness Injection: Further Improvements

少し遅れて到着したからなのか,内容がぜんぜんわかんねー!

擬似乱数を発生させるarc4randomの出力を食わせるだけで攻撃になるらしい.

以下のようにまとめられていました.

  • Cheap
  • Turn it on by default
  • Better on the endpoint than firewall
  • Please do this on all OS's
    • Makes dependence on insecure behaviour less likely

単純な攻撃方法だから,いろんなケースで試して穴をつぶしておいた方がいいよってことかな.

P10: SHISA: The Mobile IPv6/NEMO BS Stack Implementation Current Status

Mobile IPv6/NEMOの実装,SHISAについての講演でした. 名前は沖縄で想起したことによる(シーザー → SHISA)とのことです.

はじめにIP層のモビリティについての利点をあげていただきました. ひとつは通信媒体をまたいでIPを実現できるということですね. たとえば,WiFiとWiMAXの境界を意識せずに移動したりできます. もうひとつはIP層で実現すると上位の層に影響しないことがあげられます.

Mobile IPv6ではこのようなモビリティをノードの単位で実現しますが, 同NEMOではネットワークの単位で実現します. 通常のMobile IPv6では計算機などが移動するのに対し, NEMOではルータなどの単位で移動することになるわけです.

このNEMOを実現するために, IPv6のプロジェクトであるKAMEの一部としてスタートしたのがSHISAです. KAMEの終了後には独立したプロジェクトとして存続しています. UCBのTCP/IPスタックやKAMEのIPv6スタックを参考にし, BSD向けにIPv6/NEMO BSのスタックを実装しています.

SHISAは以下のような理念で設計されています.

  • シンプルで簡単な実装
    • ユーザ空間での実装をメインにするために,大きく通知メッセージの処理とパケットの転送の処理に分けて実装しています.通知メッセージはユーザ空間で分かりやすい実装をし,パケットの転送はカーネル空間でパフォーマンスの高い実装をしています.これはBSDのルーティングとよく似た仕組みらしいです.
  • 機能を部分的に差し替えやすい実装
    • 機能ごとにモジュール化することで,同じシステムでも移動の検出のみを異なるアルゴリズムに差し替えることなどができます.
  • シンプルなインターフェース
    • 通常のルーティングを行うときと同様にソケットを扱うことができるようにインターフェースが設計されています.
  • カーネルの修正は最小限に止める
    • 特定のカーネルに依存しない実装を意識することで,さまざまなBSDへの移植性を維持します.

すでにNetBSD 2.0やFreeBSD 5.4などをベースに動くものができています. 現在は組み込み用途での需要などを見込み,NetBSD-currentへ向けて 移植しているとのことです.

昼食

武田先端知ビル 昨日のバンケットで知り合った方と食事をしました.

外は雨も降っていて寒かったため,室内でお弁当を食べました.

写真は会場の武田先端知ビルですが,あいにくの曇り空です. なんで昨日撮らな(ry

Invited Talk (I2): A Narrative History of BSD

招待講演というわけで,さぞ貴重な話だったと思うのですが, スライドもなく,英語も容赦なく,食後ということも重なり, 速攻で船を漕いでました...すみません...

意識のあるうちに入ってきた話としてはPDP-11やviについてのエピソードや 大学の事情など, Life with UNIXのような感じでした. 面白そうな話だけに,できれば聞く,ではなく読みたい話でした.

他,詳しくは後藤大地さんによる記事が 参考になると思います.

P11: Bluffs: BSD Logging Updated Fast File System

BluffsはFFSとの高い互換性を特徴とする,ジャーナリングファイルシステムです.

一般的にファイルの操作は複数のステップが必要となるため, 途中でデバイスの停止などが発生すると整合性が維持できなくなる 場合があります. ジャーナリングはこれを抑止する方法のことです. ジャーナリングでは操作に必要な複数のステップを ひとつとして扱い,整合性を維持します.

複数のステップをひとつとして扱うために, WAL(Write Ahead Logging)を行い, 書き込む前に情報を蓄えます. このログの記録には循環リストを用い, 連続的にデータを記録します.

書き込みの手順のほかに 回復の手順についても詳しい説明をしていただきました. ジャーナリングの仕組みについて勉強になりました.

P12: Implementation and Evaluation of the Dual Stack Mobile IPv6

Mobile IPv6はRFC 3775で,NEMO BSはRFC 3963で標準化され, これから普及する見込みですが, 今の段階ではIPv4のネットワークやアプリケーションも多く 利用されています. このような過渡期にはデュアルスタックが便利です.

DSMIPv6(Dual Stack Mobile IPv6)では Mobile IPv4とMobile IPv6の機能をもちます. Mobile IPv4を利用しつつ,Mobile IPv6に順次移行していく ための目的で利用します.

この講演では実際にデュアルスタックを実装したときのポイントや パフォーマンスの評価などについて発表していただき, デュアルスタックが実用的な段階であることがわかりました.

P13: Recent Improvements in OpenBSD's IPsec Support

OpenBSDでのIPsec事情についての講演でした.

広く使われているIPsecには以下のようなものがあります. それぞれについて設定の方法を紹介していただきました.

  • Openswan: 平坦で機械的な記述であるため,設定しづらい
  • Racoon: 階層型の記述ができるため,割と設定しやすいが,設定項目が多く存在する
  • Cisco PIX: PixOS 7.0について勉強する必要があり,簡単ではない
  • OpenBSD isakmpd.conf: 設定項目の数は妥当だが,平坦な記述であるため,イマイチ
  • WindowsのIPsec: 36ステップにも渡るウィザードを使うため,問題外

今回はこれらの問題点を解消するために実装したipsecctl(8)について解説していただきました. ipsecctl(8)は以下のような特徴をもっています.

  • pfに習い,シンプルな構文で設定できるようにした
  • 合理的なデフォルトを採用することで,少ない記述で妥当な設定ができるようにした
  • ipsecadm(8)とisakmpd.conf(5)の機能をカバーできるようにした
  • 鍵の扱いについてもPFKEYv2メッセージをサポートした
  • コマンドでisakmpdの設定ができるようにした

つまり,コマンドラインベースのフロントエンドとして利用でき,簡単な記述でisakmpdの設定を行うことができます.

ipsecctl(8)では 接続元のホストを制限したり, 悪意のあるユーザからの接続を制限する機能が不足していますので, これをカバーするためにkeynote(5)やpf(4)を利用する 方法についても紹介していただきました.

pf(4)を利用すれば接続元のホストが指定できます. ただ,これはさまざまな場所に移動するユーザにとっては不便です. そのため,pf(4)のタグ機能を使い, 通信を制限する方法についても説明がありました.

SADBについてはsysyncd(8)を用いれば,carp(4)で構築した クラスタのSADBも同期できるそうです.

プロジェクトでは今後は以下のようなことが予定されているそうです.

  • ipsecctlのさらなる改良,
  • XAUTHやIKEv2への対応
  • sasyncdとisakmpdの統合
  • keynote(3)の改良

質疑応答では認証についての質問が集中していました. 講演者の話では本質的に事前鍵交換となる 通信のタグ付けで十分ということでした.

P14: SCTP Introduction

SCTP(Stream Control Trasmission Protocol)はネットワーク層に位置するプロトコルで, TCPよりも制御可能な項目を増やしているプロトコルです.

  • 4-way handshake: DoS攻撃による危険を減らす
  • データ境界の作成: データの分割した転送がすぐにできる
  • マルチホームホストの考慮: データの転送中にひとつの通信路が不通となったときに別のインターフェースを利用し,続きを転送できる
  • マルチストリーミング: 複数の通信路をひとつにまとめて扱うことができる

通信にはクッキー情報を含ませることで4-way handshakeでもリプレイ攻撃を阻止できるようにしています. また,ひとつのソケットで複数のホストと通信することができるそうです.

P15: Security Measures in OpenSSH

OpenSSHは1999年からのプロジェクトで, 現在ではもっとも多く使われているSSHの実装です. しかし,UNIXの向けの記述がされており, コードの歴史も長いためセキュリティにおいて致命的な問題が多く発見されてきました. 講演ではこのような状況についてのより明確なセキュリティの指針や対策についての講演でした.

以下のような指針と対策を紹介していただきました.

  • バグを見つけたら,その場限りの修正ではなく,根本から修正する
  • データの入力に気を付け,防衛的なプログラミングを心がける
  • 危険なAPIの利用を止め,安全な新しいAPIを導入する
  • 難しいコードをシンプルでわかりやすいコードに修正するリファクタリング
  • いろいろな状況でプログラムの権限を減らすように努力する
  • プロトコルの根本的な見直し
  • OSに搭載されているセキュリティ対策の支援を行う

ネットワークを利用するアプリケーションは さまざまなデータの入力が想定する必要がありますので, 今回の講演はOpenSSHに限らず,ためになりそうな話でした.

P16: Porting the ZFS File System to the FreeBSD Operating System

ZFSについて特徴の紹介やデモをしていただきました.

ZFSではストレージをストレージプールにまとめて,使うことができます. ストレージを直接扱うよりも柔軟な運用ができます.

実装については,プログラムは小さく, Solarisに依存すぎることもなく, FreeBSDにも依存しすぎていない理想的な状況にあるそうです. パフォーマンスもバランスがよく, さまざまな用途で利用できそうです. また,Solarisではzonesで利用されているため, BSDのjailとも相性よく併用できるそうです.

デモではスナップショットの利用方法や ボリュームの追加などについての操作をしていただきました.

ディナー と クロージング

ディナーの前にはJPCERT/CCの会社の紹介や C/C++セキュアコーディング (SEI SERIES・A CERT BOOK)(Robert C. Seacord/JPCERTコーディネーションセンター)という本の紹介とプレゼントなどもありました.

ディナーではBSDについての話やセッションについての話ができました.

とても楽しい二日間でした.

関係者の方々はお疲れ様です!

まとめ

どう考えても学生の値段が破格過ぎです.Tシャツと食事,1000円分のパスネットに加え,夜の食事ではビールなどのアルコールもがっつり摂取できるという...講演の話をまったく聞かなくても元が取れそうな...いやいや,そんなこと言っちゃいけません.(ぶ

それと,英語の会話がもっとできるように勉強しようと思いました. 英語は使う機会が少ないけど,いざというときに使えないと 致命的なんですよね.

本日のツッコミ(全3件) [ツッコミを入れる]
morita (2007-03-13 (Tuesday) 04:28)

来ていただいてありがとうございます。<br>かくいう私は、殆どといってよいほど、まったく聞いていなかったのですが...

32 (2007-03-14 (Wednesday) 03:27)

こちらこそこのようなすばらしいイベントを紹介していただき,ありがとうございます!<br>またBSD熱がこみあげてきそうです.(笑

32 (2007-03-14 (Wednesday) 03:30)

書き忘れてしまいましたが,スタッフのお仕事ありがとうございます&お疲れ様でした!<br>充実したイベントに参加でき,感謝が尽きません.

本日のPingbacks(全0件)