文章列表

EP14 - 從YouTube頻道被駭聊聊針對性攻擊

Podcast連結


本集內容大綱

YouTuber 秀煜Show YoU頻道被駭事件經過

  1. 駭客假冒廠商寄送合作邀約,邀請秀煜試用還在測試中的軟體
  2. 秀煜下載並開啟了駭客提供的軟體
  3. 駭客透過軟體取得秀煜電腦的控制權
  4. 駭客利用秀煜在電腦上已登入的權限,更改Google帳號的Email、電話和密碼,並將原本登入的裝置都登出
  5. 駭客將秀煜YouTube頻道的圖示和名稱都改掉,並直播詐騙廣告
  6. YouTube將頻道封鎖並停權

我們會將這個事件分成三部分來討論,社交工程惡意程式、和權限管理

社交工程

youtuberhack email

疑點1: 在截圖中我們可以發現寄件者使用的是一組Gmail信箱,並非使用公司的網址@zoner.com的信箱。Zoner看起來不是小公司,也有自己的網站跟網域,為什麼他們的代表使用的卻是Gmail信箱?

youtuberhack chat

疑點2: 他們怎麼會將測試中的程式公開的放在GitHub上?這樣競爭廠商可以取得他們的程式碼,用戶也都可以下載到免費的版本誰還會想付錢購買軟體?

註:GitHub是一個原始碼代管平台,程式設計師會將寫好的程式碼放到GitHub上與他人分享或合作。

疑點3: 廠商不只一次的將GitHub拼錯為GitHab,GitHub是一個十分知名的平台,一般廠商不應該會連續犯這樣的錯誤。

疑點4: 廠商只示要下載的版本是7.9.4,但透過Google我們就可以發現這家廠商最新產品的版本是19.1806,為什麼測試版的版本號數字會比最新產品的版本號還舊?

youtuberhack dropboxlink

註:原本駭客使用的GitHub頁面已經被刪除了,但我們找到同一個GitHub帳號下的另一個頁面的快取庫存,透過比對兩個頁面的內容十分相似,我們相信這是駭客用來詐騙不同人所使用的頁面,因此這裡使用我們所找到的頁面庫存來做講解。

疑點5: 為什麼GitHub上的連結是導到雲端硬碟Dropbox?如果要透過Dropbox下載為什麼當初不要直接傳送Dropbox的下載連結給我們就好?

這些疑點單獨來看可能都只是小東西,但一件事情前前後後出現了那麼多的疑點時往往代表事情不單純。

應對方法: 面對這些可疑的事物,不要急著聽從對方的指示動作。我們可以透過多詢問對方一點細節和跟他們聊聊天的方式了解多一點關於對方的事情,他們講的話越多就越有可能露出馬腳。如果他們一律都拒絕回答或是都用很攏統的答案帶過那麼也可能代表是詐騙。除此之外,我們也可去搜尋關於這個廠商的消息,或是查查別人有沒有遇過類似的事情。我們蒐集到越多的資訊就越能成功的辨識出詐騙和駭客。

重點回顧: 關於社交軟體的原理和攻擊手法可以回去看看EP5 - 人性是最大的安全漏洞

惡意程式

根據秀煜所提供的資訊,這個惡意程式的主要功能是遠端連線,也就是讓駭客有能力可以遠端控制電腦。
駭客還會透過電腦上的攝影機觀察電腦前面是不是有人,挑沒人的時候操控電腦,來避免被發現。

這種攻擊手法比較難防範的點在於他不是竊取你的帳號密碼,因此即便選擇了很複雜很安全的密碼,使用了多因素驗證,只要在電腦上沒有登出,駭客就可以直接打開瀏覽器取得帳號的控制權。

應對方法1: 不要下載來路不明的軟體,盡可能地在下載前就辨識出釣魚信件和惡意軟體,從源頭避免。

應對方法2: 新型的防毒軟體

