999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

敏捷開發模式下的SDL實踐淺析

2018-12-21 17:50:32鄧君華李葉飛姜麗麗
軟件 2018年10期
關鍵詞:設計

楊 穎,徐 超,鄧君華,李葉飛,姜麗麗

?

敏捷開發模式下的SDL實踐淺析

楊 穎1,徐 超2,鄧君華2,李葉飛1,姜麗麗1

(1. 江蘇方天電力技術有限公司,江蘇 南京 210000; 2. 國網江蘇省電力有限公司電力科學研究院,江蘇 南京 210000 )

DevOps理念旨在將Ops(運維)融入到敏捷開發模式之中,經過多年的探索與磨合,形成了一些企業特色的融合模式,但未形成通用方案。隨著2017年DevSecOps理念相繼出現,促使Sec(安全)也要融入到敏捷開發模式。當前安全融入傳統開發模式的典型理論是安全開發生命周期管控(Security Development Lifecycle,下文簡稱:SDL)。

信息安全;計算機;敏捷開發

0 引言

敏捷模式下SDL的生根發芽是如何進行的呢?傳統的SDL開發流程包括了從可行性分析、需求分析到軟件設計,再到編碼實現、黑盒測試和白盒測試,最后上線試運行、正式上線,然后移交維護[1]。而對于安全的軟件開發,最重要的是在軟件開發周期中增加了與軟件安全相關的需求說明、確認計劃、軟件確認[2],在開發周期的每個階段都需要評估風險、驗證措施有效性、確認整改到位。安全的軟件開發階段主要包括:

(1)編寫軟件安全需求說明書。描述軟件系統的安全功能,以及完整的軟件安全的總體要求。

(2)編寫軟件安全確認計劃書。根據軟件安全需求說明書編寫軟件安全確認計劃。

(3)軟件設計和開發。包括軟件架構設計、概要設計及詳細設計、測試案例、測試計劃編寫,并根據設計文檔進行代碼編程。

(4)軟件系統與硬件設備集成。

(5)軟件與硬件集成測試和修改。保證軟件系統與硬件設備兼容并能夠滿足軟件安全需求。

(6)軟件安全確認。

下面我們列舉四個企業SDL的建設案例,說明這些企業建設的重點和存在的問題:

企業甲:偏重“安全需求”管控,梳理關鍵應用典型業務場景,通過威脅建模及威脅資源庫相結合方式,構建安全需求庫、安全設計庫等一系列資源庫。在使用過程中,通過快速索引安全需求,導出安全需求及安全設計方案[3]。但是,安全管控流程終止在安全編碼階段,安全測試由不同角色負責,無法與安全設計形成統一的測試用例,并且缺乏測試經驗的積累,采用傳統的滲透測試或眾測進行“雙盲”測試。流程不完整,技術措施覆蓋度不夠,無有效的考量指標。

企業乙:偏重“安全設計”管控,依據行業標準、國際標準以及內部標準,導出安全需求,針對全量安全需求進行詳細安全設計[4]。如:業務流程安全設計、系統技術架構安全設計、承載環境安全架構設計及網絡安全架構設計。但是,無整體管控流程控制,安全需求一次性導出,技術措施不具備靈活性,人員技能不足無法較好地使用安全設計。

企業丙:偏重“安全編碼”管控,針對具體威脅場景程撰寫安全設計規范、安全編碼規范,并根據規范定制安全組件(JAR包,SDK,代碼參考等),減少安全人員與開發人員的溝通成本,直接調用安全組件相應接口滿足安全規范設計要求[6]。但是,無整體管控流程控制,威脅場景及安全組件缺少評價機制和閉環優化機制,導致安全設計“管得了一時管不了一世”。

企業丁:偏重“安全測試”管控,采用業務流程安全分析方法盡量識別出可能存在的威脅,針對識別出的威脅構建安全測試用例,嚴格把控測試過程并形成大量測試指南及測試工具集。但是無全局管控流程,無安全需求及安全設計技術措施,安全測試發現問題反復出現,消耗大量安全測試成本,治標不治本。

1 造成以上企業“偏科”的現狀可以總結為如下主要原因:

(1)應用開發整體安全管控流程復雜,缺少流程自動化平臺支撐且與現有流程的不兼容導致很難有效管控;

(2)企業缺少安全管控所需的知識庫,如:安全威脅庫,安全需求庫、安全設計庫、安全組件庫、安全用例庫及安全加固知識庫等必要的積累,效率和落地性成為阻力;

(3)企業缺少專業的安全開發管控專業人才,無法與業務人員、開發人員、運維人員及管理層進行有效溝通,內部協作模式無法形成;

