他社のシステムに侵入する『ペネトレーションテスト』を業務とする筆者が、
攻撃者の目線でセキュリティ対策について考えます。
株式会社トライコーダ 代表取締役 上野 宣 氏
奈良先端科学技術大学院大学で情報セキュリティを専攻。2006年に株式会社トライコーダを設立。ハッキング技術を駆使して企業などに侵入を行うペネトレーションテストや各種サイバーセキュリティ実践トレーニングなどを提供。
コロナ禍によって急激な勤務形態の転換を迫られ、突然リモートワークをすることになった企業の中には、そのタイミングでVPNを導入したケースも多いのではないでしょうか。VPNを使うことで自宅の端末から会社の内部ネットワークなどにアクセスできるなど、社員は社内にいるのと遜色なくPCを使用した業務が行えるようになります。
VPNはVirtual Private Networkの略称で、専用線を敷設しなくとも仮想的にプライベートなネットワークを構築して、安全な通信路を確保することができる技術です。VPNにもさまざまなものがあり、用途や目的によって使い分けられています。一般のインターネット回線上にVPN環境を構築する「インターネットVPN」、通信事業者の閉域網を利用する「IPVPN」、通信事業者のイーサネット網を利用する「広域イーサネット」などが主な種類です。この中でもインターネットVPNは手軽に使えることから広く普及しています。インターネットVPNの接続方式としては、IPsecやSSL-VPNなどがあります。
VPNはネットワークの接続に暗号化や認証を用いることで安全な通信路を提供するものです。適切に設定していれば接続している2点間で、盗聴や改ざん、なりすましといった脅威から守ることができます。このように安全な通信路を提供する技術を、攻撃者はどのように悪用するのでしょうか。
2020年11月19日「Fortinet社製FortiOSのSSL VPN機能の脆弱性(CVE-2018-13379)の影響を受けるホストに関する情報」が、ハッキングフォーラムなどで公開されました。そこには、攻撃コードを含んだURLという形で約5万件ものVPNに関連する脆弱な機器リストが載っていました。リストには日本国内に設置されていると見られる機器が5,000件以上掲載されているという調査結果もあります。
リストに載っている機器に攻撃コードを含んだURLでアクセスすると、パストラバーサルという攻撃手法で機器上に保管されたセッションデータを取得し、そこに含まれているVPNアカウントの平文のパスワード文字列を抽出することができます。これによって盗んだVPNアカウントを利用して、VPNに不正アクセスできる恐れがあるのです。
VPNに不正アクセスされてしまうと何が起きるのでしょうか。VPNがどのネットワークに接続されているかによりますが、一般的にVPNで接続するネットワークには守りたい情報やシステムがあると考えられます。そのネットワークにVPNでアクセスができるなら、物理的に接続しているのとほぼ同じ環境を得ることができます。つまりVPNで接続した攻撃者は、そのネットワーク内にいるかのごとく自由に動き回ることができるのです。
これは何もFortinet社製の機器だけの問題ではありません。過去にもVPN接続を提供するさまざまなメーカーの機器から脆弱性が多数発見されています。VPN接続を提供する機器は家庭にあるWi-Fiルーターから、VPNルーターといった専用機器までさまざまなものがあります。WindowsやLinuxなどのサーバーはアップデートしていても、多くの企業がこういったネットワーク機器のファームウェアのアップデートを怠っています。VPN機器もOSが動作しているコンピューターと違いはありません。それらと同様に更新プログラムの適用などのセキュリティ対策を実施することが求められるのです。
筆者はペネトレーションテストにおいて、しばしばVPNを利用して侵入を行います。VPNによる接続先には本番サーバーやクラウド上の開発環境が置かれていることも多く、企業の重要な情報や資産が入ったサーバーなどが集まっています。そのため、ペネトレーションテスト中には「VPN接続がどこかにないだろうか」や「VPN接続をどのようにしたら突破できるだろうか」ということをいつも考えています。
先のような脆弱性を利用した侵入方法というのもありますが、多くの企業ではもっと簡単に侵入できてしまいました。それは開発者の端末などに侵入した際に“デスクトップ上にVPN接続のショートカットファイルが置いてあった”ケースです。VPN接続のショートカットファイルには、VPNの接続先IPアドレスやアカウント名、場合によってはパスワードまで含まれていることもありますが、この場合そのファイルを実行するだけでお手軽にVPN接続が完了して侵入できてしまいます。これは、VPN以外にもSSHやリモートデスクトップなども同様です。
そういったPCを使用している従業員は、毎日VPN接続しているのかもしれません。そのため、毎回聞かれるパスワードを面倒に思った可能性もあります。パスワードを記憶させておけばその一手間を省くことができます。しかし、そのパスワードはどのように保存されているかということまでは、気を配ってはいなかったようです。
昨今の高度な攻撃の基本は「正規ユーザーが実行できることは、端末を乗っ取れば攻撃者もできる」ということです。端末が乗っ取られてもVPNなどへの不正アクセスを防ぐためには、認証とアクセス制御の適切な設定が必要です。面倒でもパスワードは毎回入力し、可能であればVPN接続にも二要素認証を用いるようにしましょう。また、VPN接続が可能なアクセス元も制限しておくべきです。
一般論として利便性が向上するとセキュリティは低下します。あなたが便利だと攻撃者にも便利だということです。守るものの性質に合わせて多少の利便性を犠牲にしてでも、セキュリティを向上しなければならないこともあるのです。
(「SKYSEA Client View NEWS vol.81」 2021年11月掲載)