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

面向網絡空間安全專業的C/C++程序設計教學研究

2020-12-19 11:47:29姚立紅邱衛東
計算機教育 2020年1期
關鍵詞:課程教學

姚立紅,邱衛東

(上海交通大學 網絡空間安全學院,上海 200240)

0 引 言

隨著信息技術的發展以及信息化進程的推進,越來越多的各式業務通過計算機程序來實現,業界關于計算機程序開發人才的需求也愈加迫切。C/C++因其語言靈活、程序執行效率高且具有較好的可移植性等特點,一直受到程序員的青睞。在每年的程序開發語言排名中,C/C++一直位于前列,目前許多大型的軟件系統、網絡應用服務等都是使用C/C++語言開發。

為了滿足業界的人才需求,各高校在多個專業中都開設了C/C++程序設計課程,并且不斷地探索和實踐關于該課程的教學改革。到目前為止,已有很多高校教師和學者對此課程的教學形式及教學方法等進行研究和探討,提出了一些切實可行的方法和措施[1-3]。這些已有研究主要集中在如何激發學生學習興趣、提高教學成果等方面。

當前不斷有軟件系統、網絡應用服務等暴露出嚴重的安全問題,人們也為此付出了高昂的代價。這些安全問題多數是由對應程序中包含的安全漏洞引起,惡意的攻擊者利用這些漏洞非法獲取系統訪問權限,讀取或修改敏感信息,有的甚至以破壞系統為目標,這給企事業單位帶來了相當大的經濟損失,甚至造成國家層面的安全威脅。程序中存在安全漏洞的主要原因之一是程序員在編程時未將安全編碼納入考慮范疇,導致所開發的軟件包含各種安全缺陷。因此,在進行C/C++教學時,除了C/C++本身知識點的講解和實踐外,還應該重視對C/C++安全編程能力的培養,防患于未然。

1 C/C++課程教學現狀分析

1.1 C/C++編程語言的特點

C/C++是一種靈活的、移植性高的輕量級高級程序設計語言,該語言內存耗用小,缺乏如數組的邊界檢查、整數操作的溢出與截斷處理、函數調用時的實參長度檢查等一系列的代碼保護機制,若程序員不特意考慮這方面的內容,就會導致程序的安全缺陷或漏洞。

隨著我國“互聯網+”行動計劃的實施,越來越多的系統連接到公網上對外提供服務,這些系統面臨著來自各方的攻擊,系統中的安全漏洞就會逐漸被暴露并加以利用。據國家信息安全漏洞庫(CNNVD)發布的漏洞通報顯示,目前系統漏洞數量呈逐年上升態勢[4],這給企事業單位帶來了極大的安全威脅,有些甚至造成了嚴重的安全后果。

1.2 業界視角下的課程教學需求分析

國內外的一些知名企業一直將軟件的編碼質量視為產品質量的重要方面,而程序安全缺陷在很大程度上決定了產品的編碼質量,一旦程序編碼上出現嚴重的漏洞而被黑客攻擊,就會給企業帶來嚴重的損失。

業界對于程序編碼尤其C/C++編程重點關注以下幾個方面:①安全編程意識和安全編程技能的培訓,內容包括C/C++語言的安全弱點、安全漏洞的存在形式和利用方式等;②建立C/C++安全編碼規范,面向軟件工程師進行培訓,并在公司推廣該安全編碼規范;③人工代碼審計以及使用代碼審計工具,最大限度地在軟件發布前發現存在的軟件安全缺陷。

高校的網絡空間安全專業肩負著培養業界所需要的網絡空間安全人才的重任,需要在C/C++課程中進行安全編程意識教育,并注重安全編碼規范以及代碼審計等相關內容的教學。

1.3 網絡空間安全專業的C/C++課程教學現狀分析

目前各大高校網絡空間安全專業所開展的C/C++課程教學安排主要有兩種形式:一種是以大平臺的形式開展教學,將C/C++程序設計作為一門基礎課程,在相關的工科專業(如計算機、自動化、通信工程、軟件工程等)統一進行教學;另一種是在網絡空間安全專業內開設C/C++程序設計課程。

