前一段时间,公司里面对一个内部的安全产品开了一个“Hacking Contest”,目的是绕过它能取得一个隐藏的文件。它本身支持几种版本管理系统,细节呢在这里就不多说了。我没有参与参与开发,只是了解了一些。中间的突破的过程就不说了,结果我是属于前几名的,有奖金可以拿:)
在其中也学习了好多,当然安全还是一个很大的话题,中间涉及到的领域太多太多了,这个比赛只涉及到了程序设计一部分,怎么突破程序的封锁,找到程序的漏洞,不管是从其本身逻辑上还是其实现上,这都是一个值得研究的问题,有些漏洞也还是很难找到的。当然,这次比赛是第一次,其中的漏洞相对来说比较简单,比较容易找到,以后可能还会有类似的比赛,那时候可就不是那么容易的事了。
在学习的过程中发现一个东西,很有帮助,[Creating Secure Software]:
- 缓冲区管理
- 设计
- 依赖
- 输出
这五个方面是任何一个程序都具有的部分,对于 C 程序来讲,缓冲区溢出可能会是一个比较大的问题,稍不注意就可能出现漏洞,而且也是出现最多也是最危险的漏洞。具体的信息请自行查看上面提供的链接。我虽然对安全有一定的兴趣,但并不是专家,更谈不上有多深入的理解,只是想多丰富自己的知识面,知道一点东西,以后碰到什么问题的话至少有点线索可以搜索,不然那可就完全抓瞎了。想起了上次服务器被黑事件,我们最终都没有找出是哪个漏洞,不过已经获得了很多信息,可惜由于已经过去了一阵时间,一部分 syslog 给丢了,那一段时间的 log 就没有了。




Post new comment