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
Satoshi SAKAO
September 02, 2020
Programming
1
97
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
37
Pkl/2024-04-17-llt31
ottijp
0
70
JavaScriptのデバッグ/2023-09-04-llt30
ottijp
0
140
CDK for TerraformでAzureリソースをデプロイする/2023-05-15-llt29
ottijp
1
240
TWELITEへの誘い/2022-12-27-llt28
ottijp
0
140
ビルドツールBazelを触ってみた/2022-09-28-llt27
ottijp
0
140
HashiCorp Vaultを使ったシークレットのセキュアな一元管理 〜Ansibleを添えて〜/2022-07-12-llt26
ottijp
0
130
AWSインフラのデプロイをCDKでカイゼンする/2022-03-23-llt25
ottijp
0
78
Amazon Timestreamでデータ補間/2021-12-27-llt24
ottijp
0
94
Other Decks in Programming
See All in Programming
Going Structural with Named Tuples
bishabosha
0
200
The Weight of Data: Rethinking Cloud-Native Systems for the Age of AI
hollycummins
0
270
マルチアカウント環境での、そこまでがんばらない RI/SP 運用設計
wa6sn
0
710
地域ITコミュニティの活性化とAWSに移行してみた話
yuukis
0
230
パスキーのすべて / 20250324 iddance Lesson.5
kuralab
0
150
フロントエンドテストの育て方
quramy
11
2.9k
AHC045_解説
shun_pi
0
480
Do Dumb Things
mitsuhiko
0
420
Building a macOS screen saver with Kotlin (Android Makers 2025)
zsmb
1
140
Django for Data Science (Boston Python Meetup, March 2025)
wsvincent
0
320
Compose Hot Reload is here, stop re-launching your apps! (Android Makers 2025)
zsmb
1
480
リアルタイムレイトレーシング + ニューラルレンダリング簡単紹介 / Real-Time Ray Tracing & Neural Rendering: A Quick Introduction (2025)
shocker_0x15
1
290
Featured
See All Featured
Faster Mobile Websites
deanohume
306
31k
Bash Introduction
62gerente
611
210k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
178
53k
Optimizing for Happiness
mojombo
377
70k
RailsConf 2023
tenderlove
30
1.1k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.7k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Java REST API Framework Comparison - PWX 2021
mraible
30
8.5k
Scaling GitHub
holman
459
140k
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