DNS poison injection

DNSのキャッシュにphising siteなどの悪いことをするサイトへのip address を注入することができる。かなり以前からこのような事実はわかっていたが、この5月くらいから問題視されるようになった。

DNSの役目は、クライアントが、たとえば m にアクセスしたいという要求を出すとDNSがそのip address は123.123.123.123ですよと答えるのだ。これをDomain Name Service( DNS)といいこれを実施するのがDNSサーバというわけだ。実際の通信の宛先はすべて ip addressで行われるので、つまりパケットではip addressだけが住所として有効なので、ip addressを直接書き込まない限りDNS がないと通信ができない。

DNS サーバはドメインネームとip addressの対応表が必要だが、世の中にあるすべてのip addressを記録するわけにはいかない。量が多すぎるし、しょっちゅう変化するからである。そこでDNSサーバは自分のとこに記録がないと上位のDNSサーバに問い合わせる。そこにないと、さらに上位のDNSサーバに問い合わせる。というわけで、最上位のDNSサーバは全世界に13台しかなく、そのうちの1台は日本にあるらしい。どこにあるかは秘密である。ここがテロで襲われるとネットワークは使い物にならなくなっちゃうからだ。

ユーザはまず最下位のDNSサーバを使うわけだが、ここにそんなに多くの対応表があるわけではない。しかし、このサーバに対する要求は同じことが多いので、サーバは問い合わせのあったドメインネームとそのip address を記録しておけば、上位のサーバに問い合わせる必要がないから早く反応ができて好都合である。そこで、問い合わせのあったものについては保存しておく。これがキャッシュに保存するという意味である。

キャッシュの保存されるときのIDは順番に付けられる。そこで、悪いやつは、この順番にということを利用して、順番をひとつずつ繰り上げるようにしてDNSサーバに本来とは異なるip addressを注入していく。DNSが上位のDNSに問い合わせた答えを返事しているように装うと注入できる。DNSはudpだからだ。そうするとDNSが参照するのはID番号なのでどっかでユーザが要求したのと同じIDとなり、思うとおりのip addressに誘導できてしまう。IDとポート番号が同じだと注入に成功するのだ。IDの数もポート番号も有限なので確率の問題だ。

これを防ぐためには、

1)キャッシュの容量を減らすとすぐ息詰まっちゃうので、ヒットする可能性が低くなる
2)IDの割り付けをランダムにする
3)問い合わせに対する答えを保持しないで、上位に必ず問い合わせる(キャシュをなしにする)

というわけで2)の対策をとることにする。生理のDNSはルータ、RT57i だ。ようやくYAMAHAはアップデータを出したのでこれにアップデートし、言われたとおりにフィルタを設定した。これでいいのだろうか?

これって、丸投げだから上位のDNSがちゃんとしているかどうかの問題になる。で上位のDNSはkだ。

テストしてみると

123.123.123.123 (xxxxxxx.ac.jp) appears to have GREAT source port randomness and GREAT transaction ID randomness.

と問題はないようだ。

雷ー停電

昨日の午後から、今朝にかけて、大雨と雷が続いている。寒冷前線の通過に伴うものだが、移動速度が遅い、雨と雷の雲が南北に3本くらいできているのだが、普通は東に移動するものだが、どちらかというと北へ移動するものだから、いつまでたっても雲が続くことになる。

で午前3時過ぎ、停電だ。何分続いたかは分からんが、k もm もt もUPSのおかげで問題なかったと信じているけど...8月29日午前1時から6時までのアメダスの画像だ。

午前1時、午前2時、午前3時

午前4時、午前5時、午前6時

国土交通省のページの河川の水位から。

土浦市を流れる桜川が氾濫寸前。土浦市田土部の桜橋の水位の推移だ。

何やら赤とか赤点線とか黒線があるがこれらは---(青実線) 水防団待機水位 ---(黄実線) はん濫注意水位 ---(赤太点線) 避難判断水位 ---(赤実線) はん濫危険水位 ---(赤細点線) 計画高水位だそうで、水色の線が実際の水位の推移だ。

午前7時現在5.49m で氾濫危水位5.20m を越えている。台風とちがって、この水位が続くわけではない。きわめてlocalな豪雨だからだ。午後は収まっているだろうな。茨城県庁は独自の警戒警報のページがあるわけではないことが分かった。すべて、警戒警報などは、どっか国の機関のページへのリンクだけだ。リンク先ページでいいから茨城県だけに特化したページにすべきだ。

