偽裝成重要的東西的一個特別伺服器或電腦,公司會把它取名叫密碼資料庫或是機密文件資料庫等等看起來重要的名稱。
Honeypot 唯一的目的就是為了吸引駭客和攻擊者,除了吸引攻擊者外沒有任何其他的作用,因此不管是外面的駭客或是公司內部的員工,如果有任何人嘗試連到 Honeypot,都是很可疑的。
公司會將 Honeypot 用來監視系統中是否有惡意的活動,有的 Honeypot 內還會有監控軟體,觀察著連到 Honeypot 的人做了哪些事,到底想幹嘛。
也有很多資安公司和防毒軟體公司會在公開的網路上架設很多 Honeypot,利用他們來搜集和調查最新的駭客攻擊手法以及惡意程式的樣本。
Canarytoken 是由一家叫做Thinkst的資安公司推出的服務,這家公司主要在做的就是提供企業跟組織 honeypot 的相關服務,Canarytoken 是他們在 2015 年推出的一個免費而且開源的服務。
Canarytoken 的概念跟 Honeypot 有點類似,但在使用上更容易也更方便。
Canarytoken 簡單來說就是一個可以被放在很多不同地方的感應器,目的跟 Honeypot 一樣,是用來吸引駭客或是監視有沒有可疑的活動。但在使用上,Canarytoken 不像 Honeypot 那樣需要架設一台專門的電腦或伺服器那麼複雜。
Canarytoken 官網:https://canarytokens.org/
Canarytoken 官方說明文件:https://docs.canarytokens.org/guide/
Canarytoken 原始碼:https://github.com/thinkst/canarytokens
Canary(金絲雀)在過去科技沒有那麼進步的時候,會被很多礦場用來偵測毒氣。
金絲雀對於瓦斯和毒氣很敏感,只要空氣中有瓦斯或是毒氣,他們就會很焦躁發出很多聲音,因此過去很多礦工會在深入地底挖礦的時候帶著金絲雀,如果發現金絲雀開始焦躁不安或甚至是死了,他們就會知道礦場中有過多的瓦斯和毒氣,可能會有生命危險,應該要儘快離開。
後來金絲雀 Canary 這個詞就有了預警、警告的含義。這也是為什麼 Canarytoken 會使用 Canary 這個字了。
Canarytoken 的使用方法非常的簡單
他們提供的 token 格式非常的多元,從一些基本的像是網址、email、文件檔案或是 exe 執行檔,到一些比較進階的像是 DNS、資料庫、金鑰和 API 等等
當這些 token 被觸發的時候,Canarytoken 會寄 email 通知我們
除了 email 以外,還會提供我們一寫有關觸發 token 的人的資訊,像是他的 IP 是什麼?他使用的是哪些系統等等的基本資訊。這些資訊也會因為使用的 token 格式不同而有一些變化,有些格式的 token 可以蒐集到很多資訊,但有些就只能知道最基本的資訊。
官網的說明文件不只有教我們怎麼使用,還提供了一些常見的用法。
這邊舉幾個例子跟大家分享
最簡單的方式就是利用 Word 或是 PDF 之類的文件檔
透過 Canarytoken 生成了我們需要的文件檔以後,我們可以把它命名為「帳號密碼」或是「銀行帳戶」之類的看起來很重要的檔案,然後把它放在我們的電腦、外接硬碟、或是雲端上。
如果有人打開這些文件偷看的話,他就會觸發這個 Canarytoken,我們就會收到 email 通知。
我們也可以建立網址或是 email 地址形式的 Canarytoken,任何人點開了連結、或是寄信到這個 Email 的時候,就會觸發這些 token,我們就會收到通知。
使用方法跟文件檔有點像,但多了一些變化性,我們可以把這個網址或是 email 地址放在一些看起來很重要的文件裡面吸引攻擊者去點他。如果有人打開了這個連結或是寄信到了這個 email 地址,可能就代表我們的電腦被入侵了。
我們也可以把這些資訊透過 email 寄給自己,在 email 的標題寫上聳動吸引人注意的內容,並且把 email 留在收件夾裡不要刪掉。這樣如果駭客入侵了我們的 email 帳戶,在信箱裡面尋找重要資料的時候就有可以不小心打開這些 Canarytoken,讓我們知道。
如果是有自己架網站的人,我們可以利用 Canarytoken 來建立一些假網頁並且把這個假網頁放在我們網站上正常人不可能會造訪的地方,如果 token 被觸發了就代表可能有人正在掃描我們的網站,我們就可以多加注意接下來可能會發生的攻擊。
在資料庫上的應用的話,我們也可以配合 Canarytoken 建立一些假資料,並把他們存在資料庫中。因為是假資料,所以在正常使用資料庫的過程中應該不會讀取到這些資料。
如果有人想要對整個資料庫的內容做讀取或是變更的話,就會觸發到這些假資料中的 Canarytoken,讓我們知道有人正在試圖做這些事。
資安公司 NCC Group 就找到一個辦法可以透過 Canarytoken 來監測一款勒索軟體 Ryuk 的活動。
NCC Group 知道 Ryuk 在發動攻擊以前會先殺掉一些電腦上正在運行的服務,來避免他們的攻擊行動會被干擾。因此 NCC Group 就在電腦上透過含有 Canarytoken 的軟體,監控著電腦上正在運行的服務和數量,如果有服務不正常的被大量關閉,含有 Canarytoken 的軟體就會被觸發並且發送警示通知管理者。
NCC Group - Deception Engineering: exploring the use of Windows Service Canaries against ransomware
雖然說 Canarytoken 很方便也很好用,但我想要在這邊提醒大家一下他還是有許多限制,並不是萬能的。
不能因為設下的 Canarytoken 沒有被觸發,就斷定自己是安全的
Canarytoken 讓我們可以透過很容易的方式簡單的監控我們的電腦和帳戶,提供我們多一層的警示。
但大家在使用的時候不要只仰賴 Canarytoken 來告訴你你安不安全,還是要搭配其他的防護措施和工具,像是防毒軟體、好的使用習慣等等的,建立起由多層防護所組成的縱深防禦才會是最好的方法。