移動開發構架漫談 反劫持實戰篇

2021-08-04 01:13:30 字數 2595 閱讀 3850

汽車之家是全球訪問量最大的汽車**。為廣大汽車消費者提供買車、用車、養車及與汽車生活相關的全程服務,以全面、專業、可信賴、高互動性的內容,多層次、多維度地影響最廣泛的汽車消費者,是中國最具價值的網際網路汽車營銷平台。

http 劫持是在使用者與其目的網路服務所建立的專用資料通道中,監視特定資料資訊,提示當滿足設定的條件時,就會在正常的資料流中插入精心設計的網路資料報文,目的是讓使用者端程式解釋「錯誤」的資料,並以彈出新視窗的形式在使用者介面展示宣傳性廣告或者直接顯示某**的內容。

dns 劫持又稱網域名稱劫持,是指在劫持的網路範圍內攔截網域名稱解析的請求,分析請求的網域名稱,把審查範圍以外的請求放行,否則返回假的 ip 位址或者什麼都不做使請求失去響應,其效果就是對特定的網路不能反應或訪問的是假**。

優酷客戶端頁面上方的小廣告,並不是優酷所新增的,但是卻出現在優酷應用中。

傳統瀏覽網頁經常會彈出很多彈窗廣告,現在這種情況也移植到移動網際網路上。經常會彈跳出不堪入目的內容,甚至利用更加惡劣的方式彈跳廣告內容。

這是汽車之家的乙個頁面,最後在客戶產生劫持的情況下,直接替換成了另外乙個頁面。

發布「流氓廣告」的廠商以推銷他們的產品形式,將廣告投放到各個應用中。

一些中小運營商或者寬頻運營商,為了節省流量成本,建立很多類似於快取技術,多是做假象,直接在內部做乙個快取。

競爭對手的攻擊,都是屬於劫持類的。應用被非法廣告植入,資料被非法快取,被惡意攻擊,已成為一種危害。

劫持主要是:向客戶端發起乙個請求向dns伺服器,然後去請求我們的ip。這有三個因素,第一來自網路運營商的機房,這時候有一些漏洞,可能會被內部一些人員或者是一些牟利的機構加以利用。對請求的資料還有**進行一些篡改。第二,常見的就是「三大運營商」經常做一些推廣,向應用介面直接發一些他們的推廣資訊。他們會直接去劫持攔截你的資料,返回運營商,提示你充值一些資料。

合法性管理校驗是唯一評判這個資料是否有效的乙個手段。他包括兩個內容,乙個是資料是否完整,還有乙個資料的時效性。

合法性的判斷來說我們還是慣用的,會去用乙個內容生成乙個校驗串,進行乙個驗證。如果校驗串不匹配,會判定為資料是非法的,被篡改的。

時效性的判斷,我們會在資料內容有乙個約定,證明資料產生的時間點,客戶端有乙個校驗保證。針對應用裡邊的頁面內容,會對頁面的內容以及跳轉位址會進行乙個黑白名單的匹配,這樣來去判別這些資料是否是合法的時效性保證的。

首先針對網域名稱劫持來說,如果是dns劫持,根據它的原理dns是指向被篡改的ip,需要打破通用的dns獲取的方式。所以使用一種http dns的技術。這個技術簡單來說就是使用http的方式,將以往的傳統的dns協議替換為http包裝的網域名稱解析的乙個ip位址的集合。如果是針對http鏈路層的解釋,資料篡改的內容,直接對鏈結進行修改的重試,可以讓錯誤的請求有機會通過我們加設的反向**機制,幫助他在獲取正確的資料。

首先這是乙個終端使用者,他以前獲取目標伺服器的方式直接提供網域名稱,訪問目標伺服器。現在如果他根據之前的圖示,他走傳統的dns解析伺服器方式的話,如果遭受dns解析,他可能指向錯誤的伺服器。這個httpdns方式就是打破傳統的dns解析的路徑,將dns通過乙個httpdns伺服器的方式去幫他去從真正的dns伺服器,把目標ip方式返回到終端使用者。使用者再根據返回的真正的ip位址去返回目標伺服器。通過這個方式去對dns劫持方式進行乙個有效的訪問率的反制。有時候他返回的ip可能不止乙個,客戶端拿到ip以後,在客戶端來說是注意加速請求的響應,客戶端有對被審的ip進行乙個測速。每次會根據乙個失效週期會階段性的對這個ip進行速度的測速,實時轉換。這樣保證我們提供的ip是最快速,能夠讓使用者這些請求快速的達到正確的。  

