文/陸超逸
論文Hiding in Plain Sight:A longitudinal Study of Combosquatting Abuse是一篇純測量文章,主要關(guān)注了 Combosquatting 這種域名注冊現(xiàn)象,并對它進行了第一次的系統(tǒng)性研究。Combosquatting 的特點是,通過向知名域名添加其他關(guān)鍵詞的方式,構(gòu)造并注冊新的域名(例如alipay-login.com);這種域名可以用于釣魚、惡意軟件傳播、APT攻擊、品牌濫用等行為。作者通過測量發(fā)現(xiàn),這樣的域名規(guī)模非常龐大,達到百萬量級,并且活躍時間非常長;案例分析表明,已經(jīng)有一些這樣的域名被用于惡意用途或攻擊。
在商標領(lǐng)域,如果有一個品牌做大了(比如:奧利奧),就會有很多“山寨品牌”希望靠模仿來迷惑消費者(比如:澳麗澳、粵利粵等)。在域名注冊領(lǐng)域也是一樣,有一些投機者通過域名搶注(domain squatting)的方式來大量注冊他們認為有價值的域名,吸引來自用戶的流量。以往的工作已經(jīng)研究了以下幾種搶注方式,可以用圖1來總結(jié):
(1)Typosquatting,包含typo(偶然手抖打錯,例如baiud.com)的域名。我們在輸入域名時經(jīng)常會因為不小心敲錯而訪問錯誤的網(wǎng)址;因此,通過注冊這樣的域名,可以獲取來自用戶的偶然流量。之前跟大家分享的[1]中已經(jīng)提出,如果有域名的管理員將權(quán)威服務(wù)器NS記錄不小心打錯了,就可能產(chǎn)生劫持。[2]中詳細給出了5種構(gòu)造Typosquatting域名的方式。
(2)Bitsquatting,出現(xiàn)比特反轉(zhuǎn)的域名(例如:yo5tube.com)[3]。處理DNS請求的各個服務(wù)器的硬件問題,導致域名的某一位出現(xiàn)比特反轉(zhuǎn),解析的域名變成了其他域名。根據(jù)Verisign的統(tǒng)計[4],每1M~10M個DNS請求就會出現(xiàn)一個比特反轉(zhuǎn)導致錯誤的請求。通過注冊這樣的域名獲取的仍然是偶然流量。
(3)Soundsquatting,用同音構(gòu)造的新域名(例如:yewtube.com、baidoo.com)[5]。
圖1 幾種域名搶注方式及示例
(4)Homograph,通過用長得比較像的其他字符替代品牌里面的字符,使得新的域名和品牌域名相似,具有迷惑作用(例如:y0utube.com、ba1du.com)[6,7]。自從引入了國際化域名(IDN)以來,因為不同語言中長得像的字符數(shù)量增多了,這種域名顯著增多。我們在DSN 2018發(fā)表的文章[8]中詳細研究了這個問題。
而論文研究的Combosquatting是另外一種。類似于“六個核桃”變成了“六個核桃花生露”、“六個核桃三個棗”,在知名域名的基礎(chǔ)上加上一些關(guān)鍵詞形成新的域名,同樣也是起到迷惑用戶的作用。圖2給出了幾個示例。
Combosquatting的原理非常簡單,有以下特點。
(1)知名域名的名字原封不動借用過來,不作任何改動。
(2)理論上講,注冊者的“創(chuàng)作”空間是無限的:可以在前面或后面加(jibber-baidu.com、baidu-jabber.com)、可以加任意長度(omg-baidu.com、tgif-baidu.com)、可以加任意詞匯(oh-baidu.com、really-baidu.com)。這也是Combosquatting與上面幾種注冊現(xiàn)象的區(qū)別:給定一個知名域名,是可以窮舉,把上面幾種方式所有能構(gòu)造出來的域名列出來的,而Combosquatting不行。
(3)需要注意的是,為了方便觀察,在這篇總結(jié)里面所有的Combosquatting域名例子,單詞之間都添加了連字符 -。真實的域名注冊案例可能是沒有的。
Combosquatting域名的應(yīng)用范圍主要包括以下幾個方面:
(1)釣魚。例如apple-security-center.com、iphone-location.com,具有迷惑性。
(2)惡意軟件分發(fā)。僵尸網(wǎng)絡(luò)C2域名。
(3)商標濫用。vicroriasecret-outlet.org模仿維秘,賣假貨。
(4)社會工程,收集PII(Personal Identifiable Information)。
(5)APT攻擊。
圖2 Combosquatting域名示例
對于Combosquatting這種現(xiàn)象,我們在測量過程中需要依次解決以下問題:有哪些知名域名被模仿了?如何識別Combosquatting這樣的域名?該域名有什么特點?這樣的域名都被拿來做什么了?
1. 有哪些知名域名被模仿了
答案當然是知名的、訪問量高的域名。因此,作者選用了美國Alexa Top 500的域名作為可能的受害者(注:為什么是美國的品牌?可能是因為大多數(shù)域名都是英文的)。但是,需要手工剔除一些品牌,因為它們用的單詞非常普通,或者非常短,會產(chǎn)生相當多的誤判(例如,不能說apple-pie.com模仿了apple.com,或者bikeandride.com模仿了ikea.com)。
作者通過手工篩選,留下了246個知名域名作為研究對象,這些知名域名被手工分為22個類別。
2.如何識別Combosquatting域名
根據(jù)Combosquatting域名構(gòu)造的原理,給定一個知名域名,要識別其實非常簡單:在現(xiàn)有活躍的所有域名里面,如果一個域名完整包含了這個知名域名,那么它就可以算是Combosquatting域名。
圖3顯示了作者收集的數(shù)據(jù)。作者通過5年中某運營商提供的Passive DNS記錄和1年的Active DNS記錄,獲取了這段時間內(nèi)活躍的域名列表。除此之外,還有4個公開的域名黑名單,以及公開的證書信息。
圖3 數(shù)據(jù)收集
圖4 Combosquatting域名的判定
圖4顯示了給定一個知名域名,如何判定Combosquatting域名。前面已經(jīng)提到過該方法的核心是,看一個域名里面有沒有完整包含知名域名的名字;那么,對上一步的域名列表中的每個域名,依次搜有沒有包含246個知名的名字就可以了。需要特別說明的是,Typosquatting域名也有可能會滿足這個條件,因此需要剔除掉。這一步發(fā)現(xiàn),符合條件的域名數(shù)量非常多,已經(jīng)達到百萬量級。
圖5顯示了如何識別Combosquatting濫用(Combosquatting abuse),也就是現(xiàn)在已經(jīng)被拿去干壞事的Combosquatting域名。將上一步檢測出來的Combosquatting域名列表和黑名單比對,如果一個域名已經(jīng)在黑名單里面,那么就算作濫用。
圖5 Combosquatting域名濫用的判定
3.Combosquatting域名的特點
對于這些域名,通過域名列表、Passive DNS解析記錄、證書信息等,可以得到以下特點。
(1)與Typosquatting的區(qū)別:Typosquatting的構(gòu)造方式是有限的,而Combosquatting是無限的。事實上,檢測出的Combosquatting域名也比Typosquatting域名數(shù)量多得多,高出兩個數(shù)量級,如圖6所示。
圖6 兩種域名搶注的數(shù)量比較
(2)很多Combosquatting域名具有證書。這是因為,域名如果要達到迷惑用戶的效果,更多的是依靠與用戶的交互(比如,把網(wǎng)站做成釣魚網(wǎng)站),而不是像Typosquatting域名一樣獲取偶然流量。
(3)雖然Combosquatting域名具有無限的構(gòu)造空間,但是實際上這些注冊者會精心構(gòu)造域名、精心選詞。通過分詞作者發(fā)現(xiàn),90%的Combosquatting域名只有2~3個英文單詞。這一點容易理解,不會有用戶愿意敲非常長的域名,非常長的域名通常是可疑的。
(4)Combosquatting域名通常具有較長的活躍期。圖7表明,有50%以上的Combosquatting域名活躍超過100天;惡意的域名活躍時間更長。
圖7 Combosquatting域名的活躍期
圖8 惡意Combosquatting域名的檢測滯后時間
(5)現(xiàn)在的惡意域名檢測系統(tǒng)對于Combosquatting域名的檢測效果并不是很好,主要表現(xiàn)在檢測的滯后性。圖8顯示,有30%左右的惡意Combosquatting域名在被列入黑名單之前100天就已經(jīng)開始活躍了。
(6)惡意的Combosquatting域名的指向更集中,有個別的網(wǎng)段和AS具有非常多這樣的域名??赡苁且驗閟inkhole,以及允許惡意域名長期存活的AS數(shù)量本身不多引起的。
4.這些Combosquatting域名都被用來干什么了?
作者通過瀏覽器示例,爬取了1.1M個Combosquatting域名的HTML頁面。目前對頁面內(nèi)容進行準確分類仍然是比較難解決的一個問題,因此作者采用了圖9的過濾方法,將頁面分為三類。
圖9 頁面內(nèi)容分類方法
(1)Affiliate abuse:這些頁面通過affiliate ID跳轉(zhuǎn)到一些知名的網(wǎng)站,以此獲取提成。
(2)Phishing:頁面和知名網(wǎng)站頁面非常像(通過感知哈希比較),并且有登錄框。
(3)其他:無法進行準確分類,通過人工抽樣(8700個)來觀察。
這一步共發(fā)現(xiàn)2573個域名涉及affiliate abuse、174個域名涉及釣魚,還有1165個其他類別的域名被判定為惡意。
在案例分析部分,作者發(fā)現(xiàn)在2016年10月30日,有505個Combosquatting域名指向同一個IP集合。因此,使用python requests爬蟲爬取了兩次這些域名的頁面,如圖10所示。第一次使用默認設(shè)置(模擬自動爬取系統(tǒng)),第二次指定User-Agent為Chrome瀏覽器(模擬真實用戶)。比較有意思的是,發(fā)現(xiàn)了一個域名在兩次爬取表現(xiàn)的行為有不一致,因此是在對自動系統(tǒng)隱藏一些它背后的動機。經(jīng)過手動訪問進行確認,這個域名和惡意軟件有關(guān)。
Combosquatting是一種原理非常簡單且不難發(fā)現(xiàn),但是沒有被系統(tǒng)研究過的域名注冊現(xiàn)象。文章的題目也說明了這一點(Hiding in plain sight:看起來是隱藏的,但是非常容易被發(fā)現(xiàn))。它最大的特點是構(gòu)造空間是無限的,并且沒有固定的生成模式。
作者通過知名域名篩選、解析記錄分析、頁面爬取等步驟,對Combosquatting域名的構(gòu)造特點、解析特點、使用場景進行了測量。文中得到的主要結(jié)論包括:
第一,Combosquatting現(xiàn)象非常普遍存在,并且比Typosquatting等之前研究過的現(xiàn)象流行得多;
第二,即使構(gòu)造空間是無限的,注冊者在構(gòu)造Combosquatting這樣的域名的時候,會精心選詞;
第三,現(xiàn)在的惡意域名檢測系統(tǒng)對于Combosquatting域名的濫用檢測存在比較大的滯后性;
第四,一些Combosquatting域名非常集中地指向一些網(wǎng)段和AS;
第五,從黑名單和案例分析中看到,Combosquatting域名已經(jīng)涉及到一些惡意行為,例如釣魚、惡意軟件、APT攻擊、個人信息收集等。
圖10 頁面爬取方法