メインコンテンツへスキップ
見出し画像

🔯ミカと教授のサイバーセキュリティ講座ネットワークスキャン――「攻撃者は会社の内部地図をどう作るのか」

    【プロローグ】

    ミカ「教授。会社のネットワークに侵入した攻撃者って、いきなり重要サーバーへ一直線に向かうんですか?」
    教授「それができれば、攻撃者もずいぶん通勤時間を節約できるんだがね」
    ミカ「通勤じゃありません」
    教授「普通は分からない。どこにサーバーがあり、どのPCが経理部で、どこにNASがあり、どこにデータベースがあるのか。侵入直後の攻撃者から見ると、会社のLANは初めて訪れた町みたいなものだ」
    ミカ「つまり地図がない?」
    教授「そう。そこで始まるのがネットワークスキャンだ」
    ミカ「地図を作るための偵察?」
    教授「そのとおり。泥棒が建物に入ったあと、全部のドアを一つずつ調べて『ここは倉庫、ここは金庫室、ここは社長室』と把握するようなものだ」

    【ネットワークスキャンとは何か】

    ネットワークスキャンとは、ネットワーク内に存在する機器や利用可能な通信サービスを調べ、構成を把握する行為である。
    ネットワーク管理者も日常的に利用する正当な技術だが、攻撃者も同じ技術を偵察に利用する。
    教授「包丁が料理にも犯罪にも使えるのと同じだな」
    ミカ「ネットワークスキャン自体が悪いわけではない?」
    教授「そうだ。管理者が自社ネットワークを調査するなら正常な管理業務だ。しかし侵入者がやれば、次に攻撃する場所を探す偵察になる」
    攻撃者が知りたいのは、主に次の情報である。
    ・ネットワーク内に何台の機器が存在するか
    ・どのIPアドレスが使用されているか
    ・PC、サーバー、プリンター、NASなど何が存在するか
    ・どの機器がどの通信サービスを公開しているか
    ・WindowsなのかLinuxなのか
    ・Webサーバーやデータベースサーバーが存在するか
    ・ファイル共有が利用されているか
    ・Active Directoryなど企業ネットワークの中心機能が存在するか
    ・古い機器や管理されていない機器が残っていないか
    これらを組み合わせると、攻撃者の頭の中に少しずつ会社の内部ネットワーク地図が出来上がっていく。

    【具体例――架空の「株式会社ナニワ商事」に侵入された】

    ここで、従業員35人の架空企業「株式会社ナニワ商事」を考えてみよう。
    社内には次の機器がある。
    ・社員用PC 35台
    ・ファイルサーバー 1台
    ・業務データベースサーバー 1台
    ・NAS 2台
    ・複合機 2台
    ・Wi-Fiアクセスポイント 3台
    ・監視カメラ 6台
    ・ルーター 1台
    ・退職した社員が以前使っていた古いPC 1台
    ミカ「最後の一台が嫌な予感しかしません」
    教授「サイバーセキュリティの物語では、古いPCはたいてい仕事をする」
    ミカ「悪い意味で?」
    教授「もちろんだ」
    ある社員が偽メールを開き、PCがマルウェアに感染したとする。
    攻撃者はこれで社内LANへ一つの足場を得た。
    しかし、まだ会社全体の構造は知らない。
    攻撃者が最初に考えるのは、
    『ここはどんなネットワークなのか』
    である。
    ここから内部偵察が始まる。

    【手口1 まず「誰がいるのか」を調べる】

    最初に攻撃者が知りたいのは、
    どのIPアドレスに機器が存在するか
    である。
    たとえば社内ネットワークに多数のIPアドレスが割り当てられているとしても、全部が使用されているとは限らない。
    そこで攻撃者はネットワーク内のアドレスへ通信を送り、
    「この住所には誰か住んでいるか」
    を調べる。
    反応する機器が見つかれば、
    「ここには何かいる」
    と記録する。
    ミカ「マンションの部屋を順番にピンポンしていくようなもの?」
    教授「そうだ。ただし100号室から200号室まで数秒で押して回る、とんでもなく俊敏な訪問販売員だ」
    こうして攻撃者は、
    PC
    → 192.168.x.x
    NAS
    → 192.168.x.x
    サーバー
    → 192.168.x.x
    プリンター
    → 192.168.x.x
    といった具合に、生きている機器を洗い出していく。
    これをホスト探索などと呼ぶ。

    【手口2 見つけた機器の「ドア」を調べる】

    機器が存在することが分かったら、次に調べるのがポートである。
    教授「コンピューターを一軒のビルだと思えばいい」
    ミカ「IPアドレスが住所?」
    教授「そう。そしてポートは入口だ」
    たとえば、
    Webサービス
    ファイル共有
    リモート管理
    メール
    データベース
    などは、それぞれ異なる入口を使って通信している。
    攻撃者はその入口を調査し、
    「このサーバーではWebサービスが動いている」
    「このPCではファイル共有が利用できそうだ」
    「この機器には遠隔管理用サービスがある」
    と推測していく。
    これがポートスキャンである。
    ミカ「前回の“ドアをノックする”話ですね」
    教授「そう。ネットワークスキャンという大きな偵察活動の中に、ポートスキャンという調査方法が含まれていると考えると分かりやすい」

    【手口3 表札を見る――サービスの種類を調べる】

    ドアが開いていることが分かっただけでは十分ではない。
    次に攻撃者は、
    その入口の向こう側で何が動いているのか
    を調べる。
    たとえばWebサービスが動いていても、
    ・どのWebサーバーなのか
    ・どのような製品なのか
    ・どのバージョンなのか
    などが分かれば、攻撃者にとって重要な情報になる。
    教授「家の表札に『田中家』だけでなく、『築25年、玄関錠は○○社旧型』まで書いてあったらどう思う?」
    ミカ「防犯上よろしくないですね」
    教授「サーバーも同じだ」
    サービスによっては通信時に製品名やバージョンなどの情報を返す場合がある。
    これを調べる行為は、一般にサービス識別やバナー情報の確認などと呼ばれる。
    攻撃者は得られた情報から、
    「このソフトウェアは古そうだ」
    「既知の脆弱性が存在するかもしれない」
    と次の調査対象を絞り込む。

    【手口4 OSを推測する】

    攻撃者は通信に対する反応の特徴から、
    「これはWindowsらしい」
    「こちらはLinux系らしい」
    「これはネットワーク機器ではないか」
    と推測することもある。
    これをOSフィンガープリンティングという。
    ミカ「指紋鑑定?」
    教授「名前どおりだ。通信の返し方には機器やOSごとの癖がある。その癖から正体を推測する」
    OSが分かれば、攻撃者は候補となる攻撃方法をさらに絞れる。
    つまり、
    「Windows用の攻撃を試すか」
    「Linux向けの弱点を調べるか」
    という判断材料になる。

    【手口5 機器名から会社組織まで見えてしまう】

    企業では、機器に分かりやすい名前を付けることがある。
    たとえば、
    KEIRI-PC01
    KEIRI-PC02
    JINJI-PC01
    FILESERVER
    DBSERVER
    BACKUP-NAS
    CEO-PC
    などである。
    ミカ「分かりやすくていいじゃないですか」
    教授「社員にはな」
    ミカ「……攻撃者にも分かりやすい」
    教授「そこだ」
    攻撃者が名前を取得できれば、
    KEIRI-PC01
    → 経理部
    DBSERVER
    → データベース
    BACKUP-NAS
    → バックアップ
    CEO-PC
    → 社長
    と推測できてしまう。
    つまりネットワークスキャンは単なる機械探しではない。
    情報が集まるにつれて、
    会社の組織図まで見えてくる場合がある。

    【手口6 DNSや名前解決の情報を集める】

    社内ネットワークでは、人間が覚えやすいように機器へ名前が付けられている。
    攻撃者は名前解決に関する情報を調べ、
    IPアドレスだけだった地図へ、
    FILESERVER
    DBSERVER
    PRINT01
    NAS01
    などの意味を加えていく。
    教授「最初の地図には住所しか書いていなかった」
    ミカ「そこへ建物名が追加される」
    教授「そう。そして建物名が『金庫』『経理』『バックアップ』だったら?」
    ミカ「泥棒には親切すぎます」

    【手口7 ファイル共有を探す】

    企業LANでは、Windowsのファイル共有やNASなどが頻繁に使われる。
    そのため攻撃者は、
    「共有フォルダーが存在しないか」
    「どのサーバーがファイルを持っていそうか」
    を重点的に調べることがある。
    ナニワ商事では、
    FILESERVER
    BACKUP-NAS
    という2台が見つかった。
    攻撃者から見れば、この瞬間に優先順位が付く。
    教授「PC35台を全部調べるより、まず『BACKUP-NAS』を見るだろうな」
    ミカ「名前が『ここに重要データがあります』と言っていますね」

    【手口8 Active Directoryの存在を探す】

    少し規模の大きなWindows中心の企業では、Active Directoryが使用されていることがある。
    攻撃者にとって、これは重要な標的になる。
    なぜなら認証やユーザー、PCなどを集中管理しているからだ。
    ネットワーク内の通信サービスやサーバーの特徴から、
    「この会社にはドメイン環境がある」
    と推測されれば、攻撃者はそこを重要拠点として認識する。
    教授「町を攻めるなら、一軒一軒の家より市役所を押さえたい」
    ミカ「ずいぶん物騒なたとえですね」
    教授「サイバー攻撃を説明しているからね」

    【こうして「内部地図」が完成する】

    攻撃者のメモには、次のような情報が蓄積されていく。
    ・社員PCが約35台
    ・Windows中心
    ・ファイルサーバーあり
    ・データベースサーバーあり
    ・NASあり
    ・バックアップ用NASあり
    ・リモート管理サービスのある機器あり
    ・プリンター、複合機あり
    ・古いPCらしき端末あり
    ・認証を管理する重要サーバーが存在する可能性あり
    最初は、
    「何かのPCへ侵入できた」
    だけだったものが、
    会社ネットワーク全体の見取り図
    へ変わっていく。
    ネットワークスキャンの怖さはここにある。

    【古いPCが攻撃者の入口になる】

    ナニワ商事のネットワークスキャンで、攻撃者は一台だけ妙なPCを発見した。
    退職した社員が使っていた古い端末である。
    現在ほとんど使用されておらず、担当者は存在さえ忘れていた。
    そのため、
    ・OS更新が止まっている
    ・不要なサービスが残っている
    ・セキュリティソフトの管理対象から外れている
    という状態だった。
    ミカ「出ましたね。冒頭の古いPC」
    教授「会社では使っていない機器ほど元気にネットワークへ参加していることがある」
    攻撃者から見れば、
    最新PCより、
    忘れられた古いPCのほうが魅力的な場合がある。
    最新端末は防御が固くても、放置端末には過去の脆弱性が残っている可能性があるからだ。

    【攻撃者は全部を攻撃するわけではない】

    ここで重要なのは、ネットワークスキャンの目的である。
    攻撃者は必ずしも全端末を攻撃したいわけではない。
    むしろ、
    「一番弱く、一番価値のある場所を効率よく探したい」
    のである。
    たとえば、
    35台の最新PC
    より
    1台の放置PC。
    普通の社員PC
    より
    ファイルサーバー。
    一般データ
    より
    バックアップ。
    一般社員
    より
    管理者権限。
    大量に存在する標的の中から、
    最も攻撃しやすい経路を選ぶための情報収集
    がネットワークスキャンなのである。
    教授「泥棒も100個の金庫を全部壊したいわけではない」
    ミカ「一番開けやすくて、中身が多い金庫を探す?」
    教授「それが偵察というものだ」

    【ネットワークスキャンはどうやって発見するのか】

    では企業側は何もできないのだろうか。
    そんなことはない。
    ネットワークスキャンは通常の社員PCとは異なる通信パターンを示すことがある。
    たとえば短時間に一台の端末から、
    多数のIPアドレスへ通信する
    多数のポートへ接続を試みる
    通常利用しないサーバーへ次々アクセスする
    といった動きが現れる。
    ミカ「普通の社員はそんなことしませんものね」
    教授「経理担当者が突然、社内の200台に順番に通信を始めたら、仕事熱心なのではなく警戒したほうがいい」

    【発見方法1 ファイアウォールやルーターのログを見る】

    ファイアウォールやネットワーク機器のログには通信記録が残る。
    そこから、
    ・一台のPCから多数の宛先への通信
    ・短時間に多数の接続失敗
    ・通常使用しないポートへの大量通信
    などが確認できる場合がある。
    特に、
    「普段そんな通信をしない端末が突然始めた」
    という変化が重要である。

    【発見方法2 IDS・IPSを使う】

    IDSはIntrusion Detection System、つまり侵入検知システム。
    IPSはIntrusion Prevention System、侵入防止システムである。
    これらはネットワーク上の不審な通信パターンを監視し、ネットワークスキャンらしい動きを検知することができる。
    教授「警備員だと思えばいい」
    ミカ「たくさんのドアを順番にガチャガチャしている人がいたら?」
    教授「少なくとも『この人はトイレを探しているだけです』とは判断しないだろう」

    【発見方法3 EDRで端末の異常行動を見る】

    最近では、PC側で動作を監視するEDRも重要になる。
    侵害された社員PCから突然、
    ・多数の社内機器へ接続
    ・普段利用しない管理系通信
    ・ネットワーク情報の大量収集
    などが始まれば、異常として検知できる可能性がある。
    ネットワーク側だけでなく、
    「どのPCがその通信を始めたのか」
    まで追跡することが重要である。

    【防止策1 ネットワークを一枚岩にしない】

    非常に重要なのがネットワークセグメンテーションである。
    社員PC、サーバー、監視カメラ、複合機、Wi-Fiなどを何でも同じネットワークへ置くと、一台侵入されただけで全体が見渡せる可能性がある。
    そこで、
    ・一般社員用ネットワーク
    ・サーバー用ネットワーク
    ・管理者用ネットワーク
    ・ゲストWi-Fi
    ・IoT機器用ネットワーク
    などへ分離する。
    教授「ホテルで全宿泊客に全客室の合鍵を渡さないのと同じだ」
    ミカ「それはホテル以前の問題ですね」

    【防止策2 必要な通信だけ許可する】

    「社内LANだから全部自由に通信できる」
    という設計は危険である。
    たとえば営業部PCからデータベースサーバーへ直接通信する必要がないなら、最初から許可しない。
    重要なのは、
    必要な人から、必要な機器へ、必要な通信だけを許可する
    という考え方である。
    これがゼロトラストの基本思想にもつながっていく。

    【防止策3 不要なサービスを止める】

    攻撃者から見ると、開いている入口が多いほど調査対象が増える。
    したがって、
    使っていない通信サービス
    不要な共有
    昔使っていた管理機能
    テスト用に開いたままのサービス
    などは停止する。
    教授「入口を50個作って全部守るより?」
    ミカ「入口を5個に減らしたほうがいい」
    教授「セキュリティは守備人数だけでなく、守る扉の数を減らすことも大切なんだ」

    【防止策4 「忘れられた機器」をなくす】

    企業で意外に危険なのが、
    管理台帳に載っていない機器
    である。
    古いPC
    古いNAS
    昔設置したWi-Fi機器
    監視カメラ
    複合機
    テスト用サーバー
    などが長期間残ることがある。
    「誰が管理しているのか分からない」
    という機器は、攻撃者にとって魅力的な標的になる。
    定期的に自社ネットワークをスキャンし、
    自分たち自身で何が接続されているか把握する
    ことが重要である。
    ミカ「あれ? 防御側もネットワークスキャンするんですね」
    教授「そこが大事だ。攻撃者より先に自分の会社の地図を作っておくんだ」

    【防御側こそネットワークスキャンを使う】

    ネットワークスキャンは攻撃者だけの技術ではない。
    本来はネットワーク管理者にとって非常に有用な道具である。
    管理者が定期的に調査すれば、
    ・知らない機器が接続されていないか
    ・使われなくなったPCが残っていないか
    ・不要なサービスが動いていないか
    ・想定外のサーバーが存在しないか
    ・管理漏れの機器がないか
    を把握できる。
    教授「敵が地図を作るなら?」
    ミカ「こちらはもっと詳しい地図を先に持っておく」
    教授「正解」

    【企業が最低限確認しておきたいこと】

    会社のネットワークについて、最低でも次の質問に答えられる状態にしておきたい。
    ・社内LANには何台の機器があるか
    ・それぞれ誰が管理しているか
    ・どのOSを使用しているか
    ・どのサーバーが存在するか
    ・NASはいくつあるか
    ・バックアップ装置はどこにあるか
    ・不要なPCが残っていないか
    ・不要な通信サービスが動いていないか
    ・ゲストWi-Fiと社内LANは分離されているか
    ・一台のPCが侵害された場合、どこまで通信できるか
    最後の質問は特に重要である。
    「侵入されないこと」だけを考えるのではなく、「一台侵入されても会社全体を歩き回れないこと」まで考える。
    現代のセキュリティでは、この発想が欠かせない。

    【エピローグ】

    ミカ「つまり攻撃者は、侵入したあとすぐ攻撃するとは限らないんですね」
    教授「むしろ優秀な攻撃者ほど、まず調べる」
    ミカ「PCを探して、ポートを調べて、サービスを確認して、OSを推測して、サーバーやNASを特定する」
    教授「そうして頭の中に会社の地図を作る」
    ミカ「そして一番弱い場所を探す」
    教授「サイバー攻撃では、最初に壊されるのは金庫とは限らない」
    ミカ「では何です?」
    教授「誰も管理していない、倉庫の裏口かもしれない」
    ミカ「古いPCですね」
    教授「企業ネットワークで怖いのは、最新の攻撃技術だけじゃない」
    ミカ「自分たちが存在を忘れている機器?」
    教授「そうだ。攻撃者は会社のネットワークを調べる。そして時々、会社自身より会社のネットワークに詳しくなる」
    ミカ「それは悔しいですね」
    教授「だから防御の第一歩は簡単だ」
    ミカ「何でしょう?」
    教授「敵より先に、自分の会社の地図を持て。」

    【3つだけ覚える】

    ・ネットワークスキャンは、IP・機器・ポート・サービスなどを調べてネットワークの内部構成を把握する偵察である。
    ・攻撃者は全端末を攻撃するのではなく、スキャンによって「弱くて価値の高い標的」を絞り込む。
    ・防御側も自社ネットワークを把握し、不要機器の排除、通信制限、ネットワーク分離によって侵入後の横展開を防ぐ。

    あなたへのおすすめ