大学のトイレ

医学学系棟のトイレが、X棟の様に照明が人の存在で自動的に点灯するようになったところがある。オフィスの方である。今朝、雑誌を持って読みながら用をたしていたら、まだ済んでいないのに照明が消えて真っ暗になってしまった。

人が居るか居ないかは人が発する赤外線を感知するセンサーで行う。ところが赤外線センサーは、その性質から変化分しか感受しない。つまり人が動かない/赤外線の量が変わらないとだめなのだ。そこで静的な対象のときは、あえてシャッターを設けオンーオフして感知する。呼気ガスの二酸化炭素モニターは赤外線の発生源とセンサーの間にセルを置き、そのセル内に呼気ガスを通す。二酸化炭素は赤外線を吸収するので、センサーに当たる赤外線の量が違うことにより二酸化炭素の濃度を検知するのだ。しかしセンサーは動的な変化しか感知できないので、セルとセンサーの間に遮蔽する板を定期的に置き(モーターで羽を回転させ、この羽が赤外線を遮断する)赤外線の量が周期的に変化するようにして、そのピーク値を読むことによって二酸化炭素濃度を測定するのだ。

しかしトイレでは、必ず人は動くのでこのような機構は必要ない。が、座って用を足すときはあまり人は動かない。だから人が居ないとなって照明が消えてしまったのだ。

この仕組みを知っているので、真っ暗なトイレの個室で体を動かしたり、手を振ったりしたのだが、だめだった。原因はセンサーの指向性にあった。センサーが個室には向いていなかったのだ。知らない人が見たら滑稽だな。もっとも知らない人がいたら照明は消えないけどね。

で、なんとか個室から出て、再度照明を点灯させ、センサーの向きを変えて指向性が個室もカバーできるようにした。その結果は試していない。今日は用が済んだからだ。なにやってんだろうね。

iCal と Google Calendar の同期

iCal と Google Calendar の同期には Spanning Sync というアプリケーションを使っている。7000円もする。高いけど、他にいい方法がなかったからである。Google Calendar → iCal ができるのはあるが逆がなかなかない。Spanning Sync は別サーバを経由して同期させるらしい。だからいつまで続くかわからん。

Google の方でサポートできるようになった。Google Calendar CalDAV supportである。

Spannning Sync が起動している状態では設定できない。OFFにして設定してみた。Google Calendar → iCal に成功すると、iCal に新しいカレンダーができて、当然のことながら、すでにGoogle Calendar にiCal のデータが書き込まれているので、だぶっちゃう。表示をOFFにすればいいわけだけど...iCal → Google Calendar にいかない。

ほかのページでは iCal の情報がGoogle Calendar に行くように書いてあるけど、こっちの方向に移すためにはファイルを指定しないと行けないと思うのだが、そんな設定はないからできないのでは?と思いつつ...

多分Googleから落としたカレンダーのほうに書き込むとGoogle のほうにアップされるんだろうな。

Lingon:Mac Launchd

起動時、定刻、周期的、何かのイベントが発生したときに特定のアプリケーションを起動させるためのデーモンを作るソフトがあった。Lingon というやつだ。Swedenのlingoberryという果実に由来した名前なので真っ赤なボールがアイコンだ。簡単に作れるらしい。自宅のIRCdをサーバ起動時に自動的に立ち上げるのに試行錯誤したけどこれを知っていたら簡単だったかも。ここに例がある。

Antivirus 2009

自宅のノートの無線カードのドライバがこわれた。カードのメーカーを探していたら、こういうサイトにぶつかった。Google で探したのだが、Googleのキャッシュに残っていた情報を書いたページは見ることができず、自動的にやばいサイトに接続されてしまう。流行りのAntivirus 2009 というトロイの木馬をインストールさせるものだ。

http://mizable.freehostia.com/hay-for-2c/ibm-osa-card.html

リダイレクトされてURLが変わってしまうのだが、普通気が付かない。

2−3秒たってから、

で、 OK でも キャンセル でも関係なく、

あたかも、ウイルススキャンを実施しているような画面になり、

ウイルスがいるぞという警告画面になる。スキャンしているように見えるのは10秒もないかな。本物だったら、こんなに早く終わるわけがない。ウインドウを操作すると

という警告がでて、できない。なにやっても、ファイルダウンロード・プロセスにいっちゃって、ご丁寧にも、どうやってインストールするかの案内まで出て、

ブラウザのダウンロード・ウインドウが出て(これはブラウザの正常な動作)、

