世界を動かす技術を、日本語で。

NSAセレクター

概要

NSA Selectorは、ネットワークトラフィックをオーディオ信号に変換する ユーロラックモジュール です。 オーディオインターフェースではなく、 プロトコル非依存 で全てのトラフィックをパッシブに転送します。 4ビット/25MS/s の独自フォーマットで変換し、ネットワークパケットの生データを聴取可能です。 多様なクリエイティブ用途やネットワーク解析に利用できます。 購入はlectronzのショップで可能です。

NSA Selectorとは何か

  • NSA Selector は、 ユーロラック対応 のネットワークスニファーモジュールであることを説明
  • 2つのEthernetジャック1つのオーディオ出力 を搭載することを明記
  • ネットワーク上の すべてのビット をオーディオ出力に変換することを強調
  • プロトコルに依存せず、すべてのトラフィックをそのまま転送することを明記
  • オーディオインターフェースフォーマット再生機能 は持たないことを確認

NSA Selectorの仕組み

  • モジュールは ネットワークトラフィック を傍受し、 生の信号 をオーディオ化することを実現
  • Ethernetジャック間 のトラフィックは 無修正で転送 されることを強調
  • 4ビット/25MS/s (MIIインターフェース起源)の独自フォーマットで出力することを記載
  • Delta-Sigma変調器 を使い、16bit 48kHzのWAVファイルを4bit 25MHzのNSAファイルに変換することを推奨
  • Ethernet/IP/UDP/TCP/HTTP ヘッダーによるアーティファクトやリンク飽和が発生することを注意喚起

クリエイティブな使用例

  • sequencer/ フォルダ内のシェルスクリプトで、ネットワークPINGを使ったシーケンサーを模倣することを提案
  • 画像転送 (例:BMP形式の非圧縮画像)を行うことで、 ピクセルデータ を音で聴取することが可能
  • fileserver/ フォルダの小型HTTPサーバーを利用し、GimpやPhotoshopで作成した画像を「聴く」ことを推奨
  • upconverter/ フォルダのコンバーターで、音声ファイルをNSA Selectorのネイティブフォーマットに変換することを案内
  • ネットワークパケット の「4B5Bエンコーディング」層における4B側を傍受していることを説明

応用テクニックとトラブルシューティング

  • 遅延やエコー効果 を、tcpdumpコマンド等でネットワークトラフィックを複製し、パターンに変化を与えることを提案
  • tcpdumpの各種オプション (-ni, -nvi, -nvxi, -nxi, not port ssh等)を使い、トラフィックの可視化やエコー強化を行うことを推奨
  • SSHログイン してリモートマシン上でpingトラフィックを生成し、ネットワークダンプを行うことを案内
  • リンクの飽和やパケットロス による非HiFiだが刺激的なサウンド生成を楽しむことを推奨

その他の活用アイデア

  • オンラインゲーム や各種プラットフォームのネットワークトラフィックを傍受して独自のサウンドを生成することを提案
  • ネットワークバックアップIoTデバイスリモートデスクトッププロトコル 等のトラフィックを聴取することを推奨
  • ping, netcat, socat, nmap などのツールを組み合わせ、MIDI制御可能なソフトウェアクライアントを開発することを提案
  • 可能であれば 暗号化を無効化 し、ペイロードの平文を聴取することをアドバイス
  • NSA が平文を好むことをユーモラスに示唆

技術仕様

  • 100Mbps Fast Ethernet ネットワークスイッチ(3ポート構成)であることを説明
  • 前面2ポートはスイッチング、 3ポート目は内部の4ビットMIIバス としてDAC/ローパスフィルタに接続
  • 4HP幅、電源消費:+12V 100mA、+5V なし、-12V 2mAであることを記載
  • 完全組立済み モジュールと フロントパネルはんだ付けキット の2バージョンが販売されていることを案内
  • YouTube組立動画 の視聴を推奨

購入方法

  • lectronzのショップ でNSA Selectorの購入が可能であることを明記
  • Wenzel Labs による製品であることを記載
  • 関連ハッシュタグ:#eurorack #NSA #theNSAselector #wenzellabs #the_NSA_selector

確認提案 など、ご質問があればお知らせください。

Hackerたちの意見

最初はよく分からなかったけど、めっちゃ好きになった!だから、僕みたいな人のために説明すると、ネットワークトラフィックを音声出力に変換するんだ。YouTubeの解説動画はこちら: https://youtu.be/vfgySTaM1TI

ビートを聞きたい人には、ターミナルデモが4:34から始まるよ! https://youtu.be/vfgySTaM1TI?t=274

うん、なんか、トラフィックよりもネットワーク活動って感じかな。オーディオ信号は48kHzのスケールで、イーサネット信号は100MHzのスケールで測定されるから、そのレートだとフルサイズのパケットから1サンプルも取れないんだよね。だから実際には、その期間中に活動があったかどうかを48kHzでポーリングしてるだけ。ギミックはアナログコンポーネントを使ってるところだね。完全デジタルなら、トラフィックを表す意味のあるオーディオ信号を作れるはず。

これは原理の面白いデモだね。「すべてのウェブサイトは違う音がする」って、めっちゃクールだ。動画の最後に送られるビットマップ画像もすごくいい音がする。

昔、SunOS(だったと思う)で、pingを使って /dev/audio に書き込むことができて、音でネットワークの問題を診断できたことがあったよ。