從目前了解到的情況來看,國內大部分高校的C/C++課程教學中還未融入網絡安全相關的內容,缺乏在C/C++方面的安全編碼教育。這導致網絡空間安全專業的畢業生不能很好地體現自己的專業優勢,也不能很好地滿足業界對網絡空間安全人才及其安全技能的需求。

2 面向網絡空間安全專業的C/C++教學建議

2.1 將安全編程內容融入C/C++教學

近年來,網絡空間安全專業在全國各高校相繼設立。網絡空間安全專業作為一個年輕的專業,其課程體系通常由原有計算機專業或通信專業的部分主干課程(如操作系統、編譯原理、程序設計等)和網絡空間安全的特有課程(如網絡安全管理、密碼學應用、入侵檢測系統等)組成。實際上,對于學生在網絡空間安全知識和技能的培養不能僅限于幾門直接相關的網絡空間安全專業課程,而應該在所有相關課程中加入網絡空間安全的內容,如在操作系統教學中增加專門的章節介紹操作系統的權限管理體系等安全內容,在編譯原理的課程中加入編譯器安全漏洞方面的教學內容等。

如前所述,通常軟件的安全質量在很大程度上影響了軟件漏洞的存在,直接決定了黑客攻擊系統的難度,也決定了系統的安全程度。因此在網絡空間安全專業的C/C++教學中,必須增加軟件安全編碼相關的教學內容,以全方面培養學生的專業安全技能。

2.2 跨課程的安全編碼教學

程序漏洞的存在和被利用通常具有復雜的原因,要解釋清楚一個具體的程序編碼漏洞成因,不僅涉及程序設計的知識,還可能涉及編譯原理、操作系統甚至CPU 體系結構的知識。如影響甚廣、多次造成重大網絡安全事件的緩沖區溢出漏洞就是這樣的例子。

緩沖區溢出漏洞的成因是程序員忽略了數組邊界檢查,向小塊內存區域拷入過多的內容,造成相鄰區域被意外覆蓋而導致的。從這個角度而言,預防緩沖區溢出屬于C/C++程序設計范疇。但要向學生講解緩沖區溢出漏洞的危害,就需要向學生展示和講解黑客如何利用該漏洞發起攻擊的方式和過程。緩沖區溢出漏洞利用原理和實施方式涉及程序編譯過程中的程序內存分配方式。在網絡空間安全專業的課程體系中,程序的內存分配原理主要屬于編譯原理課程的教學內容,實際系統下的程序內存布局還會牽涉到操作系統和計算機體系結構的部分內容。因此,不能僅限于傳統C/C++的教學內容進行軟件安全編碼教學,僅限于編程語言層面,無法清晰地向學生講述緩沖區溢出漏洞的根源和危害。

據權威組織統計,目前超過30%的軟件安全漏洞都由緩沖區溢出導致,網絡空間安全專業的教學中不應該忽視該部分內容。據了解,在全國的網絡空間安全課程體系中,緩沖區溢出根源、利用過程、攻擊危害及預防方式等內容處于多個課程均有部分關聯但均不負責教學的狀態。因此,對緩沖區溢出等跨課程的教學內容,需要在C/C++課程教學中綜合操作系統和編譯原理課程的相關知識進行系統化講解,以完善網絡空間安全專業學生的知識體系。

2.3 安全編碼規范教學

作為網絡空間安全專業的主干課程,C/C++教學不僅要培養學生如何進行軟件編程的能力,也要培養學生如何寫出高安全質量、不含或者少含安全漏洞的代碼。軟件編程具有非常強的實踐性,編寫高安全質量的軟件不僅需要網絡空間安全理念支持,還需要已有知識和經驗的積累。計算機應急響應組(CERT)制定的C/C++語言安全編碼規則是資深程序員和信息安全專家的最佳安全編程實踐的總結,定義了字符串安全操作、內存管理操作、文件操作、整數安全、禁用危險函數等方面的安全編碼規范[5]。

