未声明spire。它可能因保护级别而不可访问_信息系统安全:访问控制技术概述...

1.访问控制基本概念

身份认证技术解决了识别“用户是谁”的问题,那么认证通过的用户是不是可以无条件地使用所有资源呢?答案是否定的。访问控制(Access Control)技术就是用来管理用户对系统资源的访问。访问控制是国际标准ISO7498-2中的五项安全服务之一,对提高信息系统的安全性起到至关重要的作用,如图6-1所示。

访问控制是针对越权使用资源的防御性措施之一。其基本目标是防止对任何资源(如计算资源、通信资源或信息资源)进行未授权的访问,从而使资源使用始终处于控制范围内。最常见的是,通过对主机操作系统的设置或对路由器的设置来实现相应的主机访问控制或网络访问控制。例如,控制内网用户在上班时间使用QQ、MSN等。

访问控制对实现信息机密性、完整性起直接的作用,还可以通过对以下信息的有效控制来实现信息和信息系统可用性:①谁可以颁发影响网络可用性的网络管理指令;②谁能够滥用资源以达到占用资源的目的;③谁能够获得可以用于拒绝服务攻击的信息。

1f3443bedef97786e1595a68200b40a5.png

主体(Subject)是指提出访问请求的实体,是动作的发起者,但不一定是动作的执行者。主体可以是用户或其它代理用户行为的实体(如进程、作业和程序等)。

客体(Object)是指可以接受主体访问的被动实体。客体的内涵很广泛,凡是可以被操作的信息、资源、对象都可以认为是客体。

访问控制策略(Access Control Policy)是指主体对客体的操作行为和约束条件的关联集合。简单地讲,访问控制策略是主体对客体的访问规则集合,这个规则集合可以直接决定主体是否可以对客体实施的特定的操作。访问控制策略体现了一种授权行为,也就是客体对主体的权限允许。

访问控制策略往往表现为一系列的访问规则,这些规则定义了主体对客体的作用行为和客体对主体的条件约束。访问控制机制是访问控制策略的软硬件低层实现。

如图6-1所示,主体对于客体的每一次访问,访问控制系统均要审核该次访问操作是否符合访问控制策略,只允许符合访问控制策略的操作请求,拒绝那些违反控制策略的非法访问。

访问控制可以解释为:依据一定的访问控制策略,实施对主体访问客体的控制。

图6-1也给出了访问控制系统的两个主要工作,一个是当主体发出对客体的访问请求时,查询相关的访问控制策略;另一个是依据访问控制策略执行访问控制。

通过以上分析,可以看出影响访问控制系统实施效果好坏的首要因素是访问控制策略,制定访问控制策略的过程实际上就是为主体对客体的访问授权过程。如何较好地完成对主体的授权是访问控制成功的关键,同时也是访问控制必须研究的重要课题。

信息系统的访问控制技术最早产生于20实际60年代,在70年代先后出现了多种访问控制模型。1985年美国军方提出可信计算机系统评估准则TCSEC,其中描述了两种著名的访问控制模型,即自主访问控制DAC(Discretionary Access Control)和强制访问控制MAC(Mandatory Access Control);1992年美国国家标准与技术研究所(NIST)的David Ferraiolo和Rick Kuhn提出基于角色的访问控制RBAC(Role Based Access Control)。

如何决定主体对客体的访问权限?一个主体对一个客体的访问权限能否转让给其他主体呢?这些问题在访问控制策略中必须得到明确的回答。

访问控制策略制定的原则

访问控制策略的制定一般要满足如下两项基本原则。

①最小权限原则:分配给系统中的每一个程序和每一个用户的权限应该是它们完成工作所必须享有的权限的最小集合。换句话说,如果主体不需要访问特定客体,则主体就不应该拥有访问这个客体的权限。

②最小泄露原则:主体执行任务所需知道的信息应该最小化。

访问权限确定过程

主体对客体的访问权限的确定过程是:首先对用户和资源进行分类,然后对需要保护的资源定义一个访问控制包,最后根据访问控制包来制订访问控制规则集。

用户分类

通常把用户分为特殊用户、一般用户、作审计用户和作废用户。

①特殊用户:系统管理员具有最高级别的特权,可以访问任何资源,并具有任何类型的访问操作能力。

