堆棧加密
A. JS逆向 | *毛租(AES),一個較難分析的網站
針對「JS逆向 | *毛租,一個較難分析的網站」的問題,分析過程和關鍵信息如下:
1. 加密方式識別: 加密方式:目標網站的參數與響應信息被加密,且加密方式未直接暴露參數名。 請求方式:採用POST方式發送請求。
2. 加密位置定位: 使用工具:通過XHR斷點或查看Initiator堆棧的方法嘗試揭露加密細節。 加密位置:加密處理發生在axios.post函數內的then後面的函數內。
3. 代碼獲取與分析: 源代碼映射問題:發現源代碼存在映射問題,通過取消映射設置,成功獲取加密前的真實代碼。 加密演算法確定:加密演算法確定為AES,主要涉及加解密操作。
4. 解密與驗證: 解密處理:經過分析後,可以直接處理加密問題,解決方法相對簡單。 驗證結果:為驗證解密結果,已將完整代碼上傳至GitHub,包含加密處理的完整流程與解密步驟。
5. 總結與學習: 關鍵步驟:識別加密位置、取消代碼映射以獲取原始代碼、識別加密演算法進行解密操作。 學習價值:相關代碼與詳細步驟已整理並提供,對學習加密處理與逆向工程的讀者有所幫助。
綜上所述,對於該較難分析的網站,通過XHR斷點、查看Initiator堆棧、取消代碼映射以及識別AES加密演算法等步驟,成功定位並解析了加密過程,最終實現了對加密信息的解密與驗證。
B. 鑒源實驗室 | AUTOSAR SecOC:保障汽車通信的安全
在現代汽車行業中,通信安全變得至關重要,尤其隨著電子控制單元(ECUs)的廣泛應用和車輛間通信的增加。為應對這一挑戰,AUTOSAR(Automotive Open System Architecture)設計了SecOC(Secure Onboard Communication)模塊,以確保車輛內部通信數據的安全性。
SecOC模塊位於AUTOSAR通訊堆棧的PDU Router與底層驅動之間,負責對所有通過此堆棧的數據進行加密與保護。其關鍵功能包括利用消息認證碼(MAC)驗證消息的真實性和完整性,以及通過Freshness Value(FV)防止重放攻擊。SecOC的通信流程依賴於MAC和FV兩大核心組件,確保信息傳輸的安全性。
基於多新鮮度計數器的SecOC機制確保了系統中所有實體(如主控實體與從控實體)保持同步,通過維護和廣播FV值,以增強通信過程的安全性。發送的安全報文(S-I-PDU)由報文頭、保護的交互層協議數據單元(I-PDU)、FV和Authenticator(MAC)組成,其中,FV和MAC的截取與組織方式旨在提高效率和安全性。
在SecOC中,MAC的計算涉及對稱加密演算法,如AES,通過組合Data Id、I-PDU保護部分和完整的FV生成。FV由Trip Counter、Reset Counter、Message Counter和Reset Flag組成,確保每條消息的獨特性和安全性。同步報文(SyncMsg)用於確保系統實體同步,包含TripCnt、ResetCnt和MAC,用於維護通信過程的安全性。
通過實驗驗證SecOC機制,配置特定參數,如同步報文ID、TripCnt長度、ResetCnt長度、MAC長度等,並使用CAN匯流排模擬工具及測試工具進行驗證。安全報文ID、IPDU長度、FV長度和MAC長度等配置參數確保了機制的有效實現。通過比較生成與接收的MAC值,測試工具驗證了SecOC機制的正確性。