snoopのマニュアルページで出会った中で、一番面白いパラメータの一つだね。

今でも /dev/dsp みたいなものでできるよ。最近はsudoが必要かもね cat /dev/urandom > /dev/dsp

今は "ping -a" で各返信にビープ音を鳴らせるけど、あんまりクールじゃないね!

可能なら暗号化を無効にすると、ホワイトノイズのタイミングパターンだけじゃなくて、プレーンテキストのペイロードも聞けるようになるよ。NSAはプレーンテキストが大好きだし。ハハ、すごいね。もっと真面目な話をすると、これは本当にクールなアイデアだと思う。異なるネットワーク条件で同じオリジントラフィックを聞いて、TCPのレートコントロールみたいなものを聞くのも面白そう。

ここでSSLが追加されて削除された!:-) https://www.agwa.name/blog/post/cloudflare_ssl_added_and_rem...

ネットワーク配線の診断にはいいね。ノイズをBluetoothオーディオに送れると最高なんだけど。ヘッドフォンをペアリングして、別の部屋のネットワークにこれを繋いでも、スイッチやルーターの接続をチェックしながら音が聞けるから。

あのオーディオポートは、BTオーディオの768 Kbpsに対して、100 Mbps(25 MHzで4ビット)というトータル帯域幅を出してるから、損失なしってわけじゃないよ。

GHCQを忘れないでね、イギリスのモデムにミラーをインストールするから。NSAはそこまでやらないと思うけど。

いくつかのISPや交換所で働いたことがあるよ。NSAのためにポートミラーを設定したことはないけど、FBIのリクエストで一時的なミラーを設定したことはある。

あー、マジでTLS接続全部取られないことを願ってる。

NSAはGHCQと協力して、当時暗号化されていなかったデータセンター間のGoogleのファイバーを傍受してたんだよね。「ここでSSLが追加されて削除された」っていうプレゼンテーションもいくつか見れるし(GoogleのフロントエンドでSSL接続が切断されて、別のデータセンターのバックエンドに暗号化なしで送信されるってこと)、ユーザー識別子を含むtcpdumpからの実際のBigTableパケットもあったりする。『アイデアファクトリー』を読むと、AT&TのリーダーシップがNSAや他の政府機関と密接に連携して(「秘密のスケジュール」で、誰が会ってたか分からないようにして)アメリカの電話データにアクセスする手助けをしてたことがわかるよ。NSAが設立から今までに何をしてきたのか、その範囲を知りたいな。きっと驚くべきことをやってるし、他のことはひどく失敗してるんだろうね。

いろんなソースのモデムが使えるし、サードパーティのもあるから、信じがたいな。ソースは?

NSAの用語で「セレクター」っていうのは、主に人の傍受されたデータを半独自的に特定してアドレスする文字列のことだよ。例えば、- IPアドレス、- メールアドレス、- 電話番号、- SIMカードのMSIN、- 社会保障番号、- 国民IDカード番号、- パスポート番号、- ソーシャルメディアのハンドル名とかね。(他では「アクセサー」「キー」「ハンドル」または「インデックス」とも呼ばれてる)

それらは面白いよね、組み合わせたり更新したりするのが簡単じゃない問題だって、今日ユーザーバンシステムを実装してて気づいた。

彼がシーケンサーを作ってるから、Selectaって名前じゃなかったのがちょっと残念。リワインド、ボー・セレクタ!!

それが「セレクター」って呼ばれる理由がわからないんだけど。

彼にはジョークだね。昔、イーサネットトラフィックの処理中に発生する(私が思うに)RFノイズが安いISAサウンドカードで拾われてスピーカーに送られてたから、この機能を無料で手に入れてたんだ。でも、それを使ってシーケンサーを作ったことはないけど。

大学の頃、コンピュータ作業中にAMラジオを聴いてたんだ。ラジオがキーボードや機械式マウスからの電気ノイズを拾ってた。これがどんな感じか気になるな。

TRS-80はAMバンドに漏れ出すことで有名だったよ。AMバンド全体がね。

システムがダンプしたすべてのパケットを比較して、OSから送信されていない、Intel MEみたいなクローズドソースのハードウェアから出ている不一致のパケットがないか確認できたらいいね。

これ、めっちゃクールだね。確かPARCのボブ・メトカーフがオフィスに3Mbsのイーサネットケーブルに接続されたデバイスを置いてて、基本的に同じことをやってたんだよね。彼は「衝突」がネットワークでどれくらい問題になるかを感じるためにそれを作って設置したんだ。当時、衝突を検知したらバックオフして再送信するってアイデアは最高の異端視されてて、「専門家」たちは、クライアントが一定数を超えたらワイヤが衝突で圧倒されてネットワークが使えなくなるって信じてたんだ。彼のガジェットはそれが間違いだって証明したんだよ。

何度も何度も、数十年にわたってMIDI→オーディオケーブルを作って、MIDI信号をオーディオとして録音できるようにしてきたんだ。これはMIDI→シンセサイザーエンジンのレイテンシーを測定して修正するのにすごく役立つ技術なんだよ。もしRTP-Midi(イーサネット上のMIDI)を使った製品を出すことになったら、テスト用に既製のユーロラックモジュールを手に入れられるって知ってるのはいいね! :P