DUMA library

D.U.M.A. - Detect Unintended Memory Access


数日前にmu antenna経由で見た。ソースを呼んでみると、mallocした領域の後ろにmprotect(2)された領域を用意してbuffer over flow等のinvalid memory accessを検出しようというアプローチ。mprotect(2)によって保護された領域にアクセスして落ちた場合でもgdb等の既存のデバッガを使えるというのが大きな利点。しかし"valgrindと比較したDUMA libraryの優位性"を思い付かないので、素直にvalgrind使った方が良さそうな気がする。


ところでmprotect(2)知らんかった。一度システムコール一覧を調べてみる事にしよう(/usr/include/asm-i386/unistd.hに発見)。ここまでメモリアクセスの制御が出来るならstrdup(R_ONLY)みたいにメモリアクセス制御付きのAPIが有れば便利かもしれんなぁ。