Page 5/16: « 1 2 3 4 5 6 7 8 9 »

2006-12-26

livedoor Wirelessのラの字も考えてないWeb屋のネタ帳の誤読記事

livedoor wireless、MACアドレスによる認証を開始--ニンテンドーDSにも対応
http://japan.cnet.com/news/com/story/0,2000056021,20339983,00.htm

に関して、Web屋のネタ帳の人が
「セキュリティのセの字も考えてないライブドアの公衆無線LANサービス」という記事を書いているのですが、
http://neta.ywcafe.net/000698.html

何か色々間違ってると思うので、書いておきます。これはライブドアの中の人じゃなくて、1ユーザーとしての立場で書いてるのと、あとネットワーク管理者でもなんでもないんで、そこら辺信頼できるかどうかは各自ご判断ください。

まず、実際自分で試してみたのですが、これは接続したい機器のMACアドレスを事前に登録しておくとWEB認証をスキップできるというもので、そもそもWEPキーを入れないとアクセスポイントに繋がりません。なので、Web屋のネタ帳の記事にある、「MACアドレスだけで認証する」というのは間違いです。

もう少しつっこんだことを書くと

- セキュリティ上の懸念はある
- 気になる人はMACアドレスを登録する機器を限定すべき
- MACアドレスを知られただけで不正アクセスの責任を負わされるというのは非現実的

と、個人的には思います。

偽装アクセスポイントの問題

偽装アクセスポイントというのは、livedoor Wirelessに限らず公衆無線LAN全般の問題で、偽のアクセスポイントを設置しておけば自動接続してきた機器のMACアドレスを収集したり、通信を傍受することができる。そういった行為を取り締まる法律やら条例やらがあるかどうかは知らない。そもそも第三者がSSIDとWEPキーが「たまたま」同じアクセスポイントを設置する、というケースも一応ありうるだろう。

なので公衆無線LANに繋がった後に「WEB認証画面を見てURLが正しいかHTTPSで繋がっているかを確認して、本物のアクセスポイントに繋がっていると確証が持てたらユーザー名とパスワードを入力してログインしてください」ということを、記憶が定かではないが小学校の五年生ぐらいで教わったように思う。

つまり、ここで「本来必要なWEB認証画面」が表示されずに使えてしまったら、偽のアクセスポイントを使っている可能性がある、ということになるのだが、MACアドレスを事前登録しておくことでWEB認証がスキップされるので、本物のアクセスポイントを使っているのか、偽のアクセスポイントを使っているのかを判別する要素がなくなってしまう。

という問題があると思うので、万が一偽装アクセスポイントに接続して通信が傍受されても問題ないような機器に限定してMACアドレスを登録するようにしておけばいいんじゃないかと思う。ゲーム対戦とか。アプリケーションレベルで暗号化されてる場合とか。

犯罪に使われるか、タダ乗りできるかどうか

これについてはWEPキーはそもそも認証としては弱いので、総当たりで試すなりlivedoorWirelessの会員に聞くなりすれば突破できるだろう。なので、認証済みのMACアドレスを手に入れて、MACアドレスを偽装すればタダ乗りすることが可能になる。ただし、ゆるゆるとはいっても、パスワードはパスワードなので会員でもないのにlivedoor Wirelessのアクセスポイントを使うのは不正アクセスなんちゃらに該当するんじゃないかと思う。全体からすると信頼できる他人にlivedoor idとパスワードとWEPキーを教えて故意にタダ乗りさせるようなケースの方が圧倒的に多いんじゃあるまいか。

これは全く個人的な意見だけど、正規の利用者がMACアドレスを他人に知られただけで責任を負わされるというのは非現実的だと思う。その人のアカウント経由で犯罪が行われたとしても、どのアクセスポイントを使ったかなんてのは分かるんだから、普通にアリバイを証明をすればいい。ただし、同じMACアドレスで複数のアクセスポイントに繋ごうとした場合に、正規ユーザーにも関わらずアクセス制限をかけられるような可能性はあるんじゃないかと思う。そこら辺の仕組みはlivedoor Wirelessの中の人ではないので知らない。


