家を買いました

別に自分はアイルランド人ではないんですが、ダブリンって非常に住みよい環境でして、特に子供にとっては素晴らしい環境てす。去年から、スタンプ4 という、住宅ローンを組める在住権になったので、銀行とあれやこれや相談してローンを組みました。

あ、とりとめない内容なので、読み物としてどうぞ。家を買いたい人は英語の記事とか探してください。

窓からの風景

自然がうんぬんとかは日本でも田舎行けば当然ありますけど、ベビーカーでバス乗るの当たり前だとか、学校が無償で子供手当も出て移民向けの英語の特別クラスもあり、親が英語使えてボチボチ田舎が好きなら気に入ることうけあいです。

ともあれ、そんなわけで家を買いました。アパートメント、日本でいうマンションですね。間取り的には3LDK相当で、80m2ぐらい。郊外に行けば、それこそ築200年で150m2とかあるのかもしれませんが、私は車乗らないので都心で少し広いぐらいがちょうどよいのです。

築17年くらいで、ソファーやダイニングテーブル、椅子、あとベッドといった家具つき。ベッドは壊して捨てましたが。ベランダもあり景色もよく、周りはアジア系、イスラム系が住んでいて抵抗なく馴染めそうです。

日本に住んでたときも江東区の南砂町にある巨大マンションの一室を買って住んでたんですが、数年後に割と高く売れたんで、今回もそうなったらいいなーと淡い期待をしてます。

ダブリンは今後も移民が増え続けていくでしょうし、子供も多く人口ボーナス期なので、EUが完全に失速するまでは、しばらく上向きの経済が期待できます。

さて、子供二人にひと部屋ずつ割り当てつつ、夫婦は一部屋。あと、広めの物置を占拠してパソコンルームとしました。2畳ぐらいなのでいい感じです。

しかし窓も換気口も無いため発熱がやばいデスクトップは置けず、交渉の末にリビングへ。

バスルームは2つあるんですが、片方のトイレの流れが悪く、そのうち業者呼ばなくてはいけません。めんどい。お湯はバスタブに張れるくらい十分に出ます(海外だとバスタブ無かったり、お湯のシステムが貧弱だったりします)

日本の風呂文化ってすごい。温泉が懐かしい!まぁでも実際のところ毎日シャワー浴びてれば風呂につからなくても別に普通に生きていけるのよね。

自分も先週までは風呂溜めて入ってたんですが、開き直ってみれば案外シャワーだけでもストレスなく生きていけるもんです。

というか日本の水回り最強。

シーリングライトも裸なので付け替えが必要でした。日本のように汎用的なプラグになってないので、ケーブル工事のために電気技師をそのうち呼びます。日本すげーわ。

引き渡し直後。ジャケットがそのままだったので誰かまだ住んでるのかと思った。

そんなわけで、買った家のもろもろをネタ的に紹介しただけで終わってしまいました。

今度また時間があるときに、適当英語で弁護士とやりあった話などを書いてみたいと思います。

AGAMAウォレットが自らハッキング攻撃でユーザー資金を保護

面白かったんですけど寄稿先でボツったので、こちらへ

ユーザー保護のため「攻撃」を行ったAGAMA

今月5日、AGAMAウォレットを運営するKomodoプラットフォームがセキュリティ通知を報告した。
古いウォレットアプリにバックドアがあるというセキュリティ研究者の報告を受けてのことだ。
攻撃者が、ウォレットに格納されている暗号資産を簡単に盗むことが可能になっていた。
これを受けて、Komodoチームはウォレットの脆弱性を利用し、ユーザーの資金を保護するために自ら「攻撃」を行い、資金を保護した。
保護された資金を見てみると、96 BTC約800万KMDとなっていた。
総計で 1200万ドル(日本円で約13億円)が転送された計算だ。
Komodoチームによる脆弱性に関する報告記事
komodo

発見の経緯

