課程:《密碼與安全新技術》
班級: 1792
姓名: 李鵬舉
學號:20179203
上課教師:謝四江
上課日期:2018年6月7日
必修/選修: 必修web
1.訪問控制定義:指系統對用戶身份及其所屬的預先定義的策略組限制其使用數據資源能力的手段。一般用於系統管理員控制用戶對服務器、目錄、文件等網絡資源的訪問。
2.訪問控制功能:編程
3)基於模型的測試能夠幫助提升測試用例的數量和多樣性,從而提升故障檢測能力。安全
1)一組角色R。
2)一個角色層次結構:<r1,r2>表示r1是r2的超級角色,r2是r1的直接子角色(r2繼承r1的全部權限)。
3)若干子用戶。
4)子用戶分配。
5)靜態分離的一組約束SSOD,其中r1和r2不能被分配到同一主題。
6)動態分離的一組約束DSOD,其中分配給同一主題的r1和r2不能在同一個會話中激活。
7)一組角色容許/禁止規則R。
接下來經過一個例子來具體講解。服務器
咱們常常用到的圖書管理系統(LMS)爲例進行講解,LMS提供公共圖書館管理書籍的服務。這些書能夠在工做日的時候由圖書館的用戶借閱和歸還。LMS區分了三種類型的用戶:能夠借五本書的公共用戶三個星期,能夠借10本書的學生和能夠借10本書兩個月的老師。LMS由管理員管理,管理員能夠建立、修改和刪除用戶賬戶。圖書館裏的書是由一個祕書管理的,他會在送貨的時候給書下訂單或者添加書。祕書還能夠在特定的時間修理損壞的書籍,以維護保養。當一本書被損壞時,它必須是固定的。雖然它是固定的,這本書不能借,但用戶能夠保留它。圖書館主任的權限與祕書相同,能夠查閱僱員的賬目。管理員和祕書能夠查閱全部用戶賬戶。全部用戶均可以查閱圖書館的圖書列表。以這個系統來講明具體的關係。
對應RBAC的模型要素來生成相應的信息:
網絡
經過這樣的方式咱們首先創建了總體的RBAC模型,固然僅僅只有這些是不夠的,當你要生成模型的測試模型時,你須要它的相關約束條件。
工具
2.從合同中構建角色權限測試模型
合同構建角色權限模型:讓p和t分別是一個謂詞和轉換。若是從p到t(或者從t到p)有一個正常的弧,則稱p是t的一個輸入(或輸出)謂詞。若是p和t之間有一個抑制弧,p被稱爲抑制位置。
先決條件P:抑制謂詞、輸入謂詞和約束條件的結合。
後置條件Q:輸入謂詞的抑制和輸出謂詞的結合。
以P→Q的形式訂立合同獲得活動之間的依賴關係
若是將其與LMS系統相關聯:
這樣的一次借書活動就是一個合同的簽定,也就是說,有一本書有庫存,當發生借書事件時,後置條件爲有一本書被借同時這本書的庫存減1,這就是合同簽定的過程。
因此以今生成的測試模型爲:
學習
1.公共圖書管理系統(LMS)測試
2.虛擬會議系統(VMS):
VMS提供簡化的web會議服務。虛擬會議服務器在web平臺上組織工做會議。當鏈接到服務器時,用戶能夠參加或退出一個會議,申請發言,進行發言,或舉辦新的會議。每一個會議都有一個經理。經理是計劃會議的人,並設置會議的主要參數(如名稱、議程等)。每次會議都有一個主持人,由會議經理任命。主持人指定一位要求發言的參與者發言。對象
3.拍賣銷售管理系統(ASMS):
ASMS容許用戶在線購買或銷售商品。賣家能夠經過提交他想出售的商品的描述和最低價格(拍賣的開始日期和結束日期)開始拍賣。而後在線用戶申請競標。這個系統的特色之一是買方在投標前必須有足夠的錢。blog
變異測試(Mutation Testing)(有時也叫作「變異分析」)是一種在細節方面改進程序源代碼的軟件測試方法。這些所謂的變異,是基於良好定義的變異操做,這些操做或者是模擬典型應用錯誤(例如:使用錯誤的操做符或者變量名字),或者是強制產生有效地測試(例如使得每一個表達式都等於0)。目的是幫助測試者發現有效地測試,或者定位測試數據的弱點,或者是在執行中不多(或從不)使用的代碼的弱點。
這些突變體是由MutaX工具自動建立的,它使用了五種類型的變異操做符:用禁止替換權限規則,用容許替換禁止規則,改變角色,改變上下文,添加規則。他們是在這項工做開始以前被創造出來的。爲了評價所提議的方法,下列突變體被排除在外:(a)與非執行活動相關的突變體,由於沒法執行測試,(b)具備不一致訪問控制規則的突變體。這些突變體一般由添加規則操做符建立,而且(c)與原始版本具備相同行爲的變種。
咱們的實驗結果如表所示。對於LMS, 3185行代碼中有207個測試用例。測試代碼生成了56.2%。在243個突變體中,測試殺死了233個,總檢出率爲95.9%。
這種方法在檢測訪問控制缺陷方面是很是有效的。這一結果的關鍵方面包括功能網和契約的形式化、訪問控制測試的生成、可及性圖的覆蓋。
訪問控制雖然是實驗室的研究方向之一,可是暫時不是個人研究主方向,所以在本次學習以前我沒有接觸過這些,因此在講解的時候我也從自身的角度講起,經過最開始看論文的時候,我把本身看不懂的名詞、定義等等的東西都記了下來,而後在講解的時候我就主要針對這些點進行講解,由於我知道我不會的點也是你們沒聽過的。 本次最大的的感想一共有兩個: 1、完整系統的進行了一篇頂會論文的學習;研一階段因爲在實驗室內主要偏重於各種實現的工做所以我看論文看的很是少,偶爾看論文也主要找本身須要的點,這是我第一次看完一整篇論文,並且由於須要講解所以理解的較爲深刻,這樣也就爲接下來研二的論文研讀打下了很是良好的基礎。 2、瞭解了什麼是訪問控制,雖然整篇文章的最重點部分是在講PRT測試模型,也就是講如何發掘RBAC模型中的漏洞,可是因爲它是由具體事例去講解的,並且這個事例離咱們很近,是日常最常使用的圖書管理系統,所以很好理解,經過這個事例模擬作出模型的全過程,讓我對訪問控制具體是什麼有了很深的體會,若是接下來我作的東西與這個相關,我也能更加快速準確地進行實現。