/var/log/hdk.log

最新 5 日分


23 (水)

%1 CVE-2018-8897

今年はいろんな興味深い脆弱性が出てくるものだなぁ。 今回は TF=1 の状態で MOV SS や POP SS の直後に INT3 や SYSCALL を置くと問題が発生するという話だ。 少し詳しくわかってきた。

TF はご存じの通りトラップフラグというやつで、はじめて読む 8086 か何かに載っているのを見て小学生の頃試したことがある。 フラグレジスターのビット 8 にあるので、残念ながら SAHF では設定できず、POPF または IRET で設定することになる。 セットすると 1 命令実行が終わるごとに #DB 例外 (8088 当時は割り込み) が発生するというものである。 例外・割り込み時は TF がクリアされるので、ネストすることはない。 特権レベルに関係なく設定可能である。

で、MOV SS や POP SS の直後は #DB 例外が発生せず、さらにその次の命令で発生するらしい。 ここで、例えば INT3 命令があって、その実行に成功すると、INT3 の割り込み or トラップゲートの先、スーパーバイザー側で #DB 例外が発生してしまうという。 成功すると、というのは、例えば INT3 の権限がなくて #GP 例外が発生した場合は #DB 例外は発生しない? っぽい。 深刻なのは、64 ビット環境では GS のベースアドレスをスーパーバイザー用のものと高速に swap するための SWAPGS という命令があって、これを使うかどうかを、例外発生時の CS を元に判定しているオペレーティングシステムがあるそうで、この場合スーパーバイザー側で SWAPGS を実行する前に例外が発生しているので、CS はスーパーバイザーを指していて SWAPGS を実行しないことになり、いろいろとまずいことになる、と。

さらに、SYSCALL 命令の場合はもっとやっかいで、スタックポインターの切り替えをスーパーバイザーがやる前に #DB 例外が発生してさぁ大変、という話らしい。 ただ、試してみたところでは、SFMASK で TF をマスクしておけば、QEMU のエミュレーション環境を除けば、#DB 例外は発生しなかった。QEMU は、バグなんじゃないかな、きっと。

そんな感じで、32 ビット環境では SWAPGS 命令は使えないし、Intel の 32 ビット環境では SYSCALL 命令も使えないので、32 ビット環境ではこの問題はない、という理解でいいのだろうか。 いや、GS やスタックポインターの問題がないにしても、#DB 例外自体は発生するのだろうから、それがスーパーバイザー側で発生しても問題がないようにはしておかなければならない。64 ビット環境については、#NMI などと同様に、スタックを常に切り替える設定で #DB 例外を受けるようにしろ、という話みたい。 スタックを常に切り替えるのは 32 ビットではタスクゲートで実現していたが、64 ビットでは interrupt-stack table という仕組みでスタックだけ切り替える機能が実装されているらしい。 へぇー!

SYSCALL 命令は AMD が導入したもので、よりシンプルなものを目指したっぽいが、おかげで複雑になってしまった面があるんだな、と思った。 スタックポインターを CPU が切り替えてくれないので、危うい瞬間が存在することになる。 シンプルなはずなのに Intel はこれを模倣するのに失敗して、いくつかの脆弱性ができてしまったし、あれもスタックポインター絡みだったんだな。SWAPGS 命令も、swap じゃなくて、load kernel gs/load user gs みたいになっていたら比較の必要がなくなって良かったのかも? 64 ビットになっても、80286 の頃からあるコールゲートもちゃんと 64 ビット化されて残っているけど、パフォーマンスはどうなんだろうな。 やっぱり権限チェックは重いのかな。

今の IA-32/AMD64 は建て増しを繰り返したアーキテクチャーなので、昔のしか知らない人は調べてみると楽しいと思う。

2018/05/23 のコメントを読む・書く


24 (木)

%1

