タグ

2014年6月9日のブックマーク (2件)

  • Refinementsとクラスの継承を組み合わせた動作を確認する - joker1007’s diary

    大した話ではないが、Refinementsについてちょっと実験してみたので、結果をまとめておく。 まず、現状のRefinementsについて整理する。 今のRefinementsはファイルスコープという、微妙に分かりづらいスコープで適用される。とりあえずサンプルコードで確認してみる # str_refine.rb module StrRefine refine String do def hoge "str_hoge" + " " + fuga end def fuga "str_fuga" end end end # main.rb require_relative "str_refine" using StrRefine p "".hoge # => "str_hoge str_fuga" refineとusingはRefinementSpecによるとModule#refineメソッド

    Refinementsとクラスの継承を組み合わせた動作を確認する - joker1007’s diary
    igrep
    igrep 2014/06/09
  • CCS Injection脆弱性(CVE-2014-0224)発見の経緯についての紹介 - OpenSSL #ccsinjection Vulnerability

    菊池です。CCS Injection脆弱性(CVE-2014-0224)発見の経緯について紹介します。 バグの簡単な解説 OpenSSLがハンドシェーク中に不適切な状態でChangeCipherSpecを受理してしまうのが今回のバグです。 このバグはOpenSSLの最初のリリースから存在していました。 通常のハンドシェークでは、右の図のような順序でメッセージを交換します(RFC5246 The Transport Layer Security (TLS) Protocol Version 1.2 §7.3より作成)。 ChangeCipherSpecは必ずこの位置で行うことになっています。OpenSSLもChangeCipherSpecをこのタイミングで送信しますが、受信は他のタイミングでも行うようになっていました。これを悪用することで、攻撃者が通信を解読・改ざん可能です。 発見の困難さ

    CCS Injection脆弱性(CVE-2014-0224)発見の経緯についての紹介 - OpenSSL #ccsinjection Vulnerability
    igrep
    igrep 2014/06/09
    "他の言語の候補としてはATSが人気のようでしたが、自分の使い慣れているCoqでTLS/SSLを実装するとどうなるか考えていました。" 証明界隈がアツくなるな...!