MAGAZINE - みる会図書館


検索対象: UNIX MAGAZINE 2002年5月号
163件見つかりました。

1. UNIX MAGAZINE 2002年5月号

写真 3 ロープをたぐるとか変化する 写真 2 温度センサー付き ~ き 写真 5 ローフ移動の検出のからくり ロープ・インターフェイス ドアにディスプレイを付けて音声認識 写真 3 は、部屋に垂らしたロープをたぐって画面を上下 写真 6 は、ドアに貼り付けたディスプレイに情報を表 にスクロールさせるシステムです。科・学一羽勿館怖 ] けに作っ 示し、音声認識を用いてドアを開けたり所在を知らせたり たものだそうで、ロープをたぐると熱帯い財木の画面が上下 するシステムです。床のセンサーにより、ドアの前に人が に移動し、さまざまな衄直物とその説明カ俵示されます。 いるかどうかを判断するようになっています。 ロープは天井と床を結ふ輪になっているので、無限にた 高さ認識テープル ぐることができます。写真 4 は輪状のロープの床の部分 写真 7 は、、 Chameleon Table" というシステムで、テ 、ここでロープの移動を検出しています。しつは、この ープルというものは、高さに応して使われ方が異なるだろ なかにはホイール付きマウスが入っているだけで、ロープ うという考えにもとづいて作られています。 の動きにつれてホイール部を回転させることにより、ロー たとえば、テープルをドラムの高さに設定するとこの写 プの移動を検出しています ( 写真 5 ) 。 182 UNIX MAGAZINE 2002.5

2. UNIX MAGAZINE 2002年5月号

