Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Developerが陥りやすい3つの罠

 Developerが陥りやすい3つの罠

Hi-Ether #2 LT発表資料

nakajo2011

April 14, 2018
Tweet

More Decks by nakajo2011

Other Decks in Programming

Transcript

  1. Copyright © 2018 HAW International Inc. All rights reserved. Developerが陥りやすい3つの罠

    SmartContract以外のセキュリティーにも気をつけてい ますか?
  2. Copyright © 2018 HAW International Inc. All rights reserved. 自己紹介

    中城 元臣(Yukishige Nakajo) twitter: @nakajo github: nakajo2011 ・福岡の飯塚市でBlockchainの研究開発やってます。 ・HAW International所属 ・ethereumは2017/11から始めました。
  3. Copyright © 2018 HAW International Inc. All rights reserved. 今日話すこと

    SmartContract以外のセキュリティーにも気をつけてい ますか? 1. checksum利用してますか? 2. リプレイアタック意識してますか? 3. truffle-hdwallet-providerに潜む罠
  4. Copyright © 2018 HAW International Inc. All rights reserved. 1.checksum利用してますか?

    • EIP-55で定義 • addressのhashをとる • hash値が8 >= 0を大文字にする
  5. Copyright © 2018 HAW International Inc. All rights reserved. 1.checksum利用してますか?

    ・Walletではchecksumを利用してる。 ・Dappsでは?利用してない人が実は多いのでは? ・ethereum-util.jsなどを使えば簡単にチェック可能 ・Dappsでもaddressを各必要のある場所は(たとえ静的なデータ だとしても)checksumを活用しよう。 ・ICAPというフォーマットも提案されているけどまだ主流じゃな い。。。
  6. Copyright © 2018 HAW International Inc. All rights reserved. 2.リプレイアタック意識していますか?

    ・EIP-155以前では同一のaddresから生成されたtransactionは mainnetとtestnetなど区別なく利用可能
  7. Copyright © 2018 HAW International Inc. All rights reserved. 2.リプレイアタック意識していますか?

    ・EIP-155でsignature生成時にchain idを含めるようにしてリプレ イアタックをできなくした。 ・でも下位互換を持たせるためchain id = 0のtransactionは相変 わらずリプレイアタックの対象となる
  8. Copyright © 2018 HAW International Inc. All rights reserved. 2.リプレイアタック意識していますか?

    • EIP-155で解決された。でも下位互換として残ってる。 • nodeにsignを依頼する場合は多分大丈夫。ethereumjs-txや ganache-cliなどで生成されたtransactionは確認した方がよ い。 • meta-transactionなど、代替支払いの仕組みを作る場合は特 に注意が必要になると思う。
  9. Copyright © 2018 HAW International Inc. All rights reserved. 3.truffle-hdwallet-providerに潜む罠

    infura.io利用する時はtruffle-hdwallet-provider使うことが多い  
  10. Copyright © 2018 HAW International Inc. All rights reserved. 3.truffle-hdwallet-providerに潜む罠

    https://ropsten.etherscan.io/address/0x959fd7ef9089b7142b6b908dc3a8af7aa8ff0fa1
  11. Copyright © 2018 HAW International Inc. All rights reserved. 3.truffle-hdwallet-providerに潜む罠

    ・mnemonicのvalidationをしていない ・空文字でも動いちゃう ・PR #10を出してるのでそっちを使ってね https://github.com/trufflesuite/truffle-hdwallet-provider/pull/10
  12. Copyright © 2018 HAW International Inc. All rights reserved. おわり

    ブログも宜しく http://y-nakajo.hatenablog.com/