「電話に関するセキュリティ」と聞いて,多くの人の頭に浮かぶのは,通信内容の秘匿性だと思われる。憲法第21条第2項で規定されている「通信の秘密は,これを侵してはならない」という条文はよく知られている。しかし,一方で通信内容の漏えいや盗聴といった問題は,愉快犯のレベルから,社会的,経済的に大きなインパクトを与える問題まで様々なレベルで発生している。

 電話システムの盗聴は古くて新しい問題であり,対象デバイスや手法も多岐に渡る。最近でも電話機に盗聴器を仕掛けられた事例や,海外の通信キャリアの技術者が興味本位で盗聴していた事件などが問題になった。一般の企業に関しても,例えば海外ではVoIPシステムを使っている金融系企業の通話が社外から盗み聞きされていた事例がある。筆者の経験では,あるシステムにおいて,シグナリング・パケットを悪用することで,発信や着信をなりすまし,呼を横取りしたり,勝手に電話を切断したり,といったことができてしまうケースがある。今回は盗聴に関する手法を中心に解説する。

様々な攻撃手法,盗聴の影響は2段階

 通信内容を盗聴する場合,IP電話であればIPパケットを盗聴することになる。盗聴したパケットから発着信記録や通信内容を取得するだけでなく,取得した認証情報を不正利用するなど,パケットの盗聴には2段階の危険性がある(図1)。

図1●音声パケットの盗聴による被害
単に通話内容が知られるといった被害だけでなく,認証情報の不正使用やダイアログ情報の不正利用といった2次被害も考えられる。
[画像のクリックで拡大表示]

 パケット盗聴の方法は様々である。「リピータ・ハブを挟み込む」,「スイッチング・ハブの脆弱性を利用する」,「Wireshark(オープンソースのプロトコル解析ソフト)などのパケット・スニファを使う」,さらに「無線LANの盗聴」などが挙げられる。これらは探せばいくらでも情報があるのでここでは割愛し,盗み見たパケットをSIP(session initation protocol)上で悪用する具体的な内容を以下に示す。

反射攻撃(Replay Attack)

 反射攻撃とは,盗み見たパケットの一部を改造し再利用する攻撃のことである。例えば,SIP端末からの,認証ヘッダのついたINVITEメッセージを盗み見て,元のメッセージのViaヘッダやContactヘッダを攻撃者自身のアドレスに変更する。すると,正しいユーザーのパスワードを知らなくても通話ができてしまう場合がある。また,着信者に知らされる番号は正規ユーザーのものなので,着信者をだますことにもつながる。一方,この攻撃をREGISTERリクエストに悪用すると,正規のユーザーに着信せず呼の横取りができたり,着信不能にすることができる。

ダイアログ横取り

 SIPでは,SIPヘッダの中に含まれているFromヘッダ,Toヘッダ,Call-ID,Contactヘッダなどをダイアログ(対話,やり取り)の識別に用いている。SIPメッセージのやり取りを盗み見て,これらを合わせたSIPのリクエストを送ることで,呼の横取り,強制切断,盗聴といった事ができてしまう。

 こうした盗聴したパケットを悪用する攻撃は,前回説明したDoS攻撃と比較して,実行が難しい。というのは,SIPに詳しく,かつ高度な技術が必要になるからだ。このため,実行に移される可能性はDoS攻撃などよりは低い。しかし,パケットの盗聴は,不特定多数への攻撃ではなく,特定の個人を狙った攻撃となりうる。攻撃者の観点からすると,効率のよい攻撃と言える。例えば,企業の役員の通話を横取りしたり,役員をかたって第三者に発信するケースを想定すると,実行された場合のリスクはDoS攻撃よりも大きい場合がある。

攻撃を防ぐには?

 SIPやRTP(realtime transport protocol)自体で,これらの攻撃を防ぐことは難しい。SIPの標準ではTLS(transport layer security)を使うことも可能だが,VoIP(voice over IP)の世界ではTLSではなく,UDP上のSIPが使われていることがほとんどである。また,SRTP(RFC3711)やZRTPといったRTPの暗号化技術も存在するが,ベンダー間の相互接続性に課題があり,なかなか普及していない。

SIPやRTPの暗号化

 社内の内線電話など,仕様の統一が可能であれば,TLSおよびSRTP/ZRTPに対応したIP電話システムを導入することで,通話内容を秘匿することが可能だ。また呼の横取りや強制切断といったことにも対処できる。しかし,送受信するIPアドレスを隠蔽するものではないので,誰がいつ誰と通話したか,という通話記録は盗み見られてしまうかもしれない。また社外との通話に通信事業者経由で接続する場合は,一般的にUDPベースのSIPおよび暗号化されていないRTPに変換するゲートウエイが必要になる。

低レイヤーでの防御

 前述の通りSIPやRTP自体で盗聴を防ぐのは難しいため,下のレイヤーで防御することが必要になる。(1)プロミスカス・モード(全パケットを受信するモード)で動作している機器を検出するソフトを使用する,(2)802.1x対応のレイヤー2スイッチで接続機器を認証し,不正端末をつなげさせない,(3)データ網とVoIP網を物理的に分けたり,VPNを使用してSIPやRTPのパスを丸ごと暗号化してしまう方法――などが挙げられる。

杉岡弘毅 (すぎおかこうき)
ネクストジェン ネットワークセキュリティ本部長
ネクストジェン起業時から参加し,SIP関連のシステム検証やSEなどに従事した後,現在はセキュリティ関連調査や技術開発に従事している。