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

軟件安全課程教學方法探究

2020-05-25 02:30:57傅建明彭國軍嚴飛
軟件導刊 2020年2期
關鍵詞:實踐教學教學方法

傅建明 彭國軍 嚴飛

摘 要:從軟件安全的基礎知識、工具實踐、編程實踐3方面介紹課程教學思路。理論教學采用循序漸進的思路講授軟件安全相關知識點,同時配合工具實踐使學生加深對理論知識的理解,熟練掌握工具,最后學生通過編程實踐提升動手實踐能力,培養軟件安全的攻防博弈思維。近五年的教學實踐證實了該方法的有效性,可提升學生的代碼逆向分析能力與漏洞機理驗證能力。

關鍵詞:信息安全;軟件安全;教學方法;實踐教學

DOI:10. 11907/rjdk. 192205 開放科學(資源服務)標識碼(OSID):

中圖分類號:G434 文獻標識碼:A 文章編號:1672-7800(2020)002-0226-04

英標:Research on Teaching Methods of the Course of Software Security

英作:FU Jian-ming, PENG Guo-jun, YAN Fei

英單:(School of Cyber Science and Engineering,Wuhan University,Wuhan 430072,China)

Abstract:This paper introduces the teaching ideas from three aspects including basic knowledge of software security, tool practice and programming practice. The knowledge of the course of software security has been presented from six stages step by step, and deep understanding of software security has been obtained by a way of tool practices. Finally, it is proved that code practice improves assimilation of software security, and students ability of code reverse analysis and vulnerability mechanism verification.

Key Words:information security;software security;teaching method; practice teaching

0 引言

目前,軟件安全正面臨嚴峻挑戰。一方面,隨著軟件規模的不斷擴大,軟件的開發、集成與演化變得越來越復雜,導致軟件產品在推出時總會含有很多已知或未知缺陷。另一方面,軟件運行與開發環境已從傳統的靜態封閉狀態轉變為互聯網環境下的動態開放狀態,因此越來越多軟件漏洞和缺陷被發現。另外APT(Advanced Persistent Threat)攻擊逐漸利益化、集團化與專業化,觸及國家各類重要的信息系統,攻擊手段防不勝防,對國家信息安全造成了巨大威脅。習近平總書記提出:“沒有網絡安全,就沒有國家安全”。因此,作為本科階段的軟件安全課程,本科生通過該課程學習可以更好地理解軟件缺陷,及時應對軟件威脅,如軟件漏洞、惡意代碼、勒索軟件等。

在信息安全專業建設初期,計算機病毒[1]、網絡安全是兩門基礎安全課程。其中,計算機病毒課主要講授計算機威脅、計算機病毒機理,以及計算機病毒防御與檢測等。在近六年的教學中,發現學生可以基本理解計算機病毒機理,但仍缺乏對計算機病毒的全面認識,加上計算機病毒植入與遠程感染沒有列入教學規范中,為此,2012年結合信息安全教學指導委員會制定的信息安全專業規范[2],我院將計算機病毒課程更名為軟件安全課程[3],同時對軟件缺陷與漏洞相關知識進行了擴充。

本文主要從軟件安全基礎知識、工具實踐、編程實踐3方面介紹課程教學思路,如圖1所示。

1 相關文獻綜述

針對信息安全與網絡空間安全教學的研究文獻有很多。如文獻[4]概述了國內外信息安全專業建設現狀和不足,介紹了網絡安全管理、系統安全工程、應用安全服務3個專業方向及其課程設置;文獻[5]探索了信息安全專業的知識體系和能力體系;文獻[6]討論了網絡空間安全的內涵和外延,比較國內外網絡空間安全人才培養體系,從國家統籌規劃、學歷教育、職業培訓與認證、專才發現與培養等4個方面給出了人才培養規劃建議;文獻[7]從自然語言處理角度分析近20年的網絡安全教學相關論文,并利用共現與頻率構建知識圖譜。以上研究可從整體上為信息安全教學規劃提供指導。