詳細を報じているZDNETの記事によれば、Agamaウォレットのバックドアは、セキュリティチームによるnpm JavaScriptパッケージリポジトリの監査中に発見された。
発見を報じるnpm の記事では、以下のような流れになっていたようだ。
・便利なパッケージ(electron-native-notify)をnpmに公開 ※この時点ではバックドアは含まれない
・使われるようになると更新を行い、バックドアが含まれたコードをアップロード
・ソフトウェア開発者(今回は Komodoチーム)がバージョンの更新を行う
今回 electron-native-notify の更新履歴を見ていくと、2019年3月6日に最初のバージョン 1.0.0 を公開し、10回以上もアップデートを続けていた。
こういったアップデートを続けていく行為は、開発者にとっては比較的一般的であると同時に、当該ソフトウェアやパッケージが活発に更新されていることを示すものだ。
攻撃手法としては一般的だが、開発サイクルにおける弱点を突かれた格好で、必ずしも Komodoチームを責めることもできないだろう。
その後 2019年3月8日には Komodoチームが実装に追加。その後、3月23日に悪意のあるコードが挿入され、4月13日に Komodo側でのアップデート(v0.3.5)が行われたため、実際にコードが利用されるようになっていた。

npmとは

Javascript に関してはご存知の方も多いと思うが、npm について知らない方がもしかしたらいるかもしれないので、念のため、一応簡単に解説をしておきたい。npm は、Javascript でソフトウェアの開発を行う際に使われる パッケージ管理ソフトだ。

Javascript はもともとブラウザ向けに開発された言語だが、node.js というサーバー側で動作する実装も一般的になってきている。
開発者は一般に、素早く、かつ安全に開発するため、広く使われているパッケージ(モジュール)、つまり部品を再利用することを好む。
そして、サーバー側の開発を行う際には、ソフトウェアを安定的に稼働させるため、パッケージのバージョンを固定したり、定期的にアップデートしたりといった作業が発生する。
こういった作業を簡略化するのが npm だ。ほか、Linux では yum や apt、PHP だと Composer などが知られている。

おわりに

今回、パッケージ管理ソフト npm の一般的な動作を逆手にとり、悪意あるコードを挿入するという手口が発覚したが、ユーザーの資金が無事に保護されたという点を考えれば、良いニュースと言える。
ユーザー側で防ぐことは簡単ではないが、不審な挙動を発見次第すぐに開発チームに連絡したり、開発チームの方であれば  npm チームと連携することで、迅速な対応が取れたという事例と考えることもできる。
もちろん、Komodoチームの迅速な対応、脆弱性を逆用するという技術力があってこその結果だ。
今後の彼らの発展にも期待したい。

 

Raise the roof

今日は街中でデモやってました。

ダブリンは急激に増えすぎた移民や企業により、家の賃貸価格が高騰しています。

屋根を上げる、という合言葉は面白いですね。本当に困ってる人たちは面白くなんかないと思いますが。。。

Queen’s tart

タルト好きな私は前から狙ってたんですが、ようやく行くことができました。

左上はスモークサーモンのブレックファースト、下はニューヨークチーズケーキのタルトです。

右上はチャイラテ。

どれも素晴らしかった!

Cryptopia へのハッキング、その被害と詳細について

