tk域名免費(fèi)注冊(cè)(tk域名申請(qǐng))
昨日,一位資深的 Web2.0 域名交易者「Hero 桀」在其個(gè)人 Mirror 上發(fā)表了一篇名為《請(qǐng)停止注冊(cè)一切 ENS 域名,因?yàn)樗晃牟恢怠返奈恼隆ero 桀自稱是資深 Web2.0 域名交易者,并曾賣出 xiaomiquan、wuyinli 等多個(gè)知名域名,目前仍持有 ouyi 這一優(yōu)質(zhì)域名。
該文章指出了一個(gè)肉眼不可見的「ZWJ(零寬字符)」所導(dǎo)致的設(shè)計(jì)疏漏,正為 ENS 埋下重大安全風(fēng)險(xiǎn)。該文章在部分加密社區(qū)流傳甚廣,并引發(fā)了部分投資者對(duì) ENS 的質(zhì)疑。
這一問(wèn)題允許多個(gè)肉眼所見完全相同的.eth 域名同時(shí)出現(xiàn)。正如 Web3.0 革新了陳舊的傳統(tǒng)互聯(lián)網(wǎng)一樣,在 Web3.0 時(shí)代,ENS 也為釣魚攻擊帶來(lái)了 Web2.0 不曾出現(xiàn)過(guò)的全新升級(jí)的新方法。
在現(xiàn)階段,「.eth」域名更多的被作為「網(wǎng)名」而廣泛使用,一個(gè)獨(dú)特的 eth 域名就像 Web2.0 時(shí)代的 QQ 靚號(hào)。在這種難以稱之為基礎(chǔ)設(shè)施的應(yīng)用場(chǎng)景下,一些設(shè)計(jì)疏漏雖然會(huì)對(duì)用戶造成困擾,但終歸無(wú)法撼動(dòng) ENS 去中心化域名龍頭的地位。
而在 ENS 的愿景實(shí)現(xiàn)之后,這個(gè)疏漏仍然是可以被忽視的嗎?「Decentralised naming for wallets, websites, & more.」這是 ENS 官網(wǎng)上用醒目的字體所寫的宏大使命。在這個(gè)愿景中,ENS 將成為命名一切數(shù)字資源的域名系統(tǒng)、打開 theblockbeats.eth 就像打開 theblockbeats.info 一樣自然,而此時(shí) ENS 的零寬字符將為整個(gè) Web3.0 世界帶來(lái)深遠(yuǎn)的安全隱患。
零寬字符,讓 ENS 距離成為 Web3.0 基礎(chǔ)設(shè)施更遠(yuǎn)了一步。
我,V 神,打錢
當(dāng)你看到「vitalik.eth」時(shí),你會(huì)認(rèn)為這個(gè)人是誰(shuí)?毫無(wú)疑問(wèn),這一 ENS 域名由 V 神所有。那么,我能否注冊(cè)這一域名呢?按照 ENS 的規(guī)則,這一域名已被注冊(cè),其他用戶自然無(wú)法在注冊(cè)同樣的域名。但值得注意的是,這里僅僅指對(duì)計(jì)算機(jī)而言完全一致的域名。那么,我有沒(méi)有辦法找到一個(gè)和 V 神域名有所不同但看上去又一致的域名呢?
當(dāng)然可以,只要在任意位置插入 ZWJ 即可。
ZWJ(zero width joiner)即零寬字符,這一符號(hào)頗為特殊。對(duì)于計(jì)算機(jī)來(lái)說(shuō),ZWJ 仍然為一個(gè)字符,在 Unicode 字符集中擁有獨(dú)立的編碼,你在 Word 鍵入這一字符它仍會(huì)被計(jì)入字?jǐn)?shù)統(tǒng)計(jì)。而這一字符的寬度卻為 0,也就是說(shuō)對(duì)于肉眼而言,零寬字符完全不可見。
這也就意味著,我只要在「vitalik」這一單詞中任意位置插入零寬字符,即可注冊(cè)一個(gè)肉眼看上去和 V 神域名完全一致的 ENS 域名。

