關(guān)于我們
書單推薦
新書推薦
|
敏捷應(yīng)用程序安全
你將在本書中學(xué)習(xí)到:在軟件開發(fā)生命周期的每一階段中加入安全措施。在計(jì)劃、需求、設(shè)計(jì)和編碼階段集成安全。在每個(gè)發(fā)布版本中加入安全測試,并將它作為團(tuán)隊(duì)發(fā)布工作中的一部分。在敏捷開發(fā)或 DevOps 環(huán)境中實(shí)現(xiàn)合規(guī)。通過共鳴、開放、透明、協(xié)作構(gòu)建高效安全的程序。
在全世界的所有組織中,敏捷開發(fā)正在成為*廣泛使用的軟件開發(fā)方法,但它通常無法和傳統(tǒng)的安全管理技術(shù)相融合。大部分安全專業(yè)技術(shù)人員的知識都跟不上敏捷開發(fā)的發(fā)展。為了將這連個(gè)領(lǐng)域打通,本書引入了幾個(gè)在敏捷開發(fā)使用的安全工具和技術(shù)。這本書由安全專家和敏捷高手編寫,本書一開始就向敏捷實(shí)踐者介紹了安全原則,同時(shí)向安全實(shí)踐者介紹了敏捷原則。作者還介紹了他們在自己的敏捷安全實(shí)踐中所遇到的問題,以及他們?nèi)绾谓鉀Q這些問題。
前言
軟件正在改變這個(gè)世界。開發(fā)者成為了新的無冕之王。物聯(lián)網(wǎng)意味著每個(gè)電燈泡中都會有一臺計(jì)算機(jī)存在。這種說法也表明軟件開發(fā)越來越占據(jù)了統(tǒng)治地位,世界上大多數(shù)人距離某臺計(jì)算機(jī)不會超過1米,在任何時(shí)候我們都生活在計(jì)算機(jī)輔助類物品或環(huán)境的影響下。但隨之而來的卻是某種危機(jī)。
在過去,安全通常是銀行業(yè)和政府系統(tǒng)才需要真正考慮的事情。但由于計(jì)算機(jī)無處不在,通過系統(tǒng)濫用的可行性增加了,從而誘發(fā)了系統(tǒng)濫用,增加了系統(tǒng)所要面對的風(fēng)險(xiǎn)。敏捷開發(fā)技術(shù)越來越被大多數(shù)組織所快速采用。通過響應(yīng)式改變以及開發(fā)成本的明顯降低,它們以一種敏捷的方式提供了理想的、能夠不斷迭代直到軟件大版本被構(gòu)建出來的標(biāo)準(zhǔn)。
但是,從歷史觀點(diǎn)來說,安全和敏捷從來不是天生的一對。在前面提到的政府、經(jīng)濟(jì)和銀行系統(tǒng)中,安全專家正在忙得不可開交,他們正在努力構(gòu)建、測試和加固這些系統(tǒng),以應(yīng)對層出不窮的各種威脅。而且,我們經(jīng)常可以在技術(shù)博客和晚間新聞中看到的最有趣、最刺激的東西,也主要集中在職業(yè)黑客團(tuán)隊(duì)所做的漏洞研究、Exploit開發(fā)和特技攻擊上。你可能聽過幾個(gè)最新的漏洞,比如心血漏洞(Heartbleed)、阻塞漏洞(Logjam)及破殼漏洞(Shellshock),也可能知道幾個(gè)能夠越獄最新iPhone和Android設(shè)備的團(tuán)隊(duì)。但除了最終出現(xiàn)的那個(gè)帶有好聽的、媒體友好名字的防御措施或方法之外,你還記得任何一個(gè)防御者或者建設(shè)者的名字嗎?安全專家在敏捷開發(fā)方面的知識和經(jīng)驗(yàn)已經(jīng)落伍了,在我們這個(gè)行業(yè)中已經(jīng)出現(xiàn)了一個(gè)驚人的鴻溝。同樣地,敏捷開發(fā)團(tuán)隊(duì)拒絕和擺脫了過去的羈絆。沒有詳細(xì)的需求說明、沒有系統(tǒng)建模、沒有傳統(tǒng)的瀑布切換和控制門。
但問題是,敏捷團(tuán)隊(duì)將洗澡水和嬰兒一起潑出去了。那些有時(shí)候既緩慢又不靈活的實(shí)踐,在過去也曾經(jīng)證明過是有價(jià)值的。它們的存在是有原因的,敏捷團(tuán)隊(duì)丟棄了它們,很容易就忽略和丟掉了它們的價(jià)值。這意味著敏捷團(tuán)隊(duì)是盡可能地不考慮安全問題。有一些敏捷實(shí)踐讓系統(tǒng)更安全,但那通常是一個(gè)意外驚喜而不是故意設(shè)計(jì)。很少有敏捷團(tuán)隊(duì)會意識到他們系統(tǒng)面臨的威脅;不理解他們正處于風(fēng)險(xiǎn)之中;不跟蹤或者不會控制這些風(fēng)險(xiǎn);對有人會攻擊他們的系統(tǒng)缺乏理解。
本書的讀者對象我們不知道你是一個(gè)敏捷團(tuán)隊(duì)的領(lǐng)導(dǎo)者,還是一個(gè)想知道更多安全知識的開發(fā)者,也可能是一個(gè)安全行業(yè)的從業(yè)者,發(fā)現(xiàn)整個(gè)開發(fā)團(tuán)隊(duì)已經(jīng)不是你曾經(jīng)認(rèn)識過的樣子,你想學(xué)習(xí)更多。這本書的目標(biāo)是針對這三種主要的讀者。敏捷開發(fā)者你活著、呼吸著,所以敏捷。你從你的Kaizen中知道你的Scrum,在你的反饋循環(huán)中進(jìn)行測試驅(qū)動(dòng)開發(fā)。無論你是不是一個(gè)Scrum大師,開發(fā)者、測試者、敏捷開發(fā)講師、產(chǎn)品的業(yè)主,還是客戶代理,你都需要理解敏捷開發(fā)的實(shí)踐和價(jià)值。本書將幫助你學(xué)習(xí)什么是安全,存在什么樣的威脅,以及安全從業(yè)者用于描述所發(fā)生的事情的語言。我們會幫助你理解如何建模威脅,度量風(fēng)險(xiǎn),從理論上構(gòu)建安全軟件,安全地安裝軟件,以及理解運(yùn)營中來自于某個(gè)在線服務(wù)的安全問題。
安全從業(yè)者無論你是否是一個(gè)風(fēng)險(xiǎn)管理者、一個(gè)信息安全專家,還是一個(gè)安全運(yùn)營分析家,你應(yīng)該理解安全。你可能關(guān)心如何使用在線服務(wù),無時(shí)不刻不在思考各種威脅、風(fēng)險(xiǎn)以及緩解措施,你甚至發(fā)現(xiàn)過新漏洞并利用它們進(jìn)行過提權(quán)。這本書會幫助你理解敏捷團(tuán)隊(duì)是如何真正對軟件進(jìn)行開發(fā)的,這個(gè)地球上的這類團(tuán)隊(duì)正在談?wù)撌裁,以及他們口中的沖刺和故事是什么。你將學(xué)習(xí)查看chaos中的模板,以及幫助你和團(tuán)隊(duì)進(jìn)行交流并影響他們。本書將告訴你可以從哪些地方介入或者做出努力,這也是對一個(gè)敏捷團(tuán)隊(duì)最具價(jià)值和最能發(fā)揮作用的地方。敏捷安全從業(yè)者從風(fēng)險(xiǎn)到?jīng)_刺,你無一不知。無論你是一個(gè)幫助團(tuán)隊(duì)做好安全的工具創(chuàng)建者,還是一個(gè)負(fù)責(zé)對團(tuán)隊(duì)提建議的顧問,本書都適合你。拋開本書的主要內(nèi)容,去理解本書作者的意圖,也就是正在增長的良好實(shí)踐。本書將有助于了解在你領(lǐng)域內(nèi)的其他人,以及我們正在組織中處理這個(gè)問題時(shí)出現(xiàn)的想法和概念。這會提高、擴(kuò)展你對相關(guān)域的理解,以及為你提供一個(gè)繼續(xù)研究學(xué)習(xí)的目標(biāo)。
本書主要內(nèi)容你可以按從頭到尾的順序來逐章閱讀本書。實(shí)際上我們也推薦你以這種方式閱讀;我們努力編寫本書,希望在每一章都包含對所有讀者有用的內(nèi)容,哪怕一個(gè)小小的冷幽默或趣聞軼事!但實(shí)際上,我們也認(rèn)為有的章對你來說會比其他章更有用。
大致將本書分成三個(gè)部分。
第一部分:基礎(chǔ)敏捷和安全是非常寬的領(lǐng)域,我們不知道你掌握了什么。尤其當(dāng)你是來自其中某一個(gè)領(lǐng)域時(shí),你可能不知道另一個(gè)領(lǐng)域的知識。如果你是敏捷專家,我們建議你先閱讀第1章,安全概述,以確保你具備基本的安全知識。如果你不是,或者你還剛剛開始接觸敏捷開發(fā),那么在我們開始介紹敏捷之前,我們建議你閱讀第2章,敏捷促進(jìn)者。這一章介紹了我們認(rèn)為的基本實(shí)踐是什么,以及我們將從什么樣的基礎(chǔ)開始。第3章,迎接敏捷革命的到來,介紹敏捷軟件開發(fā)的歷史,以及它的不同實(shí)現(xiàn)方式。對于安全專家和沒有敏捷開發(fā)經(jīng)驗(yàn)的人來說,這也是他們最感興趣的部分。
第二部分:敏捷和安全我們建議每個(gè)人都開始閱讀第4章,在現(xiàn)有的敏捷生命周期中工作。在這一章中,試圖將我們想到的安全實(shí)踐和真實(shí)的敏捷開發(fā)生命周期聯(lián)系到一起,同時(shí)解釋說明為什么要將它們聯(lián)系起來。第5~7章,學(xué)習(xí)需求和漏洞管理、風(fēng)險(xiǎn)管理,這些更全面的實(shí)踐將從一個(gè)方面支撐起開發(fā)中的產(chǎn)品管理和總體方案。第8~13章包括了安全軟件開發(fā)生命周期的各個(gè)組成部分,從評估、代碼評審、測試到運(yùn)行安全。
第三部分:最后組裝第14章,介紹合規(guī)性,以及它和安全有何關(guān)系,如何在敏捷開發(fā)或DevOps環(huán)境中實(shí)現(xiàn)合規(guī)。第15章,介紹安全的文化體系。沒錯(cuò),你可以實(shí)現(xiàn)本書介紹的所有實(shí)踐,前面的章節(jié)介紹了你能夠使這些改變持續(xù)的各種工具。然而敏捷開發(fā)都是關(guān)于人的,有效的安全持續(xù)也是這樣:安全其實(shí)是改變內(nèi)心的文化,這一章會提供一些我們在真實(shí)世界中找到的有效案例。
對于一個(gè)公司,要改變它的安全性,它需要安全專家和開發(fā)人員相互支持和尊重,他們需要密切合作以構(gòu)建安全持續(xù)。它不僅僅是一堆工具或一系列實(shí)踐,還需要這個(gè)組織的徹底改變。第16章,介紹敏捷安全對不同的人意味著什么,并歸納出要讓團(tuán)隊(duì)敏捷和安全,我們每個(gè)人應(yīng)該干什么和不應(yīng)該干什么。
本書約定本書常用到的排版方式約定如下:斜體(Italic)表示新出現(xiàn)的術(shù)語、URL、email地址、文件名及擴(kuò)展名。等寬字體(Constant Width)在代碼清單中使用,或者在段落中用于表示程序中的對象,如變量名、函數(shù)名、數(shù)據(jù)庫、數(shù)據(jù)類型,環(huán)境變量、語句和關(guān)鍵字。如果在代碼行后出現(xiàn)字符,表示這一行后面是下一行。加粗的等寬字體(Constant width bold)表示命令或需要用戶輸入的其他文本。傾斜的等寬字體(Constant Width Italic)表示文本應(yīng)該由用戶自己提供的內(nèi)容替換,或者根據(jù)上下文改變。OReilly SafariSafari(過去叫Safari圖書在線)是一個(gè)針對企業(yè)、政府、教育機(jī)構(gòu)和個(gè)人的會員制培訓(xùn)和參考平臺。成為會員將可以從數(shù)據(jù)庫中查找和瀏覽數(shù)以千計(jì)的圖書、培訓(xùn)視頻、學(xué)習(xí)路徑、交互式教程和組織好的播放列表,這些資料的來源遍及250個(gè)出版社,如OReilly Media、Harvard Business Review、Prentice Hall Professional、Addison-Wesley Professional、Microsoft Press、Sams、Que、Peachpit Press、Adobe、Focal Press、Cisco Press、John Wiley & Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt, Adobe Press、FT Press、Apress、Manning、New Riders、McGraw-Hill、Jones & Bartlett、Course Technology等。更多信息,請?jiān)L問:http://oreilly.com/safari。
聯(lián)系我們請把你對本書的意見和疑問發(fā)給出版社:美國:OReilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472中國:北京市西城區(qū)西直門南大街2號成銘大廈C座807室(100035)奧萊利技術(shù)咨詢(北京)有限公司本書有一個(gè)專屬網(wǎng)頁,我們會在上面列出勘誤、示例,以及其他附加信息。你可以通過以下地址訪問它:http://bit.ly/agile-application-security。如果是評論或者討論和本書相關(guān)的技術(shù)問題,那么請發(fā)郵件到bookquestions@oreilly.com。關(guān)于我們出版社的其他書籍、教程、會議和新聞,請?jiān)L問我們的網(wǎng)站http://www.oreilly.com。我們的Facebook:http://facebook.com/oreilly。我們的Twitter:http://twitter.com/oreillymedia。我們的YouTube:http://www.youtube.com/oreillymedia。
致謝首先要感謝三位了不起的編輯:Courtney Allen、Virgnia Wilson和Nan Barber。沒有你們和其他OReilly團(tuán)隊(duì)的成員,我們無法完成本書。我們還要感謝技術(shù)評審的耐心和真知灼見,分別是:Ben Allen、Geoff Kratz、Pete McBreen、Kelly Shortridge和Nenad Stojanovsk。最后還要感謝我們的朋友和家人,忍受我們再次從事這樣一個(gè)瘋狂的項(xiàng)目。
Laura Bell,SafeStack創(chuàng)始人和首席顧問。Michael Brunton-Spall,公共數(shù)字服務(wù)部的技術(shù)及運(yùn)營副主任。Rich Smith,Duo的研發(fā)總監(jiān)。
你還可能感興趣
我要評論
|