跟蹤NSO集團Pegasus間諜軟體(下)
在上篇文章中我們對Pegasus間諜軟體有所瞭解,本文我們將為大家介紹DNS快取探測技術。
4. DNS快取探測技術
本節介紹我們的DNS快取探測技術。
DNS及快取探測的背景知識
當用戶(或計算機程式)指示計算機或移動裝置與域名通訊(例如,www.citizenlab.ca)時,裝置首先向域名伺服器(DNS)傳送請求,以便獲取域名對應的IP地址。預設情況下,裝置與所連線的ISP或電信公司的DNS伺服器通訊。
DNS伺服器臨時快取IP地址和域名之間的對映,通常持續時間由域名所有者指定(例如,300秒)。當裝置查詢不在伺服器快取中的域名時,伺服器會聯絡其他DNS伺服器以“遞迴”解析域名,然後將該記錄儲存在快取中。當裝置查詢已在伺服器快取中的域名時,伺服器將從快取中返回記錄以及生存時間(TTL),該值指示伺服器中的記錄何時到期。如果伺服器返回的TTL值小於域名所有者設定的值,那麼DNS伺服器返回的記錄存在於快取中,因此被其他一些ISP使用者查詢。
還可以將查詢傳送到DNS伺服器,並將Recursion Desired標誌設定為0(稱為非遞迴查詢),向伺服器指示它應該只在響應之前查詢其快取;如果記錄不在快取中,則伺服器不應聯絡其他伺服器以嘗試解析域名,並且不應向其快取新增任何內容。某些DNS伺服器可能會選擇忽略此標誌。
為了觀察不完整的TTL,向DNS伺服器傳送查詢(無論是非遞迴的還是遞迴的)是一種稱為DNS快取探測或DNS快取偵聽的技術。2004年DNS快取探測的原始簡報的作者認為它對安全性和隱私有害,並建議DNS伺服器的運營商(如ISP)應阻止並非源自自己網路的DNS查詢。實施這樣的預防措施會使單個觀察者更難直接探測DNS伺服器的快取。 2006年對殭屍網路C&C伺服器的調查採用DNS快取探測;在這種情況下,作者已經探測過對某些域名具有權威的DNS伺服器,而不是DNS轉發器。
即使在ISP阻止來自非ISP使用者的DNS伺服器請求的情況下,有時也可以通過ISP網路上的開放DNS轉發器來探測DNS伺服器的快取。開放式DNS轉發器是一種接受來自任何Internet使用者的查詢的服務,並且可以將未被呼叫的查詢轉發給ISP伺服器,然後ISP伺服器響應轉發器,轉發器又響應使用者。從ISP的DNS伺服器的角度來看,查詢的提交者(轉發器)在ISP的網路上。開放式DNS轉發器可能在未正確配置的路由器或IoT裝置上執行。
注意: DNS快取探測中的規範
為了與網路測量研究中越來越重視道德規範保持一致,我們考慮了我們的技術活動對非研究目標的影響,並尋求最小化任何中斷的可能性。值得注意的是,我們檢查了使用者成本,服務中斷或其ISP發出的意外警告的可能性。我們認為,這項研究的開展方式可以減輕這些風險,並符合公眾利益。
首先,我們考慮了使用者可能因DNS快取探測而導致成本或服務中斷的可能性。鑑於活動期間提出的請求數量很少,我們認為這是一個非常不可能的結果。部署後,該技術每個IP地址每秒產生的請求少於一個,因此每秒小於1千位元組。所以,總流量每天小於100兆位元組。為了進一步減少探測域名的權威名稱伺服器上的負載,我們僅使用非遞迴查詢。因此,我們預測不會導致使用者產生成本或頻寬下降。
我們確定,由於我們的DNS快取探測,使用者不太可能收到來自其ISP或其他機構的不受歡迎的查詢。當然,開放式DNS轉發器是主要的Internet安全風險,因為它們可能用於DNS放大DDoS攻擊。這種大規模攻擊可能會引起ISP或其他機構的注意,並觸發ISP的查詢或制裁。相比之下,DNS快取探測是一種非常低容量的活動。如果一個開放的DNS運營商尚未收到其ISP的聯絡人,我們認為這種技術不太可能觸發聯絡人,因為它看起來不像“類似攻擊”。
在撰寫本文時,我們並未發現惡意實際攻擊中使用DNS快取探測的任何證據。隨著DNS快取探測技術不斷髮展成為一種研究工具,確保以不會出現隱私和安全問題的方式繼續使用它將非常重要。
尋找合適的DNS轉發器
我們首先開發一個合適的DNS轉發器列表。我們執行三個測試來回答以下問題:
1.轉發器使用尊循非遞迴查詢的解析器嗎?我們為控制的域名的隨機子域傳送非遞迴查詢,並檢查是否得到響應。隨機子域名解析為IP但不應位於任何快取中。我們檢查每個IP兩次;如果我們得到正確的答案,那麼IP不會遵循非遞迴查詢。
2.轉發器使用哪個解析器?我們為控制的域執行自定義名稱伺服器;名稱伺服器返回傳入DNS查詢的源IP作為響應中的答案之一。我們使用針對控制的域的隨機子域的遞迴查詢來查詢每個IP 10次,並收集我們的名稱伺服器返回的IP集合。
3.轉發器是否可以訪問感興趣的快取?我們使用google.com的遞迴查詢連續查詢每個IP 10次。如果IP在Google自治系統(AS#15169)中至少返回一次帶有IP的響應,則轉發器可以訪問感興趣的快取。
DNS轉發器適用於以下情況:
·它尊循非遞迴查詢。
· 轉發器只在單個自治系統(AS)中轉發對解析器的請求。我們排除在多個AS中使用解析器的轉發器,因為當這樣的轉發器顯示DNS快取命中時,我們不知道DNS快取實際發生在哪個AS中。
· 轉發器解析器的(單個)AS由CAIDA的AS分類資料集指定為“Transit / Access”。這有助於避免一些雲提供商和共享DNS提供商,如Google,OpenDNS,Yandex,CloudFlare等。
· 轉發器的解析器的AS不等於我們找到NSO Group伺服器匹配的任何AS。
· 轉發器本身不是解析者;換句話說,轉發器IP不會出現在解析器中。
· 轉發器有權訪問感興趣的快取。
每次我們掃描時,我們的清單包括約38,000個合適的轉發器,不包括中國的轉發器。
瞭解DNS快取探測誤報
DNS快取探測可能產生誤報,即DNS快取探測技術報告該域名在快取中,當它實際上不在快取中時,或者當我們使其在快取中時。這會發生在以下三種情況:
1. DNS轉發器不會始終遵循非遞迴查詢;它可以將一些查詢子集轉發給不支援非遞迴查詢的解析器。這可能導致我們的查詢將域名新增到快取。
2. DNS轉發器可能會返回我們在(1)中新增到快取中的條目。即使對於在100%的時間都遵守非遞迴查詢的DNS轉發器,也會發生這種情況。
3.自動化流程或好奇的研究人員可能會觀察我們的DNS快取探測併發送我們正在探測的域名的DNS查詢;這可能會將域名新增到我們正在探測的快取中。
我們進行了幾項對比實驗,以確定如何更好的排除誤報。在我們的對比實驗中,我們選擇了50個具有萬用字元記錄和至少300秒TTL的域名,然後生成一個隨機字串用作子域,並在所有解析器上連續查詢所有50個域名(帶子域)大約每300秒按固定順序排列,確保每300秒至少查詢一次每個域名。我們進行了24小時的實驗。
我們在對照實驗中收到的任何結果都被視為誤報。我們開發了一套啟發式方法,在這些實驗中將誤報率降低到0,並認為這些相同的啟發式方法可以幫助我們從間諜軟體域名的DNS快取探測研究中消除許多誤報。這些是我們用於消除結果誤報的條件:
1.排除同一查詢的重複觀測值:對於每個DNS伺服器響應,我們檢查觀測值是否重複。具體來說,如果給定域名的響應在n秒前針對同一域名的響應(來自任何DNS轉發器)之前,並且先前響應的TTL與當前響應相差n(±2),那麼我們排除了目前的響應。
2.即使時鐘以不正確的速率執行,也要排除可能的重複觀測值:對於每個ASN,如果其TTL小於或等於任何DNS轉發器為同一ASN返回的該域名的前一記錄,排除記錄(或IP)。我們實現了這個條件,因為對於某些ASN,我們確定了單調非遞減的TTL序列(對於具有大TTL的域名),這些序列與以不正確速率執行的時鐘相對應,並且懷疑這些可能是誤報。
3.使用不正確的TTL排除任何觀察結果:我們排除TTL大於域名DNS伺服器設定的TTL的所有觀察結果,2個TTL內的所有觀察結果,以及用流行的固定TTL值(0,1,9,10,11,30,60,80,100,300,1000,10000)進行的所有觀察。
4.排除來自DNS轉發器的所有響應,這些響應會返回錯誤答案:如果DNS轉發器在響應中返回了錯誤的IP地址,我們也會排除所有響應。
5.排除來自託管域名同一國家/地區的快取的所有響應:對於給定的域名,我們排除了來自託管域名的同一國家/地區的ASN的DNS轉發器的所有DNS快取響應。例如,如果域名指向義大利的IP地址,我們會將義大利的所有DNS快取命中率排除在該域名之外,作為潛在的誤報。
6.排除不常見的響應:除非給定ASN中的解析器返回至少四個未被排除的特定域名的響應,否則我們會從ASN中排除該域名的響應。
我們排除結果的條件非常寬鬆,可能導致漏報。請注意,當我們說我們排除了響應時,我們的意思是響應未包含在最終結果中。我們繼續將被排除的響應視為排除其他響應的理由。
為什麼域名在快取中?
域名在快取中的原因有很多(假設我們沒有意外地將其放在那裡)。我們只對可能由感染引起的快取條目感興趣。我們簡要介紹了NSO的Pegasus間諜軟體部署如何運作的工作模型,並得到了NSO集團基礎設施分階段關閉的證據支援。
我們部署Pegasus間諜軟體的心智模型是,大多數運營商都有兩臺C&C伺服器,大多數感染者都與這些伺服器通聯,其餘的基礎設施包含漏洞連結中使用的域名。在國際特赦組織和Citizen實驗室於2018年8月1日釋出有關使用Pegasus間諜軟體的報告後,Pegasus基礎設施分階段進行關閉。起初,大部分前端域名被關閉,而少數最終域名(通常是兩個)對每個運營商保持活躍狀態。我們認為這些是C&C伺服器,並且域名保持線上狀態,以便受感染的裝置有機會在新的C&C伺服器上進行訊號切換並接收指令,以便與之通訊。
如果給定的運營商恰好有兩個最終域名,我們假設這些是C&C伺服器。如果運營商擁有兩個以上的最終域名,我們假設大小為2的某個子集是C&C伺服器。我們沒有確定DNS快取探測技術報告的任何運算子在最終域名的大小為2的不同子集上的命中。然後,我們過濾了對ASN的反應,這些反應在兩個假設的C&C域名上都有命中,並認為這些是疑似感染。
實驗
一旦我們開發了減少誤報的技術,我們就為關聯到NSO Group的基礎設施的所有域名探測DNS快取,這些域名是活動的並且匹配我們的指紋。我們在TTL期間至少查詢過一次域名。由於存在大量域名和伺服器,以及我們希望節省頻寬,我們交替使用了正在探測的域名。每個域名在三天的週期至少被探測過。
可能的限制
諸如使用VPN和衛星網際網路連線等因素可能會歪曲地理定位結果。因此,這隻能作為進一步調查的指南,而不是監測的鐵證。此外,DNS轉發器的異常配置(例如使用一致性雜湊來諮詢不同域名的不同解析器)可能會破壞我們的過濾技術並引入誤報。
我們不確定我們的方法可以觀察到所有DNS查詢的百分比,並注意到不同國家和ISP的百分比可能差別很大。因此,我們的技術可能已經錯過了大量的感染,並且可能無法完全衡量某些國家或ISP。重要的是,我們的結果中出現了在一個國家/地區的運營商實際上在多個國家/地區運營。我們沒有在中國大陸進行任何DNS快取探測。
5. 總結
本報告確定了45個國家存在疑似Pegasus間諜軟體感染的運營商,其中至少有33個是NSO的客戶。我們通過對從命令和控制(C&C)伺服器中提取的域名執行DNS快取探測來確定這一點,這些伺服器匹配新設計的Pegasus指紋。我們將C&C伺服器分組,每個組使用我們稱之為Athena的技術代表單個Pegasus運營商(假設為NSO客戶)。由此產生的NSO的Pegasus感染全球地圖揭示了一些迫切需要關注的問題。
已知間諜軟體的濫用者運營Pegasus
雖然一些NSO的客戶正在使用Pegasus間諜軟體作為“合法”刑事或國家安全調查的一部分,但至少有六個擁有重要Pegasus業務的國家有公開濫用間諜軟體針對民間社會的歷史。
儘管有充分的證據表明Citizen Lab和我們的合作伙伴在2017年發現了Pegasus針對墨西哥民間社會的大量證據,但墨西哥的三名Pegasus運營商似乎仍在運作。墨西哥有針對性的攻擊引發了國際抗議和刑事調查。但是,沒有導致該國所有Pegasus業務的終止。
2016年,Citizen Lab暴露Pegasus針對阿聯酋人權捍衛者ofollow,noindex">Ahmed Mansoor 。儘管該披露引起公眾的強烈抗議,但基於阿聯酋的Pegasus部署仍在運作。最近,與沙烏地阿拉伯相關的行動仍在繼續,儘管最近調查將其與國際特赦組織工作人員和沙特政治活動家聯絡起來。
巴林是另一個擁有Pegasus運營商的國家,它以濫用間諜軟體針對民間社會而臭名昭著。值得注意的是,與巴林有關的運營商正在使用具有政治主題的域名,鑑於該國濫用監控技術的歷史,這一點非常令人擔憂。與多哥相關的運營商也在使用政治主題的域名。多哥也有獨裁統治和侵犯人權的歷史。
Pegasus的跨境監視
十個Pegasus運營商在多個國家進行監視。雖然我們觀察過之前的跨境定位案例,但這項調查表明,跨境定位和/或監控是一種相對普遍的做法。此活動的範圍表明,政府專屬的間諜軟體被廣泛用於開展在目標所在國家可能違法的活動。例如,我們已經確定了幾個與美國沒有關聯但可能在美國IP範圍內感染的Pegasus客戶。雖然其中一些感染可能反映了目標使用國外VPN或衛星網際網路服務的情況,但有些國家可能會通過穿透美國境內的裝置來積極違反美國法律。
忽於職守,對全球網路安全不負責
本報告中確定的案件嚴重懷疑NSO盡職調查的深度和嚴重性以及對人權保護的關注。他們還表示,該公司有大量客戶在其他國家/地區維持活躍感染,可能違反了這些國家的法律。政府獨家間諜軟體的全球市場繼續增長,隨著更多政府和具有濫用歷史的安全服務獲得這種技術。像Pegasus這樣不斷擴大的間諜軟體使用者群將使越來越多的國家能夠窺探自己公民的數字生活,同時也可以進入全球各地的手機和電腦。
與NSO組織的關聯
2018年9月14日,Citizen Lab主任Ron Deibert致函兩名NSO負責人Omri Lavrie先生和Shalev Hulio先生,通知他們這份報告的細節,並解釋說我們與記者分享了一份限制副本,完整的釋出他們希望在記錄中傳達的任何回覆。
在2018年9月14日,Hulio先生通過電子郵件回覆說:“我們過去曾多次建議與您和您的同事會面,但不幸的是,我們的請求被忽略了。”Citizen Lab主任和工作人員沒有任何記錄這樣的外展。此外,Citizen Lab並不認為與研究人員舉行私人會議對如此嚴重的公共利益問題進行負責任的公共溝通的適當替代。
Hulio先生還聲稱“與您所作的陳述相反,我們的產品被許可給政府和執法機構,其唯一目的是調查和預防犯罪和恐怖行為。我們的業務嚴格遵守適用的出口管制法律。”Citizen Lab的研究並未談及NSO在營銷、銷售或出口方面的態度。然而,我們的研究繼續展示了一些在實踐中濫用NSO技術的現例項子。這些用途包括NSO集團的政府客戶濫用Pegasus間諜軟體針對民間社會團體、人權維護者、律師、政治家和記者。
2018年9月17日,我們接到了NSO的公開宣告。該宣告提到“NSO被指控經營的國家名單一點也不準確。NSO並未在所列的許多國家開展工作。“這一陳述是對我們調查的誤解:我們報告中的清單是涉嫌NSO感染的地點,它不是可疑的NSO客戶名單。正如在第3節中所描述的那樣,我們觀察到了來自33個不同運營商的DNS快取命中率,其中一些運營商在多個國家/地區開展業務。因此,我們的45個國家名單必然包括不是NSO集團客戶的國家。我們在第4節中描述了我們方法的其他限制,包括VPN和衛星連線等因素,這些因素可能導致目標出現在其他國家/地區。
NSO的宣告還聲稱“NSO的商業道德委員會,包括來自不同學科的外部專家,包括法律和外交關係,審查和批准每項交易,並被授權拒絕協議或取消現有協議,如果有不當使用的情況。 “我們沒有看到有關該委員會成員資格或審議的公開細節,但鼓勵NSO集團披露這些細節。NSO關於商業道德委員會的宣告回顧了Hacking Team“技術專家和法律顧問的外部小組……審查潛在銷售額”的例子。這個“外部小組”是一家單一的律師事務所,其建議Hacking Team並不總是遵循。
向有人權跟蹤記錄有問題的國家繼續提供服務以及高度公開濫用間諜軟體的情況使人們對這種內部機制的有效性產生了嚴重懷疑,如果它存在的話。
更新
2018年9月18日,NSO通過電子郵件將以下內容附加到之前的公開宣告:
Citizen Lab的最新報告存在多個問題。最重要的是,NSO出售產品或我們客戶的國家名單一點都不準確。NSO不會在列出的許多國家銷售其產品。該產品僅被許可在我們的商業道德框架批准的國家/地區運營,而不會在經批准的國家/地區之外運營。例如,該產品專門設計為不在美國運營。
除了我們在美國顯示疑似感染的DNS快取探測技術外,我們此前還觀察到一名疑似墨西哥運營商的目標是美國的一名未成年子女,其中包括Pegasus企圖冒充美國大使館的資訊。此外,作為2016年報告的一部分,我們使用傳送給阿聯酋活動家Ahmed Mansoor的Pegasus連結成功感染了測試手機(當時在美國)。