以上です。
とりあえず、MACアドレスだけで繋がるというのは間違いです。

補足 2006-12-26


実際のところは事前にWEPキー(申込み時にユーザー毎に割り当てられる10文字程度の英数字)を機器にあらかじめ設定しておくことが必要


これも間違い。そういう形態でサービス提供することは不可能だと思う。書いていい話なのかどうかわからないけど自分が知る限りlivedoor WirelessのWEPキーはユーザー毎ではなく全ユーザー共通。これは低価格の公衆無線LANでは(たぶん)一般的なんじゃないかと思う。複数使い分けられるのはあった気がする。

で、もっと安全な認証方法でサービスを提供しているところもあるので、
http://itpro.nikkeibp.co.jp/article/COLUMN/20060306/231816/

その点を指して「セキュリティ上問題がある」というのであれば真っ当な意見なのでその辺は否定しません。サービス概要を見ると「IEEE802.1x認証は後日対応予定」と書いてあるが、具体的にいつ対応するのかは知らない。

livedoor WirelessはWEPキーで暗号化されているので完全無欠鉄壁セキュアです!みたいな宣伝はしてないよね。してたらJAROにTELすればいい。逆に「盗聴される恐れがありますが月額500円!」とか、わざわざユーザーの不安を煽るような周知をしないといかんのか。

そもそも盗聴されて困る情報をインターネットで送るときは暗号化しなさいと小学校の三年生ぐらいで教わるはずなので、その辺のリスクは十分に承知した上で値段とサービスエリアと対応機器と考えて契約すればいいんじゃないかと思います。少なくともNintendoDSで使いたいとかそういう事情があるならWEPしか使えないようだし、MACアドレス認証というのは妥当な方法だと思う。

あと偽アクセスポイントについては普通に業務妨害か何かで取り締まれるんじゃないかと思った。

2006-12-19

Greasemonkeyの本をもらいました

Greasemonkeyスクリプティング TIPS&SAMPLES」の献本をいただきました。ありがとうございます。
いろいろメンテしてなかったり動かなくなってたりすいません。

めんどくさいんでディレクトリインデックス見れるようになってます。
ネタで作ったのとかあまりにくだらないのはエントリ書いてません。
http://la.ma.la/misc/userjs/

ちなみに一番古いのはこれです。
http://la.ma.la/misc/userjs/KuruKuruMixi.user.js

2006-12-16

Firefoxのロゴみたいになっている乾燥機



Firefoxのあのロゴっぽい感じになってます。
乾燥機に衣服が放り込まれているだけなのですが、一体どういう状況でこんなことに……。

2006-12-15

ライブドアのテクノロジーセミナーでしゃべってきました

昨晩はライブドアで開催されたテクノロジーセミナーで「Technologies for UI」という題でプレゼンをやりました。
発表資料はpdfかhtmlで公開する予定ですが、とりあえずテキストだけ先にアップしておきます。

http://ma.la/files/livedoor/seminar2006/seminar.txt

プレゼンツールがFirefox専用だったりするので、これも少し手直しして公開予定です。
こういう機会があるたびにプレゼンツールを作ってるような気がします。

----
追記:12/15

ライブドアのtechblogの方に発表資料をアップしました。
http://blog.livedoor.jp/techblog/paper/ldtech2006/

上下カーソルキーでページをめくれます。

2006-12-14

Wiiのリモコンを使ってプレゼンする方法

id:naoyaに先に書かれてしまったのですが、昨日はWiiリモコンとDarwiinRemote(日本語FAQ)を使ってプレゼンしました。



MacBookだと最初からBluetoothを認識できるので、DarwiinRemoteを起動すれば特に何もしなくて使えます。