針對單個課程教學及其改革的文獻也有很多,包括信息內容安全、計算機病毒、網絡安全、操作系統、信息系統安全等課程。如文獻[8]給出信息內容的定義,討論了信息內容獲取、識別、控制與阻斷技術;文獻[9]首次從病毒編寫角度看待病毒機理,尋找病毒檢測與防御方法;文獻[10]對網絡安全課程內容及教學方法進行優化,如將密碼學、操作系統安全、數據庫安全等內容分離為其它課程,實時更新教學內容,采用案例教學、啟發式教學等改進教學方法,并取得了較好效果;文獻[11]采用科研課題、互助小組、信息安全競賽、系統設計等多種方式將學生與多種教學內容有效組織起來,從而優化教學效果;文獻[12]從計算機病毒、木馬、進程監控等方面對操作系統教學內容作進一步深化,利用課外實踐和競賽提高學生學習興趣;文獻[13]為適應軍隊對信息安全應用型高級工程人才的需求,采用CDIO工程教育理念,構建工程型信息系統安全課程教學體系。以上文獻可為軟件安全課程教學規劃與實踐提供支持,但尚沒有單獨的有關軟件安全教學改革相關研究。因此,本文在計算機病毒課程基礎上,闡述軟件安全課程知識點和實踐大綱構建過程。

2 軟件安全基礎知識

高級語言程序設計、編譯原理、操作系統、密碼學、計算機網絡等都是軟件安全課程的基礎,同時軟件安全課程與網絡安全、內容安全、信息系統安全等課程可以實現無縫聯接。從設備、數據、服務、用戶的角度看,用戶通過服務實現數據操縱,相關服務都是通過軟件實現的。因此,軟件安全是信息安全的基礎課程。

軟件安全涉及的知識點非常多,圖2從6個方面介紹教學內容,每個板塊序號表示授課順序。攻擊者利用物理植入、誘騙植入、漏洞植入等方式給計算機安裝各種惡意代碼,但不管是惡意代碼還是正常代碼都需遵循基本代碼格式。其中,基本結構部分從系統角度介紹磁盤分區、文件系統與內存系統,接著是可執行文件結構,如PE結構、ELF結構等,最后是可執行代碼在內存中操作的棧和堆。網絡攻防戰場已從過去的磁盤逐漸延伸到內存,因此需要了解軟件代碼在內存的布局以及內存頁管理。教學時要注意32位系統和64位系統的差異,包括可執行文件結構、寄存器、函數調用方式等。

軟件安全威脅主要包括兩種:一種是具有完整格式的惡意代碼,如計算機病毒、網絡蠕蟲、特洛伊木馬、后門、Rootkit、流氓軟件、勒索軟件、廣告軟件等;另一種是因軟件缺陷或漏洞而引入的代碼片斷(Code snippet),如Shellcode、ROP(Returned-Oriented Programming)等。惡意代碼威脅如今已從地下隱藏方式發展為公開方式,如勒索軟件。惡意代碼部分主要講授惡意代碼的功能實現、威脅持續保持、安全檢測對抗、安全工具兼容及用戶免打擾等內容,相關檢測技術包括特征值檢測、啟發式掃描、主動防御、虛擬機檢測、云查殺、蜜罐等。講授時需要區分檢測技術動態性與靜態性、誤報與漏報以及對不同未知惡意代碼的檢測能力等。

漏洞威脅是目前網絡攻防的焦點,攻擊者利用未知漏洞可以在對方不知情的情況下安裝惡意代碼,而防御者可以提前發現漏洞,做到未雨綢繆。該部分主要介紹棧溢出、堆溢出、空指針、釋放后引用、整數/浮點數溢出、競爭條件缺陷、格式化輸出缺陷等安全缺陷引發的數據劫持與控制劫持,并講授缺陷與漏洞原理、可能的代碼模式,以及漏洞危害、緩解措施等。講授時可以結合文獻[14]、[15]中的源碼進行,以增強學生的感性認識。由于攻擊者會利用這些缺陷和漏洞設計用于攻擊的POC(Proof of Code),其典型代碼包括Shellcode和ROP兩類,講授這類代碼的特征以及可能的檢測點。

漏洞防御是目前學術界研究的熱點,企業界稱為黑客攻擊防御。在主要采用的防御方法中,混淆加殼主要是對抗代碼分析,而訪問控制是從資源角度約束用戶訪問,降低攻擊危害。其它防御方法包括DEP(Data Execution Prevention)、GS、ASLR(Address Space Layout Randomization)、safeSEH(safe Structured Exception Handling)、CFG(Control Flow Guard)、CIG(Code Integrity Guard)、ACG(Arbitrary Code Guard)等,其主要目的是阻止非授權的外部模塊、外部代碼、內部重構代碼執行等。

漏洞分析包括源代碼設計、靜態分析、動態分析、逆向分析、Fuzzing、代碼切片、符號執行、污點傳播等。另外,Web安全內容建議在網絡安全課程中進行講授,包括SQL注入、XSS、CSRF、點擊劫持、目錄遍歷、文件上傳等。

