2016年暨南大学网络空间安全暑期研讨会Class_C_Day1

Access Control and Intrusion detection

(all pictures are from ppt by PH.D Wang)

Access Control

Suppose we have 40k students and 40k student records, and a student should only read/write his/her own files
将student看为一个subject,将一个record一个object,我们将要存储(40k+40k)*40k=320M的元素,但是针对那些控制权限为空的存储,我们没必要浪费空间。

方案1——ACL



ACLs可以存储针对某一文件,用户拥有的权限,以集合的形式。

 

还有一个问题:How about identical rows in ACM?也就是说,针对同一份文件,不同用户对它都有相同的操作,为了节省空间,我们应该怎么存储?

引入Group的概念,使用group或者去合并对用一文件拥有相同权限的用户。

UNICOS System (http://en.wikipedia.org/wiki/Unicos)

 

 

IBM AIX (http://www-03.ibm.com/servers/aix/)

 

方案2——capability list

Rows of access control matrix stored with subjects.

 

针对某一用户对哪些文件拥有哪些权限来存储。


C-list可以类比为电影票,你需要展示电影票才有权利看电影;电影(object)被定义在电影票上。(这有一点是电影票的内容可以被修改,用户可以修改想观看的电影)


如果要做撤销的话,比如某某电影不上映了,那只能回收电影票,这开销是很大的。有一个很聪明的做法是——use indirection


比如说,我在电影票上写电影1.然后我可以改变电影1所指定的电影。比如原先电影1指向《归来》,然后它不上映了,我就把电影1指向《百鸟朝凤》就行了,而电影票不用修改。

 

总的来说,ACL和C-L是对称的。

针对两者的不同我们可以回答以下两个问题来探究他俩的不同:

1. Which object can be accessed by a given subject?

2. What subjects can access a given object?

很明显,问题1适合使用C-L,而问题2适合使用ACLs.

然而在现实世界的应用场景中,问题2是更普遍存在的,所以ACLS更被广泛应用。如下是ACL和C-L的subject和object的关系图。


以上两种存储关联,最后subject和object的关系会变成如下复杂的关系:


于是Role-as-a-Bridge诞生了。

Role-Based Access Control

A standard (http://csrc.nist.gov/rbac/)


为什么会出现这个role呢?











Intrusion detection(入侵检测)

分类:anomaly detection 和 misuse detection

①anomaly detection

   Assumption: attacks vary from normal behaviors(异常能够被检测出来)

n Method: statistics, data mining, Machine learning, etc.

n Advantage: potentially detect zero-day attacks

n Disadvantage: (theoretically) less accurate (理论上不会完美精确)

②misuse detection

   Assumption: attacks can be identified with a signature

  (构造一种签名来catch不合法的攻击)

n Method: state transition, colored Petri net, etc.

n Advantage: more accurate

n Disadvantage: can only detect modeled attacks(不能防御未知的攻击)

A. anomaly detection

攻击率意味着什么?

In 100,000,000 calls, there are 100 real attacks

B.99%的精确率意味着什么?

伪阳性:(100,000,000 - 100)*1/100= 1,000,000

       (可能会有1,000,000合法的calls被判断成不合法的calls)

伪阴性:100*1/100= 1

        (可能会有1个不合法的call被判断成合法的call)

 


B. Misuse detection

观察如下操作?考虑t1-t6哪些步骤的执行顺序是可以互换的?


以上操作的结果是:you have an executable root’s shell。

更好的表示操作执行的顺序,构建colored petri net


练习:给定一个attack signature,列出所有可以被检测的执行事件。


t1   t2

t3   t4

C32=6种

C.其他检测方法

Buffer overflow overwrite memory from the bufferto the return address

So put a ‘canary word’ before return address

If it’s been changed, the function won’t return

The canary word must be random, why?


     

 

 

 

 

 

 

 

 

 

                                        




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值