使用者の弱点を突いた攻撃
総当り侵入
(パスワードクラック) コンピュータを操作するには、直接ケーブルで接続している端末から操作する方法と、遠隔地から電話などの回線を経由して操作を行う方法の2通りがある。操作の前にかならず操作する人を識別するための「ユーザ名」と「パスワード」の確認を行うが、厳重に管理されていないシステムではユーザ名もパスワードも最初に設定されているメーカ初期値のままで使用されているケースが多くある。こういったシステムでは侵入はあっさりとおこなわれ、侵入できればあとは侵入者の思うがままに操作されてしまう。またユーザ名やパスワードも覚えやすいように普通の英単語の組み合わせやその並びを替えた程度では、数秒の試行でこれまた簡単にわかってしまう。数年前に筆者が社内のパソコンでパスワードを検出プログラムを実行してみたところ「This is a pen」というパスワードはものの5分でわかってしまった。現在のシステム構成ならもっと短時間で判定できるはずだ。
トロイの木馬
(Trojan) 外部から侵入しても、長時間連続して目標のコンピュータを操作することは難しい。すぐに不正な操作が行われていることが判明てルートを辿られれば足がつく。そのためあるキッカケを与えてやれば侵入者が望む動作を開始する、または欲しい情報を送ってくれるプログラムを仕掛けておくことが有効である。これがトロイの木馬というものだ。侵入者はパスワード保護を突破するか、Downloadするファイルに木馬を仕掛けておいたり、メールの添付ファイルに潜ませて置いたりしてトロイの木馬を仕掛けて、目的のPCに木馬を占有させる。パスワード保護を突破したときには何もせずに直ぐに侵入した形跡を消して退散する。管理者はこの不正な侵入に気づくことは少ない。まして新たなファイルが一つ増えており、それがトロイの木馬であることを判断することはたいへん難しい。そしてじっと潜んでいた木馬はあるときいきなり動き出し、重要な情報を外部の侵入者の元に送ったり、PCのデータを破壊したりするのである。
棺桶の用意、出来てます。樒は使えません(笑)
投稿者:葬儀屋 投稿日:2010年 9月28日(火)23時52分12秒 tor.funk.orgバッファオーバーラン(BOF) 最近の流行はこのBOFアタックである。これは言葉で説明するとややこしいがプログラムのレベルで考えると簡単だ。プログラムである変数として名前を20文字分用意しておくとする。そこに30文字分の名前データをセットすると10文字分があふれるが、C言語などではサイズをチェックしないとあふれた分は次の変数やプログラムコードなどの領域にかぶせられる。つまりプログラムであるなら実行コードが書き換えられるのだ。そして溢れたところからプログラムを実行するような個所であれば、書き換えたコードを実行することができるのだ。これはUNIXなどツールでコードが公開されているものでは実験してみれば、どの変数をどのくらいあふれさせるれば目的のコードを実行できるかがわかる。そして目標のマシンがどういったOSを実行しているのかがわかれば標的とするポイントを絞られてしまうのだ。またコードを実行できなくても本来の実行コードが置き換えられてしまうためサービスが不正実行で落ちてしまう。
Landアタック
(Land) Windows95のときに流行ったアタックで送信元のIPを詐称して攻撃対象のPCのIPアドレスを名乗りPingを自分に送る。つまり送信元=送信先=自分のIPとするとOSがハングアップしてしまうのだ。いまではOSが修正されてこの攻撃は無効となったので、いまさらこんなことをやるやつはいない
Nukeアタック(Nuke,OOB) WinNukeというWindowsをハングアップさせるツールが流行った時に利用されたものでNBTに変なデータを送るとOSがネットワークを使えなくなったり、ハングアップしてしまうというもの。これもOSの修正で無効となった。
JAVAとActiveX
(ブラウザのセキュリティホール) IEやNNといったブラウザはインターネットの接続とファイルアクセスの機能を持つソフトウェアであるがインターネットからのコンテンツでローカル(自分のPC)のファイルは読めてはいけない。つまり外部からのアクセスの中継となる機能を提供してはいけないのである。しかしJAVAのVM(仮想マシン)やActiveXのバグのためにサーバから内部を覗かれてしまうというセキュリティホールが見つかっている。
ネットワークの弱点を突いた攻撃
IPパケットの分割(Flagment) インターネット上では中継されるネットワークの都合でパケットが分断されるときがある。これを悪用してわざと分断したパケットを送る。例えば1000バイトを3つに分断して送ったとする。333バイトのパケットを2つ受け取ったPCは最後の334バイトが来るまで667バイトのパケットの中身をバッファに溜め込んでじぃっと待っている。そして一定時間経っても来なければ666バイトは捨てられるが、一定時間以内はバッファを使用することになる。こんなパケットが大量に来ると分断した中途半端なデータでバッファがいっぱいになり、本来の通信に使うはずのバッファが使用できなくなる。これがIPフラグメント攻撃だ。これはわざと途中のパケットを飛ばして送ったり、半分だけ送って残りを送らなかったりする方法がある。
なりすまし侵入(Spoof) 本来特定の相手と情報をやり取りするために信頼するIPアドレスというものを指定することがある。たとえば企業間でデータをやり取りするとき、相手の会社の特定のIPを指定してデータの交換を許可するが、他のIPを使ってのデータ交換は出来ないといったことである。電話で例えると着信を許可する相手の番号を指定するのと同じだ。このIPアドレスを詐称することで相手のネットワークやPCに侵入することが「なりすまし」というものだ。またLANを構成していてRouterでインターネットに接続しているようなときに外部にいながら内部LANのIPアドレスを詐称するとLANに侵入することが出来る場合がある。LAN内でファイル共有をパスワード指定など使わないで利用していれば内部に侵入できれば無条件でPCのファイルを見ることが出来てしまう。
盗聴
(Sniffer) インターネットでメールを書いて相手に送る。インターネットの回線の上を流れているあなたのメールのデータは全てテキスト形式で、ISPのメールサーバから相手のISPのメールサーバまでいろいろなサーバやネットワーク機器を経由して相手に届く仕組みになっている。いろいろなサーバを経由するということは、そのサーバ管理者が悪意を持ってメールの内容を覗こうとすれば覗くことができるということだ。だからといって直接相手に届けてくれ!と無理を言ってもインターネットはそういう仕組みで成り立っているのでどうしようもない。またHUBなどを使って構成されているLANというのは自分宛以外のパケットは届いたときに無視するという約束になっている。これは一本の線をみんなで共有するといったEthernetの仕組みだからこれも仕方ない。そうなるとLAN上の他のPCに送られるパケットを無視しなければ他人のメールも覗くことができるということだ。実際にLANモニタというLAN上を流れるデータを見るソフトや機会を利用すればデータの中身をすべてみることが出来る。最近のインターネット完備マンションなどではこうやって他の部屋の住人のメールが覗かれている可能性もある。
大量に送って機能を麻痺させる
(DoS) DoSとはDeny of ServiceといってWWWやMailなどのサービスを提供しているサーバを機能不全にする攻撃だ。単純に言うと特定のパケットを短い時間に相手が処理できなくなるくらいに大量に送信してサーバをギブアップさせるのだ。これは単純にそういったプログラムを動かすだけで行うことが出来る。たとえばダイヤルアップで接続している相手に向かって常に大量のデータを送る続ければ、相手は不要なデータに帯域を占領されてメールを見ることもWWWを利用することも出来なくなる。自分で不要なデータの流入を止めることが出来ないので(届いたものを受け取らないという事は出来るが届かないように途中で止めることは出来ない)相手が攻撃を止めるまで使用不可能となる。最近ではサーバの処理が向上しているため単独で行っても麻痺させるには至らない。そのために出現したのがDDoSアタックだ。
みんなで寄って集って麻痺させる
(DDoS) 2000年初頭のyahoo.comやamazon.comなどの有名サイトが受けた攻撃がこれ。分散DoSアタック(DDoS)と呼ばれる。これは複数の段階を得て攻撃を行う。まずクラッカは上記のBOFによって攻撃用プログラムをあっちこっちに仕掛ける。つまり攻撃用プログラムというトロイの木馬を仕掛けられるのだ。その後標的を攻撃する開始メッセージを攻撃用プログラムに送ると木馬が動き出す。そしてあっちこっちに仕掛けられた大量の木馬によって有名サイトは処理が滞り、停止してしまったのだった。この木馬から送り出される攻撃の方法として
UDPパケットを大量に送りつける方法
TCPセッション開始要求であるSYNパケットを大量に送りつける方法
ICMPのPing応答パケットを大量に送りつける方法
IPアドレスを詐称して(攻撃目標のIPを詐称する)、攻撃目標に大量の Ping応答を送りつける
それぞれを組み合わせた方法
この中でもっとも防ぎにくい方法が(4)のIPアドレスを詐称したPing応答攻撃だ。これはよく使われるPingの要求をあたかも攻撃目標のサーバが送ってきたかのようにIPアドレスを詐称して、無関係なネットワークに送ることで、その無関係なネットワーク中のサーバやPCから攻撃目標に対して Pingの応答を送り返させる。そして攻撃目標サーバは無意味な大量の Ping応答を受け取り、処理能力を失いDownするといったものだ。この方法の卑劣な点は無関係なサーバを利用するため攻撃者が特定できない。また攻撃の拠点となった (木馬を仕掛けられた)サーバも攻撃の意図が無く利用されただけということ。また木馬を仕掛けてから時間が経過していれば、木馬を仕掛けたときの進入情報も捕らえにくいということ。(1)〜(3)では攻撃を行うサーバは木馬を仕掛けられたものに限られる。
使用者の弱点を突いた攻撃
総当り侵入
(パスワードクラック) コンピュータを操作するには、直接ケーブルで接続している端末から操作する方法と、遠隔地から電話などの回線を経由して操作を行う方法の2通りがある。操作の前にかならず操作する人を識別するための「ユーザ名」と「パスワード」の確認を行うが、厳重に管理されていないシステムではユーザ名もパスワードも最初に設定されているメーカ初期値のままで使用されているケースが多くある。こういったシステムでは侵入はあっさりとおこなわれ、侵入できればあとは侵入者の思うがままに操作されてしまう。またユーザ名やパスワードも覚えやすいように普通の英単語の組み合わせやその並びを替えた程度では、数秒の試行でこれまた簡単にわかってしまう。数年前に筆者が社内のパソコンでパスワードを検出プログラムを実行してみたところ「This is a pen」というパスワードはものの5分でわかってしまった。現在のシステム構成ならもっと短時間で判定できるはずだ。
トロイの木馬
(Trojan) 外部から侵入しても、長時間連続して目標のコンピュータを操作することは難しい。すぐに不正な操作が行われていることが判明てルートを辿られれば足がつく。そのためあるキッカケを与えてやれば侵入者が望む動作を開始する、または欲しい情報を送ってくれるプログラムを仕掛けておくことが有効である。これがトロイの木馬というものだ。侵入者はパスワード保護を突破するか、Downloadするファイルに木馬を仕掛けておいたり、メールの添付ファイルに潜ませて置いたりしてトロイの木馬を仕掛けて、目的のPCに木馬を占有させる。パスワード保護を突破したときには何もせずに直ぐに侵入した形跡を消して退散する。管理者はこの不正な侵入に気づくことは少ない。まして新たなファイルが一つ増えており、それがトロイの木馬であることを判断することはたいへん難しい。そしてじっと潜んでいた木馬はあるときいきなり動き出し、重要な情報を外部の侵入者の元に送ったり、PCのデータを破壊したりするのである。