3 軟件安全工具實踐

軟件安全課程具有很強的實踐性,通過掌握相關軟件安全工具,便于理解上述基礎知識。微軟工具套件[16]提供對磁盤、文件、進程、注冊表與網絡的監視,表1給出了課程教學中的常用工具。

為了更好地理解基礎知識,本文設計了一組實驗驗證上述知識點,實驗課程見表2。其中,實驗1考查學生利用工具查看程序加載的模塊鏈,了解數字簽名對軟件的保護作用;實驗2考查學生利用Winhex對磁盤分區,以及文件系統結構的理解程度;實驗3利用OD等工具查看軟件調用外部模塊的方式,重點是IAT與EAT的關聯;實驗4利用Winhex等工具學習內存頁管理與頁權限分配;實驗5考查學生手工注入代碼的能力;實驗6、7考查學生手動分析木馬與安全軟件的能力;實驗8使學生加深對堆和棧的認識;實驗9認識編譯器安全指示的作用及其對軟件的影響;實驗10是metasploit測試。

4 軟件安全編程實踐

軟件安全編程實踐重在將軟件安全知識融入到編程中,以提高學生的編程能力,并使其更好地理解安全威脅,增強安全防御能力。表3給出了軟件安全編程實例。其中,實驗1考查學生對磁盤分區以及文件系統關聯數據結構的應用能力;實驗2對給定文件進行感染;實驗3學習Hooking的實現,并培養學生跨進程的內存訪問能力;實驗4模仿木馬對系統資源的訪問與網絡交互;實驗5模仿安全工具對系統資源的訪問監視與訪問控制,鍛煉學生設計訪問控制策略的能力;實驗6模仿對棧(堆)的利用;實驗7模仿安全工具對黑客攻擊的檢測。編程實踐通過模擬攻擊者的漏洞利用過程以及防御者的資源監管過程,提高學生的攻防博弈思維能力。

5 結語

本文主要從軟件安全的基礎知識、工具實踐、編程實踐3方面介紹課程教學思路。理論教學分為基本結構、惡意代碼解析、惡意代碼檢測、漏洞實例分析、漏洞攻擊檢測、漏洞分析技術6個階段,采用循序漸進的思路講授軟件安全相關知識點,同時配合工具實踐使學生加深對理論知識的理解,熟練掌握工具,最后通過編程實踐提高動手能力。近五年的教學實踐證實了該方法的有效性,通過對軟件運行環境、代碼文件結構與內存結構、代碼與操作系統接口等內容的綜合學習及實踐,提升學生的代碼逆向分析能力和漏洞機理驗證能力,為培養其軟件安全的攻防博弈思維奠定了堅實基礎。如何將軟件安全課程知識拓寬到多平臺、多系統上,將是未來的研究方向。

參考文獻:

[1] 傅建明. 計算機病毒分析與對抗[M]. 武漢:武漢大學出版社, 2009.

[2] 教育部高等學校. 高等學校信息安全專業指導性專業規范[M]. 北京:清華大學出版社,2014.

[3] 彭國軍,傅建明,梁玉. 軟件安全[M]. 武漢:武漢大學出版社, 2015.

[4] 王練,陳龍. 信息安全專業課程體系設置的探討[J]. 計算機教育,2009(24):108-110.

[5] 杜瑞穎,張煥國,王麗娜,等. 本科信息安全專業課程體系研究[J].? 計算機教育,2011,150(18):1-3.

[6] 張宏莉,于海寧,翟健宏,等. 網絡空間安全人才培養的規劃建議[J]. 網絡與信息安全學報,2016, 2(3):1-9.

[7] 努爾布力. 國內網絡安全教學研究脈絡和現狀的知識圖譜分析(1997~2016)[J]. 伊犁師范學院學報(自然科學版),2016,10(3):86-92.

[8] 張宏莉,翟健宏,胡銘曾. 信息內容安全的主要技術及國內外對比[J]. 計算機教育,2005(1):74-76.

[9] 彭國軍,張煥國. 關于計算機病毒教學的幾點建議[J]. 計算機教育,2006(7):30-31.

[10] 周由勝,羅文俊,陳龍.? 《網絡安全》課程教學創新初探[J]. 現代計算機,2012(3):35-37.

[11] 周藝華,楊宇光,侍偉敏. 基于融合機制的計算機網絡安全教學模式探索[J]. 計算機教育,2016(11):20-23.

