Slide 1

Slide 1 text

脆弱性とこれからの話 多層化しているソフトウエア脆弱性とその対応戦術 岡田良太郎 Update: 2024/11/1 Release: 2024/2/3

Slide 2

Slide 2 text

岡田 良太郎 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ハンドブック」の執筆メンバー

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

https://www.youtube.com/watch?v=Rp9uPVahpUw マジセミ:いまさら聞けない脆弱性入門 ユーチューバーになってしもた(?) youtube.com/@asteriskresearch

Slide 5

Slide 5 text

Hardening Project

Slide 6

Slide 6 text

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を利用した情報操作の可能性が浮上。

Slide 7

Slide 7 text

SBOMは手になじんできましたか? SCA SBOM

Slide 8

Slide 8 text

OWASP と SBOMといえば CycloneDX • CycloneDX v1.6は ECMA標準 • セキュリティ脆弱性管理に重心 • 多方面のBOMへの対応 • SBOM, SaaSBOM, 暗号化、AI • OSS、商用ライセンスも対応 • 220以上のツールが対応 https://cyclonedx.org/capabilities/

Slide 9

Slide 9 text

CycloneDX サプライチェインリスクに直球 CycloneDXv1.6 は xBOM国際標準 ECMA技術委員会 54 (TC54) • ソフトウェアの脆弱性とコンプライアンスの両方に対 応するコンポーネント透明性 • サービス(SaaSBOM) 運用整合性に影響を与える潜在 的リスクと依存 • ハードウェアとファームウェアなどIoTの物理コン ポーネントと組み合わせる仕組みのセキュリティ保護 • AI/ML駆動型システムにおける信頼性 • 暗号化資産の安全な取り扱い • OSSとプロプライエタリライセンスの両方をサポート

Slide 10

Slide 10 text

OWASP SBOM CycloneDX 1. 外部参照情報の充実 2. 依存関係の透明性 3. セキュリティスキャンとの連携がしやすい 4. ライセンス情報の明確さ • CycloneDX形式は、外部参照、バージョン情報、 ライセンス情報が豊富で、依存関係の透明性が 高い https://cyclonedx.org/capabilities/

Slide 11

Slide 11 text

各コンポーネントの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." } ] } ] ツールにより情報追加していく

Slide 12

Slide 12 text

OWASP Dependency Track BOMを扱うツール 何をもとに • CycloneDX SBOMおよびVEXなどの標準フォーマット • 脆弱性データベース(NVDやGitHub Advisories、Sonatype OSS Index等) や、ライセンス情報(SPDX標準ID)などの外部情報 誰のために • 企業のセキュリティ管理者やコンプライアンス担当者 • ソフトウェア開発者やエンジニアリングチーム • リスク管理・サプライチェーンの担当者 何をするのか • 全スタックのコンポーネントの利用状況の管理(ライブラリ、OS、ハード ウェア、API、サービスプロバイダーまで) • リスクの特定と優先的な緩和策の提示(既知の脆弱性、ライセンスリスク、 改変コンポーネント等) • 統合的な脆弱性情報の収集・ポリシー管理 • セキュリティリスクやライセンス・運用リスクの可視化と管理

Slide 13

Slide 13 text

問題: もれなくアップデートさえ すれば脆弱性リスクはなくなるのか

Slide 14

Slide 14 text

「脆弱性」の解像度 脆弱性発生箇所 どんな状態か 対応手段の提供者 すぐ対応 シフトレフト

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

未解決の問題:サプライチェインリスク “脆弱性”じゃない問題、どうしましょう 本当に、OSSパッケージやそのアップデートを 信頼できるものにするにはどうしたら良いのか

Slide 19

Slide 19 text

ソフトウェアにおける深刻な サプライチェインリスク 敵対者が悪意のあるコードや悪意のあるコンポーネン ト全体を、信頼されているソフトウェアやハードウェ アの内部に紛れ込ませる手法により発生するリスク

Slide 20

Slide 20 text

意図的な侵害コード混入 • PyPI に登録されたプロジェクトに マルウェアが混入 • OSごとに適格なinfostealerがダウ ンロードされるsetup.py • 見かけ、ちゃんとしたパッケージ • 2023/10/27-30にnpmにアップ ロード • 48 もの個別パッケージに難読化さ れたリバースシェルが展開された • 現在も絶賛活動中との観測 • 戦争反対!の意図からコミッターがコー ドに仕掛けた • ロシアとベラルーシからのユーザのみを ターゲットにワイパーが入っていた! (攻撃的)

Slide 21

Slide 21 text

意図的な侵害コード混入 侵害手法 • 0-day • タイポスクワッティング • プロジェクトハイジャック • マスカレード攻撃 • 依存関係データの破壊 • 脆弱性の意図的な放置・混入 • Protestware ターゲット! • サードパーティ・OSSレポジトリサービス • NPM, PyPI, RubyGems, Maven, NuGet, CPAN • 開発プラットフォーム, 開発者アカウント • Github, Gitlab, ほか • CVEに乗りにくい問題?

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

SBOMのおかげで問題コンポーネントを発見してからが本番 • 使い続けるかどうかの視点 • 脆弱性の発生を抑制できる設定が可能か • 更新版は利用している機能にあたるコードそのものが適切に 修正されているか • 開発者あるいは開発チームのレピュテーション • 問題となったコンポーネントの代替手段はあるか

Slide 25

Slide 25 text

Software Heritage Project コンポーネント評価に役立つ プロジェクトのさまざまなことを調べるのに便利 • 長期的なメンテナンスとサポート体制 • 脆弱性レポートの履歴と対応速度 • 依存関係の管理とサプライチェーンリスクの評価 • セキュリティプロセスの透明性 • ライセンス(ライセンス表記の有無!?) • コミュニティの活性度と開発者の数、質 Software Heritage Project

Slide 26

Slide 26 text

SCA(Software Composition Analysis) ソフトウェア構成分析のポイント SBOMでシステム内の問題コンポーネントを見つけるだけで満足しないこと • 質の検証 • アップデート漏れの列挙だけではなく、深刻度を評価していく • POC/KEVの存在 脆弱性に向き合う • CVEに載らない問題をカバーできるインテリジェンスを確保すること • 利用しているコードとの関係性も分析していくことが必要 プロジェクト、開発者、コードの評価力を上げる必要がある

Slide 27

Slide 27 text

エコシステムに貢献しよう • 「使う」力ばかり先行するのではなく「作る」側に立つべき • コミュニティ、業界団体として教材の充実にとどまらず、地域、業 界で「対応力」を上げていく共同訓練が必要ではないか • NISC、JPCERT/CC、IPA、OWASP、Hardening ProjectそしてThe Linux Foundation

Slide 28

Slide 28 text

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チートシート一覧表

Slide 29

Slide 29 text

Thank you Github/speakerdeck/X: okdt LinkedIn: riotaro Youtube: asteriskresearch