BUSINESS C LANGUAGE LIFE TECHNOLOGY

セキュリティ・脆弱性の情報サイト【C言語の脆弱性コードも紹介】

2023年6月15日

悩んでいる人

セキュリティ・脆弱性の情報サイトを教えて!

こういった悩みにお答えします.

本記事の信頼性

  • リアルタイムシステムの研究歴12年.
  • 東大教員の時に,英語でOS(Linuxカーネル)の授業.
  • 2012年9月~2013年8月にアメリカのノースカロライナ大学チャペルヒル校(UNC)コンピュータサイエンス学部で客員研究員として勤務.C言語でリアルタイムLinuxの研究開発.
  • プログラミング歴15年以上,習得している言語: C/C++PythonSolidity/Vyper,Java,Ruby,Go,Rust,D,HTML/CSS/JS/PHP,MATLAB,Assembler (x64,ARM).
  • 東大教員の時に,C++言語で開発した「LLVMコンパイラの拡張」,C言語で開発した独自のリアルタイムOS「Mcube Kernel」GitHubにオープンソースとして公開
  • 2020年1月~現在はアメリカのノースカロライナ州チャペルヒルにあるGuarantee Happiness LLCのCTOとしてECサイト開発やWeb/SNSマーケティングの業務.2022年6月~現在はアメリカのノースカロライナ州チャペルヒルにあるJapanese Tar Heel, Inc.のCEO兼CTO.
  • 最近は自然言語処理AIイーサリアムに関する有益な情報発信に従事.
    • (AI全般を含む)自然言語処理AIの論文の日本語訳や,AIチャットボット(ChatGPT,Auto-GPT,Gemini(旧Bard)など)の記事を50本以上執筆.アメリカのサンフランシスコ(広義のシリコンバレー)の会社でプロンプトエンジニア・マネージャー・Quality Assurance(QA)の業務委託の経験あり.
    • (スマートコントラクトのプログラミングを含む)イーサリアムや仮想通貨全般の記事を200本以上執筆.イギリスのロンドンの会社で仮想通貨の英語の記事を日本語に翻訳する業務委託の経験あり.

こういった私から学べます.

C言語を独学で習得することは難しいです.

私にC言語の無料相談をしたいあなたは,公式LINE「ChishiroのC言語」の友だち追加をお願い致します.

私のキャパシティもあり,一定数に達したら終了しますので,今すぐ追加しましょう!

友だち追加

独学が難しいあなたは,元東大教員がおすすめするC言語を学べるオンラインプログラミングスクール5社で自分に合うスクールを見つけましょう.後悔はさせません!

セキュリティ・脆弱性の情報サイトを紹介します.

セキュリティ・脆弱性を学びたいあなたにおすすめです!

セキュリティ・脆弱性の情報サイト

セキュリティ・脆弱性の情報サイトを紹介します.

本記事で紹介する代表的なセキュリティ・脆弱性の情報サイトの詳細は下表になりますので,うまく使い分けましょう!

情報サイト情報おすすめの方
CWE脆弱性分類を知りたい方
CVE脆弱性詳細な脆弱性の事例を調べたい方
CAPEC攻撃攻撃手法と影響範囲を知りたい方

Common Weakness Enumeration(CWE)

Common Weakness Enumeration(CWE)は,ハードウェアとソフトウェアの弱点と脆弱性のカテゴリーを管理する情報サイトです.

CWEは脆弱性をざっくり分類しています.

CWEの特徴は以下になります.

  • 脆弱性の種類を階層的に分類
  • 米非営利団体 MITRE(マイター)社が管理
  • 2023年6月現在,933件の脆弱性タイプが登録

例えば,CWE-119: Improper Restriction of Operations within the Bounds of a Memory Bufferは,メモリバッファの範囲内での操作の不適切な制限について記載されています.

いわゆるバッファオーバーフローですね.

C言語でgets関数を利用するとバッファオーバーフローの脆弱性が発生します.

gets関数を知りたいあなたはこちらからどうぞ.

CWEの脆弱性の属性の説明は以下になります.

  • Class属性:抽象的な脆弱性で,脆弱性を複数まとめた「フォルダ」
  • Base属性:特定のリソースや技術に依存しない脆弱性で,脆弱性の基本要素
  • Variant属性:特定のリソースや技術に関する脆弱性で,Baseを特定の条件へ特化

Common Vulnerabilities and Exposures(CVE)

Common Vulnerabilities and Exposures(CVE)は,製品の脆弱性識別子(CVE-ID)を割当てるプロジェクトの情報サイトです.

※日本語版は共通脆弱性識別子CVE概説になります.

このCVE-IDはベンダに依存しません.

CVE-IDの一般形は,「CVE-年号-通番」となります.

例えば,CVE-2021-41773はC言語で開発された「Apache HTTP Server 2.4.49」のパストラバーサル(ディレクトリトラバーサル)の脆弱性です.

ディレクトリトラバーサルは,親ディレクトリへの横断(traversal)を可能にする脆弱性で,パラメータ内部に「../」を含みます.

2023年現在,公開されたCVE-IDの総数は,約20万件あります.

Common Attack Pattern Enumeration and Classification(CAPEC)

Common Attack Pattern Enumeration and Classification(CAPEC)は,サイバー攻撃のパターンに識別子を割り当てるプロジェクトの情報サイトです.

2023年現在,約550件の攻撃パターンが登録されています.

例えば,CAPEC-242: Code Injectionは,コードインジェクション(インジェクション攻撃)です.

C言語でインジェクション攻撃は以下の記事で解説しています.

その他のセキュリティ・脆弱性の情報サイト

その他のセキュリティ・脆弱性の情報サイトは以下になります.

英語だけでなく日本語の情報サイトもあります.

まとめ

セキュリティ・脆弱性の情報サイトとC言語で脆弱性があるコードを紹介しました.

代表的なセキュリティ・脆弱性の情報サイトがわかりました.

C言語を独学で習得することは難しいです.

私にC言語の無料相談をしたいあなたは,公式LINE「ChishiroのC言語」の友だち追加をお願い致します.

私のキャパシティもあり,一定数に達したら終了しますので,今すぐ追加しましょう!

友だち追加

独学が難しいあなたは,元東大教員がおすすめするC言語を学べるオンラインプログラミングスクール5社で自分に合うスクールを見つけましょう.後悔はさせません!

-BUSINESS, C LANGUAGE, LIFE, TECHNOLOGY
-, , , , , ,