(4)企業缺少對安全活動評價及審計能力,導致針對開展的安全活動無法確定實施效果及進行有效改進,最終演變成走形式[7]。

我們還沒搞定傳統開發模式下的SDL,DevOps理念已經融入到敏捷開發模式中,持續交付與集成部署給SDL實踐帶來了新的挑戰。

2 那么如何將SDL與敏捷開發模式有效結合呢?

從傳統的瀑布開發模式到敏捷開發模式,其實是預設性到適應性的轉變,瀑布式開發的特點是:文檔驅動,線性開發,開發前期準備時間長,那么安全團隊有充分的時間將安全活動提前介入,進行有效管控。而在敏捷式開發中一切都“快”了起來,多角色在持續集成的環境下,基于可靠的工具鏈,快速地迭代著。那么,SDL只能快起來才能融入敏捷開發模式[8]。開篇提及的四個失敗原因其實就是成功的關鍵要素:

(1)流程自動化平臺支撐且與現有流程具有良好的兼容性;

(2)借助瀑布開發模式下的SDL各階段成果,作為安全管控過程中的技術措施,如:安全威脅庫,安全需求庫、安全設計庫、安全組件庫、安全用例庫及安全加固知識庫。在需求階段利用安全威脅庫及安全需求庫進行場景化的安全需求推導,在設計階段利用每一類功能場景的安全設計解決方案進行安全需求實施,在開發階段利用安全組件庫推進安全編碼規范的落地,在測試階段利用安全用例庫進行安全策略的驗證和安全威脅控制點的檢查。

(3)具備安全開發管控專業人才,與敏捷開發模式中的其他角色進行有效溝通;

(4)具有安全活動評價及審計能力,確保開展的安全活動效果及進行有效改進。

除了這些通用的關鍵要素保證SDL基本運轉,更需要針對不同的企業現狀,因地制宜的進行特有要素的識別和設計,才是真正落地的關鍵。

(5)遵守安全編碼規范的要求

在項目啟動階段以及新項目組人員進場,應對項目組的開發人員進行與軟件安全相關的知識培訓,使其在之后的開發工作中盡可能的遵守安全編碼規范,避免軟件系統出現安全漏洞。

(6)配備安全專家

項目組在有條件的情況下應根據項目對安全的需求,配備一個在軟件安全領域有多年專業經驗和深刻理解的資深程序員[9]。安全專家的主要職責包括:

在開發安全敏感度非常高的用戶故事時和工程師們結對編程

對工程師的代碼進行安全評審,確保代碼在提交到代碼庫前沒有安全問題

在選擇使用哪些商業代碼,開源庫,公共API等第三方庫時進行安全分析和決定

幫助QA人員測試安全敏感度高的用戶故事,確保程序安全。

除了這些以外,安全專家還應該幫助程序員熟悉安全編碼,將安全知識分享給每個程序員,提高程序員的安全意識。

(7)識別高危用戶操作場景

安全專家要根據軟件需求、軟件設計等文檔,識別出高危用戶操作場景,將精力放在這些高危用戶操作場景里[10]。讓相關模塊的開發人員對這些高危用戶操作場景在安全方面加以重視。舉幾個應該標為高危用戶操作場景的例子:

包含用戶輸入選項(比如輸入框,選擇框等等)

存儲數據到數據庫

數據傳輸到外部系統

處理外部系統傳入的數據

輸出信息到外部系統和文件等。

處理驗證和認證流程

(8)應對每個高危用戶操作場景進行惡意測試

安全專家應從破壞或惡意的角度編寫一些測試用例,來防止高危用戶操作場景不產生安全漏洞。督促程序員對代碼進行安全加固。

(9)在每個用戶操作場景代碼編寫完成后要進行安全測試

在SDL模式下,每個用戶操作場景在代碼實現完成后都應該進行安全測試,安全專家可以指導QA人員根據測試案例進行功能測試和惡意測試,或利用漏洞掃描工具對代碼進行漏洞掃描,測試或掃描出的代碼問題將會退回給開發人員進行修復,修復完畢后再進行測試,這種循環可以進行多次直到沒有問題發現。

場景1:敏捷模式下快速交付

實踐:敏捷開發的價值在于及時響應需求變化,高效地組織進行軟件開發,快速交付可以工作的軟件。那么也就是說一個產品必須在一次兩周左右的迭代中完成需求到可視化產品的過程,在這個過程中通常由PO(Product Owner)制定Product Backlog,將Product Backlog拆分成N個Sprint Backlog,那么Product Backlog的導出就是安全需求導出的最佳時機,(這里建議不要先對整體Product Backlog進行安全需求分析,因為在多次迭代之后Product-Backlog會有變動,對當前迭代的Sprint Backlog進行安全需求分析即可),之后在每個迭代Sprint backlog和User story導出時利用SDL平臺快速推導出本次迭代所需的安全需求及需求對應的安全設計、安全組件和安全測試用例即可。