從業界網絡安全實踐來看,遵守C/C++語言安全編碼規范可以在很大程度上減少程序編碼方面的漏洞,減少程序被黑客攻擊的可能,對編寫高安全質量的軟件具有很好的實踐效果。網絡空間安全專業從為業界培養所需要的網絡安全人才角度,需要在C/C++教學中引入安全編碼規范的內容,引導學生編寫具有高安全質量的程序。

2.4 代碼審計教學

近年來,網絡安全事件愈發嚴重,代碼質量管理在很多研發企業越來越受到重視。除了上文所述的軟件安全編碼規范的應用和普及外,代碼審計也是一項重要的安全內容。

代碼審計的主要內容是檢查程序源代碼中的安全缺陷,通過自動化工具或者人工審計的方式對程序源代碼逐條進行檢查和分析,發現程序源代碼中是否存在安全隱患或者不規范編碼。人工審計的效果在很大程度上依賴于審計者的經驗,因此效率低下,一個有經驗的程序員每天只能審計數千行代碼,而審計速度的加快會帶來審計效果的下降。基于自動化工具的代碼審計具有較高的效率,數小時甚至數分鐘就能完成一個復雜工程的代碼審計。很多軟件企業通常以工具審計為主,或者采用工具審計和人工審計相結合的方式進行,即首先利用工具進行所有代碼的審計,而訪問接口、身份認證、數據加解密等關鍵代碼同時進行人工審計,以保證關鍵代碼的安全。

網絡空間安全專業的畢業生參加工作后,不僅自己要寫出高質量的安全代碼,而且可能要負責整個項目或整個企業的軟件代碼質量,因而代碼審計能力就顯得尤為必要,尤其是代碼審計工具的熟練使用。因此,從培養企業所需安全人才的角度而言,在網絡空間安全專業的C/C++程序設計教學中,應適當增加代碼安全審計相關的內容,包括如何高效使用自動化審計工具等。

2.5 結合攻擊案例的實例化教學

在網絡空間安全專業開展C/C++程序設計課程時,除對引起程序安全問題的編程漏洞在原理方面更為深入分析之外,還需結合攻擊實例進行實踐教學與應用,以加深對原理的理解,同時對漏洞引起的安全問題有直觀的了解。

在C/C++教學中,實例化教學可以包含以下內容:

(1)結合典型安全攻擊方式進行安全編程意識教學。對C/C++程序員而言,盲目信任外部輸入而不進行必要的檢查是不良編程習慣,也是導致程序受到攻擊的重要原因。顯然,在教學過程中,單純強調學生必須進行程序輸入檢查難以取得好的教學效果。如果能夠結合緩沖區溢出漏洞的攻擊實例,向學生展示黑客如何利用程序輸入檢查缺失構造攻擊過程來實現控制整個程序的完整過程,就能讓學生深刻認識到不良安全編程習慣的危害,從而增強學生們的安全編程意識,有助于養成檢查程序輸入的編程習慣。

(2)從違背導致的后果例證進行安全編碼規范的教學。業界使用的安全編碼規范內容比較多,單純從正向講解要求如何遵循安全編碼規范通常不能收到很好的教學效果。若對每條安全編碼規范設計反向案例,用程序實例演示不遵守安全規則導致的安全危害,如會帶來哪些安全隱患以及黑客如何利用這些隱患發起攻擊,就能幫助學生理解規則背后的原因,也能激發學生的興趣。

(3)從實際操作角度進行安全編程和代碼審計技能的培養。程序設計具有實踐性強的特點,C/C++教學會安排較多的學時完成具體的編程任務。在實際的教學中,教師不僅要求學生完成相應的編程任務,而且要求他們寫出符合安全要求的程序代碼,并要求同學之間相互進行代碼審計以發現不規范或不安全的程序代碼,從而提升學生的實際安全編程和代碼審計能力。

3 結 語

筆者在本科生的C++程序設計教學中,在完成常規教學任務的同時,給學生補充了C++安全編程規范的教學內容。C++程序設計和網絡空間安全知識的結合激發了學生非常高的興趣,也提升了學生的網絡空間安全素養。由于教學學時所限,具體的安全編程實踐和代碼審計工具的使用還未得到有效的開展,這需要在未來的網絡空間安全課程體系優化中得到解決。

