次の10件>>2016年11月05日セキュリティ・キャンプ2016で使用した、熊猫のテキストを公開しました。封印解除されたので、自主規制を解除します。カーネルのメモリ管理機構の闇について扱いました。3年超の期間を費やし、3000通超の関連メールを送受信し、そして、今年1月からは会社の業務時間の大部分も使わせてもらいながら対応した、膨大な活動履歴の中から抽出したものです。発見から始まり、ずるずると闇に引き込まれていき、幾つかの問題について光を取り戻すまでを描いています。カーネルで修正されていますので、信頼できないユーザがログインする可能性のあるシステムではカーネルをアップデートしてくださいね。)への対処でカーネルをアップデートしたばかりだとは思いますが。メモリ管理機構に起因したシステムのハングアップが発生しても、それを平均的なシステム管理者でも認知できる仕組みが存在しないため、どれくらいの頻度で発生しているのかについての情報はありません。サポートセンタに「今回のハングアップに関して、メモリ管理機構が原因の可能性はあるか?」と照会しても、「判断できない」としか答えられないのです。「無い」とか「低い」とか回答するようなサポートセンタを見つけたら、この資料を見せてやってくださいな。リリースされたことで、ようやく肩の荷が下りました。メインライン化するための活動を開始しました。公開されたのは10周年記念である2015年11月11日です。死闘を繰り広げていました。カーネルのメモリアロケータは経験則に基づくヒューリスティックの塊。発動しないまま無限ループに陥る状況が簡単に発生する。発動できたら、それはラッキーである証拠。発動できなかったら、諦めるしかない。無限ループに陥っている可能性を知らせる機能は存在しない。そのため、何が発生しているのかを観測できず、メモリ管理に起因した問題として修正することもできない。その結果、「システムがハングアップしたらメモリ管理を疑え!?」という諺が誕生しても不思議ではない。改善に本腰を入れようとしている。バックポートについては全然考慮されていないため、既存システムへの適用は絶望的である。リリースまでに決着をつけたかったのですが、来年へと持ち越しとなりました。関数の処理で予想外に時間がかかっていることが判明しました。3つについて、どれくらいの時間がかかっているのかを簡単に計測してみました。関数と比べて遅いようです。システムコールを発行しているためです。コピーに置き換えて実験してみました。シンボリックリンクを辿らないで済む効果はあるようです。)して実験してみました。関数が速くなりました。)して実験してみました。関数と同じレベルまで速くなりました。タイムゾーン情報が指定されていると遅くなってしまうようです。機能を用いて実現しました。どのようなルールを使っていたのかを、ここで紹介します。ドメインへ遷移するという指定です。ドメインに遷移するという動作に対応します。ドメインに遷移し、それ以外の場合には、ドメインを遷移せずにプログラムを実行するという指定です。へは進めないという動作に対応します。普通のアクセス制御では許可する場合を列挙したら残りは全て拒否するものですが、ここでは意図的に全てを許可するように指定しています。これにより、正解でも不正解でもシェルが実行できるため、総当たり攻撃による突破を困難にしています。ドメインに遷移するという指定を行っています。次に、それぞれのドメインでどのファイルを読めるかについての指定を行います。パス名ベースのアクセス制御の弱点である、パス名が変化するとアクセスの可否も変化してしまうという問題を回避するため、ファイルの所有者IDをキーとして許可を与えるようにしています。この方法なら、細かくリネームやハードリンクなどの作成を制限する必要がありません。利点が生かせる指定です。あるプロセスからのみ読み出すことができるという指定を行っています。あるプロセスからのみ読み出すことができるという指定を行っています。何れか1個だけを読み出すことができるという動作に対応します。読み出す許可だけは、少し異なる方法で指定しています。ある場合のみ読み出すことができるという指定を行っています。その他、他のサーバへの攻撃に使われないようにするために、ネットワークの制限も行っています。具体的には、ユーザIDが0ではないプロセスは外向きのTCP接続を全面的に禁止しています。内向きのTCP接続はポート23のみを許可しています。ポート53のみを許可しています。以上が、今回の出題で使われたルールです。複雑なルールを指定することもできますが、エスパー問題化を回避するために、簡単なルールを指定しながら、ヒントも与えるようにしています。ヒントを削ってしまうと、攻略不可能なケロちゃんチェック問題になってしまいますからねぇ。ディレクトリを割り当てていたためです。シェルログインさせておいて、スパムメールの発射台にされないの?→上述した通り、ネットワーク制限が掛かっているので発射台にはできないでしょう。ハードディスクが見つからなかったのですが?→すべてオンメモリで動作しています。より一通りの機能は提供されていました。