Windowsでプレゼンに使うための方法はITMediaの記事に詳しく載ってます。
http://www.itmedia.co.jp/bizid/articles/0612/08/news120.html

信頼のおけるブロガーの人が、例のWiiリモコンを持って来ると事前に聞いていたので、ジャックされるんじゃないかと心配の種でした。

2006-12-08

document.lazy_writerをバージョンアップ

先日書いたdocument.lazy_writerをバージョンアップしました。
http://la.ma.la/misc/js/lazy_writer/

ロードするスクリプトのURLが動的になっているケースも多いので、
- URL指定の文字列を部分一致に。(完全一致するパターンがある場合はそちらを優先)
- 正規表現でパターンを指定できるように
- 関数でパターンを指定できるように

しました。

以下サンプル。

// 適用するURLを正規表現か部分文字列で指定できます。
document.lazy_writer(/google/, function(str){ /* your custom document.write */ });
document.lazy_writer("google", function(str){ /* your custom document.write */ });


他の条件を絡めたいときは、関数で実行条件を指定することが出来ます。
// 今見ているページのURLが.htmlで終わっていれば適用する
document.lazy_writer(
    // 実行するか判別するための関数
    function(url){ 
        return (
            url.indexOf("google") != -1
            && /\.html$/.test(location.href)
        )
    },
    // 実行する関数
    function(str){/* your custom document.write */}
)

// 常にalertを使って出力、デバッグ用
document.lazy_writer(
    function(url){return true},
    function(str){alert([this.current_script.src, str])}
)

という具合。個人的に必要な機能は一通りそろったと思うので開発終了。

2006-12-06

ページレンダリングを妨げないdocument.writeの実装

とてもシンプルに自分自身が属する script 要素を取得
http://d.hatena.ne.jp/amachang/20061201/1164986067

document.writeをDOM仕様にする
http://nyarla.net/blog/javascript-tips1

あたりに着想を受けて、作ってみました。
http://la.ma.la/misc/js/lazy_writer/

特定のscript src内のdocument.writeをピンポイントに置き換えることができます。

制限事項としては、document.writeを使ってscriptタグを生成するようなコードの場合、IEではinnerHTMLにscriptを書いても実行されないという仕様があるので実行されません。その点を除けば、IFRAMEをdocument.writeで挿入するような、良くある広告系のdocument.writeを置き換えることが可能です。

過去にもdocument.writeを書き換えてナントカする話を書いたりしてるのですが、現在実行されているscript要素を判別する方法がわかったので、より実用的になっています。

2006-11-17

Google Code SearchのOpenSearchファイル

Google Code Search
http://www.google.com/codesearch

が、便利なので、Firefox2とかIE7にGoogle Code Searchを追加する用のページを作った。

http://la.ma.la/misc/nora_opensearch/googlecodesearch.html

Firefox2のポップアップブロックについて調べてみた

なんかFirefox2ではポップアップブロックの挙動が変わってるというらしく、ポップアップを許可したサイトでもブロックされるというのでコメントをしたんだけど認識が違っていたようなので、気になってソースを読んで調べてみたりしたので、わかったことをメモしておく。

Firefoxのポップアップブロックの挙動


- 許可サイトでなくても、完全に許可されるポップアップがある
-- ボタンやイベント設定された要素の左クリック
-- Enterキーか、スペースキーでボタンが押された場合(onclickが呼び出される操作)
-- ユーザーの設定に関わらず許可される、30個だろうと開く
--- これを防ぐのが「browser.tabs.maxOpenBeforeWarn」?

- 許可サイトでなくても、個数限定付きで許可されるポップアップがある
-- フォームの値変更なんかで開くポップアップ。
-- dom.popup_allowed_eventsに指定されているイベントタイプかどうかで判別。
-- デフォルトでchange click dblclick mouseup reset submitが登録されている。
-- デフォルトで20個まで許可される。(dom.popup_maximumの数値)

