《入侵检测技术.ppt》由会员分享,可在线阅读,更多相关《入侵检测技术.ppt(145页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、入侵检测技术,胡建斌北京大学网络与信息安全研究室E-mail: http:/ 入侵检测方法 入侵检测系统的设计原理 入侵检测响应机制 入侵检测标准化工作 其它 展望, 概述 入侵检测方法 入侵检测系统的设计原理 入侵检测响应机制 入侵检测标准化工作 其它 展望,Intrusion,Intrusion : Attempting to break into or misuse your system.Intruders may be from outside the network or legitimate users of the network.Intrusion can be a phy
2、sical, system or remote intrusion.,传统的信息安全方法采用严格的访问控制和数据加密策略来防护,但在复杂系统中,这些策略是不充分的。它们是系统安全不可缺的部分但不能完全保证系统的安全入侵检测(Intrusion Detection)是对入侵行为的发觉。它通过从计算机网络或计算机系统的关键点收集信息并进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象,Intrusion Detection,入侵检测的定义,对系统的运行状态进行监视,发现各种攻击企图、攻击行为或者攻击结果,以保证系统资源的机密性、完整性和可用性进行入侵检测的软件与硬件的组合便是入侵
3、检测系统IDS : Intrusion Detection System,入侵检测的特点,一个完善的入侵检测系统的特点:经济性时效性安全性可扩展性,网络安全工具的特点,1980年 Anderson提出:入侵检测概念,分类方法1987年 Denning提出了一种通用的入侵检测模型 独立性 :系统、环境、脆弱性、入侵种类 系统框架:异常检测器,专家系统 90年初:CMDS、NetProwler、NetRanger ISS RealSecure,入侵检测起源,入侵检测的起源(1),审计技术:产生、记录并检查按时间顺序排列的系统事件记录的过程审计的目标:确定和保持系统活动中每个人的责任重建事件评估损失
4、监测系统的问题区提供有效的灾难恢复阻止系统的不正当使用,入侵检测的起源(2),计算机安全和审计美国国防部在70年代支持“可信信息系统”的研究,最终审计机制纳入可信计算机系统评估准则(TCSEC)C2级以上系统的要求的一部分“褐皮书”理解可信系统中的审计指南,入侵检测的起源(3),1980年4月,James P. Anderson :Computer Security Threat Monitoring and Surveillance(计算机安全威胁监控与监视)的技术报告,第一次详细阐述了入侵检测的概念他提出了一种对计算机系统风险和威胁的分类方法,并将威胁分为外部渗透、内部渗透和不法行为三种还
5、提出了利用审计跟踪数据监视入侵活动的思想。这份报告被公认为是入侵检测的开山之作,入侵检测的起源(4),从1984年到1986年,乔治敦大学的Dorothy Denning和SRI/CSL的Peter Neumann研究出了一个实时入侵检测系统模型,取名为IDES(入侵检测专家系统),入侵检测的起源(5),1990,加州大学戴维斯分校的L. T. Heberlein等人开发出了NSM(Network Security Monitor)该系统第一次直接将网络流作为审计数据来源,因而可以在不将审计数据转换成统一格式的情况下监控异种主机入侵检测系统发展史翻开了新的一页,两大阵营正式形成:基于网络的ID
6、S和基于主机的IDS,入侵检测的起源(6),IDS存在与发展的必然性,一、网络攻击的破坏性、损失的严重性二、日益增长的网络安全威胁三、单纯的防火墙无法防范复杂多变的攻击,为什么需要IDS,关于防火墙网络边界的设备自身可以被攻破对某些攻击保护很弱不是所有的威胁来自防火墙外部入侵很容易入侵教程随处可见各种工具唾手可得,IDS基本结构,入侵检测是监测计算机网络和系统,以发现违反安全策略事件的过程简单地说,入侵检测系统包括三个功能部件:(1)信息收集(2)信息分析(3)结果处理,信息收集,入侵检测的第一步是信息收集,收集内容包括系统、网络、数据及用户活动的状态和行为。需要在计算机网络系统中的若干不同关
7、键点(不同网段和不同主机)收集信息,尽可能扩大检测范围从一个源来的信息有可能看不出疑点,信息收集,入侵检测很大程度上依赖于收集信息的可靠性和正确性,因此,要保证用来检测网络系统的软件的完整性,特别是入侵检测系统软件本身应具有相当强的坚固性,防止被篡改而收集到错误的信息,信息收集的来源,系统或网络的日志文件网络流量系统目录和文件的异常变化程序执行中的异常行为,系统或网络的日志文件,黑客经常在系统日志文件中留下他们的踪迹,因此,充分利用系统和网络日志文件信息是检测入侵的必要条件日志文件中记录了各种行为类型,每种类型又包含不同的信息,例如记录“用户活动”类型的日志,就包含登录、用户ID改变、用户对文
8、件的访问、授权和认证信息等内容显然,对用户活动来讲,不正常的或不期望的行为就是重复登录失败、登录到不期望的位置以及非授权的企图访问重要文件等等,系统目录和文件的异常变化,网络环境中的文件系统包含很多软件和数据文件,包含重要信息的文件和私有数据文件经常是黑客修改或破坏的目标。目录和文件中的不期望的改变(包括修改、创建和删除),特别是那些正常情况下限制访问的,很可能就是一种入侵产生的指示和信号入侵者经常替换、修改和破坏他们获得访问权的系统上的文件,同时为了隐藏系统中他们的表现及活动痕迹,都会尽力去替换系统程序或修改系统日志文件,信息分析,模式匹配 统计分析 完整性分析,往往用于事后分析,模式匹配,
9、模式匹配就是将收集到的信息与已知的网络入侵和系统误用模式数据库进行比较,从而发现违背安全策略的行为一般来讲,一种进攻模式可以用一个过程(如执行一条指令)或一个输出(如获得权限)来表示。该过程可以很简单(如通过字符串匹配以寻找一个简单的条目或指令),也可以很复杂(如利用正规的数学表达式来表示安全状态的变化),统计分析,统计分析方法首先给系统对象(如用户、文件、目录和设备等)创建一个统计描述,统计正常使用时的一些测量属性(如访问次数、操作失败次数和延时等)测量属性的平均值将被用来与网络、系统的行为进行比较,任何观察值在正常值范围之外时,就认为有入侵发生,完整性分析,完整性分析主要关注某个文件或对象
10、是否被更改,这经常包括文件和目录的内容及属性,它在发现被更改的、被安装木马的应用程序方面特别有效,入侵检测的分类(1),按照分析方法(检测方法)异常检测模型(Anomaly Detection ):首先总结正常操作应该具有的特征(用户轮廓),当用户活动与正常行为有重大偏离时即被认为是入侵 误用检测模型(Misuse Detection):收集非正常操作的行为特征,建立相关的特征库,当监测的用户或系统行为与库中的记录相匹配时,系统就认为这种行为是入侵,异常检测,前提:入侵是异常活动的子集 用户轮廓(Profile): 通常定义为各种行为参数及其阀值的集合,用于描述正常行为范围过程 监控 量化 比
11、较 判定 修正指标:漏报(false positive),错报(false negative),异常检测,异常检测,如果系统错误地将异常活动定义为入侵,称为误报(false positive) ;如果系统未能检测出真正的入侵行为则称为漏报(false negative)。 特点:异常检测系统的效率取决于用户轮廓的完备性和监控的频率。因为不需要对每种入侵行为进行定义,因此能有效检测未知的入侵。同时系统能针对用户行为的改变进行自我调整和优化,但随着检测模型的逐步精确,异常检测会消耗更多的系统资源。,Anomaly Detection,activity measures,probable intru
12、sion,Relatively high false positive rate - anomalies can just be new normal activities.,误用检测,前提:所有的入侵行为都有可被检测到的特征 攻击特征库: 当监测的用户或系统行为与库中的记录相匹配时,系统就认为这种行为是入侵 过程 监控 特征提取 匹配 判定 指标 错报低 漏报高,误用检测,误用检测模型,如果入侵特征与正常的用户行能匹配,则系统会发生误报;如果没有特征能与某种新的攻击行为匹配,则系统会发生漏报特点:采用特征匹配,滥用模式能明显降低错报率,但漏报率随之增加。攻击特征的细微变化,会使得滥用检测无能
13、为力,Misuse Detection,Cant detect new attacks,Example: if (src_ip = dst_ip) then “land attack”,入侵检测的分类(2),按照数据来源:基于主机:系统获取数据的依据是系统运行所在的主机,保护的目标也是系统运行所在的主机基于网络:系统获取的数据是网络传输的数据包,保护的是网络的运行混合型,监视与分析主机的审计记录可以不运行在监控主机上能否及时采集到审计记录?如何保护作为攻击目标主机审计子系统?,基于主机,在共享网段上对通信数据进行侦听采集数据 主机资源消耗少 提供对网络通用的保护如何适应高速网络环境?非共享网络
14、上如何采集数据?,基于网络,两类IDS监测软件,网络IDS侦测速度快 隐蔽性好 视野更宽 较少的监测器 占资源少,主机IDS视野集中 易于用户自定义保护更加周密对网络流量不敏感,入侵检测的分类(3),按系统各模块的运行方式集中式:系统的各个模块包括数据的收集分析集中在一台主机上运行分布式:系统的各个模块分布在不同的计算机和设备上,入侵检测的分类(4),根据时效性脱机分析:行为发生后,对产生的数据进行分析联机分析:在数据产生的同时或者发生改变时进行分析,常用术语,当一个入侵正在发生或者试图发生时,IDS系统将发布一个alert信息通知系统管理员如果控制台与IDS系统同在一台机器,alert信息将
15、显示在监视器上,也可能伴随着声音提示如果是远程控制台,那么alert将通过IDS系统内置方法(通常是加密的)、SNMP(简单网络管理协议,通常不加密)、email、SMS(短信息)或者以上几种方法的混合方式传递给管理员,Alert(警报),Anomaly(异常),当有某个事件与一个已知攻击的信号相匹配时,多数IDS都会告警一个基于anomaly(异常)的IDS会构造一个当时活动的主机或网络的大致轮廓,当有一个在这个轮廓以外的事件发生时,IDS就会告警有些IDS厂商将此方法看做启发式功能,但一个启发式的IDS应该在其推理判断方面具有更多的智能,首先,可以通过重新配置路由器和防火墙,拒绝那些来自同
16、一地址的信息流;其次,通过在网络上发送reset包切断连接但是这两种方式都有问题,攻击者可以反过来利用重新配置的设备,其方法是:通过伪装成一个友方的地址来发动攻击,然后IDS就会配置路由器和防火墙来拒绝这些地址,这样实际上就是对“自己人”拒绝服务了发送reset包的方法要求有一个活动的网络接口,这样它将置于攻击之下,一个补救的办法是:使活动网络接口位于防火墙内,或者使用专门的发包程序,从而避开标准IP栈需求,Automated Response,IDS的核心是攻击特征,它使IDS在事件发生时触发特征信息过短会经常触发IDS,导致误报或错报,过长则会减慢IDS的工作速度有人将IDS所支持的特征数
17、视为IDS好坏的标准,但是有的产商用一个特征涵盖许多攻击,而有些产商则会将这些特征单独列出,这就会给人一种印象,好像它包含了更多的特征,是更好的IDS,Signatures(特征),Promiscuous(混杂模式),默认状态下,IDS网络接口只能看到进出主机的信息,也就是所谓的non-promiscuous(非混杂模式)如果网络接口是混杂模式,就可以看到网段中所有的网络通信量,不管其来源或目的地这对于网络IDS是必要的,但同时可能被信息包嗅探器所利用来监控网络通信量交换型HUB可以解决这个问题,在能看到全面通信量的地方,会都许多跨越(span)端口,概述 入侵检测方法 入侵检测系统的设计原理
18、 入侵检测响应机制 入侵检测标准化工作 其它 展望,入侵检测相关的数学模型,试验模型(Operational Model)平均值和标准差模型(Mean and Standard Deviation Model):多变量模型(Multivariate Model): 多个随机变量的相关性计算, 马尔可夫过程模型(Markov Process Model):初始分布和概率转移矩阵;预测新的事件的出现频率太低,则表明出现异常情况。时序模型(Time Series Model):该模型通过间隔计时器和资源计数器两种类型随机变量参数之间的相隔时间和它们的值来判断入侵,异常入侵检测方法,统计异常检测基于特
19、征选择异常检测基于贝叶斯推理异常检测基于贝叶斯网络异常检测基于模式预测异常检测基于神经网络异常检测基于贝叶斯聚类异常检测基于机器学习异常检测基于数据挖掘异常检测,基于条件概率误用检测基于专家系统误用检测基于状态迁移误用检测基于键盘监控误用检测基于模型误用检测,误用入侵检测方法,基于误用的入侵检测,思想:主要是通过某种方式预先定义入侵行为,然后监视系统,从中找出符合预先定义规则的入侵行为误用信号需要对入侵的特征、环境、次序以及完成入侵的事件相互间的关系进行描述重要问题(1)如何全面的描述攻击的特征(2)如何排除干扰,减小误报(3)解决问题的方式,其它,基于生物免疫检测基于伪装检测,概述 入侵检测
20、方法 入侵检测系统的设计原理 入侵检测响应机制 入侵检测标准化工作 其它 展望,基于主机的入侵检测系统,系统分析主机产生的数据(应用程序及操作系统的事件日志)由于内部人员的威胁正变得更重要基于主机的检测威胁基于主机的结构优点及问题,基于主机的检测威胁,特权滥用关键数据的访问及修改安全配置的变化,基于主机的入侵检测系统结构,基于主机的入侵检测系统通常是基于代理的,代理是运行在目标系统上的可执行程序,与中央控制计算机通信集中式:原始数据在分析之前要先发送到中央位置分布式:原始数据在目标系统上实时分析,只有告警命令被发送给控制台,集中式检测的优缺点,优点:不会降低目标机的性能统计行为信息多主机标志、
21、用于支持起诉的原始数据缺点:不能进行实时检测不能实时响应影响网络通信量,分布式检测的优缺点,优点:实时告警实时响应缺点:降低目标机的性能没有统计行为信息没有多主机标志没有用于支持起诉的原始数据降低了数据的辨析能力系统离线时不能分析数据,操作模式,操作主机入侵检测系统的方式警告监视毁坏情况评估遵从性,基于主机的技术面临的问题,性能:降低是不可避免的部署/维护损害欺骗,基于网络的入侵检测系统,入侵检测系统分析网络数据包基于网络的检测威胁基于网络的结构优点及问题,基于网络的检测威胁,非授权访问数据/资源的窃取拒绝服务,基于网络的入侵检测系统结构,基于网络的入侵检测系统由遍及网络的传感器(Sensor
22、)组成,传感器会向中央控制台报告。传感器通常是独立的检测引擎,能获得网络分组、找寻误用模式,然后告警。传统的基于传感器的结构分布式网络节点结构,传统的基于传感器的结构,传感器(通常设置为混杂模式)用于嗅探网络上的数据分组,并将分组送往检测引擎检测引擎安装在传感器计算机本身网络分接器分布在关键任务网段上,每个网段一个,分布式网络节点结构,为解决高速网络上的丢包问题,1999年6月,出现的一种新的结构,将传感器分布到网络上的每台计算机上每个传感器检查流经他的网络分组,然后传感器相互通信,主控制台将所有的告警聚集、关联起来,基于网络的入侵检测的好处,威慑外部人员检测自动响应及报告,基于网络的技术面临
23、的问题,分组重组高速网络加密,基于异常的入侵检测,思想:任何正常人的行为有一定的规律需要考虑的问题:(1)选择哪些数据来表现用户的行为(2)通过以上数据如何有效地表示用户的行为,主要在于学习和检测方法的不同(3)考虑学习过程的时间长短、用户行为的时效性等问题,数据选取的原则,(1)数据能充分反映用户行为特征的全貌(2) 应使需要的数据量最小(3) 数据提取难度不应太大,NIDS抓包,PF_PACKET从链路层抓包libpcap提供API函数winpcapWindows下的抓包库,分析数据包,Ethernet,IP,TCP,模式匹配,Ethernet,IP,TCP,协议分析,HTTP,Unico
24、de,XML,模式匹配,0 0050 dac6 f2d6 00b0 d04d cbaa 0800 4500 .P.M.E. 10 0157 3105 4000 8006 0000 0a0a 0231 d850 .W1.1.P 20 1111 06a3 0050 df62 322e 413a 9cf1 5018 .P.b2.A:.P. 30 16d0 f6e5 0000 4745 5420 2f70 726f 6475 .GET /produ 40 6374 732f 7769 7265 6c65 7373 2f69 6d61 cts/wireless/ima 50 6765 732f 686f
25、 6d65 5f63 6f6c 6c61 6765 ges/home_collage 60 322e 6a70 6720 4854 5450 2f31 2e31 0d0a 2.jpg HTTP/1.1. 70 4163 6365 7074 3a20 2a2f 2a0d 0a52 6566 Accept: */*.Ref 80 6572 6572 3a20 6874 7470 3a2f 2f77 7777 erer: http:/www 90 2e61 6d65 7269 7465 6368 2e63 6f6d 2f70 a0 726f 6475 6374 732f 7769 7265 6c6
26、5 7373 roducts/wireless b0 2f73 746f 7265 2f0d 0a41 6363 6570 742d /store/.Accept- c0 4c61 6e67 7561 6765 3a20 656e 2d75 730d Language: en-us. d0 0a41 6363 6570 742d 456e 636f 6469 6e67 .Accept-Encoding e0 3a20 677a 6970 2c20 6465 666c 6174 650d : gzip, deflate. f0 0a55 7365 722d 4167 656e 743a 204d
27、 6f7a .User-Agent: Moz 100 696c 6c61 2f34 2e30 2028 636f 6d70 6174 illa/4.0 (compat 110 6962 6c65 3b20 4d53 4945 2035 2e30 313b ible; MSIE 5.01; 120 2057 696e 646f 7773 204e 5420 352e 3029 Windows NT 5.0) 130 0d0a 486f 7374 3a20 7777 772e 616d 6572 .Host: www.amer 140 6974 6563 682e 636f 6d0d 0a43 6
28、f6e 6e65 .Conne 150 6374 696f 6e3a 204b 6565 702d 416c 6976 ction: Keep-Aliv 160 650d 0a0d 0a e.,0 0050 dac6 f2d6 00b0 d04d cbaa 0800 4500 .P.M.E. 10 0157 3105 4000 8006 0000 0a0a 0231 d850 .W1.1.P 20 1111 06a3 0050 df62 322e 413a 9cf1 5018 .P.b2.A:.P. 30 16d0 f6e5 0000 4745 5420 2f70 726f 6475 .GET
29、 /produ 40 6374 732f 7769 7265 6c65 7373 2f69 6d61 cts/wireless/ima 50 6765 732f 686f 6d65 5f63 6f6c 6c61 6765 ges/home_collage 60 322e 6a70 6720 4854 5450 2f31 2e31 0d0a 2.jpg HTTP/1.1. 70 4163 6365 7074 3a20 2a2f 2a0d 0a52 6566 Accept: */*.Ref 80 6572 6572 3a20 6874 7470 3a2f 2f77 7777 erer: http:
30、/www 90 2e61 6d65 7269 7465 6368 2e63 6f6d 2f70 a0 726f 6475 6374 732f 7769 7265 6c65 7373 roducts/wireless b0 2f73 746f 7265 2f0d 0a41 6363 6570 742d /store/.Accept- c0 4c61 6e67 7561 6765 3a20 656e 2d75 730d Language: en-us. d0 0a41 6363 6570 742d 456e 636f 6469 6e67 .Accept-Encoding e0 3a20 677a
31、 6970 2c20 6465 666c 6174 650d : gzip, deflate. f0 0a55 7365 722d 4167 656e 743a 204d 6f7a .User-Agent: Moz 100 696c 6c61 2f34 2e30 2028 636f 6d70 6174 illa/4.0 (compat 110 6962 6c65 3b20 4d53 4945 2035 2e30 313b ible; MSIE 5.01; 120 2057 696e 646f 7773 204e 5420 352e 3029 Windows NT 5.0) 130 0d0a 4
32、86f 7374 3a20 7777 772e 616d 6572 .Host: www.amer 140 6974 6563 682e 636f 6d0d 0a43 6f6e 6e65 .Conne 150 6374 696f 6e3a 204b 6565 702d 416c 6976 ction: Keep-Aliv 160 650d 0a0d 0a e.,协议分析,一个攻击检测实例,老版本的Sendmail漏洞利用$ telnet 25WIZshell或者DEBUG# 直接获得rootshell!,简单的匹配,检查每个packet是否包含:“WIZ”| “DEBUG”,检查端口号,缩小
33、匹配范围 Port 25:“WIZ”| “DEBUG” ,深入决策树,只判断客户端发送部分 Port 25:Client-sends: “WIZ” |Client-sends: “DEBUG” ,概述 入侵检测方法 入侵检测系统的设计原理 入侵检测响应机制 入侵检测标准化工作 其它 展望,响应策略,弹出窗口报警E-mail通知切断TCP连接执行自定义程序与其他安全产品交互FirewallSNMP Trap,压制调速 1、 撤消连接 2、 回避 3、 隔离 SYN/ACKRESETs,自动响应,一个高级的网络节点在使用“压制调速”技术的情况下,可以采用路由器把攻击者引导到一个经过特殊装备的系统上
34、,这种系统被成为蜜罐 蜜罐是一种欺骗手段,它可以用于错误地诱导攻击者,也可以用于收集攻击信息,以改进防御能力 蜜罐能采集的信息量由自身能提供的手段以及攻击行为数量决定,蜜罐,BOF: NFR Windows pecter是商业产品,运行在Windows平台上 Deception Toolkit : DTK是一个状态机,实际上它能虚拟任何服务,并可方便地利用其中的功能直接模仿许多服务程序 Mantrap : Recourse 最多达四种操作系统 运行在Solaris 平台 Honeynets : 它是一个专门设计来让人“攻陷”的网络,一旦被入侵者所攻破,入侵者的一切信息、工具等都将被用来分析学习
35、,主动攻击模型,概述 入侵检测方法 入侵检测系统的设计原理 入侵检测响应机制 入侵检测标准化工作 其它 展望,CIDF(The Common Intrusion Detection Framework),http:/www.gidos.org/drafts,Increasingly, intrusions are taking on a grander scale. Many attacks can be orchestrated over a wide area network, and over a long period of time. In such an environment,
36、the ability of intrusion detection systems and their components to share information about these attacks is especially important. Such sharing would allow systems to warn others about possible impending attacks In order to achieve this, it is necessary for IDS systems to have well defined interfaces
37、 to share information.,CIDF,Components,Event generators (E-boxes)Event analyzers (A-boxes) Event databases (D-boxes) Response units (R-boxes),Event Generators,obtain events from the larger computational environment outside the intrusion detection system provide them in the CIDF gido format to the re
38、st of the system.,Event Generators,converting features of typical computational environments into standard gido formatre-usable in that CIDF has a standard gido format it is useful to specify an interface for how event generators are configured and used,Event Analyzers,Receive gidos from other compo
39、nentsAnalyze them, and return new gidos (which presumably represent some kind of synthesis or summary of the input events),Event Databases,These components simply exist to give persistence to CIDF gidos where that is necessary,Response Units,Consume gidos which direct them Carry out some kind of act
40、ion on behalf of other CIDF components, and they carry out this action. This includes such things as killing processes, resetting connections, altering file permissions, etc.,CISL(A Common Intrusion Specification Language ),A language that can be used to disseminate event records, analysis results,
41、and countermeasure directives amongst intrusion detection and response components. We give an encoding that translates these messages into an efficient octet stream.,CIDF互操作性 配置互操作性:相互发现并交换数据语法互操作性:正确识别交换的数据语义互操作性:相互理解交换的数据,CIDF协同方式 分析 互补 互纠 核实 调整 响应,Language Goals List,Any language used to exchange
42、 information about attacks should have the following qualities: Expressive. Components should be able to express a wide range of intrusion- and misuse-related phenomena and prescriptions. Unique in expression. Components should not be able to express a given sentiment in a nearly infinite number of
43、ways; instead, there should be one or a small number of natural expressions.Precise. The meaning of an utterance in the language should be well-defined. But this language should also be.Layered. Specific senses should be expressed as cases of general senses, so that different receivers with differen
44、t requirements can discern as much as they need from a message. Self-defining. Consumers that receive a report should be able to interpret messages to the degree that they need to, without recourse to out-of-band negotiation.,Language Goals List,Efficient. Messages should consume as little of system
45、 resources as possible. Especially, it should be possible to omit contextual information in most of a sequence of similar messages. Extensible. If a group of producers and consumers decide on additional information they wish to be able to express, they can define a way of doing so with a minimum of
46、trouble and not lose any compatibility with other CIDF components that do not know their extension. These extensions may be arbitrarily complex. Simple. Producers should be able to encode information quickly; consumers should be able to extract the information they need without having to do excessive processing. Portable. The language should support a variety of platforms and transport mechanisms-support meaning that the environment should not fundamentally limit what information is exchanged. Easy to implement. If the language is too difficult to implement, then it will not be used.,