タグ

2011年11月21日のブックマーク (3件)

  • Android 4.0 "Ice Cream Sandwich" の ASLR とその問題 - @a4lg の "続" 準技術的日記

    Android 3.x までは、ASLR が全く存在しなかったことが問題のひとつでした。Android 4.0 "Ice Cream Sandwich" で ASLR が追加されたことにより、どこまで攻撃に強くなったのかを見てみようと考えました…が…エミュレータで試すとランダム要素がないという重大な問題に行き当たりました。 2 つの問題 ASLR がエミュレータ上でうまく働いていないのは、次の 2 つの問題が複合しているものと考えられます。 ARM における mmap のランダム性の問題 app_process コンパイラフラグの問題 ARM における mmap のランダム性の問題 この問題がある場合にはすべてのライブラリは 0x4000_0000 から順番に並び、ランダム性を失います。例えばこんな風に。 40000000-40000fff r-x /library1.so 4000100

    Android 4.0 "Ice Cream Sandwich" の ASLR とその問題 - @a4lg の "続" 準技術的日記
    embedded
    embedded 2011/11/21
    ICSでprelinkingが跡形も無く消えたのはこのためなのかな。
  • 非常に重い標準エミュを捨て、Android4.0 for x86でICSを快適体験(11/22追記) - td2sk の日記

    Android4.0のソースコードが公開されたので早速ビルドしてみた。 あまり話題になっていないが、今回のリリースでx86向けのソースコード*1も提供されている。 標準エミュはarm向けバイナリなので非常に重い。 今回はx86向けにビルドし、virtualboxで快適に使えるAndroid4.0環境を構築してみる。 (11/25追記) 自前ビルドが面倒な人向けに、ビルド済みバイナリの提供を開始。 こちらからどうぞ。 このブログを見て作業する場合、先に記事末尾の諸注意を熟読すること。 最終的に得られる仮想マシン qemu?なにそれおいしいの? な実行速度。 できること Android4.0を(そこそこ)快適に実行 マウスのサポート ネットワークアクセス (11/23追記)adbの接続 以下ビルド手順の解説。 ビルド環境 推奨環境はUbuntu10.04(64bit)。メモリは多ければ多いほど

    非常に重い標準エミュを捨て、Android4.0 for x86でICSを快適体験(11/22追記) - td2sk の日記
    embedded
    embedded 2011/11/21
    ちなみにfull_x86-engの方でビルドすればネットワークは使えます。
  • Android-4.0.1_r1のソースをダウンロードしてみた - コンピュータを楽しもう!!

    せっかく、Ice Cream Sandwichのソース公開されたので、「よーし、どこよりも早いコードレビューだぁ」ということで、忙しくて全然ソースを見ている時間が無いのですが、ちょっとダウンロードしてみました。 どこが変わっているか、まぁ、一番興味のあるところは、当然、Dalvikくんですよね。ということで見てみましょう。 おぉ、dalvikvmですが、どこが変わったか差分とってみようと思ったのです。そしたら、こんなことに。分かりますよねぇ。.c がすべて.cpp になっています。 そんで、Dalvikくんのソースを見るといえば誰がなんと言っても、やっぱりheapでしょう。ということで新しくなったheap.cppを覗いてみました。 dvmCollectGarbageInternal 先ず、余り時間も無く、また明日から出稼ぎお仕事に行かねばならないので、とにかく見たのは、CGInternal

    Android-4.0.1_r1のソースをダウンロードしてみた - コンピュータを楽しもう!!
    embedded
    embedded 2011/11/21
    ソースコードがリファクタリングされて読みやすくなっているそうだ。