My Daily Programming Life...

情報の伝わり方

CanSecWest2010で話したことが少しだけ下の記事で参照されている。

問題は、ちょっと書いていることが、僕の言ったことと変わってしまっているということ。
"SEH OverwriteでASLRとDEPやその他のメモリプロテクションがバイパスできる"みたいなことを言ったように書かれているが、僕が言ったことの中にはASLRは含まれていない。
実際に、この発表の結論は、ASLRがこれらのバイパスを防ぐために重要な役割をしているということだった。スライドを一枚使ってきちんと説明したのに・・・。
おそらく、会場にいた技術的なバックグラウンドがある人たちにはきちんと伝わったはずだと思う。実際にその後のディスカッションでも何も認識に違いはなかった。

この前も、一部のニュースでASLRとDEP回避のゼロデイが出たみたいなのがあって、実際にはASLR回避は含まれていなかった。

話はだんだん大きくなってしまうのかもしれない・・・。

ところで、ASLRは単純に回避するのは難しい。
SEH Overwriteの場合、SEHOPと組み合わせると、かなり効果的だる事は間違いない。
ただ、ここの記事でも書かれているように、難しいことと不可能なことは違う。
実際にはDEP+ASLRの回避方法自体は例がある。まあただこれもSEHOPを組み合わせると難しくなる。
ASLR+SEHOP回避も、少しはExploit確率をあげるような方法はあるかもしれない。そのあたりを今度は調べてみようか。

CanSecWest2010 その4



日本人の方が写真を撮ってくれていました。ありがたい。というわけで一部アップロード

CanSecWest2010 その3

3日目。(CanSecWestは二日目)

今日の最初のプレゼンテーションが僕ということで、昨日から緊張しっぱなしでひどかった。
全然眠れないし、何も食べられないし、こんなに緊張したのはいつぶりだろうか。

ただ、不思議なことにプレゼンテーションが始まってからは意外に落ち着いていた。始める直前までの緊張がひどかった。

さて、肝心のプレゼンテーションはというと・・・いまいちどういう反応なのかはよく分からず。英語なので、とにかく自分の話をすることに集中してしまっていて、周りを見ながら話ができないので、反応を確認しながらプレゼンテーションをする余裕はなかった。まあ、こういう風にすると、内容が伝わらなくなることが多いのだけれど。

最後に、質問ありますか?って聞いたら誰もいなかった^^;
まあ、なんというか、いまいち反応がよくなかったのは確かですね。

でも、終わってから結構いろんな人が話しかけてくれて、よかった。Twitterでもそれなりにいいこと言ってもらえてたみたいだし。
結構有名な企業の人たちも、あとから話に来てくれた。

というわけで、とりあえずこれで落ち着いて、あとはCanSecWest2010を楽しめる。
うーん、まあこんな感じなら、また発表しても悪くないような気がしてきた。させてもらえるかどうかは別として。
ただ、個人的には今回の発表は本当に大したことない内容なので、これより全然いいもの出せる自信はある。・・・時間があればね。

続く

CanSecWest2010 その2

二日目。

とりあえず朝ごはん。ホテルで食べる。
海外に来るとつい金銭感覚が狂う。30ドル近くしても平気で食べていたりする。2500円とかそういう値段なんだけど、日本だとちょっと食べる気しないかな。

朝食後はレジストレーションへ。10時開始のはずが10時30分に延期。
結構たくさんの人が集まってきていた。
んで、長い列に並ぶ。
全部で4列ぐらいきて、そのうちの一つに何ランで、受付近くに来て、気がついた。なんかみんな番号を言っている。そして列ごとに番号の範囲が割り振られている。
・・・ちょっと待て。番号なんてしらないぞ。どうやらスピーカーには伝えられていないらしい(笑)
んで、受付にそれ言ったら、一番左の列に並べとか言われた・・・おい。

というわけで並びなおし。

んでレジストレーションはなんのことはなく終わり、さてどうしようかとスケジュールをみると、1時まで何もない。今11時。その間何しよう・・・。

なんかみんなはそれぞれ知り合いがいるみたいで、いろいろしゃべったりしている。
僕は知り合いなんぞいないので、とりあえずホテルの前の公園でひなたぼっこ。気持ちがいい。

なんだか、イメージしていたのよりだいぶゆったりしているんだけど・・・。
周りは結構今は、まったり感全快な感じがする。

