We may earn an affiliate commission when you visit our partners.
Course image
Noriaki Hayashi

本コースの目的

本コースでは、「ブロックチェーン」に、より実用的な機能を提供している「スマートコントラクト」技術の基礎とセキュリティについて学びます。スマートコントラクは、特定の条件が満たされた場合に、あらかじめ決められた手続きを自動実行する仕組み(アプリ)を実現しました。これにより、中央の管理者が不在で自動取引される金融システム「DeFi(Decentralized Finance、分散型金融)」や管理者が不在で大人数で共同運営される組織「DAO(Decentralized Autonomous Organization、分散型自律組織)」のバックボーンとして使用されています。

本コースでは、スマートコントラクト テクノロジーが分散、整合性を維持するために依拠している「暗号化」、「データ転送」、「データネゴシエーション」に着目した脅威について学びます。

このコースが対象としているツール/サービス

Read more

本コースの目的

本コースでは、「ブロックチェーン」に、より実用的な機能を提供している「スマートコントラクト」技術の基礎とセキュリティについて学びます。スマートコントラクは、特定の条件が満たされた場合に、あらかじめ決められた手続きを自動実行する仕組み(アプリ)を実現しました。これにより、中央の管理者が不在で自動取引される金融システム「DeFi(Decentralized Finance、分散型金融)」や管理者が不在で大人数で共同運営される組織「DAO(Decentralized Autonomous Organization、分散型自律組織)」のバックボーンとして使用されています。

本コースでは、スマートコントラクト テクノロジーが分散、整合性を維持するために依拠している「暗号化」、「データ転送」、「データネゴシエーション」に着目した脅威について学びます。

このコースが対象としているツール/サービス

  • Solidity

  • スマートコントラクト開発環境(Remix IDE)

  • chainFlyer

  • CryptoZombies

  • Ethernaut

  • Etherscan

  • EVM Codes - EVM Playground

  • EVM Puzzles

  • MetaMask

  • Online Solidity Decompiler

このコースが対象としている脆弱性の分類(Smart Contract Weakness Classification)

  • SWC-101, CWE-682, Overflow / Underflow (算術)攻撃

  • SWC-106, CWE-284, 無防備な SELFDESTRUCT 命令攻撃

  • SWC-107, CWE-841, Re-entrancy (再入可能)攻撃

  • SWC-112, CWE-829, Delegatecall 攻撃

  • SWC-113, CWE-703, DoS(Denial of Service)攻撃:予期せぬ Revert

  • SWC-114, CWE-362, トランザクションオーダー 依存攻撃(競合状態)

  • SWC-128, CWE-400, DoS 攻撃:Black GAS 制限

コースリリース後のアップデート情報

本コースでは、2023年7月15日のリリース以降も、コンテンツの追加(追加 38分14秒)を行っています。

  • 2022/09/13 セクション: 【演習】OpenZeppelin - The Ethernaut - レクチャー: Challenge Lv0 - Hello Ethernaut, コマンド&リファレンス(0分10秒)

  • 2023/09/12 セクション: 【演習】OpenZeppelin - The Ethernaut - レクチャー: Challenge Lv0 - Hello Ethernaut, Finish(03分31秒)

  • 2023/09/12 セクション: 【演習】OpenZeppelin - The Ethernaut - レクチャー: Challenge Lv0 - Hello Ethernaut, 1(06分21秒)

  • 2023/09/12 セクション: 【演習】OpenZeppelin - The Ethernaut - レクチャー: プレイするための準備(06分25秒)

  • 2023/09/11 セクション: 暗号資産ウォレット - レクチャー: MetaMaskの利用開始手続き(05分45秒)

  • 2023/09/11 セクション: 暗号資産ウォレット - レクチャー: MetaMaskに関する諸注意とインストール(03分55秒)

  • 2023/09/11 セクション: Solidityによるスマートコントラクトのコーディング - レクチャー: 学習環境 - Ethernaut(00分35秒)

  • 2023/09/11 セクション: Solidityによるスマートコントラクトのコーディング - レクチャー: 学習環境 - CryptoZombies(00分42秒)

  • 2023/09/11 セクション: Web3を支える技術を知る - レクチャー: ソフトウェアウォレット - MetaMask(メタマスク)(02分05秒)

  • 2023/07/18 セクション: コンセンサスの乱用 - レクチャー: 51%攻撃でできること・できないこと(04分19秒)

  • 2023/07/18 セクション: コンセンサスの乱用 - レクチャー: 51%攻撃のコスト - Crypto51(02分46秒)

  • 2023/07/18 セクション: コンセンサスの乱用 - レクチャー: 51%攻撃(マジョリティ攻撃)(02分46秒)

