Transcript Document

ACE KG発表
2004/5/13出版
セキュリティの入門書
セキュリティを正しく理解で
きます
本日のアウトライン
 はじめに
 背景
 目的
 セキュリティとは
 攻撃手法解析
 まとめ
背景
 今のインターネット
 悪意のある人がいっぱい
crack!!
crack!!
crack!!
ぬるぽ!!
crack!!
crack!!
インターネット上の被害件数の増加
悪意のある人がすること
 一般ユーザを陥れる
 システムをクラッキングする
etc…
一般ユーザを陥れる
 キンタマウィルス
 Winnyを介して広がるウィルス
 PCのファイルを公開




ユーザー名
組織名
デスクトップ画像
ファイル
 被害事例
 メッセンジャーの過去ログが流出
不倫が発覚!!
システムをクラッキングする
 Webの改ざん
 2003年12月24日,文部科学省管理下のWebサイトが
クラッカーによる改ざんの被害に遭った
そんなわけで...(余談)
 Symantec社の収益





会計年度2003年度
会計年度2002年度
会計年度2001年度
会計年度2000年度
会計年度1999年度
収益:
収益:
収益:
収益:
収益:
14億700万USドル
10億7140万USドル
9億4420万USドル
8億2660万USドル
6億3220万USドル
(゚Д゚)ウマー
目的
 RGのみなさんは一般ユーザである以上に,
システムの開発者や管理者でもある
セキュリティに関しての知識を深める
セキュリティとは
セキュリティとは
 攻撃者から重要なものを
守ること
 セキュリティ≠暗号化
 セキュリティ≠アンチウィルスをいれる
何が満たされていれば,守られていると言
えるのか?
 Confidentiality - 機密性
 Integrity - 完全性
 Availability - 可用性
実世界で機密性が保証されてない状態
あややたんのビデ
オで
ハァハァしよう。
1.Confidentiality
機密性
許可されている人だけが情報にアク
セスできるか?
実世界で完全性が保証されてない状態
あややたんのビ
グロ画像だ
デオで
ウボァー
ハァハァしよう。
2.Integrity
完全性
情報の整合性が取れているか?
実世界で可用性が保証されてない状態
つながんねーよ
あややたんのビデオ
ウワァーン
で
ハァハァしよう。
ダウンさせる
3.Availability
可用性
必要な時に情報にアクセス出来る
か?
セキュリティを実現するには
 敵を知り、己を知れば百戦危うからず
攻撃手法を知り,その対策方法を
考える
攻撃手法
 ターゲットは何か?
 クライアント端末(一般ユーザのコンピュータ)
 ネットワーク上の通信
 サーバ(サービス提供者のコンピュータ)
攻撃手法解析
ターゲット
1. クライアント端末(一般ユーザのコンピュータ)
2. ネットワーク上の通信
3. サーバ(サービス提供者のコンピュータ)
クライアント端末(一般ユーザのコンピュータ)
をターゲットとした攻撃
1. 攻撃の対象とするもの
 ユーザの個人情報
 メッセンジャーログ
 メールデータ
 Webブラウザの履歴
 パスワード
2. 攻撃手法
 パスワードのクラック
 ウィルス
 ソーシャルエンジニアリング
パスワードのクラックとは
 他人のパスワードを解析し、探り当てること
 ブルートフォース
 辞書攻撃
パスワードのクラック - ブルートフォース
 考えられるパスワードの組み合わせ全てを試
す
 組み合わせは莫大であるため大変効率が悪い
パスワードのクラック - 辞書攻撃
 辞書にある単語を全て試す
 大文字小文字の混在や数字を加えたりする
 自動処理をさせれば短時間で入力できるため、
基本的なパスワード破りの手口として用いら
れている。
辞書攻撃ソフト ー John The Ripper
 母音を削る
 Jhn
 複数の単語をつなげる
 John-The-Ripper
 大文字小文字をばらばらに
 jOHn
 キーボードで一つ右のキーに
 Kpjm
 後ろに数字や記号をつける
 John2
