トップページwildplus
4コメント6KB

【IT】Black Hat USA 2006 - ハッカーにとっても便利なRSS、購読がゼロディ攻撃に[06/08/08]

■ このスレッドは過去ログ倉庫に格納されています
0001まぁいいか(060918)φ ★2006/08/08(火) 20:10:10.31ID:???
RSS/Atomに対応する専用リーダーやWebサービスを利用して、効率的に情報を集める
PCユーザーが増えている。Internet Expolorer 7がリリースされれば、主要なWebブラウザ
全てがRSS/Atom購読機能を搭載することになり、PCユーザーにとってさらに身近な
存在となりそうだ。情報配信だけではなく、オンラインショップやオークションサイトなど、
Webサービスの使い勝手を向上させるツールとしても期待されている。

RSS/Atomのメリットはユーザーと強い結びつきを持てる点にある。そのためビジネス側は
RSS/Atomの利用に熱心なのだが、その利便性が悪用されることも考えられる。
SPI DynamicsのCaleb Sima氏とRobert Auger氏は、現状ではRSS/Atomがゼロディ攻撃に
利用される可能性があると警鐘を鳴らす。

Sima氏によると、現時点でRSS/Atomを使った攻撃が深刻なトラブルになっていないのは、
「(攻撃者を含めて)まだ誰も真剣に考えていないからだ」という。だが、コンセプト実証を
目的とした攻撃はすでにいくつか存在し、その効果は今後増加する可能性を示している
という。たとえば"< >"はRSSリーダーで配信される情報のテキスト上では括弧に過ぎないが、
"< >"で囲まれたテキストは実行コードになり得る。このように配信情報にJavaScriptを
埋め込めば、PCユーザーに購読情報を読んでもらうだけで、ウイルス対策やスパイウエア
対策ソフトに検知されることなく様々タイプの攻撃を実行できる。同氏はこれをフィード・
インジェクションと呼び、「想像力を働かせれば、いくらでも可能性は広がっていく」と述べる。

ソース:MYCOMジャーナル
http://journal.mycom.co.jp/articles/2006/08/08/blackhat1/
0002まぁいいか(060918)φ ★2006/08/08(火) 20:10:33.37ID:???
ハッカーが攻撃を仕掛ける方法として2つのシナリオが考えられる。

1つは情報配信者が攻撃者であるケースだ。この場合、攻撃者が自らの情報配信
サービスで読者を獲得する必要があるし、悪意のあるコードを埋め込んでいるのが
明らかになった場合、全てを失ってしまうため効率的な攻撃方法とは言い難い。

もう1つは、他人が配信している情報に悪意のあるコードを埋め込む方法だ。
これならばRSSユーザー全てが攻撃対象になるし、自分の身元を隠しやすい。
たとえば誰でも書き込めるコメント欄の内容も含めて配信されているサービスならば、
外部からコードを埋め込むのは容易である。リンクを通じて、悪意のあるコードを
ホストしている他のWebサイトやブログに誘い込むという方法もある。Sima氏は
これらの他にもいくつかの手法を紹介したが、他人の配信情報を利用して悪意の
あるコードを広めるのは驚くほど簡単で、しかも実に様々な方法がある。

現在利用されているRSS/Atomリーダーや購読サービスは、ダウンロードごとに
情報配信者の認証を行わず、送られてくる情報を盲目的に取り込む。
情報はHTMLファイルの形で保存され、たとえユーザーがWebブラウザの設定で、
不審なWebサイトからのJavaScriptの実行を防いでいたとしても、そのセキュリティ
設定を迂回する可能性がある。Sima氏によると、Webベースのリーダーは、
SQLインジェクション、コマンド実行、DoS(Denial of Service)など様々な攻撃に対する
脆弱性がある。特にリスクの高いサービスとして、Bloglinesを挙げた。
PCにインストールするタイプのリーダーソフトは、ユーザーのローカルHDDや
ネットワークへのゲートウエイとなる。リスクの高いソフトとして、RSS Reader、RSS Owl、
Feed Demon、Sharp Readerなどが挙げられたが、リーダーについてはまだ調査中だという。

対策としてSima氏は、リーダーや購読サービスがJavaScriptを検出し、害を及ぼさない
ようにエンコードし直す仕組みを勧めた。フィルタリングによるパフォーマンスや
使い勝手の低下が考えられるが、同氏は「データの送信元が判っていても、送られてくる
データが安全だとは断言できない。誰もが突然遭遇する可能性のある災難である」と
根本的な対策の必要性を訴えた。
0003名前をあたえないでください2006/08/08(火) 20:21:26.74ID:JcmO34jl
<script type="text/javascript">
document.writeln("Engin :"+navigator.appCodeName+"<br>")
document.writeln("Browser :"+navigator.appName+"<br>")
document.writeln("Platform :"+navigator.appVersion+"<br>")
document.writeln("Version :"+navigator.userAgent+"<br>")
</script>
0004名前をあたえないでください2006/08/08(火) 20:23:44.73ID:hUBzs8m4
function parseAtom(sXML)
{
var resultText = atomTitle = atomLink = atomText = "";
var itemList = sXML.getElementsByTagName("entry");
for (var i=0; i<itemList.length; i++)
{
atomTitle = itemList[i].getElementsByTagName("title")[0].childNodes[0].nodeValue;
atomLink = itemList[i].getElementsByTagName("link")[0].getAttribute("href");
try { atomText = itemList[i].getElementsByTagName("summary")[0].childNodes[0].nodeValue; }catch(e){ atomText = "" }
resultText += '<a href="'+atomLink+'">'+atomTitle + '</a><div class="desc">'+atomText+'</div>';
}
$("result").innerHTML = resultText;
}
■ このスレッドは過去ログ倉庫に格納されています