デスクトップにインストーラがダウンロードされちゃう。これをクリックしたら一巻の終わり。

で、大学配布のNorton Antivirus Coop. Edit. では検出できなかった。Norton 360 もだめだった。自宅のMcAfee はプロテクションされてダウンロードできなかった。さてどうなっているんだ。ダウンロードしたのはNorton360をインストールしたWinだが無毒化したとは言ってこない。これは問題ないファイルになったんだろうか?それともNortonはだめなんだろうか?

ダウンロードしたファイルを VIRUSTOTAL というところで検査するとすでに解析済みだそうでFraudulent Security Program、Trojan.Win32.Pakes.juuという2つのウイルスを含んでいるとでてきた。

弱ったな、Symantec はインストールして個々のファイルにならないと検出できないのかな。

Canon の ESET Smart Security の体験版をダウンロードして、落としたファイルを検索したら、見事に消去してくれた。

Macintosh のNorton Utility では認識しなかった。

結局のこの乗っ取られたページはhttp://mizabl_hay-for-2c.raiseold.com/index.html?Ref=にリダイレクトするのだが、その後Windows ではこのページにアクセスできなくなった。Mac のFirefox でもだめだが何故かSafari では

http://antivirusfreescan2009.com/2009/9/_freescan.php?aid=880253 にリダイレクトされてファイルが勝手にダウンロードされてしまう。Mac でダウンロードしたファイルをWindows にもっていくと、こんどは別のインストーラのアイコンになってる。こっちの方はもっとウイルスを含んだ完全版だ。

RT57iのVPN設定

ルータをPPTPのVPNサーバにする設定

ルータを VPN サーバにするのは難しくない。ルータのトップページから詳細設定と除法 VPNの接続の設定 Anonymousユーザの追加 で IDとパスワードを作って行けばいい。これはルータへ個々のパソコンから接続する設定である。現段階ではこれしか使わない。拠点間を繋げる用途がないからだ。問題はこの場合の Fire wall の設定だ。セキュリティレベルを上げると通らないからで、セキュリティレベルを下げるわけにはいかないからだ。

ルータの Fire Wall の設定
ルータ内部のネットワークは 19.168.0.0 である。
RT57iの設定画面より、[詳細設定と情報]→[ファイヤーウォール設定]を開き、インターネット接続の設定を行っているインターフェイスの[IPv4フィルタ]の[設定]を開く。
[IPv4 静的フィルタの一覧]の[追加]ボタンを押し、以下のフィルタを追加する。

1)トンネル制御のため

フィルタ:pass(ログなし)
プロトコル:tcp
送信元IPアドレス:*
送信元ポート番号:*
受信先IPアドレス:192.168.0.0/24
受信先ポート番号:1723

追加が終わったら、[IPv4 静的フィルタの一覧]に追加された事を確認し、「入」側にチェックを入れて[設定の確定]を押す。

2)トンネル生成のため

プロトコル:gre
送信元IPアドレス:*
送信元ポート番号:*
受信先IPアドレス:192.168.0.0/24
受信先ポート番号:*

追加が終わったら、[IPv4 静的フィルタの一覧]に追加された事を確認し、「入」側にチェックを入れて[設定の確定]を押す。

受信先IPアドレスは 192.168.0.1 とルータのLAN側のIPアドレスでもいいようだ。ただしWindows のファイル共有を行うためにはポートの135, 137-139, 445 の設定をreject となっているはずだから変更しないといけないんだろうか?。この辺はやってないからわからん。192.168.0.0/24 とすると Windowsのファイル共有ができるんだろうか?この辺がいまいちわかっていない。

次にこのルータ内部から、外のPPTPを使う別のVPNサーバに接続するためにはgre(プロトコル番号47)を外から受け付けるように設定しないといけない。そこで、
プロトコル:gre
送信元IPアドレス:*
送信元ポート番号:*
受信先IPアドレス:*
受信先ポート番号:*
追加が終わったら、[IPv4 静的フィルタの一覧]に追加された事を確認し、「入」側にチェックを入れて[設定の確定]を押す。
とする。
結果はこんな風です。

フィルタ番号99はこの設定と関係ないデフォルトの設定です。フィルタ番号1〜98に該当しない外向けのパケットは通すということです。

LANケーブルの長さ

