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プロキシの使用
- 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もプロキシ経由にするのが安全。
- 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にはデフォルトでインストールされている。