|
|
<!doctype html>
|
|
|
<html class="no-js" lang="en">
|
|
|
<head>
|
|
|
<meta charset="utf-8">
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
<meta name="author" content="Lednerb">
|
|
|
<meta name="description" content="Bilberry Premium Theme for Hugo.">
|
|
|
<meta name="keywords" content="blog,personal,responsive,search,font awesome,pages,posts,multilingual,highlight.js,syntax highlighting,premium,shortcuts">
|
|
|
<meta name="generator" content="Hugo 0.50" />
|
|
|
<title> [轉貼] 蘋果 iOS 的 Xcode Ghost 事件 | My cool new Blog</title>
|
|
|
<meta name="description" content="[轉貼] 蘋果 iOS 的 Xcode Ghost 事件 - Bilberry Premium Theme for Hugo.">
|
|
|
<meta itemprop="name" content="[轉貼] 蘋果 iOS 的 Xcode Ghost 事件">
|
|
|
<meta itemprop="description" content="[轉貼] 蘋果 iOS 的 Xcode Ghost 事件 - Bilberry Premium Theme for Hugo.">
|
|
|
<meta property="og:title" content="[轉貼] 蘋果 iOS 的 Xcode Ghost 事件">
|
|
|
<meta property="og:description" content="[轉貼] 蘋果 iOS 的 Xcode Ghost 事件 - Bilberry Premium Theme for Hugo.">
|
|
|
<meta property="og:image" content="https://www.gravatar.com/avatar/88188b6cc451928eba90e8400bc68086?size=200">
|
|
|
<meta property="og:url" content="https://h.cowbay.org/article/e8-bd-89-e8-b2-bc-e8-98-8b-e6-9e-9c-ios-e7-9a-84-xcodeghost-e4-ba-8b-e4-bb-b6/">
|
|
|
<meta property="og:site_name" content="My cool new Blog">
|
|
|
<meta property="og:type" content="article">
|
|
|
<link rel="icon" type="image/png" href="https://h.cowbay.org/favicon-32x32.png" sizes="32x32">
|
|
|
<link rel="icon" type="image/png" href="https://h.cowbay.org/favicon-16x16.png" sizes="16x16">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="https://h.cowbay.org/sass/combined.min.717098cb5503581e75f12e486a847ca410bf8367d4d8713f4c37affc868c5a1d.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
<body class="bilberry-hugo-theme">
|
|
|
|
|
|
<nav>
|
|
|
|
|
|
<div class="container">
|
|
|
<ul class="topnav">
|
|
|
|
|
|
|
|
|
<li><a href="/page/about-bilberry/">About Bilberry</a></li>
|
|
|
|
|
|
|
|
|
|
|
|
<li><a href="https://github.com/Lednerb/bilberry-hugo-theme" target="_blank">Github</a></li>
|
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
<div id="search-box" class="search">
|
|
|
<i class="fa fa-search"></i>
|
|
|
<input id="search" type="text" placeholder="Search ...">
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
</nav>
|
|
|
|
|
|
|
|
|
<header>
|
|
|
<div class="container">
|
|
|
<div class="logo">
|
|
|
<a href="/" class="logo">
|
|
|
|
|
|
<img src="https://www.gravatar.com/avatar/88188b6cc451928eba90e8400bc68086?d=mm&size=200" alt="">
|
|
|
|
|
|
|
|
|
<span class="overlay"><i class="fa fa-home"></i></span>
|
|
|
</a>
|
|
|
</div>
|
|
|
<div class="titles">
|
|
|
<h3 class="title"><a href="/">My cool new Blog</a></h3>
|
|
|
|
|
|
<span class="subtitle">Hello World! This is the most epic subtitle ever.</span>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="languages">
|
|
|
|
|
|
|
|
|
<a href="/en" class="active">en</a>
|
|
|
|
|
|
|
|
|
|
|
|
<a href="/de">de</a>
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="toggler">
|
|
|
|
|
|
<i class="fa fa-bars" aria-hidden="true"></i>
|
|
|
</div>
|
|
|
</div>
|
|
|
</header>
|
|
|
|
|
|
|
|
|
<div class="main container">
|
|
|
|
|
|
|
|
|
<div class="article-wrapper u-cf single">
|
|
|
|
|
|
<a class="bubble" href="/article/e8-bd-89-e8-b2-bc-e8-98-8b-e6-9e-9c-ios-e7-9a-84-xcodeghost-e4-ba-8b-e4-bb-b6/">
|
|
|
<i class="fa fa-fw fa-pencil"></i>
|
|
|
</a>
|
|
|
|
|
|
<article class="default article">
|
|
|
|
|
|
|
|
|
<div class="content">
|
|
|
<h3><a href="/article/e8-bd-89-e8-b2-bc-e8-98-8b-e6-9e-9c-ios-e7-9a-84-xcodeghost-e4-ba-8b-e4-bb-b6/">[轉貼] 蘋果 iOS 的 Xcode Ghost 事件</a></h3>
|
|
|
<div class="meta">
|
|
|
|
|
|
|
|
|
<span class="date moment">2015-09-22</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="categories">
|
|
|
|
|
|
<a href="/categories/%E6%9C%AA%E5%88%86%E9%A1%9E">未分類</a>
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h4 id="1-因為中國網路長城的關係-造成很多中國使用者-習慣在-中國區網-內下載東西-沒有什麼警覺性">1.因為中國網路長城的關係,造成很多中國使用者,習慣在「中國區網」內下載東西,沒有什麼警覺性。</h4>
|
|
|
|
|
|
<h4 id="2-希望真的只是場實驗-因為我也中招了-名片全能王">2.希望真的只是場實驗,因為我也中招了….(名片全能王)</h4>
|
|
|
|
|
|
<p> </p>
|
|
|
|
|
|
<h1 id="原文連結-http-3c-ltn-com-tw-news-20584-page-1">原文連結:<a href="http://3c.ltn.com.tw/news/20584?page=1">http://3c.ltn.com.tw/news/20584?page=1</a></h1>
|
|
|
|
|
|
<h1 id="ios-app-病毒爆發-原來只是場-實驗">iOS App 病毒爆發! 原來只是場「實驗」?</h1>
|
|
|
|
|
|
<p><div class="writer">文/記者譚偉晟/ 2015-09-21 12:51</div>
|
|
|
<div class="writer"></p>
|
|
|
|
|
|
<p>一個中國 iOS 的開發者,透過 Apple 的漏洞植入了名為「Xcode Ghost」的代碼,進一步透過 App 竊取用戶資料,糟糕的是已經有部份 App Store 上的 App 已經被感染,目前 Apple 已經開始清理這些被影響的 App,而這件事情的開始,卻僅僅只是開發者的「實驗」!</p>
|
|
|
|
|
|
<p><span class="ph_b ph_d1 "><span class="ph_i"><img src="http://img.ltn.com.tw/Upload/3c/page/2015/09/21/150921-20584-1.jpg" alt="" /></span></span></p>
|
|
|
|
|
|
<p><span class="ph_b ph_d1 "><span class="ph_d">iOS App 爆發病毒感染,原因是出在 Xcode 這個開發者工具(圖片來源/路透社)</span></span></p>
|
|
|
|
|
|
<p>對此大家不妨先弄清楚這整件事情的來龍去脈。以下分別從感染方式、事件始末、以及其他後續這三個部份說起,如果 iOS 用戶擔心已經安裝到被感染的 App,可以參考這篇文章(<a href="http://3c.ltn.com.tw/news/20572">iOS App 大爆漏洞!一次中招 344 款 App!</a>),來查看清單並確認手機中的 App 是否有問題。</p>
|
|
|
|
|
|
<p><span class="ph_b ph_d1 "><span class="ph_i"><img src="http://img.ltn.com.tw/Upload/3c/page/2015/09/21/150921-20584-2.jpg" alt="" /></span></span></p>
|
|
|
|
|
|
<p><span class="ph_b ph_d1 "><span class="ph_d">其中不乏之名的 App 受到感染(圖片來源/彭博)</span></span></p>
|
|
|
|
|
|
<p>要搞清楚這個 iOS 爆發的重大病毒災情,首先得從「Xcode」這個項目說起。Xcode 是由 Apple 推出的開發工具,運行在 Mac OS X 上,是目前 Apple 開發者製作 Mac OS 和 iOS 應用程式的主要方式。而這次爆出的 iOS App 感染病毒事件,是由於一個名為「Xcode Ghost」的代碼。</p>
|
|
|
|
|
|
<p>透過這個代碼,受感染的 App 可以上傳各種加密的數據到指定的伺服器,目前已知會上傳的內容包含 App 版本、App 名稱、使用語言、iOS 版本、設備類型等語裝置有關的訊息。在這裡得先提一下,事件發生後該代碼作者出來澄清,表示這次感染的目的只是為了「實驗」,而非為了竊取用戶的個人資 料。</p>
|
|
|
|
|
|
<p>然而,這場「實驗」確實暴露了 iOS 所存在的嚴重安全問題。假使今天有駭客惡意使用了這項漏洞,將會使用戶的手機被控制,嚴格來說甚至能夠控制整支手機!而這個病毒的感染模式是這樣的:</p>
|
|
|
|
|
|
<ol>
|
|
|
<li><span style="color: #ff0000;">含有 Xcode Ghost 惡意代碼的 Xcode 工具,放在開發者社群供人下載,由於沒有上架到 App Store,所以無法被 Apple 查驗。</span></li>
|
|
|
<li><span style="color: #ff0000;">其他開發者依照這個工具設計 App,並且發布到 App Store 供一般用戶下載。</span></li>
|
|
|
<li><span style="color: #ff0000;">開發者或一般用戶安裝後,Xcode Ghost 開始運作。竊取手機中的資料上傳指定伺服器。</span>
|
|
|
目前 Xcode Ghost 號稱只有做到傳送設備資訊等與個資無關的訊息,但據了解一旦該漏洞是被有心人使用,就可以透過 openURL 這個 API,遠端遙控被感染的 iPhone 中打電話、開啟網頁、甚至操作第三方 App!也可以在遠端遙控手機,讓手機彈出對話窗口,誘騙用戶回答「密碼多少」這類敏感問題!</li>
|
|
|
</ol>
|
|
|
|
|
|
<p></div>
|
|
|
事件是從 9 月 12 日開始的,最初是由一名稱做「@唐巧_boy」的人在微博張貼了一個訊息,告訴大家在非官方管道下載的 App,被植入的第三方代碼,會向特定網站上傳資料。</p>
|
|
|
|
|
|
<p><span class="ph_b ph_d1 "><span class="ph_i"><img src="http://img.ltn.com.tw/Upload/3c/page/2015/09/21/150921-20584-3.jpg" alt="" /></span></span></p>
|
|
|
|
|
|
<p><span class="ph_b ph_d1 "><span class="ph_d">一名用戶在微博上表示,在 App 內發現惡意代碼,接著病毒感染事件逐漸擴大(圖片來源/wooyun)</span></span></p>
|
|
|
|
|
|
<p>接著就有更多用戶進行檢查也發現,許多由迅雷下載的檔案,當中也有許多內藏這個代碼,對此「烏雲漏洞平台」將這個病毒樣本命名為「XcodeGhost」,並且發現他會收集大量 iPhone 和 App 的基本訊息。</p>
|
|
|
|
|
|
<p>而事件逐漸擴大,多款知名 App 也被爆出受到感染,像是微信、我叫MT、網易雲音樂、滴滴出行等中國 App 佔絕大多數。其中有多款已經在 App Store 上,可讓一般用戶直接下載、進一步安裝用戶裝置!接著包含 Palalto、阿里移動安全等資安公司都發布了分析報導。</p>
|
|
|
|
|
|
<p>在 9 月 19 日凌晨,這個名為 Xcode Ghost 的病毒設計者現身,發出公告表示這一切只是一個意外的發現,而所謂的「病毒」只是自己的小小實驗。此外在公告中也已經澄清這個代碼將會死去,之後也被人發現上傳資料的網站已經關閉。</p>
|
|
|
|
|
|
<p><span class="ph_b ph_d1 "><span class="ph_i"><img src="http://img.ltn.com.tw/Upload/3c/page/2015/09/21/150921-20584-4.png" alt="" /></span></span></p>
|
|
|
|
|
|
<p><span class="ph_b ph_d1 "><span class="ph_d">該病毒作者公開表示,這僅僅只是一場「實驗」而已,沒有惡意(圖片來源/wooyun)</span></span></p>
|
|
|
|
|
|
<p>而在 9 月 21 日,Apple 正式做出回應,強調目前有問題的 App 已經被刪除。該公司正在對 App Store 進行清理,移除有問題的 App。手機用戶也建議盡速移除有問題的 App,並且修改 iCloud 密碼。Apple 也將持續與開發者溝通,確保開發者使用正確的 Xcode 工具開發應用程式。</p>
|
|
|
|
|
|
<p><span class="ph_b ph_d1 "><span class="ph_i"><img src="http://img.ltn.com.tw/Upload/3c/page/2015/09/21/150921-20584-5.png" alt="" /></span></span></p>
|
|
|
|
|
|
<p><span class="ph_b ph_d1 "><span class="ph_d">Xcode 病毒事件爆發後,各國開發者對可以繞過 Apple 官方工具,逕行開發 App 的開發者很不滿(圖片來源/Apple)</span></span></p>
|
|
|
|
|
|
<p><span style="color: #ff0000;">會造成 iOS 裝置被病毒大量感染,最根本的原因其實是因為中國網路長城的關係。由於網路長城的管控,中國地區開發者如果透過 Apple 官方網址下載 Xcode 工具,會因為網路太慢而耗費大量時間,因此多半會改用迅雷網盤、百度網盤上其他開發者分享的檔案。</span></p>
|
|
|
|
|
|
<p><span style="color: #ff0000;">因此開發者會誤用帶有病毒的開發工具,所設計出來的 App 自然也被感染。這對於一直主打安全性的 Apple 無疑是個重擊,更令人憂心的是連 App store 的 App 的無法確保安全,將會讓用戶對其裝置的信任感大幅降低。</span></p>
|
|
|
|
|
|
<p>不少開發者表示,對於這類會傷害用戶信任的開發者,Apple 應該全面剔除,否則將會為危害到 App store 的信譽。而選擇要擁抱中國市場的 Apple ,也必須調整對中國開發者的策略,否則這個會影響全球 iOS 裝置的病毒事件,或許會成為其他國家開發者抵制 Apple 的理由。</p>
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
<div class="footer no-tags">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</article>
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
<div id="disqus_thread"></div>
|
|
|
<script type="application/javascript">
|
|
|
var disqus_config = function () {
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
(function() {
|
|
|
if (["localhost", "127.0.0.1"].indexOf(window.location.hostname) != -1) {
|
|
|
document.getElementById('disqus_thread').innerHTML = 'Disqus comments not available by default when the website is previewed locally.';
|
|
|
return;
|
|
|
}
|
|
|
var d = document, s = d.createElement('script'); s.async = true;
|
|
|
s.src = '//' + "bilberry-hugo-theme" + '.disqus.com/embed.js';
|
|
|
s.setAttribute('data-timestamp', +new Date());
|
|
|
(d.head || d.body).appendChild(s);
|
|
|
})();
|
|
|
</script>
|
|
|
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
|
|
<a href="https://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
<footer>
|
|
|
<div class="container">
|
|
|
|
|
|
|
|
|
<div class="recent-posts">
|
|
|
<strong>Latest posts</strong>
|
|
|
<ul>
|
|
|
|
|
|
<li>
|
|
|
<a href="/article/google-550-5-7-1-sloution/">寄信給google被退信 錯誤 550-5.7.1的解法</a>
|
|
|
</li>
|
|
|
|
|
|
<li>
|
|
|
<a href="/article/netdata-linux-system-performance-monitor-dashboard/">Netdata Linux System Performance Monitor Dashboard</a>
|
|
|
</li>
|
|
|
|
|
|
<li>
|
|
|
<a href="/article/linux-performance-monitor-dashboard-netdata-md/">Linux 底下極其詳細的System performace Monitor Dashboard - Netdata</a>
|
|
|
</li>
|
|
|
|
|
|
<li>
|
|
|
<a href="/article/syntax-test/">Syntax Test</a>
|
|
|
</li>
|
|
|
|
|
|
<li>
|
|
|
<a href="/article/psql-create-role-and-assign-priviledges/">psql create role and assign priviledges</a>
|
|
|
</li>
|
|
|
|
|
|
<li>
|
|
|
<a href="/article/study-url/">Study URL</a>
|
|
|
</li>
|
|
|
|
|
|
<li>
|
|
|
<a href="/article/rsync-time-backup/">[筆記] Linux 底下好用的備份工具 rsync-time-backup</a>
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="categories">
|
|
|
<a href="/categories/"><strong>Categories</strong></a>
|
|
|
<ul>
|
|
|
|
|
|
<li>
|
|
|
<a href="/categories/%E6%9C%AA%E5%88%86%E9%A1%9E">未分類 (86)</a>
|
|
|
</li>
|
|
|
|
|
|
<li>
|
|
|
<a href="/categories/%E5%B7%A5%E4%BD%9C%E7%AD%86%E8%A8%98">工作筆記 (68)</a>
|
|
|
</li>
|
|
|
|
|
|
<li>
|
|
|
<a href="/categories/%E5%85%B6%E4%BB%96">其他 (46)</a>
|
|
|
</li>
|
|
|
|
|
|
<li>
|
|
|
<a href="/categories/%E7%AD%86%E8%A8%98">筆記 (30)</a>
|
|
|
</li>
|
|
|
|
|
|
<li>
|
|
|
<a href="/categories/%E5%89%AA%E5%A0%B1">剪報 (18)</a>
|
|
|
</li>
|
|
|
|
|
|
<li>
|
|
|
<a href="/categories/starting">Starting (5)</a>
|
|
|
</li>
|
|
|
|
|
|
<li>
|
|
|
<a href="/categories/blog">Blog (4)</a>
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
</div>
|
|
|
|
|
|
|
|
|
<div class="right">
|
|
|
|
|
|
<div class="external-profiles">
|
|
|
<strong>Social media</strong>
|
|
|
|
|
|
|
|
|
|
|
|
<a href="https://twitter.com/TheRealLednerb" target="_blank"><i class="fa fa-twitter-adblock-proof"></i></a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a href="https://github.com/Lednerb" target="_blank"><i class="fa fa-github"></i></a>
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
<div class="languages">
|
|
|
<strong>Other languages</strong>
|
|
|
|
|
|
|
|
|
<a href="/en" class="active">en</a>
|
|
|
|
|
|
|
|
|
|
|
|
<a href="/de">de</a>
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
</div>
|
|
|
</footer>
|
|
|
|
|
|
|
|
|
<div class="credits">
|
|
|
<div class="container">
|
|
|
<div class="copyright">
|
|
|
<a href="https://github.com/Lednerb" target="_blank">
|
|
|
©
|
|
|
|
|
|
2017
|
|
|
|
|
|
by Lednerb
|
|
|
</a>
|
|
|
|
|
|
</div>
|
|
|
<div class="author">
|
|
|
<a href="https://github.com/Lednerb/bilberry-hugo-theme" target="_blank">Bilberry Hugo Theme</a>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="https://h.cowbay.org/js/externalDependencies.39c47e10e241eae2947b3fe21809c572.js" integrity="md5-OcR+EOJB6uKUez/iGAnFcg=="></script>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="https://h.cowbay.org/js/theme.ff50ae6dc1bfc220b23bf69dbb41b54e.js" integrity="md5-/1CubcG/wiCyO/adu0G1Tg=="></script>
|
|
|
|
|
|
<script>
|
|
|
$(".moment").each(function() {
|
|
|
$(this).text(
|
|
|
moment( $(this).text() )
|
|
|
.locale( "en" )
|
|
|
.format('LL')
|
|
|
);
|
|
|
});
|
|
|
|
|
|
$(".footnote-return sup").html("");
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
var client = algoliasearch("Y2C4RWMPXW", "50ea7f8c41c0ad233926e0be2b769ed1");
|
|
|
var index = client.initIndex("default-content");
|
|
|
|
|
|
$('#search').autocomplete({ hint: false, autoselect: true, debug: false },
|
|
|
[
|
|
|
{
|
|
|
|
|
|
source: $.fn.autocomplete.sources.hits(index, { hitsPerPage: 5, filters: 'language: en' }),
|
|
|
|
|
|
displayKey: function(suggestion) {
|
|
|
return suggestion.title || suggestion.author
|
|
|
},
|
|
|
templates: {
|
|
|
suggestion: function(suggestion) {
|
|
|
return "<span class='entry " + suggestion.type + "'>"
|
|
|
+ "<span class='title'>" + suggestion.title + "</span>"
|
|
|
+ "<span class='fa fa-fw " + suggestion.iconClass + "'></span>"
|
|
|
+ "</span>"
|
|
|
;
|
|
|
},
|
|
|
empty: function() {
|
|
|
return "<span class='empty'>Nothing found.</span>"
|
|
|
},
|
|
|
footer: function() {
|
|
|
return '<div class="branding">Powered by <img src="https:\/\/h.cowbay.org\/dist\/algolia-logo-light.svg" /></div>'
|
|
|
}
|
|
|
|
|
|
},
|
|
|
}
|
|
|
])
|
|
|
.on('autocomplete:selected', function(event, suggestion, dataset) {
|
|
|
window.location = (suggestion.url);
|
|
|
})
|
|
|
.keypress(function (event, suggestion) {
|
|
|
if (event.which == 13) {
|
|
|
window.location = (suggestion.url);
|
|
|
}
|
|
|
});
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
</html>
|