- 軟件安全技術(shù)
- 陳波
- 2177字
- 2020-11-28 23:09:05
前言
近年來,國內(nèi)外由于軟件系統(tǒng)缺陷而引發(fā)的重大信息安全事件日益增多,給相關(guān)機構(gòu)和企業(yè)帶來了不良社會影響和重大經(jīng)濟損失。重視軟件安全已是《國家網(wǎng)絡(luò)空間安全戰(zhàn)略》中明確的戰(zhàn)略任務(wù)。要實現(xiàn)軟件安全,就必須提升軟件開發(fā)從業(yè)人員關(guān)于軟件安全開發(fā)的知識和技能,從軟件誕生的源頭著手,減少軟件安全缺陷與漏洞,從而提高軟件運行的安全性。
目前,關(guān)于軟件安全的書籍不多,適合于普通高校本科專業(yè)的教材也很少。本書作為江蘇省“十三五”高等學校重點教材(新編)、江蘇省高等教育教學改革重點課題(2015JSJG034)、江蘇省教育科學十二五規(guī)劃重點資助課題:泛在知識環(huán)境下的大學生信息安全素養(yǎng)教育——培養(yǎng)體系及課程化實踐、南京師范大學精品資源共享課“軟件安全”建設(shè)項目及南京師范大學“信息安全素養(yǎng)與軟件工程實踐創(chuàng)新教學團隊”建設(shè)項目的成果,歷經(jīng)4年多編寫完成,講義幾易其稿。
本書遵循《高等學校信息安全專業(yè)指導(dǎo)性專業(yè)規(guī)范》,全面梳理了國內(nèi)外軟件安全開發(fā)最佳實踐,跟蹤研究安全開發(fā)理論發(fā)展,匯集國內(nèi)諸多專家學者智慧,并汲取軟件漏洞分析經(jīng)驗,全面介紹了在軟件開發(fā)過程中從根本上提高軟件安全性的基本技術(shù),用以培養(yǎng)軟件開發(fā)人員的安全開發(fā)意識,增強對軟件安全威脅的認識,提高安全開發(fā)水平,提升IT產(chǎn)品和軟件系統(tǒng)的抗攻擊能力。
本書在編寫中力求體現(xiàn)以下三大特色。
1.知識結(jié)構(gòu)系統(tǒng),內(nèi)容全面
本書內(nèi)容結(jié)構(gòu)如圖1所示,分為四大部分,共14章。
第1部分為軟件安全概述,分別介紹軟件安全的重要性、軟件面臨的三大類安全威脅、軟件安全的概念及軟件安全的研究內(nèi)容。
第2部分為軟件安全開發(fā),首先用3章的篇幅分別介紹了軟件漏洞概述、Windows系統(tǒng)典型漏洞分析和Web漏洞分析,接著,用6章的篇幅介紹了軟件安全開發(fā)模型、軟件安全需求分析、軟件安全設(shè)計、軟件安全編碼、軟件安全測試及軟件安全部署等軟件安全開發(fā)生命周期每一個環(huán)節(jié)中的安全技術(shù)。
軟件安全開發(fā)是一種系統(tǒng)化的應(yīng)用安全解決方法,它將一系列安全活動、安全管理實踐和安全開發(fā)工具有機地結(jié)合在一起,在整個軟件開發(fā)生命周期中,貫徹安全開發(fā)的思想,從源頭著手,減少軟件安全缺陷與漏洞,從而提高軟件運行的安全性。與軟件運行階段解決安全問題相比,在軟件開發(fā)階段考慮安全問題更有效、更經(jīng)濟。該部分同時較為全面地分析了軟件安全開發(fā)最新理論研究成果和產(chǎn)業(yè)界的最佳實踐經(jīng)驗。
第3部分為惡意代碼防護,用兩章的篇幅分別介紹了計算機啟動過程、程序的生成和執(zhí)行、PE文件和程序逆向分析等惡意代碼分析常用的基本技術(shù),以及惡意代碼法律防治措施和技術(shù)防治技術(shù)。
第4部分為軟件侵權(quán)保護,用兩章的篇幅分別介紹了開源軟件及其安全性,以及軟件知識產(chǎn)權(quán)法律保護和技術(shù)保護措施,包括云環(huán)境下軟件版權(quán)保護的新技術(shù)。

