不正アクセスとその対策について改めて理解する

2020/01/07

access_top.jpg

ハッカーの攻撃による情報漏えい事件などが発生すると、耳にするのが「不正アクセス」という用語。正当な権限がある人のアクセスに対して、アクセス権がない人のアクセスのため「不正アクセス」となりますが、そもそも不正アクセスとは何か、不正アクセスを防ぐための対策にはどのようなものがあるか、改めて見直してみましょう。

 

 

「不正アクセスとは何か」を改めて理解する 

access_1.jpg

不正アクセスという言葉は、1999年に公布された「不正アクセス行為の禁止等に関する法律(通称: 不正アクセス禁止法)」から用いられています。法律では、以下の3点のいずれかに該当する行為を行った場合に「不正アクセス」と判断されます。

不正アクセスは、大きく分けて3つの行為が定義されています。

電気通信回線(インターネット・LAN等)を通じて、アクセス制御機能を持つ電子計算機にアクセスし、他人の識別符号(パスワード・生体認証など)を入力し、アクセス制御機能(認証機能)を作動させて、本来制限されている機能を利用可能な状態にする行為 (1号)

平易な言い方をすると、パスワードや生体認証情報を何らかの形で入手、もしくはパスワード攻撃(総当たり攻撃、リスト攻撃など)等を行うことで、アクセスを認可させ、他人のアカウントにログインする行為です。

 

電気通信回線を通じて、アクセス制御機能を持つ電子計算機にアクセスし、識別符号以外の情報や指令を入力し、アクセス制御機能を作動させて、本来制限されている機能を利用可能な状態にする行為 (2号)

これも平易な言い方に直すと、パスワード攻撃以外の方法(バッファオーバーフロー、SQLインジェクションなど)を行うことで、アクセスを認可させる、またはアクセスが認可させたのと同等のアクセス権を得る行為です。

 

電気通信回線を通じて、アクセス制御機能を持つ他の電子計算機により制限されている電子計算機にアクセスし、識別符号以外の情報や指令を入力し、アクセス制御機能を作動させて、本来制限されている機能を利用可能な状態にする行為 (3号)

これは、基本は上記(2)と同じですが、攻撃対象のマシン自体にはアクセス管理機能がない場合が想定されています。バッファオーバーフローやSQLインジェクションなどの、パスワード攻撃以外の方法を行い、アクセスを認可させる、またはアクセスが認可されたのと同等のアクセス権を得る行為です。

そして2012年には、「不正アクセス目的で他人のパスワードを取得してはならない」という項目が追加されています。パスワードを盗むが、上記(1)~(3)のような不正アクセスを行っていない場合でも、「不正アクセスに使う目的でパスワードを入手した」と判断されれば、刑罰の対象となります。

 

 

不正アクセスにはどのような種類があるか

access_2.jpg

上記(1)~(4)をまとめると、攻撃には大まかに分けて2種類があることになります。

  • パスワード関連の攻撃(パスワードの不正入手、不正入手パスワードによる不正アクセス、総当たり攻撃・リスト攻撃などのパスワード攻撃)
  • パスワード以外の攻撃(バッファオーバーフロー、SQLインジェクションなど)

では、パスワード関連の攻撃における対策について、以下で見ていきましょう。

 

パスワード関連攻撃の対策

ログイン画面にパスワードを入力して不正アクセスを試みるタイプの攻撃ですが、ここでは攻撃者はどのように「正しいパスワードを入力させるか」という観点から見ていきましょう。

(1)パスワードを不正に入手して攻撃する

この方法は「リスト型攻撃」とも呼ばれます。一般的な方法は、過去に別なアプリ・サービスから漏えいしたパスワードリストを入手して、そのリストを使って不正アクセスを試みる、というものです。

最も多く利用されるリストは、過去のパスワード漏えい事件で流出したパスワード漏えいリストを、匿名化ツールを利用しないとアクセスできない「闇ウェブ(ダークウェブ)」で購入する方法です。購入したリストに従って、ID・パスワードを自動攻撃ツールで入力していくと、漏えいしたパスワードの持ち主が「パスワードの使い回し」を行っていると、不正アクセスが成功します。

「パスワードの使い回しは危険」と言われる理由は、このようなリスト型攻撃に利用されるためです。

(2)脆弱なパスワードを使って攻撃する