在注冊(cè) ENS 域名時(shí),只要在任意位置鍵入「%E2%80%8C」或者「%E2%80%8D」,即可在單詞中插入一個(gè)零寬字符。這樣,一個(gè) V 神同款 ENS 即可成功注冊(cè)了。如果插入零寬字符之后,依然已被人提前注冊(cè),你甚至可以插入連續(xù)的兩個(gè)、三個(gè)、四個(gè)……多個(gè)零寬字符,直至嘗試到無(wú)人注冊(cè)為止。
做不好域名的 ENS,敘事難以持續(xù)
ENS 不止是 Ethereum 網(wǎng)絡(luò)的重要基建之一,同樣也是 Web3.0 網(wǎng)絡(luò)的重要基建。ENS 的創(chuàng)始人曾公開表示,ENS 的愿景是要做「全球每一個(gè)數(shù)字資源的域名服務(wù)商」。不止是用戶的賬戶名,更是整個(gè) Web3.0 網(wǎng)絡(luò)的命名系統(tǒng)。
還記得早年間關(guān)于 Web3.0 最初版本的想象嗎?去中心化存儲(chǔ)保存文件、去中心化域名提供尋址系統(tǒng)、智能合約擁有鏈上計(jì)算的能力、去中心化錢包充當(dāng)支付通道,在這個(gè)版本的 Web3.0 中,一切都是運(yùn)行于去中心化網(wǎng)絡(luò)、無(wú)需許可、無(wú)審查的,這是一個(gè)真正自由的互聯(lián)網(wǎng)。在這個(gè)版本中,使用 Web3.0 瀏覽器訪問(wèn) theblockbeats.eth 就像你打開 theblockbeats.info 一樣自然。
遺憾的是,這一版本的 Web3.0,至今尚未實(shí)現(xiàn)。且主流瀏覽器至今尚未支持.eth 域名的訪問(wèn)。盡管 ENS 仍在持續(xù)的建設(shè)之中,但它似乎難以成為這一版本的 Web3.0 的主流基礎(chǔ)設(shè)施了。倘若真的建成,也將為 Web3.0 時(shí)代的網(wǎng)上沖浪留下巨大的安全隱患。
仔細(xì)回想一下,你是如何打開這篇文章的?
想必你定當(dāng)是在某處見到了本篇文章的鏈接,鼠標(biāo)或手指的一次點(diǎn)擊,將你帶到了這個(gè)頁(yè)面。而絕非是在地址欄鍵入漫長(zhǎng)的一串 https://www.theblockbeats.info/news/28611 。毋庸置疑,幾乎所有的用戶,都在使用 URL 進(jìn)行網(wǎng)上沖浪。一個(gè)又一個(gè)縱橫交錯(cuò)的超鏈接構(gòu)成了我們當(dāng)今時(shí)代的互聯(lián)網(wǎng),超鏈接組織起了互聯(lián)網(wǎng)的繁雜信息、超鏈接為搜索引擎提供了尋找信息的技術(shù)基礎(chǔ)、超鏈接為信息提供了開放自由的互聯(lián)通道,可以說(shuō)沒(méi)有超鏈接,就沒(méi)有當(dāng)今世界的互聯(lián)網(wǎng)。
基于 ENS 域名的 Web3.0 網(wǎng)站是否可以做到這一切?至少當(dāng)前是極為困難的。因?yàn)樗鼮槲覀儙?lái)了極大的安全風(fēng)險(xiǎn)。
在 Web2.0 時(shí)代,釣魚網(wǎng)站攻擊時(shí)刻都在對(duì)世界網(wǎng)民造成著嚴(yán)重的損失,而這還是在域名無(wú)法重名的情況下。想象一下,你在網(wǎng)上沖浪時(shí)看到網(wǎng)友分享的一個(gè)鏈接,該鏈接「肉眼可見」的是某知名平臺(tái),域名拼寫和真實(shí)地址分毫不差,于是你便點(diǎn)了進(jìn)去。但其實(shí)這是一個(gè)通過(guò)零寬字符偽造的釣魚網(wǎng)站。
當(dāng)用戶只是進(jìn)行點(diǎn)對(duì)點(diǎn)轉(zhuǎn)賬時(shí),手動(dòng)輸入的習(xí)慣讓零寬字符或許只是一個(gè)無(wú)關(guān)痛癢的惡作劇。而當(dāng) ENS 試圖達(dá)到它的使命、命名一切數(shù)字資源時(shí),這一切都變了。Web2.0 的釣魚只是域名相似,而 Web3.0 的釣魚已經(jīng)迭代為完全一致。這將是一個(gè)重大的安全隱患。
我們處在一個(gè)基于超鏈接編織而成的互聯(lián)網(wǎng)。DeFi、交易平臺(tái)、Web3.0 博客、Web3.0 社交;網(wǎng)站鏈接、dapp 鏈接、API 接口鏈接、一切用例的入口鏈接……若以鏈接形式存在的.eth 域名不再可信,.eth 如何拓展它在「網(wǎng)名」之外的用例?如何成為 Web3.0 基礎(chǔ)設(shè)施?ENS 域名的宏大敘事如何繼續(xù)展開?這一風(fēng)險(xiǎn)或?qū)母鶝_擊 ENS 的估值體系。
而頗為諷刺的是,這一問(wèn)題甚至在 Web2.0 中并不存在。
Web2.0 如何解決這一問(wèn)題?
Web2.0 的解決方案簡(jiǎn)單明了——不支持使用零寬字符和拉丁字母的混排作為域名。具體可參閱《IDN2008 規(guī)范》的「UTS46」標(biāo)準(zhǔn)。
前文我們?cè)岬搅銓捵址?E2%80%8C」和「%E2%80%8D」這兩組神秘代碼。這是 16 進(jìn)制的 UTF-8 編碼。它們的 Unicode 編號(hào)分別為「U+200C」和「U+200D」。這些字符通常被用于在阿拉伯文與印度語(yǔ)系等文字中,用于控制字符間是否產(chǎn)生連字的效果。在其他大多數(shù)語(yǔ)言中,你并不能打出這個(gè)字符。
而在 Web2.0 的域名注冊(cè)中,此類較為特殊的字符并不被接受。但這并不代表 Web2.0 沒(méi)有類似的攻擊手段。事實(shí)上,外形相似的域名所偽裝的釣魚網(wǎng)站,一直在 Web2.0 的世界里廣泛存在。
舉個(gè)例子,你能否準(zhǔn)確的區(qū)分"e" 和"е" 、"a"和"а"、「Ο」和「O」以及「О」?這些字母包括我們頻繁使用的拉丁字母,以及較少用到的西里爾字母和希臘字母。
起初,域名注冊(cè)僅支持 ASCII 字符,即我們口語(yǔ)中所說(shuō)的「英文字母」和阿拉伯?dāng)?shù)字。這也是在世界各地被使用最為廣泛的字符集,幾乎所有支持字符顯示的設(shè)備都支持 ASCII,但卻不一定可以正常顯示其他文字。在 IDN(國(guó)際化域名)普及之后,域名注冊(cè)新增支持了多種語(yǔ)言文字,將支持字符從 ASCII 字符集擴(kuò)展至部分 Unicode 字符集。這讓世界各地的人民均可使用自己的母語(yǔ)注冊(cè)域名,以中文為例,你可以通過(guò)「http://新華網(wǎng). 中國(guó)/」直接訪問(wèn)新華網(wǎng)。
而在如此之多的文字中找到和拉丁字母相似的字符并不是什么難事。這種使用相似字符偽裝成釣魚網(wǎng)站進(jìn)行欺詐的情況逐漸多了起來(lái)。這一欺詐被稱為同形文字(homograph)攻擊。
早在 2001 年,以色列的安全人員發(fā)表了一篇名為《同形文字攻擊》的論文,并注冊(cè)了一個(gè)包含西里爾字母的 microsoft. com 的變體。這也是可考證的第一個(gè) homograph 欺詐域名??梢哉f(shuō),homograph 問(wèn)題在 Web2.0 時(shí)代由來(lái)已久,但其危害性和嚴(yán)重性遠(yuǎn)不及 Web3.0 的 ENS 域名。
我們以一組 IDN 域名為例:??.com、а??рау.com、а??рау.com。打開這些域名,你可以看到什么?

