$30 off During Our Annual Pro Sale. View Details »

トレーニングコースLFD121-JP「セキュアソフトウェア開発」のご紹介

 トレーニングコースLFD121-JP「セキュアソフトウェア開発」のご紹介

Linux Foundation 柴田次一氏
2023年2月28日開催 第1回 OSSセキュリティMeetup 講演資料

Linux Foundation Japan
PRO

March 07, 2023
Tweet

More Decks by Linux Foundation Japan

Other Decks in Technology

Transcript

  1. トレーニングコース LFD121-JP
    「セキュア ソフトウェア開発」
    のご紹介
    28, Feb 2023
    Linux Foundation
    Tsuigkazu Shibata

    View Slide

  2. https://openssf.org/training/courses/

    View Slide

  3. ● LFD121はセキュアなソフト開発のためのHOWTOを
    説明したソフト開発者向けのコース
    ● 全てオンラインで提供される
    ● セキュアなソフト開発の基本に絞っている
    ● 所要時間 約14-18時間
    ● OpenSSF BestPractice WGの成果
    https://openssf.org/training/courses/

    View Slide

  4. https://training.linuxfoundation.org/training/developing-secure-software-lfd121-jp/

    View Slide

  5. David A Wheeler
    Linux Foundation,
    Director of Open Source
    Supply Chain Security.
    バージニア州フェアファック
    スにあるジョージ・メイソン
    大学(GMU)でセキュアソフ
    トウェアの開発の大学院課
    程を指導。

    View Slide

  6. LFD121-JP セキュア ソフトウェア開発の構成
    第1部 要件、設計、再利用
    第2部 実装
    第3部 検証と より専門的なトピック

    View Slide

  7. 第1部 要件、設計、再利用
    ● セキュリティの基本
    ○ セキュリティとは何か  CIAトライアド
    ■ セキュリティ要件 セキュリティ目標
    ○ プライバシーとは、法規制、米国、欧州 GDPR
    ● セキュア設計の原則
    ○ S&S論文で示されるセキュア設計の原則 (Jerome H. Saltzer & Michael D. Schroeder)
    ● 外部ソフトウェア利用
    ○ ソフトウェア再利用の基本
    ○ OSS選択時の評価
    ○ 再利用可能なソフトウェアのダウンロード
    ○ 再利用ソフトのupdate適用
    ○ ソフトウェア利用方法の update
    CIAトライアド
    機密性: Confidentiality
    完全性: Integrity
    可用性: Availability

    View Slide

  8. 第2部 実装
    ● 入力検証
    ○ 入力検証はどうあるべきか、 allow listing/good listing vs deny listing/bad listing
    ○ 数値とテキスト、unicode エンコーディング、正規表現でのチェックと ReDOS脆弱性
    ○ 内部形式変換(deserialization), CSV
    ● データの安全な処理
    ○ デフォルトのクレデンシャルは NG、ハードコードされたクレデンシャルもダメ
    ○ バッファオーバフロー、メモリの2重解放、解放後使用、解放漏れ
    ● 他のプログラムの呼び出し
    ○ SQLインジェクションの例、 OSコマンドインジェクション、エラーリターンなど
    ● 出力の送出
    ○ クロスサイトスクリプティング

    View Slide

  9. 第3部 検証と より専門的なトピック
    ● 検証
    ○ ソフトウェアの問題を検知するツール類:静的解析(コードスキャナ、
    ReDOS解析、暗号やパスワードのハード
    コード検知)、動的解析(テストカバレッジ、ファズテスト、アドレスサニタイザ)
    ● 脅威モデリング
    ○ STRIDE
    ● 暗号
    ○ AES
    ○ 使ってはいけないもの MD4, SHA-0
    ○ SHA-2(SHA-256, SHA-512), SHA-3 は広く使われている
    ○ Git のSHA‐1 の今後は?
    ○ RSA
    ● その他トピック
    ○ 脆弱性レポートの受信からCVEの取得、アップデートの公開までのプロセス
    ○ CICDパイプラインを含む開発配付環境の堅牢化

    View Slide

  10. 本コースについて
    ● 要件、設計から開発、検証に至るソフト開発の場面で必要な最低限のセキュリティ
    上の知識を習得することが可能。
    ● e-Learning コースなので時間のある時に自由に受講可能。また適宜問題が設定
    されていて知識の確認が可能。
    ● 開発チームに適用することで、チーム全体の知識・スキルの底上げが可能。
    ● さらにここで得た知識を元に、OpenSSF で実施する必要があるセキュリティ強化の
    活動を検討するベースにもなる。

    View Slide

  11. オープンソースでの展開
    ● David wheeler のGithub Repoにはオリジナルのテキストが公開済み。
    ● 日本語テキストは今後このRepoにマージする予定。
    ● 日本語テキストの翻訳上の問題や英語のテキストの課題については Github上で
    コメントや変更提案を提供可能。
    https://github.com/ossf/secure-sw-dev-fundamentals

    View Slide

  12. 今後、可能なこと
    ● トレーニングコースについては OpenSSF Best Practice WG にて議論可能。
    ● トレーニングコースの内容についてコントリビューションすることも可。
    ○ 日本語版の翻訳上の問題等について
    ○ 英語版の課題について
    ○ オープンソースの標準的なプロセスで実施
    ● 興味がある方は参加されては如何でしょうか?

    View Slide

  13. View Slide