場景2:敏捷模式下不同的開發管控平臺

實踐:如果企業具有SDL平臺,可以快速導出安全設計及安全組件,但大部分企業開發團隊都具有自己開發管控平臺,如Jira,Redmine,Bugzilla 等工具,本次實踐是基于Confluence平臺進行安全開發流程管控,平臺知識庫積累程度較高,以標簽化的漏洞基線為核心支持快速安全需求與設計方案的索引,將導出的安全需求與Confluence平臺上User story進行融合,做到無縫銜接。

場景3:敏捷模式下持續集成

實踐:敏捷模式下都是自動部署和自動測試,安全如何與之契合,此實踐中的敏捷開發環境下的持續集成引擎是Jenkins,可以做到通過SVN代碼的版本更新情況進行源代碼的自動編譯、掃描、部署、發布。如果安全活動依舊是人工去實施,那么安全只會游離在開發流程之外。借助DevSecOps工具鏈,實現安全自動化,減少安全人員參與,避免影響敏捷開發的靈活性。在開發編碼階段利用Jenkins+FortifySCA+JIRA功能聯動進行FortifySCA自動化源代碼安全掃描及JIRA缺陷問題自動化跟蹤,在運行測試階段利用Jenkins+Jmeter+測試腳本進行API接口的自動化安全測試,利用Jenkins+ APPscan進行定時計劃的web安全掃描等,通過以上工具鏈的實踐,減少人為參與的工作量,進一步將安全開發與敏捷開發進行融合。

場景4:敏捷模式下安全考量如何開展

實踐:非敏捷模式下的安全考量都不是一個簡單的話題,本實踐的思路是不單獨設置考量環節,通過后置的安全活動進行間接考量。例如:安全需求提出的全面性和合理性考量,會在安全需求評審會中進行考量。需要引入經驗豐富的內部或外部安全專家和開發專家,能不斷以變化和最新的威脅角度審視安全需求是成功的關鍵。

3 結語

以上的實踐在開發思想上和敏捷開發是一致的,將軟件的安全需求分拆,保證每個用戶操作場景的安全,從而保證整個軟件系統的安全[11]。

國內開始重視軟件項目的安全是近兩年才開始,專業的安全領域人才稀缺。針對現狀,Gartner在2014年就提出了RASP的概念,就是將這些 實踐抽象成一種通用化的產品,該產品融合了安全編碼規范和漏洞發現,開發人員可以將RASP產品結合掃描工具在運行時對產品漏洞檢測,快速定位存在安全漏洞[12]的代碼。希望通過本文對敏捷開發的SDL介紹,對企業的項目實施能有所啟發和幫助。

[1] 王丹亭. 利用SDL Trados解決科技文本合作式翻譯一致性問題的實踐報告[D]. 北京外國語大學, 2016.

[2] 丁慶洋, 王秀利, 朱建明, 宋彪. 基于區塊鏈的信息物理融合系統的信息安全保護框架[J]. 計算機科學, 2018,45(02): 32-39.

[3] 曾程勝. 實現 Javascript-Delphi 高強度加密傳輸安全[J]. 軟件, 2018, 39(1): 173-179.

[4] 陳飛, 黃海明, 楊猛, 劉金剛. 基于SDL和OpenGL實時繪制中文字體[J]. 計算機工程與設計, 2011, 32(08): 2764-2767+2783.

[5] 江達秀, 許建龍, 孫樹森. 應用SDL及GTK+實現視頻多路回放[J]. 浙江理工大學學報, 2009, 26(06): 897-900.

[6] 王園園, 高明煜, 曾毓. 基于SDL庫的嵌入式平臺中文顯示技術研究[J]. 計算機系統應用, 2009, 18(04): 194-197.

[7] 惠子青, 劉曉燕, 朱匯龍. 基于敏捷開發增量 UML 模型的研究[J]. 軟件, 2018, 39(1): 142-146.

[8] 邱吉剛, 林孝康. 無線網絡VoIP協議的SDL實現與仿真[J]. 微計算機信息, 2006(28): 124-126+130.

[9] 朱靖宇, 楊樹堂, 薛質. 基于SDL的Mpeg-4視頻流實時解碼與回放方法[J]. 計算機應用與軟件, 2006(06): 5-7+58.

