您的位置:首页 > 理论基础 > 计算机网络

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

2016-06-16 19:15 531 查看

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适
4000
合使用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?

     

 

 

 

 

 

 

 

 

 

                                        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: