追記

野良犬日記 2.1

RDF/RSS
この日記の検索

最近のツッコミ:


2017-07-01 (Sat) [長年日記]

_ [obsd][sec]みんな違って、みんないい - カーネルのランダム化

OpenBSD は kernel relinking により、(ほぼ) すべてのカーネルが別個のアドレス構成を持つようになりました。

この変更の理由は以前 KARL という題で投稿されました。 メモリ割り当てをランダムにしたほうが良いということは既に常識です。 OpenBSD は ASLR に取り組んできました。 しかしカーネルは常に同じです。 OpenBSD は 6か月ごとのリリースなので、stable リリースをインストールする人は基本的に 6か月間、全員が同じカーネルを使い、同じアドレス空間を持っています (カーネルに関しては)。これはイヤですね。*1

その解決策として、毎回インストール or アップグレード or 起動 or 'make install' するたび、世界にひとつだけのカーネルを作ることにしたわけです。

起動に必要な部分は固定ですが、それ以外はランダムなギャップとランダムな順番でリンクし直されます。固定部分も、いったん起動してしまえば不要なので unmap あるいは trash されます。こうして、ひとつリークがあっても他の情報には結びつかないようになりました。

これは重要なセキュリティ機能とはいえ、これだけのために base セットへ cc を入れるのもイヤなので、リンクのためには ld の linkscript 機能を使ったそうです。ここらへん、私は実装を見ていないので何ともわかりません。

デバッグなどのために、この機能を無効にしたい場合は、カーネルを make install ではなく cp で持ってくることで、勝手に再リンクされなくなるそうです。

いやぁ、Theo が 5年近くも (誰かに押しつけようとして) 着手できなかったというだけあって、なんとも危険な香りのする仕組みですが、どうなんでしょうか。スクリプトと ld を使っているということから、今後のリグレッションも心配です。これだけ苦労しても、普通のユーザには一切、目に見える違いがないというのもすごいです。 でも、本当に OpenBSD のカーネルを攻撃しようとする人にとって面倒なことになりそうだというのもわかります。

7/7 追記: Slashdot に記事が来てた。 https://tech.slashdot.org/story/17/07/05/2327234/openbsd-will-get-unique-kernels-on-each-reboot

*1 ちなみに KASLR については grsecurity による批判 (日本語訳?) がありますが、そこで提示されている問題点も今回の relinking によってかなり対処されるように見えますね


2017-05-16 (Tue) [長年日記]

_ Windows 10 にして画面の明るさが変更できなくなってた

image これもレジストリで FeatureTestControl のビットを立てて 0xffff にしろとか書いてあるのを見つけたけど意味なかった。

モニタとかグラフィック関係のドライバを入れ直したりしても意味なかった。 もしかすると勝手にアップデートされるせいかもしれないけど、知らない。

輝度だけ変えた電源プランを用意して、 powercfg -l で GUID を確認し、 ワンクリックで powercfg -setactive するようにした。 これで十分。

ショートカットキーというのが何かは知らないけど、今のところ効いてないみたい。


2017-05-14 (Sun) [長年日記]

_ 東芝PC 内蔵の Pioneer BDR-TD04 が Windows 10 アップグレード後に動いていなかった

どうでもいいから放置していたけど、解決したのでメモ。

TL;DR

サービスで Toshiba Optical Disc Drive Serviceを停止してハードウェアスキャンする

kwsk

現象

Windows 7 で問題なく使用していた DVD/BD/CDドライブが、 Windows 10 へのアップグレード後に動作していない。 デバイスマネージャでは「⚠」になっている。エクスプローラでも表示されていない。

デバイスマネージャで詳細を表示すると、 「レジストリ内の構成情報が不完全であるか、または壊れているためこのハードウェア デバイスを開始できません。 (コード 19)」 となっている。

調査

検索したら

  • 「レジストリの upperfilters / lowerfilters を消せ」というのがあるが、そもそも(どだい)存在しない。
  • 「レジストリの enumdevice1 を増やせ」とあるが、そもそも 1 だし、2にしても関係なかった。
  • 「atapi の errorcontrol と startoverride で、0 を 0 にしろ(哲学)」というのもあったが、意味なかった。最初から AHCI になってるみたいだし。