[10] 張宏亮, 李偉超. 基于SDL和MSC的通信軟件系統分析和系統設計[J]. 鄭州航空工業管理學院學報(社會科學版), 2005(04): 158-160.

[11] 潘俊, 宋國新. UML到SDL在地鐵售票機系統中的應用[J]. 華東理工大學學報, 2004(05): 552-555+570.

[12] 魏定國, 吳時霖, 黃秋波. UML與SDL結合使用的研究[J]. 小型微型計算機系統, 2003(11): 2027-2030.

Analysis of SDL Practice Under Agile Development Model

YANG Ying1, XU Chao2, DENG Jun-hua2, LI Ye-fei1, JIANG Li-li1

(1. Jiangsu Fangtian Power Technology Co., Ltd., Nanjing Jiangsu 210000; 2. State Grid Jiangsu Electric Power Co., Ltd., Electric Power Research Institute, Nanjing Jiangsu 210000)

DevOps concept is to integrate Ops (operation and maintenance) into agile development model. After years of exploration and integration, some integration mode with enterprise features has been formed, but with no general scheme. With successive emergence of DevSecOps concept in 2017, Sec (security) should be integrated into agile development mode also. At present, typical theory of integrating security into traditional development mode is Security Development Lifecycle (SDL).

Information security; Computer; Agile development

TP391

A

10.3969/j.issn.1003-6970.2018.10.039

楊穎(1981-),男,研究生,研究方向:計算機應用;鄧君華(1980-),男,研究生,研究方向:電力營銷技術支持研究;徐超(1989-),男,研究生,研究方向:電力營銷信息系統,電力營銷專業信息安全;李葉飛(1979-),男,研究生,研究方向:IT基礎架構研究;姜麗麗(1989-),女,研究生,研究方向:電力網絡與信息安全。

楊穎,徐超,鄧君華,等. 敏捷開發模式下的SDL實踐淺析[J]. 軟件,2018,39(10):203-206

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 高清无码一本到东京热| 成年A级毛片| 人人艹人人爽| 国产在线精彩视频二区| 国产特一级毛片| 亚洲婷婷在线视频| 狠狠综合久久| 国产真实乱子伦精品视手机观看| 人人爽人人爽人人片| 夜夜操天天摸| 一本久道久久综合多人| 手机永久AV在线播放| 2018日日摸夜夜添狠狠躁| 亚瑟天堂久久一区二区影院| 国产精品免费福利久久播放| 特黄日韩免费一区二区三区| 手机在线免费不卡一区二| 国产美女无遮挡免费视频网站| 欧美中文字幕一区| 手机在线国产精品| 国产乱子伦视频在线播放| 欧美一区二区三区不卡免费| 亚洲成年人网| 欧美特级AAAAAA视频免费观看| 无码精品国产VA在线观看DVD| 98精品全国免费观看视频| 亚洲第一色网站| 国产哺乳奶水91在线播放| 欧美日韩另类在线| 国产精品30p| 久久伊人操| 日韩精品成人网页视频在线| 国产精品yjizz视频网一二区| 亚洲成综合人影院在院播放| 直接黄91麻豆网站| 性激烈欧美三级在线播放| 欧美日韩动态图| 成年女人a毛片免费视频| 国产精品永久不卡免费视频| 成人免费午夜视频| 自拍中文字幕| 亚洲第一黄片大全| 欧美午夜小视频| 无码日韩精品91超碰| 欧美综合成人| 日韩无码一二三区| 无码视频国产精品一区二区| 欧美日韩中文字幕二区三区| 久久久久久久久18禁秘| 99re视频在线| 欧美精品v欧洲精品| 少妇被粗大的猛烈进出免费视频| 性欧美精品xxxx| 亚洲激情99| 日韩欧美中文字幕在线韩免费 | 国产女人在线观看| 亚洲性网站| 成人在线综合| 人妻精品久久无码区| 成人毛片在线播放| 国产无遮挡猛进猛出免费软件| 国产人人干| 综合人妻久久一区二区精品 | 色爽网免费视频| 中国美女**毛片录像在线 | 国产精品成人免费视频99| 亚洲精品第一页不卡| 国产一级在线播放| 91系列在线观看| 亚洲国产成人麻豆精品| 午夜无码一区二区三区| 国产福利在线观看精品| 99er精品视频| 精品人妻系列无码专区久久| 日韩小视频在线观看| 日韩成人免费网站| 国产一区二区福利| 亚洲欧美日韩中文字幕一区二区三区 | 国产小视频在线高清播放| 999国产精品| 久久96热在精品国产高清| 日韩欧美网址|