②一般的用户:最大的一类用户,他们的访问操作受到一定限制,由系统管理员分配。

③作审计的用户:负责整个安全系统范围内的安全控制与资源使用情况的审计。

④作废的用户:被系统拒绝的用户。

资源的分类

系统内需要保护的资源包括磁盘与磁带卷标、数据库中的数据、应用资源、远程终端、信息管理系统的事务处理及其应用等。

对需要保护的资源定义一个访问控制包

内容包括资源名及拥有者的标识符、缺省访问权、用户和用户组的特权明细表、允许资源拥有者对其添加新的可用数据的操作、审计数据等。

访问控制规则集

访问控制规则集是根据第三步的访问控制包得到的,它规定了若干条件和在这些条件下可准许访问的一个资源。规则使得用户与资源配对,并指定该用户可在该文件上执行哪些操作,如只读、不许执行或不许访问。

“主体对客体的访问权限能否转让给其他主体”这一问题则比较复杂,不能简单地用“能”和“不能”来回答。大家试想一下,如果回答“不能”,表面上看很安全,但按照这一控制策略做出系统后,我们就不可能实现任何信息的共享了。

2.自主访问控制

一种策略是对某个客体具有所有权的主体能够自主地将对该客体的一种访问权或多种访问权授予其他主体,并可在随后的任何时刻将这些权限收回,这一策略称为自主访问控制。这种策略因灵活性高,在实际系统中被大量采用。

Linux、UNIX和Windows等系统都提供了自主访问控制功能。

在实现自主访问控制策略的系统中,信息在移动过程中其访问权限关系会被改变。如用户A可将其对目标O的访问权限传递给用户B,从而使本身不具备对O访问权限的B可访问O。因此,这种模型提供的安全防护不能给系统提供充分的数据保护。

自主访问控制模型(DAC Model)是根据自主访问控制策略建立的一种模型,允许合法用户以用户或用户组的身份来访问系统控制策略许可的客体,同时阻止非授权用户访问客体,某些用户还可以自主地把自己所拥有的客体的访问权限授予其它用户。

自主访问控制模型(DAC Model)是根据自主访问控制策略建立的一种模型,允许合法用户以用户或用户组的身份来访问系统控制策略许可的客体,同时阻止非授权用户访问客体,某些用户还可以自主地把自己所拥有的客体的访问权限授予其它用户。

UNIX、LINUX、Windows NT等操作系统都提供自主访问控制的功能。

在自主访问控制系统中,特权用户为普通用户分配的访问权限信息主要以访问控制表ACL(Access Control Lists)、访问控制能力表ACCL(Access Control Capability Lists)访问控制矩阵、ACM(Access Control Matrix)三种形式来存储。

ACL是以客体为中心建立访问权限表,其优点在于实现简单,系统为每个客体确定一个授权主体的列表,大多数主机都是用ACL作为访问控制的实现机制。

图6-2以ACL示例,(Own,R,W)表示读、写、管理操作。之所以将管理操作从读/写中分离出来,因为管理员会对控制规则本身或文件属性等作修改,即修改ACL。

例如,对于客体Object1来讲,Alice对它的访问权限集合为(Own,R,W),Bob只有读取权限(R),John拥有读/写操作的权限(R,W)。

b50e498202057b24211f541908ef9622.png

图6-3以ACCL示例,ACCL以主体为中心建立的访问权限表。“能力”这个概念可以解释为请求访问的发起者所拥有的一个授权标签,授权标签表明持有者可以按照某种访问方式访问特定的客体。也就是说,如果赋予某个主体一种能力,那么这个主体就具有与该能力对应的权限。

7859705fa79b5600405bef9bd2dcc33b.png
38549adbf4cd7ec201ea251fa703c9c0.png

在此示例中,Alice被赋予一定的访问控制能力,其具有的权限包括:对Object1拥有的访问权限集合为(Own,R,W),对Object2拥有只读权限集(R),对Object3拥有读和写的权限(R,W)。

ACM是通过矩阵形式表示主体用户和客体资源之间的授权关系的方法。表6-1为ACM示例,采用二维表的形式来存储访问控制策略,每一行为一个主体的访问能力描述,每一列为一个客体的访问能力描述,整个矩阵可以清晰地体现出访问控制策略。

