當前位置:
首頁 > 新聞 > 關於汽車共享App的研究

關於汽車共享App的研究

汽車共享服務日益普及,導致一些專家預測大城市私人汽車擁有權將終結。統計數據支持了這一說法:例如,2017年在Moscow汽車共享車隊、活躍用戶數量以及出行次數幾乎翻了一番。這是一個好消息,但信息安全專家已經開始提出一些相關的問題:這些服務的用戶如何受到保護?他們在未經授權訪問其帳戶時會面臨哪些潛在風險?

一、為什麼汽車共享會吸引犯罪分子

最簡單的一個原因是因為他們想花別人的錢開一輛好車。但是,像這樣的操作重複多次的話就會有問題:一旦帳戶的所有者發現被收取了從未租用車輛的費用,他們很可能會聯繫服務支持熱線,服務提供商會檢查旅行細節,最終可能向警方報案。這意味著攻擊者第二次嘗試它的時候可能會被追蹤並被抓獲。這是顯而易見的,並使此特殊情況成為了劫持某人帳戶的最不可能的原因。

然而出售被劫持的賬戶是一個可行的方法,沒有駕駛執照的人或者被汽車共享服務的安全團隊拒絕註冊的人必然會有需求。實際上,市場上已經出現了這種類型的報價。

犯罪分子提供被劫持的賬戶......

並解釋為什麼你最好不要使用其他人的賬戶

此外,知道用戶的汽車共享帳戶的詳細信息的人可以跟蹤他們的所有行程並竊取汽車中留下的東西。當然,以別人的名義欺騙性租用的汽車可以駕駛到一些偏遠的地方並且可以拆卸備件。

二、應用程序的安全性

因此,我們知道犯罪分子存在潛在的利益;現在讓我們來看看汽車共享應用的開發者是否對此做出了應對。他們是否考慮過用戶安全性並保護其軟體免受未經授權的訪問?我們測試了13個移動應用程序,結果不是很令人鼓舞。

我們首先檢查應用程序阻止在具有root許可權的Android設備上啟動的能力,並評估應用程序代碼的混淆程度。這樣做有兩個原因:

·可以對絕大多數Android應用程序進行反編譯,修改其代碼(例如,將用戶憑據發送到C&C),然後重新打包,使用新證書籤名並再次上傳到應用商店;

·root用戶設備上的攻擊者可以滲透關鍵應用程序的進程並獲取對身份驗證數據的訪問許可權。

另一個重要的安全元素是在使用服務時選擇用戶名和密碼的能力。許多服務使用個人的電話號碼作為用戶名。這對於網路犯罪分子來說非常容易獲取,因為用戶經常忘記將其隱藏在社交媒體上,因而可以通過他們的標籤和照片在社交媒體上識別汽車共享用戶。

社交媒體帖子如何泄露信息的一個例子

然後,我們查看了應用程序如何使用證書以及網路犯罪分子是否有機會發起成功的MITM攻擊。我們還確認了可以輕鬆使用偽授權窗口覆蓋應用程序界面。

三、逆向工程和超級用戶許可權

在我們分析的所有應用中,只有一個能夠對抗逆向工程。它在DexGuard的幫助下得到了保護,DexGuard是一種解決方案,開發人員還承諾受保護的軟體不會在所有者獲得root許可權或已經修改(修補)的設備上啟動。

安裝包中的文件名顯示使用了DexGuard

但是,雖然該應用程序可以很好的防止逆向工程,但沒有阻止它在具有超級用戶許可權的Android設備上啟動。當以這種方式進行測試時,應用程序會成功啟動並完成伺服器授權過程。攻擊者可以獲取位於受保護存儲中的數據。但是,在這個特定的應用程序中,數據被非常可靠地加密。

用戶的加密憑據

四、密碼強度

測試的應用程序中有一半不允許用戶創建自己的憑據; 相反,它們強制用戶使用他們的電話號碼和在簡訊中發送的PIN碼。一方面,這意味著用戶無法設置像"1234"這樣的弱密碼; 另一方面,它為攻擊者提供了獲取密碼的機會(通過使用SS7漏洞攔截它,或重新發布手機的SIM卡)。我們使用自己的帳戶來查看找出「密碼」是容易的。

如果攻擊者在社交媒體上找到某人的電話號碼並嘗試使用該號碼登錄該應用,則所有者將收到帶有驗證碼的簡訊:

我們可以看到,驗證碼只有四位數,這意味著只需要10,000次嘗試就可以猜測它,這不是一個很大的數字。 理想情況下,此類類碼應至少為六位數字,並包含大寫和小寫字元以及數字。

另一種汽車共享服務向用戶發送更強的密碼; 然而,這也有一個缺點。它的代碼是在一個模板後面創建的:它們在第一個和最後一個地方總是有數字,在中間有四個小寫的拉丁字元:

