2019.04.05
パソコンを使っていて気になるのは、セキュリティについてではないでしょうか。ウイルスに感染したらさまざまな弊害が起こり、仕事どころではなくなってしまいます。セキュリティを強化するにはOSやソフトウェアのアップデートが基本であるといわれますが、その際に「セキュリティホール」という言葉が出てくることがあります。そこで今回の記事では、知っているようでよくわからないセキュリティホールとは何かについて解説していきます。また、セキュリティホールに対する主な攻撃例や対策、注意点もあわせて紹介します。
セキュリティホールとはその名の通り、セキュリティに空いた穴のことを指します。ソフトウェアなどの設計時に、プログラミングの不具合やミスが発生した結果起こる欠陥のことで、放っておくとそこからウイルスに感染することもある恐ろしいものです。OSやソフトウェアに元からあるバグがセキュリティホールであり、見つかった場合にはメーカーが修正プログラムを提供するのが一般的です。しかし、1回のアップデートですべてのセキュリティホールが解決するわけではなく、次々と見つかる可能性もあるので注意しなければなりません。
最近アップデートしたばかりと思ってもセキュリティホールが見つかれば、アップデートをまたし直さなければなりません。ダウンロードやインストールに時間がかかったり、パソコンを再起動させなければならなかったりと面倒はありますが、毎回きちんと適用しておくことで不測の事態に備えることができます。バージョンアップもセキュリティ強化に一役買うものですが、プログラムが更新されると使用感が変わることもあるので、できるだけ今の状態のものを使い続けたいと思う人もいるかもしれません。
しかし、セキュリティホールがある古いOSのままパソコンを使い続けると、万が一ウイルスに感染したときに、データが破壊されたり取引先や顧客に対してウイルスを媒介したりしかねないリスクを知っておくことがあります。また、あまりにも古いOSに対してはサポートが終了することがあり、そうなるとセキュリティホールが新たに見つかったとしても更新プログラムが配布されることはなくなり、常に危険にさらされるようになります。こうなる前にバージョンアップをきちんと行い、セキュリティ強化に努めることが重要なのです。
セキュリティホールと混同しやすいものに「脆弱性」があります。両者の違いは、セキュリティホールが「不具合(バグ)」のことなのに対し、脆弱性は不具合というより外部からの攻撃に対する「弱点」という意味です。つまり、プログラミングだけではなく人為的なミスも脆弱性になり得るのです。たとえば、管理する人の意識が低いことによって外部からウイルスに感染した場合、管理体制そのものに脆弱性があるといえます。また、バックアップを取っていなかったり、サーバーを設置した部屋の換気条件が悪かったりといったことも脆弱性のひとつです。
いい換えると、セキュリティホールはプログラミング上の話ですが、脆弱性に関してはコンピューターやネットワークを取り巻く環境すべてが脆弱性である可能性をはらんでいます。そこにはセキュリティホールも含まれるので、脆弱性とはコンピューターやネットワークを危険にさらすものという大きな概念でとらえるとわかりやすいでしょう。脆弱性が発見されたらさまざまな形で報道されることはよくあります。その場合には、それらを読むとともに一次ソースにも当たることが重要です。Windows なら「マイクロソフトセキュリティ情報」という、セキュリティ更新プログラムについて発信しているサイトなどが有用でしょう。
セキュリティホールの代表例に「バッファオーバーフロー」があります。これは、OSなどのメモリにある一時的な記憶領域の「バッファ」という部分に大容量のデータが送られることで、システムの停止や誤作動などが引き起こされる現象です。通常はバッファの管理をしっかりしていれば防げるものですが、プログラミングミスなどのせいでセキュリティホールになってしまうのです。セキュリティホールはアップデートすることで埋めることができるため、修正プログラムが届いたらすぐに適用させましょう。
バッファオーバーフローを放置していると、ウイルス感染のリスクが高くなる可能性があるので注意しなければなりません。セキュリティホールを利用してハッキングが行わなれ、その結果ウイルスを撒き散らす発信源になったり、自社のパソコンで他者のコンピューターを攻撃してしまったりする危険があります。自分だけに被害が及ぶならまだしも他人へ危害を加えることは、企業として大きな代償を払う恐れがあるので、対策は万全に行うことを肝に銘じなければなりません。
セキュリティホールへの攻撃例として、「SQLインジェクション」も押さえておきましょう。悪意のある攻撃者からSQL(データベース処理のための情報)が入力された場合、サーバーがそれを処理するとSQLが実行されてしまいます。SQLが実行されれば不正に情報漏えいや情報の改ざんができてしまう危険があるのです。これには、個人情報やクレジットカード番号といった重要な情報の漏えいや、閲覧するとウェブサイトからウイルスに感染するような仕掛けなど、企業にとってはイメージを失墜させる大ダメージにつながりかねないリスクをはらんでいます。
さらに、データ消去やサーバーの乗っ取りなどもSQLインジェクションで発生する恐れがあり、こちらはビジネスを継続していくうえで打撃となるでしょう。SQLインジェクションに対する対策には、サーバーでSQL文のエスケープ処理を実装したり、ネットワークにファイアウォールを導入したり、あるいはウェブサイトの脆弱性を定期的に確認したりといったものが挙げられます。また、すでに述べたように、アップデートや修正プログラムが公開されたらすぐに適用を行うことも、SQLインジェクションの被害を予防することに繋げられます。
セキュリティホールへの攻撃例の3つ目に「クロスサイト・スクリプティング」があります。これは、掲示板のようなアプリケーションで入力の不備などがあると、そこへユーザーへ悪意の罠を仕掛けるというものです。その罠をユーザーが実行してしまうと脆弱性を持った別のウェブサイト(クロスサイト)に対して、悪意あるスクリブトが実行されます。実行されるとユーザーには偽物のページが表示され、そこで個人情報を入力させられたりCookieを取得されたりして、情報が漏えいするなどの被害が出ます。
掲示板やTwitterのようなサイトとは別のサイトへ情報をクロスすることから、クロスサイト・スクリプティングと呼ばれるのです。また、情報漏えい以外にも、Cookieを利用した不正アクセスや偽サイトによるフィッシング詐欺などもあるので注意が必要です。企業側に求められる対策としては、セキュリティソフトの導入と適切な運用、ネットワーク内部から不正なサイトへのアクセスやアクセスを誘導するメールをブロックすることが挙げられます。
ゼロデイ攻撃は、セキュリティホールが発見されたことが公表されてからメーカーが修正プログラムを配布するまでの間、ゼロデイ、すなわち間髪を置かずに攻撃する脅威のことを指します。更新元が脆弱性に気がつかずハッカーが先に脆弱性を見つけた場合が問題で、修正プログラムが提供されるまでの期間が長期化した場合に悪意ある攻撃にさらされる危険性が高まります。プログラムの不具合が公表されてからメーカーのパッチが配布されるまでの間は、脆弱性があることを今まで以上に意識することが重要です。ゼロデイ攻撃から身を守るには、脆弱性に関わると考えられる操作の制限を自主的に行うことが求められます。
また、脆弱性の情報について公表しているポータルサイトを定期的にチェックするなど、情報収集にも心がけましょう。メーカーが修正プログラムを提供するまでどのような行動を取れば良いか、いち早く対策を練ることが可能となります。そのほかにも、ホワイトリストしか実行できない制限をかけたり、ファイアウォールやセキュリティソフトによる不正な通信のブロックをしたりといった対策も有効です。ゼロデイ攻撃を受けた場合、不正アクセスや情報漏えい、なりすましなどの被害を受ける可能性があるので、対策はしっかりと施しておかなければなりません。
セキュリティホールへの対策として、簡単にできてかつ有効なのは、常にOSやソフトウェアのアップデートは有効にしておき、最新のセキュリティパッチを適用することです。そのためには、OSなどのバージョンを把握し、常に情報を得ておくことが重要です。また、自社のパソコンにどのようなアプリケーションがインストールされているかも知っておきましょう。アプリケーションによっては頻繁にセキュリティホールが見つかるものもあり、そのたびにアップデートが必要となっています。
たったひとつのアプリケーションの脆弱性から会社の全パソコンに被害が及ぶということがないように、小さなものでもしっかりと管理することが大切です。Windows の場合、インストールされたアプリケーションの情報は「コントロールパネル」から入り「プログラムと機能」でチェック可能です。Macの場合は上のメニューバーにあるアップルマークの「このMacについて」をクリックし、出てきたウィンドウの下にある「システムレポート」から「アプリケーション」を選択します。そうすればアプリケーション名とバージョンの一覧を見ることができます。
2つ目のセキュリティホールへの対策として挙げられるのは、セキュリティ対策ソフトを導入することです。これは、情報を扱う企業ならほとんど必須と呼べるもので、導入しないと危機管理の甘さから会社に対する信用度が低下することでしょう。セキュリティ対策ソフトを導入すれば、すでに確認されているセキュリティホールに対してならほぼ確実に防御できます。しかし、大切なのは単にソフトを導入するだけではなく、常にメーカーが提供する最新の更新プログラムやウイルス定義プログラムを適用しておくことです。つまり、きちんと運用してこそセキュリティ対策ソフトの効果が発揮されるので、パッチが配布されたらすぐに適用するようにしましょう。
セキュリティ対策ソフトには、ウイルス対策、フィルタリングやユーザー認証といったファイアウォール、有害サイトの規制、個人情報の保護機能など、さまざまな機能がついています。どれも悪意ある攻撃からコンピューターやネットワークを守るために必要なものであり、そうした機能がソフトを1本導入するだけで手に入るのでお得です。
企業は積極的にセキュリティ診断を受けることも大切です。セキュリティ診断とは、ネットワークやシステムに内在する危険を洗い出して診断するサービスのことです。企業のネットワークが最新の状態なのかはセキュリティにとって大変重要なことなので、専門家に診断してもらうのが良いでしょう。セキュリティの脅威はますます多様化しており、手口も巧妙になってきています。専門知識を持つプロに相談することで、セキュリティホールのリスクを軽減させることにつながります。
セキュリティ診断で行われる具体的な例として挙げられるのは、システム上にある脆弱性を発見することのほか、標的を定めたハッキング攻撃、内部犯行の可能性、攻撃手法のレポートなど、多岐に渡ります。そのほかにも、管理者のセキュリティ意識が高いかどうかなど包括的に診断を下すため、セキュリティ診断で得られる情報は今後の運用にとって有用でしょう。セキュリティ診断サービスはいろいろなところが行なっているため、自社が必要とする診断を実行するところを積極的に探しましょう。その際には、診断実績が豊富で、詳しいレポートを提出してくれる専門家を選ぶことが重要です。
インターネット上にはさまざまな悪意の攻撃やウイルス感染のリスクがあり、その都度対処していかなくてはなりません。しかし、プログラミング上どうしてもセキュリティホールができてしまうことがあり、いたちごっこが続いている現状があります。それでも企業としてはセキュリティホールへの対策を継続する努力が必要であり、その際には専門家のサポートやセキュリティ診断を受けるなどの対策がおすすめです。セキュリティホールを埋める作業には、アップデートやセキュリティソフトの導入などいくつかの方法が考えられます。
しかし、それだけでは解決しない脆弱性もあり、たとえば人的なミスや管理意識の低さに関しては、どんなに最新のバージョンにアップデートしたとしても、ネットワークやコンピューターが脅威にさらされることがあります。もっと根本的にセキュリティホールや脆弱性の対策をしたいなら、やはり専門家にサポートを依頼するのが近道です。セキュリティ対策をしっかりと施し、日々の業務を問題なく進めていけるよう行動することが大切なのです。