基本的防毒軟體都是靠分析檔案的特徵和程式運行時的模式,接著比對病毒資料庫內的資料來判定是否有害,面對新型的惡意程式時會需要仰賴防毒軟體公司更新病毒資料庫的速度來決定是否能及時的辨識出新型的惡意程式。
如果今天遇到的是駭客為你客製化獨一無二的病毒,八成不會被一般的防毒軟體發現。
秀煜使用的就是一款免費的基本防毒軟體,因此沒能第一時間辨識出惡意程式。

新型的防毒軟體會號稱有人工智慧的功能,可以辨識出沒看過的惡意程式。
背後的原理應該是透過分析使用者的電腦使用習慣,來找出不正常的活動。

EX. 我從來都不使用端控制功能,但今天我的電腦上突然開始使用了大量的遠端連線,那麼防毒軟體就會覺得這不正常,他會試著找出式哪個程式在執行那些不正常的遠端連線,並將他們移除或是阻隔封鎖。

缺點是這是比較進階的功能,因此大部分免費的防毒軟體都沒有這個功能。

應對方法3: 虛擬機

虛擬機就是在你的電腦上透過一些軟體,再安裝另一個作業系統在裡面。類似電腦中又有個小電腦。

虛擬機的優點:

  • 虛擬機內的所有東西都是與虛擬機外隔離的
  • 虛擬機壞了或是出問題可以很容易的刪掉重新安裝一個新的
  • 透過虛擬機測試未知的軟體可以避免我們的電腦受到影響

大家再拿到一個不確定安不安全的檔案/程式時,可以先在虛擬機中執行或測試,確定安全沒事後再安裝到我們的電腦上。

中毒後的解決辦法:

在覺得自己的電腦中毒了以後,要在第一時間斷網,切斷惡意程式對外的任何聯繫
這麼做無法挽回惡意程式已經造成的傷害,但能避免它造成更多的影響和傷害

可以透過防毒軟體或是救援軟體將病毒移除後恢復資料,但做法會因不同的惡意程式而異,較難提供一個萬用的方法改大家,因此建議大家尋找專業的協助,將傷害降到最低。

權限管理

團隊成員權限管理:

在秀煜的事件中,被駭的是秀煜主要的帳號,因此駭客取得了所有的權限。
如果今天是一個由五個人共同經營管理的頻道,只要其中一個人被駭了駭客就能取得頻道的控制權,那麼他們頻道被駭的可能性是不是就變成一人團隊的五倍?

youtuberhack permission

上圖左為Google品牌帳戶中能設定的不同權限,上圖右為Facebook粉絲專業中可以設定不同權限。

透過良好的權限管理,可以在真的發生帳號被駭的時候將影響降到最低。。

假設團隊成員A的工作內容是負責跟廠商聯絡、洽談業務的話,那麼就不需要提供A上傳影片或發文的權限,更別說是更改頻道名稱或是管理其他成員這種更高階的權限了,這樣即使A的帳號被盜了,也無法對頻道跟帳號進行太多的更改或是變動。

第三方軟體權限管理:

現在有許多好用的第三App可以幫我們管理社群軟體,像是排程發文、切割照片九宮格發文等等。
在使用這些第三方軟體時要避免直接將帳號密碼提供給他們,畢竟我們不知道他們會如何使用我們提供的資訊以及是否有好好的保護我們的帳號密碼,這麼做的話會提高我們帳號的安全性。

要使用第三方軟體的話建議使用開放授權OAuth的方式,在管理跟安全上是比較好的做法。(詳細作法和原理請看開放授權 OAuth2.0)

優點:

  • 不需要提供第三方軟體你的帳號密碼
  • 他們擁有的權限是取決於你授權給他們什麼權限
  • 隨時可以在上收回第三方軟體的權限

類似的攻擊事件

最近國外也有不少YouTuber也遭遇到類似的事件,但方法不太一樣。這些攻擊中駭客沒有使用惡意程式,而是透過進階版的釣魚網站來取得權限。