連載 /JavaServer Pages— public class Counter2 { import Java. iO. * ; package counter ; 図 5 ファイルを不したアクセスカウンタのソースコード (Counter2. java) saveCounter (count) ; count 十十 ; return count ; if ( (count=readCounter() ) く 0 ) { int count ; public int getVa1ue ( ) counterFi1e public void setFi1e(String f) public Counter2() private String counterFi1e = nu11; int readCounter ( ) try { int pr ivat e count tokenizer . TT NUMBER) { if (tokenizer . nextT0ken() StreamTokenizer tokenizer = new StreamTokenizer (reader) ; InputStreamReader reader = new InputStreamReader (istream) ; FiIeInputStream istream new Fi1eInputStream(counterFiIe) ; count } else { C ount (int)tokenizer. nva1 ・ reader. close() ; try { private VOid saveCounter(int c) return count ; } catch (IOException e) { } catch (UnsupportedEncodingException e) { } catch (SecurityException e) { } catch (Fi1eNotFoundException e) { OutputStreamWriter writer = new OutputStreamWriter (ostream) ; FiIeOutputStream ostream = new Fi1eOutputStream(counterFiIe) ; } catch ( 工 OException e) { catch (UnsupportedEncodingException e) { catch (SecurityException e) { catch (Fi1eNotFoundException e) { writer. close() ; writer. write(lnteger. t0String(c) + " \ Ⅱ " ) ; 122 UNIX MAGAZINE 2002.5

3. UNIX MAGAZINE 2002年5月号

インターフェイスの街角・ ・・増井俊之 M 灯メディアラボ ネットワーク管理ツール ( 3 ) ・・・・・荒井美千子、板橋ー正 不正侵入の手口とその発見方法 C プログラムで制御するネコ形ロポット ( 2 ) USENIX 2001 AnnuaI TechnicaI Conference ( 2 ) 84 128 164 17 News ・ Notice CeBIT 2002 ・ " 鴨中茂太郎 24 CoIumn 女子大生の放課後・・・・・北川渉、伊藤そよか、笠藤麻里 135 ワークステーションのおと・・・・・・坂下秀 141 NetNews 便り・・・・・・みるく 155 NEWS from jus Linux Update ・ " ・ " 宮地利幸、田淵貴昭 161 163 UNIX MAGAZINE 0 [. 17 # 5 2002 年 5 月号 ( 通巻 187 号 ) 2002 年 5 月 1 日発行 発行所・株式会社アスキーー〒 151-8024 東京都渋谷区代々木 4-33-10 電話 03-5351-8194 ( 出版営業部 ) ・発行人 / 鈴木憲一・編集人 / 土屋信明・編集長 / 大久保讓治・ Edit0 「・ s Network Address: unixmag@ascii ・ co ・ jp ・編集 / 川崎通紀岸竜次久保田考長谷川光広 ・出版営業部長 / 松本浩・出版営業担当 / 三田秀雄井上大介藤本典子 ・出版広告担当 / 山本直吉郎棚橋夏紀志摩和弘・製作購買担当 / 篠田敦 禁転載◎ 2002 ASCII CO 「 po ion 1070205 印刷 / 東京書籍印刷株式会社 Printed in Japan

4. UNIX MAGAZINE 2002年5月号

インターフェイスの街角 写真 6 情報表示 / 音声認識システム付きのドア 写真 8 眼鏡に装着した超面な凝視センサー 写真 9 べッドから視線てを帋する 0 サ セ 7 真のようにドラムか俵示さ叩いて音を出すことができ るようになります。また、高さを変えると、コーヒーテー プルなどに変化します。テープルの上に置かれているオ大 のものは、 SeIker 氏が開発した高さを検出するセンサー です。 凝視検出 写真 8 は、目ル竟に発光ダイオードとフォト・トランジ スタを付けた凝視センサーです。 人間が一点を凝視しているかどうかを正しく検出するの はかなり大変ですが、このセンサーでは目竟力・定時間以 上 1 つの方向を向いているかを検出し、凝視か否かを 判断しています。犬のぬいぐるみをしばらく見つめている と、そのぬいぐるみか動きだすといったデモもおこなわれ ていました。 視線による機器操イ乍 写真 9 は、べッドに寝たままの状態でい泉の移動に よって各種機器の制御がおこなえるシステムです。ネ泉の 検出には、カメラだけを用いています。 SeIker 氏の発明はこのように多岐にわたっていますが、 すべてに共通しているのは、、安く作って実際に使う " に重 点か置かれていることです。基礎研究だからといって、高 価な機材を用いてデモシステムを作るのではなく、面な センサーを自作するところから始めて、現実に利用できる システムを構築しようとする姿勢に好感がもてます。オフ イスには、加工中と思われる謎の工イ信勿がいくつも転がっ ており、 SeIker 氏の発明心を垣間見ることかできました。 石井裕氏の研究 石井裕氏は、、、 Tangible Bits" という矼念を提唱して います。これは、計算機のなかだけの存在であった情報を 183 UNIX MAGAZINE 2002.5

5. UNIX MAGAZINE 2002年5月号

= し inux のブートプロセス 図 14 セグメントデスクリプタ豈 56 55 54 53 52 51 48 47 46 45 44 43 63 の > リミット G D < ( 19...16 ) P DPL S タイプ A べース ( 23 … 16 ) リミット ( 15...0 ) 40 39 32 べース ( 31 … 24 ) べース ( 15...0 ) 0 16 15 31 図 15 プロテクトモードのアドレス計算 セグメント・セレクタ オフセット GDTR ー〇一・ グロー / ヾ丿レ デスクリプタ テープ丿レ リニアアドレス 1. セレクタ値と GDTR からデスクリプタのアドレスを CPU がこのセグメントにアクセスすると自重加勺にセッ 求める トされます。 2. デスクリプタの内容をメモリから読み出す 以 . E のデスクリプタ・テープルをメモリ上に作成したあ 3. セグメントのべースアドレスを取り出す と、その先頭アドレスとエントリ数を CPU に通知する 4. セグメントのべースアドレスとオフセット値を加算する 特別な命令を実行します。この命令を実行すると、図 3 の という処理がおこなわれます。アドレスの加算は CPU 内 GDTR レジスタに 32bit のツ頁アドレスと 16bit の工 のハードウェアで実行されるので、高速に処理されます ントリ数カき込まれ、その点から CPU はデスクリプ が、デスクリプタの読出しはメモリアクセスをともないま タ・テープルを参照できるようになります。テープルの内 す。つまり、 1 回のメモリアクセスのためにメモリに 2 回 容は、 CPU の内部にコピーされるわけではなく、 CPU アクセスすることになり、なんとも不締斉です。しかし、 は必要なときにメインメモリ上のテープルから必要なエン 80386 以降の CPU は、アドレス変換を高速に処理する トリを読み出します。 ために、セグメントデスクリプタの内容をコピーしておく こまでで、プロテクトモードのアドレス変換にかかわ レジスタが用意されています。 る要素はすべて登場しました。これをまとめると図 15 の 図 15 ではメモリから読み出すように描いてありますが、 ようになります。たとえば、 CPU がメモリからデータを 実際はセグメントのべースアドレスはメモリから取り出し 41 UNIX MAGAZINE 2002.5

6. UNIX MAGAZINE 2002年5月号

し inux のプートプロセス 図 3 レジスタ ・汎用レジスタ EAX EBX ECX E DX ESI EDI ・べースポインタ EBP AH BH 0 AL BL SI CH CL DH DL BP 47 ・スタックポインタ ESP ・命令ポインタ EIP ・プログラムステータス・レジスタ ・セグメント・レジスタ EFLAGS ・フラグレジスタ SP F LAG S ・セレクタレジスタ CS DS ES SS FS GS 1 5 0 ・コントロー丿いレジスタ C RO CRI C R2 CR3 ・メモリ管理レジスタ GDTR IDTR 63 IDT R TR たり、あるいは佖想記慮を実現したりします。 UNIX MAGAZINE 2002.5 いうセグメントに含まれるオフセット、 3 ー 2 ー 4 " で指定さ 局のアドレスは、、、大阪市 " という空間の、、北区梅田 " と (offset) によって指定します。たとえば、大阪中央郵便 セグメントのなかの特定のアドレスは、オフセット メント " と呼びます。 して管理する方式の名前です。そして、その区画を、、セグ セグメント方式とは、連続したメモリ空間を区画に分割 セグメント いて説明します。 グメント、そしてプロテクトモードのページンク饑能につ 以下では、リアルモードとプロテクトモードにおけるセ 0 33 カタカナ用語がたくさん出てきましたが、これらの関係 呼びます。 し、このアドレスをリニアアドレス (linear address) と アドレスは、セグメントべースにオフセットを加えて指定 トべース (segment base) と呼びます。セグメント内の ます。そして、このセグメントの開始アドレスをセグメン アドレス " と、、大きさ " によってアドレス範囲か決定され 域をセグメントとして扱います。各セグメントは、、、開始 存在するアドレスから、ある大きさの範用を切り出した領 IA-32 の CPU では、 0 番地から高位に向かって連続に です。 トは、セグメントが異なれはまったく違う建物を指すこと れます。ここで重要なのは、この、、 3 ー 2 ー 4 " というオフセッ

7. UNIX MAGAZINE 2002年5月号

し inux のプートプロセス 図 22 拡張されたページンク テーブル 4MB ページ 論理アドレス空間 4MB ページ 物理アドレス空間 0 00000000H ティレクトリ 2221 オフセット ディレクトリ 4MB ペーシ ディレクトリ ①→ CR3 図 23 ページディレクトリ (4MB ページ ) 22 21 9 8 7 6 5 4 3 2 1 0 0 ミ 1 D A a- a- コ工 P AVAIL 0 31 ページフレームの 予約済み べースアドレス いると、 PDE の第 7 ビットの値に関係なく、すべて 4KB のページフレームを使う場合のアドレス変換は、ページデ ページフレームとして扱われます。 ィレクトリを用いておこなわれます ( 図 22 ) 。拡張された ページンクフ寺徴は、ページテープルを使用しないところ 4MB サイズのページフレームを使うメリットは、次項 にあります。 で説明する TLB (PDE や PTE のキャッシュ ) のヒッ ト率が上がり、勺にシステムの処理能力の向 . 上か期待 アドレス空間内に 4KB と 4MB のページフレームカ昆 在してもかまいません。ただし、そのときは PDE 窈ー できることです。当駲田な違いかもしれませんが、ページテ ープルを使用しないぶん、メモリの節約も期待できそうで 先がページテープルなのか、それとも 4MB ページフレー す。 ムなのかを識別するためのフラグが必要です。識別に必要 なフラグは、 PDE の第 7 ピットにあります。このときの 反対に、プロセスに割り当てるべージサイズの単位が大 工ントリの構造を図 23 に示します。図 21 ー a とくらべれ きくなると、無駄も大きくなります。たとえば、数 KB 程 は分かるように、第 7 ピットがセットされているとその 度の小さなプログラムを 4MB のページフレームに読み込 先には 4MB ページフレームがあり、リセットされている むことを考えてみましよう。通常、プログラムをオする と 4KB ページフレームがあることになります。 ページは、、書込み不可 " に設定されるため、残りのメモリ がデータの翻タなどに使われることはなく、無用の長物と 一方、℃ R4 ーーレジスタの PSE フラグがリセットされて 47 UNIX MAGAZINE 2002.5

8. UNIX MAGAZINE 2002年5月号

ASCII たのしい IJN Ⅸ IJN ー X への招待 坂本文著本体 I, 845 円 IJN Ⅸをつどたのしくる入門書 三たのノい UNIX QJNIX MAGAZINE 」連載当初から好評 ー X への樌物 の「 UNIX への招待」を単行本化。 UNIX の根底にある文化や流儀をまじえつつ再構成、 大幅加筆。ワークステーションの急漣な普及に よって UNIX の習得が急務と言われる現在、 まさに必の 1 冊。 続・たのしい IJN Ⅸ シェルへの招待 坂本文著本体し 845 円 rlJN Ⅸへの招待」単行本化第 2 弾 続・たのしい UN Ⅸ を第マシェルは UNIX の世界のいわば「裏方さん」。 その動きや仕組みを知れば、 UNIX がいっそ う楽しく、便利に使えるようになる。本書は、ひろく 使われている C シェルを中心に、シェルの使 い方から仕組みまて、を分かりやすく解言前巻と ともに入門者必孑 ) 1 冊。 Life with IJNIX IJ N Ⅸを愛するすべての人に ドン・ライプ、サンディ・レスラ共著、坂本文謹尺、樫専訳本体 2. 引 3 円 だれも知らなかった LJN Ⅸの魅力の世界 Lifc withVÄIX UNIX の歴史的背景や社会動向とともに、 UNIX の技術面や市場面、今後の展望などを 幅広く解説。また UNIX 人名辞典、アングラ 情報、名言などの貴重なデータや一風変わっ た情報を満載、 UN Ⅸューザーに新しい視野 を提供する好言勿。 文書処理システム い咜 X ラテック レスト・ランポート著ほドガー・クック、倉沢良一監訳、大驟治、小暮博道、藤浦はる美訳本体 2 川 8 円 使いやすさと豊富な機能を備えたマクロ・バッケージ い明 X は、もっとも進歩した組版システムといわ L 物い n 」代を れる TEX の実用性をさらに高め、使いやすくし たマクロ・パッケージ。これを利用すれば、複 繼ょ数式すらユーザー自身の手て、自在にレイ アウトて、きる。開発者の手による解説書の決定 版。 ルート ・ AUTH の認証工ラーだけカ墹題であることを示すため の AUTH-RESP-CODE ケーパビリティをサポート (SHOULD) すべきであると規定されている。 RFC3207 SMTP Service Extension for Secure SMTP over Transport Layer Security SMTP サービス拡張 . TLS を用いたセキュア SMTP PS. 、 P. Hoffman ( RFC2487 置キ奐 ) SMTP での通信に TLS を利用したトランスポート層 レベルのセキュリティを付加するための搦長を定義してい る。現在の状態は、、標準化への提唱 " である。 RFC2487 を置き換える RFC として 2002 年 2 月に公開された。 電子メール伝送用のプロトコルである SMTP では、メ ッセージは平文て通信されるため、糸齧各」 : での傍受や書換 えなどの危険性がある。 そこで、 RFC3207 では SMTP のセキュリティ拡張 として、 STARTTLS という SMTP コマンドを定義し ている。 STARTTLS は、クライアントとサーバー間の SMTP セッションを途中から TLS 層の通信に移行して、 セッションの内容を暗号化する。この拡張機能はパラメー タをもたす単独て利用される。なお、 EHLO コマンドの 答も STARTTLS が用いられる。 TLS は、 SSL (Secure Sockets Layer) として知ら れているセキュリティ層である。 TCP での通信を暗号化 する機溝として、 HTTP とともにひろく利用されている。 STARTTLS 拡張機能は、 SMTP 通信のサーバーとクラ イアントか相墳こ認証しあう手段としても利用できる。 SMTP はエンドッーエンドのオ冓ではないため、この 刻長機能を使用しても、電子メール・ユーザーエージェン トから受信者までの転送描矍されない。認証も SMTP サーバーと SMTP クライアントとのあいだでおこなわれ るため、電子メール作成者の認証とはなりえない。通信全 体をイするには、 S/MIME や他の機構と組み合わせて 使うことカ甘隹奨されている。 RFC3218 Preventing the MilIion Message Attack on Cryptographic Message Syntax CMS に対するメッセージ攻撃の方 旧 fo. 、 E. Rescorla CMS(Cryptographic Message Syntax) の角財斤を目 「 00t から / へのメッセージ 高野豊著本体し 553 円 人とコンビュータを観察するスーバーユーサーの目 日本に UNIX が導入されたばかりの頃、突然 管理者を任された著者の惠騨艾苦闘の経験をつ づる。著者が、今日まて、めぐりあったさまざまな 工ヒ。ソードを紹介。示唆に富む告白談と、飽くな き探求心の才塀吾は、システム管理者に限らす多く のユーザーの共感平ぶだろう。 ※表示価格には消費税は含まれません。 ロ力、こへのッセー 株式会社アスキー 〒 1 5 ト 8024 東京都渋谷区代々木 4-33-10 ー株式会社アスキー出版営業部電話 ( 03 ) 535 ト 8194 177 UNIX MAGAZINE 2002.5

9. UNIX MAGAZINE 2002年5月号

( 0 ・一 oprn ・れ t Kit fo ′ ( ap ′ー′ 0 BNIDoMotion(5) ; return(1000) ; B001 ー t EndF1ag = FALSE; typedef int (*int—fp) ( ) ; / * 関数へのポインタの配列 * / / * 中腰 ( 姿勢 5 ) * / / * ループ終了のフラグ * / / * 関数へのポインタ型 * / / * 関数は 0 ~ 7 までの引数をとり * / / * 0 : 計測中 1 : 正立 2 : 仰向け 3 : 顔立ち * / / * 4 : お尻立ち 5 : 右横 6 : 左横 7 : 工ラー * / / * 返り値は動作終了までの待ち時間 ( msec ) / * に対するアクション関数へのポインタ int BNISensorS1ant6(void) / * 終了条件 ( 両手の肉球が反応 ) が満たされたときは、 EndF1ag を立てる * / / * カプリロの姿勢を調べる * / fp-taoreoki , fp—okiagari , fp-aomukenobi , fp-void} ; { fp-void , fp-void , fp-gaeshi , fp-taoreoki2 , int—fp func ロ SensorInfo_t sinfo; / * センサー情報構造体 * / / * 叩かれたときは仰向け ( 2 ) * / if (BNISensKnock()) return(2) ; / * センサー情報の取得 * / BNIGetSensorInfo(&sinf0) ; / * センサー情報を取得する * / BNICharToHexStr(eyebuf , (unsigned char) (sinfo. s1ant6&Ox00ff) ) ; BNIPutEye (eyebuf [ 1 ] ) ; BNIPutEye (eyebuf [ 0 ] ) ; / * プログラム終了条件 * / if ( (sinfo ・ nikukyu & 0X03 ) = = 0X03 ) { / * 両手の肉球が反応 * / BNIStopM0tion(1) ; EndF1ag = TRUE ; BNIWaitMi11iSec(50) ; return(sinfo. sIant6) ; int main(void) int wait_msec; EndFIag = FALSE; / * モーション停止 ( 緊張 ) * / / * ループ終了のフラグを立てる * / / * 終了フラグが立つまで繰り返す * / while( !EndF1ag){ BNIWaitMi11iSec(100) ; / * センサー関数からの返り値により、呼び出す関数を変える * / wait—msec=func [BNISensorSIant6()] ( ) ; BNIWaitMi11iSec(wait—msec) ; BNIDoMotion( 1 ) ; 134 UNIX MAGAZINE 2002.5

10. UNIX MAGAZINE 2002年5月号

ットワトク管理 図 14 Snort を侵入櫞ロモードて起動 # snort —d ー 1 10g —c snort . conf Log directory = 10g lnitializing Network lnterface ethO Kerne1 filter, p て 0t0C01 ALL, raw packet socket lnitializing Snort Decoding Ethernet on interface ethO lnitializing Preprocessors ! lnitializing PIug—ins ! lnitializating Output PIugins ! Parsing Ru1es file snort . conf 十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十 lnitializing ru1e chains . Back Orifice detection brute force : DISABLED Using LOCAL time 884 Snort rules read . 884 Option Chains linked into 93 Chain Headers 0 Dynamic rules 十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十十 Ru1e application order : —>activation—>dynamic—>alert—>pass—>log 192. 168. 1 . 2 : 1591 192. 168. 1 . 2 : 1592 ー > 192. 168 . 1 . 2 : 1593 ー > 192. 168. 1 . 2 : 1594 ー > 192. 168. 1 . 2 : 1595 192. 168. 1 .2 : 1596 ー > 192. 168. 1 . 2 : 1597 ー > 192. 168. 1 . 2 : 1598 ー > ーー = = lnitialization Comp1ete ー * > Snort ! く * ー Version 1 . 8 . 3 (BuiId 88 ) By Martin Roesch (roesch@sourcefire . com, 図 15 Snort を daemon モードて起動 # snort —d ー 1 10g —c snort . conf —D www.snort.org/ KerneI filter, protocol ALL, raw packet socket 図 16 Snort のログディレクトリ $ ls -F 10g 192.168.1.1 / 192.168.1.2 / alert portscan ・ 10g 図 17 Mar Mar Mar Mar Mar Mar Mar Mar Nmap を実行したときの portscan ・ log ファイルの言泉 ( 抜粋 ) 1 1 1 1 1 1 1 1 16 : 01 : 40 16 : 01 : 40 16 : 01 : 40 16 : 01 : 40 16 : 01 : 40 16 : 01 : 40 16 : 01 : 40 16 : 01 : 40 ・ TCP オフションが 5 つある といったことが分かります。 UNIX MAGAZINE 2002.5 3 番目ーど 4 番目のログは、それぞれ、 192. 168.1. 1 : 1360 SYN ******S* 192.168. 1 . 1 : 587 SYN ******S* 192. 168. 1 . 1 : 1462 SYN ******S* 192. 168. 1 . 1 : 104 SYN ******S* 192. 168. 1 . 1 : 400 SYN ******S* 192. 168. 1 . 1 : 805 SYN ******S* 192. 168. 1 . 1 : 10082 SYN ******S* 192 . 168. 1 . 1 : 11 SYN ******S* ・ NMAP FINGERPRINT (stateful) detection ・ SCAN nmap TCP と書かれているように、 Nmap によるポートスキャンが 93