• SecurityTIMES
  • ノウハウ
  • ソフトウェアやOSの弱点対策は万全?セキュリティホールについて知ろう!

ソフトウェアやOSの弱点対策は万全?セキュリティホールについて知ろう!

2017年7月11日(火) ノウハウ

セキュリティホールという言葉を聞いたことがありますか?
コンピュータのOSやソフトウェアでのセキュリティにおける弱点のことを言います。
セキュリティホールについて知るとともに、どういった攻撃に狙われやすいのか解説していきましょう!

セキュリティホールとは何か?

セキュリティホールとは、コンピュータ上で動作するOSやソフトウェアにおいて、プログラムの不具合や設計上のミス等を原因としたセキュリティ上の欠陥のことを言います。
脆弱性という言葉もありますが、セキュリティホールがセキュリティ上欠陥となるミスや不具合を指すのに対して、脆弱性はセキュリティ上の欠陥とはならないミスや不具合も該当します。
脆弱性の方がより広い意味で使われるでしょう。
セキュリティホールのことを脆弱性と呼ぶこともありますので、どちらも覚えておいて損はないでしょう。

セキュリティホールを悪用した代表的な手口

例えば、以下のような手口があります。

①バッファ・オーバーフロー

予期しないバッファ領域のデータを読み込んだ際に誤作動を起こす脆弱性のことを指します。また、それらを狙った攻撃も含みます。
対象となるプログラムにおいて、メモリの扱いに問題があることが原因です。
本来であればメモリの上限を設定しなければならないはずが、設定が正しくされていないばかりにメモリの不正な場所に情報を置くことになり、誤作動を起こします。
ここに悪意のあるコードを持つアドレスを設置することで、いとも簡単に悪意のあるコードを実行してしまいます。

②SQLインジェクション

Webアプリケーションはユーザからの各種情報入力を受けてサーバ側で処理し、結果をユーザに返すという処理をよく目にします。
また、サーバの処理の中には、サーバやデータベースにアクセスし、情報参照・更新することも多いです。

このような処理の過程では、Webアプリケーションは、ユーザから想定外の情報が入力されてもそのまま処理せず、正しくエラー処理を実施する必要があります。

しかし、こうした処理に不備があると、攻撃者から、SQLと呼ばれるデータベース処理をするためのコマンドを含む情報が入力された後、その内容でサーバが処理することで、サーバ上でSQLが実行されてしまいます。
これにより、攻撃者は、不正なSQL実行によりデータベース内の重要情報漏えい、内容の改ざんといった攻撃を行うことができます。もう少し具体的には以下のような被害となります。

③クロスサイト・スクリプティング

掲示板サイトのような、ユーザからの入力内容をWebページに表示するWebアプリケーションにおいて、情報入力のチェックに不備があると、攻撃者が入力内容に罠を仕掛けることが可能となります。そして、それをみたユーザが誤って罠を実行すると、別のセキュリティ的に問題のあるウェブサイト(クロスサイト)に対し、脆弱性を利用した悪意を持った実行内容(スクリプト)が含まれた通信が実行されます。これが実行された結果、偽のページがユーザに表示されます。


偽ページでは個人情報など重要な情報の入力を促す内容や、ブラウザ上から取得可能なユーザコンピュータ上の情報(Cookie等)を取得する作りとなっていて、このスクリプトが実行されると、攻撃者へ情報が流出するようになっています。

ユーザ側の対策としては、いつも利用しているサイトであっても表示内容に注意し、安易にクリック・情報入力しないことですが、攻撃者側は言葉巧みにクリックさせたり、情報入力させたりと工夫するため、ユーザ側に頼ることは完全には難しいです。

本来対策する側はサービス提供側であり、Webアプリケーションがユーザから想定外の情報が入力されてもそのまま処理せず、正しくエラー処理を実施する必要があります。その他、攻撃に利用される脆弱性を速やかに解消することも必要です。

④クロスサイト・リクエスト・フォージェリ

クロスサイト・スクリプティングとサイトをクロスする点では同じですが、罠の内容が異なります。それはユーザの要求内容(リクエスト)を偽った(フォージェリ)内容ということです。

要求を受けたウェブサイト側はユーザが意図して要求したと判断し、その内容を実行してしまいます。
結果として、ユーザが意図しないことが発生してしまいます。

⑤強制ブラウジング

強制ブラウジングとは、Webページにアクセスする際に、公開されたページからリンクをたどるのではなく、直接URLでアクセスするという方法で、Webサイト側では公開するつもりのないディレクトリやファイル等へのアクセスを試みる、という攻撃です。
Webサーバの設定上の問題や、Webアプリケーションがアクセスできる範囲が正しく限定できていない等があると、攻撃が成立します。

いかがでしたでしょうか。
セキュリティホールについてとセキュリティホールを狙った攻撃について知ることができたと思います。

ユーザができる対策としては、ソフトウェアやOSのアップデートを定期的に行うことです。
セキュリティホールとなりうるクリティカルな脆弱性に対しては、開発元からセキュリティパッチや最新版の提供があるはずです。
被害に巻き込まれないためにも小まめな情報チェックとアップデートを行いましょう!

Writer:SecurityTIMES編集部