セキュリティknok最近新しいスマートフォンを購入しました。モバイル回線としてIIJmioのファミリーシェアプランを契約しているので、SIMは3枚あります。USBドングル用に使っているSIMをとりあえず差し替えて使ってみることにしました。Authenticator(Google認証システム)があります。これは外部のWebサービス(github等)での2要素認証に利用できます。6238に準拠しているサービスであれば何でも利用できるようです。Authenticatorを使いたいため、別途端末を追加する方法を探したのですが、「あとからの追加」というのはできないようです。新規登録であれば同時に複数台登録は可能なようなので、以下の手順をとりました。基本的に常に身に着けているデバイスではありますが、これ以外にも重要なデータ(Chromeのパスワードマネージャー情報など)が入っているものですから紛失などには気をつけましょう。新しく購入したデバイスはnextbitのrobinです。+Styleで購入しました。ハードウェアknok確認できた範囲の情報を記録しておこうと思います。Watchの記事「DRAMスケーリングの課題と打開策」にて解説がなされています。Hammer問題は、DRAM技術が微細化したことで深刻になり始めたメモリセル間の干渉によって発生するエラーの問題だ。DRAMメモリセルの同じRow(行)に対する連続したアクセスが、隣接したRowのセルのデータを不安定し、エラーを生じさせる。この問題は2012年頃から話題になり始めた。A1など)の中で言及した。Hammerに関する論文が発表されたことで、コンピュータ業界で広く知られるようになった。したメモリで、特定のセル(row)に高い頻度でアクセスすると隣接するrowのメモリ内容が化ける、という現象のようです(Rowhammerの論文PDF)。privileges“)。応用例として、ChromeのNaClサンドボックス上で本来実行できないはずの命令を実行させたり、カーネルの権限上昇を行う手法が解説されています。確認手段userlandで試験を行うツールがgithubで公開されています(“https://github.com/google/rowhammer-test“)。editionにもRowhammerテスト機能が追加されているようです。rowhammer_testを実行して、実際にエラーが起きると以下のような出力をして停止します。(0x100)自分はデスクトップ(non-ECC)x2、ノート(non-ECC)x1、サーバー(ECC)x1に対して実施してみましたが、以前から挙動が若干怪しげなデスクトップマシン1台でのみ検出されました。Groupsにてある程度報告が上がってきていますが、発生するときは数十~数百程度の試行回数で発生するようです(上記自分の例では11回目で発生)。自分の他のマシンでは1万以上行っても問題が出ませんでした。guest上でエラーを検出できたという報告もありました。Cygwinでも確認できるよそうです。10対処方法2ちゃんねるソフトウェア板のMemtest86スレッドにてメモリアクセスに関するパラメータを試行錯誤している様子があります。(VRT)」の3つを挙げている。tRFCだけでなくtWRも関係してくるわけか・・・BIOS等でこれらのパラメータを変える、特にリフレッシュ時間(tREFI)を短くすることで改善が見込めるようです。ところで、ちょうど今日のタイミングで2chのdatアクセスが閉じられてしまいました(窓の杜の記事:「2ちゃんねる”の配信仕様が本日より変更。専用ブラウザーの更新・乗り換えを」)。そのままでは、Debianパッケージにもなっているnavi2chやJDなどが利用できない状態です。Memtest86スレッドのような貴重な情報を得られる場だけに残念です。追記(2015/3/16)マシンを再起動する機会があったので、tREFIを設定してみました。3000を超えて問題なくテストが進んでいます(当該マシンのデフォルト値は1700ぐらい)。前回は11回でエラーが発生したことを考えると、かなり改善されているようです。思い処理(動画エンコード)を差せているのですが、それほど目立った性能低下も感じられません。セキュリティknok偶然にも500万個のSSH公開鍵を手に入れた俺たちはという資料が公開されました。GitHubから公開鍵を大量に集めて調査してみたという内容なのですが、なかなか衝撃的だったので英語blogで内容をかいつまんで紹介してみました。500万個のssh公開鍵のうち、Debian/Ubuntuで作成されたブラックリスト入りの鍵が208件あったそうです。割合として考えてみればそれほど多くはないのですが、まだ爪痕が残っていることを実感します。3.0に、プロトコル自体の脆弱性がGoogleによって発見されました。Encryption”略してPOODLEと呼ばれています。立ち上がっており、脆弱性の詳細に関する元ソースへのリンクもあります。今回の脆弱性はサーバー、クライアントともに対策が必要になります。とり急ぎ自分の周りにあるSSL/TLSを使うサービスに対策を施しました。onとしているセクション内で、以下の設定をしました。httpsだからというだけで安全?調べたら怖くなってきたSSLの話!?)。(GnuTLS)TLS_PROTOCOL="TLS1"Debianのcourier-imapdはOpenSSLをリンクしているのでTLS1のみ設定しています。確認方法OpenSSLのs_clientを利用することで、任意のバージョンのSSL/TLSを使った接続を試すことができます。設定が正しくできれば、以下のような結果となりネゴシエーションに失敗します。0000STARTTLSを使う場合は-starttlsオプションが利用できます。1.0.1jがリリースされており、sidにもアップロードされています。signの作業をする(signing-party/caff)の続きです。前回は自分が相手に対して署名を行い、その結果を送るための手続きについて説明しました。今回はその逆、自分が受け取った相手からの署名を自分の鍵に追加する方法について説明します。相手がcaffを使っている場合、pgp鍵のおそらくは各IDごとに1通のメールが届きます。2012-08-23私の鍵の場合だと、IDとしているメールアドレスは4つあるので、一人当たり4通メールが送られてきます。それらを1つづつファイルとして保存します。asciiメッセージです。v1hQIMA8hTZXMHCYaAAQ//XfTpsTvsdKaLNZ2TkYf/lDRtHo9DRjtSiFSYT4lWcFwF9yxFzX8TL/L+7o2xZTZ7nXTOHAIMkgxi5KXnIDY5O8iNvrN9pqh3VmKDhB2GWHRDyJGIBiQZ+bPavFWgiscWhy7FqhWfGi7XHBEbEIhfn9FBrziwgvLwkkC24ufUtnOM/u39RDXrJKpi0GT0rMW+Ykg9vs6QNSdyDeBQRRS16KTRyljSGmRX/Q3y57WVw09v(以下略)メールの復号化このメールをpgpコマンドで復号化します。<knok@daionet.gr.jp>”上記コマンド例では、入力されたファイルをmsgというファイル名で復号化しています。復号化した内容は、caffの標準テンプレートであれば以下のようになります。v1mQINBEqq3iEBEAC2u1/t+pm5FSK//w9Qp/KxHW17rM+tOxqBNqVAZbFpOFu9Sa1iU/C85ujEHKRIuLyESfzLg3gQmeojTritYPzG04s+bP+bbjujMkZZGhbrl4VjWA0LDLO7uxwS/4scnBrlOONPaeRfP43T8a1hK2E0+8uIGhJIUt5fyW0o7Cs1MvL6T7UZYEwUW9lqciFhYEXr2zC6JYuofLytG1nUUFY4gcLWX/XSi1NUutL7Z5uJK3Ct8nlc2AxFmPWkTYOcU6HpePQLlB7YGdldS8+41QkeDJm+w+ljqfI1vrVFT+SIHza8RiuW(以下略)署名の取り込みこの復号化されたファイルには、添付ファイルとして鍵への署名があります。–importコマンドを実行することで署名を自分の鍵に取り込むことができます。次回の信用データベース検査は、2016-07-04ですこれを、届いたメールの数だけ実施します。毎回passphreaseを入力するのはしんどいので、gpg-agent等を使うと楽になります。gpg-agentはバージョン2系からついてきます。1.4系にはありません。エージェントの使い方はssh-agentとよく似ているので、そちらに慣れている人であれば楽に使えるでしょう。私は以下のようなワンライナーで一括処理をするようにしています。最後に、公開キーサーバーへ新しい(電子署名の増えた)鍵を送信して更新します。これは普段から公開キーサーバーに鍵を登録している人だけがすればよい作業なので、運用によっては不要な作業です。以上で作業は終わりです。セキュリティknok先日JNUGの総会へ行ってきて、OpenPGPの鍵の本人確認をしてきました。その後にやるべき作業を、忘備録として記しておきます。signの作業を楽にするためのツールはいろいろありますが、今回はsigning-partyパッケージに含まれるcaffを使います。キーリングの分析、キーサインパーティの準備用ツールを含んでいます。ballを取得します)。ID確認の完了したユーザーの公開鍵を入手します。公開キーサーバーに登録されていることもありますし、人によっては公開していない場合もあります。後者の場合はメールなどで直接受け取ってください。キーサーバーから取得する方法は以下のようになります。1)今回はpgp.nic.ad.jpを使いましたが、他のキーサーバー(pgp.mit.edu)等にあることもあります。公開鍵を入手したら、手元にあるはずの指紋(fingerprint)と、取得した公開鍵の指紋が一致するか確認しましょう。2012-08-23これを、ID確認したユーザーの数だけ実施します。確認ができたら、ようやくcaffの出番です。–help等を実行すれば、現在の環境を見てとりえあずデフォルトの値を埋めたものが自動生成されます。作成されたものを自分の環境に合わせて修正してください。以下は私の設定例です。];自分はカスタマイズしたsmtp設定をしています。mailer-sendについてはcaff(1)に解説がありますが、PerlのMail::Mailerが受け付けるパラメータを記述します。Mail::Mailerに詳細がありますが、smtpの代わりにtestfileを指定すれば、メールを送信する代わりにファイルに保存するので、活用して動作確認をするとよいでしょう。準備ができたら、caffを起動します。私は以下のようなスクリプトを使っています。