瀏覽器自動(dòng)將域名轉(zhuǎn)換為了以「xn--」開頭的域名,這一編碼方式被稱為 Punycode。
在《IDNA2003》的規(guī)范中,為避免 homograph 欺詐,域名應(yīng)經(jīng)過(guò)二次處理,這一過(guò)程被稱為「兼容性規(guī)范化 (compatibility normalization,NFKC)」。在非 ASCII 字符域名中,所有的字符都可被通過(guò) Punycode 轉(zhuǎn)換為更為通用的 ASCII 字符(「xn--」域名)。這一編碼方式遵循 UTR36 標(biāo)準(zhǔn),已被主流瀏覽器使用,這從用戶端降低了 homograph 攻擊的風(fēng)險(xiǎn)。
同樣,在 IDN 域名的注冊(cè)環(huán)節(jié),ICANN 也做出了相應(yīng)的規(guī)范。各國(guó)域名注冊(cè)組織也在逐漸做出跟進(jìn),例如,俄羅斯的域名管理機(jī)構(gòu)已經(jīng)禁止了.ru 域名中混用西里爾字母和拉丁字母。
ENS 域名無(wú)疑支持著遠(yuǎn)多于 DNS 域名的字符,你不僅可以像 DNS 一樣使用各種文字注冊(cè)域名,甚至還可以使用 emoji 注冊(cè)域名,以及本次被熱議的安全隱患零寬字符注冊(cè)域名。(值得一提的是,emoji 域名并不是 Web3.0 的特例,傳統(tǒng)域名中的「.tk」、「.ws」等根域名同樣也支持 emoji 注冊(cè)。)
而在 Web3.0 中,我們能否通過(guò)相似的手段消除這一隱患呢?
面對(duì) homograph attack,ENS 開發(fā)者態(tài)度曖昧
遺憾的是,ENS 開發(fā)者似乎并不打算從注冊(cè)入口上解決這一問(wèn)題。
在 ENS 社區(qū)的討論中,這一問(wèn)題早在 2021 年 4 月就已被用戶提出。而 ENS 開發(fā)者對(duì)此的解釋是,對(duì)零寬字符的支持是在合約層面的,因此無(wú)法移除對(duì)這些可能被用于欺詐的字符。此外,還有一個(gè)更重要的原因——零寬字符支撐著 emoji 在 ENS 中的應(yīng)用。

