■セキュリティのための考察
セキュリティを実施するに当たり、サーバへの攻撃方法を調査
- サーバに侵入するためにすること
- サーバに侵入後にする攻撃
- サーバに侵入せずに行う攻撃
- その他攻撃
■DoS(Denial of Services)
--サービス妨害攻撃またはサービス不能攻撃--
大量のデータや不正パケットを送りつけるなどの不正な攻撃を指す。
攻撃対象のシステムがサービスを提供できないようにしたり、システムそのものをダウンさせたりする。
特に、インターネットサーバによって提供されているサービス(Web、FTP、DNS、メールなど)を標的として妨害する攻撃が、一般に入手可能なツール(
クラッキングツール)を利用して行われる。
インターネットプロトコルの特性を攻略して、
①ネットワークに接続されたコンピュータに過剰な負荷をかけ、サービス提供を阻害する攻撃
②サーバ・アプリケーションの脆弱性を攻略し、サービスに例外処理をさせて、サービス提供を阻害する攻撃
などがある。
【解決】
参考:http://www.atmarkit.co.jp/fsecurity/special/61dos/dos01.html
基本的に、IDSで攻撃パターンやポートに対するトラフィック量をもとに、対策をする(有料)。
→無料では無理です。
■ポートスキャン:port scan
ネットワークを通じてサーバに連続してアクセスし、保安上の弱点(セキュリティホール)を探す行為。
ポートに順番にアクセスし、サーバ内で動作しているアプリケーションソフトやOSの種類を調べ、侵入口となりうる脆弱なポートがないかどうか調べる。
セキュリティホールが発見されると、侵入用のプログラムを使って不正侵入を行なうことが多い。
ポートスキャンを受けたサーバは、通信履歴(アクセスログ)にポートスキャンとおぼしき不審な記録が残るが、間隔を空けてスキャンを行なうなど、ポートスキャンの発生を隠蔽する工作が行われている場合もある。
【対策】
・不要なサービスを停止し、ポートを閉じる。
・OSおよびアプリケーションに最新のパッチを適用する。
・ファイアウォールによって不要なポートへのアクセスを遮断する。
【検知】
・IDS(IntrusionDetectionSystem)やIPS(IntrusionPreventionSystem)を用いて検知する。
・ファイアウォールのログを用いて検知する。
・ホストのログを用いて検知する。
【ポートスキャンのやり方】
Windowsでもできるが、簡単なのはLinuxにnmapをインストールして、対象のIPアドレスに対してスキャンを行う。
スキャンの種類には、
- -sT(TCPフルコネクトスキャン)
- -sS(TCPハーフコネクトスキャン)
- -sU(UDPスキャン)
- -sP(pingスキャン)
- -sF(FINスキャン)
- -sX(Xmasスキャン)
- -sN(Nullスキャン)
- -sR(RPCスキャン)
- -I(Identdスキャン)
- -sA(ACKスキャン)
- -sW(Windowスキャン)
- -b(FTPバウンススキャン)
こんなのがある。(参考:http://www.yk.rim.or.jp/~shikap/security/use_nmap.html)
例えば、UDPポートをスキャンしたい場合は、[npam 192.168.xxx.xx -sU]
結果↓↓↓↓
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 20xx-xx-xx mm:ss JST
Interesting ports on wat.kensyu.com (192.168.xxx.xx):
Not shown: 1484 closed ports
PORT STATE SERVICE
53/udp open|filtered domain
111/udp open|filtered rpcbind
631/udp open|filtered unknown
ポートスキャンをやってみて、色々と不要なサービスを見たり消したりしたのは
rcpbindについて調査_メモで。
■DDoS(Distributed Denial of Service):分散DoS
複数のネットワークに分散する大量のコンピュータが一斉に特定のサーバへパケットを送出し、通信路をあふれさせて機能を停止させてしまう攻撃。
実際にパケットを送る(攻撃を実行する)コンピュータの管理者や利用者に攻撃の意図はなく、外部の悪意ある第三者(クラッカー)にコンピュータを操られて、気づかないうちに攻撃に参加させられてしまうという特徴がある。
クラッカーは、攻撃対象とは無関係な多数のコンピュータに侵入し、ユーザに気づかれないように攻撃実行用のプログラム(トロイの木馬)をこっそりしかける。
攻撃を開始する時には、あらかじめ仕掛けたトロイの木馬に対して、一斉にパケットの送出命令を発行する。
標的となったサーバには、トロイの木馬が仕掛けられたコンピュータからパケットが送り込まれるため、攻撃されたサーバからは真の攻撃元である「黒幕」のコンピュータを割り出すことは難しい。
DDoSによる妨害アクセスは通常のアクセスと見分けがつきにくく、選択的に排除するのが難しい。このため、標的のサーバにセキュリティ上の弱点を放置するなどの管理のミスがなくても被害が発生してしまう。
--------トロイの木馬--------
様々な経路を通じて被害者がダウンロードしたプログラム実行形式のファイル(Windowsであれば.exeにあたる)を実行する。悪意のあるものがほとんど。
大半のトロイは大きく分けて二つのファイルを必要とする。
ひとつはサーバ、そしてもう一方は、クライアントと呼ばれている。
被害者が実行するのはサーバのほうである。これを実行することにより、被害者のパソコンは、ファイル名が暗示するように、一種のサーバと化す。
一度サーバ化に成功すると、クライアントを使えば、いつでも、どこからでも、攻撃者の好きな時に被害者のパソコンに秘密裏に接続することが可能となる。
実行されると、被害者の同意を一切得ずに、秘密裏にハードディスク内、もしくはメモリ内に自身を複製、インストールする。
また、Windowsに感染するほとんどのトロイはレジストリを被害者の同意を得ずに、秘密裏に改変、削除、追加を行う。
被害者のネット接続設定やファイアウォールの設定を変更し、攻撃者任意のポートを開放し、外部からの接続を許可する。
トロイの木馬の種類
- バックドア型
- パスワード窃盗型
- クリッカー型
- ダウンローダ型
- ドロッパー型
- プロキシ型
など。
---------------------------
【対策】
警察に届ける
DDoS対策機器を導入する
■パケットスニッファリング:packet sniffering
ネットワークを流れるパケットを盗聴し、そこからIDやパスワードを拾い出すこと。
パスワード以外にもメールの盗聴などが行われることもある。
管理者はネットワーク内のパケットを自由に見ることができるようになっている。そのため、悪意を持った人物が管理者権限を手に入れた場合、ネットワーク内部から外部へアクセスしている人物のパケットを盗聴し、様々な情報を知ることもできる。
ネットワークによっては管理者でなくとも盗聴が可能な場合があり、注意が必要。
パケットスニッファリングへの対抗手段は、通信経路の暗号化や定期的なパスワード変更が一般的。
暗号化できないTelnetやFTP(詳しい攻撃は
こっち)などのアプリケーションは使用すべきでない、とされる。
■反射攻撃:replay attack
不正侵入の手段の一つ。
パスワードや暗号鍵などを盗聴し、そのまま再利用すること(ユーザになりすます)。
パスワードが暗号化されていたとしても、暗号化された後のデータを記録して使うので、受け取った方では「正しいパスワードを正しく暗号化している」と判断してしまう。
パスワードを復号化する必要がないので、強力な暗号化システムでもこの攻撃を防ぐことは困難とされている。
これを防ぐために考案されたのが、毎回パスワードを変化させるという「ワンタイムパスワード」方式。
■バックドア:backdoor
クラッカーにより侵入を受けたサーバに設けられた、不正侵入を行なうための「裏口」。
クラッカーはコンピュータへの侵入に成功すると、次回も侵入できるように、管理者に気づかれないようこっそりと侵入経路を確保する。→バックドア
管理者が不正侵入に気づいて侵入路をふさいでも、クラッカーは前回侵入時に設置したバックドアから再び不正侵入を行なうことができる。
また、コンピュータウイルスが感染する際に、外部からの操作を受け入れるための窓口としてバックドアを設置する場合もある。
他のコンピュータへの攻撃の踏み台として利用されてしまうことも多い(
DDoSなど)。
■ブラクラ:browser crasher
Webブラウザに過剰な負荷をかけたり、ブラウザのセキュリティホールを悪用して、ブラウザやシステムを異常動作させようとするWebページのこと。
・大量のフレームをページ内に生成する
・無限に新規ウィンドウを生成する
・フロッピーディスクを読ませる
・
conconバグを発動させる
などがある。
-------conconバグとは---------
Windowsにおいて「予約デバイス」と呼ばれる特別な意味を持つファイル名やフォルダ名にアクセスさせ、OS を停止させる。CON, AUX, NUL などが該当。
* Microsoft から出されているパッチ(修正ソフト)をインストールする
* Windows 9x系(Windows Me まで)の OS を使用しない
* Windows NT 系列(Windows 2000 や XP など)や Windows 以外のプラットフォームは影響を受けない
------------------------------
【対策】
ブラウザの設定画面で、セキュリティレベルを高く設定する、
ブラウザのバージョンを最新にする、ホスト型侵入検知システムを導入するなど
■クラッキングツール:cracking tool
--他人のコンピュータのデータやプログラムを盗み見たり、改ざんや破壊などを行なったりする「クラッキング」行為をするためのプログラム--
具体的な動作は様々で、ポートスキャンを行なうプログラムやセキュリティホールを検索するプログラム、一定の法則に従ってパスワードを自動的に入力し続けるプログラムなど、色々なツールが開発されている。
入手はそれほど困難ではない(インターネットや雑誌の付録など)。
クラッキングツールの行なう攻撃手法は、広く認知されているものや比較的初歩的なものが多いため、ある程度管理のしっかりしたコンピュータには無効であることが多く、高度な技術を持ったクラッカーと同等の行為を行なうことができるようになるわけではない。
■IPスプーフィング:IP spoofing
--偽のIPアドレスを送信元にセットしたパケットを送り込む攻撃手法--
不正侵入の手段として使われることが多く、その際、信頼されているコンピュータに成りすまして認証をパスするという手口が利用される。
企業の情報システムでは、プライベートIPアドレスからアクセスすると利用できる機能などがあるが、IPスプーフィングによってプライベートアドレスを詐称することにより、外部から不正にこうした機能にアクセスできてしまう。
■F5アタック:F5 attack
Webサーバに対するDoS攻撃の手法の一つ。
多数のクライアントから一斉にページの再送請求を何度も送り、過負荷によりサーバをダウンさせる手法。
ブラウザには「F5」キーを押すと現在閲覧しているWebページを更新(リロード)する機能があり、これを連打することで、Webサーバに対して短時間に大量の送信要求を送ることができる。複数の人間が時間などを申し合わせて一斉に「F5の連打」を行なうと、サーバや回線、通信機器などが過負荷状態となり、ついにはダウンしてしまう。
■ゼロデイアタック:zero-day attack
ソフトウェアにセキュリティ上の脆弱性(セキュリティホール)が発見されたときに、問題の存在自体が広く公表される前にその脆弱性を悪用して行なわれる攻撃。
メーカーや開発者が公開するパッチを、公開後即座に適用するのが基本だが、ゼロデイアタックの場合は対応策が公表される前に攻撃が行なわれるため、このような対策では防ぎきれない。
開発者が対応を取る前に、発見された脆弱性の情報がクラッカーコミュニティで流通したり、攻撃用ツールが配布されたりする事例が報告されており、この「時間差」が問題となっている。
有効で万能な解決策は今のところない。
■ソーシャルエンジニアリング:social engineering
ネットワークの管理者や利用者などから、話術や盗み聞き、盗み見などの「社会的」な手段によって、パスワードなどのセキュリティ上重要な情報を入手すること。
パスワードを入力するところを後ろから盗み見たり、オフィスから出る書類のごみをあさってパスワードや手がかりとなる個人情報の記されたメモを探し出したり、ネットワークの利用者や顧客になりすまして電話で管理者にパスワードの変更を依頼して新しいパスワードを聞き出す、などの手法がある。
参考/引用:http://virus.client.jp/secuhou.html
更新日:2009/1/12