一所懸命に BDR-TD04 とか Pioneer とかいうキーワードで検索していたのが失敗だった。なぜなら原因は「TOSHIBA Recovery Media Creator」だったので、「東芝」で検索しなければ解決策が上位に出てこないのだ。

というわけで、やっと「おもに自分用特価情報: Windows10へのアップグレードで光学ドライブが見えなくなる」というページを見つけて解決した。

握っているサービスを停止して、デバイスを停止、アンインストール、スキャンしたら、しれっとアイコンが出てきた。

これ microsoft とか知恵袋とかの回答に情報を追加したほうがいいのかな。

本日のツッコミ(全1件) [ツッコミを入れる]

_ tamo [windows 8 で検索したほうが良かったのか… http://dynabook.com/assistpc/os..]


2017-04-07 (Fri) [長年日記]

_ プリンタまたはインクシステムに問題があります

hp officejet pro 8600系の複合機プリンタが、きのう印刷完了とともにエラーになった。

「プリンタまたはインクシステムに問題があります」と言って、電源を入れ直してもだめならメーカ問い合わせだと表示される。放っといたら直るかと思ったけど、今日もだめだった。

新品と交換かな〜かと思ったが、一応ネットでも調べてみたところ、まだ打つ手はありそうな感じ。

https://support.hp.com/jp-ja/document/c03414463

結局、シアンのカートリッジだけ壊れていたようで、抜いたら普通に使えるようになった。助かった〜。

無駄に大きい画面がついてるせいで、信用してしまうんだよなあ。エラーコードだけとかだったら即座にネット検索しただろうに。


2016-10-23 (Sun) [長年日記]

_ 怒るということ

先日思いついたんだけど、怒るっていうのは甘えだと思う。だって何らかの欲求があるとき、正解は「努力」のはず。他人に何かをしてほしいという欲求でも、自分の責任として「依頼」などができる。依頼すらしないで、「私は怒ってます(わかるよね)」みたいに責任をとらないのは甘え。

これまで、職場のコピー機の前で「あれ~これどうやるんだろう~わからないなああああああ」と大声を出す人を見て無視したい気持ちになったことがあり、自分は不親切な人間だと思っていた。しかし、買い物途中にスーパーで、見知らぬオバサンにコピー機の操作をやってほしいと頼まれたときには何とも思わなかった。俺は不親切だったのではないか? と不思議に思い、その理由を考えていた。

その時はきれいにコピーできたから、どっちの人も感謝してくれた。でも、もし失敗していたら? そうしたら、前者は、頼まれてもいないのに手を出して失敗した私が全面的に悪い。後者なら、頼んだ人と引き受けた私の共同責任になるだろう。ぜんぜん違う結果だ。

無意識に責任回避しているのだろう。会話を始めるとき「スーッ」て歯に吸気を当てる人がいる。自分から「ねえ」「聞いて」と言ってしまえば、会話を始めた当人としての責任が生じるけど、「(スーッ) あの件どうなったんだっけな」なら独り言っぽいので、責任をとらなくて済む。

そういう人たちにイラッとする私の気持ちも甘えだ。やめてほしいなら、自分の責任において努力(やめるように頼むとか、言わせない環境をつくるとか)をするべきだし、それをせずにイライラするのは非生産的で無意味。何ができるかを考えておくと良い。

コピーなら、簡単にできそうなことだけ「俺って親切だな~」と思いながらやればいいし、失敗しそうなことなら「これは俺の責任じゃない」と納得して他の人に譲ればいい。イライラする要素なんて存在しない。

スーッて言う人に対しても、「よーし俺の親切さを見せるチャンスだ」と思って気分よく相手をするか、それができないときはスーッて聞こえた瞬間にどこかへ行けばいい。俺の責任じゃないんだから。

レジ待ちでイライラしている若者を見かけたら、「この子は舌打ちや貧乏ゆすりによって、自分の責任外で、つまり誰かの厚意によって自分の欲求が満たされることを期待している、つまり甘えてるんだ。かわいいなあ~」と思って親切にしてあげようと思う。

ただしイケメンに限る。


2002|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|10|11|12|
2011|02|04|05|06|07|08|09|10|11|12|
2012|01|03|04|05|06|09|11|12|
2013|02|03|09|10|11|
2014|02|03|04|06|09|
2015|11|
2016|01|04|09|10|
2017|04|05|07|