冉福祥 張超
摘要:本文以項目開發(fā)為背景,分析了MIS開發(fā)及應(yīng)用過程中存在的信息安全問題,并就此提出了相應(yīng)的解決方案和對策。
關(guān)鍵詞:MIS;信息安全;對策
● 引言
隨著管理信息系統(tǒng)(MIS)的廣泛應(yīng)用,各企事業(yè)單位的信息處理方式發(fā)生了根本性的變化,信息管理效率得到了很大的提高。然而,管理信息系統(tǒng)在開發(fā)及應(yīng)用過程中的信息安全問題卻往往被開發(fā)人員所忽視,由此給用戶帶來了不可估量的損失,并且安全事件的發(fā)生呈現(xiàn)出逐漸增長的態(tài)勢。如何保證和加強管理信息系統(tǒng)中的信息安全,已成為開發(fā)人員和用戶迫切需要解決的問題。
● 信息安全問題分析
伴隨著企事業(yè)單位信息化進程的加快,信息資源的價值也在快速體現(xiàn)出來。與此同時,MIS的安全問題日漸凸顯,已成為信息時代人們必須要面臨的挑戰(zhàn)。分析其原因,有惡意攻擊、安全缺陷、軟件漏洞、結(jié)構(gòu)隱患和環(huán)境因素等,而對于系統(tǒng)開發(fā)人員,安全問題產(chǎn)生的具體原因主要表現(xiàn)在以下幾個方面。
1.開發(fā)人員的安全意識薄弱
在MIS的開發(fā)過程中,開發(fā)人員由于各種原因,把精力主要放在了系統(tǒng)是否能夠滿足用戶的需要、是否具備用戶要求的各項功能、是否能夠按照約定時間完成開發(fā)任務(wù)等方面,卻忽視了安全性這一關(guān)鍵問題。如此,難免會給用戶將來管理各類信息留下安全隱患。究其原因,主要是由于開發(fā)人員對于信息的安全防范存在惰性,安全意識、觀念比較淡薄。
2.系統(tǒng)設(shè)計中存在漏洞
系統(tǒng)安全的首要防線是建立完善的訪問控制體系,阻止非法用戶對系統(tǒng)敏感信息的訪問。安全設(shè)計包括對后臺數(shù)據(jù)的安全訪問控制和通過前端界面對數(shù)據(jù)進行訪問。然而,開發(fā)人員在系統(tǒng)設(shè)計過程中,可能由于某些原因沒有充分考慮到這些問題,最終導(dǎo)致用戶權(quán)限的分配不合理,模塊間信息共享存在漏洞等問題,為信息安全留下諸多隱患。
3.開發(fā)的技術(shù)方法落后
半個多世紀(jì)以來,軟件開發(fā)技術(shù)在理論、觀念、目標(biāo)和技術(shù)方法等方面都發(fā)生了巨大變化。
在軟件分析與設(shè)計方面,從最初的單一程序開發(fā)發(fā)展到應(yīng)用系統(tǒng)的結(jié)構(gòu)化方法(DFD圖、IDEF0圖、軟件結(jié)構(gòu)圖等),從結(jié)構(gòu)化方法發(fā)展到面向?qū)ο蠓椒ǎ悺ML);在軟件開發(fā)語言方面,從最初的匯編語言發(fā)展到各種高級與中級語言,從平臺有關(guān)到平臺無關(guān);在軟件開發(fā)工具方面,從命令行調(diào)試到集成界面調(diào)試,再到可視化編程;在軟件開發(fā)支撐環(huán)境方面,近年來出現(xiàn)了各種分布式軟件開發(fā)技術(shù)(.NET、COM/DCOM、CORBA、Java RMI、JMS、EJB等),也涌現(xiàn)出各種中間件、各種數(shù)據(jù)庫管理系統(tǒng)的新功能、兩層及多層C/S體系、SOA、Web Service等。所有這些,都為軟件開發(fā)的效率和質(zhì)量帶來了有力的保障。
然而,到目前為止,在大多數(shù)軟件項目實施中完全采用新技術(shù)(如面向?qū)ο蟮姆椒ǎ?,來分析與設(shè)計軟件系統(tǒng)的情況遠不如我們所想象的普遍,盡管大家都一再表示它應(yīng)該是最佳的選擇。但自頂而下,根據(jù)需求進行模塊劃分的方法仍然是現(xiàn)階段軟件行業(yè)的主流技術(shù)手段。
● 應(yīng)對策略研究
MIS的開發(fā)是一個長期、復(fù)雜、龐大的系統(tǒng)工程,在開發(fā)過程中需要投入大量的人力、財力、物力等資源。為了最大限度地滿足用戶對信息管理的需求,提高信息管理的效率,保證信息的安全,我們提出了以下對策。
1.提高開發(fā)人員的安全意識
軟件的安全性已經(jīng)深深地影響到大眾的生活、工作甚至國家安全,軟件企業(yè)和開發(fā)人員需要承擔(dān)起提供安全和保護隱私的責(zé)任,這也要求軟件企業(yè)充分意識到風(fēng)險的存在。第二屆中國軟件安全峰會就曾經(jīng)把主題確定為“軟件安全:意識比技術(shù)更重要”,彰顯了會議主辦方和策劃者們對提高軟件安全意識的迫切心情。
隨著軟件安全問題的日益突出,雖然各種解決方法被陸續(xù)提出。但是,作為軟件項目開發(fā)人員首先應(yīng)該通過提高安全意識來解決軟件的安全問題。只有思想上引起足夠重視,開發(fā)人員才會意識到軟件安全的必要性和迫切性,才會去分析安全問題的產(chǎn)生原因,才會去研究安全問題的解決方法并提出解決方案。
2.加強系統(tǒng)的安全設(shè)計
(1)系統(tǒng)的訪問權(quán)限設(shè)計
①后臺數(shù)據(jù)庫的安全訪問控制。
數(shù)據(jù)庫是MIS的后臺,也是信息系統(tǒng)的核心。實現(xiàn)數(shù)據(jù)庫的安全,也就是保證數(shù)據(jù)庫中信息的完整、可用,并防止非授權(quán)用戶竊取或篡改信息。保證數(shù)據(jù)庫的安全是一項非常重要的工作,如果沒有完整的安全性設(shè)計,就可能因數(shù)據(jù)庫遭到破壞而導(dǎo)致整個系統(tǒng)癱瘓。
大中型的數(shù)據(jù)庫管理系統(tǒng)(如SQL Server)都具有功能強大的數(shù)據(jù)安全體系。數(shù)據(jù)對象的增、刪、改、查、運行等操作權(quán)限都可以分配給相應(yīng)的用戶。通過后臺的權(quán)限分配設(shè)計,用戶對數(shù)據(jù)對象進行操作時只能行使允許范圍內(nèi)的權(quán)限,而不能越權(quán)。
②前端軟件界面的訪問權(quán)限控制。
為了防止非法用戶通過前端用戶界面訪問數(shù)據(jù),信息系統(tǒng)在開發(fā)的過程中,也應(yīng)該采取用戶權(quán)限分配策略,即根據(jù)用戶的身份,按照要求賦予其不同的用戶類型和用戶權(quán)限。這樣,系統(tǒng)將允許具有相應(yīng)權(quán)限的用戶登錄系統(tǒng),訪問或者修改指定的數(shù)據(jù)對象。
作者開發(fā)的項目基本上都是采用基于角色的訪問控制方式(Role-Based Access Control,RBAC)對數(shù)據(jù)進行訪問,即根據(jù)角色確定權(quán)限并對具體用戶進行角色指派和許可指派。RBAC模型如圖1所示。
(2)信息的安全加密設(shè)計
數(shù)據(jù)加密設(shè)計是將前端用戶要存儲的數(shù)據(jù)使用加密算法或者密鑰進行加密生成密文之后再進行傳遞和存儲的安全策略。在傳遞過程中,即使有人得到了密文,如果不知道解密算法或者密鑰依然無法推測出明文信息,這樣就保證了信息傳遞和存儲的安全。信息加密解密的過程如圖2所示。
(3)數(shù)據(jù)的備份、恢復(fù)功能設(shè)計
數(shù)據(jù)備份與恢復(fù)是保障信息安全的重要技術(shù)之一,是保護信息安全的最后一道防線,保證信息系統(tǒng)因各種原因遭到破壞時能盡快恢復(fù)使用。任何一個數(shù)據(jù)庫在使用的過程中,都有可能因各種因素的影響而受到破壞,導(dǎo)致系統(tǒng)崩潰。這時,就需要對數(shù)據(jù)庫進行恢復(fù)操作。
為了防止自然或者人為因素對系統(tǒng)數(shù)據(jù)造成破壞,在系統(tǒng)開發(fā)時應(yīng)該進行數(shù)據(jù)備份、恢復(fù)功能的設(shè)計。具體而言,系統(tǒng)可以在用戶執(zhí)行了某項重要操作時,觸發(fā)備份機制,自動或者手動進行數(shù)據(jù)備份。當(dāng)發(fā)現(xiàn)數(shù)據(jù)丟失、損壞等問題時,可以及時恢復(fù)數(shù)據(jù),以挽回損失。
(4)系統(tǒng)的運行日志設(shè)計
在MIS中,通過系統(tǒng)運行日志記錄每位登錄用戶的登錄時間、登錄計算機的IP地址、操作的數(shù)據(jù)對象、操作內(nèi)容、執(zhí)行操作的時間等。這樣,不僅可以隨時了解用戶的操作行為,還可以根據(jù)系統(tǒng)記錄的日志內(nèi)容,自動檢索安全責(zé)任人,甚至實時觸發(fā)安全警告,并及時通知系統(tǒng)管理員和用戶。
3.應(yīng)用先進的安全技術(shù)
(1)采用安全性較高的企業(yè)級數(shù)據(jù)庫管理系統(tǒng)
數(shù)據(jù)庫管理系統(tǒng)(Database Management System,DBMS)是對數(shù)據(jù)庫進行統(tǒng)一管理和控制,以保證數(shù)據(jù)庫的安全性和完整性的大型軟件。用戶通過DBMS訪問數(shù)據(jù)庫中的數(shù)據(jù),數(shù)據(jù)庫管理員也通過DBMS進行數(shù)據(jù)庫的維護工作。它可使多個應(yīng)用程序和用戶使用不同的方法同時或在不同時刻去建立,修改和訪問數(shù)據(jù)庫。
目前,常見的數(shù)據(jù)庫管理系統(tǒng)有Sybase、DB2、MySQL、Access、Informix、Microsoft SQL Server、Visual FoxPro、Oracle等,每款產(chǎn)品都有自己的特點和優(yōu)勢。
開發(fā)人員在選擇數(shù)據(jù)庫的時候,除了要考慮構(gòu)造數(shù)據(jù)庫的難易程度、程序開發(fā)的難易程度、數(shù)據(jù)庫管理系統(tǒng)的性能、對分布式應(yīng)用的支持能力、并行處理能力、可移植性和可擴展性、數(shù)據(jù)完整性約束、并發(fā)控制功能、容錯能力、支持漢字處理能力等,更要考慮數(shù)據(jù)庫的安全性能,包括賬戶管理、用戶權(quán)限、網(wǎng)絡(luò)安全控制、數(shù)據(jù)約束及安全保密的程度等。
(2)應(yīng)用信息加密技術(shù)
加密是防止數(shù)據(jù)信息泄露、保障數(shù)據(jù)機密性、完整性、可用性的重要措施,是保護數(shù)據(jù)安全的有效手段。所謂數(shù)據(jù)加密(Data Encryption)技術(shù)是指將一個信息(或稱明文,plain text)經(jīng)過加密鑰匙(Encryption key)及加密函數(shù)轉(zhuǎn)換,變成無意義的密文(cipher text),而接收方則將此密文經(jīng)過解密函數(shù)、解密鑰匙(Decryption key)還原成明文的技術(shù)過程。
在眾多的常規(guī)密碼算法中,比較著名的有:美國的DES及其各種變形,如Triple DES、GDES、New DES和DES的前身Lucifer;歐洲的IDEA;日本的FEALN、LOKI91、Skipjack、RC4、RC5以及以代換密碼和轉(zhuǎn)輪密碼為代表的古典密碼等。其中,影響最大的是DES密碼。
數(shù)據(jù)加密是現(xiàn)今信息安全防護的主力軍,開發(fā)人員進行軟件開發(fā)時,可以在不改變用戶原有的使用習(xí)慣時使用先進的加密技術(shù)對數(shù)據(jù)進行加密,從而保護敏感信息的安全。
● 小結(jié)
MIS是一個由多種要素構(gòu)成的復(fù)雜的人機交互系統(tǒng),在開發(fā)和應(yīng)用的過程中均存在各種不安全的因素,都會威脅到系統(tǒng)中信息的安全。但是,作為系統(tǒng)的開發(fā)人員,應(yīng)該充分地認識到MIS中信息安全的重要性,必須全方位、多層次地注意到安全問題的存在,并盡最大可能地采取有效的應(yīng)對策略和技術(shù)手段,切實滿足用戶各方面的信息安全需求,保證MIS的安全、穩(wěn)定運行。
參考文獻:
[1]何小朝.不是三維——軟件項目的設(shè)計、開發(fā)與管理[M].北京:電子工業(yè)出版社,2010.
[2]杜文才.旅游管理信息系統(tǒng)[M].北京:清華大學(xué)出版社,2010.
[3]查良松,陸均良,羅仕偉.旅游管理信息系統(tǒng)[M].北京:高等教育出版社,2006.
課題項目:甘肅省教育科學(xué)“十二五”規(guī)劃課題,甘肅省教育科學(xué)規(guī)劃課題研究成果(課題編號:GS[2013]GHB1074)。