Jon Erickson在美国北加州工作,是一名密码破译专家和安全专家。他认为,如果想要成为一名成功的黑客必须要拥有五个基本技能,分别是:编程能力、汇编语言能力、调试程序或排除程序故障的能力、反向工程能力、以及研究能力。
编程:编程说白了就是写代码,以便制定可执行的计算机程序。
汇编语言:汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成人类无法翻译的机器指令。这些指令集能让黑客访问CPU架构,但更多的是让黑客了解计算机正在做什么,而不是去命令计算机做什么。
调试程序或排除程序故障:调试调试或排除故障其实是一个清理程序的过程。“了解如何使用低级别调试器,能让黑客探索,检查程序执行时会发生哪些的问题,”Erickson说道,“使用调试器是最好的方式之一,因为它可以看到程序在执行时时如何实际交互的。”
反向工程:“基本上,反向工程可以搞清楚某个程序究竟做了什么,你只需看下机器指令,或是看下程序反复发送什么数据,”Erickson继续说道,“有时,只要看看路由器固件镜像或是封闭原始码软件,就足以让黑客找到后门或是代码中的漏洞,然后轻松逃掉。为什么会这么简单?因为你根本无需查看机器指令了。”
研究:“在黑客世界里,你需要不断钻研,不断探索,这样才能让自己始终处在领先地位,”Erickson解释说,“但是这不意味着一些老技术就不值得学习。举个例子,基于对战的溢出漏洞已经存在大约有半个多世纪了,但即便是现在,仍然在被很多黑客使用。”
好了,现在就要问人工智能一个问题了,那就是人工智能可以具备上述这些特质吗?坦白说,还真的可以,不过是绝大多数可以。在如今的人工智能程序中,已经实现了编程功能,更掌握了编程语言。而相对于人类,机器处理反向工程其实更轻松,还有调试程序或排除故障,机器做的也比人类要好。
小编推荐阅读