作者:万涛/华为加拿大
1.概述
数学是从小学、中学、到大学的必修课程,每个人在上学期间都花费了大量的时间学习和研究数学。那么,数学在实际工作中,到底起什么样的作用呢? 我们常常听到有人说,在工作中基本用不上太多的数学。也有人说,数学对其工作起着非常重要的作用。这样的讨论(关于数学在工作中的应用问题),时时刻刻都发生在我们身边。
前一短时间, InForSec学术交流微信群里,一群从事安全研究的学者和研究人员,就数学和安全研究的关系,进行了热烈的探讨。本文将这次讨论做个简单的总结, 以飨读者。总结不足之处,完全补充拍砖。
2.背景
数学和安全都是非常广泛的领域,各自包含很多细分领域。根据中国学科分类国家标准[1],数学可以分为数理逻辑、数论、代数学、几何学、拓扑学、数学分析、函数论、微分方程、积分方程、计算数据、概率论、数理统计学、运筹学、离散数学和组合数学等领域。
安全则和保护的对象有关。除了安全的基础领域如密码学以外,可以根据被保护对象的对安全研究进行划分,如网络安全、操作系统安全、应用安全和数据安全等。 其中上述任何子领域,还可以继续细分。
3.参与人员
InForSec学术交流群,聚集了一批在安全领域从事教学和研究的教授学者和研究人员。他们来自中国和海外的学术界和工业界。参与 “数学和安全研究关系” 这个话题讨论的主要人员有: 段海新(清华大学)、杨珉(复旦)、 韦韬(百度)、江健(UC Berkeley)、 李晖(西电)、张克环(香港中文大学)、苏璞睿(中科院软件所)、丁丽萍(中科院软件所)、吴石(keen)、yuange、 杨冀龙(知道创宇)、李舟军(北航)、龚征(华南师大)、肖晟(湖南大学)、王跃武(中科院信工所)、潘柱廷(启明星辰)、王伟超(uncc)、 魏强(信息工程大学)、丁勇(桂电)、姜誉(黑龙江大学)、唐勇(国防科大)、郁昱(上海交大)、黄琼(华农)、黄旗明(北科大)、余水(Deakin)、于继万(华为上海)。
4.讨论内容
讨论的话题非常广泛,大家各抒己见。现将大家基本达成共识的一些讨论总结如下。
A. 数学对于逻辑思维的训练很重要,而清晰的逻辑思维对安全研究很重要。
例如,北航的李舟军老师提到,他一直在给本科,硕士和博士上 “离散数学” 等数学基础课。李老师认为,数学对于培养和训练学生的逻辑思维和抽象能力必不可少。Keen Team的吴石提到,数学可以帮助提高抽象能力和逻辑思维能力。而这两点对于安全研究(或任何科学研究)都至关重要。黑龙江大学的姜誉老师一直在给学生讲授离散数学,并指出其四个主要部分(数量逻辑、集合论、图论、和代数结构)都可以帮助训练思维,尤其数理逻辑可以强化训练逻辑思维。姜老师还推荐Coursera的数学思维导论课程。
UC Berkeley的江健博士也提到,安全学术论文要有严密的逻辑性。平时看点数学方面的书籍,即使和所从事的安全研究没有直接关系,也可以帮助自己训练提高逻辑思路能力,从而帮助发现论文中的跳跃逻辑。另外江健博士指出,中国的数学教育往往强调用定理来解题,但很少能够讲清楚这些定理背后的意义和其他事情的联系。中科院软件所的苏璞睿老师认为,安全研究需要有清晰的逻辑,要懂得什么是前因后果。
B. 密码学是安全的基础,其对数学(例如数论)的要求非常高
信息工程大学的魏强认为,数学在密码领域不可缺少,密码学在信息安全领域也是不可缺少的。百度的韦韬提到,密码学是安全的一根支柱,密码的研究对数学知识要求非常高。西电的李晖老师举例说明,他这两年一直在研究全同态和多线性映射,其中多线性映射可以用于一轮多方密钥协商,但一直没有找到好的数学构造方法。
C.某些安全的细分领域,对数学的要求也很高
北航的李舟军认为有些安全领域,如程序分析和协议分析等对数学要求很高。UNCC的王伟超也认为,协议分析和证明,大量使用了数学知识。中科院软件所的丁丽萍认为,某些安全问题,会对数学提出一些特殊的需求,例如,她们一直在研究的差分隐私保护。
D.离散数学在安全研究中很有用处
百度的韦韬指出,初等数学、特别是离散数学和应用统计学,对安全研究很重要。 复旦的杨珉老师也认为离散数学(例如图论)在安全研究中比较有用。黑龙江大学的姜誉老师进一步指出,离散数学在设计安全方面的算法(不局限于密码学)时会用到。例如,信工所陈恺博士2015年USENIX Security 的文章[2]中用的图论,使得模型很清晰简洁。笔者注:2013年USENIX Security的 Best Studnet Paper [3]也是基于图论,来建立的攻防模型。 另外姜老师自己关于垃圾邮件过滤的文章[4],应用了偏序关系。姜老师进一步指出,集合论中函数的概念、 等价关系、偏序关系在安全研究中都有直接应用。另外,代数结构也是密码学的基础。
E.大部分安全领域,如系统安全、网络安全和应用安全对数学知识的要求不高。
清华的段海新老师认为,系统安全和网络安全领域,一个逻辑清晰的头脑,比学一大堆永远也用不上的数学更重要,并举例说明。USENIX Security (四大顶级安全会议之一)两次Best of time award 分别发给了TOR[5], 和堆栈随机化保护(Canary)[6]. 两篇文章都是经历了历史的考验,有很大的实用价值,但都没有用到高深的数学知识。
段老师还提到,网络或系统的安全问题,有的可以抽象或简化成数学问题。但更多的安全问题,由于过于复杂而难以抽象,以至于用数学方法建立模型以后,已经严重偏离了实际问题。最后用数学的方式来解决的问题,只能是假想的、脱离实际的问题,导致无法在实际的网络或系统中应用。安全研究的是人与人的对抗,而人的想法是很难用数学来描述的。面向现实问题的研究,应该从理解问题本身出发(比如了解攻击),寻找真正有效的解决方法(往往很简捷、便于实现或部署),而不是看上去很“数学”。知道创宇的杨冀龙提到,其在安全研究中,用到最多的是SVM和贝叶斯,有时会用的神经元方面的知识。
Berkeley的江健也提到,安全工程领域的很多问题是由人为因素导致的,很难用数学问题来描述。百度的韦韬举例说明,代码的安全性证明,由于其承载着复杂的逻辑,目前的数学并不擅长。启明星辰的潘柱廷认为,不是所有有价值的安全研究都是直接依赖数学。并认为数学是天花板,在日常的安全研究中是感觉不到的。中科院软件所的丁丽萍认为,数学方法有时是解决问题的瓶颈。例如同态加密,如果有好的数学方法能解决性能问题,就可以带来应用上的突破。
F.安全研究的重点是攻防
Keen Team的吴石提到,攻击研究是安全研究的基石。当某个领域的攻击研究没有进步时,这个领域的研究也就死了。清华的段海新老师也提到,安全研究的是人与人的对抗,要了解首先明确攻击防御方案才有意义。西电的李晖老师认为网络空间安全学科区别于现有学科的主要特点是对抗和博弈。并举密码学为例说明,密码设计是防,密码分析是攻。同时指出,攻防技术不仅需要理论指导,也会随着自身的发展形成新的理论。上海交大的郁昱老师和段老师都指出,密码学就是研究攻防,并在攻防中不断进步发展的。 百度的韦韬指出,斯坦福大学的密码学大牛Dan Boneh 在Cousera上开的密码学课程,有大量的内容是描述密码学是如何在攻防对抗中发展的。西电的李晖老师给学生上密码学也是采用了的Dan Boneh 的公开课。中科院软件所的苏璞睿老师认为,密码学的攻防和系统安全的攻防有交叉,但也有很大的差别。
国防科大的唐勇老师认为,对抗是安全研究的驱动力和生命力之一,因为漏洞无法避免,所以对抗永远存在。香港中文大学的张克环老师也认为,安全研究中的实际问题,根本来自于攻防双方的对抗。如同军事领域的对抗带动了一大批相关技术的发展一样,网络安全的对抗也是促进安全技术的原始动力。
5.总结
数学对安全研究,或者其它的实际工作是否有帮助,跟研究的问题和工作性质有关。有的工作可能不需要数学,但有的工作则依赖于数学的某个分支。不管一个研究领域是否需要高深的数学,不可否认的是,数学对逻辑思维和抽象思维能力的培养是很有帮助的。而逻辑思维和抽象能力,不仅对安全研究有着重要的作用,对其它科学或工程研究,也都非常重要。因此,在学习数学时,不要强调死记硬背,和做题应付考试。而是要能搞清楚数学规律(如定理)背后的逻辑以及和其它数学问题或其它领域相关事件的关系,从而达到培养自己逻辑思维和抽象能力的目的。
References
[1]中华人民共和国学科分类与代码国家标准,https://zh.wikipedia.org/wiki/中国学科分类国家标准/110
[2] Kai Chen, Peng Wang, Yeonjoon Lee, XiaoFeng Wang, Nan Zhang, Heqing Huang, Wei Zou, and Peng Liu. Finding unknown malice in 10 seconds: Mass vetting for new threats at the google-play scale. In the Proceedings of the 24th USENIX Security Symposium, August 2015.
[3] Frank Imeson, et al. Securing Computer Hardware Using 3D Integrated Circuit (IC) Technology and Split Manufacturing for Obfuscation. In the Proceedings of the 22nd USENIX Security. August 2013.
[4] 张尼, 姜誉, 方滨兴, 郭莉. 基于邮件路径地理属性分析的垃圾邮件过滤算法. 通信学报 2007, 28 (12): 90-95.
[5] Roger Dingledine, Nick Mathewson, and Paul Syverson. Tor: the Second-Generation Onion Router. In the Proceedings of the 13th USENIX Security Symposium, August 2004.
[6] Crispin Cowan, et al. StackGuard: Automatic Adaptive Detection and Prevention of Buffer-Overflow Attacks. In the Proceedings of the 7th USENIX Security Symposium, January 1998.
作者简介
万涛博士, 华为加拿大研究所研究员,长期从事互联网安全领域的研究和开发工作, 重点关注Web, mobile, CDN, Routing, SDN, 5G, PKI, 和TLS等领域的安全。在NDSS, Oakland, USENIX Security 和 ACM TISSEC 等安全会议和安全杂志上发表过文章。