堆栈加密
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机制的正确性。