注:本文已在乌云知识库发表,地址:http://drops.wooyun.org/tips/8151
最近在Kaggle上微软发起了一个恶意代码分类的比赛,并提供了超过500G的数据(解压后)。有意思的是,取得第一名的队伍三个人都不是搞安全出身的,所采用的方法与我们常见的方法存在很大不同,展现了机器学习在安全领域的巨大潜力。在仔细读完他们的代码和相关的论文后,我简单的进行了一些总结与大家分享。
需要指出的是,(1)比赛的主题是恶意代码的分类,不是病毒查杀(2)比赛采用的方法是纯静态分析的方法,不涉及行为分析等动态分析方法。
因此这不意味着这个方法能够取代现有的方法,但是了解它能够为安全研究人员提供一个崭新的思路,至于能否在工业界应用仍待进一步研究。
“So much of life, it seems to me, is determined by pure randomness.” – Sidney Poitier
在之前的博客中,或多或少都提到过一些随机、伪随机、随机数等等,但基本上只是直接使用,没有探寻背后的一些原理,刚好最近偶然看到python
标准库中如何生成服从正态分布随机数的源码,所以本文就简单聊聊如何生成正态分布
形式化方法(Formal Methods)在我们一般人眼中是非常高大上的东西,最多也就是当年在课堂上听说过而已,在实际工作中很少有人使用。
前一阵子Reddit上的一个帖子让高冷的形式化方法也上了一次头条,故事就是国外某技术团队利用形式化方法验证了Java中一些排序算法的正确性,但是在验证Timsort排序算法时发现了Bug,于是便向Java开源社区报告了这个Bug,同时给出了经过形式化方法验证过的修复方案。本来是个皆大欢喜的结局,结果Java开源社区并没采纳他们的修复方案,而是采用了另一个Dirty Solution……(就不听你的,不服你来咬我啊)
回归到这个Bug本身,我们来看看形式化方法是如何大显身手的
每个人或多或少都接触过网游,那个虚拟的世界给予了我们无穷的乐趣,而这个虚拟世界是如何完美的将身处天南地北的玩家连接在一起的呢?我们每个人的电脑配置都不一样,网络延迟也不同,但是在玩FPS(第一人称射击)游戏时,战斗感受与真实世界并无二致,网游是如何做到这一点的呢?
本文将介绍和分析早期广泛在RTS(即时策略)游戏中应用的同步机制——Lockstep
一直以为,概率与统计是一门非常有传奇色彩的学科。它由赌博业催生而来,但你确不能靠它在赌场发家致富。它不能告诉你抛一次硬币是正是反,但它能告诉你抛1万次硬币正反面大概各5000次。而现实生活中的概率并非简单的抛硬币,我们所看到的并非真的是随机,而那些真正的随机又常常难以理解。