実例
 John the ripper version 1.6
 Intel(R) Pentium(R) 4 CPU 2.60GHz
 解析
 asdfasdf
 11秒
 Tom1
 15秒
 (FW8Y (*Bf
 ・・・・
対策
 複雑なパスワードにする




パスワードを長くする
意味のある単語は使わない
記号とか数字を混ぜる
大文字小文字も混ぜる
ウィルスとは
 ウィルスに意味
 悪意のあるコード
 実行ファイルに寄生
 ウィルスの行動パターン
 寄生
 潜伏
 発病
実行ファイルに寄生
 実行ファイルの後ろに
ウィルスのコードをくっつ
ける
 実行ファイルのヘッダに
あるスタートアップ・コー
ドのアドレスをウィルス
のコードのアドレスに書
き換える
 ウィルスのコードの最後
に実行ファイルの本来
のスタートアップ・コード
を実行するようにする
ヘッダ
main()
本体
ウィルスコード
高度なウィルス
 ポリモーフィックウィルス
 感染するごとにランダムに暗号化する
 メタモーフィックウィルス
 ウィルスのコードが変わったりする
 Entry Point Obscuring
 エントリーポイントではなくその他のコードを書き換
える
対策
 アンチウィルスを利用する
 Norton Antivirus
 ウィルスバスター
 McAfee Virus Scan
ソーシャルエンジニアリングとは
 社会的な行動による情報取得
 人を欺いて情報を盗む
 電話やメールで管理者のフリをする
 オフラインで,情報を盗む
 管理者の会話を盗み聞き
 パスワードを後ろから盗み見る
 オフィスのゴミをあさる
事例(1)
 1998年7月、米シカゴのフォックスTV系列の
Webページが改竄された.
 犯人は14歳の少年
 手法
1. 少年はISPの初期パスワードを入手
2. ISPへ「パスワードを忘れたのでリセットしてください」と電
話
3. ISPは依頼どおりにパスワードをリセットした
事例(2)
 7割強の人が,チョコレートと交換に会社で使用して
いるパスワードを教えた
 リバプールストリート駅で,172人の通勤者
 質問
 チョコレートバー1本と交換に勤め先で使用しているパス
ワードを教えて欲しい
 結果
 37%の人が即座にこれに応じた.
 別の34%の人は、「ペットや子供の名前でも使っているの
だろう」と質問者が言うと,あきらめてパスワードを明らかし
た.
http://japan.cnet.com/news/sec/story/0,2000050480,20065583,00.htm?tag=nl
対策
 周りの人を攻撃者として疑う(悲しいけど)
 重要な内容の会話は避ける
 機密書類はシュレッドする
 掲示板などへ余計な情報は書き込まない
 家族構成
 友達の名前
攻撃手法解析
ターゲット
1. クライアント端末(一般ユーザのコンピュータ)
2. ネットワーク上の通信
3. サーバ(サービス提供者のコンピュータ)
ネットワーク上の通信をターゲットとした攻
撃
1. 攻撃の対象とするもの
 通信内容
2. 攻撃手法と対策
 Man In the Middle
Man In The Middleとは
 通信に介入して、両端の端末に知られることなく通信
の内容を傍受・改ざんを行う
攻撃例
モーニング娘。の
CDがほしいなぁ
Aさん
Aです。
ぁゃゃのCDを買います。
Aの住所に送ってください。
ではモーニング娘のCDを
悪人さんの住所に郵送します。
代金はAさんのクレジットカードから
落とします。
悪人
Aです。
モーニング娘。のCDを買います。
悪人さんの住所に送ってください
amazon.com
対策
 通信相手との認証と暗号化が必要
書き換
えられな
い・・・
暗号化
攻撃手法解析
ターゲット
1. クライアント端末(一般ユーザのコンピュータ)
2. ネットワーク上の通信
3. サーバ(サービス提供者のコンピュータ)
サーバ(サービス提供者のコンピュータ)
をターゲットとした攻撃
1. 攻撃対象
 DNSサービス
 Webサービス
2. 攻撃手法
 DoS
 バッファオーバーラン
 XSS
DoS攻撃とは
 サーバにデータを大量させるたりすることに
送って,回線速度を低下させたり,過負荷でダ
ウン
DoS攻撃 事例(1)
 2002年10月21日,世界13のルートサーバ
に一斉にDoS攻撃が仕掛けられた
 2基が正常なネットワーク・トラフィックに対応
できなくなり、他の7基が断続的に停止
攻撃例
 大量のSYN要求をサーバに送信し,サーバの
機能を阻害する
SYN
対策
 ある一定量以上の同一IPアドレスからのSYN
要求は受け付けないようにする
 ゲートウェイを設置
バッファオーバーランとは
 システムが想定している以上のデータをバッ
ファに書き込み,領域外にデータを書き込む
 スタック領域のバッファに,このバグがある場合,攻
撃者が任意のコードを実行可能となる可能性がある
バッファオーバーランの仕組み
void funcitonA(){
スタック
int a;
functionB();
…
}
Function
Bのローカル変数
適当なデータ
void functionB(){
char buffer[10];
…
}
Function
virus()のコード
Aのローカル変数
void virus(){
//ファイル消しまくり
}
Function Bが終わった後に
virus()のアドレス
実行するコードのアドレス
対策
 定期的にサーバアプリケーションをアップデー
ト
 サービスのセキュリティホールを把握
 アプリケーションセキュリティに関連したメーリング
リストの購読
 CERT
 JPCERT
クロスサイトスクリプティングとは
 ユーザにWebブラウザで不正スクリプトを実
行させる攻撃
 複数のサイトにまたがって攻撃の仕掛けをつく
るため、“クロスサイト” という
クロスサイト・スクリプティング手法
< script>alert(“XS
クロスサイト・スクリプティング手法
クロスサイトスクリプティング事例
 HotmailとYahoo! Mailにクロスサイトスクリプティングの脆弱性
(2003.3.23)
 情報安全社のWebサイトにクロスサイトスクリプティング脆弱性
(2002.6.24)
 政党のWebサイトにクロスサイトスクリプティングの脆弱性が
(2002.4.10)
 みずほ銀行のWebサイトにクロスサイトスクリプティングの脆弱性
(2002.4.3)
 MewSoft Auction 3.0のクロスサイトスクリプティングの脆弱性
 PHP Classifieds 6.0.5のクロスサイトスクリプティングの脆弱性
 eFax.comウェブサイトのクロスサイトスクリプティングの脆弱性
クロスサイトスクリプティングの概要
脆弱性のあるサイト
1.Cookieに
保存
悪意のあるサイト
ユーザ登録
4.悪意のあるサイトへcookieの
情報が送信される
2.脆弱性のある
ページを閲覧
掲示板
3.悪意のあるコードを実行
情報漏洩
対策
 リンクをむやみにクリックしない
 電子メールをむやみに空けない
 インターネット・エクスプローラーではセキュリティ設定を高
にする。
総評
 ユーザの入力を受け付けるすべてのWebア
プリケーションは、タグやスクリプトなどの予期
しない動作を起こしかねない文字列に関して
は、慎重にチェックして無害化しなくてはならな
い。
 セキュリティの脆弱性があるWebアプリケー
ションはすべて攻撃者によって利用されてしま
う可能性がある。