与ACL和ACCL一样,ACM的内容同样需要特权用户或特权用户组来进行管理。另外,如果主体和客体很多,那么ACM将会成几何级增长,这样对于增长了的矩阵而言,会有大量的冗余空间,如主体John和客体Object2之间没有访问关系,但也存在授权关系项。

DAC对用户提供了灵活的数据访问方式,授权主体(特权用户、特权用户组的成员以及对客体拥有Own权限的主体)均可以完成赋予和回收其他主体对客体资源的访问权限,使得DAC广泛应用于商业和工业环境中。

但由于DAC允许用户任意传递权限,没有访问文件file1权限的用户A可能从有访问权限的用户B那里得到访问权限,因此,DAC模型提供的安全防护还是相对比较低的,不能为系统提供充分的数据保护。

3.强制访问控制

另一种策略是根据主体被信任的程度和客体所含信息的机密性和敏感程度来决定主体对客体的访问权。

用户和客体都被赋予一定的安全级别,用户不能改变自身和客体的安全级别,只有管理员才能确定用户的安全级别且当主体和客体的安全级别满足一定的规则时,才允许访问。这一策略称为强制访问控制。

在强制访问控制模型中,一个主体对某客体的访问权只能有条件地转让给其他主体,而这些条件是非常严格的。例如,Bell-LaPadula模型规定,安全级别高的用户和进程不能向比他们安全级别低的用户和进程写入数据。

Bell-LaPadula模型的访问控制原则可简单地表示为“无上读、无下写”,该模型是第一个将安全策略形式化的数学模型,是一个状态机模型,即用状态转换规则来描述系统的变化过程。Lattice模型和Biba模型也属于强制访问控制模型。

强制访问控制一般通过安全标签来实现单向信息流通。

强制访问控制MAC是一种多级访问控制策略,系统事先给访问主体和受控客体分配不同的安全级别属性,在实施访问控制时,系统先对访问主体和受控客体的安全级别属性进行比较,再决定访问主体能否访问该受控客体。

为了对MAC模型进行形式化描述,首先需要将访问控制系统中的实体对象分为主体集S和客体集O,然后定义安全类SC(x)= ,其中x为特定的主体或客体,L为有层次的安全级别Level,C为无层次的安全范畴Category。

在安全类SC的两个基本属性L和C中,安全范畴C用来划分实体对象的归属,而同属于一个安全范畴的不同实体对象由于具有不同层次的安全级别L,因而构成了一定的偏序关系。

例如,TS(Top Secret)表示绝密级,S(Secret)表示秘密级,当主体s的安全类别为TS,而客体o的安全类别为S时,s与o的偏序关系可以表述为SC(s)≥SC(o)。依靠不同实体安全级别执念存在的偏序关系,主体对客体的访问可以分为以下四种形式。

①向下读(RD,Read Down):主体安全级别高于客体信息资源的安全级别时,即SC(s)≥SC(o),允许读操作。

②向上读(RU,Read Up):主体安全级别低于客体信息资源的安全级别时,即SC(s)≤SC(o),允许读操作。

③向下写(WD,Write Down):SC(s)≥SC(o)时,允许写操作。

④向上写(WU,Write Up):SC(s)≤SC(o)时,允许写操作。

由于MAC通过分级的安全标签实现了信息的单向流动,因此它一直被军方采用,其中最著名的是Bell-LaPadula模型和Biba模型。

Bell-LaPadula模型具有只允许向下读、向上写的特点,可以有效防止机密信息向下级泄露,保护机密性;Biba模型则具有只允许向上读、向下写的特点,可以有效地保护数据的完整性。

4.基于角色的访问控制

将访问权限分配给一定的角色,用户根据自己的角色获得相应的访问许可权,这便是基于角色的访问控制策略。角色是指一个可以完成一定职能的命名组。角色与组是有区别的,组是一组用户的集合,而角色是一组用户集合外加一组操作权限集合。

Group的概念,一般认为Group是具有某些相同特质的用户集合。在UNIX操作系统中Group可以被看成是拥有相同访问权限的用户集合,定义用户组时会为该组赋予相应的访问权限。如果一个用户加入了该组,则该用户即具有了该用户组的访问权限,可以看出组内用户继承了组的权限。