いわゆるLANケーブルはUTP (Unshielded Twisted Pair) ケーブルのことであるが、最大長は100m となっている。こういう規格は100mまでは保障しますということで、現実には100mより長くても使える。しかし、条件によっては使えない。D棟成端箱から看護医療棟の警備室の成端箱までは確実に100mを越える。実際に線をはわせてみないと分からないのだ。100mを越えるとほとんど光ケーブルしか選択の余地はない。光ケーブルは配線に100万円近くの経費が必要になるのに対して、UTPケーブルだったら20万円以下だ。

予算がない。やっちゃえという事で未経験だけと、UTPケーブルを配線してみた。カテゴリー6である。配線したら140mもあった。D棟成端箱のハブー看護医療棟警備室のハブー215室のハブというわけである。D棟と警備室の間にハブを挟めば問題ないが、生憎共同溝を通すので途中に電源がない。

今日、テストしたら問題ない。パケットのロスとかノイズとか減衰がどのくらいなのか測定器もないからわからない。結果、問題ないから、3年くらいつかえるでしょ。

30年前に住んでいたアパートーStreet View

Google Street View がすごい。早速、30年前に住んでいたBrooklynのアパートにいったら、昔のままあった。この3階に2年間住んでいたのだ。


大きな地図で見る

筑波はまだカバーされていない。ということはこれから写真を撮りにくる可能性があるということだ。立ちx便なんかしないようにしないと。いつ撮影されるかわからないし、写っていたら世界中にばらまかれちゃうからな。

こっちは某助教がこの前結婚式/披露宴を行ったとこだ。

大きな地図で見る

当日の写真ではない。当日は雨だったからな。

Laser Pointer

Laser Pointer を買った。日本では1mW以下しか売っていないが米国では制限がない。米国製を使っていたので特に気を止めていたわけではなかったが、さるプレゼンテーションのとき、明るいけどどこで買ったのだと聞かれた。そこで改めてネットで調べていて、Powerpoint のスライドを次、戻るが操作できるのが売っていたので買ってしまった。赤いビームより緑のほうが明るくて視認性がいいが、国産は高い。コクヨのサシ-81Nだと47,250円もする。1mw、ClassII だ。これと全く同じ型のが米国のサイトで99.75$だ。送料含めても117.25$だ。しかも5mW、ClassIIIaだ。

Mayo Clinicのレポートによると5mWのレーザをfovea に60秒当てると、組織学的なダメージが確認されたとある。そこで”Functional damage could occur within seconds.”という推定がなされたそうな。人の顔面に照射してはいけないという結論だ。当たり前だ。しかし、こんな事やる奴もいる。だから日本の規制が厳しいのだ。どのくらい遠くからできるんだろうか、興味はあるな。

レーザーポインタからリモートで.ppt ファイルの次、戻るを操作する方法は2つあって、赤外線とRF(Radio Frequency) による無線がある。当然、赤外線のほうは、ターゲットにポインターを向けて照射しないといけない。ターゲットは有線のUSB接続だ。リモートの意味がない。無線はレーザポインタがどっち向いていても関係ない。というわけで無線方式のほうがいい。

ある学会でスライドの次、戻るを簡単にするアダプタを作成の試みがあった。いろいろ試行したあげく、不特定の人がプレゼンテーションするときは、パソコンのキーボードでなく、専用のボタンスイッチを作成し、演壇に置くのが良いとなったようだ。ここでも赤外線による指示より無線の方が良いという結論である。ただ無線だと手持ちのレーザポインタのボタンが、当然3つあるので、そして互いの位置が近いので混乱したらしい。しかしいつも使う人、つまり所有者にはこのボタンの位置による混乱の問題はないだろう。学会発表の度にでかい専用ボタンのついた箱を持ち歩くわけにはいかない。

というわけで、国産の弱い光の5万円弱と米国の強い光の1万円強とを比べたら、当然後者のほうがいいに決まっている。1$=110円のレートで4.3倍。しかも全く同じ形状だ。多分、国産は発振出力を弱く調節させてあるだけなんだろ。だからコクヨのを分解して調節すれば出力はもっと増えると思うが、5万円もする新品を分解して調節する気はない。15日以内に届くというメールが来たが、届いたのは10日後であった。

問題は電池が単5であることだ。単5のニッケル水素電池はない。そこで、充電式電池でも使えるように、工作室に単4電池アダプタの作成を依頼した。どうなるかな。できあがったら写真を掲載する。多分、レシーバとポインタが一対なので、レシーバを取り外し可能なチェーンのようなのでポインタと一緒に持ち運べる様にしたほうがいいだろう。バックアップの電池もいる。何かケースもしくは袋を用意する必要がある。附属のケースは単4電池アダプタをつけたら長くなって収容できないからだ。

