
从原则上来讲,计算机病毒和杀毒软件是“矛”与“盾”的关系,杀毒技术是伴随着计算机病毒在形式上的不断更新而更新的。也就是说,网络版杀毒软件的出现,是伴随着网络病毒的出现而出现的。因此,《中国计算机报》联合中国软件评测中心对目前市场上流行的九款网络版杀毒软件进行了评测。
互联网下的病毒新特点
病毒从出现之日起就给IT行业带来了巨大的损伤,随着IT技术的不断发展和网络技术的更新,病毒在感染性、流行性、欺骗性、危害性、潜伏性和顽固性等几个方面也越来越强。对于互联网环境下的计算机病毒,我们认为主要有以下几个发展特点:
传播网络化 目前通过网络应用(如电子邮件、文件下载、网页浏览)进行传播已经成为计算机病毒传播的主要方式。最近几个传播很广的病毒如“爱虫”、“红色代码”、“尼姆达”无一例外都选择了网络作为主要传播途径。
利用 *** 作系统和应用程序的漏洞 此类病毒主要是“红色代码”和“尼姆达”。由于IE浏览器的漏洞,使得感染了“尼姆达”病毒的邮件在不去手工打开附件的情况下病毒就能激活,而此前即便是很多防病毒专家也一直认为,带有病毒附件的邮件,只要不去打开附件,病毒不会有危害。“红色代码”则是利用了微软IIS服务器软件的漏洞来传播。
传播方式多样 如“尼姆达”病毒,可利用的传播途径包括文件、电子邮件、Web服务器、网络共享等等。
病毒制作技术新 与传统的病毒不同的是,许多新病毒是利用当前最新的编程语言与编程技术实现的,易于修改以产生新的变种,从而逃避反病毒软件的搜索。另外,新病毒利用Java、ActiveX、VB Script等技术,可以潜伏在HTML页面里,在上网浏览时触发。“Kakworm”病毒虽然早在去年1月就被发现,但它的感染率一直居高不下,就是由于它利用ActiveX控件中存在的缺陷传播,装有IE5或Office2000的电脑 都可能被感染。这个病毒的出现使原来不打开带毒邮件附件而直接删除的防邮件病毒方法完全失效。更为令人担心的是,一旦这种病毒被赋予了其他计算机病毒的恶毒的特性,它所造成的危害很有可能超过任何现有的计算机病毒。
诱惑性 现在的计算机病毒充分利用人们的好奇心理。例如,曾经肆虐一时的“裸妻”病毒,其主题就是英文的“裸妻”,邮件正文为“我的妻子从未这样”,邮件附件中携带一个名为“裸妻”的可执行文件,用户执行这个文件,病毒就被激活。又如“库尔尼科娃”病毒的流行是利用“网坛美女”库尔尼科娃的魅力。
病毒形式多样化 通过对病毒分析显示,虽然新病毒不断产生,但较早的病毒发作仍很普遍,并向卡通图片、ICQ等方面发展。此外,新病毒更善于伪装,如主题会在传播中改变,许多病毒会伪装成常用程序,或者将病毒代码写入文件内部,长度而不发生变化,用来麻痹计算机用户。主页病毒的附件并非一个HTML文档,而是一个恶意的VB脚本程序,一旦执行后,就会向用户地址簿中的所有电子邮件地址发送带毒的电子邮件副本。
危害多样化 传统的病毒主要攻击单机,而“红色代码”和“尼姆达”都会造成网络拥堵甚至瘫痪,直接危害到了网络系统;另一个危害来自病毒在受害者身上开了后门,对某些部门而言,开启了后门带来的危害,如泄密等,所造成的危害可能会超过病毒本身。
也正是由于计算机病毒的这些特性,导致了新一代网络杀毒软件的出现,正所谓矛尖必然盾利。
网络版杀毒软件新趋势
计算机病毒的发展日益猖獗,也正因为“矛”越来越锋利,我们的“盾”的防护能力也越来越强大,其发展趋势如下。
集中式管理、分布式杀毒 对局域网进行远程集中式安全管理,并可通过账号和口令设置控制移动控制台的使用。并且先进的分布技术,利用本地资源和本地杀毒引擎,对本地节点的所有文件进行全面、及时、高效的查杀病毒,同时保障用户的隐私,减少了网络传输的负载,避免因大量传输文件而引起的网络拥塞。目前,杀毒软件中较为流行两种集中管理方式:以策略为中心,如图1所示,以逻辑上的策略域进行杀毒策略的部署,一般通过策略服务器(或中心服务器)负责实现网络杀毒策略的部署,这种方式可以脱离网络拓扑结构,部署较灵活;以服务器为中心,如图2所示,以物理上的网络服务器为中心,进行网络杀毒的管理,这种方式与网络拓扑结构融合,管理更加方便。
上面两种方式均有其好的方面,选择哪种方式的网络杀毒软件,主要是依据用户的实际需要来定。
图1 以策略为中心的集中管理方式
数据库技术、LDAP技术的应用 由于网络杀毒工作的日益复杂,一些网络杀毒软件厂商已经开始使用数据库技术和LDAP技术进行策略和日志的存储、用户管理等功能,不但增强了用户管理能力、策略组织能力,提高了策略调用速度,而且便于以后向日志分析等方面扩展。
多引擎支持 我们谈到网络安全,只能是相对安全而没有绝对的安全,而对于杀毒引擎来说,我们并不能说,任何一种杀毒技术或杀毒引擎能够查杀任何病毒。因此,对于多引擎技术来说,就是使用多项杀毒技术进行网络杀毒,可以有效地提高网络杀毒的成功率,但是必然会增加网络杀毒软件的复杂度。
图2 以服务器为中心的集中管理方式
从入口处拦截病毒 网络安全的威胁多数来自邮件和采用广播形式发送的信函。许多专家建议安装代理服务器过滤软件来防止不当信息。目前已有许多厂商正在开发相关软件,直接配置在网络网关上,d性规范网站内容,过滤不良网站,限制内部浏览。这些技术还可提供内部使用者上网访问网站的情况,并产生图表报告。系统管理者也可以设定个人或部门下载文件的大小。此外,邮件管理技术能够防止邮件经由Internet网关进入内部网络,并可以过滤由内部寄出的内容不当的邮件,避免造成网络带宽的不当占用。从入口处拦截病毒成为未来网络防病毒产品发展的一个重要方向。
全面解决方案 由于计算机网络应用的不断增加,导致计算机病毒入侵途径日益增多,并且对于某些网络环节,如Linux、UNIX服务器来说,虽然系统本身受病毒侵害的程度相对较低,但是却也成为病毒存储的温床和发源地。因此,网络杀毒体系将会从单一设备或单一系统,发展成为一个整体的解决方案,并与网络安全系统有机地融合在一起。无论是服务器、邮件服务器,还是客户端都应该得到保护。目前,现有的网络杀毒软件通常都可以扩展到对于文件服务器、邮件服务器、Lotus服务器的病毒防护。
客户化定制 客户化定制模式是指网络防病毒产品的最终定型是根据企业网络的特点而专门制定的。对于用户来讲,这种定制的网络防病毒产品带有专用性和针对性,既是一种个性化、跟踪性产品,又是一种服务产品。这种客户化定制体现了网络防病毒正从传统的产品模式向现代服务模式转化。并且大多数网络防病毒厂商不再将一次性卖出反病毒产品作为自己最主要的收入来源,而是通过向用户不断地提供定制服务而获得持续利润。
扩展性 由于目前反黑与反病毒的结合趋势,目前网络杀毒系统越来越朝着与防火墙、入侵检测、安全扫描、SNMP网络管理融合的方面发展。这是目前网络杀毒软件的一个发展的动向。
远程安装或分发安装 由于网络杀毒软件可能需要对不同物理区域的数十台甚至上百台、上千台客户端服务器进行杀毒模块的安装,因此要求管理员本地安装是不现实的,目前系统一般提供两种方式进行客户端的远程安装,一种是通过Windows系统远程控制命令进行批量客户端的远程安装,另外一种是让所有的用户通过Web页面下载客户端自行安装,任何一种方式都需要通过管理手段和技术手段实现
评测综述
为了向广大的最终用户推荐优秀的网络杀毒软件,《中国计算机报》联合中国软件评测中心对网络杀毒软件进行了专题测试,参加测试的厂商包括趋势科技、熊猫软件、美国网络联盟(NAI)、朝华科技、启明星辰、交大铭泰、冠群金辰、江民科技、赛门铁克的九款产品,基本涵盖了目前国内外主要的杀毒软件厂商,产品基本体现了国际和国内最先进的网络杀毒技术(这次送测的产品为25用户的中小型企业版)。
由于对于网络杀毒软件来说,管理重于杀毒能力,并且考虑到时间和周期的限制,因此本次专题的测试重点体现在网络杀毒软件产品的可管理性、安全性、兼容性、易用性四个方面,在测试过程中,没有深入涉及网络杀毒软件的杀毒能力和效率,请广大的读者谅解。下面对测试的四个指标进行简单的介绍。
可管理性 详见表1、表2、表3、表4,体现了网络杀毒软件的管理能力,主要包括了集中管理功能、杀毒管理功能、升级维护管理功能、警报和日志管理功能等几个主要部分,是网络杀毒软件杀毒能力在管理层次的体现。
安全性 详见表5,主要是对于用户认证,管理数据传输加密等方面的考虑,同时也涉及到管理员对于客户端的某些强制手段。
兼容性 详见表6,主要是用于管理、服务、杀毒的各个组件对于 *** 作系统的兼容性,直接体现了网络杀毒软件或解决方案的可扩展能力和易用程度。
易用性 详见表7,主要是指是否符合用户的使用习惯,比如作为中国境内销售的软件,易用性中最主要的一个因素就是中文本地化的问题,还有就是对用户文档在易理解性和图文并茂等方面要求,可以有效地保证用户在短时间内掌握网络杀毒软件的基本使用方法和技巧。
以上特性是相辅相成的一个有机整体,有些特性,像安全性与易用性,是一种需要平衡的矛盾,也就是说安全性高的产品通常易用性就会有所下降,这是不可避免的,我们需要根据产品面向的行业、领域和应用规模找到一个平衡点。让我们领略一下九款网络杀毒软件的风采吧!
参考资料:http://edu.itbulo.com/200511/57914.htm
import java.util.Calendarimport java.util.Dateimport java.util.Scannerpublic class MyCalendar{public static void main(String[] args){Scanner scanner = new Scanner(System.in)String reg = "^(\\d+)[^\\d]+((0?[1-9])|(1[012]))$"...React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发iOS 和 Android 原生应用。在 JavaScript 中用 React 抽象 *** 作系统原生的 UI 组件,代替 DOM 元素来渲染等。
React Native 使你能够使用基于 JavaScript 和 React
一致的开发体验在本地平台上构建世界一流的应用程序体验。React Native
把重点放在所有开发人员关心的平台的开发效率上——开发者只需学习一种语言就能轻易为任何平台高效地编写代码。Facebook
在多个应用程序产品中使用了 React Native,并将继续为 React Native 投资。
其好处显而易见:减少了人力、节省了时间、避免了 iOS 与 Android 版本发布的时间差,开发新功能可以更迅速。
下面,我们可以尝试用React Native创建一个 iOS APP.
在我们开始之前,我建议:你可以在 Github
里先下载 React Native 的代码框架。里面还有一些示例项目,2048 的游戏, Movies(一个看电影的
APP),SampleApp, TicTacToe (一款游戏)和 UIExplorer(能显示出所有用 React Native
替代的控件,如ListView,TabBar,MapView, Slider)),对于学习用如何用 React Native 创建
UI,这些都是非常好的例子,尤其是 UIExplorer APP,它几乎用到了每一个您的 APP 中需要创建的 UI 控件。
首先,我们先来安装相应的工具。React native 是使用 Node.js 来 创建 JavaScript 代码。如果你已经在你电脑上安装上了这些工具,你可以跳过下面这几步。
推荐使用 Homebrew的方式来安装 nvm,watchman 和 flow。
在Mac下,如果用homebrew,那么只用一行就可以装好:
brew install node
接下来安装watchman
brew install watchman
watchman是Facebook的一个文件观察者。React Native 用它来检测代码的变化.
接下来安装 npm
npm install -g react-native-cli
nmp 是 node的一个三方管理工具,相当于 Ruby中的RubyGems,iOS中的 CocoaPods,Java中的 Gradle/Maven,基本上,它使您能够轻松下载和管理你的项目需要的任何依赖库。
在终端,找到你希望保存的项目文件,然后运行下面的文件夹。
react-native init BookSearch
以上使用 CLI 工具来构建一个 Native 项目,是准备建立并运行原样。当这个过程完成后,你就会在终端窗口中打开 Xcode
的BookSearch.xcodeproj
并运行应用程序像往常一样。做到这一点,模拟器将启动您的应用程序的运行。一个终端窗口也将打开。当一个Native应用程序启动时,它加载从以下网址
JavaScript 的应用程序。
http://localhost:8081/index.ios.bundle
终端被打开,服务器开始作出反应来处理上述请求。该 Native 负责读取和建设 JSX(我们将看看这个版本)和 JavaScript 代码。
运行这个 APP,你可以看到下图中的模拟器,如果你想在开发运行有几个步骤,你应该这样做。
欢迎屏幕给出了一些关键的指令,你应该注意:编辑应用程序的用户界面,你应该修改,当你创建项目时生成的 index.ios.js 文件,如果您更改
JavaScript 代码,重新加载命令应用程序 Command-R 看到的变化,如果你想要更多的选择,使用命令控制
Command-Control-Z 打开开发者菜单,提供了这样的选项,使现场重新加载和浏览器的调试。
在任何时候做本教程时你可能会遇到一个红色屏幕模拟器,可以检查错误消息。它能让你知道这个问题是与你的代码还是服务器有关系。当我接收到错误的消
息「无法连接到服务器」 在模拟器和检查终端有一个「流程终止」 错误消息时我陷入了服务器连接问题。当这种情况发生时,关闭终端窗口,停止在
Xcode
中的应用并再次运行它。对于其他错误,是由于语法错误代码中或网络请求超时时(如果你的应用从互联网上获取数据),一个简单的重新加载后修复这个问题应该
怎么做。
如果你在敦促 Command-R 键盘但什么都没有发生,硬件键盘可能没有连接到模拟器上。选择模拟器上的选项菜单以连接它:Hardware >Keyboard >Connect Hardware Keyboard.
如果你按上边程序做了它依然不能重新加载,那么你可能需要重启你的电脑。我遇到过一次突然死机,重启电脑可以完成加载。
我们现在开始构建应用程序,打开 index.ios.js 文件。我建议使用适合 web 开发的 IDE。你还可以使用
Xcode,但你会发现它并不适合因为在代码格式化、自动完成和语法错误突出显示时它不是非常灵活。你可以通过学习本文来决定并选择合适的
JavaScript IDE。我用过 RudbyMine,但实际上任何 IDE 都支持 JavaScript。如果你能得到一个支持 JSX
的那真很不错。
当你打开 indx.ios.js 文件,你就会看到正在运行的应用程序构建 UI 的代码。你可能看到以下代码块。
'use strict'
以上代码启用了严格的模式,增加了处理原生 JavaScript 代码对错误的改善。
var React = require('react-native')
以上代码可以加载 react-native 模块,并将它赋予变量的反应。在你调用任何模块之前你需要把外部模块加载到你的文件中来。可以把它作为Swift 和 Objective-C 的导入库。
var { AppRegistry, StyleSheet, Text,
View,
} = React
上面是一个解构赋值,你可以通过它将多个对象属性分配给一个变量。这能让他们在文件作用域被引用。以上是可选择的,但如果你不用它,那么每次你使用
一个组件在你代码中时,你就必须使用完全限定的名称,例如:「React.AppRegistry」而不能只用「AppRegistry」
、「React.StyleSheet」 而不能用「StyleSheet」 等等。
var BookSearch = React.createClass({
render: function() {
return (
<View style={styles.container}>
<Text style={styles.welcome}>
Welcome to React Native!
</Text>
<Text style={styles.instructions}>
To get started, edit index.ios.js
</Text>
<Text style={styles.instructions}>
Press Cmd+R to reload,{'\n'}
Cmd+Control+Z for dev menu
</Text>
</View>
)
}
})
上面创建一个类只有一个渲染 () 函数。在渲染函数中无论什么被定义都是将输出到屏幕上。上述使用
JSX(JavaScript语法扩展)来构建应用程序的 UI。如果您以前使用过 XML(甚至HTML),JSX
就会记住并熟悉你。它具有相同的均衡功能来打开和关闭标签并使用属性来设置值标签。你不需要使用 JSX 本地反应,你可以使用纯
JavaScript,但 JSX 建议它的简单定义树结构。如果你有很多 UI 的代码,通过大型的 JSX 树结构将更容易阅读理解。
var styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
})
上面的样式应用可于视图的内容。如果你做过 web 开发或用过 CSS(层叠样式表),在此之前这应该是熟悉的。React Native 使用
CSS 样式应用程序的UI。如果你看看 JSX 代码,你会看到不同风格的代码被用在不同的地方。例如:
style={style.container}设置样式定义容器的外部视图包含其他UI组件。
上面的样式应用可于视图的内容。如果你做过 web 开发或用过 CSS(层叠样式表),在此之前这应该是熟悉的。React Native 使用
CSS 样式应用程序的 UI。如果你看看 JSX 代码,你会看到不同风格的代码被用在不同的地方。例如:
style={style.container}设置样式定义容器的外部视图包含其他 UI 组件。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)