こちらのも昨日の記事と同様、ポシャったので個人ブログで。
1月13日から1月28日にかけて、Cryptopia が複数回のハッキングを受けました。このとき Cryptopia は 2度にわたって被害を受けてしまいましたが、その総額は 1600万ドルを超えるとされています。
警察機関が捜査に入り、メンテナンスの状態が続いていますが、このインシデントがなぜ発生してしまったのか、掘り下げつつ振り返ってみたいと思います。
まずはじめに、概要をおさえつつ、Cryptopia がハッキングを受けた時系列を振り返ってみましょう。
攻撃者は今回、6つのウォレットを用いたことが分かっており、これは Etherscan.io 上で Cryptopia Hack としてラベル付けされています。このラベルは Etherscan.io の labelcloud から一覧を確認することができます。今回の攻撃では、それぞれのウォレットは Cryptopia_Hack1 から 6 までナンバリングされています。
・タイムライン
次に時間軸を辿ってみましょう。1回目は、日本時間 1月13日 22:28:29 から転送が始まりました。このときは最初にコアウォレットから、19390 Ether が転送されました。
その後、続けて 76000以上に及ぶセカンダリウォレットから転送が続きました。攻撃者がメインで用いたウォレット( Cryptopia_Hack1 )にウォレット数だけトランザクションが記録されることになりました。並行して、Dentacoinや Oyster Pearl といったトークンも転送が行われました。Ethereum やトークンの転送は数日間、断続的に続きました。
一方、Cryptopia が公式にアナウンスを行ったのは 1/14 15:55 にメンテナンスを開始したのがきっかけでした。その後、1/15 17:00 にセキュリティブリーチについて報告があり、トークンの盗難があったことを認めました。
今回の調査を行った elementus によれば、資金が格納されていたコアウォレット、セカンダリウォレットそれらすべてについてコントロールを失っていたのではないか、とされています。つまり秘密鍵を盗まれた上、鍵を削除されてしまったのではないか、あるいは鍵を置いていたサーバーを乗っ取られたのでは、という推測が発表されています。
彼らは今回、Github 上で調査結果を発表していますが、盗まれた資金の金額や量、経路をまとめるだけでなく、1月21日 時点で引き続き盗難のリスクがあるウォレットについても cryptopia-losses.csv として指摘していました。
しかし指摘も虚しく、1月28日には同じことが起きました。このときも 17000以上の大量のトランザクションが発生し、約 1675ETH が盗まれました。2週間で資金が少し回復していたのは、マイニングリグなどがメンテナンス関係なく送り続けていたからではないか、という見方をされています。
2回目に盗まれた Ethereum は Cryptopia_Hack5 と 6 に転送され、最終的に Cryptopia_Hack2 と名付けられたウォレットに転送されました。これは 1回目に使われたものと同じであることから、一連の攻撃者は同じ人物あるいはチームとされています。
elementus が推測しているように、1月14日 時点で異常を検知してメンテナンスに入っているわけですから、それ以降も数日間攻撃が続き、さらに 1月28日に再度発生した攻撃に対策を講じられなかったのには、理由があるはずです。この状況は、ウォレットの秘密鍵が失われたのではないか、と考える根拠として十分でしょう。
しかし、冒頭で紹介した19390ETH のトランザクションの後にも、実は払い出しらしきトランザクションが記録されています。このことから、Cryptopia 側で利用している秘密鍵が削除されて使えなくなったわけではなく、払い出しシステムは 15時間ほどの間は動いていたのでは、と考えられます。
資金のほとんどは盗まれていて、メンテナンスに入った時点でEthereumの転送は終わっていたのですが、この時点で対策が打てれば2回目の攻撃は成功しませんでした。
これについては、サーバーが乗っ取られていたため対策が取れなかった、もしくは Crypopia 側の対処が遅かったために一切の対策ができなかった、このどちらかの可能性が非常に高いでしょう。
・各個人が取れる対策について
昨今、取引所をターゲットにした攻撃は苛烈さを増しています。もちろん内部犯も対策をすべきですが、スピアフィッシングや水飲み場攻撃など特定の人間をターゲットにした攻撃を防ぐことは簡単ではありません。
では、今後も同じようなインシデントは発生すると想定し、各個人が取れる対策はどのようなものがあるでしょうか?
ひとつは、取引所に必要以上のトークンを置かないというものです。
被害を受けたとしても、すべての資産を盗まれないよう、ダメージコントロールをするという策です。
そして、もし使うときは、なるべく迅速に取り出しましょう。
もっとも簡単な対策としては、たくさんの人に長く利用されており、かつ、自分が信用できると判断した取引所を使うことです。
技術的な視点で取引所の挙動を調べることは簡単ではありません。しかし、良い取引所ならば運用面など、その他の観点で見ても良い取引所だと言える確率が高いはずです。
サポートの返信が早い、メンテナンス発生時の報告がタイムリーに行われている、情報開示が迅速である、セキュリティインシデントを公開してきた実績がある・・・などでしょうか。
・さいごに
人間だって間違えますし、システムのバグも完全になくすことは難しいため、少しずつ改善を積み重ね、減らし続ける必要があります。
つまり、小さな積み重ねが信頼につながるのは、人間もシステムも同じなのです。
ブロックチェーンや暗号資産のエリアでは新しいサービスが日々作られては消えていますが、リスクを自分で見極める、その一助になれば幸いです。