運營商快取這種情況來說,他也是快取的機制。可以在他的請求的url串裡面新增,快取運作,這時候可以把快取的方式來得到解決。

非法跳轉是在客戶端的瀏覽器的載入,應用黑白名單策略的匹配。通過這些方式來去實現反劫持的一些措施。  

首先他會能夠根據我們之前的如何判定乙個劫持的情況,在客戶端蒐集劫持的乙個狀況,他會把劫持的型別部分被劫持的介面給客戶端,通過在有網比較快速的情況下,wifi情況下傳送中心伺服器去實現這樣的蒐集。並且他是經過壓縮,盡可能的保護流量的節省。

這是反劫持後台日誌乙個位置的圖表,縱向是這一天當中發生的劫持的數量,單位是介面請求數量。橫向是每個時間點他產生劫持的情況。今天從0點到24點區間產生劫持的乙個數量。還有乙個資料是橙色這個線,昨天的數量,藍色是今天,我們會有乙個兩天之內的對比,用來發現變化。某些時候運營商的dns解析,他有時候會爆發性的增長,他在某一天有別的活動,他給你劫持很多介面,向移動使用者返回他們的**資訊,他被篡改之後的彈窗或者是嵌入式廣告。我們能在圖表裡面發現這個類別裡面的情況,有時候運營商做這個事情他的數量會激增,跟前一天有很強烈的比較。出現這樣的情況,通過日誌裡它的劫持樣本,就能發現他具體的原因。如果當原因發現某個地區的使用者,出現大面積的介面訪問錯誤,我們通過這個表能夠找到答案

這個**是產生劫持以及客戶端去用我們反偵策略去重試結果反饋表。白色這個柱狀高度表現是他產生的總體數量,綠色這部分表示是改善之後乙個成功的數量。綠色這部分是產生的劫持,使用反劫持策略,成功修復的乙個數量。通過這個**,不斷的調整優化反劫持的策略,逐漸去努力把白色區域慢慢消除,或者是減小。實際上分析的時候發現,這個資料表跟當日pv還是能夠吻合,也同時驗證判斷的結果。比如對劫持型別,劫持發生的時機那種方式是有效的。這種日誌系統不管是對於pv或者使用者行為統計還是對這種劫持的防禦工作來說都是很重要。

《HTML5移動Web開發實戰》 導讀

html5移動web開發實戰 如何在多平台上建立高效能 響應式移動 對於程式設計師來說,由於手機裝置快速增加 螢幕尺寸各不相同 效能仍有侷限性,這個問題就顯得非常重要。本書提供了答案,你會知道如何有效地利用最新的html5針對移動 的功能,橫跨多個移動平台。本書會讓你了解如何策劃 建立 除錯和優化移...

移動GIS原理與開發 框架 演算法與實戰 緒言

移動gis,是以移動網際網路為支撐 以gps智慧型手機為終端的gis系統,是繼桌面gis webgis之後又一新的技術熱點,移動定位 移動mis 移動辦公等越來越成為企業或個人的迫切需求,移動gis就是其中的集中代表,使得隨時隨地獲取資訊變得輕鬆自如。隨著soa架構思想的滲透 ogc標準的成熟,移動...

移動GIS原理與開發 框架 演算法與實戰 目錄

移動gis原理與開發 框架 演算法與實戰 一 gis基礎 1 gis簡介 2 gis整體框架 3 gis底層實現 4 gis常用資料結構 5 移動gis應用 二 空間索引 1 空間索引 2 網格索引 3 四叉樹索引 4 r樹索引 5 hilbert排序 三 空間資料組織 1 geometry幾何物件...