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
XCSSET/2020-09-02-llt16
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Satoshi SAKAO
September 02, 2020
Programming
1
100
XCSSET/2020-09-02-llt16
社内のLTイベント「えるLT Vol.16 オンライン」で発表した資料です
Satoshi SAKAO
September 02, 2020
Tweet
Share
More Decks by Satoshi SAKAO
See All by Satoshi SAKAO
Testcontainers/2024-11-20-llt32
ottijp
0
77
Pkl/2024-04-17-llt31
ottijp
0
110
JavaScriptのデバッグ/2023-09-04-llt30
ottijp
0
180
CDK for TerraformでAzureリソースをデプロイする/2023-05-15-llt29
ottijp
1
300
TWELITEへの誘い/2022-12-27-llt28
ottijp
0
180
ビルドツールBazelを触ってみた/2022-09-28-llt27
ottijp
0
200
HashiCorp Vaultを使ったシークレットのセキュアな一元管理 〜Ansibleを添えて〜/2022-07-12-llt26
ottijp
0
170
AWSインフラのデプロイをCDKでカイゼンする/2022-03-23-llt25
ottijp
0
110
Amazon Timestreamでデータ補間/2021-12-27-llt24
ottijp
0
120
Other Decks in Programming
See All in Programming
Raku Raku Notion 20260128
hareyakayuruyaka
0
340
Oxlint JS plugins
kazupon
1
980
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
190
並行開発のためのコードレビュー
miyukiw
0
290
今から始めるClaude Code超入門
448jp
8
8.9k
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
470
CSC307 Lecture 08
javiergs
PRO
0
670
Patterns of Patterns
denyspoltorak
0
1.4k
Package Management Learnings from Homebrew
mikemcquaid
0
230
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
290
Featured
See All Featured
Done Done
chrislema
186
16k
Are puppies a ranking factor?
jonoalderson
1
2.7k
Being A Developer After 40
akosma
91
590k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.6k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
120
Building an army of robots
kneath
306
46k
Why Our Code Smells
bkeepers
PRO
340
58k
Producing Creativity
orderedlist
PRO
348
40k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
Test your architecture with Archunit
thirion
1
2.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
A better future with KSS
kneath
240
18k
Transcript
XCSSET Satoshi SAKAO えるLT Vol.16 2020/09/02 (Wed) 1 説明とexploitのデモ
話すひと 2 インフォコム株式会社 品質マネジメント推進室 ソフトウェアエンジニア JS (ES6) / Node.js /
GCP / IoT / iOS (Swift) 猫,断捨離に拍車をかける Satoshi SAKAO @ottijp
XCSSETとは • Xcodeプロジェクトに感染するタイプのマルウェア • 8/13にトレンドマイクロが発表 • Xcodeプロジェクトの共有や依存によって感染 • 2つのゼロデイexploitを利用している •
Data Vaultsの動作上の欠陥を用いてCookieを盗む • 開発用Safariを悪用する 3
攻撃されること • SafariのCookieの読み取り • Evernote, Notes, Skype, Telegram, QQ, WeChat
から情報を盗み出し • カレントスクリーンのスクリーンショットを撮影 • 感染したマシンから攻撃者のサーバにファイルをアップロード • ファイルの暗号化とランサムメッセージの表示 4
攻撃されること(UXSSによる可能性) • 表示されるWebサイトの改ざん • 暗号通貨のアドレス改ざんや置き換え • amoCRM, Apple ID, Google,
Paypal, SIPMarket, Yandex の認証情報の読み取り • Apple Storeのクレジットカード情報の読み取り • パスワード変更のブロックや新しいパスワードの読み取り • アクセスした特定のサイトのスクリーンショット 5
感染の広がり • 感染したXcodeプロジェクトがビルドされた時に 被害者マシンの他のXcodeプロジェクトにも感染する • どこから感染が始まったかは明確でない • すでにGitHubリポジトリにも感染が確認されている • 380の被害者IPがマルウェア作成者に収集された
• 中国,インドでの感染が多数(中国152,インド103) 6
予防方法 • トレンドマイクロいわく • 公式で信用できるマーケットプレイスからのみDLする • マルチレイヤのセキュリティソリューションを使う • 他には? •
コミット時にプロジェクト構成ファイルの変更を確認する? 7
仕組み • マルウェアの混入 • .xcworkspacedataが変更され,PJとは異なるディレクトリへの参照が入る • .xcodeprojに隠しディレクトリが作成される (マルウェアの実態とスクリプト) • マルウェアのインストール
• ビルドプロセスで隠しディレクトリのスクリプトが実行される • スクリーンショットの取得開始 • main.scptをApplication Scriptディレクトリに作成したり, main.scptを含むアプリケーションバンドルを作成する 8
仕組み • main.scpt • OS情報の取得 • ブラウザ等のプロセスの停止 • マルウェアの各モジュールのダウンロード •
osacompileを使って,公式なアプリを模したフェイクappを作成 • フェイクappを実行 • フェイクapp • マルウェアの各モジュールの実行 • 50程度のモジュール • replicatorとpods_infectで,他のプロジェクトへマルウェアのインジェクションを行う 9
面白かったこと 10 https://documents.trendmicro.com/assets/pdf/XCSSET_Technical_Brief.pdf
11 demo 自分のSafari Cookieを盗む
12 Appendix
SIP: System Integrity Protection • El Capitanから採用された • rootであっても,システムの重要なファイルへはアクセス不可 •
無効化にはセーフブートが必要がある(当然推奨されない) • 当初,HomeBrewが動かなくなってトラブルが起きたりした • Mac のシステム整合性保護について - Apple サポート https://support.apple.com/ja-jp/HT204899 13
Data Vaults • App自体がサンドボックス化されているかどうかに関係なく, データへの不正アクセスから保護するために カーネルによって適用されるメカニズム • Data Vaultsの一部がSIP? •
暗号化とデータ保護の概要 - Apple サポート https://support.apple.com/ja-jp/guide/security/ sece3bee0835/web 14
UXSS: Universal Cross Site Scripting • 特定のサイトの脆弱性ではなく,任意のサイトでXSSができる • Webサーバ側の脆弱性ではなく,ブラウザの脆弱性を利用 •
2015年にIEの脆弱性が見つかり,問題になった • SOP(Same Origin Policy)の迂回 • 「Internet Explorer」に深刻な脆弱性--UXSS攻撃が可能に - ZDNet Japan] https://japan.zdnet.com/article/35059988/ • XCSSETではsafari_remoteモジュールでフェイクSafari appを作り, ゼロデイexploitにより,ユーザの認証なしにこれが起動される 15
refs • Xcodeプロジェクト経由で拡散するMac向けマルウェア「XCSSET」が登場 - GIGAZINE https://gigazine.net/news/20200817-xcsset-mac-malware/ • XCSSET Mac Malware:
Infects Xcode Projects, Performs UXSS Attack on Safari, Other Browsers, Leverages Zero-day Exploits - TrendLabs Security Intelligence Blog https://blog.trendmicro.com/trendlabs-security-intelligence/xcsset-mac-malware-infects- xcode-projects-performs-uxss-attack-on-safari-other-browsers-leverages-zero-day-exploits/ • New Mac malware infects and spreads via Xcode projects | Appleinsider https://appleinsider.com/articles/20/08/16/new-mac-malware-infects-and-spreads-via- xcode-projects • XCSSET Technical Brief https://documents.trendmicro.com/assets/pdf/XCSSET_Technical_Brief.pdf • Macの新マルウェア「XCSSET」の問題点と予防対策 | ライフハッカー[日本版] https://www.lifehacker.jp/2020/08/218881what-mac-users-should-know-about-the-new- xcsset-malware.html 16