整形外科。 診察。 いつも通り。 バイクの話をしたら、前傾姿勢のスポーツバイクは上を向く格好になりますから厳しいですね、スーパーカブみたいなのならいいですが、それと振動もありますので、みたいな話をされた (^^; 自分のは前傾姿勢じゃないのでセーフ! (自転車はアウト)

待ち時間に GUNPEY のストーリーモードをやっていたら、やったら難しいパネル 100 のステージが出てきて (時折エクスクラメーションマークに置き換わってパネルが見えなくなる...)、これをギリギリでクリア。(一番上まで行っていた。) そして次に進まないなと思っていたらなんとエンディングだった! コンティニューなし。STAGE 9 で 30 万点くらいの記録。 なお、ストーリーをまともに見ていなかったのでエンディングの意味がわからなかったw

%2 Twitter

きのうあたり、ものすごい高頻度でプロモーションツイートが流れるようになってて、さすがにあきれて、タイムラインと同じ中身のリストを作ったのだった。 で、リストに自分自身を追加する方法があったはず... といろいろ触って見るも、どうやら以前使っていた Twitter クライアントでできたんだな、と気づく。 確かあのクライアントはもう使えなくなっていたはず。 そうなったら... と検索して、tweez.it というサイトのアプリ? っていうのかな? とにかくこれと連携させて、自分自身の追加に成功した。

で、今日見てみたらプロモーションツイートの頻度は元に戻ったっぽいな。 ま、いいや、せっかく作ったのでリストは取っておこう。 これを公開すると、他人が自分のタイムラインを見られるという謎仕様になるわけだが、どうもリスト公開のタイミングでリスト内ユーザーに通知が行くという話があるので、迷惑にならないようにやめておこう...

2018/05/24 のコメントを読む・書く


25 (金)

%1 きんようび

株主優待でもらったザ・タンサン・ストロングが案外おいしくていい感じ。 しかし株主優待でもらったファンタは昔よりまずくなっている。 原材料を見ると、甘味料のステビア入りになっているのだった。 自分は別にお腹が緩くなるみたいなことはないんだけど、フツーの甘いジュースを期待していたのに、完全に裏切られた。 明らかに後味が悪い。500ml が多いと感じられる。 これはショックだった。C.C. レモンなんかだと 500ml 楽勝で飲めるのにな。 株主優待でもらったミニッツメイドのほうはおいしい。

テレビでやってた映画『ロスト・ワールド/ジュラシック・パーク』(原題: The Lost World: Jurassic Park)。1997 年のアメリカ映画。

前作は 1993 年の『ジュラシック・パーク』(原題: Jurassic Park)。 自然に帰された恐竜たちが住む無人島で調査をしよう、みたいな、前作に続いて、何とも無茶なことをしまくるw 記録用のスチルカメラがフィルムなあたり、絶妙に 1997 年という時代を感じる。 確かにそのころのディジタルカメラはまだ記録に適した画質ではなかったもんね。 シートが横に飛び出る車など、よくそんなこと思いつくなぁというような、おもしろ設定もあるんだが、案外カメラや電話機なんかにはひねりがないものである。 テレビは球面ブラウン管。 あの頃、さすがに平面ブラウン管も出てきていたのではと思うが...

コンピューターグラフィックスの出来は前作から大幅に進化している。 たった 4 年でここまで変わるものか。

最初に恐竜にやられてしまうのは、崖から落ちそうなトレーラーを、よりによって乗用車で牽引して助けようとした人である。 重量差からしてどう考えても無理だろという牽引作戦、ドロドロの足下にタイヤが滑りながらも少しは粘っていたのは映画の演出以外の何者でもない。 崖下に落ちようとしている 10t はあるだろうトレーラーを、1t そこそこの乗用車が引っ張りあげることはできない。 物理的におかしい。 ま、しかしその乗用車が見た感じ MT だったのも興味深かった。 四輪駆動だったのかな、副変速機でもついていそうな設定だった。

ヘリコプターで救助されて終わりかと思いきや続きがあった。 楽しませてくれる。

2018/05/25 のコメントを読む・書く


26 (土)

%1 どようび

よく寝た日。

夕方から雨みたいな天気予報だったけど結局降らなかったような。

名探偵コナン、テレビアニメ版の先週・先々週の話が、蘭の母親の英理がさらわれるという話で、これが原作の漫画の 93 巻だったかな、それに載っている話であることを知ったのは、先日耳鼻科に行った時だった。 先にアニメを見ていて、フィーチャーフォンでグループチャット (よく知らないけど LINE 風?) というのに違和感を覚えていたのだが、実は原作に忠実に沿ったものだったみたい。 コナンがどこどこから半径まるまるメートルの地点を地図も見ずに正確に言うのも奇妙だったが、これも原作通り。 なお、この回のコナンはスマートフォンを使っていたが、名探偵コナンの最初の頃から主人公達の年齢は変わっておらず、最初の頃には携帯電話・PHS どころかポケットベルさえも登場していたのはみんな知っている通りであるw

お風呂が最近熱いので、お湯張りの設定温度を 1 度下げて 40 度にして、ためる量も少し減らした。 夏場は室内の温度が高いから、お風呂にためたお湯の温度が下がりにくくて熱く感じるのかなと思っていたけど、それは関係ないみたいだな。 単に自分の体が放熱できるかどうかの問題みたいだ。

2018/05/26 のコメントを読む・書く


27* (日)

%1 にちようび

よく寝た日。

最近見かけたツイートで、セーブオンがなくなるんだって。 あぁ、そうなんだ。 そういえばつくばにあったな。 ひとつは二の宮のところ、自転車で近くを通った記憶があるが、地図を見ると... ローソンになってる! もうひとつ、万博記念公園駅から近いところにあったが、こっちはコンビニじゃない会社が入ったみたいだな。 ま、あそこは駅に近い側にセブンイレブンができたからな、さすがに厳しかったのだろうか。

で、つくばと言えばホットスパーやセイコーマートもあったな。 ホットスパーが Coco! に化けたのは覚えている。 まだつくばを離れる前だった。 あの天久保二丁目の... あれ!? なくなってる! そうか、九州のエブリワンと同じような運命をたどってしまったのだな。 桜のカワチの近くのはローソンに負けて英会話の AEON になってたよな。 セイコーマートは春日四丁目に... あれ!? なくなってる! マジか!! 近くにできちゃったローソンに負けたか! 石岡のやさと温泉ゆりの郷の近くのところと、真壁のところには寄ったことがあるが、そこは残っているみたいだ。

サンクスもファミリーマートに吸収されるという話だが、まだ府中にもいくつか残っている。 ファミリーマートに化けてしまったところもあることはある。 まだ開店から 10 年経っていない店舗など、オーナーがあまり乗り気ではないのかも知れないが、それにしてものんびりペースだなと思う。 ま、サンクスの名前は残っていても、旗も商品もファミリーマートのロゴ入りで、いつでも変えられる風だけどね。

F1 モナコ GP。 ブレーキトラブルによる追突でバーチャルセーフティカーが一度あっただけ。 こんなに荒れなかったモナコ GP ってものすごく珍しくない? 内容としてはタイヤの状態の話で結構盛り上がっていたんだけど。

2018/05/27 のコメントを読む・書く


Powered by Tomsoft Diary System 1.7.4

/var/log/hdk.log コメント一覧

トップ / 日記索引 / 日記 (最新 5 日分)

Hideki EIRAKU