ENS 創(chuàng)始人 nick.eth 針對(duì)零寬字符問(wèn)題做出了這樣的回應(yīng):「我們不像 ICANN 對(duì)大部分通用頂級(jí)域名那么嚴(yán)格,像 emoji 這樣的域名就很好的運(yùn)用了 ENS。」「ENS 禁止解析非 UTS-46 規(guī)范的域名并不在合約層面實(shí)現(xiàn)——將規(guī)范寫入合約是不切實(shí)際的——這應(yīng)作為客戶端所需解決問(wèn)題的一部分。」當(dāng)然,他也對(duì)用戶做出了積極的表態(tài),「我們將考慮對(duì)規(guī)范化規(guī)則作出補(bǔ)充,以禁止您發(fā)現(xiàn)的這種情況?!?/span>
emoji 表情符號(hào)數(shù)量繁雜,事實(shí)上,有大量的 emoji 均為基礎(chǔ) emoji 的復(fù)合,例如,「女人」、「零寬字符」、「火箭」三個(gè)連在一起即會(huì)被計(jì)算機(jī)識(shí)別為「宇航員」。通過(guò)零寬字符,可以在精簡(jiǎn)編碼集的基礎(chǔ)上納入更多的表情。而這也是 ENS 支持幾乎所有 emoji 的基礎(chǔ)。因此,ENS 無(wú)法屏蔽掉零寬字符的使用。
前文我們?cè)岬?Web2.0 的「.tk」域名,這是世界上第一個(gè)支持 emoji 的域名,傳統(tǒng)的 Web2.0 域名是如何解決這一問(wèn)題的?在前文提到的《IDN2008 規(guī)范》的「UTS46」標(biāo)準(zhǔn)中,零寬字符在不同文字中的使用、在 emoji 中的使用,均被做出嚴(yán)格規(guī)范。

在 4 月份的討論中,nick 向社區(qū)成員解釋,零寬字符的使用是在智能合約層級(jí)的,「不過(guò),這很好,ENS 的設(shè)計(jì)一直是這樣?!?/span>「白名單規(guī)則在這里沒(méi)用,因?yàn)橛蛎锌梢园鄠€(gè)字符,而不僅僅只是 emoji?!?/span>
風(fēng)險(xiǎn)控制與隱患消除
截至目前,我們尚未看到 ENS 團(tuán)隊(duì)在合約層面有任何修復(fù)這一安全隱患的舉措。所有對(duì)于這一風(fēng)險(xiǎn)的防范均由中心化的 Web2.0 前端所作出。
在 OpenSea,包含零寬字符的 ENS 域名被標(biāo)記上了黃色驚嘆號(hào)。

在 etherscan,存在同樣隱患的 ENS 域名則被標(biāo)記了星號(hào)。

在 Metamask 上,雖然并不會(huì)額外給出風(fēng)險(xiǎn)提示,但 Metamask 可以識(shí)別到字符串中包含一位零寬字符,并用"?"將這一字符顯示出來(lái)。

借助于中心化的手段,ENS 域名的安全風(fēng)險(xiǎn)在一定程度上有所減少。但當(dāng)我們進(jìn)入一個(gè)完全開放的 Web3.0 的世界,中心化的手段又將起到多大的作用呢?如果這隱患無(wú)法消除,ENS 距離他命名一切數(shù)字資源的愿景,仍然相距甚遠(yuǎn)。
在未來(lái)的某一天,有人發(fā)送給你一則網(wǎng)址為 www.binance.eth 的公告鏈接,你敢點(diǎn)開嗎?

如若轉(zhuǎn)載,請(qǐng)注明出處:http://www.qjsdgw.cn/91789.html