cNotes 検索 一覧 カテゴリ

IPv6アドレスで表現されるものに人は何を感じるか?

Published: 2010/07/09

「facebook」の「face」

たとえば、こんなのを見て

 www.v6.facebook.com has IPv6 address 2620:0:1cfe:face:b00c::3

。。。ふと思ったのですが、

IPv6アドレスって表現力が豊かだなと。見た目の。


IPv4は、

  • xxx.xxx.xxx.xxx
  • xxx=0〜255

だったわけですが、

IPv6は、

  • 使用可能文字 0〜9、a〜f
  • xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
  • xxxx=0000〜ffff

になるわけですね。

これだけの文字が使えれば、いろんな表現ができそうだなと。

単純に使用可能な文字だけでも表現力は豊かですが、

いわゆる「leetspeak」とか「hexspeak」みたいな表現方法を利用すればより一層表現の幅が広がります。


若干話はそれますが「heaxspeak」というのは見たことがある方も多いと思いますが、メモリやデータに異常データの目印をつけるときに使うマジックナンバーを見た目にも分かりやすくしたもので、単語表現を広げるために「0」を「O」に、「5」を「S」に読み替えて当て字したりします。

ブルースクリーンに表示される文字列の中で見ることもありますし、linuxやbsdのソースコードでマジックナンバーを検索するといろいろ見つかります。

たとえばWikipediaにある例を一部抜粋するとこんなの。

  • 0xBAADF00D ("bad food") ― Microsoft WindowsのLocalAlloc関数の第一引数にLMEM_FIXEDを渡して呼び出してメモリを確保した場合に、ヒープに確保されたメモリが初期化されていないことを表す値として使用されている。
  • 0xFEE1DEAD ("feel dead") ― Linuxのrebootシステムコールでマジックナンバーとして使用されている。
  • 0xC0ED ("coed") ― Linuxのmountシステムコールでマジックナンバーとして使用されている。
  • 0xBADCAB1E ("bad cable") ― Microsoft eVCデバッガにおいて、コネクションが切断されたときにデバッガに返されるエラーコードとして使用されている。
  • 0xFEEDFACE ("feed face") ― Mach-Oバイナリのヘッダとして使用されている。また、OpenSolarisのwatchmallocで不正なポインタを示す値として使用されている。
  • 0xDEADDEAD ("dead dead") ― Windows NTベースのOSで、専用のキーストロークによって強制的にブルースクリーンを発生させた際のSTOPコードとして使用されている。

「leetspeak」というのはハッカーさんがつかったり、chatでつかったりする文字表現ですね。hackspeakと同じように数字をアルファベットに当て字します。


またそれ以外にも、直接的な文字列表現ではないですが、日本語的にはポケベル時代を思い出させる表現もフル活用できるわけです。

 0840          おはよう 
 0833          おやすみ 
 141064 821    あいしてるよ はにー
 11044     いってよし

で、これらの表現の範囲内でIPv6で使えそうな4文字以下の単語の例としてはこんなのがあります。ストレートなものから中にはちょっとってのもありますが。

 01d     old
 0ff     off
 11fe    life
 5107    slot
 5ad     sad
 5eed    seed
 900d    good
 a11     all
 b007    boot
 b19     big
 ba11    ball
 bad     bad
 beaf    beaf
 be11    bell
 be7a    beta
 cafe    cafe
 c001    cool
 c0ca    coca
 d1e     die   
 da7a    data
 da7e    date
 dead    dead
 deb7    debt
 ec0     eco
 f00d    food
 face    face
 fa57    fast
 feed    feed
 feel    feel

たとえば/64が割り当てられた場合、

 XXXX:XXXX:XXXX:XXXX:****:****:****:****

*の部分に自分の名前が表現できるなら書いても、なにかのメッセージを込めても、復活の呪文を書いてもいいんじゃないかと。

 XXXX:XXXX:XXXX:XXXX:900d:face:****:****
 XXXX:XXXX:XXXX:XXXX:feel:900d:****:****

フリーダイアルでよく見る特定業界向けなプレミアムな感じの数字の使い方もありかも。

パチンコ屋に

 XXXX:XXXX:XXXX:XXXX:0777:0777:0777:****
 XXXX:XXXX:XXXX:XXXX:5107:777:****:****

焼肉屋に

 XXXX:XXXX:XXXX:XXXX:900d:beef:****:****

とか。

いろいろポジティブな使い方があるんじゃないかと。


という話なんですが、実は一番気になったのXXXXの部分に変な文字列が含まれる形でISPさんなりから割当らてしまった場合はどういうことが起こるんだろうかと。

ネガティブ表現が含まれる場合です。

現実問題としてありえないものも含まれているかもしれませんが、一応例で。

たとえば、自分にアサインされたアドレスがこんなんだったらどうでしょうか?

 XXXX:XXXX:XXXX:dead:****:****:****:****
 XXXX:XXXX:0a11:dead:****:****:****:****

こんな、ありえないかもしれない例ですが、なんかの予言めいたのとか。

 XXXX:2012:0a11:dead:****:****:****:****

先程のポジティブな例とは逆パターンで飲食店に

 XXXX:XXXX:0bad:f00d:****:****:****:****
 XXXX:XXXX:0bad:cafe:****:****:****:****

焼肉屋に

 XXXX:XXXX:0bad:beef:****:****:****:****

ISPさんやってたりするとドメインやメールアドレスなどに使う文字列としては、直接的なものは当然、直接的ではなくても差別的なもの公序良俗に反するものを連想させる単語は使わないようしていると思います。black、white、yellow、pinkなどの色についてはよく言われると思いますが。peachとか果物の名前その他でもいろいろ指摘を受けてしまうと思います。

で、IPv6アドレスは、メールアドレスやドメインに比べて人目に付くものではないものなのかもしれませんが、絶対に有り得ないと思っているものほど奇跡的な確率で問題になることをISPではよく経験します。

先程の例の

焼肉屋に

 XXXX:XXXX:0bad:beef:****:****:****:****

CAFEに

 XXXX:XXXX:0bad:cafe:****:****:****:****

みたいな例が。

プレミアムなアドレス表現でポジティブな面もあるわけですが、当然表裏一体で、ネガティブな要素があるわけです。

ポジティブな内容や、ネタに出来る人はいいと思うのですが、

気にされる方はかなり気にされるものだと思うのですが、、、

どうしたものでしょう。。。

極端な話、使用禁止アドレスというものを運用上、サービス提供上決めないといけなくなりそうな気がします。が、だとするとかなりアドレスの利用効率は悪くなることになるのでどうしたものでしょう。。。。。

そもそも各NICからISPへの割り当てが「DEAD」含みだったらどうするんでしょうね?

経路上はありますね。。。


で、話は変わって、セキュリティ的な話に無理やり結びつければ、たとえば、ソースアドレスにこんな文字を埋め込んでボットにパケットを送りつけることで命令を伝えられるんじゃないかとかいう妄想も。。。

 XXXX:XXXX:XXXX:XXXX:dd05:c0a8:0001:0750:****
 
 「DDOS 192.168.0.1 TCP 80」的な。。。

その他DDoSの攻撃パケットのソースアドレスが

 XXXX:XXXX:XXXX:XXXX:dead:dead:****:****

みたいなのもありかも。

[カテゴリ:IPv6観察日記]

by jyake