• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    數(shù)據(jù)庫教學中提升安全意識與能力探析

    2017-07-29 20:57:06岳清
    電腦知識與技術 2017年12期
    關鍵詞:審計安全加密

    岳清

    摘要:安全在數(shù)據(jù)庫信息系統(tǒng)中占有重要意義,當前高校計算機專業(yè)學生在開發(fā)基于數(shù)據(jù)庫的應用系統(tǒng)時,更多關注于系統(tǒng)功能實現(xiàn),而安全意識和能力不足。針對這個現(xiàn)象,分析了數(shù)據(jù)庫課程中涉及的安全知識,探索教學中貫穿安全教育的方法,為提升學生的安全意識與能力奠定了基礎。

    關鍵詞:數(shù)據(jù)庫;安全;教學;加密;審計;SQL注入

    1概述

    數(shù)據(jù)庫課程是計算機及相關專業(yè)的一門重要課程。通過這門課程,學生掌握數(shù)據(jù)庫的基本理論、SQL編程、數(shù)據(jù)庫設計與管理等重要內容,為從事數(shù)據(jù)庫應用系統(tǒng)的設計、開發(fā)、維護等相關工作打下基礎。很多學生在開發(fā)基于數(shù)據(jù)庫的應用系統(tǒng)中,更多關注的是如何實現(xiàn)系統(tǒng)功能,少有信息安全和數(shù)據(jù)庫安全意識和能力。從目前社會看,安全問題是一個熱點,如果一個軟件產品安全性出現(xiàn)漏洞,用戶數(shù)據(jù)泄露,就會引發(fā)大眾對隱私信息的擔憂。如何提高系統(tǒng)的安全性是系統(tǒng)開發(fā)和建設者關注的重點。本文闡述在基于SQL Server的數(shù)據(jù)庫課程教學中提高數(shù)據(jù)庫安全性和系統(tǒng)安全性的教學方法,以達到提升學生的安全意識與能力目的。

    2數(shù)據(jù)庫教學中安全內容和方法

    數(shù)據(jù)庫課程內容通常涵蓋了數(shù)據(jù)庫基本概念、數(shù)據(jù)模型、數(shù)據(jù)庫操作、數(shù)據(jù)庫設計、數(shù)據(jù)庫編程和管理這幾個部分,安全貫穿在其中。以下將主要闡述數(shù)據(jù)庫設計、編程和管理中的涉及的安全教學內容和教學方法。

    2.1角色功能最小化

    在數(shù)據(jù)庫課程中安全管理這一章節(jié)會講授到用戶和角色,這一環(huán)節(jié)不僅局限于用戶和角色概念、關系,為用戶指派角色等操作,還要介紹當用戶被授予超出了其工作職能所需的數(shù)據(jù)庫訪問權限時,這些權限可能會被惡意濫用。解決方法是使用充分細化的查詢級別訪問控制機制,這種機制這是將數(shù)據(jù)庫權限限制到最低要求的SQL操作和數(shù)據(jù)。數(shù)據(jù)訪問控制不只細化到表,而是必須細化到表中特定的行和列。當角色細化,用戶的功能最小化,濫用過高權限這個問題就解決了。在教學過程中,可以設計一個簡單的學生成績單的數(shù)據(jù)庫,細化學生、輔導員、任課教師、教務管理員不同角色對應的功能,可以細化到表、視圖、表中特定的行和列,以及在這些細化的對象上進行的各種操作。

    2.2以密文方式存儲關鍵數(shù)據(jù)

    具有登錄功能系統(tǒng)的數(shù)據(jù)庫中存放了用戶名和密碼信息?!懊艽a”這樣重要的信息在數(shù)據(jù)庫中不應該明文存儲,是應該以密文的方式存儲。即使信息被竊取了,也會降低損失。在這一環(huán)節(jié)的授課中,先介紹SQL Server的加密層次,然后從最外層依次向內搭建加密體系,最后完成對關鍵詞段的加密。

    目前在數(shù)據(jù)庫加密中應用較多的是多級密鑰管理體系。SQL Server的加密層次如圖l所示,也是多級密鑰管理體系。在層次體系中由外到內依次是:服務主密鑰SMK(Service Mastcr Key),數(shù)據(jù)庫主密鑰DMK(Database Master Key),證書、非對稱密鑰和密鑰,對稱密鑰,加密數(shù)據(jù)。每一個數(shù)據(jù)庫實例都擁有一個服務主密鑰SMK,是安裝SQL Server時自動生成的,這個密鑰是整個實例的根密鑰,為其子節(jié)點提供加密服務,SMK是SQL Server加密層次結構的根,直接或間接地保護樹中的所有其他密鑰和機密內容。在服務主密鑰之下的是數(shù)據(jù)庫主密鑰DMK,一個數(shù)據(jù)庫只能有一個數(shù)據(jù)庫主密鑰,這是一個數(shù)據(jù)庫級別的密鑰。當數(shù)據(jù)庫主密鑰創(chuàng)建成功后,我們就可以使用這個密鑰創(chuàng)建對稱密鑰,非對稱密鑰和證書了。證書和非對稱密鑰都屬于非對稱加密的使用方式,證書通常包含更多信息,例如過期日期和頒發(fā)者,通常,可以使用證書來加密數(shù)據(jù)庫中其他類型的加密密鑰,或者為代碼模塊簽名。由于證書和非對稱密鑰使用非對稱加密算法,算法復雜,加密解密的速度慢,因此當加密的信息量大的時候不適合。對稱密鑰相對算法簡單,加密解密的速度快,由層級圖可以看出,最終對數(shù)據(jù)進行加密的就是對稱密鑰,為了進一步提高安全性,可以由非對稱密鑰或證書加密的對稱密鑰。最內層就是對稱密鑰加密數(shù)據(jù)庫表中特定字段。在這個教學環(huán)節(jié)中,可讓帶領學生創(chuàng)建服務主密鑰SMK、數(shù)據(jù)庫主密碼、非對稱密鑰或證書,然后再創(chuàng)建由非對稱密鑰或證書加密的對稱密鑰,最后用對稱密鑰加密數(shù)據(jù)庫表中的數(shù)據(jù),比較加密前后的數(shù)據(jù),看到明文和密文的不同。這個過程不僅幫助學生理解加密層次還可以直觀看到“密碼”這樣重要信息是密文存儲的。

    2.3強身份驗證

    即使數(shù)據(jù)庫表中“密碼”這樣的關鍵數(shù)據(jù)可以通過加密方式以密文存儲,但是無論是何種方式訪問數(shù)據(jù)庫,如果密碼設置的太簡單,都是不安全的。強身份驗證也是數(shù)據(jù)庫的一道保護屏障。目前“雙因素”認證機制被公認為最安全的身份認證方式,這種認證方式是指結合密碼以及實物(信用卡、SMS手機、令牌或指紋等生物標志)兩種條件對用戶進行認證的方法。但是,由于成本和易用性問題,雙因素身份驗證通常不現(xiàn)實。在這些情況下,應該實施強用戶名/密碼策略,如:限定密碼字符多樣性,限定密碼最小長度等等。在教學中可以讓學生在課后去調研網(wǎng)上的系統(tǒng)用戶注冊通常對密碼有什么要求,什么樣的系統(tǒng)采用“雙因素”認證機制。這樣的調研活動對將來從系統(tǒng)設計與開發(fā)有幫助。

    2.4SQL注入

    在基于B/S模式系統(tǒng)中,用戶從前端登錄訪問后臺的數(shù)據(jù)庫,應用了強身份驗證和關鍵信息加密,安全性得到提高。但是依然存在導致數(shù)據(jù)庫信息泄露甚至是系統(tǒng)崩潰的威脅一SQL注入。SQL注入是利用網(wǎng)頁自身的安全漏洞進行攻的一種常用方法,惡意用戶輸入數(shù)據(jù)來構造SQL查詢語句,如果程序編寫時,沒有對用戶輸入數(shù)據(jù)的合法性進行判斷,用戶就可以利用某些提交數(shù)據(jù)頁面或修改數(shù)據(jù)頁面里的漏洞,精心構造SQL語句,讓系統(tǒng)執(zhí)行此類特殊的SQL指令,從而獲取一些敏感信息,甚至獲取主機控制權限。SQL注入成功后,造成的危害也很嚴重:不僅數(shù)據(jù)庫中的信息會被盜取,Web服務器數(shù)據(jù)庫對象也可能受損,使得網(wǎng)站癱瘓,甚至可以上傳木馬,被攻擊的計算機就處于被控制狀態(tài)了,SQL注入的影響是非常大的。

    在這一教學環(huán)節(jié)中,教師可以先演示一個SQL注入,如:在登錄頁面的用戶名和密碼輸入框中,輸入:“'mike'or 1=1-”和“abc”,一個沒有防SQL注入的系統(tǒng),會構造出“select*from users where userID='mike'or 1=1-and psd='abc'”,在這個語句中,條件永遠為真,達到了欺騙系統(tǒng),成功登錄。

    SQL注入的原因就是將SQL命令通過“嵌入”的方式放人合法的HTYP提交請求中,解決方式主要有:

    1)使用正則表達式過濾傳人的參數(shù)

    正則表達式是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規(guī)則字符串”,這個“規(guī)則字符串”用來表達對字符串的一種過濾邏輯。目標是過濾輸入中能夠引起SQL注入的字符或單詞。

    2)使用預編譯語句

    如果使用預編譯語句,傳人的任何內容就不會和原來的語句發(fā)生任何匹配的關系,就用不著對傳人的數(shù)據(jù)做任何過慮”。這是很常用的防SQL注入的方法。

    教學中,可以用上述兩種方法對有缺陷的,能夠SQL注入的系統(tǒng)進行改進,再有同樣的方法登錄,無法“欺騙”系統(tǒng)了。

    2.5存儲過程

    存儲過程是數(shù)據(jù)庫中重要的對象,在講授其特點的時候,不僅提到執(zhí)行速度快,第一次執(zhí)行后的存儲過程會駐留在高速緩存中,以后直接調用;提高代碼的重用性,減少網(wǎng)絡流量,用戶可以通過發(fā)送一條執(zhí)行存儲過程的語句實現(xiàn)一系列復雜的操作,而不需要寫上大量的SQL代碼,而且存儲過程在被創(chuàng)建后,可以在程序中被多次調用。還要強調存儲過程提供了安全機制,SQL Server可以不授予用戶直接訪問表、視圖的權限,而是授權用戶執(zhí)行該存儲過程,這樣可以防止把數(shù)據(jù)庫中表的細節(jié)暴露給用戶,保證表中數(shù)據(jù)的安全性。

    2.6數(shù)據(jù)庫的審計

    數(shù)據(jù)庫課程中數(shù)據(jù)庫管理部分涉及審計。審計,即檢查、驗證目標的準確性和完整性,用以防止虛假數(shù)據(jù)和欺騙行為。數(shù)據(jù)庫審計是數(shù)據(jù)庫安全的一部分。審計主要有兩個目的,一個是檢測和威懾非法進入系統(tǒng)的行為;另一個是識別出用戶對系統(tǒng)的誤用。通過審計功能,凡是與數(shù)據(jù)庫安全性相關的操作均可被記錄下來。只要檢測審計記錄,系統(tǒng)安全員便可掌握數(shù)據(jù)庫被使用狀況。在SQL SERVER中,系統(tǒng)包含三種級別的審計:服務器級別、數(shù)據(jù)庫級別和審計級別。服務器級別的審計記錄服務器操作,例如管理更改以及登錄和注銷操作。數(shù)據(jù)庫級別的審計管理數(shù)據(jù)操作語言和數(shù)據(jù)定義語言的操作。審核級別的審計管理包括審核過程中的操作。這一教學環(huán)節(jié)中可以帶領學生建立上述三種級別的審計,啟動審計后,在數(shù)據(jù)庫中新建用戶和角色,新建用戶表,添加、修改刪除數(shù)據(jù),然后查看審核日志,可以看到這些操作留下的痕跡。

    2.7備份數(shù)據(jù)暴露

    為了提交安全陸,數(shù)據(jù)庫需要定期的備份。在實際教學過程中,通常要講授備份的種類和備份還原操作,而忽視備份數(shù)據(jù)的暴露帶來的危險,如果得到了一份完全數(shù)據(jù)庫備份,只需簡單的還原,那么所有的數(shù)據(jù)就清晰地呈現(xiàn)出來。因此在教學中要強調備份數(shù)據(jù)一定要加密。

    3結論

    本文介紹了數(shù)據(jù)庫課程中的幾個教學環(huán)節(jié)。在實際的教學中,教師通過理論講解、實例演示、課后練習和實驗多個環(huán)節(jié)將安全融人到課程中,提升學生安全意識和能力,也為學生今后從事相關數(shù)據(jù)庫開發(fā)工作奠定了基礎。

    猜你喜歡
    審計安全加密
    財險公司核心業(yè)務系統(tǒng)內部控制審計重點和方法淺析
    淺談工程結算審計的方法與實踐經(jīng)驗
    商(2016年27期)2016-10-17 05:38:55
    從國家治理看審計反腐倡廉的作用
    工程造價審計中存在的問題與對策
    認證加密的研究進展
    基于ECC加密的電子商務系統(tǒng)
    基于格的公鑰加密與證書基加密
    我國古代對軍事信息的加密與傳遞
    軍事歷史(1989年4期)1989-08-16 07:05:22
    莱阳市| 洞头县| 敦煌市| 平昌县| 房产| 弥渡县| 右玉县| 杨浦区| 衡水市| 滨州市| 深州市| 宿州市| 淄博市| 阿城市| 合水县| 溧阳市| 富裕县| 金堂县| 孟村| 洪江市| 滁州市| 德保县| 汉中市| 墨竹工卡县| 应城市| 陆川县| 察雅县| 襄汾县| 巩留县| 宁远县| 宁乡县| 马鞍山市| 关岭| 堆龙德庆县| 重庆市| 绥滨县| 吴旗县| 富裕县| 岳普湖县| 凌源市| 阿鲁科尔沁旗|