报告题目: Racing for TLS Certificate Validation: A Hijacker's Guide to the Android TLS Galaxy
分享嘉宾: 赵连莹,加拿大卡尔顿大学计算机科学系副教授
会议时间: 2024年6月20日(周四)10:00-11:30
会议地点:清华大学FIT 3-225
线上会议:#腾讯会议:113-904-886 会议密码:0620
报告简介:
尽管对于安卓系统TLS的证书验证问题已经有大量研究和著作,现有工作主要基于标记整个app是否有验证问题或错误。而事实上,现今的安卓apps多集中使用多个第三方代码库来降低技术成本和缩短开发周期(如腾讯的Bugly)。我们提出细粒度的区分一个app的哪一部分导致TLS证书验证问题进而能够更好地指出哪一方应该改进(比如app开发者或者第三方库)。这对于整个社区甚至业界尤为重要。一个值得关注的重要发现是,有相当比例的apps的TLS证书验证被Java的一种全局重载机制所影响,导致在代码作者不知情的情况下实际的验证被其它代码不安全地执行,甚至跳过,我们称之为” 证书验证劫持“。
我们设计并实现了一个自动细粒度的安卓TLS证书验证检测工具Marvin。它可以具体定位到哪一方导致了证书验证问题,包括发现证书验证劫持。在使用Marvin有效分析了7826个apps之后我们发现在中国市场apps和Google Play apps之间存在很大差别:中国市场apps有55.3%被发现有证书验证问题,而Google Play apps只有6.4%。同时,证书验证劫持在有验证问题的中国市场apps中发现了34.3%,而对于Google Play apps这个比例是21.1%。更为有趣的是,验证劫持者在中国市场apps中多为第三方,而在Google Play apps中多为app开发者。我们通过模拟攻击确认这类TLS证书验证/劫持问题可以导致多种安全隐患,包括但不仅限于窃取敏感信息,伪造交易,身份伪装以及钓鱼攻击等。
报告人介绍:
赵连莹,加拿大卡尔顿大学计算机科学系副教授。主要研究方向为硬件及系统安全(固件,操作系统,以及处理器体系结构的安全支持),可信计算,鉴权,隐私以及数据保护等等。在国际知名计算机安全会议(ACM CCS,NDSS,USENIX Security,RAID,NSPW,FC等等)及期刊(TIFS,ACM CSUR等)发表多篇论文。并多次担任IEEE S&P (Oakland),ACM CCS,USENIX CSET等多个计算机安全会议程序委员会委员并审稿,担任CSUR,TIFS等主要计算机安全期刊审稿人。早年从事大型主机(供职于IBM)及嵌入式系统方面相关工作。