mabots' blog

知のレバレッジを最大化せよ (旧はてなダイアリーから移転しました。)

5億件のパスワードはすでに漏洩済み

最近自分のパスワードがタイトルに貼り付けられたスパムメールがよくくることはないだろうか? HaveIBeenPawned ( https://haveibeenpwned.com/ 以下 HIBP ) によると、約5億件のパスワードは流出済みであるとされている。方や問い合わせフォームの SSL 化をしていなかったり、電子メールでパスワードを平文で平然と送ってくるようなウェブサイトは依然として存在するのが現実だ。

HIBP では email と漏洩したパスワードの Hash 値を開示している。(公開されることで、よくあるパスワードの Hash とは容易に同一比較できてしまうし、同じ Hash をとる email は同じパスワードを使っていることもわかってしまいリスク要素ではあるのだが・・・) このため、github のように ( New improvements and best practices for account security and recoverability | The GitHub Blog ) 各サービスプロバイダは、エンドユーザーが入力したパスワードが漏洩済みのものかどうか推測し、警告することができる。Web サービスの企画・開発に携わる方はこのような施策をセキュリティ強化のために検討されるのも良いかもしれない。HIBP は API を公開しており、また github では内部的に同じような API を作成しているようである。

Using this data, GitHub created an internal version of this service so that we can validate whether a user’s password has been found in any publicly available sets of breach data.

どこで流出したか?

HIBP の Have I Been Pwned: Pwned websites をみると、日本でも関係しそうなのは下記の通り。パスワードだけでなく、クレジットカードや電話番号なども漏洩しているケースがある。有名所が多くリストされており、改めて影響範囲の大きさがわかる。

用語

  • 「ブリーチされた "bleech"」とは、脆弱性を突かれてパスワードなどを抜かれたことを指す。
  • 「ペースト ( "paste" )」とは、PasteBin のようなデータ貼り付けサイトにパスワードなどの文字列を貼り付けられたことを指す。HIBP では定期的に巡回している。https://twitter.com/dumpmon では、貼り付けられたとを検知したら tweet している。
  • 「漏洩したパスワード ("compromised")」とは、すでに漏洩が報告されたパスワードを利用していることがわかっていること。

はてなダイアリーから移行

はてなダイアリーサービス終了してしまうので、はてなブログに移転した。 はてなダイアリー => はてなブログのインポート画面。server side での遅延処理の進捗を画面で表示していてなかなかよくできている (この画面を閉じても処理は続く)

f:id:mabots:20181031122235p:plain

github でインスタンス変数などメンションかけたくないが @ を使いたい時

github の pull request や comment などで @data のような形で本文中でインスタンス変数を明示したい時があるかとおもいますが、勝手に mention が飛んでしまってはちょっと困る時のワークアラウンドですが、バッククオート (`) でくくってあげると良い感じになります。

 pull request や comment などで`@data` のような形で本文中でインスタンス変数を明示したい

https://github.com/jch/html-pipeline/issues/232

Microsoft Edge だと動かないから IE 11 でサービス使ってくださいという案内は間違っている

背景

とあるサービスより、下記のような案内が送られてきました。

Windows10標準搭載のブラウザMicrosoft Edge(エッジ)を使って ( 省 略 ) を編集する際、
PC環境によっては接続エラーが発生する場合があります。
この場合、おそれいりますが ( 省 略 ) ご利用時の推奨ブラウザ Microsoft InternetExplorer11 
または Google Chrome をご利用ください。

なぜ間違っているのか

根拠としては、http://logmi.jp/93308 の日本マイクロソフト株式会社 Windows本部 プロダクトマネージャー 春日井 良隆 氏が説明されたマイルストーンにあるように IE 11 は今後メンテナンスされないことがアナウンス済みのブラウザだからです。

IEに関してはバージョンは11です。この11はInternet Explorerの最後のバージョンとなります。
つまり、12というバージョンは今後出ません。
よほどのことがない限り。よほどのことって何かわかりませんが、よほどのことがない限りIE12は出ません。

もちろんセキュリティのアップデートは行っていきますけども、
新機能であるとかあるいはHTMLの新要素であるとかそういったもののサポートは
IE11に関しては行われないとご理解いただければと思います。

どうすればよいのか

「Edge で動作する前提をもったサービスの改善をし、必要に応じて IE の古いバージョンサポートを切る」のが、あるべきアプローチかと思います。今後最新のアップデートが行われない (レガシーとなることが予定されている) Internet Explorer 11 を推奨するのは、利用者のセキュリティ *1や利便性に反してしまうからです。

*1:セキュリティアップデートは継続するとというアナウンスは有りますが、投下されるリソースを考慮した場合

git 管理下の特定の文字列を一括置換する

git grep -l 'hoge' | xargs sed -i '' -e 's/hoge/fuga/g'