這意味著有4500萬種可能的組合可供搜索;如果數字的定位不受限制,組合的數量將增加到20億。當然,45,000,000也是大量的,但應用程序沒有超時限制,因此沒有障礙來防止暴力破解。

現在,讓我們回到第一個應用程序的PIN碼。該應用程序為用戶提供一分鐘輸入PIN碼;如果時間不夠,用戶必須申請新代碼。事實證明,所有組合需要超過兩分鐘的時間。我們寫了一個小型的暴力破解程序,重現了部分app/server通信協議並啟動了暴力破解。我們不得不承認我們無法暴力破解口令,這可能有兩個原因。首先,互聯網線路可能不足;其次,汽車共享運營商為PIN碼設置了適當的超時限制,因此即使擁有出色的互聯網連接,也不能在兩分鐘內破解。我們決定不再繼續,只確認了該伺服器仍然響應,並且在多次嘗試一次發送10,000個請求後可以繼續攻擊。

在這樣做的同時,我們故意在單個線程中從單個IP地址啟動暴力破解,從而使伺服器有機會檢測並阻止攻擊,聯繫潛在的受害者,並作為最後的手段,停用帳戶。但這些都沒有發生。我們決定將其留在那裡,然後繼續測試下一個應用程序。

我們在第二個應用程序上嘗試了所有上述過程,唯一的例外是我們沒有成功的暴力破解密碼。我們決定,如果伺服器允許檢查1,000種組合,它可能還允許檢查4500萬種組合,所以這只是時間問題。

嘗試1000次後,伺服器繼續響應

這是一個具有可預測結果的漫長過程。此應用程序還以加密格式在本地存儲用戶名和密碼,但如果攻擊者知道其格式,則暴力破解只需幾分鐘,大部分時間將用於生成密碼/ MD5哈希對(密碼為MD5哈希並寫入設備上的文件中)。

五、中間人攻擊

值得注意的是,應用程序使用HTTPS與控制中心之間進行數據通信,因此可能需要很長時間才能澄清通信協議。為了使「攻擊」更快,我們採取了MITM攻擊,在另一個全球安全漏洞的幫助下:所測試的應用程序都沒有檢查伺服器的證書。我們能夠獲得整個會話的轉儲。

成功的MITM攻擊的屏幕截圖,獲取HTTPS流量

六、防止overlaying攻擊

當然,如果Android設備被感染,即攻擊者可以截獲授權SMS,則攻擊者可以立即登錄其他設備,從攻擊者的角度來看,它更快更有效。如果存在複雜的密碼,則攻擊者可以通過顯示虛假窗口來劫持應用程序的啟動,該窗口包含用於登錄詳細信息的輸入欄位,其中包含正版應用程序的界面。我們分析的所有應用都無法對抗這類行為。如果操作系統版本足夠低,則可以提升許可權,在某些情況下可以提取所需的數據。

七、結果

這種況與我們在Connected Car applications中發現的情況非常相似。應用程序開發人員並不完全了解當前對移動平台的威脅,這既適用於設計階段,也適用於創建基礎架構。好的開始的第一步是擴展用於通知用戶可疑活動的功能,當前只有一項服務向用戶發送有關嘗試從其他設備登錄其帳戶的通知。我們分析的大多數應用程序從安全形度來看設計很差,需要進行改進。而且,許多程序不僅彼此非常相似,而且實際上基於相同的代碼。

俄羅斯汽車共享運營商可以從其他國家的同事那裡學習學習。例如,短期汽車租賃市場中的主要參與者僅允許客戶使用特殊卡訪問汽車,這可能使服務不太方便,但顯著提高了安全性。

八、給用戶的建議

·不要公開電話號碼(電子郵件地址也是如此)

·使用單獨的銀行卡進行在線支付,包括汽車共享(虛擬卡也可以使用),並且不要存太多的錢。

·如果汽車共享服務發送包含帳戶PIN碼的簡訊,請與安全服務部門聯繫並斷開銀行卡與該帳戶的連接。

·不要使用root過的設備。

·使用安全解決方案,保護您免受竊取簡訊的網路犯罪分子的侵害。

九、對汽車共享服務的建議

·使用商業的加殼和混淆程序使逆向工程複雜化。要特別注意完整性控制,這樣app就無法修改。

·使用機制檢測root設備上的操作。

·允許用戶創建自己的憑據; 確保所有密碼都很強大。

·通知用戶有關從其他設備成功登錄的信息。

·切換到PUSH通知:惡意軟體監控Android中的通知欄仍然很少見。

·保護應用程序界面不被其他應用程序覆蓋。

·增加伺服器證書檢查。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

深入理解Windows頁幀號(一)
Threat Hunting之橫向移動攻擊

TAG:嘶吼RoarTalk |