54
セセセセセセセセセセセ rootkit セセセセセセ img.onerror セセ

[Shibuya.xss] セキュリティ小ネタ二本

Embed Size (px)

DESCRIPTION

Shibuya.xss#1 の LT

Citation preview

Page 1: [Shibuya.xss] セキュリティ小ネタ二本

セキュリティ小ネタ二本

rootkit にやられた話img.onerror の話

Page 2: [Shibuya.xss] セキュリティ小ネタ二本

自己紹介

• 酒井一晃 (id:send)• 最近は JavaScript 書いたり Ruby(Sinatra)

書いたりしています。• http://tako3.com/http://d.hatena.ne.jp/send/

Page 3: [Shibuya.xss] セキュリティ小ネタ二本

突然ですが

Page 4: [Shibuya.xss] セキュリティ小ネタ二本

脆弱性突かれたことあります

か?

Page 5: [Shibuya.xss] セキュリティ小ネタ二本

一番印象に残ってるもの

Page 6: [Shibuya.xss] セキュリティ小ネタ二本

rootkit

Page 7: [Shibuya.xss] セキュリティ小ネタ二本

何が起こった?

Page 8: [Shibuya.xss] セキュリティ小ネタ二本

root や admin アカウントが

使えない

Page 9: [Shibuya.xss] セキュリティ小ネタ二本

sudo 出来るアカウント一つだけ残ってた

Page 10: [Shibuya.xss] セキュリティ小ネタ二本

ls とか ps とかどうせ

改竄されてる

Page 11: [Shibuya.xss] セキュリティ小ネタ二本

別バイナリ持ってきて

調査

Page 12: [Shibuya.xss] セキュリティ小ネタ二本

やっぱりなんかいた

Page 13: [Shibuya.xss] セキュリティ小ネタ二本

すぐに下りないシステム停止

許可

Page 14: [Shibuya.xss] セキュリティ小ネタ二本

変なプロセスはとりあえず殺しとけ

Page 15: [Shibuya.xss] セキュリティ小ネタ二本

改竄されたコマンド

調査

Page 16: [Shibuya.xss] セキュリティ小ネタ二本

chattr されてた

Page 17: [Shibuya.xss] セキュリティ小ネタ二本

改竄対象を元に戻す

Page 18: [Shibuya.xss] セキュリティ小ネタ二本

後日 OS 再インストール

Page 19: [Shibuya.xss] セキュリティ小ネタ二本

運用の全体的な見直し

Page 20: [Shibuya.xss] セキュリティ小ネタ二本

改竄検知系システムの導入

Page 21: [Shibuya.xss] セキュリティ小ネタ二本

とにかくやられた後が

大変

Page 22: [Shibuya.xss] セキュリティ小ネタ二本

まとめ

Page 23: [Shibuya.xss] セキュリティ小ネタ二本

舐めて掛からず先に出来ることやった方が楽

Page 24: [Shibuya.xss] セキュリティ小ネタ二本

守るには知識が少しでも多い

ほうが楽

Page 25: [Shibuya.xss] セキュリティ小ネタ二本

次に

Page 26: [Shibuya.xss] セキュリティ小ネタ二本

脆弱性産み出す鬼子みたいな

仕様

Page 27: [Shibuya.xss] セキュリティ小ネタ二本

文字コードではUTF-7

Page 28: [Shibuya.xss] セキュリティ小ネタ二本

HTML では<XMP>

Page 29: [Shibuya.xss] セキュリティ小ネタ二本

JS 系では?

Page 30: [Shibuya.xss] セキュリティ小ネタ二本

location.hashとか

Page 31: [Shibuya.xss] セキュリティ小ネタ二本

個人的にはimg.onerror

Page 32: [Shibuya.xss] セキュリティ小ネタ二本

<img src="not_found.jp

g" onerror="alert('XS

S!')">

Page 33: [Shibuya.xss] セキュリティ小ネタ二本

src 属性評価後すぐ発火

Page 34: [Shibuya.xss] セキュリティ小ネタ二本

img.src = “not_found.jpg”

// ここ

Page 35: [Shibuya.xss] セキュリティ小ネタ二本

何故 appendChild

するまで待てない……

Page 36: [Shibuya.xss] セキュリティ小ネタ二本

とはいえJSDeferred はこれを上手に利用してる

Page 37: [Shibuya.xss] セキュリティ小ネタ二本

普通外部ソースをイベントハンドラに突っ込まないので問題な

Page 38: [Shibuya.xss] セキュリティ小ネタ二本

怖いケース

Page 39: [Shibuya.xss] セキュリティ小ネタ二本

外部ソースからHTMLDocument

作りたい

Page 40: [Shibuya.xss] セキュリティ小ネタ二本

Range#createContextualFragmentとかそういうの

Page 41: [Shibuya.xss] セキュリティ小ネタ二本

ブラウザや手法によって

挙動が全然違う

Page 42: [Shibuya.xss] セキュリティ小ネタ二本

img.onerror/onload を

発火させないのが難しい

Page 43: [Shibuya.xss] セキュリティ小ネタ二本

script 系全部除去が

一番楽

Page 44: [Shibuya.xss] セキュリティ小ネタ二本

そうも行かないケース

Page 45: [Shibuya.xss] セキュリティ小ネタ二本

OpenSocial ガジェット動かしたい

とか

Page 46: [Shibuya.xss] セキュリティ小ネタ二本

どうしよう?

Page 47: [Shibuya.xss] セキュリティ小ネタ二本

今のところクロスブラウザでこの手の手法は必要なさそう

Page 48: [Shibuya.xss] セキュリティ小ネタ二本

関係ありそうな人達

Page 49: [Shibuya.xss] セキュリティ小ネタ二本

ブラウザ拡張開発者

Page 50: [Shibuya.xss] セキュリティ小ネタ二本

JS ベースのアプリ開発者

(PhoneGap 使ってる人とか? )

Page 51: [Shibuya.xss] セキュリティ小ネタ二本

個別対策はこの辺を参考に http://nanto.asablo.jp/blog/2009/10/29/4660197

http://d.hatena.ne.jp/send/20100409/p1

Page 52: [Shibuya.xss] セキュリティ小ネタ二本

まとめ

Page 53: [Shibuya.xss] セキュリティ小ネタ二本

img.onerror/onload

Page 54: [Shibuya.xss] セキュリティ小ネタ二本

こわい