さて、もうすぐ最初のセッションが始まる。
どんな感じのプレゼンテーションなのだろうか。会場にもまだ行っていないので、明日のプレゼンテーションの参考にしよう。

続く

CanSecWest2010 その1

昨日からバンクーバー。CanSecWest2010に参加するために。

うれしいことに、飛行機がビジネスクラスになってくれたので、かなり楽に来られた。8時間のフライトもあっという間だった。
機内で「ゼロの焦点」という映画を見たのだけれど、推理小説的な映画なのに最後のほうが見られずに到着してしまった・・・。一番見なきゃいけないところなはずなんだけど。帰りの飛行機で見られたら見よう。

一日目は、とくに何もせず。朝10時について、昼ご飯を食べて(日本時間だと夜中なので夕ご飯)、とりあえず眠かったので寝た。

夕方からはCanSecWest2010のスピーカーが集まっての夕食会。とりあえずビール飲んだり、寿司食べたり(意外においしかった)して、周りの人たちとちょっと話したりして・・・。
まあ、誰も知らないし、ドイツ語やらフランス語やら飛び交ってるし・・・じっと様子を見つつ食事という感じだった。

で、終わった後は、夜なんだけど、日本時間だと昼間・・・というわけでお昼寝。
まあ、夜中の4時ぐらいに起きてしまったので、一応あさってのプレゼンテーションの練習を少し。
一部修正したりしながら、やった。

ホテルはネットもつながるし、広いし快適だ。

続く。

わがままなプログラミング

前にも同じようなことを書いた気がするけど。

僕はプログラムは一人で書くべきだと思っている。一人の意志で、一人のためだけに。周りの人たちの意見などほとんどいらない。自分のために必要なら聞けばいい。人がその機能やプログラムが使いやすいと思うかどうかはとりあえず放っておけばよい。(受託開発とかは全然ここでは対象にしていない。)

これでとにかくVersion1.0~2.0までを開発する。ここまできてこれを利用する人がたくさんいるならそれは成功したソフトウェアだと思う。
一人で作るべき期間に、手伝ってくれる人がいることはよいけど、その人は単なる手伝いでなくてはいけない。意見は聞く必要はない。特に機能面においては。自分が思うように作らなくてはいけない。自分がほしい者を、自分が好きなように実装しなくてはいけない。

この作業はそのソフトウェアに情熱のある人であれば誰でもできる。一方で情熱のない人にはできない。そこがソフトウェアとしてよいものになるかどうかの分かれ道だと思う。
結局、人に言われて作るものに最高の情熱を注げるかと言えば、無理なんだ。

自己防衛

僕は完璧主義である。完全でないなら、あってもなくてもいいと思ってしまうことが多々ある。
一方で、完璧なものができあがるとは思っていないので、ほとんどのことについて途中で嫌になる。
それでも、そこまで異常な完璧主義じゃないので、ある程度自分で満足がいけば、そこで終わりにできる。

プログラミングもなかなか完璧にはいかない。未だにたった1つのクラス設計さえ完璧にできたと思えない。まあ、そもそもクラス設計の完璧ってなんだって話はあると思うけど。

さて、自分の完璧主義がどこから来ているのか考えてみた。
70%ぐらいは生まれつきそういう性格だったみたいだというのはある。
後の残りは、自己防衛から来ていると思っている。自分で納得のいくレベルで完璧になっていれば、人から責められないと思っている。だからそうしておかないと不安なのだ。そして、実は完璧(本当の意味で完璧でなくても、一見完璧に見えるもの)は結構つまらないものだから、人がそこにそれ以上関わろうとしないというのもある。小さいときにいろいろ冷やかしを受けたりして嫌な思いを指摘たぶん、そういうつまらないものにしておけば、楽だみたいなこともあると思う。

ただ、これは結構たいへんなこと。少しでも自分で自分に指摘できる箇所があれば、その時点でたとえ誰も責めていなくても自分で責めることになる。ずっとそこを考え続ける。

こういう性格はいい面に働くこともあるが、悪い面に働き出すとひどいことになる。ここ数年は悪い面に働いていることが多い。
でも、コンピュータの技術面ではよい面に働くことの方が多いと思う。
そういう性格だから今の仕事もできているのかなと思う。

ただ、あまり自己防衛的な使い方になっていたら、気をつけないといけない。無意味なことをやっているに違いない。でも、これも性格だからなかなか直らない。
feedSubscribe to my feed