硬件的进步速度绝不仅仅是一个摩尔定律。CPU的NX技术,在2001年之前,只有一些贵得要死的Unix服务器才有。而现在,随便买台PC,都有这个功能。过去,服务器一瘫痪,想解决问题就得跑机房。后来一些服务器厂商提供了Remote Control Card,倒是可以实现从BIOS启动画面开始的远程控制,但同样贵得要死。而现在INTEL已经将Remote Control Card的功能集成进了芯片组和CPU。也许不久后,每台PC都会有这个功能。不可避免的,也会出现相关的安全问题。这可比任何Rootkit都更Rootkit。 Intel官方关于AMT技术的介绍: http://www.intel.com/cd/network/connectivity/APAC/ZHO/217823.htm?iid=tech_amt+zho Radmin新版本也将提供对AMT的支持: http://www.radmin.com/products/radmin/radmin_with_intel_amt_demo.php 看到AMT,使我想起了去年在一个卖二手服务器配件的店里看到两块HP TopTools Remote Control Card,不过店主并不知道那是什么东西,于是我以便宜得惊人的价钱买了回来玩。卡是买回来了,但是完全没接触过类似的东西,便先找文档资料。谁知网上关于HP TopTools Remote Control Card使用方面的信息极少,只能一边试验一边摸索。 首先,要把这东西跑起来。根据HP官方文档《HP TopTools Remote Control User Guide》上说,卡和主板之间是通过一根I2C-IPMB电缆进行连接的。而这种电缆我根本买不到,只能自己做。我带着卡,在电子市场跑了一大圈,总算找到了合适的接插件。制作了一根I2C-IPMB电缆: 连上主板,加电,总算顺利跑了起来。 这个卡实际上就是一台小小的嵌入式系统,自己起了一个HTTPD,可以用浏览器连上去查看系统状态、诊断、远程控制、甚至远程安装操作系统。从板子上看,应该是ARM+FPGA架构的。分析了Firmware,里面跑的VXWorks——HP就是HP啊。 我升级到了最新版本的Firmware之后,对远程管理界面进行了简单的测试。 管理界面虽然是WEB的,但实际上大部分功能都是JAVA Applet实现的。登陆认证过程用了加密,挑战响应,所以不必担心口令安全问题。不过除了口令外,其他数据都是明文传输,相当于telnet,所以尽量不要通过不可信的网络在这个控制台上进行可能包含敏感数据传输的操作,譬如登陆操作系统。 进一步对管理界面进行测试,发现不少漏洞 。不过好在这个东西太小众,所以应该没啥大影响。 另外,B.01.08版本的Firmware,会监听3/TCP端口,而更高版本则没有,很诡异,不知道是不是留的调试接口。 远程控制功能还是比较COOL的,从BIOS到GRUB都能控制: 我简单分析了一下远程控制的实现原理。这个和RDP、VNC之类不同,传输的并不是图像,而是字符信息。估计是从哪个中断直接读了VGA的数据。这样做的好处是对带宽的要求很小,坏处就是仅能支持VGA控制台模式,不支持Framebuffer的控制台模式,GUI就更不行了。这就带来一个应用上的问题:Debian虽然仍然顽固的坚持字符安装界面,但为了支持多国语言,还是用了Framebuffer。所以无法用这个东西来远程重装系统。我于是强行把Debian安装程序的initrd中Framebuffer模块给删掉了,这样虽然只能显示英文,但是远程重装系统就没问题了:
http://hi.baidu.com/tombkeeper - 选录
从AMT想起去年买的HP TopTools Remote Control Card
2008-11-27链接