数学和安全都是非常广泛的领域,各自包含很多细分领域。根据中国学科分类国家标准[1],数学可以分为数理逻辑、数论、代数学、几何学、拓扑学、数学分析、函数论、微分方程、积分方程、计算数据、概率论、数理统计学、运筹学、离散数学和组合数学等领域。
安全则和保护的对象有关。除了安全的基础领域如密码学以外,安全的领域可以根据被保护对象的分类进行划分,如网络安全、操作系统安全、应用安全和数据安全等。其中上述任何子领域,还可以继续细分。
InForSec学术交流群,聚集了一批在安全领域从事教学和研究的教授学者和研究人员。他们来自中国和海外的学术界和工业界。在“数学和安全研究关系”论题讨论中,大家各抒己见,现将基本达成共识的一些讨论总结如下。
1.数学对于逻辑思维的训练很重要,而清晰的逻辑思维对安全研究很重要
北京航空航天大学的李舟军提到,他一直在给本科,硕士和博士上离散数学等数学基础课。他认为,数学对于培养和训练学生的逻辑思维和抽象能力必不可少。Keen Team的吴石提到,数学可以帮助提高抽象能力和逻辑思维能力。而这两点对于安全研究(或任何科学研究)都至关重要。黑龙江大学的姜誉一直在给学生讲授离散数学,并指出其四个主要部分(数量逻辑、集合论、图论和代数结构)都可以帮助训练思维,尤其数量逻辑可以强化训练逻辑思维。姜老师还推荐Coursera的数学思维导论课程。
加州大学伯克利分校的江健也提到,安全学术论文要有严密的逻辑性。平时看点数学方面的书籍,即使和所从事的安全研究没有直接关系,也可以帮助自己训练提高逻辑思路能力,从而帮助发现论文中的跳跃逻辑。另外指出,中国的数学教育,强调用定理来解题,但很少能够讲清楚这些定理背后的意义和其他事情的联系。中科院软件所的苏璞睿认为,安全研究需要有清晰的逻辑,要懂得什么是前因后果。
2.密码学是安全的基础,对数学(例如数论)的要求非常高
中国人民解放军信息工程大学的魏强认为,数学在密码领域不可缺少,密码学在信息安全领域也是不可缺少的。
百度公司的韦韬提到,密码学是安全的一根支柱,密码的研究对数学知识要求非常高。西安电子科技大学的李晖举例说明,他这两年一直在研究全同态和多线性映射。其中多线性映射可以用于一轮多方密钥协商,但一直没有找到好的数学构造方法。
3.某些安全的细分领域,对数学的要求也很高
李舟军认为有些安全领域,如程序分析和协议分析等对数学要求很高。北卡罗来纳大学夏洛特分校的王伟超也认为,协议分析和证明,大量使用了数学知识。中科院软件所的丁丽萍认为,某些安全问题,会对数学提出一些特殊的需求,例如,他们一直在研究的差分隐私保护。
4.离散数学在安全研究中很有用处
韦韬指出,初等数学,特别是离散数学和应用统计学,对安全研究很重要。复旦大学的杨珉也认为离散数学(例如图论)在安全研究中比较有用。姜誉进一步指出,离散数学在设计安全方面的算法(不局限于密码学)时会用到。例如,陈恺博士2015年USENIX Security的文章[2]中用的图论,使得模型很清晰简洁(笔者注:2013年USENIX Security 的Best Studnet Paper[3]也是基于图论,来建立的攻防模型)。另外姜誉自己关于垃圾邮件过滤的文章[4],应用了偏序关系。姜誉进一步指出,集合论中函数的概念、等价关系、偏序关系在安全研究中都有直接应用。另外,代数结构也是密码学的基础。
5.大部分安全领域,如系统安全、网络安全和应用安全对数学知识的要求不高清华大学的段海新认为,系统安全和网络安全领域,一个逻辑清晰的头脑,比学一大堆永远也用不上的数学更重要,并举例说明。USENIX Security(四大顶级安全会议之一)两次Best of time award 分别发给了TOR[5]和堆栈随机化保护(Canary)[6]。两篇文章都是经历了历史的考验,有很大的实用价值,但都没有用到高深的数学知识。
他还提到,网络或系统的安全问题,有的可以抽象或简化成数学问题。但更多的安全问题,由于过于复杂而难以抽象,以至于用数学建立模型以后,离实际问题越来越远;最后用数学的方式来解决的问题,只能是假想的、严重脱离实际的问题。安全研究的是人与人的对抗,而人的想法是很难用数学来描述的。面向现实问题的研究,应该从理解问题本身出发(比如了解攻击),寻找真正有效的解决方法(往往很简捷、便于实现或部署),而不是看上去很“数学”。知道创宇公司的杨冀龙提到,其在安全研究中,用到最多的是SVM,贝叶斯。有时会用的神经元方面的知识。
江健也提到,安全工程领域的很多问题是由人为因素导致的,很难用数学问题来描述。百度的韦韬举例说明,代码的安全性证明,由于其承载着复杂的逻辑,目前的数学并不擅长。启明星辰的潘柱廷认为,不是所有有价值的安全研究都是直接依赖数学,并认为数学是天花板,在日常的安全研究中是感觉不到的。丁丽萍认为,数学方法有时是解决问题的瓶颈。例如同态加密,如果有好的数学方法能解决性能问题,就可以带来应用上的突破。
6.安全研究的重点是攻防
吴石提到,攻击研究是安全研究的基石。当某个领域的攻击研究没有进步时,这个领域的研究也就死了。清华的段海新也提到,安全研究的是人与人的对抗,要了解研究攻击。
李晖认为网络空间安全学科区别于现有学科的主要特点是对抗和博弈。并举密码学为例说明,密码设计是防,密码分析是攻。他同时指出,攻防技术不仅需要理论指导,也会随着自身的发展形成新的理论。上海交通大学的郁昱和段海新都指出,密码学就是研究攻防,并在攻防中不断进步发展的。
韦韬指出,斯坦福大学的密码学大牛Dan Boneh在Cousera上开设的密码学课程,有大量的内容是描述密码学是如何在攻防对抗中发展的。李晖在给学生上密码学课时也是采用了的Dan Boneh的公开课。苏璞睿认为,密码学的攻防和系统安全的攻防有交叉,但也有很大的差别。
国防科技大学的唐勇认为,对抗是安全研究的驱动力和生命力之一,因为漏洞无法避免,所以对抗永远存在。香港中文大学的张克环也认为,安全研究中的实际问题,根本来自于攻防双方的对抗。如同军事领域的对抗带动了一大批相关技术的发展一样,网络安全的对抗也是促进安全技术的原始动力。
数学对安全研究,或者其它的实际工作是否有帮助,跟研究的问题和工作性质有关。有的工作可能不需要数学,但有的工作则依赖于数学的某个分支。不管一个研究领域是否需要高深的数学,不可否认的是,数学对逻辑思维和抽象思维能力的培养是很有帮助的。而逻辑思维和抽象能力,不仅对安全研究有着重要的作用,对其它科学或工程研究,也都非常重要。因此,在学习数学时,不要强调死记硬背,和做题应付考试。而是要能搞清楚数学规律(如定理)背后的逻辑以及和其它数学问题或其它领域相关事件的关系,从而达到培养自己逻辑思维和抽象能力的目的。
(作者单位为华为加拿大研究所)
参考文献
[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. Findingunknown malice in 10 seconds: Mass vetting for new threats atthe google-play scale . In the Proceedings of the 24th USENIXSecurity Symposium, August 2015.
[3] Frank Imeson, et al. Securing Computer HardwareUsing 3D Integrated Circuit (IC) Technology and SplitManufacturing for Obfuscation . In the Proceedings of the 22ndUSENIX 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 Proceedingsof the 13th USENIX Security Symposium, August 2004.[6] Crispin Cowan, et al. StackGuard: Automatic AdaptiveDetection and Prevention of Buffer-Overflow Attacks. In theProceedings of the 7th USENIX Security Symposium, January1998.
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。