- 上記パターン以外のポップアップはブロックされる
-- 自動で表示されるポップアップなど、基本的に全部。
-- そのサイトを許可リストに入れている場合、20個まで許可される。(dom.popup_maximumの数値)

サイトまたはドメインでポップアップを許可していても、「dom.popup_maximum」の数値に引っかかってしまうようだ。逆に、許可した覚えのないサイトでも、ボタンのクリックであれば無制限にポップアップが開くし、許可パターンに一致していれば20個まではポップアップが開く。

感想

- せっかく情報バーというわかりやすいUIがあるのに何でこんなややこしいことをしているのか理解できない。
- ユーザーが許可していてもブロックされることがあるというのは明らかに不自然。

で、livedoor Readerでブロックされるという件だけど、キー操作でウィンドウを開くってのはユーザーが起こしたイベントに紐付いたwindow.openではあるのだけれど、タイマーを使って順次開いたりしているので、ブラウザ側で判別するのは難しいだろうと思う。なんにせよサイトで許可していても開かないことがある、っていうのは、説明しづらくて非常に困る感じがする。(今のところabout:configやら拡張やらでdom.popup_maximumを増やすしか無いようだ。)

2006-11-10

2006-11-07

[あとで消す] 今年のベストサイトを選ぶ「Web of the Year 2006」にlivedoor Readerがノミネートされませんでした!

この度、ソフトバンク クリエイティブ株式会社「Yahoo! Internet Guide」が主催する「あなたが選ぶホームページ大賞~2006年の日本のベストサイトはこれだ!」の「ウェブ情報源部門」にlivedoor Readerがノミネート!されませんでしたのでお知らせいたします。

「Web of the Year」は毎年、一般投票によってその年の「ベストサイト」を選ぶというもので、昨年は9万票以上の票を集めた業界最大規模のオンラインイベントとなっています。

投票は、2006年11月19日(日)までとなっておりますので、この機会にぜひ奮ってご参加ください。

2006-10-29

Synergyの裏設定「switchDoubleTap」を知らない人が多すぎる

LANで繋がっているマシンのマウスとキーボードを共有してWindowsとMacをつなげたりといったことが出来るSynergyというツールがあるのですが、Synergyの設定ファイルに
section: options
    switchDoubleTap = 250
end

などとやると、デスクトップの端っこをコンコンと二回タップしたときだけ画面が切り替わるようになります。切り替える際に一手間増えることになりますが、そんなに頻繁に画面を切り替えるわけでもないのでさほど気になりません。WindowsのサーバーだとOptionsの中に項目があります。トラックボールを使うようになってから暇なときはボールを勢いよく転がして遊んでいるのですが、デスクトップが頻繁に切り替わってしまって鬱陶しいことになります。また、最近ではホイールを使うのでスクロールバーを使わないという人も多いかとは思いますが、スクロールバーにカーソルを合わせようとして画面が切り替わったりしてしまう、という状況も防ぐことが出来ます。

というわけで、この設定は非常にオススメです。

see also:
http://synergy2.sourceforge.net/configuration.html

ThinkPadのトラックポイントの替えキャップがAmazonで売ってる

一年前ぐらいから売ってるみたいですね。知らなかった。



2006-10-27

Gmailで未読のみ表示を切り替えるGreasemonkeyスクリプト

検索条件のis:unreadを付けたり外したりするボタンをくっつけるだけです。

http://la.ma.la/misc/userjs/gmail_unread_toggle.user.js

なんか無理やりくっつけた感じになりますが、案外役に立ってます。

2006-10-25

Firefox2.0に任意のRSSリーダーを追加する方法

ここに書いてある。
http://developer.mozilla.org/ja/docs/Adding_feed_readers_to_Firefox

javascript:なリンクで書ける。
livedoor Readerを追加

別にRSSリーダーじゃなくてもいいかなと思ったので、
FEED Validatorを追加
してみた。