圖1 本書內(nèi)容結(jié)構(gòu)
2.理論實踐結(jié)合,案例豐富
本書注重理論與實踐結(jié)合,通過對19個案例的分析、工具介紹等方式,幫助讀者更好地掌握軟件安全開發(fā)、惡意代碼防治及軟件版權(quán)保護等關(guān)鍵技術(shù)。
【案例1】零日攻擊、網(wǎng)絡(luò)戰(zhàn)與軟件安全
【案例2-1】白帽黑客的罪與罰
【案例2-2】阿里巴巴月餅門
【案例3】Windows安全漏洞保護技術(shù)應(yīng)用
【案例4-1】SQL注入漏洞源代碼層分析
【案例4-2】XSS漏洞源代碼層分析
【案例5】Web應(yīng)用漏洞消減模型設(shè)計
【案例6】一個在線學習系統(tǒng)的安全需求分析
【案例7】對一個簡單的Web應(yīng)用系統(tǒng)進行威脅建模
【案例8】基于OpenSSL的C/S安全通信程序
【案例9】Web應(yīng)用安全測試與安全評估
【案例10】SSL/TLS協(xié)議的安全實現(xiàn)與安全部署
【案例11-1】構(gòu)造一個PE格式的可執(zhí)行文件
【案例11-2】OllyDbg逆向分析應(yīng)用
【案例11-3】IDA逆向分析應(yīng)用
【案例12】WannaCry勒索軟件分析
【案例13】主流開源許可證應(yīng)用分析
【案例14-1】對iOS系統(tǒng)越獄行為的分析
【案例14-2】.NET平臺下的軟件版權(quán)保護
3.編寫體例創(chuàng)新,引導(dǎo)思維
本書注重學習者理性思維引導(dǎo)。按照建構(gòu)主義的學習理論,學習者作為學習的主體,應(yīng)在客觀環(huán)境(這里指教材內(nèi)容)的交互過程中構(gòu)建自己的知識結(jié)構(gòu)。教學者應(yīng)當引導(dǎo)學習者在學習和實踐過程中探索其中帶規(guī)律性的認識,將感性認識升華到理性高度,只有這樣學習者才能在今后的實踐中舉一反三,才能有創(chuàng)新和發(fā)展。為此,本書在每一章節(jié)的內(nèi)容組織上進行了創(chuàng)新,以引導(dǎo)學習者的思維,如圖2所示。

圖2 本書內(nèi)容組織
本書知識編排體系也為教師有效地組織課堂教學提供了便利,教師可以根據(jù)教材資源,對學習者進行問題引導(dǎo)、疑難精講、質(zhì)疑點撥、檢測評估。
本書由陳波和于泠執(zhí)筆完成。于浩佳、陳思遠、劉蓉、張敬然、麻益通、孫銘揚也參與完成了資料整理、部分圖表繪制等工作。本書在寫作過程中查閱和參考了大量的文獻和資料,限于篇幅,未能在書后的參考文獻中全部列出,在此一并致謝。本書的完成也要感謝機械工業(yè)出版社的郝建偉編輯一直以來對作者的指導(dǎo)和支持。
本書可作為信息安全、計算機和軟件工程等專業(yè)的教材,也適用于軟件開發(fā)人員、軟件架構(gòu)師、軟件測試等從業(yè)人員,還可供注冊軟件生命周期安全師(Certified Secure Software Lifecycle Professional,CSSLP)、注冊軟件安全專業(yè)人員(Certified Secure Software Professional,CWASP CSSP)、注冊信息安全專業(yè)人員(Certified Information Security Profes sional,CISP),以及計算機軟件開發(fā)人員或編程愛好者參考和使用。
由于編者水平有限,書中難免有疏漏之處,懇請廣大讀者批評指正。作者為了讓讀者能夠直接訪問相關(guān)資源進行學習和了解,在書中加入了大量鏈接,雖然已對鏈接地址經(jīng)過認真確認,但是可能由于網(wǎng)站的變化而不能訪問,請予諒解。讀者在閱讀本書的過程中若有疑問,也歡迎與作者聯(lián)系,電子郵箱是:SecLab@163.com。
編者
- Django+Vue.js商城項目實戰(zhàn)
- Java程序設(shè)計實戰(zhàn)教程
- Delphi程序設(shè)計基礎(chǔ):教程、實驗、習題
- Rust實戰(zhàn)
- 深入實踐Spring Boot
- Hands-On Automation Testing with Java for Beginners
- 基于ARM Cortex-M4F內(nèi)核的MSP432 MCU開發(fā)實踐
- 移動增值應(yīng)用開發(fā)技術(shù)導(dǎo)論
- 運維前線:一線運維專家的運維方法、技巧與實踐
- Python趣味編程與精彩實例
- C++ System Programming Cookbook
- Visual Basic程序設(shè)計全程指南
- Arduino電子設(shè)計實戰(zhàn)指南:零基礎(chǔ)篇
- Visual C++程序設(shè)計與項目實踐
- 軟件測試分析與實踐