本コースの対象外

  • 本コースではWeb3やブロックチェーン、スマートコントラクト、DeFi、Ethereumを対象としていますが、「暗号資産」/「仮想通貨」への投資術の理解による資産形成は本コースにおける対象外となります。

【警告】

本コースは、教育を目的としたものです。コースで紹介しているツールと手法はシステムの所有者によって明示的に許可と同意が得られている場合のみ、その実施が可能です。本コースは違法な活動を肯定するものではありません。

Enroll now

What's inside

Learning objectives

  • スマートコントラクトとは何か、ブロックチェーンとの関係、それぞれの重要性について理解する
  • スマートコントラクト言語(solidity)のコンパイルとデプロイを理解する
  • スマートコントラクトのコーディングにおける脆弱になりがちな箇所について理解する
  • ブロックチェーン・スマートコントラクトが抱えるセキュリティ上の問題について理解する

Syllabus

はじめに
コースの目的
コースの対象者
コースの構成
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Covers smart contract vulnerabilities, which helps developers write more secure and robust decentralized applications
Explores the Ethereum architecture, which is essential for understanding how smart contracts interact with the blockchain
Examines various attack vectors, such as Re-entrancy and Delegatecall attacks, which are crucial for security audits
Uses Remix IDE, a popular development environment, which allows learners to practice smart contract coding
Requires learners to use MetaMask, which may require learners to understand cryptocurrency and blockchain concepts
Teaches Solidity, which is a language specific to blockchain development and not widely used elsewhere

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

ハンズオンで学ぶweb3セキュリティ実践

受講者によると、本コースはWeb3におけるスマートコントラクトのセキュリティ実践的に学ぶための質の高いコンテンツを提供しています。特にハンズオン演習具体的で非常に有用であり、Web3開発者やセキュリティに関心のある専門家にとって、コードレベルでの脆弱性理解を深めるのに役立つとの声が多くあります。特定の脆弱性タイプ網羅的に解説されており、最新の攻撃手法にも触れられている点、そしてコース内容が継続的にアップデートされている点も高く評価されています。一方で、プログラミングやSolidityの基礎知識がない場合、内容が難しく感じる受講者もおり、初心者には不向きである可能性が示唆されています。また、演習環境の構築特定課題の解説において改善の余地があるという意見もありましたが、最近のアップデートによりEthernautなどの演習に関する解説が強化されたという声もあります。全体として、Web3セキュリティの実践スキル習得を目指す中級者以上の学習者強く推奨されるコースと言えます。
最新情報と演習解説が追加。
"常に内容がアップデートされている点も評価できます。"
"最近追加されたMetaMaskに関するレクチャーも助かりました。"
"最近のアップデートによりEthernautなどの演習に関する解説が強化されたという声もあります。"
主要なスマートコントラクト脆弱性をカバー。
"スマートコントラクトの主要な脆弱性は網羅されており、具体的なコード例もあって分かりやすいです。"
"後半の脆弱性に関する内容は非常に有用でした。"
"特定の脆弱性タイプが網羅的に解説されています。"
具体的な攻撃・防御手法を学ぶ。
"スマートコントラクトの具体的な脆弱性とその攻撃手法について、ハンズオンで深く理解できました。"
"セキュリティの実践的な側面に焦点を当てており、理論だけでなく具体的な攻撃や防御を学べます。"
"Web3開発者として、セキュリティの観点からコードを見直す良い機会になりました。"
内容は濃いが、一部解説が速い。
"内容は非常に濃く、勉強になりました。"
"解説スピードが速く感じる部分もありました。"
"特定の演習(例:Ethernaut)の解説がもう少し丁寧だと助かります。"
環境構築やエラー解決に時間を要する。
"演習環境の構築に少し手間取りました。"
"ハンズオンが少し難しく、エラー解決に時間がかかりました。"
"演習でエラーが出た際のサポートもあまり手厚くありませんでした。"
事前知識がないと理解が困難。
"Web3やブロックチェーンの基礎知識があることを前提とした内容で、初心者には少し難しいかもしれません。"
"完全にプログラミング初心者には厳しいコースです。Solidityの知識が最低限必要だと感じました。"
"内容は良いのかもしれませんが、対象者をもう少し明確にすべきだと思います。"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in 【サイバーセキュリティ 実践】ハンズオンで学ぶWeb3におけるブロックチェーンとスマートコントラクトのセキュリティ with these activities:
Solidityの基本を復習する
コースで扱うSolidityの構文や基本的な概念を事前に復習することで、よりスムーズに学習を進められます。
Browse courses on Solidity
Show steps
  • Solidityの公式ドキュメントを読む
  • 簡単なスマートコントラクトを書いてコンパイルする
  • オンラインのSolidityチュートリアルを試す
