あの北朝鮮にサイバー軍という組織が存在するらしい。
暗号解読、機密入手、産業技術入手、世論操作、Webサイト書き換え、ウイルスの制作と拡散などのサイバー攻撃を行うとのことである。
サイバー攻撃とは、サーバやパソコンなどのコンピュータシステムに対し、ネットワークを通じて破壊活動やデータの窃取、改ざん等を行うことだ。
北朝鮮人ごときでも可能なサイバー攻撃を、我々日本人が分からないというのは恥ずべきことだと思われる。
今回はサイバー攻撃とその対応策について観てみたい。
・非技術的な攻撃
システムへの攻撃は何も高度な技術的行為だけではない。
人間の心理や誤用を悪用して、技術的な手法を用いることなく重要情報を収集する手口をソーシャルエンジニアリングという。
例えば、管理者や役職者などになりすまして緊急事態を装った電話をかけるとか、組織内部の人間からパスワードなどの機密情報を不正に入手するなどだ。
ソーシャルエンジニアリングはこれらの手口の総称なのである。
ソーシャルエンジニアリング以外の手口を以下に列記する。
・スキャベンジング
システム内部やその周囲に残るデータ・不要物などから情報を入手する手口である。
別名、“ゴミ箱あさり”とも言われる。
・ショルダーハッキング
他人のPC操作や画面などを盗み見てパスワードなどの重要情報を盗む手口である。
肩越しにチラ見するってとこか。
スクリーンセーバーが自動で起動する設定などの対策が有効だ。
・フィッシング
正規のサイトに似せた虚偽のサイトを用意して、電子メール等で受信者を誘導し、暗証番号やクレジットカード番号などの重要情報を入力させて詐取する手口である。
攻撃対象者の誤認を悪用するわけだ。
フィッシング対策としては、URLが正規のものか確認する、SSLを利用していることや証明書が正しいことを確認する、電子メールの内容が本当に正しいのかを複数の手段で確認する、などである。
・サービス運用の妨害工作
今度はシステムそのものへの攻撃である。
・DoS攻撃(Denial of Service Attack)
大量のアクセスや大容量のデータを送り付けるなどの方法で、サーバを高負荷状態に陥れて、サービスの提供を妨害する手口である。
この攻撃を受けるとシステムの可用性が失われる。
・DDoS攻撃(Distributed DoS攻撃 : 分散DoS攻撃)
多数の攻撃用コンピュータを事前に用意し、攻撃者の指示により一斉にDoS攻撃を行う手口である。
これを実行するには、攻撃者(C&Cサーバ)の指示によって不正に遠隔操作する不正プログラムであるボットに感染したコンピュータ等が用いられる。
・DNSキャッシュポイズニング
DNSサーバは、外部からの問合せに答える役割(コンテンツサーバ)と、内部からの名前解決の問合せに応答し、その内容(ドメイン情報)を蓄積しておく役割(キャッシュサーバ)をもっている。
なお、ドメインというのは、インターネット上に存在するコンピュータやネットワークを識別するための名前のことだ。
簡単に言えば、インターネットの住所のことである。
DNSキャッシュポイズニングはこの仕組みを悪用する。
キャッシュサーバに偽のドメイン情報を登録して、利用者に偽装Webサーバに誘導する攻撃だ。
攻撃者はキャッシュサーバに対してあるドメインの問合せを行い、その答えが正規のDNSサーバから返ってくるよりも速く、偽の応答を行って偽のドメイン情報を登録させてしまう。
このような「汚染されたキャッシュサーバ」に問合せをした利用者には、偽のドメイン情報が応答され、結果的に偽装Webサーバに誘導されてしまうわけだ。
・ゼロデイ攻撃
ソフトウェアなどの脆弱性(セキュリティホール)が発見されてから、修正用プロトコルが配布される前に攻撃する手口である。
ゼロデイ、間髪入れずに攻撃するってとこだ。
・Man-in-the-Middle攻撃(中間者攻撃)
正規の通信者の間に割り込み、通信内容を中継しながら盗み見る攻撃である。
例えば通信者Aが通信者Bに送信しようとしてる。
このとき攻撃者Xが割り込んで、Aからの送信はXが受けて盗み見た後にBに転送する。
これをBは通常のAからの送信だと思い返信する。
XはBからの返信を受け盗み見た後、BのふりをしてAに転送する。
このような手順で盗聴できてしまう可能性がある。
ディジタル証明書による相手の認証などを使わずに通信を行おうとすると、中間者攻撃の危険性は増大する。
・SEOポイズニング
SEO(Search Engine Optimization : 検索エンジン最適化)は、自身のWebサーバがサーチエンジンの検索結果の上位に表示されるように導く技術である。
SEOポイズニングではこのSEO技術を悪用することで、検索結果の上位に悪意のあるサイトを意図的に表示させるようにする。
利用者が気づかずに閲覧すると、マルウェアが活動を開始し、さまざまな攻撃を受けてしまうことになる。
・サーバへの侵入手口
サーバへ不正に侵入する場合は、次のような手順で攻撃が行われる。
①事前調査
攻撃者は、公開されたドメイン情報の収集やソーシャルエンジニアリングなどで攻撃対象となるシステムの情報を収集する。
これをフットプリンティングという。
されに、サーバが提供するサービス(HTTPやSMTPなど)のポート番号を調査するポートスキャン、サーバやOSの種類やバージョンの特定などを行い、システムの脆弱性を探す。
※ポートスキャン・・ネット機器やシステムに信号を送り接続可能なポートを探り当てる行為。
②権限奪取
攻撃ツールなどを使ってシステムを攻撃し、管理者権限などを奪う。
③不正行為
権限を奪われたシステムには、機密データの盗難、保存されたでの破壊・改ざん、迷惑メールの送信、他のサーバの攻撃への踏み台など、様々な不正行為が行われる。
④後始末
不正行為が行われた後のコンピュータには、ログの消去や改ざんといった証拠隠滅や、バックドアの設置などが行われる。
バックドアとは、次回の侵入を用意するための裏口(通常ではないアクセス経路)となるプログラムのことである。
・Webアプリケーションへの攻撃
昨今では、インターネット技術を利用したWebアプリケーション技術も多く使われている。
Webアプリケーションを利用した攻撃手法は次のようなものがある。
・セッションハイジャック
クライアントとサーバなど、通常を行っている二者間に割り込んで接続を乗っ取る手口である。
例えば、通信の識別番号であるセッションIDの推測や不正取得により、利用者になりすます方法などがある。
・ディレクトリトラバーサル
入力データにファイルへのパスを含むようなアプリケーションに対して、意図されていないようなパスでファイルを直接指定することにより、本来はアクセスできないはずのファイルに不正に直接アクセスする攻撃である。
・SQLインジェクション
入力した文字列をそのままSQL文に連結するような脆弱性をもつサイトに対して、SQL文の一部となるようなデータを入力して、任意のSQL文を実行させる攻撃。
データの不正取得や改ざん、管理者権限の取得が可能となる。
これに対策として、入力データに含まれる文字がSQL文の特殊文字として解釈されないようにするバインド機構などがある。
・クロスサイトスクリプティング(XSS : Cross Site Scripting)
標的となる一般ユーザのブラウザ上で、任意のスクリプト(JavaScriptなどの簡易言語)を実行させる攻撃。
クロスサイトスクリプティングにより、Webサイトの改ざん等の被害が考えられる。
これを防ぐためには、“<” や “>” といったHTMLの特殊文字として扱われるような文字を、“<” や “>” のような文字にエスケープ処理することが有効である。
これをサニタイジングという。
・クロスサイトリクエストフォージェリ(CSRF : Cross Site Request Forgeries)
標的となるサイトにHTTPリクエストを送信させる攻撃ページを用意し、訪れた利用者に強制的にリクエストを送信させて意図しない操作を行わせる攻撃。
掲示板への書き込みや、オンラインショッピングでの注文といった被害が想定される。
・クリックジャッキング
Webページの透過表示機能などを悪用して、攻撃サイトの上に透明な標的サイトのコンテンツ(ボタンなど)を重ね合わせ、標的サイトに対してユーザの意図しないクリック操作を行わせる攻撃である。
・攻撃への対応策
これまで挙げてきた攻撃について、ただ手をこまねいているだけではいけない。
何らかの対応策を考えなければいけないのである。
以下にその対応策を列挙していこう。
・セキュアプログラミング
システムやアプリケーションの脆弱性を事前に排除Fし、情報漏えいや乗っ取り、予期しないシステムダウンを防ぐためのプログラミング手法である。
設計段階から予防していくということだ。
・WAF(Web Application Firewall)
WAFは、Webアプリケーションに関する通信データ(HTTP要求など)を調べて正当なものか攻撃かを判断し、許可・遮断を制御することでWebアプリケーションを保護する。
判断の方式として二つある。
ブラックリスト方式
攻撃と判断できるパターンを登録しておき、それに該当する通信を遮断する。
ホワイトリスト方式
正当とできるパターンを登録しておき、それに該当する通信のみ許可する。
・ファジング
ソフトウェアの安全性を検査する手法の一つである。
ツールなどを用いて「問題を引き起こしそうな例外的なデータ」を生成して、検査対象となるソフトウェアに与える。
その応答や挙動を観察することで、脆弱性が見つかることが期待できる。
「問題を引き起こしそうな例外的なデータ」のことをファズと呼ぶ。
ツールなどを使えば開発者でなくとも比較的簡単にファジングを実施できるので、費用対効果の高い検査手法といえる。
・アクセス制御
ユーザの種別と資源(ファイルなど)の種類の組合せごとに、「何ができ何ができないか」をあらかじめ決定しておく。
不正アクセスや誤操作によるシステムに対する悪影響を排除するのである。
・ディジタルフォレンジング
インターネットやコンピュータに関する犯罪が発生した場合には、不正アクセスの追跡や証拠データの解析、保全などの「操作」が重要だ。
これらをITを利用して行うこと、及びそのための技術をディジタルフォレンジングというのである。
・電子透かし
電子透かしとは、一般の利用者に分からない形式で、データ中に著作者や購入者などの情報を埋め込む技術である。
電子透かしを利用すると、画像データや音声データがネットワーク上で流通している場合、それが正規のものか不正にコピーされたものなのかを判定しやすくなる。
・後記
最初、3回程度で終わらそうとした情報セキュリティだが、7回も投稿することになってしまった。
国家試験である基本情報試験も応用情報試験も、情報セキュリティは必修科目である。
それだけ国家もこの分野について重要視しているということだ。
ITリテラシーとは、各種のIT関連サービスや機器、テクノロジーについて理解し、使いこなす能力のことである。
セキュリティはその中でも最重要なテーマとみなされてるわけで、覚えておいて損はないだろう。
というわけで、私も時間あるとき自分のブログを見直してITリテラシーを高めようと思っている。