如图6-4所示,角色Role的概念可以这样理解一个角色是一个与特定工作活动相关联的行为与责任的集合。

Role不是用户的集合,也就与组Group不同。当将一个角色与一个组绑定,则这个组就拥有了该角色拥有的特定工作的行为能力和责任。组Group和用户User都可以看成是角色分配的单位和载体。而一个角色Role可以看成具有某种能力或某些属性的主体的一个抽象。

Role的目的是为了隔离用户(Subject,动作客体)与Privilege(权限,指对客体)的一个访问操作,即操作(Operation)+客体对象(Object))。Role作为一个用户与权限的代理层,所有的授权应该给予Role而不是直接给User或Group。RBAC模型的基本思想是将访问权限分配给一定的角色,用户通过饰演不同的角色获得角色所拥有的访问许可权。

70b521340795d01e8c0cefa85fa8e147.png

在基于角色的访问控制模型中,只有系统管理员才能定义和分配角色,用户不能自主地将对客体的访问权转让给别的用户。比较而言,自主访问控制配置的力度小、配置的工作量大、效率低,强制访问控制配置的力度大、缺乏灵活性,而基于角色的访问控制策略是与现代的商业环境相结合的产物,具有灵活、方便和安全的特点,是实施面向企业安全策略的一种有效的访问控制方式,目前常用于大型数据库系统的权限管理。

一个基于角色的访问控制实例

在银行环境中,用户角色可以定义为出纳员、分行管理者、顾客、系统管理者和审计员,相应的访问控制策略可如下规定:

①允许一个出纳员修改顾客的帐号记录(包括存款和取款、转账等),并允许查询所有账号的注册项。

②允许一个分行管理者修改顾客的账号记录(包括存款和取款,但不包括规定的资金数目的范围)并允许查询所有账号的注册项,也允许创建和终止账号。

③允许一个顾客只询问他自己的账号的注册项。

④允许系统的管理者询问系统的注册项和开关系统,但不允许读或修改用户的账号信息。

⑤允许一个审计员读系统中的任何数据,但不允许修改任何事情。该策略陈述易于被非技术的组织策略者理解,同时也易于映射到访问控制矩阵或基于组的策略陈述。另外,该策略还同时具有基于身份策略的特征和基于规则策略的特征。

在基于角色的访问控制模型中,只有系统管理员才能定义和分配角色,用户不能自主地将对客体的访问权转让给别的用户。比较而言,自主访问控制配置的力度小、配置的工作量大、效率低,强制访问控制配置的力度大、缺乏灵活性,而基于角色的访问控制策略是与现代的商业环境相结合的产物,具有灵活、方便和安全的特点,是实施面向企业安全策略的一种有效的访问控制方式,目前常用于大型数据库系统的权限管理。

一个基于角色的访问控制实例

在银行环境中,用户角色可以定义为出纳员、分行管理者、顾客、系统管理者和审计员,相应的访问控制策略可如下规定:

①允许一个出纳员修改顾客的帐号记录(包括存款和取款、转账等),并允许查询所有账号的注册项。

②允许一个分行管理者修改顾客的账号记录(包括存款和取款,但不包括规定的资金数目的范围)并允许查询所有账号的注册项,也允许创建和终止账号。

③允许一个顾客只询问他自己的账号的注册项。

④允许系统的管理者询问系统的注册项和开关系统,但不允许读或修改用户的账号信息。

⑤允许一个审计员读系统中的任何数据,但不允许修改任何事情。该策略陈述易于被非技术的组织策略者理解,同时也易于映射到访问控制矩阵或基于组的策略陈述。另外,该策略还同时具有基于身份策略的特征和基于规则策略的特征。

基于角色的访问控制具有如下优势:

①便于授权管理。例如,系统管理员需要修改系统设置等内容时,必须有几个不同角色的用户到场方能操作,保证了安全性。

②便于根据工作需要分级。例如,企业财务部门与非财务部门的员工对企业财务的访问权就可由财务人员这个角色来区分。

③便于赋予最小特权。例如,即使用户被赋予高级身份时也未必一定要使用,以便减少损失,只有必要时方能拥有特权。