『Mastering Bitcoin』を読む
ブロックチェーン技術の基礎を固め、コース内容の理解を深めるために、Bitcoinの仕組みを詳細に解説した書籍を読む。
View Mastering Bitcoin on Amazon
Show steps
  • 書籍の目次を確認し、興味のある章から読み始める
  • 不明な点はオンラインで検索したり、関連書籍を参照する
  • 読んだ内容をノートにまとめ、後で復習できるようにする
Ethernautのチャレンジを解く
Ethernautは、スマートコントラクトのセキュリティに関するCTFです。実際に脆弱性のあるコントラクトを攻撃することで、セキュリティリスクを体感的に学ぶことができます。
Show steps
  • Ethernautのウェブサイトにアクセスする
  • レベル0から順番にチャレンジに取り組む
  • 詰まったら、ヒントを参考にしたり、他の参加者と議論する
Four other activities
Expand to see all activities and additional details
Show all seven activities
スマートコントラクトの脆弱性に関するブログ記事を書く
学んだ脆弱性の種類や攻撃手法についてブログ記事を書くことで、知識を整理し、理解を深めることができます。また、アウトプットを通じて、他の学習者と知識を共有することもできます。
Show steps
  • コースで学んだ脆弱性の中から、興味のあるものを一つ選ぶ
  • その脆弱性の概要、攻撃手法、対策について調査する
  • ブログ記事を執筆し、図やコード例を交えて分かりやすく解説する
  • 記事を公開し、SNSなどで共有する
『精説 スマートコントラクト』を読む
スマートコントラクトのセキュリティに関する知識を深め、より安全なコントラクトを開発するために、専門的な書籍を読む。
View Melania on Amazon
Show steps
  • 書籍の目次を確認し、興味のある脆弱性に関する章から読み始める
  • コード例を実際に試したり、自分のコントラクトに適用してみる
  • 読んだ内容をノートにまとめ、後で参照できるようにする
DeFiアプリケーションのプロトタイプを作成する
学んだ知識を応用して、簡単なDeFiアプリケーションのプロトタイプを作成することで、実践的なスキルを身につけることができます。例えば、レンディングプラットフォームやDEX(分散型取引所)などを作成してみましょう。
Show steps
  • DeFiアプリケーションのアイデアを考える
  • 必要なスマートコントラクトの設計を行う
  • Solidityでスマートコントラクトを実装する
  • テストネットでデプロイし、動作確認を行う
OpenZeppelin Contractsにコントリビュートする
OpenZeppelin Contractsは、安全なスマートコントラクト開発のためのライブラリです。バグ報告やドキュメントの改善、新しいコントラクトの提案など、様々な形でコントリビュートすることで、コミュニティに貢献し、自身のスキルアップにも繋がります.
Show steps
  • OpenZeppelin ContractsのGitHubリポジトリをForkする
  • Issueを検索し、貢献できるものを見つける
  • コードを修正したり、ドキュメントを改善する
  • Pull Requestを送信する

Career center

