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

脆弱性とこれからの話 - ソフトウェアサプライチェインリスク

脆弱性とこれからの話 - ソフトウェアサプライチェインリスク

Speaker 岡田良太郎

update: 2024.11.1 SBOM Summit での講演につきCycloneDXの話を入れて大幅 改訂
update: 2024.2.7 サプライチェインリスクケースを追記
update: 2024.2.5 SCAによる対応手法についての提案を追加
release: 2024.2.3 塩尻サイバーセキュリティ勉強会

Riotaro OKADA

February 03, 2024
Tweet

Resources

アスタリスク・リサーチ

https://asteriskresearch.com

More Decks by Riotaro OKADA

Other Decks in Technology

Transcript

  1. 岡田 良太郎 Riotaro OKADA 日本のセキュリティリサーチャ。 (株)アスタリスク・リサーチ代表取締役。 • Former Linux Kernel

    programmer • OWASP Project committer / Japan chapter lead (Distinguished Lifetime member Award 2024) • Hardening Project (Good Design Award 2023) • BBT大学非常勤講師 • サイバートレーニングCYDER 実行委員 • 2021年1月に出版された「CISOハンドブック」の執筆メンバー
  2. OWASP.org / OWASP Japan chapter Open Worldwide Application Security Project

    • https://github.com/owasp-ja • OWASPトップ10 for LLM日本語 • OWASPトップ10 2021日本語 • OWASP Proactive Controls 2018日本語 • OWASP ASVS 4.0 日本語 • Mobile ASVS日本語 • 開発者のためのOWASPチートシート一覧表 Github: owasp-ja
  3. ENISA Threat Landscape 2024 • 可用性への脅威(DDoS)とランサムウェアが引き 続き最も大きな脅威。 • クラウド環境を利用したステルス攻撃(LOTS手 法)で、正規サイトを用いたC2通信が活a発化。

    • 地政学的要因が引き続きサイバー攻撃の大きな動機。 • 防御回避技術の進化:サイバー犯罪者がLOT (Living Off The Land)手法を駆使し、環境に溶け 込む。 • ビジネスメール詐欺(BEC)の急増。 • 報告期限を利用した恐喝が新たな手口に。 • ランサムウェア攻撃は高い水準で安定。 • AIを活用した詐欺・サイバー犯罪:FraudGPTや LLMで詐欺メールや悪意のあるスクリプト生成。 • 脆弱性の19,754件が報告され、そのうち9.3%が 「クリティカル」、21.8%が「高」。 • 情報窃盗ツールが攻撃チェーンの重要要素に。 • ハクティビストと国家関与の類似。 • データリークサイトの信頼性が低下、重複や誤報が 増加。 • モバイルバンキングトロイの木馬の急増と攻撃手法 の複雑化。 • MaaS(Malware-as-a-Service)が急速に進化。 • サプライチェーン攻撃の社会工学的手法: OSSのXZ Utilsにバックドアが埋め込まれた事例。 • データ流出が増加傾向。 • DDoS-for-Hireサービスにより、未熟な攻撃者でも大 規模攻撃が可能。 • ロシアの情報操作がウクライナ侵攻において依然と して重要。 • AIを利用した情報操作の可能性が浮上。
  4. OWASP と SBOMといえば CycloneDX • CycloneDX v1.6は ECMA標準 • セキュリティ脆弱性管理に重心

    • 多方面のBOMへの対応 • SBOM, SaaSBOM, 暗号化、AI • OSS、商用ライセンスも対応 • 220以上のツールが対応 https://cyclonedx.org/capabilities/
  5. CycloneDX サプライチェインリスクに直球 CycloneDXv1.6 は xBOM国際標準 ECMA技術委員会 54 (TC54) • ソフトウェアの脆弱性とコンプライアンスの両方に対

    応するコンポーネント透明性 • サービス(SaaSBOM) 運用整合性に影響を与える潜在 的リスクと依存 • ハードウェアとファームウェアなどIoTの物理コン ポーネントと組み合わせる仕組みのセキュリティ保護 • AI/ML駆動型システムにおける信頼性 • 暗号化資産の安全な取り扱い • OSSとプロプライエタリライセンスの両方をサポート
  6. OWASP SBOM CycloneDX 1. 外部参照情報の充実 2. 依存関係の透明性 3. セキュリティスキャンとの連携がしやすい 4.

    ライセンス情報の明確さ • CycloneDX形式は、外部参照、バージョン情報、 ライセンス情報が豊富で、依存関係の透明性が 高い https://cyclonedx.org/capabilities/
  7. 各コンポーネントのvulnerabilitiesセクション "vulnerabilities": [ { "id": "CVE-2023-1234", "source": { "name": "NVD",

    "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-1234" }, "ratings": [ { "score": 9.8, "severity": "Critical", "method": "CVSSv3" } ], "description": "Example vulnerability description.", "recommendations": [ { "text": "Update to version 2.0.1 or later." } ] } ] ツールにより情報追加していく
  8. OWASP Dependency Track BOMを扱うツール 何をもとに • CycloneDX SBOMおよびVEXなどの標準フォーマット • 脆弱性データベース(NVDやGitHub

    Advisories、Sonatype OSS Index等) や、ライセンス情報(SPDX標準ID)などの外部情報 誰のために • 企業のセキュリティ管理者やコンプライアンス担当者 • ソフトウェア開発者やエンジニアリングチーム • リスク管理・サプライチェーンの担当者 何をするのか • 全スタックのコンポーネントの利用状況の管理(ライブラリ、OS、ハード ウェア、API、サービスプロバイダーまで) • リスクの特定と優先的な緩和策の提示(既知の脆弱性、ライセンスリスク、 改変コンポーネント等) • 統合的な脆弱性情報の収集・ポリシー管理 • セキュリティリスクやライセンス・運用リスクの可視化と管理
  9. 「脆弱性」の解像度 脆弱性発生箇所 どんな状態か 対応手段の提供者 すぐ対応 シフトレフト デスクトップやスマートフォン デバイスのOSに問題があり、保護が手 薄、あるいは脆弱な状態になっている プラットフォーマ

    (Apple, Googleなど) アップデート適用、 設定調整 自動アップデート活用、 更新情報プロセス強化 アプリケーションソフトウェア バグや、踏み台などの脆弱性 開発会社、販売会社 アップデート適用、設定 調整、 アップデートあるいは アンインストール ネットワーク機器、デバイス 装置のファームウェアが古いあるいは 悪用されやすい設定になっているため 脆弱な状態 メーカー アップデート適用 ネットワーク機器や 構成の見直し
  10. 「脆弱性」の解像度 脆弱性発生箇所 どんな状態か 対応手段の提供者 すぐ対応 シフトレフト デスクトップやスマートフォン デバイスのOSに問題があり、保護が手 薄、あるいは脆弱な状態になっている プラットフォーマ

    (Apple, Googleなど) アップデート適用、 設定調整 自動アップデート活用、 更新情報プロセス強化 アプリケーションソフトウェア バグや、踏み台などの脆弱性 開発会社、販売会社 アップデート適用、設定 調整、 アップデートあるいは アンインストール ネットワーク機器、デバイス 装置のファームウェアが古いあるいは 悪用されやすい設定になっているため 脆弱な状態 メーカー アップデート適用 ネットワーク機器や 構成の見直し システム:オープンソースや サードパーティAPIなど システムで利用しているOSで使われて いるOSSのソースコードに問題が発見 され脆弱性があるということが広く知 られる OSSプロジェクト、 LinuxやMicrosoftなど OSベンダー 動作検証と アップデート適用 ソフトウェア構成分析SCA の導入、SBOM システム:プログラムコード 自社あるいはSIerが開発したコードに問 題があり、脆弱になっている コードを書いた人ない し、開発プロジェクト チーム プログラムの修正 SAST、ハンズオン 教育訓練、検査ツールの強 化など生産技術的強化 システム:クラウドサービス、 アプリケーションの設定 コンフィギュレーションの問題で、 データが侵害されやすい状態などで脆 弱になっている クラウドベンダーある いはその先進的なユー ザ 設定の修正 適切な脆弱性検査や モニタリングの強化 ユーザ、オペレータ 利用が許可されている機能あるいは データの取り扱いを誤用してしまう ユーザ自身、ならびに その組織 応急対応と原因究明 非常事態の対応訓練 業務データ取り扱い訓練 ユーザビリティ向上 モニタリングの強化
  11. 「脆弱性」の解像度 脆弱性発生箇所 どんな状態か 対応手段の提供者 すぐ対応 シフトレフト デスクトップやスマートフォン デバイスのOSに問題があり、保護が手 薄、あるいは脆弱な状態になっている プラットフォーマ

    (Apple, Googleなど) アップデート適用、 設定調整 自動アップデート活用、 更新情報プロセス強化 アプリケーションソフトウェア バグや、踏み台などの脆弱性 開発会社、販売会社 アップデート適用、設定 調整、 アップデートあるいは アンインストール ネットワーク機器、デバイス 装置のファームウェアが古いあるいは 悪用されやすい設定になっているため 脆弱な状態 メーカー アップデート適用 ネットワーク機器や 構成の見直し システム:オープンソースや サードパーティAPIなど システムで利用しているOSで使われて いるOSSのソースコードに問題が発見 され脆弱性があるということが広く知 られる OSSプロジェクト、 LinuxやMicrosoftなど OSベンダー 動作検証と アップデート適用 ソフトウェア構成分析SCA の導入、SBOM システム:プログラムコード 自社あるいはSIerが開発したコードに問 題があり、脆弱になっている コードを書いた人ない し、開発プロジェクト チーム プログラムの修正 SAST、ハンズオン 教育訓練、検査ツールの強 化など生産技術的強化 システム:クラウドサービス、 アプリケーションの設定 コンフィギュレーションの問題で、 データが侵害されやすい状態などで脆 弱になっている クラウドベンダーある いはその先進的なユー ザ 設定の修正 適切な脆弱性検査や モニタリングの強化 ユーザ、オペレータ 利用が許可されている機能あるいは データの取り扱いを誤用してしまう ユーザ自身、ならびに その組織 応急対応と原因究明 非常事態の対応訓練 業務データ取り扱い訓練 ユーザビリティ向上 モニタリングの強化
  12. 意図的な侵害コード混入 • PyPI に登録されたプロジェクトに マルウェアが混入 • OSごとに適格なinfostealerがダウ ンロードされるsetup.py • 見かけ、ちゃんとしたパッケージ

    • 2023/10/27-30にnpmにアップ ロード • 48 もの個別パッケージに難読化さ れたリバースシェルが展開された • 現在も絶賛活動中との観測 • 戦争反対!の意図からコミッターがコー ドに仕掛けた • ロシアとベラルーシからのユーザのみを ターゲットにワイパーが入っていた! (攻撃的)
  13. 意図的な侵害コード混入 侵害手法 • 0-day • タイポスクワッティング • プロジェクトハイジャック • マスカレード攻撃

    • 依存関係データの破壊 • 脆弱性の意図的な放置・混入 • Protestware ターゲット! • サードパーティ・OSSレポジトリサービス • NPM, PyPI, RubyGems, Maven, NuGet, CPAN • 開発プラットフォーム, 開発者アカウント • Github, Gitlab, ほか • CVEに乗りにくい問題?
  14. サプライチェインリスクと対応 攻撃タイプ 説明 対策 AIによる対策の例 ゼロデイ 0-day 未知の脆弱性を利用する攻撃で、 対策が困難。 定期的な脆弱性スキャンとパッチ

    適用、脅威インテリジェンスの活 用、セキュリティリサーチとコ ミュニティとの連携。 未知の攻撃パターンを検出するた めの異常検出システムに深層学習 を適用。 タイポスクワッティング Typosquatting ユーザーがよく知られたパッケー ジ名をタイプミスすることを利用 し、似たような名前の偽パッケー ジを公開する攻撃。 パッケージ名を慎重に確認、公式 ソースからのみダウンロード、信 頼できるリポジトリの使用 ドメイン名やパッケージ名の類似 性を分析し、潜在的なタイポスク ワッティングを検出するためにAIを 利用 プロジェクトハイジャック Hijacking メンテナーや貢献者のアカウント が乗っ取られ、プロジェクトに悪 意あるコードが挿入される。 マルチファクタ認証の強化、アク セス権限の厳格な管理、定期的な セキュリティレビュー。 不正なアクセスや異常なコミット パターンの検出に機械学習モデル を使用。 Protestware 開発者が政治的または社会的メッ セージをコードに挿入し、使用者 に意図しない影響を与える。 コミュニティガイドラインの策定 と遵守、コードレビュープロセス の厳格化。 自然言語処理(NLP)を用いてコー ド内の不適切なメッセージを識別。 つづく
  15. サプライチェインリスクと対応(cont) 攻撃タイプ 説明 対策 AIによる対策の例 マスカレード攻撃 Masquerading Project 正規のパッケージや開発者で あるかのように偽装し、ユー

    ザーを騙して悪意あるコード をダウンロードさせる攻撃 パッケージの信頼性と起源を確認、 開発者の署名や認証をチェック、 コミュニティのフィードバックや レビューを参照 開発者の行動パターンやコミット 履歴を分析し、異常があれば警告 するAIシステムを導入 依存関係への攻撃 Attack to Dependency data Cf. Dependency Confusion オープンソースプロジェクトが依 存する外部ライブラリやパッケー ジに悪意のあるコードが挿入され、 それがプロジェクトに引き継がれ る攻撃 依存関係の定期的な監査と更新、 自動化されたセキュリティスキャ ンツールの使用、最小限の依存関 係の原則、信頼できるソースから のみ依存関係を使用 依存関係のグラフを分析し、異常 な依存パターンや突然の変更を検 出するAIアルゴリズムを適用 脆弱性の意図的な混入放置 Sabotage セキュリティ上の問題が認識され ているにも関わらず、修正が遅延 されるか完全に無視される。 オープンソースプロジェクトにお けるセキュリティポリシーの策定 と適用、脆弱性に対する迅速な対 応とコミュニケーションの強化。 プロジェクトのコミット履歴と議 論を分析し、脆弱性に対する対応 の遅れを検出。
  16. Software Heritage Project コンポーネント評価に役立つ プロジェクトのさまざまなことを調べるのに便利 • 長期的なメンテナンスとサポート体制 • 脆弱性レポートの履歴と対応速度 •

    依存関係の管理とサプライチェーンリスクの評価 • セキュリティプロセスの透明性 • ライセンス(ライセンス表記の有無!?) • コミュニティの活性度と開発者の数、質 Software Heritage Project
  17. SCA(Software Composition Analysis) ソフトウェア構成分析のポイント SBOMでシステム内の問題コンポーネントを見つけるだけで満足しないこと • 質の検証 • アップデート漏れの列挙だけではなく、深刻度を評価していく •

    POC/KEVの存在 脆弱性に向き合う • CVEに載らない問題をカバーできるインテリジェンスを確保すること • 利用しているコードとの関係性も分析していくことが必要 プロジェクト、開発者、コードの評価力を上げる必要がある
  18. OWASP.org / OWASP Japan chapter Open Worldwide Application Security Project

    • https://github.com/owasp-ja • OWASPトップ10 for LLM日本語 • OWASPトップ10 2021日本語 • OWASP Proactive Controls 2018日本語 • OWASP ASVS 4.0 日本語 • Mobile ASVS日本語 • 開発者のためのOWASPチートシート一覧表