システムセキュリティ論3 - 東京情報大学 情報システム学科 WEB

システムセキュリティ論3 セキュリティ要件
機密性(Confidentiality)
許可された者のみが情報にアクセス可能であること.
完全性(Integrity)
情報が常に完全であることを保証する.データを改ざんまたは破壊されるのを防ぐこと.
可用性(Availability)
システムの停止を防止し,許可された者が必要なときに利用可能であること.
説明可能性(Accountability)
システムがいつ誰に利用されたかを追跡できるようにすること.
認証性(Authenticity)
利用者またはリソースの身元が主張どおりであることを保証すること.
攻撃の種類
アクセス(Access)攻撃
修正(Modification)攻撃
サービス停止(Denial of Service)攻撃
否認 (Repudiation)攻撃
よく知られた脆弱性
RPC NIS,/etc/ypserv.conf,
/etc/ypserv.securenets,
NISのドメイン名
ypset 付で ypbind を起動しない
NFS,/etc/exports(ワールドワードマウンタブル , root_squash)
r コマンド(rcp, rlogin, rdist)
,トラステッドホスト
アカウント
パスワードのないアカウントをつくらない(デーモンも)
.
使われていないアカウントは削除する.
root でログインできないようにする.
(X,,ネットワーク,コンソール)
シングルユーザモードでのパスワードなしの起動 (linux -s),CD・FD 起動
簡単なパスワード →
password cracking(パスワード解析,ブルートフォースアタック)
可能性のあるパスワードを片っ端から試す
名前解決
DNS に偽の情報を送信する.
(DNS ポインズニング)
偽の DNS に騙されないようローカルから引く,逆引きでチェックする.
→ ローカルファイルの改竄
プログラム
バグのあるプログラム (openSSL v2, SNMP v1,2)
バッファオーバーフロー
プログラムを誤作動させて,プログラム実行権限のシェルを手に入れる
Exploit Code: プログラムの脆弱性を検査するプログラム → クラッキングツール
Back door: デバックモードの存在
core 解析: プログラムを core dump させて core の中身を解析
コンピュータウィルス,Trojan horse(トロイの木馬)
ネットワーク
ネットワーク盗聴,データ改ざん,成りすまし,否認 (暗号化により防止)
TCP Wrapper, xinetd
/etc/hosts.allow, /etc/hosts.deny
メール SPAM,mail bombing sendmail
セキュリティホールが多い?,v12 から大幅改版(の予定)
DoS attack (Denial of Service attack: サービス妨害攻撃)
DDoS attack(Distributed Denial of Service attack: 分散型サービス妨害攻撃)
スクリプトキディ,root kit
ポートスキャン (ステルススキャン)
WEB
Java Applet, ActiveX, cookie
掲示板(HTML を流し込まれる)
フィッシング (phishing = sophisticated + fishing) (パスワード入力の偽ページへ)
ファーミング(pharming = phishing と farming の捩り)
IDS 侵入検知システム(殆ど役に立たない ... と個人的には思う)
ハニーポッド(蜜壷)
クラッカーを誘い込む
WEB アプリケーション
サーバサイドスクリプトの脆弱性(危険なコードを流し込まれる)
XSS (Cross Site Scrpting)
CSRF (Cross Site Request Forgeries) Parameter Manipulation(パラメータ改ざん)
Backdoor & Debug Options(バックドアとデバックオプション)
Forceful Browsing(強制的ブラウズ)
Session Hijacking / Replay(セッション・ハイジャック/リプレイ)
Path Traversal(パスの乗り越え)
SQL Injection(SQL の挿入)
OS Command Injection(OS コマンドの挿入)
Client Side Comment(クライアント側コメント)
Error Codes(エラーコード)
課題:WEB アプリケーションの脆弱性の内 , ボールドで表示されている物について調べなさい
検索サイトで検索して,表示された WEB ページをコピペするなどという , どーしようもない行為は止
めてくださいね.コピペレポートにはマイナス点をつけます.
具体的な攻撃方法
IP Spoofing Attack (IP スプーフィング攻撃 , アドレス偽造)
自組織のアドレスのパケットを外部から流し込む.流し込む方は返事が貰えないので,相手の反応
(返事)を予測してパケットを流す.トラステッドホストが指定されていると危険は大.
SYN Flooding Attack
DoS attack (サービス妨害攻撃)のひとつ.標的ホストに対して、TCP のハンドシェイクが確立しな
い要求パケットを次々に送信し、リソース(メモリなど)を浪費させる(3 番目の返答を返さずに Time out
させる)
.この際、送信元の IP アドレスは、身元を隠すために存在しないアドレスに IP spoofing (IP
スプーフィング)されることが多い.従来、対策が難しいと言われていたが、SYN Cookie という対策技
術を実装した OS が普及しつつある.
例えば Linux 現行 カーネル 2.4 においても SYN Cookie を利用可
能である.
Smurf Attack
ネットワーク資源についての DoS 攻撃(サービス妨害攻撃)のひとつ.ICMP における「指図されるブ
ロードキャスト(directed broadcast)
」の機能を悪用する.ICMP エコー要求パケットの発信元のアドレ
スに標的の IP アドレスを設定し、宛て先にブロードキャストアドレスを設定して送信することにより、
このパケットを受け取った多数のホストが一斉に標的のホストに ICMP エコー応答パケットを送りネット
ワーク帯域の渋滞をもたらす.
攻撃者が利用する攻略プログラムのひとつの名前にちなんで、
Smurf attack
と呼ばれる.
Ping Flooding Attack
packet fragmentation and reassembly の脆弱性を利用し,システムをクラッシュさせる.
例) 非常に大きい ping パケットの転送 # ping
-s
65507
hostname
システムの IP スタックに深刻な障害をもたらす.
UDP Echo Bomb
echo サービスとは、7 番ポートにデータを送るとそのデータを送り返す機能. UDP ストーム攻撃は inetd
が処理する echo サービスを通じて実行される.もし A というホストの echo サービスを利用して B というホ
ストのアドレスにパケットを送ったら、そのパケットはAとBホストの間をずっと行ったり来たりする. こ
のようなパケットを一つだけでなくずっと送りつづけば、
非常に多いパケットが二つのホストの間を周期的
に往復するようになってネットワークの負荷は増加し、ネットワークが麻痺する.
Win_Nuke Attack
「WinNuke」とも知られている「Blue Bomb」は、自分と通信している人の OS(ウインドウ)をいきなり停止
させることができる手法である.
「Blue Bomb」は、OS に処理できないほどの多い量の情報を持っており、
ネットワークの帯域を越えさせるパケットある. 「Blue Bomb」という名前は、windows がいきなり青地に
白い文字でエラーメッセージを表示しながらハングアップすることに由来する(これをよく「ブルースク
リーン」と呼ぶ). 「Blue Bomb」は、多数のプレイヤーがプレイするゲームで負けかけているプレイヤー
などが時々送ることがある.
「Blue Bomb」のために普遍的に使われるプログラムが「WinNuke」である.
不完全なパケットによる攻撃
TearDrop Attack, Land Attack
不完全(不整合)なパケット(セグメント)を送信することによりシステムを停止させる.
FTP Bounce attack
第 3 のマシンの要求により,他の 2 台の間で FTP 転送を行う機能を利用した攻撃.現在ではこの機能は
デフォルトで使用不可になっている場合が多い.
XSS(クロスサイトスクリプティング)
もしネット上に脆弱なサイト(CGI から任意のスクリプトを流し込み,そのサイトのページの(一部の)
ように見せることが可能なサイト)
があったとする.
攻撃者はこのサイトにスクリプトを流し込むようなリ
ンクを作成し,一般ユーザにこのリンクを踏ませる(クリックさせる)
.その結果,一般ユーザが脆弱サイ
トに対してそのスクリプトを流し込んだことになる.通常この流し込むスクリプトには,攻撃者へ cookie
を転送するものや,偽のページを表示させるものなどが多い.
CSRF (クロスサイトリクエストフォージェリ)
ある認証(または確認)が必要なサイト(かつ脆弱なサイト)にアクセスしたあと,攻撃者の用意したリ
ンクを踏んだ場合に,
脆弱サイトで知らない内に特定の機能を実行されてしまうこと.
脆弱サイトで一度認
証(確認)を通過してしまうと cookie などの機能によりその後の認証(確認)が自動的に行われるため,
ユーザは脆弱サイトでその機能が実行されたことに気が付くことができない.
対策:cookieによるセッションの追跡.REFERERで直前のWEBページを確認.確認ページの追加(CAPTCHA)
GET ではなく POST を使用する
セキュリティスキャナによるチェック
Nessus