一般的に多用されている脆弱なパスワードを使って、不正アクセスを試みる方法です。漏えいしたパスワードリストを購入するかわりに、「12345678」「abcdefgh」「password」のような脆弱なパスワードを使って攻撃を行います。

この攻撃手法は大きく分けて2タイプあります。

(a)総当たり攻撃

別名、ブルートフォース攻撃とも呼ばれます。脆弱なパスワードを使って、短時間で総当たり攻撃をしかけていく、という手法です。以前は頻繁に用いられていましたが、最近では多くのアプリ・サービスにおいて、「同一IPから、一定回数以上のログイン失敗が合った場合、アクセスを一定時間拒否する」仕組みが導入されていることから、総当たり攻撃は減っているのが実情です。

(b)パスワードスプレー攻撃

総当たり攻撃の進化版です。総当たり攻撃の弱点、すなわち「短時間で多数の攻撃を行うと、アクセスが拒否される」という点を回避するために作られた攻撃です。多数のアプリ・サービスに対して、数十分に一度、脆弱なパスワードを使って攻撃する、という「ゆっくりした攻撃」がその特徴です。短時間に不正アクセスが集中的に試みられた形跡が残らないため、アプリ・サービス側からアクセスが拒否される可能性が低いため、攻撃の成功率が高められるという仕組みです。

 

パスワード以外の攻撃

次に、不正アクセスを試みるための攻撃で、パスワード自体を利用しない攻撃について見ていきましょう。

(1)SQLインジェクション攻撃

データベースからデータを抽出するために用いられる「SQL文」を悪用した攻撃です。アプリ・サービス側で想定しないSQL文を送り、データベースに保管されている情報を不正に入手する攻撃です。最も有名な被害事例の一つは、2011年にソニーに対して行われた攻撃で、プレイステーションのオンラインサービス利用者の7700万件の個人情報が持ち去られています。

(2)バッファオーバーフロー攻撃

メモリ領域のバッファを超えるデータを入力することで、データの不正な上書きなどを発生させる攻撃です。バッファがあふれた状態で、データを不正に取得するといった不正なコードを実行することで、アプリ・サービス側が意図していない操作が行われ、情報が持ち去られるのです。例として、2015年にFacebookのサービスが停止させられた事件は、バッファオーバーフローを引き起こすための攻撃が原因となったとされています。

(3)ディレクトリトラバーサル攻撃

Webアプリ・サービスから情報を不正に持ち去るための攻撃の一つです。Webアプリ・サービスで公開されているファイルのバス情報と、ホームディレクトリである「../」を組み合わせて用いることで、非公開のファイルに不正にアクセスするという手法です。2003年に、コピーソフト防止活動を行うコンピュータソフトウェア著作権協会 (ACCS) から、1,000人以上の個人情報が漏えいした事件では、この手法が用いられたことで有名になりました。

(4)クロスサイトスクリプティング攻撃

脆弱性があるサイトにユーザーがアクセスするタイミングで、情報を不正に入手し、不正アクセスにつなげる攻撃です。特に、SNSや掲示板などからのリンクで悪用されます。例えば、クロスサイトスクリプティングの脆弱性がある「abcdefgh.jp」というサイトがあったとします。攻撃者は、SNSや掲示板で「abcdefgh.jp」のリンクに、悪意のあるスクリプトが実行されるパラメーターを付けて、ユーザーにクリックされます。これにより、リンク先のサイトで偽のログイン画面が表示され、ID・パスワード情報が盗まれる危険があります。

 

 

IDaaSを利用した不正アクセス対策とその効果

access_3.jpg

不正アクセスの対策について、そして当社が提供するIDaaS (クラウド型シングルサインオンツール) のトラスト・ログインがどのように役に立つかを解説していきます。

access_chart.png

上記の表にある通り、「リスト型攻撃」「総当たり攻撃」「パスワードスプレー攻撃」「クロスサイトスクリプティング攻撃」については、トラスト・ログインを利用してパスワードの集中管理を行うことで、高い確率で攻撃を防止できます。

逆に、「SQLインジェクション攻撃」「バッファオーバーフロー攻撃」「ディレクトリトラバーサル攻撃」については、各アプリ・サービス運用者側の対策でしか防止できないため、トラスト・ログインを利用しても攻撃を防ぐことはできません。

ぜひ、不正アクセス対策としてのIDaaS活用をご検討ください。