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