手机巴士论坛's Archiver

枫翎翔 发表于 2008-6-30 18:23

手机病毒探讨:我们真的需要杀毒软件吗?(转帖)

手机病毒探讨:我们真的需要杀毒软件吗?(转帖)现在论坛里面提供杀毒软件和防火墙的已经不在少数了吧,但是我们现在碰到过或者听到过第三版的病毒了么?我们真的需要那些狂耗资源的杀毒软件吗?以下是dream自己的一些分析和体会,希望对大家有所帮助,欢迎高手讨论。

     首先要搞清楚什么是病毒。词典里面对计算机病毒的定义是:人为的特制程序,具有自我复制能力,很强的感染性,一定的潜伏性,特定的触发性和很大的破坏性。
      手机中的软件,嵌入式操作系统(固化在芯片中的操作系统,一般由 JAVA、C++等语言编写),相当于一个小型的智能处理器,所以会遭受病毒攻击。而且,短信也不只是简单的文字,其中包括手机铃声、图片等信息,都需要手机中的操作系统进行解释,然后显示给手机用户,手机病毒就是靠软件系统的漏洞来入侵手机的。 手机病毒可利用发送短信、彩信,电子邮件,浏览网站,下载铃声等方式进行传播。手机病毒可能会导致用户手机死机、关机、资料被删、向外发送垃圾邮件、拨打电话等。
      手机病毒要传播和运行,必要条件是手机提供数据传输功能,而且手机需要支持高级程序写入功能。所以只有智能手机才会感染病毒,而病毒必须通过控制系统程序,才能达到发作的效果。因此分析手机病毒的原理必须从系统结构开始。

      S60系统的结构特征:
      打开文件管理器可以一般可以看到有4种硬盘符号
      C:手机本身的容量。
      D:为缓存盘,相当于电脑的内存,**的内容,上网的cash等都在这里,程序实际上也是在这里运行的。
      E:为手机的存储卡。
      Z:rom,手机固件,直接刻录在flash里面的系统程序,只读的部分,通过这些程序控制硬件,达到手机的各种功能,刷机升级刷的就是这个部分。
      先申明一下,在C盘的“系统文件”实际上是一些日志、配置、数据文件,只读属性,与操作系统本身没有关系。打个比方,Z盘相当于pc上的“windows”文件夹,C盘上的这些文件夹相当于“program files”和“documents and settings”。文章以下的“系统文件”都特指Z盘。
      一个病毒的发作必须有两个条件,一个是必须能够寄存在C盘或者E盘里面,其次必须能够在D盘里面运行。但是在Z盘的系统文件是无法通过软件手段改变的。因为手机病毒无法改变系统文件,而只是通过改变系统文件在D盘里面的运行方式来达到目的,所以很难具有自我复制和变种的能力和很强的感染性,只能算是一种伪病毒。

      常见的系统文件格式:
      sis:symbian操作系统专用的安装文件,用于安装symbian专用智能手机的应用程序
      sisx:sis文件的升级版
      jar:java程序的安装文件
      app:应用程序的主程序,破解主要是破解这个文件,软件中的部分菜单需要汉化此文件
      rsc:资源文件,软件中的文字大多在这个文件中,汉化的主要部分
      ini:配置文件  [size=3][color=purple]( ini文件有时会造成一些困扰,但是还算不上病毒[/color][/size][size=3][color=#800080])[/color][/size][size=3][color=purple]
[/color][/size]      dat:数据文件
      dll:库文件
      ink:捷径连接文件
      log:日志文件
      sav:游戏存档
      db:数据库文件
      bin:二进制文件
      exe:可执行程序,有的能开机自动运行
      fep:输入法
      gdr:字库
      mdl:mime识别文件,有的能开机自动运行
      midp:java程序配置文件

    其中我们主要接触到的文件格式主要只有三种:sis(sisx),jar,exe
     sis(sisx)是塞班的专有格式,它可以看成是一种包含库的关联文件,系统为程序的运行提供接口与输出,sis必须依靠系统存在,但是能够改变系统运行的方式。sis是一种不安全的格式,NOKIA在认识到这种问题后推出了sisx格式,这种格式在sis的基础上追加了权限认证的功能,不同的权限对应对系统程序的控制能力,权限认证的原理会在下面具体论述。
    jar是通用的高级程序格式,这是一种索引文件,通过调用java库里的功能来实现对硬件的控制,特点是灵活,扩展性好;但是实际执行效果取决于程序的兼容性(强壮度)和硬件对库的支持程度。实际上感觉小5对jar的支持不是很好。jar的执行不依赖系统,对系统也没有更改的权限。只要硬件支持,非智能手机也可以使用jar格式。由于无法调用系统文件,而库文件的作用是跟硬件绑定的,所以通过jar可以达到某些功能,但是像要达到很大的破坏效果几乎不可能。
    exe是直接的可执行文件,虽然S60支持这种格式,但是这是一种绑定的格式,对硬件和系统的兼容度要求非常高,而且在S60中几乎对所有的文件都没有调用的权限。所以病毒通过exe发作可能性几乎不存在。
    与S60第二版相比,诺基亚S30 3rd平台大大强调了平台的安全性,这体现在两个层面:对用户手机提供安全保护、对程序开发者要求安全限制。事实上,S60 3rd平台手机的安全保护,达到了前所未有的,甚至让人觉得有些繁琐的地步。

1、采取安全保护的背景
  之所以在S60 3rd平台中如此强调安全性,全因为过往S60平台过于开放的机制而导致的许多问题。过于开放的系统,至少将导致几个问题:
   软件的自身的保护机制不足,易于破解;
   用户无法识别程序的来源,或者正规来源易于被仿制;
   病毒伪装成正规软件,无法鉴别;
   过于开放的系统文件访问机制,容易导致系统崩溃;
   用户个人数据处于开放状态,易被恶意程度窃取。
   因此,针对过往S60平台的系统崩溃、白屏、自动重启、病毒、用户误删重要文件。这些导致手机安全的问题,诺基亚急需在新一代的手机平台中,采取保护措施予以防范、解决。  
  

2、针对程序开发者的安全限制
  在S60 2nd平台中开发程序,只要编译后可以在Nokia SDK的模拟器中顺利运行,就可以直接改变编译方式,并放置在手机中运行。中间并没有过多的限制,大多数时候,所需要操作的仅仅是改变编译的最终运行平台目标。
  而现在,在S60 3rd平台上开发程序,不仅需要改变编译目标,更要提供:程序UID值申请、程序的权限、程序安全证书。

      UID值
  UID值,从S60平台创立伊始,就是作为每一个程序的唯一的、专用的数字标签,而受到限制。因此,如果两个程序使用了相同的UID值,那么最多只有一个程序能够正常安装,而另一个则会出现冲突。
    UID值是S60程序的识别标签,每一个S60程序,都有一个且仅有一个用于手机系统识别的四字节共8位数字的代码,正规的商业软件的UID值,是需要向Symbian的提供者申请的,当然如果是编程爱好者自己写的S60程序,也可以任意指定一个UID值。不过不建议随意另行指定UID值,可能会引致不必要的程序不稳定。
  但过往的S60平台,在最终进行打包时,打包人可以随意指定UID值,而实现任意“伪装”,因此,完全可以把一个正规厂商的软件,例如“智能影院”,将其解包,指定一个不同的UID值,再重新打包成SIS安装程序,在最终进行安装时,手机并无识别能力,照样可以顺利安装。而在S60 3rd版本中,首先部分UID段受到了限制(低于0x80000000的UID值),开发者不能随意地使用这些UID段,此区段的UID值,必须提交申请并获准通过方可使用(非免费申请),有效地保护了正规厂商申请的、合法的、专属的UID值。
  另外,如果提供了错误的,或非法的UID值,最终的SIS或SISX程序在手机上进行安装时,将不能实现正常的安装,从而从UID值层面,提对软件的“身份”提供了良好的筛选。因此,如果要保证程序运行的兼容性与可靠性,程序开发者最有效的办法,即是申请合法的UID值。

  程序权限限制
  在进行S60 3rd平台的开发时,将会要求开发者对调用资源、程序权限的一些申明,相应地,在最终的完成的软件安装包在手机中进行安装时,手机将获取这些权限的级别,并弹出警告窗口,提醒用户此程序将会进行的一些操作,如“是否允许此程序访问用户数据”、“是否允许此程序使用本手机的网络连接”等,用户可以通过查看这些提醒,以确定是否安装此程序,从最大程度上保证用户对不明用途的程序实现权限、功能上的监控。

  程序安全证书
  而S60 3rd最具革命性的保护机制,则是基于“安全证书”的保护方案。简单地说,“安全证书”,是由Symbian公司提供的一个数字签名,它标示了程序的“身份”的合法程度。虽然在过往的S60 2nd安装程序中,也有“证书”的选项,但证书选项是可选的,即使不提供证书,程序也可以正常安装,用户唯一可以做的鉴别,仅仅是查看证书的状态,手机硬件并没有提供针对对此证书而做的任何筛选功能。
  但在S60 3rd平台,证书不仅是安装程序的“身份”标志,而且每一个安装包都必须具备身份标志。因为,要制作在S60 3rd平台智能手机中进行安装的程序安装包,在进行最终程序组件打包时,都必须进行证书“签名”一项,否则即使是应用S60 3rd SDK提供的打包工具打包出的程序,在手机也是不被识别的非常安装程序。
  拥有正式的、由Symbian公司提供的安全证书的安装程序,才能在启用安全防护措施的S60 3rd平台手机上安装。反之,则不能正常安装、或者只能安装于用户主动关闭了安全保护的手机中。
  这也就意味着,如果用户开启了程序管理中的“仅限已注册的程序”,那么所有未经过Symbian公司授权签发证书的软件,在此用户手机上都将不能安装。如果不慎传入不明证书软件,并不慎运行了安装程序,也不能通过手机的证书检查,从而无法实现安装。这样可以有效地防范恶意程序、病毒、不稳定的程序等,即使用户不了解程序的来源及用途,也可以防止这类程序对手机系统的稳定性及安全性造成的危害,可以不夸张地说,证书检验机制,就像手机的一道“防火墙”,牢牢把守着手机的大门。

      免费软件权限机制
  从程序开发者方面来看,要开发一个成功的,不被手机“拦截”的,S60 3rd程序,要受到至少三个级别的“考验”,而其中将发生一些费用。这样岂非大大打击免费软件开发者的兴趣?如果离开免费大餐的诱惑,这个平台又会有多大的吸引力?
  Symbian显然也考虑到了这一点,因此,其开放了UID的免费区段,提供给免费软件开发者使用。同时,提供生成公版证书、密钥的功能,让开发者可以生成不需要特殊申请的证书,并打包成受限制的安装程序。对于在“软件安装”菜单中设置为“全部”(即不拦截非正式证书打包程序)的手机,也可以正常安装使用。甚至,Symbian提供免费的证书给免费软件开发者,但必须捆绑免费声明(在程序安装时,弹出窗口提示本软件为免费软件,如果有收费行为可以向Symbian公司投诉),这样的免费软件,完全可以通过所有级别的手机审查,而不会遭到拦截。
   

3.针对手机平台的安全保护
  S60 3rd平台对手机用户的安全保护,表现为三个大的层面:
  用户自主地设置安全保护
  用户在“程序管理”→“设置”→“软件安装”中,选择不同的选项,将会实现不同的主动保护功能。
  “仅限已注册的程序”——只有那些经过向Symbian申请了合法的、正式的证书的、受到Symbian认证签名的安装程序,才能被安装。其它所有来历不明的程序,都将无法通过安装检验。
  “全部”——允许未得到认证签名的安装程序,也能在这台手机上得到安装运行。
  手机对数据访问的限制
  诺基亚手机自带的“文件管理”程序,一直都是无法访问系统级文件夹的,在S60 2nd平台,可以通过加装第三方的文件管理软件,如SmartFileManager而实现对系统级文件夹的访问、编辑等操作。而在S60 3rd平台中,至今尚未出现可以访问所有文件夹的软件。加装第三方文件管理软件,也不过增加了部分共享级文件夹的访问,而系统级文件夹均不可访问。
  通过这种限制,可以很好地保护系统文件,从而保证系统的稳定性。同时,亦可以保护用户隐私文件,以保证私密文件的永不丢失。
      手机校验机制
  S60 3rd平台手机,不仅提供前文所提及的证书校验、UID校验、程序权限校验等校验,更提供许多细节处的、相对于S60 2nd更为严格的校验机制。例如对过往已经安装过的程序,如果未卸载,即重新再次安装,即使版本号高于已安装的旧版,可能依然无法实现覆盖安装,在安装时将会提醒“安装错误、无法完成安装”。对于常常将程序安装在存储卡后,不在手机“程序管理”中卸载程序,直接格式化存储卡的朋友而言,以后必须要养成卸载程序的习惯,否则只能格式化手机解决了。
[color=red][color=red][size=3]总结:
   现在S60 第3版上是不会有病毒,除非等到证书和安全系统被破解,但有那么容易吗?第3版的安全性应该比电脑要高得多,杀毒软件赶快从机上删除啊!别浪费内存资源了......大家也不需要害怕手机会感染病毒。[/size]
[/color][/color]

莯頭。 发表于 2008-6-30 18:41

沙发。嗨,厚道。

2243045ok 发表于 2008-7-10 21:05

个人也认为杀毒软件没有这个必要 我的手机天天连接电脑 都没发现中毒的现象(不过,内存卡可是一天中一次毒啊!无奈!)嘿嘿

wj5208 发表于 2008-7-12 19:23

如果升级不要钱的话1我也想用!

taoqiyouling 发表于 2008-7-17 10:55

我想我是不会浪费自己的手机资源。。来存放这些并不常用的东西滴。。因为我还要放很多滴游戏很多的歌曲..很多的娱乐资源....哪里有空间再放杀毒软件呢..

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.