華為社内ネットワークセキュリティ分析
Categories:
- 華為社内ネットワークセキュリティ分析
華為社内には優れた学習資料が多数あり、私自身も多くの知識と経験を蓄積してきましたが、これらを自分のナレッジベースにどう取り込むかを常に考えてきました。これらの一般的な知識は機密に関わるものではなく、センシティブでもないことは明確ですが、情報セキュリティへの警鐘は常に鳴り響いており、気になっているものの、一線を越える勇気は出ませんでした。いくつかのテストを経て、同社のネットワークセキュリティ保護は突破することが非常に難しいことが分かりました。本記事では、研究開発エリアの「イエローゾーン」について簡単な解析を行います。「グリーンゾーン」はフリーエリアであり、デフォルトで重要な情報はなく、一般的に周辺スタッフ用のネットワークです。「レッドゾーン」は超高レベルのネットワーク保護が施されており、現在まで長期間深く接する機会はありませんでした。簡単に接したことのあるレッドゾーンはネットワーク機器ラボにあり、様々な大型スイッチングフレームが保管されており、社内ネットワークのハブとなっています。レッドゾーンを攻略することは、エリアネットワークを攻略することと同等であり、少なくとも1棟分のネットワークを一定時間麻痺させることが可能です。
ルーターファイアウォール方式
暗号化:暗号化には公開鍵を使用します。公開鍵とは何か、簡単に理解するなら「鍵」のことです。この鍵は誰でも一把持つことができますが、鍵をかけることしかできず、開けることはできません。以上は非常に具現化された表現ですが、以下は少し抽象的になります。公開鍵は数字 A であり、ある情報 M があります。A を使って M を暗号化操作 $$f(A, M)$$ すると、得られた情報は簡単には逆算(復号)できません。これは、数字の二乗と平方根の難易度の違いや、同類項の統合と因数分解の難易度の違いに似ています。逆算(復号)は非常に困難で時間がかかり、スーパーコンピュータを使用しても数年から数十年を要します。
復号:サーバー側は秘密鍵を使用して復号します。四方八方から集まってきた暗号化された情報は、同じ一把の秘密鍵で復号することができます。
中間者:中間者の役割は「中継役」のようなもので、クライアントにとってはサーバーであり、サーバーから見れば普通のユーザーです。中継役であるため、双方の情報をすべて把握することができます。簡単に言えば、華為自身が非常に強力な中間者として振る舞っており、外部へのすべてのネットワークトラフィックはそのスキャンを経由します。80/443 ポートを使用しないトラフィックはすべて遮断されます。
攻略方法:イエローゾーンでは、特定のポートのみがプロキシサーバーを経由して公網(インターネット)とやり取りできるため、その他のポートはデフォルトで全て遮断されています。厳密に言えば、ネットワークトラフィックに抜け穴はありません。しかし、手動で鍵を生成し、社内ネットワーク内で手動で暗号化し、外網で手動で復号すれば、少なくとも中間者が見る情報は真に解析することができません。暗号化ツールをどう社内ネットワークに送るか、メール/WeLink/ウェブページなどが考えられますが、いずれも痕跡が残ります。その中で、ウェブページを通じて直接こっそり送るのが影響が最小で、痕跡も最も目立ちません。あるいは鍵を紙に書き写し、会社のPCに保存すれば、完全に感知されることはありません(ただし、社内に至る所にあるカメラを除く)。GitHubのSSHはSSH over 443を親切にサポートしていますが、テストの結果、これもうまくいきません。結局のところ、プロキシはファイアウォールとして、そのような高リスクウェブサイトを容易に特定できるからです。私の経験上、同社のファイアウォールはブラックリスト方式ではなく、ホワイトリスト方式に基づいています。つまり、自前のSSHサーバーを構築したとしても、プロキシによってブロックされてしまうのです。ブラウザで未知のウェブサイトにアクセスすると警告ページにリダイレクトされ「自己責任」と表示されますが、ターミナルウィンドウでは直接リンクが遮断されたと表示されます。
華為はもともとネットワーク事業で起業した会社であり、ネットワークの達人や異才が多数存在するため、技術的にはほぼ突破不可能でしょう。おそらく、社会工学(ソーシャルエンジニアリング)によってしか突破できないのではないでしょうか。
ローカルファイアウォール方式
Windowsシステムにはセキュリティアプリがインストールされており、ユーザーは設定を自由に変更できず、設定は管理者によって一元的に配布されます。アプリのネットワークアクセス権限はホワイトリストまたはブラックリスト方式である可能性があり、一部のアプリはネットワークにアクセスできません。VS Codeの新バージョンはプロキシ経由で通信できません。