醫(yī)院信息科軟件開發(fā)管理規(guī)范_第1頁
醫(yī)院信息科軟件開發(fā)管理規(guī)范_第2頁
醫(yī)院信息科軟件開發(fā)管理規(guī)范_第3頁
醫(yī)院信息科軟件開發(fā)管理規(guī)范_第4頁
醫(yī)院信息科軟件開發(fā)管理規(guī)范_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

文件編號XX-XX-013-V2.0版本1.0文件名稱軟件開發(fā)管理規(guī)范制/修訂時間2016.06制/修訂人審核人醫(yī)院軟件開發(fā)管理規(guī)范1.總則醫(yī)院醫(yī)院目前的應用系統(tǒng)多數為外包開發(fā),但對于外包系統(tǒng)的開發(fā),外包系統(tǒng)商必須按照醫(yī)院的開發(fā)安全規(guī)范進行開發(fā),以保證開發(fā)系統(tǒng)符合醫(yī)院信息安全規(guī)范需求和信息安全等級保護需求。在應用外包開發(fā)商與醫(yī)院簽訂應用外包開發(fā)合同時,此協(xié)議必須作為外包開發(fā)合同的附件對外包開發(fā)商的外包開發(fā)行為的開發(fā)過程進行規(guī)范和約束。如外包開發(fā)商的開發(fā)過程未按照該規(guī)范進行,醫(yī)院有權拒絕為該開發(fā)交付物付款,且保留進一步追究外包開發(fā)商違約的權力。2.應用安全要素應用軟件(或系統(tǒng),下同)的開發(fā)階段是其生命周期內的一個重要階段,在此階段,將主要完成應用軟件的需求分析、設計實現及測試等工作,此階段的工作將極大程度地決定了應用軟件本身的安全性,因此,要確保信息安全在此階段的各個具體工作過程中的貫徹和實施,以便交付具有高安全特性的應用軟件,為將來應用軟件的安全投產運行奠定堅實的基礎。與信息安全的基本要素一樣,應用軟件開發(fā)過程中要關注的安全要素主要包括機密性、完整性、可用性。2.1.機密性機密性是指保證只有被授權訪問的人才可以獲取信息,具體包括身份鑒別、授權、安全通訊等措施。2.2.完整性完整性是指保證信息和處理方法是正確和完全的,免受非授權、意料之外或無意的更改,具體包括數據校驗、審計、安全通訊等措施2.3.可用性可用性保證經過授權的用戶在需要時可以訪問/使用相關信息資產,具體實施手段有災難備份/恢復、冗余、業(yè)務持續(xù)性計劃等。3.安全開發(fā)過程應用軟件的開發(fā)過程一般包括以下階段:1)需求分析階段:完成挖掘與分析最終用戶需求的工作,總結出應用軟件所要完成的功能定義及相關要求。2)架構與設計階段:完成應用軟件的架構設計及其他必要的詳細設計工作。3)編碼實現階段:按照設計文檔的要求,在具體的基礎平臺上實現應用軟件。4)測試階段:試應用軟件中實現的功能是否滿足用戶的要求。要在應用軟件開發(fā)過程中實施安全性,其過程也是相同的,即將安全性所涉及的具體工作落實到以上過程中,即:1)安全需求分析階段:對應用系統(tǒng)面臨的各種風險、業(yè)務安全要求、需要保護的資源以及如何保護等進行分析,同時在一些主要的技術實現的環(huán)節(jié)提出明確定義的、可衡量的技術安全需求2)安全設計階段:按照安全需求的要求和通用的安全設計原則來設計合理的、安全的系統(tǒng)架構,并對一些具體環(huán)境所使用的安全技術進行定義。3)安全編碼階段:對安全設計過程中所確定的安全架構和安全技術為基礎,參照通用的安全編碼要求來編碼實現應用軟件。4)安全測試階段:針對系統(tǒng)提供的安全功能進行測試,以確定其正確、恰當地完成了所有功能,同時要以攻擊者的身份進行攻擊測試,以測試應用軟件中是否存在漏洞。4.安全需求分析在安全需求分析階段,主要關注以下幾個方面的內容:4.1.風險分析對目標系統(tǒng)/軟件中可能出現的安全風險進行全面分析,并盡量對這些風險進行概率及影響評估。風險分析可以從業(yè)務和技術兩個角度入手,下面列出(但不限于)了幾種可能的要素:誤操作、人為破壞、非授權操作、軟硬件平臺質量及其安全漏洞、其它風險。在進行目標系統(tǒng)/軟件的風險分析時,要盡量準確地評估各種可能存在的風險點、發(fā)生的概率及造成的損失。4.2.業(yè)務安全需求從業(yè)務管理、業(yè)務風險的角度具體提出系統(tǒng)需實現那些業(yè)務控制措施。包含的要素有:1)交易分類描述系統(tǒng)/軟件中如何劃分各類不同級別的交易,及每個級別交易操作所需要的權限。2)帳務控制描述系統(tǒng)/軟件中如何控制各類帳務信息的顯示、操作等,如普通操作員不能查詢總分類帳務及其報表等。3)現金相關操作描述系統(tǒng)/軟件中如何對與現金相關的操作進行控制,對于現金額度超限的操作如何控制等。4)信息歸屬相關操作對于交易/操作中的重要業(yè)務信息,定義其查閱方式及其所需的操作權限、級別等。5)特殊操作對諸如交易沖正、隔日沖帳、跨部門操作等特殊操作,如何進行控制。6)管理制度對于系統(tǒng)/軟件面向的業(yè)務領域的一些其他安全控制措施、行業(yè)規(guī)范、業(yè)務管理制度以及規(guī)定等,如何體現在系統(tǒng)中。如在建設網上銀行系統(tǒng)時,就必須考慮人民銀行關于網上銀行的安全規(guī)范、國家有關商用密碼、CA的管理制度。4.3.技術安全需求以安全的三個通用要素(機密性、完整性、可用性)為基礎,從技術角度入手,描述系統(tǒng)應滿足或實現的安全需求,如果系統(tǒng)中子系統(tǒng)或模塊較多,則在每小節(jié)中按照子系統(tǒng)或模塊分別提出安全需求。4.3.1.機密性機密性指保證只有被授權訪問的人才可以獲取信息。機密性要求信息免受非授權的披露。它涉及到對計算機數據和程序文件讀取的控制,即誰能夠訪問那些數據。它和隱私、敏感性和秘密有關。機密性的要素包括:(一)用戶鑒別方式用戶鑒別是指如何驗證用戶的合法身份,有時也稱身份驗證或身份認證,用戶鑒別的方式較多,可以根據系統(tǒng)的安全級別、成本投入等因素來確定驗證方式。常見的鑒別方式有固定密碼、動態(tài)密碼、數字證書、基于生物特征(如指紋識別)或它們的任意組合等。(二)授權方式授權方式是指如何進行具體操作的授權,也稱為訪問控制方式。要在此說明系統(tǒng)/軟件是集中進行授權控制,還是分散地、逐級的方式進行授權控制。對于操作員可以對進行那些操作的權限控制,目前使用較為普遍的方式是基于角色的訪問控制(RoleBasedAccessControl),即先將各種操作權限授予預定義的角色,然后再指定用戶屬于那些角色(一個用戶可以扮演多個角色),通過對用戶所屬角色的檢查,就可以獲得用戶可以進行那些操作。如果選用基于角色的授權方式,要根據系統(tǒng)/軟件的實際情況劃分角色,并定義角色所能完成的操作。(三)抗抵賴性。指出哪些重要的業(yè)務操作需要防止抵賴,如可能,指定抗抵賴的方式,如:記錄操作日志(有據可查)、具有電子簽名和時間戳(法律依據)(四)加密級別的選擇按照數據的重要程度可以選擇加密級別,加密級別有:秘密(普通加密/編碼,可反向解密/解碼)、機密(高級加密,需要大量計算資源及較長時間才能解密)、絕密(最高加密,使用非對稱算法或128位密鑰長度以上的對稱算法,保證破解的可能性接近于零)。(五)數據存儲安全。對于系統(tǒng)/軟件中要加工或處理的數據的物理存儲,需要以何種方式保護,主要指數據庫安全保護,尤其是對繞過系統(tǒng)/軟件本身,直接對數據庫的存取行為的控制要求。(六)數據傳輸安全。指定哪些數據,在通過哪些傳輸通道的時候,應進行安全保護。數據傳輸安全可以分為應用程序間的傳輸安全(SSL等)和網絡間的傳輸安全(IPSec),前者適用外部或公用網絡,后者適用于內部或專用網絡。(七)隱私保護。遵照有關國家法律、行業(yè)規(guī)范及業(yè)務管理規(guī)定,定義哪些客戶信息、資料等為隱私信息,并要實行哪些保護或隱藏措施,以免這些信息泄露給外部其他人或內部操作人員。(八)日志指定系統(tǒng)中記錄日志的范圍、詳細程度等。4.3.2.完整性完整性的目標是保證信息和處理方法的準確與完整。完整性要求信息必須是正確和完全的,而且能夠免受非授權、意料之外或無意的更改。完整性還要求計算機程序的更改要在特定的和授權的狀態(tài)下進行。普遍認同的完整性目標有:(一)數據檢查對哪些數據要做何種檢查(數據格式、數據內容等),以防止由于用戶輸入特殊數據使得系統(tǒng)安全受到威脅。(二)數據校驗。列舉在系統(tǒng)/軟件中那些數據需要額外的數據校驗,以檢驗數據是否來自可信源,是否被篡改。(三)防止數據損壞。防止數據在存儲或傳輸的過程中,是否采取額外的手段驗證數據,以確保數據的正確性。(四)數據容錯機制。對于穩(wěn)定性要求比較高或數據非常重要的系統(tǒng),有必要采用容錯機制以防止由于硬盤損壞等事件導致數據丟失。容錯機制普遍采用磁盤冗余陣列(RAID)不間斷電源(UPS)等。(五)數據備份機制及周期。(六)數據存取日志等。4.3.3.可用性可用性是保證經過授權的用戶在需要時可以訪問信息并使用相關信息資產??捎眯砸笮畔⒃谛枰獣r能夠及時獲得以滿足業(yè)務需求。它確保系統(tǒng)用戶不受干擾地獲得諸如數據、程序和設備之類的系統(tǒng)信息和資源。不同的應用有不同的可用性要求。(一)可用性指標(平均無故障時間)。平均無故障時間通常以可用時間百分比來表示,無故障時間計算公式為:無故障時間=可用時間百分比X運行總時間(二)業(yè)務持續(xù)性要求。如何防止單點失效后造成的業(yè)務中斷,如采用雙機熱備措施等。(三)災難恢復要求。為了在系統(tǒng)遭受攻擊或意外災難后能夠快速恢復,應考慮的備份措施、工具等。4.3.4.其他安全相關因素除以上內容外,還要對應用軟件的其他與安全相關的要素進行分析說明,由于這些要素和安全要求相關,要根據系統(tǒng)的實際情況進行選擇。5.安全設計在安全設計階段,主要完成安全需求、安全技術在架構及設計中具體體現,此階段非常關鍵,它從很大程度了將確定最終的應用軟件的安全性。5.1.通用設計原則在進行應用軟件的安全設計中,要遵守和貫徹以下一些通用原則:5.1.1.整體安全系統(tǒng)的整體安全程度受最薄弱環(huán)節(jié)的制約,因此考慮安全性時,應該將應用程序所有層的安全性都考慮在內,尤其是加強整個安全鏈條中較弱環(huán)節(jié)的保護。5.1.2.縱深防御在應用系統(tǒng)之間或應用軟件的每一層或每個子系統(tǒng)中都要設置檢查點,進行身份鑒別,授權檢查,數據檢查及校驗等安全檢查工作,確保只有經過身份鑒別和授權的用戶能夠訪問下一層,而且確保數據的合法性。5.1.3.職責分離職責分離通常是應用在職能與責任方面的一條安全原則。職責分離包含兩個方面的內容:一是限制單個用戶的能力,以免其做出欺詐行為或濫用其權限;二是在劃分應用程序的組件時,設計人員應該嘗試根據功能和權限來劃分它們,不同功能應由不同的組件來處理,如訂單處理與檢查賬戶狀態(tài)的組件應該區(qū)分開。對于用戶的職責分離來說,如果在一個安全模型中確定了用戶或用戶角色,而且他們各自具有不同級別或類型的信息資產訪問權限,那么應進行用戶職責分離。雖然由角色和權限構成的矩陣是由客戶來定義的,但是設計人員必須確保應用軟件能夠提供必要的支持功能來滿足客戶的這種需求。對于組件的職責分離來說,可以按照各種不同的方式劃分組件,如:按照編程人員劃分:各個編程人員應該編寫不同的組件,尤其對大多數安全敏感型的組件來說,更應該這樣;按照管理員劃分:各個系統(tǒng)管理員應該負責管理不同的組件;按照網絡層次劃分:各個組件應該被分布部署到網絡的各個層次中,因為各層面臨的攻擊程度不同;按照功能劃分:每一個組件中只包含必要的功能;具有不同權限的組件大多是完全隔離的??紤]將展現層和應用層的功能劃分開的這種情況,一般來說,展現層所包含代碼的權限要比應用層代碼的權限低。例如,展現層的代碼通常不能直接訪問數據庫,而應用層的代碼就可以。5.1.4.最小權限對于系統(tǒng)中用戶,應該只授予其完成必要功能的最小權限,避免其提升權限對系統(tǒng)安全帶來威脅。對于執(zhí)行代碼的進程應當盡可能用權限最少的帳戶運行,從而在危及進程安全時限制可能造成的破壞。一般情況下禁止以系統(tǒng)管理員的身份來執(zhí)行應用程序。如果惡意用戶設法將代碼注入某個服務器進程,那么授予該進程的權限會在很大程度上決定該用戶可執(zhí)行的操作類型。應當將需要更多信任(和更高權限)的代碼分別隔離在不同的進程內。5.1.5.默認安全開發(fā)人員往往僅僅為了使應用程序不受限制地運行而經常使用較高的系統(tǒng)權限,而且在應用程序內部采用寬松的安全控制措施。這可能會帶來兩方面的問題:在系統(tǒng)權限(如操作系統(tǒng)的文件訪問控制)較為嚴格的情況下,應用程序的功能可能失效;在應用程序內部,較低權限的用戶可能會不受限制地提升權限而執(zhí)行一些權限要求較高的功能。以上兩方面的影響都會對應用軟件的正常運行帶來較大的影響。因此,應按普通用戶(即非管理員)的身份來設計和測試應用程序,同時,在應用程序中,應采取嚴格的權限控制措施,對于未明確授予的權限,應予以拒絕。5.1.6.減小暴露界面盡量減少應用軟件的暴露界面,因為任何暴露界面都可能成為攻擊者的目標,減少暴露界面即有助于降低被黑客攻擊的可能性,也有助于把有限的資源更好地投入到所必需保護的信息資產上。5.2.安全技術的使用針對所關注的安全主題,在安全技術使用上,要合理、恰當,推薦使用業(yè)界一些成熟的安全解決方案,如以公用密鑰體系(PKI)為基礎的各種應用。具體在各個安全控制環(huán)境,要有針對性的采用應用的安全控制措施。5.2.1.身份鑒別對于用戶的身份進行識別是每個系統(tǒng)進行安全保護的第一道關口,在各種基礎平臺中已經提供了相當多的、可靠的身份鑒別技術,例如:Web服務器提供的明文驗證、摘要式驗證、集成驗證、數字證書驗證。操作系統(tǒng)提供的集成驗證數據庫管理系統(tǒng)身份驗證等如果由于某些限制而不能利用以上技術,可以使用一些類似的自定義的身份鑒別技術,如常見的用戶名/密碼的鑒別方式。除了單要素身份鑒別方式外,可以使用多要素驗證方式和一些安全性非常高的基于生物特征的身份鑒別技術,如指紋識別等,在成本可控的前提下,為應用軟件提供最為安全的保護。在提供身份鑒別機制的同時,也要注重提供相應的安全策略控制,在身份鑒別方面一般需要提供以下方面的策略控制:密碼復雜性要求:如對密碼長度、字母或數字的組成等進行限制,以防止出現弱密碼。密碼使用周期:密碼存留期(即多長時間后強制更改密碼)、是否記錄密碼歷史。登錄策略:是否對用戶的登錄位置和時間進行限制,是否允許同一用戶在多個位置同時登錄等。帳戶鎖定:經過指定閥值的失敗登錄嘗試后,是否鎖定登錄的目標用戶,鎖定的時間、解鎖的方式等,對于已登錄用戶,經過指定閥值的未操作時間后,是否鎖定界面等。注銷:多長時間未操作將自動注銷等。5.2.2.授權授權主要是指對于登錄進入系統(tǒng)的用戶的操作權限進行合理設置,以使其完成所需工作。在各種基礎平臺中已經都內置較為完備的授權機制,可以充分利用,如下表所示:操作系統(tǒng)的文件系統(tǒng)權限設置。應用基礎平臺中的授權框架,如.NET中的角色與用戶控制,Java中的鑒別與授權服務(JAAS)等數據庫管理系統(tǒng)中的數據庫角色、數據庫對象權限設置。除了利用基礎環(huán)境的訪問機制外,可以在應用軟件中設計實現自定義的訪問控制,這種訪問控制一般是采用基于角色的授權機制(RBAC),RBAC訪問控制模型實現了用戶與訪權限的邏輯分離,減少了授權管理的復性,降低了管理開銷,而且與日常信息統(tǒng)管理的架構類似,降低了管理復雜度。要配置和設計實現授權體系時,要特別注意以下事項:在進行授權體系的設計時,一定要完備,避免個別環(huán)境的控制措施缺失所帶來的安全隱患;嚴格執(zhí)行最小權限原則,只給用戶開放完成其功能所必須的權限;在用戶執(zhí)行每個功能前,要首先對其權限進行檢查;如果由于部分環(huán)境的限制無法實現以上兩種保護機制,要使用自定義的加密機制來對保護被傳輸的數據,即在數據傳輸加密前后分別進行加解密。使用安全通訊機制,將對系統(tǒng)性能帶來一定的影響,因此要合理評估其使用范圍,但要注意的是在用戶鑒別等傳輸敏感的環(huán)節(jié)一定要采用安全傳輸協(xié)議。5.2.4.日志在應用系統(tǒng)中,要根據用戶的需求、系統(tǒng)效率的考慮來實現合理的、完備的日志記錄,以實現系統(tǒng)對于審計的支持。日志中至少應包括如下信息:日志類別(一般信息、警告、錯誤)、日期與時間、日志內容、當前操作用戶名、操作用戶所在的機器名或地址(IP)以及處理結果(成功或失?。┑?。通過利用以上日志信息結合基礎平臺(如操作系統(tǒng)、Web或應用服務器、數據庫服務器等)內置集成的日志功能,能夠最大限度地為審計提供數據支持。在進行日志功能設計時,要考慮其可能對系統(tǒng)性能帶來的影響。5.2.5.數據安全除了保證數據庫中存儲數據安全,還要對數據庫服務器以外的一些關鍵數據進行安全保護,這些數據包括Web服務器、應用服務器和客戶端(瀏覽器)中與應用系統(tǒng)有關的配置信息(如數據庫連接定義、后臺系統(tǒng)連接定義等)、緩存數據、會話數據、臨時數據以及Cookie等。實現數據安全的主要機制是加密和完整性校驗,在選取加密算法時,要根據不同場景采用足夠安全但又不會影響系統(tǒng)效率的算法,數據加密方法及適用情況如下所示:如果數據量較大,要求效率較高,一般采用對稱加密算法,如3DES、AES等;如果數據量較小但安全要求高,可以采用非對稱加密算法,如RSA等;如果數據量較大,要求效率較高,同時也要求具有很高的安全性,則可以使用非對稱加密算法來完成密鑰交換,然后再使用交換密鑰和對稱加密算法來加解密數據。如果要對數據進行完整性校驗,則一般可采用簡單的循環(huán)冗余校驗(CRC)要注意Web應用系統(tǒng)中所包含的URL資源進行嚴格權限設置,這是一個最易受攻擊的區(qū)域;要利用數據庫服務器集成的權限控制措施來控制用戶的操作權限,要限制一些危險操作的進行,如刪除數據表、更改數據庫結構、執(zhí)行危險的存儲過程等。5.2.3.安全通訊目前在操作系統(tǒng)和網絡層次,已經提供了較為成熟的安全通訊技術,如果是利用已有的應用傳輸協(xié)議(如HTTP、FTP等),完全可以利用對應用安全套接字(SSL)的協(xié)議(如HTTP、SFTP等)。目前操作系統(tǒng)及相應的應用基礎平臺對這些安全協(xié)議支持十分完備,配置使用也十分簡單。如果不是利用已有應用傳輸協(xié)議,而是基于自定義的TCP/IPSocket通訊應用,基于操作系統(tǒng)、網絡環(huán)境及系統(tǒng)效率的考慮,一般可以使用網絡層的透明安全機制,即IPSec來保證數據傳輸的安全,IPSec作為業(yè)界標準協(xié)議,在各主流算法或一些散列(哈希)算法,如MD5、SHA1等算法。6

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論