説明書がA4一枚だけ。USBに接続するレシーバとポインタを互いに認識するための方法は忘れちゃう可能性が高い。一度設定すればいいから忘れても問題はない筈。でも筈は筈でそうはならないことが多い。A4一枚の説明書はどっかになくなっちゃうだろう。ここに書いておいてもこのブログが何年も続くかどうかわからん。でも書いておく。

1)レシーバをパソコンのUSBスロットに差し込む
2)レシーバの中央のボタンを押すと、赤いLEDが点灯する
3)ポインタのNEXT PREVIOUS ボタン両方を3秒以上押し続ける
4)レシーバのLEDが消灯する
5)NEXT PREV ボタンを押す度にレシーバの赤LEDが点灯すればいい。

ソーラー電波腕時計

昨年の今頃、お祝いにソーラ電波腕時計をいただいた。暗闇にしばらく置くと、針を動かさなくなっちゃう。バッテリーの放電を防ぐためだ。12時丁度に針の位置が固定され、光があたると、現在の時刻になる。正方向にしか針が回転しないから11時頃に再起動すると、現時刻に針の位置が達するのにえらい時間がかかかる。なんせ短針は長針が回転しないと動かないからだ。また、充電の程度が低いと、2秒おきにしか秒針が動かない。1ヶ月以上も前から気が付いていたが放置していた。

フルに充電するため、週末はベランダに時計を置いて直射日光の下に置いておいた。電灯の下に置くことも考えたが、充電するために電灯を点けるというのは無駄だ。真夏なので、時計はちんちんに熱くなっていた。いいんだろうか?動作温度なんか分からんぞ。

ようやく、秒針は1秒毎に動くようになった。

ちゃんと、日の当たる道を歩かないといけないということなのか。とほほ。

iCal のdefault alarmを変更する

前にも書いたけど、iCal でスケジュール管理をしている。iCal のデフォルトのアラーム音はBasso で短くて聞き落とす。昔、古今亭志ん生の黄金餅のCDから「えーあいすいません」「おーい焼けてるぞ」「おたんのもうしやす」という部分をとりだしたので、このうち「おたんのもうしやす」をデフォルトのアラーム音にした。古今亭志ん生の黄金餅の落語を聞いた人は、この名前だけでどんな場面にでてきた言葉かわかるだろう。

/Users/[ユーザ名]/Library/Preference/com.apple.iCal.plist に記述する必要がある。がこいつはEditor で開いてもみえない。

こんな記事を見つけた。MacWorld の記事「Change 10.5 iCal’s default alarm sound」だ。ごちゃごちゃ書いてあるけど、要するにPListEdit Proを購入するのが一番はやい。ダウンロードしてインストールして(アプリケーションフォルダにつん込んで);

1)なんといってもオリジナルの/Users/[ユーザ名]/Library/Preferences のcom.apple.iCal.plist ファイルのバックアップを作る。iCalは当然終了して作業すること。

2)com.apple.iCal.plist ファイルをダブルクリックする。

3)PListEdit Pro が起動してRoot の左にある三角をクリックする

4)左上の New Child をクリックすると新しい入力画面がでてくるから、New item をダブルクリックして名前を付ける。Default alarm sound とする。

5)Class は String のままでいい

6)Value にsound ファイルの名前を正確に入力する。日本語でもいい。

7)File から Save を選択する

おっと、その前に肝心のアラームにふさわしいsound ファイルを作るとか探さないと。sound ファイル は .aiff である必要がある。お好みのsound ファイルがあったら、QuickTimePro とかなんかでAIFF フォーマットに変換する。ファイルは System/Library/Sounds に入れておく。名前は日本語でもかまわないがスペースとかがないほうがいいらしい。

Editor で変更するためにはterminal でbinary ファイルであるcom.apple.iCal.plist ファイルをtxtファイルにコンバートして

# plutil -convert xml1 ~/Library/Preferences/com.apple.iCal.plist
でEditor で4行目の<dict>タグの下に
<key>Default alarm sound</key>
<string>name_of_sound_file</string>

の2行を書き加え保存する。name_of_sound_fileのところにsoundファイルの名前が入る。
iCal を起動すると自動的にbinaryファイルになるのだそうな。

失敗したら、変更したファイルをすてて、コピーしてあったオリジナルのファイルの名前をcom.apple.iCal.plistにもどせばいい。