スキャン (スキャン) とは | 意味や読み方など丁寧でわかりやすい用語解説
スキャン (スキャン) の読み方
日本語表記
スキャン (スキャン)
英語表記
scan (スキャン)
スキャン (スキャン) の意味や用語解説
IT分野における「スキャン」とは、特定の対象範囲を網羅的に、あるいは一定の規則に従って順次調査し、情報を収集・検査・分析する行為全般を指す。一般的にスキャンと聞くと、紙の書類をデジタルデータに変換するイメージスキャナを連想するが、ITの世界ではより広範な意味で用いられる。コンピュータシステムやネットワーク、データベースなど、様々な領域で異なる目的のスキャンが存在し、システムエンジニアが扱う業務と密接に関連している。その本質は、対象をくまなく調べることで、状態を把握したり、問題点を発見したり、特定の条件に合致するものを探し出したりすることにある。 まず、セキュリティの分野におけるスキャンは極めて重要である。代表的なものにウイルススキャンがある。これは、コンピュータ内のファイルやメモリを検査し、ウイルスやワーム、スパイウェアといった悪意のあるソフトウェア、すなわちマルウェアが含まれていないかを確認する操作である。このスキャンでは、既知のマルウェアが持つ特徴的なコードパターンを記録した「シグネチャ」と呼ばれるデータと、検査対象のファイルを照合する方法が一般的である。シグネチャに一致するファイルが見つかった場合、マルウェアとして検出される。また、ファイルの動きや通信内容など、プログラムの振る舞いを監視し、不審な動作を検知するヒューリスティック方式も併用されることが多い。次に、ポートスキャンは、サーバーやコンピュータのネットワーク上の出入り口である「ポート」が、外部からの通信を受け付ける状態(開いている状態)にあるかどうかを調査する行為である。攻撃者は、開いているポートを探し出し、そこに存在するサービスの脆弱性を突いてシステムへの侵入を試みるための準備段階としてポートスキャンを実行する。一方で、システム管理者は、意図しないポートが開いていないか、必要なサービスが正常に待ち受けているかを確認するために、セキュリティ診断の一環としてポートスキャンを行う。さらに、脆弱性スキャンというものもある。これは、システムを構成するオペレーティングシステム(OS)やミドルウェア、アプリケーションに、セキュリティ上の欠陥、すなわち脆弱性が存在しないかを網羅的に検査するものである。既知の脆弱性情報をまとめたデータベースと対象システムの状態を照らし合わせ、危険な設定やパッチが適用されていない箇所などを自動的に洗い出す。これにより、攻撃者に悪用される前にシステムの弱点を特定し、修正することが可能となる。 ネットワーク管理の文脈でもスキャンは頻繁に用いられる。ネットワークスキャンは、特定のIPアドレス範囲に対して通信を試み、どのIPアドレスが使用され、どのような機器(PC、サーバー、プリンターなど)がネットワークに接続されているかを探索する行為である。これにより、管理者はネットワークに接続されている資産を把握し、不正な機器が接続されていないかを監視することができる。また、データベースの分野では、テーブルスキャン(フルテーブルスキャン)という操作が存在する。これは、データベース内のテーブルから特定のデータを探す際に、索引(インデックス)を使わずに、テーブルの先頭から末尾まで全レコードを一つずつ順に調べていく検索方法である。テーブルのデータ量が少ない場合や、検索条件に合うデータがテーブルの大部分を占める場合には効率的だが、大規模なテーブルに対して実行されると、システムの応答性能を著しく低下させる原因となり得る。システムエンジニアは、データベースの性能問題を調査する際に、非効率なテーブルスキャンが発生していないかを確認することが求められる。 その他にも、ハードディスクやSSDといった記憶装置の状態を確認するためのディスクスキャンがある。これは、ディスクの表面全体を読み取り、データの読み書きができない不良セクタがないか、ファイルシステムの整合性に矛盾がないかといった物理的・論理的なエラーを検査する。定期的に実行することで、データの破損や損失を未然に防ぐことにつながる。そして、最も身近な例として、イメージスキャナによるスキャンが挙げられる。これは、紙の文書や写真、図面などを光学センサーで読み取り、コンピュータで扱えるデジタル画像データに変換するプロセスである。これもまた、物理的な情報を網羅的に読み取ってデジタル情報に変換するという点で、広義のスキャンの一種と捉えることができる。 このように、「スキャン」という用語は、それが使用される文脈、すなわちセキュリティ、ネットワーク、データベース、ハードウェアといった分野によって、具体的な操作内容や目的が大きく異なる。システムエンジニアを目指す者は、単語の表面的な意味だけでなく、各専門分野において「スキャン」がどのような役割を果たし、どのような技術的背景を持っているのかを正しく理解することが不可欠である。ある場面ではシステムを守るための防御的な行為であり、またある場面では攻撃の準備段階として悪用される可能性もある。この多面性を把握し、状況に応じて適切な「スキャン」を理解・活用できる能力が、現代のITインフラを支える上で重要なスキルとなる。