[12] 唐作其,葉潔,武彤,等. 面向信息安全專業的操作系統教學改革[J].? 計算機教育,2012(1):83-85.

[13] 陳萍,于晗,趙敏. 面向卓越工程師培養的“信息系統安全”課程建設[J]. 計算機工程與科學,2014,36(s2):49-51.

[14] 塞克德盧濤. C和C++安全編碼 :Secure coding in C and C++[M]. 北京:機械工業出版社,2014.

[15] CWE. 2011 CWE/SANS top 25 most dangerous software errors[EB/OL]. http://cwe.mitre.org/top25/index.html.

[16] MICROSOFT. Windows sysinternals[EB/OL]. https://technet.microsoft.com/en-us/sysinternals/bb842062.aspx.

(責任編輯:黃 健)

猜你喜歡
實踐教學教學方法
初中英語寫作教學方法初探
甘肅教育(2020年2期)2020-09-11 08:01:42
茶學專業校企合作實踐教學探索
考試周刊(2016年79期)2016-10-13 23:35:16
《電氣工程畢業設計》 課程的教學設計
考試周刊(2016年79期)2016-10-13 23:26:02
研究型學習在傳熱學實踐教學中的應用
大學教育(2016年9期)2016-10-09 08:34:10
思想政治理論課實踐教學研究述評
大學教育(2016年9期)2016-10-09 08:17:37
高職院校商務禮儀課程教學改革探索芻議
大學教育(2016年9期)2016-10-09 08:12:01
《數據庫高級應用》教學創新方法研究
科技視界(2016年20期)2016-09-29 11:25:15
實用型中醫人才培養中慕課教學方法的探討
文言文教學方法實踐初探
中學語文(2015年21期)2015-03-01 03:52:15
初中數學教師不可忽視的幾種教學方法
散文百家(2014年11期)2014-08-21 07:17:18
主站蜘蛛池模板: 亚洲综合精品香蕉久久网| 色播五月婷婷| 伊人色天堂| 91成人精品视频| 黄色a一级视频| 国产成人亚洲无码淙合青草| 精品国产自在现线看久久| 国产00高中生在线播放| 国产精品免费福利久久播放| 国产精品永久在线| 中文毛片无遮挡播放免费| 高清无码手机在线观看| 中文字幕波多野不卡一区| 呦视频在线一区二区三区| 国产亚洲精品自在久久不卡| 国内嫩模私拍精品视频| 成人综合在线观看| 精品久久综合1区2区3区激情| 国产剧情一区二区| 最新亚洲人成无码网站欣赏网| 国产精品2| 99久久精品视香蕉蕉| 在线观看国产黄色| 久久国产精品嫖妓| 亚洲美女一区| 国产特一级毛片| 日本亚洲成高清一区二区三区| 日韩精品一区二区三区免费| 亚洲精品视频在线观看视频| a色毛片免费视频| 在线观看视频一区二区| 天天综合网亚洲网站| 沈阳少妇高潮在线| 国产欧美日韩视频一区二区三区| 在线观看网站国产| 免费无码网站| 色亚洲成人| 成年看免费观看视频拍拍| 夜夜高潮夜夜爽国产伦精品| 国产视频a| 久视频免费精品6| 日韩精品专区免费无码aⅴ| 乱人伦视频中文字幕在线| 国产精品免费电影| 国产精品白浆在线播放| 人妻无码一区二区视频| 中文字幕无码av专区久久| 99精品一区二区免费视频| 亚洲精品自拍区在线观看| 国产精品无码制服丝袜| 亚洲成人动漫在线观看| 国产99精品久久| 午夜天堂视频| 亚洲日韩AV无码一区二区三区人| 国产麻豆aⅴ精品无码| 亚洲无码精品在线播放| 欧美精品在线观看视频| 国产成人av大片在线播放| 国产精品无码一二三视频| 亚洲有无码中文网| 男人天堂亚洲天堂| 69综合网| 久久精品一卡日本电影| av色爱 天堂网| 成人精品视频一区二区在线| 黄色a一级视频| 国产在线一区二区视频| 区国产精品搜索视频| 亚洲精品第一页不卡| 最新精品久久精品| 91在线丝袜| 国产精品极品美女自在线看免费一区二区| 欧美日韩国产精品va| 亚洲欧美在线看片AI| 99国产精品国产| 99久久精品免费看国产电影| 国产精品亚洲五月天高清| 久久黄色毛片| 毛片一区二区在线看| 在线国产资源| aⅴ免费在线观看| 国产在线第二页|