7.OS/通信の匿名化技術

さらなる匿名化のヒント(悪用厳禁)

6.1. OSレベルの匿名化

6.1.1. Whonix-Gateway

Virtual Box上に導入するWhonix付属の仮想マシン。 ゲストOSの内部ネットワークとして機能しTorを介した接続のみ許可する。またDNS漏れ対策なども兼ね備えている。 またゲストOS上でVPNに接続することでVPN over Torも可能になる。

6.1.2. Anonsurf

Whonixなどの仮想マシンを通さずLinuxの通信全体をOS単体でTor/I2P経由にするプログラム

インストール

以下はkali linuxにインストールする方法。

sudo git clone https://github.com/Und3rf10w/kali-anonsurf cd kali-anonsurf/ sudo ./install.sh

anonsurfの使用

# スタート/再起動/停止 sudo anonsurf start sudo anonsurf restart sudo anonsurf stop # 現在のIPの確認 sudo anonsurf myip # Tor IDを別のIDに変更 sudo anonsurf change # Anonsurfが適切に起動しているか確認 sudo anonsurf status

6.1.3. Hidden VM

VirtualBoxなどの仮想化ソフトウェアの使用形跡をOSに残さないためのツール。 Tailsなどに他のOSを導入したい際に使用できる。

https://github.com/aforensics/HiddenVM

6.2. 通信の更なる匿名化手法

6.2.1. プロキシチェーン

Proxychains

Proxychainsは通信を多段のプロキシサーバを経由することができるツール。

Proxychainsを使用するとアプリケーションが直接外部のサーバーと通信する代わりに設定したプロキシサーバーを経由して通信を行うことができる。これによりアプリケーションの通信を匿名化したり、セキュリティを強化することができる。

https://github.com/haad/proxychains

Proxifier

ProxifierはWindows上で動作する通信をプロキシサーバ経由して行うためのアプリケーション。

6.2.2. SOCKSプロキシ

SOCKSプロキシの概要

SOCKSプロキシはクライアントに代わり他のサーバーへのTCP接続を確立し、クライアントとサーバー間のすべてのトラフィックをルーティングするプロキシサーバー。
Webトラフィック用に設計されたHTTPプロキシとは異なり、SOCKSプロキシは汎用性が高く、HTTP、HTTPS、SMTP(電子メール)、FTP(ファイル転送)などのあらゆる種類のインターネットトラフィックを処理できる。 この柔軟性により、SOCKSプロキシは幅広い用途で使用できる。

SOCKS(Socket Secure)はOSIモデルの第5層(セッション層)で動作する。
これにより、クライアントとサーバーの間に透過的なトンネルを作りデータパケットが干渉されることなく送受信できるようにする。 SOCKSには主に2つのバージョンがある

  • SOCKS4
    • TCPのみ対応。認証機能なし
  • SOCKS5
    • 認証方法をサポートし、TCP/UDPの両方のトラフィックを扱うことができる

SOCKSプロキシの用途と注意点

用途は以下の通り。

  • 生IPアドレスの隠匿
  • 地域制限/ファイヤーウォール回避
  • P2P(BitTorrentなど)との併用
  • Torとの連携

SOCKSは基本的にはVPNのように暗号化は行わない(平文転送) そのため多くの場合VPNやTorと併用される。

SOCKSプロキシの使用

  1. TorのSOCKS5ポートの使用例

Torを起動すると127.0.0.1:9050でSOCS5サーバが立ちあがる。
curlの場合以下のように使用してTor経由でリクエストを送れる。

curl --socks5-hostname 127.0.0.1:9050 http:/www.example.com

DNSリークを防ぐにsocks5hオプションを使ってDNSもプロキシ経由にするのが安全。

  1. SSHトンネルでSOCKSプロキシを生成する

以下コマンドの場合、localhost:1080 にSOCKS5プロキシが構築され、ブラウザやcurlなどで利用可能となる。

ssh -D 1080 -q -C -N user@remote-server

6.2.3. ミックスネット(mixNet)

ミックスネット(Mixnet)は通信をランダムにミックス(混合)し、誰が誰に送ったか分からなくする技術のこと。
代表的なMixnetプロジェクトにはNymがある。

高度な匿名通信(メッセージ)に利用される。

6.2.4. dVPN(分散型VPN)

分散型VPNはP2Pネットワークで提供されるVPNサービスのこと。 ユーザー同士が帯域を提供し合うことで構築される。

6.3. MACアドレスの偽装

6.3.1. GNU MAC Changer

MACアドレスを偽装するためのLinux向けのソフトウェア。 公共Wifiなどの接続の際にVPNと合わせ使用することを勧める。

なおTailsにはデフォルトでインストールされている。