一般的釣魚網站:
一個很擬真的假網站,而這個網站會做的只是記錄受害者輸入的帳號密碼,透過這種方式蒐集很多人的帳號密碼。
如果受害者有使用像是Google 驗證器這種雙因素驗證的話,即使駭客拿到了帳號密碼,也無法登入他們的帳號。

進階的釣魚網站:
在釣魚網站中加入了中間人攻擊
(以Google為例)這個假的Google網站不只會記錄使用者輸入的資訊,還會及時將這些使用者資訊送去給真正的Google網站,然後按照Google的指示對受害者發出相對應的指令。
如果Google要求要用Google驗證器驗證,那麼駭客就會在假網站上要求使用者輸入Google驗證器上的密碼。
如果Google要求要用簡訊驗證,那麼駭客就會在假網站上要求使用者使用輸入簡訊驗證碼。
駭客在收到使用者的回覆後馬上再將資料提供給Google,因此從Google和使用者的角度來看,都不像是駭客攻擊。
要防範這類型的就要透過仔細檢查網址,因為不管這個網頁做得再像,畢竟還是一個釣魚網站,再怎麼樣網址也不會是Google的網址。

要對付進階的釣魚網站最有效的方式是U2F實體金鑰。

U2F 實體金鑰

youtuberhack yubikey

Yubico公司所推出的第五代YubiKey系列實體金鑰 。(圖片來源:Yubico - Discovery YubiKeys)

使用方法: 登入時在電腦上插入這個實體金鑰,並按一下金鑰上的按鈕就可以進行驗證

優點:

  • 各大公司跟平台都有支援U2F標準FIDO 2.0,在Windows、Mac、Android、iPhone上都可以使用。
  • 一個實體金鑰可以用在很多不同的地方,並不是說一個金鑰只能給一個帳號用,也就是說一個實體金鑰可以同時給Google、Facebook、微軟等等的帳號用。
  • 實體金鑰上不會儲存任何你的私人資訊,弄丟了也不用擔心駭客可以從他上面拿到你的資訊。
  • 內建的防釣魚功能。當我們在帳號上綁定實體金鑰時,他會記錄你是在哪個網站綁定的。也就是說當我們在Google上綁定一個實體金鑰後,如果我們想要在一個釣魚網站上登入Google帳戶的話,實體金鑰不會讓我們登入。

前面外國Youtuber的例子中,如果他有使用實體金鑰的話,實體金鑰就不會讓他在釣魚網站上登入,也就能避免被駭了。

以目前來說,符合FIDO 2.0 標準的實體金鑰是最有效能防止釣魚詐騙的一種工具。

開放授權 OAuth2.0

開放授權是一個通用標準,允許使用者在不需提供帳號密碼的情況下,讓第三方軟體存取他在其他網站上的資訊。

youtuberhack oauth2

簡易版的開放授權OAuth 2.0流程為:

  1. 造訪第三方軟體,並選擇要使用開放授權OAuth登入
  2. 第三方軟體將使用者轉至授權方登入頁面(這裡以Google為例)
  3. 使用者在Google上完成登入
  4. Google詢問使用者是否同意此軟體有存取列出項目的權限
  5. 使用者同意後Google將使用者以及授權金鑰送回第三方軟體
  6. 第三方軟體在取得授權金鑰後會以該金鑰向Google請求讀取使用者授權的資料
  7. Google在確認過金鑰和權限後將資料回傳給第三方軟體
  8. 第三方軟體在收到資料並確認後,便將使用者登入

使用者看到的畫面會是:

youtuberhack oauth1

第三方軟體(這裡以Adobe為例)上會有使用公開授權登入的選項,圖中的Google、Facebook、Apple都是公開授權的身分驗證提供單位。

youtuberhack oauth2

我們選擇了Facebook後,會被帶至Facebook的登入頁面。

youtuberhack oauth3

登入Facebook後,Facebook會問我們是否要授權給Adobe登入。

youtuberhack oauth4

點選編輯還可以看到我們會提供那些資訊,以及選擇是否要提供。

確認過後按下”以Jeff的身分繼續”的按鈕,我們就會被帶回Adobe的網站並完成登入了。