Learners who complete 【サイバーセキュリティ 実践】ハンズオンで学ぶWeb3におけるブロックチェーンとスマートコントラクトのセキュリティ will develop knowledge and skills that may be useful to these careers:
ブロックチェーン開発者
ブロックチェーン開発者は、ブロックチェーン技術を活用したアプリケーションやシステムの開発を行います。このコースでは、スマートコントラクトの基礎とセキュリティについて学ぶため、ブロックチェーン開発者としてのスキルアップに繋がります。Solidityなどのスマートコントラクト言語のコンパイルとデプロイを理解することで、実際にブロックチェーン上で動作するアプリケーションを開発できるようになります。また、スマートコントラクトの脆弱性に関する知識は、安全なブロックチェーンアプリケーションを開発するために不可欠です。さらに、このコースでは、MetaMaskなどのツールも扱っており、ブロックチェーン開発に必要な実践的なスキルを習得できます。
スマートコントラクト監査者
スマートコントラクト監査者は、スマートコントラクトのセキュリティを評価し、脆弱性を発見する専門家です。スマートコントラクト監査者にとって、このコースは非常に役立ちます。スマートコントラクトの脆弱性タイプ一覧や、具体的な攻撃手法(Overflow/Underflow攻撃、Re-entrancy攻撃など)を学ぶことで、監査の際に着目すべきポイントを把握できます。SWC Registryの概要を理解することも監査業務に役立ちます。EthernautやCryptoZombiesといった演習環境を利用することで、実践的な監査スキルを磨くことができます。スマートコントラクト監査者を目指す方は、このコースでセキュリティに関する深い知識と実践的なスキルを身につけましょう。
Web3セキュリティエンジニア
Web3セキュリティエンジニアは、Web3アプリケーションやシステムのセキュリティを確保する役割を担います。このコースは、Web3セキュリティエンジニアにとって非常に有益です。スマートコントラクトのセキュリティに関する深い知識、ブロックチェーンの仕組み、Ethereumアーキテクチャなどを学ぶことで、Web3環境におけるセキュリティリスクを理解し、適切な対策を講じることができます。特に、スマートコントラクトの脆弱性に関する学習は、Web3アプリケーションのセキュリティを強化するために不可欠です。実際に、このコースで取り上げられている様々な攻撃手法に対する理解を深めることは、Web3セキュリティエンジニアとしての専門性を高める上で大いに役立ちます。
DeFi開発者
DeFi開発者は、分散型金融(DeFi)アプリケーションを開発する専門家です。このコースは、DeFi開発者を目指す方に最適です。DeFiのバックボーンとなるスマートコントラクトの基礎とセキュリティを学ぶことで、安全で信頼性の高いDeFiアプリケーションを開発するための基盤を築けます。Solidityによるスマートコントラクトのコーディング、コンパイル、デプロイの知識は、DeFiアプリケーション開発において必須です。このコースでは、実際にRemix IDEなどのツールを使用しながら学習を進めるため、実践的なスキルを習得できます。DeFi開発者として成功するためには、このコースでスマートコントラクトのセキュリティに関する知識を深めることが重要です。
DAO開発者
DAO開発者は、分散型自律組織(DAO)の構築と運営に関わる開発者です。DAOは、スマートコントラクトを基盤として動作するため、スマートコントラクトの知識はDAO開発者にとって不可欠です。このコースでは、スマートコントラクトの基礎からセキュリティまでを網羅的に学ぶことができます。特に、スマートコントラクトの脆弱性に関する知識は、DAOの安全性を確保するために重要です。このコースで取り上げられている、コンセンサスメカニズムやEthereumアーキテクチャに関する知識も、DAOの設計と開発に役立ちます。DAO開発者として活躍するためには、このコースで得られる知識とスキルが大きなアドバンテージとなります。
ブロックチェーンコンサルタント
ブロックチェーンコンサルタントは、企業や組織に対してブロックチェーン技術の導入や活用に関するアドバイスを行います。このコースは、ブロックチェーンコンサルタントにとって、技術的な知識を深める上で非常に役立ちます。スマートコントラクトの仕組みやセキュリティに関する知識は、クライアントに対して適切なアドバイスを行うための基盤となります。「Web三層構造」と「分散型アプリ」(dApps ダップス)の構成要素を対比したり、Ethereumアーキテクチャを理解することで、ブロックチェーン技術の全体像を把握し、クライアントのニーズに合わせた最適なソリューションを提供することができます。ブロックチェーンコンサルタントとしての専門性を高めるために、このコースで技術的な知識を習得しましょう。
暗号資産アナリスト
暗号資産アナリストは、暗号資産市場の分析や予測を行う専門家です。このコースでは、ブロックチェーン技術の基礎やスマートコントラクトの仕組みについて学ぶため、暗号資産アナリストとしての知識を深めることができます。Ethereumネットワークの種類やトランザクションの仕組みを理解することで、市場の動向をより深く分析できるようになります。特に、ガス代の算出や節約に関する知識は、暗号資産の取引コストを評価する上で役立ちます。暗号資産アナリストとして、より高度な分析を行うために、このコースでブロックチェーン技術の理解を深めましょう。
サイバーセキュリティアナリスト
サイバーセキュリティアナリストは、コンピュータシステムやネットワークのセキュリティを監視し、脅威を検知・分析する役割を担います。このコースは、特にブロックチェーンやスマートコントラクトに関連するセキュリティリスクを理解する上で役立ちます。スマートコントラクトの脆弱性タイプ一覧や、具体的な攻撃手法(DoS攻撃、Overflow/Underflow攻撃など)を学ぶことで、ブロックチェーン関連のシステムに対するセキュリティ監視の精度を高めることができます。サイバーセキュリティアナリストとして、新たな脅威に対応するために、このコースでブロックチェーンセキュリティに関する知識を習得しましょう。
ソフトウェアエンジニア
ソフトウェアエンジニアは、ソフトウェアの設計、開発、テスト、および保守を行います。このコースは、特にスマートコントラクトやブロックチェーン技術に興味があるソフトウェアエンジニアにとって有益です。Solidityによるスマートコントラクトのコーディング、コンパイル、デプロイの知識は、新しい分野での開発スキルを習得する上で役立ちます。このコースでは、Remix IDEなどの開発環境を使用するため、実践的なスキルを身につけることができます。ソフトウェアエンジニアとして、スキルアップを目指す方は、このコースでブロックチェーン技術に挑戦してみましょう。
システムアーキテクト
システムアーキテクトは、組織の情報技術インフラストラクチャの設計と実装を担当します。このコースを履修することで、スマートコントラクトの基礎と「Web三層構造」と「分散型アプリ」の構成要素を学び、ブロックチェーン技術を既存のシステムに統合する方法を検討できるようになります。Ethereumアーキテクチャやコンセンサスメカニズムに関する知識も、分散型システムを設計する上で役に立ちます。このコースで得られる知識は、より安全で効率的なシステムアーキテクチャを構築する上で役立ちます。
プロダクトマネージャー
プロダクトマネージャーは、製品のビジョン、戦略、ロードマップを定義し、製品の成功に責任を持ちます。ブロックチェーンやスマートコントラクト技術に関する知識は、新しいプロダクトの企画や開発に役立ちます。特に、スマートコントラクトの可能性や、ブロックチェーンがもたらす分散型アプリケーションの概念を理解することで、革新的なプロダクトを開発することができます。このコースで学習する内容は、プロダクトマネージャーとしての視野を広げ、新たなビジネスチャンスを見出す上で役立ちます。
技術ライター
技術ライターは、技術的な情報を分かりやすく伝える文章を作成します。このコースで、スマートコントラクトやブロックチェーン技術に関する知識を習得することで、正確で理解しやすい技術文書を作成することができます。特に、スマートコントラクトの仕組みやセキュリティに関する知識は、読者に対して技術的な内容を正しく伝えるために重要です。また、EVMやSolidityなどの専門用語を理解することで、より専門的な記事やドキュメントを作成することができます。技術ライターとして、専門性を高めるために、このコースでブロックチェーン技術の知識を深めましょう。
プロジェクトマネージャー
プロジェクトマネージャーは、プロジェクトの計画、実行、監視、および制御を担当します。このコースで、ブロックチェーン技術に関する知識を習得することで、ブロックチェーン関連のプロジェクトをより効果的に管理することができます。特に、スマートコントラクトの開発プロセスや、セキュリティに関するリスクを理解することで、プロジェクトの計画段階から適切な対策を講じることができます。また、Ethereumアーキテクチャやコンセンサスメカニズムに関する知識は、プロジェクトの進捗状況を把握し、問題を解決する上で役立ちます。プロジェクトマネージャーとして、専門性を高めるために、このコースでブロックチェーン技術の知識を深めましょう。
品質保証エンジニア
品質保証エンジニアは、ソフトウェアやシステムの品質を評価し、改善するための活動を行います。スマートコントラクトの品質保証エンジニアとして、このコースでスマートコントラクトの脆弱性に関する知識を習得することで、テストケースの設計やテスト結果の評価において、より深い洞察を得ることができます。特に、Overflow/Underflow攻撃やRe-entrancy攻撃などの具体的な攻撃手法を理解することで、脆弱性を見つけるための効果的なテスト戦略を立てることができます。品質保証エンジニアとして、ブロックチェーン関連のシステムの品質向上に貢献するために、このコースで専門知識を習得しましょう。
テクニカルサポートエンジニア
テクニカルサポートエンジニアは、顧客に対して技術的なサポートを提供します。このコースで、スマートコントラクトやブロックチェーン技術に関する知識を習得することで、顧客からの問い合わせに対してより的確な回答をすることができます。特に、スマートコントラクトの仕組みやEthereumアーキテクチャに関する知識は、顧客が抱える問題を理解し、解決策を提案する上で役立ちます。テクニカルサポートエンジニアとして、顧客満足度を高めるために、このコースでブロックチェーン技術の知識を深めましょう。

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in 【サイバーセキュリティ 実践】ハンズオンで学ぶWeb3におけるブロックチェーンとスマートコントラクトのセキュリティ.
この本は、Bitcoinの技術的な側面を深く掘り下げています。ブロックチェーンの仕組み、トランザクションの構造、コンセンサスアルゴリズムなど、コースで扱うWeb3の基礎となる知識を補強するのに役立ちます。特に、ブロックチェーンの動作原理を理解する上で非常に有益です。追加の読み物として推奨されます。

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser