「セキュリティに対する重要性は理解したけれど、用語が難しくて」という声を聞くことがよくあります。そんな方にセキュリティの頻出用語を解説します。第43回は、「権限昇格攻撃」についてです。
独立行政法人情報処理推進機構(IPA)は2017年2月6日、WordPressの脆弱性対策について発表しました。
世界でもっとも利用されているCMS(Content Management System)の1つであるWordPressにREST APIの処理に起因する脆弱性があり、本来であれば必要となる認証を行わず、ウェブサイトのコンテンツの投稿や編集、削除といった改ざんができるというものです(影響を受けるバージョンは、WordPress 4.7.0からWordPress 4.7.1)
報道によれば、この特権昇格の脆弱性を利用した攻撃により、改ざんされたページの総数は150万を超えているとされています。
この攻撃手法に用いられたのが、権限昇格攻撃です。
コンピュータでは、管理者などのユーザーの権限を指す英単語として、Privilege (権限、特権)が多く用いられます。コンピュータやネットワークは、それぞれ権限の違う一般ユーザー、ゲストユーザー、管理者などの複数のユーザーが利用します。一般ユーザーが、管理者などのより上位の権限を持つこと(昇格、Escalation) を、Privileges Escalation(権限昇格)といいます。
以前、この連載ではエクスプロイトについて紹介しました。エクスプロイトとは、システムの脆弱性を攻撃するプログラムを指します。主にInternet Explorer、Firefox、ChromeなどのWebブラウザの脆弱性を狙ったり、ブラウザからアクセス可能なプログラムであるAdobe Flash Player、Adobe Reader、Javaなどのセキュリティホールをも悪用したりします。
エクスプロイトは、その攻撃の種類から、対象のサービスを妨害する「DoS攻撃」と、ソフトウェアの実行権限を昇格させてあらゆる攻撃を実行させる「権限昇格攻撃」に分類できます。
不正に権限の昇格が行われた場合、一般ユーザーでは実施できない操作を行うことが可能になります。例えば、管理者権限でないと実行できないアプリケーションのインストールや共有フォルダへのアクセスといったことができるようになります。悪意を持った攻撃により、マルウェアのインストール、重要ファイルへアクセスして不正コピーによる情報漏えい、起動ファイルの破壊を行う等のシステムへの攻撃が実行される可能性があります。
権限昇格攻撃は、今回大きな話題となったWordPressのようなアプリケーション層だけではなく、OS層においても可能です。例えば、昨年の10月には、Dirty COW (英文)と呼ばれるLinux Kernelに対する脆弱性が報告され、実際の攻撃も観測されています。
少し古い事例になりますが、Windows でも特権の昇格が可能な脆弱性が報告されたことがあります。これは、ローカルプロシージャコール(LPC)コンポーネントに欠陥があり、脆弱性の利用に成功すると、攻撃者は昇格された特権でコマンドを実行できるものでした。
主な対策としては、OS、Java、Webブラウザーやウィルス対策ソフトウェアなど、使用するソフトウェアを常に最新にし、脆弱性への対策をしておくことです。
また、「最小特権の原則」に基づいたアクセス管理を行うことも重要です。
最小特権の原則とは、すべてのプログラムおよびユーザーに対して、目的のジョブを達成するために必要な最小限の権限において処理を実行すべきとするものです。OSの管理者権限(Linuxにおけるroot、Windowsにおける管理者:Administrator)は、管理に十分な権限を持っているため、ほとんど何でも実行できてしまいます。しかし、すべてのプログラムおよびユーザーが同等の権限を持つ必要はありません。不必要に大きな権限を与えると、そのプログラムが悪用されたり、乗っ取られたりすることになります。
利用するシステム、アプリケーションに応じて、ポリシーを策定して、必要な権限を付与するようにしてください。