④便于任务分担,不同的角色完成不同的任务。在基于角色的访问控制中,一个个人用户可能是不只一个组或角色的成员,有时又可能有所限制。

⑤便于文件分级管理。文件本身也可分为不同的角色,如信件、账单等,由不同角色的用户拥有。

在各种访问控制系统中,访问控制策略的制定实施都是围绕主体、客体和操作权限三者之间的关系展开。有三个基本原则是制定访问控制策略时必须遵守的。

①最小特权原则是指主体执行操作时,按照主体所需权利的最小化原则分配给主体权力。最小特权原则的优点是最大限度地限制了主体实施授权行为,可以避免来自突发事件和错误操作带来的危险。

②最小泄漏原则是指主体执行任务时,按照主体所需要知道信息的最小化原则分配给主体访问权限。

③多级安全策略是指主体和客体间的数据流方向必须受到安全等级的约束。多级安全策略的优点是避免敏感信息的扩散。对于具有安全级别的信息资源,只有安全级别比它高的主体才能够对其访问。

我是木子雨辰,一位信息安全领域从业者,@木子雨辰将一直带给大家信息安全知识,每天两篇安全知识、由浅至深、采用体系化结构逐步分享,大家有什么建议和问题,可以及留言,多谢大家点击关注、转发、评论,谢谢大家。

大家如果有需要了解安全知识内容需求的可以留言,沟通,愿与大家携手前行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/246016.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++反汇编与逆向分析技术揭秘_C++反汇编与逆向分析技术揭秘

一、单类继承在父类中声明为私有的成员,子类对象无法直接访问,但是在子类对象的内存结构中,父类私有的成员数据依然存在。C语法规定的访问限制仅限于编译层面,在编译过程中进行语法检查,因此访问控制不会影响对象的内存…

std::atomic原子操作

第十一节std::atomic原子操作_HITXJ的博客-CSDN博客_std::atomic用法

php与mysql列表_PHP+Mysql+jQuery实现的查询和列表框选择

本篇文章主要介绍PHPMysqljQuery实现的查询和列表框选择,感兴趣的朋友参考下,希望对大家有所帮助。本文讲解如何通过ajax查询mysql数据,并将返回的数据显示在待选列表中,再通过选择最终将选项加入到已选区,可以用在许多…

range函数python2和3区别_range函数python2和3区别

range函数是一个用来创建算数级数序列的通用函数,返回一个[start, start step, start 2 * step, ...]结构的整数序列;py2中的range()函数用法:(推荐学习:Python视频教程) range()返回的是一个列表>>&…

Unity SRP自定义渲染管线 -- 2.Custom Shaders

本章将接着上一篇文章,在初步实现一个渲染管线后来创建自定义的shader。上一篇文章的链接 https://blog.csdn.net/yinfourever/article/details/90516602。在本章中,将完成以下内容: 写一个HLSL Shader定义constant buffer(常量缓…

tcp 三次握手与四次挥手_TCP三次握手与四次挥手详解

TCP报文结构源端口和目的端口:各占2个字节,分别写入源端口号和目的端口号。序号:占4个字节。序号使用mod运算。TCP是面向字节流的,在一个TCP连接中传送的字节流中的每一个字节都按顺序编号。故该字段也叫做“报文段序号”。确认序…

网关和路由器的区别_5G工业路由器与5G DTU的区别介绍详解

5G工业路由器和5G DTU都是实现无线网络数据传输功能,而两者间的区别主要从使用方法、外观接口以及应用环境等方面区分,今天给大家介绍5G工业路由器和5G DTU的一些不同点。使用方法的不同:5G工业路由器:5G路由器可对以太网、现场总线通信协议进…

7628刷breed_自制各类路由原厂直刷Breed的文件,无需修改mac无需重刷无线

本帖最后由 showme99 于 2017-3-25 16:35 编辑在原厂页面直接选择相应的刷机文件刷机,文件很小256K,大约十秒左右就自动进入Breed后直接刷入dd-wrt,opentwrt,gargoyle等固件即可。无需在Breed里设置MAC地址,也无需刷入ART无线文件&#xff0c…

c语言获取系统剩余内存_C语言编程中的“堆”和“栈”七大不同之处