在當前以及可見的未來,應用系統的安全問題一直會為企事業單位甚至國家層面重點關注,業界需要具有專業安全知識和安全技能的人才。在高校的網絡空間安全專業課程建設中,可以就安全編碼教學及實踐設立專門的課程,或者結合已有程序設計或軟件工程等課程,為其分配一定的教學課時和資源,以培養學生的安全編碼能力,從而滿足業界的人才需求。

猜你喜歡
課程教學
《無機化學》課程教學改革
云南化工(2021年6期)2021-12-21 07:31:42
數字圖像處理課程混合式教學改革與探索
微課讓高中數學教學更高效
甘肅教育(2020年14期)2020-09-11 07:57:50
軟件設計與開發實踐課程探索與實踐
計算機教育(2020年5期)2020-07-24 08:53:38
如何讓高中生物教學變得生動有趣
甘肅教育(2020年12期)2020-04-13 06:25:34
為什么要學習HAA課程?
“自我診斷表”在高中數學教學中的應用
東方教育(2017年19期)2017-12-05 15:14:48
對外漢語教學中“想”和“要”的比較
唐山文學(2016年2期)2017-01-15 14:03:59
“學而時習之”的課程值得贊賞
教育與職業(2014年1期)2014-04-17 14:28:07
跨越式跳高的教學絕招
體育師友(2013年6期)2013-03-11 18:52:18
主站蜘蛛池模板: 国产欧美网站| 99视频精品在线观看| 亚洲精品天堂在线观看| 免费在线看黄网址| 97影院午夜在线观看视频| 又大又硬又爽免费视频| 综合色在线| 91啦中文字幕| 日本一区二区三区精品AⅤ| 免费AV在线播放观看18禁强制| 国产精品香蕉| 成人免费黄色小视频| 免费人成黄页在线观看国产| 国产真实乱了在线播放| 激情亚洲天堂| 欧美精品v欧洲精品| 99手机在线视频| 试看120秒男女啪啪免费| 又爽又黄又无遮挡网站| 国产美女丝袜高潮| 91福利免费视频| 少妇被粗大的猛烈进出免费视频| 亚洲精品无码专区在线观看| 一区二区在线视频免费观看| 国产成a人片在线播放| 国产欧美日韩在线一区| 啦啦啦网站在线观看a毛片| 91在线一9|永久视频在线| 国产十八禁在线观看免费| 国内丰满少妇猛烈精品播 | 欧美日韩国产在线人| 欧美日韩精品一区二区在线线 | 国产在线观看人成激情视频| 亚洲 日韩 激情 无码 中出| 青青青国产在线播放| 婷婷六月综合网| 国产欧美日韩va另类在线播放| 国产精品视频导航| 色偷偷综合网| 国产精品亚洲一区二区三区z| 国产成人精品免费视频大全五级| 午夜人性色福利无码视频在线观看| 狂欢视频在线观看不卡| 国产精品免费p区| 亚洲精品中文字幕无乱码| 日本精品中文字幕在线不卡| 极品性荡少妇一区二区色欲| 老司机精品99在线播放| 久久精品视频亚洲| 国产爽妇精品| 99视频精品全国免费品| 四虎国产成人免费观看| 青青热久麻豆精品视频在线观看| 国产精品嫩草影院视频| 亚洲一区无码在线| 91网址在线播放| 国产综合精品日本亚洲777| 国产精品自在在线午夜区app| 日本久久网站| 国产一区二区三区在线精品专区| a级毛片一区二区免费视频| 一级做a爰片久久免费| 亚洲精品你懂的| 精品无码视频在线观看| 亚洲欧美日本国产综合在线| 国产地址二永久伊甸园| 手机精品福利在线观看| 国产午夜不卡| 婷婷色狠狠干| 国产精品人人做人人爽人人添| 亚洲日本中文综合在线| 国产激情在线视频| 亚洲综合第一区| 成人蜜桃网| 国产综合另类小说色区色噜噜 | 国产夜色视频| 四虎精品国产AV二区| 波多野结衣无码中文字幕在线观看一区二区 | 91无码人妻精品一区| 欧美日韩亚洲综合在线观看| 亚洲浓毛av| 亚洲一级色|