VMSec'09の論文

Nov 10, 2009 From: k.suzaki@a...

須崎です。

昨日行なわれたVMSec'09を調べていて、ダウンロード可能な論文が幾つか見つ
かったのでリストアップしておきます。

Emulating Emulation-Resistant Malware

 http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-58.pdf

Hardware-enforced Fine-grained Isolation of Untrusted Code

 http://www.ece.iastate.edu/~zambreno/pdf/LeoBlo09B.pdf

The Cake is a Lie: Privilege Rings as a Policy Resource

 http://www.cs.dartmouth.edu/~sws/pubs/bjlrs09.pdf

Defending Embedded Systems Against Control Flow Attacks

 http://planete.inrialpes.fr/~francill/Papers/francillon-secu03.pdf

# "A Formal Model for Virtual Machine Introspection" を見つけていたの
ですが、見つかりませんでした。;_;


suzaki

Nov 10, 2009 From: oyama@c...

須崎さん

先日の仮想化実装技術勉強会では、役に立つたくさんの情報を
どうもありがとうございました。

昨日行なわれたVMSec'09を調べていて、ダウンロード可能な論文が幾つか見つ かったのでリストアップしておきます。

それぞれをざっと読んでみました。どれもおもしろいですね。
このワークショップは論文のレベルが高いです。

Emulating Emulation-Resistant Malware http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-58.pdf

エミュレータ検出をするマルウェアに、エミュレータ上で実行していると
思わせないようにする技術の提案ですか。実機上とエミュレータ上で実行が
くいちがうポイントを検出してエミュレータの挙動を変化させる。
この手の話は、一体どこまでスパイラルが続くんだという感じですね。

Hardware-enforced Fine-grained Isolation of Untrusted Code http://www.ece.iastate.edu/~zambreno/pdf/LeoBlo09B.pdf

これはSecuCode '09側の論文ですね(聞くほうにとってはどうでもいいですが)。

関数レベルでコードとデータを隔離する話。ありがちなテーマだが、
ソフトウェア技術とハードウェア技術を組み合わせた点が新しい?

ハードウェアとしてレジスタ、スクラッチパッドRAM、content addressable
(associative) memory (CAM)の3つを使うとあるが、よく理解できていない。

The Cake is a Lie: Privilege Rings as a Policy Resource http://www.cs.dartmouth.edu/~sws/pubs/bjlrs09.pdf

カーネル内のコードどうしを隔離するためのx86の拡張の提案?
普通は、ユーザレベルではプロセスコンテキストごとにメモリは隔離されて
いるが、カーネルレベルでは一緒になっている。それを分離しましょうという
主張か。x86のセグメンテーションをreinterpretすると言っている。

ハードウェアを拡張するという方向は私はなかなか発想できないが、
ハードウェア拡張も含めて物事を考えたほうが、研究の幅が広がるのかも。

Defending Embedded Systems Against Control Flow Attacks http://planete.inrialpes.fr/~francill/Papers/francillon-secu03.pdf

これもハードウェア拡張!
スタックをデータ用と制御用の2つに分ける。callとret命令でしか
制御用スタックにはアクセスできないようにする。
メモリ使用を増加させないので組み込みに向いているらしい。
FPGA上に実装して評価。
アイデアは定石通りという印象ですが、組み込みという切り口の設定が
奏功しているのかなと思いました。

# "A Formal Model for Virtual Machine Introspection" を見つけていたの ですが、見つかりませんでした。;_;

私も探してみましたが、まだ、ないみたいですね。


大山 恵弘

Nov 10, 2009 From: k.suzaki@a...

大山さん

素早いですね。

>>From: Yoshihiro Oyama <oyama@c...>
>>Subject: [vimpl:153] Re: VMSec'09の論文
>>
>>須崎さん
>>
>>先日の仮想化実装技術勉強会では、役に立つたくさんの情報を
>>どうもありがとうございました。

こちらこそ、色々指摘してもらって理解不足が補えました。

>>> 昨日行なわれたVMSec'09を調べていて、ダウンロード可能な論文が幾つか見つ
>>> かったのでリストアップしておきます。
>>
>>それぞれをざっと読んでみました。どれもおもしろいですね。
>>このワークショップは論文のレベルが高いです。

はい。去年と違って(!)面白そうなものが集まっています。

下記の大山さんのコメントで理解が進みます。私も一つだけリプライ。

>>> Emulating Emulation-Resistant Malware
>>>   http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-58.pdf
>>
>>エミュレータ検出をするマルウェアに、エミュレータ上で実行していると
>>思わせないようにする技術の提案ですか。実機上とエミュレータ上で実行が
>>くいちがうポイントを検出してエミュレータの挙動を変化させる。
>>この手の話は、一体どこまでスパイラルが続くんだという感じですね。

参考文献にありませんが、Symantecが公開しているVM検出技術に具体例が沢山
あります。こられの攻撃とも比較して欲しい。

 Attacks on Virtual Machine Emulators
 http://www.symantec.com/avcenter/reference/Virtual_Machine_Threats.pdf
 Attacks on More Virtual Machine Emulators
 http://pferrie.tripod.com/papers/attacks2.pdf

また、実装にはQEMU以外に GATechの Ether をベースにしているのですね。
Ether自体去年のCSSで発表されてものなのに。

 http://ether.gtisc.gatech.edu/

suzaki

>>> Hardware-enforced Fine-grained Isolation of Untrusted Code
>>>   http://www.ece.iastate.edu/~zambreno/pdf/LeoBlo09B.pdf
>>
>>これはSecuCode '09側の論文ですね(聞くほうにとってはどうでもいいですが)。
>>
>>関数レベルでコードとデータを隔離する話。ありがちなテーマだが、
>>ソフトウェア技術とハードウェア技術を組み合わせた点が新しい?
>>
>>ハードウェアとしてレジスタ、スクラッチパッドRAM、content addressable
>>(associative) memory (CAM)の3つを使うとあるが、よく理解できていない。
>>
>>> The Cake is a Lie: Privilege Rings as a Policy Resource
>>>   http://www.cs.dartmouth.edu/~sws/pubs/bjlrs09.pdf
>>
>>カーネル内のコードどうしを隔離するためのx86の拡張の提案?
>>普通は、ユーザレベルではプロセスコンテキストごとにメモリは隔離されて
>>いるが、カーネルレベルでは一緒になっている。それを分離しましょうという
>>主張か。x86のセグメンテーションをreinterpretすると言っている。
>>
>>ハードウェアを拡張するという方向は私はなかなか発想できないが、
>>ハードウェア拡張も含めて物事を考えたほうが、研究の幅が広がるのかも。
>>
>>> Defending Embedded Systems Against Control Flow Attacks
>>>   http://planete.inrialpes.fr/~francill/Papers/francillon-secu03.pdf
>>
>>これもハードウェア拡張!
>>スタックをデータ用と制御用の2つに分ける。callとret命令でしか
>>制御用スタックにはアクセスできないようにする。
>>メモリ使用を増加させないので組み込みに向いているらしい。
>>FPGA上に実装して評価。
>>アイデアは定石通りという印象ですが、組み込みという切り口の設定が
>>奏功しているのかなと思いました。
>>
>>> # "A Formal Model for Virtual Machine Introspection" を見つけていたの
>>> ですが、見つかりませんでした。;_;
>>
>>私も探してみましたが、まだ、ないみたいですね。
>>
>>-- 
>>大山 恵弘
>>
>>
>>-- 
>>archive-> http://qwik.atdot.net/vimpl/89.html 
>>ML-> vimpl@q...
>>
Last modified: 2009-11-10