更多精彩,请点击上方蓝字关注我们!对于编程初学者来说会接触到一些难以理解的名称,比如堆(heap)、栈(stack)、堆栈(stack)等。初学开发过程中往往让人混淆不清。今天我们来谈谈堆和栈的具体区别,来帮助初学者理清思路。堆和栈的区…

sql between包括两端吗_SQL大全

作者:静默虚空排版:MarkerHub原文:https://juejin.im/post/5c7e524af265da2d914db18f本文针对关系型数据库的一般语法。限于篇幅,本文侧重说明用法,不会展开讲解特性、原理。一、基本概念数据库术语数据库(database) -…

python交互模式什么意思_Python中的交互模式是什么

让开发者能快速学习、测试 Python 的各种功能,Python 提供的“python”命令不仅能用于运行 Python 程序,也可作为一个交互式解释器一一开发者逐行输入 Python 代码,它逐行解释执行。 当输入“python”命令时,可以看到如下输出结果…

idea创建springboot项目+mybatis_Spring Boot + MyBatis 多模块项目搭建教程

Java后端,选择“”优质文章,及时送达作者 | 枫本非凡链接 | cnblogs.com/orzlin/p/9717399.html上篇 | IDEA 远程一键部署 Spring Boot 到 Docker一、前言最近公司项目准备开始重构,框架选定为SpringBootMybatis,本篇主要记录了在…

下载nodejs的mysql安装包下载安装_Node.js安装 下载

1、安装Node.jshttps://nodejs.org/en/安装步骤:点击安装包按提示进行安装Node.js 安装配置本章节我们将向大家介绍在 Windows 和 Linux 上安装 Node.js 的方法。本安装教程以 Node.js v4.4.3 LTS(长期支持版本)版本为例。你可以根据不同平台系统选择你需要的 Node.…

redistemplate注入为null_Windows DLL 注入技术

Windows DLL 注入技术 本文主要介绍四种常见的 Windows DLL 注入技术。分别为全局钩子、远线程钩子、突破 SESSION 0 隔离的远线程注入和 APC 注入。全局钩子注入Windows 中大部分应用是基于 Windows 的消息机制,Windows提供截获这些消息的钩子函数。根据钩子作用的…

nginx location 正则表达式匹配多个地址_就是要让你搞懂Nginx,这篇就够了!

Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占用内存少,并发能力强,事实上 Nginx 的并发能力确实在同类型的网页服务器中表现较好。Nginx 专为性能优化而开发,性能是其最重要的要求,十分注重效率,有…

mysql查询网址_bootstrap+flask+mysql实现网站查询

之前那篇文章是flaskredis的,如果用flaskmysql怎么实现呢?创建数据库:CREATE DATABASE web12306 DEFAULT CHARACTER SET utf8;创建表:CREATE TABLE web12306 (user_email varchar(100) NOT NULL DEFAULT ,user_pass varchar(100)…

dubbo官方文档_不可忽视的Dubbo线程池

问题描述线上突然出现Dubbo超时调用,时间刚好为Consumer端设置的超时时间。有好几个不同的接口都报超时了第1次调用超时,第2次(或第3次)重试调用非常快(正常水平)Dubbo调用超时的情况集中出现了3次&#xf…

python中比较重要的几个函数_Python 几个重要的内置函数 python中的内置函数和关键字需要背过吗...

python重要的几个内置函数用法python内置函数什么用忘不掉的是回忆,继续的是生活,错过的,就当是路过吧。来来往往身边出现很多人,总有一个位置,一直没有变。看看温暖的阳光,偶尔还是会想一想。Python内置函…

netty worker线程数量_Dubbo线程模型

Dubbo中线程池的应用还是比较广泛的,按照consumer端到provider的RPC的方向来看,consumer端的应用业务线程到netty线程、consuemr端dubbo业务线程池,到provider端的netty boss线程、worker线程和dubbo业务线程池等。这些线程各司其职相互配合&…

function click_click事件的累加问题解决

click事件的 累加问题解决:$判断是否隐藏:hidden.c>span 只包含儿子.c span 包含儿子和孙子data-*嵌入自定义数据 .data(to)获取数据remove是移除标签 delete删除数组元素each()函数$(".layui-table-total .layui-table-cell").each(functi…