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

基于微服務(wù)架構(gòu)的源代碼安全檢測技術(shù)研究

2024-04-29 00:00:00苗守帥
無線互聯(lián)科技 2024年3期

摘要:近年來,隨著各種新技術(shù)新理念在各行各業(yè)的廣泛應(yīng)用,各類軟件安全問題也正在影響軟件的使用。尤其在金融領(lǐng)域,軟件安全不僅關(guān)系到客戶的個(gè)人信息安全,而且還直接影響到人身和財(cái)產(chǎn)安全。源代碼是軟件的根本,對軟件的源代碼安全檢測是保證軟件安全最有效的措施之一。只有源代碼中的安全缺陷盡早在開發(fā)生命周期中消除,應(yīng)用安全風(fēng)險(xiǎn)才能得到更好的控制,從而最終的軟件產(chǎn)品具備更好的安全性。文章結(jié)合源代碼安全測試工具對軟件安全測試開展研究,基于微服務(wù)架構(gòu)自主研發(fā)源代碼安全檢測平臺,提供了一個(gè)方便、直觀、易用的軟件安全檢測平臺。

關(guān)鍵詞:微服務(wù);源代碼安全檢測;信息安全

中圖分類號:TP393.08" 文獻(xiàn)標(biāo)志碼:A

0 引言

隨著數(shù)字化、信息化和智能化的發(fā)展以及在監(jiān)管合規(guī)趨嚴(yán)的形勢下,軟件安全性越來越受到重視。金融機(jī)構(gòu)的產(chǎn)品迭代更新頻繁,產(chǎn)品安全性面臨更大的挑戰(zhàn)。為了更好地分析和識別外在、內(nèi)在和潛在的安全風(fēng)險(xiǎn),金融機(jī)構(gòu)應(yīng)及時(shí)在軟件開發(fā)生命周期中及時(shí)識別、登記、采取應(yīng)對措施,以期在軟件上線前解決絕大部分安全風(fēng)險(xiǎn)。由于絕大部分的軟件安全風(fēng)險(xiǎn)是軟件的源代碼缺陷引起的,因此在軟件開發(fā)階段發(fā)現(xiàn)和識別源代碼缺陷越發(fā)重要。一旦軟件源代碼的缺陷被攻擊者利用,就會導(dǎo)致客戶財(cái)產(chǎn)信息被竊、重要信息數(shù)據(jù)丟失、應(yīng)用服務(wù)器性能下降等,更有可能危及個(gè)人信息數(shù)據(jù)的安全。保證軟件的安全可靠性就是保障軟件源代碼。通過軟件源代碼安全檢測是提高軟件安全性、保證軟件質(zhì)量的重要途徑之一[1]。目前,各類商業(yè)、開源的源代碼安全檢測工具眾多,如何高效、合理地開展實(shí)施代碼檢測具有重要意義。

1 源代碼安全檢測現(xiàn)狀和探索

近年來,隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展和快速迭代更新,軟件安全越來越受到重視。一方面各監(jiān)管機(jī)構(gòu)加強(qiáng)信息安全檢測,一旦發(fā)現(xiàn)軟件安全漏洞立即通知相關(guān)方進(jìn)行整改。另一方面,在軟件開發(fā)生命周期階段,開展源代碼檢測可以節(jié)約后期安全投入成本。由于產(chǎn)品迭代更新快、業(yè)務(wù)情況復(fù)雜多變,在項(xiàng)目開發(fā)過程中采用多種編程語言、開發(fā)框架,不僅增加代碼掃描分析和檢測的成本,而且耗時(shí)高、效率低。正是基于上述一些因素,江蘇省農(nóng)村信用社聯(lián)合社(以下簡稱“江蘇省聯(lián)社”)定制研發(fā)應(yīng)用軟件源代碼檢測平臺,通過江蘇省聯(lián)社專用網(wǎng)絡(luò)面向各轄區(qū)內(nèi)農(nóng)商銀行用戶提供自助的靜態(tài)源代碼檢測服務(wù)。平臺的目標(biāo)是面向基層農(nóng)商行用戶提供自助式、Web形式的在線源代碼檢測功能,其特點(diǎn)如下。

(1)以Web平臺方式提供在線自助式的源代碼安全檢測服務(wù),便于用戶在應(yīng)用開發(fā)過程中靈活地進(jìn)行源代碼文件檢測、分析缺陷信息、查看報(bào)告等。

(2)平臺以私有化云的部署方式,多用戶并發(fā)訪問,后期根據(jù)自身需要增加用戶數(shù)量,無需增加任何軟硬件資源擴(kuò)展成本。用戶可以實(shí)時(shí)查看哪些掃描引擎被調(diào)度,從而選擇有空閑的掃描引擎開展工作。平臺中所使用的掃描引擎支持現(xiàn)有主流源代碼檢測工具,可實(shí)現(xiàn)不同類型功能的源代碼安全性檢測。一般有基于源代碼質(zhì)量的檢測引擎,也有檢測源代碼安全方面的檢測引擎,還有兩者兼有的引擎。源碼質(zhì)量的檢測引擎偏向于檢測源代碼中的錯(cuò)誤處理、注釋質(zhì)量、性能問題、代碼規(guī)范等。源碼的安全檢測引擎偏向于檢測源代碼中的安全問題,如SQL注入、命令注入、弱口令、XML注入等。

(3)平臺采用微服務(wù)組件化設(shè)計(jì)方式,將系統(tǒng)按照核心功能劃分為一個(gè)個(gè)微服務(wù)。各服務(wù)之間采用輕量級的通信機(jī)制,構(gòu)建獨(dú)立的自動化運(yùn)行機(jī)制,從而減少功能迭代中的重復(fù)設(shè)計(jì),降低后期開發(fā)和維護(hù)成本,提升了一致性的用戶體驗(yàn)[2]。

(4)平臺集成SVN、Git等版本控制工具,通過安全方式提交源碼,構(gòu)建代碼存儲、流轉(zhuǎn)、使用、銷毀全生命周期安全管控,有效避免各個(gè)轄內(nèi)農(nóng)商行代碼等數(shù)據(jù)泄漏以及防止第三方窺探。

2 微服務(wù)架構(gòu)原理

微服務(wù)是一些協(xié)同工作的小而自治的服務(wù)[3],且具有高內(nèi)聚低耦合。微服務(wù)架構(gòu)主要將傳統(tǒng)單體架構(gòu)下各個(gè)模塊的業(yè)務(wù)功能轉(zhuǎn)變?yōu)槲⒎?wù)架構(gòu)中的各個(gè)業(yè)務(wù)功能微服務(wù)。同時(shí),微服務(wù)架構(gòu)中各模塊之間的調(diào)用轉(zhuǎn)變?yōu)槲⒎?wù)之間的調(diào)用[4]。微服務(wù)在開發(fā)、測試、部署、維護(hù)等方面降低了應(yīng)用系統(tǒng)的耦合度,提高了系統(tǒng)的擴(kuò)展性和靈活性,使得各個(gè)服務(wù)之間相對獨(dú)立、互不影響。微服務(wù)不僅降低了應(yīng)用系統(tǒng)的耦合度,而且又能提高各模塊之間的效率。一旦有業(yè)務(wù)功能需要改變時(shí),只需要改變對應(yīng)的服務(wù)即可,不僅提升了平臺檢測的可擴(kuò)展性,而且也提升了平臺的穩(wěn)定性。在本文中,將平臺根據(jù)業(yè)務(wù)功能劃分成多個(gè)微服務(wù),每個(gè)微服務(wù)只關(guān)注單一的業(yè)務(wù)功能。

平臺采用微服務(wù)包括Eureka服務(wù)、頁面前端服務(wù)、后臺轉(zhuǎn)發(fā)服務(wù)、Minio文件服務(wù)、系統(tǒng)管理服務(wù)、業(yè)務(wù)處理服務(wù)、Redis緩存服務(wù)、隊(duì)列處理服務(wù)、構(gòu)建掃描服務(wù)。平臺關(guān)鍵的2個(gè)微服務(wù)有業(yè)務(wù)處理服務(wù)和構(gòu)建掃描服務(wù)。業(yè)務(wù)處理服務(wù)主要包括項(xiàng)目管理、缺陷管理。構(gòu)建掃描服務(wù)是管理自動構(gòu)建掃描平臺,多個(gè)設(shè)備注冊,由頁面請求分發(fā)處理并可指定某一個(gè)微服務(wù)執(zhí)行任務(wù)。

3 源代碼安全檢測引擎

目前,市場上源代碼安全檢測工具有Fortify SCA、CheckMarx CxSuite、Coverity Preven、Klocwork、FindBugs等,各工具各有其優(yōu)缺點(diǎn)。Fortify SCA是全球前十大軟件公司Micro Focus旗下產(chǎn)品。Fortify已經(jīng)連續(xù)十年,在全球最具權(quán)威的IT研究咨詢機(jī)構(gòu)Gartner研究報(bào)告中位于領(lǐng)導(dǎo)者(leaders)地位。Fortify SCA以最大和最全面的安全編碼規(guī)則為基礎(chǔ)。該規(guī)則中的漏洞類別達(dá)到800+種,且支持27種開發(fā)語言以及所有主流操作系統(tǒng)。為了發(fā)現(xiàn)更多源代碼中存在的安全問題,本文優(yōu)先考慮該軟件。

Fortify SCA是國外一款產(chǎn)品,標(biāo)準(zhǔn)化基準(zhǔn)庫龐大。該軟件主要基于靜態(tài)分析的源代碼安全測試工具,它從數(shù)據(jù)流、語義、結(jié)構(gòu)、控制流、配置流等對應(yīng)用軟件的源代碼進(jìn)行靜態(tài)分析,靜態(tài)分析的過程中與它特有的軟件規(guī)則庫進(jìn)行全面的匹配、查找,從而發(fā)現(xiàn)源代碼中存在的安全缺陷。源代碼安全檢測的結(jié)果分為4個(gè)安全等級,包括嚴(yán)重、高危、中危、低危。每個(gè)檢測的問題不但包含詳細(xì)的安全漏洞信息,還有相關(guān)的安全說明并提供修復(fù)意見[5]。

4 設(shè)計(jì)與實(shí)現(xiàn)

源代碼安全檢測是對軟件源代碼中的安全缺陷進(jìn)行檢測,提前發(fā)現(xiàn)并識別可能導(dǎo)致安全問題的編碼缺陷或者漏洞,讓開發(fā)人員在項(xiàng)目上線前消除軟件漏洞[6]。源代碼檢測工具雖然能夠快速找出代碼中存在的漏洞、危險(xiǎn)函數(shù)等內(nèi)容,但是它只能作為輔助工具來使用。一是源代碼檢測工具在執(zhí)行過程全都是半自動方式,需要人工介入執(zhí)行和分析。二是源代碼檢測工具可以檢測到許多問題,但有的時(shí)候會產(chǎn)生誤報(bào)或漏報(bào),后期需要人工參與復(fù)核來確保檢測結(jié)果的準(zhǔn)確性。一般人工需要對平臺檢測到的危險(xiǎn)列表逐一確認(rèn)、分析、排除誤報(bào)、驗(yàn)證等,還需要用戶將再次修復(fù)的源代碼提交檢測,如此反復(fù),直至滿足出口標(biāo)準(zhǔn)。這些關(guān)鍵的環(huán)節(jié)不僅耗時(shí)多,效率低,而且在一定程度上無法達(dá)到預(yù)期效果。

為了提升源代碼掃描的準(zhǔn)確率和掃描效率,減輕掃描人員在項(xiàng)目實(shí)施過程中的負(fù)擔(dān),優(yōu)化測試實(shí)施流程,江蘇省聯(lián)社積極探索適合自身實(shí)際的源代碼安全檢測方案,將代碼掃描流程融到研發(fā)流程體系中,借助微服務(wù)架構(gòu)和源代碼安全檢測工具相結(jié)合,實(shí)現(xiàn)源代碼安全流程自主檢測,簡化源代碼檢測過程,提升檢測效率,從根源上提升源代碼質(zhì)量。

4.1 設(shè)計(jì)原則

4.1.1 系統(tǒng)化原則

一是平臺從總體規(guī)劃設(shè)計(jì)、規(guī)范管理制度、強(qiáng)化管理工作,為項(xiàng)目組提供管理決策支持。二是從系統(tǒng)整體看待源代碼安全檢測工作,要求各個(gè)模塊既相互獨(dú)立性,又有機(jī)結(jié)合。平臺要堅(jiān)持從整體考慮,功能結(jié)構(gòu)化,設(shè)計(jì)最優(yōu)化,復(fù)雜度最小化。

4.1.2 易用原則

平臺提供統(tǒng)一Web入口,直觀展示掃描信息,便于項(xiàng)目組快速、準(zhǔn)確定位源代碼中的安全漏洞、業(yè)務(wù)邏輯缺陷等問題,并依據(jù)提供的專業(yè)修復(fù)建議,快速修復(fù)。

4.2 功能模塊

在軟件開發(fā)的過程中,使用檢測平臺既可以幫助開發(fā)團(tuán)隊(duì)快速查找、定位、修復(fù)和管理軟件代碼安全問題,又可以節(jié)約代碼安全分析成本。源代碼檢測平臺主要包含項(xiàng)目管理、權(quán)限管理、代碼掃描、缺陷管理4個(gè)主要功能。

4.2.1 項(xiàng)目管理

平臺展示和維護(hù)項(xiàng)目相關(guān)的基礎(chǔ)信息等內(nèi)容,包括項(xiàng)目類型、需求類型、項(xiàng)目狀態(tài)、子系統(tǒng)等。該平臺可支持對接項(xiàng)目管理平臺,通過項(xiàng)目立項(xiàng)時(shí)即可同步相關(guān)信息,避免重復(fù)維護(hù)數(shù)據(jù)。

4.2.2 權(quán)限管理

為了更好地控制各個(gè)角色權(quán)限,平臺加入對應(yīng)角色的訪問控制策略。各個(gè)角色分類、分組設(shè)置以及對不同角色設(shè)置通用配置項(xiàng)。多法人相互隔離,相互安全可控。同時(shí),平臺管理員根據(jù)用戶情況設(shè)置適當(dāng)?shù)牟藛芜x項(xiàng),如項(xiàng)目經(jīng)理可分配、轉(zhuǎn)移、審計(jì)缺陷情況,而項(xiàng)目組員只可以分析、確認(rèn)修復(fù)缺陷。通過合理策略配置和代碼掃描權(quán)限的管理,可以有效保護(hù)源代碼的安全性和完整性。

4.2.3 代碼掃描

代碼掃描模塊包括自動構(gòu)建管理、增量掃描管理、計(jì)劃任務(wù)、內(nèi)存使用情況。一是通過源代碼掃描引擎后臺執(zhí)行代碼掃描任務(wù)。二是用戶根據(jù)代碼改動情況,若是第一次檢測可以采用在前端通過SVN、GIT、ZIP壓縮包上傳等方式,掃描檢測系統(tǒng)自動解壓后臺進(jìn)行代碼掃描。若是檢測過多次,用戶可選擇增量代碼檢測,上傳增量class文件即可完成增量代碼檢測。三是用戶在計(jì)劃任務(wù)欄中既可以查看正在執(zhí)行的進(jìn)度以及失敗原因,又可以按需定制執(zhí)行代碼檢測任務(wù)。四是平臺引入非缺陷庫比對功能,主要過程包括信息收集、預(yù)處理和標(biāo)準(zhǔn)化、特征提取、結(jié)果對比與分類、結(jié)果分析和修正。以上步驟可以大幅度減輕開發(fā)人員識別源代碼缺陷的難度,更準(zhǔn)確地識別真正缺陷,降低誤報(bào),更好幫助開發(fā)人員理解代碼質(zhì)量和潛在的風(fēng)險(xiǎn)。

4.2.4 缺陷管理

所有源碼掃描檢測結(jié)果在缺陷信息管理中詳細(xì)展示,包括問題描述、問題數(shù)量、缺陷等級、代碼塊、文件路徑、修復(fù)建議等。各個(gè)項(xiàng)目組只能查看本項(xiàng)目組下相關(guān)項(xiàng)目代碼檢測信息。在缺陷信息中,用戶可選擇多種方式將缺陷信息導(dǎo)出,如一鍵導(dǎo)出、一鍵轉(zhuǎn)移、缺陷轉(zhuǎn)移。用戶通過Excel文檔方式導(dǎo)入分析確認(rèn)的結(jié)果并提交項(xiàng)目組確認(rèn),最終形成源代碼安全檢測報(bào)告。

5 結(jié)語

未來江蘇省聯(lián)社將持續(xù)夯實(shí)軟件源碼安全能力。(1)將持續(xù)提升源碼檢測質(zhì)量,基于自定義檢測規(guī)則的發(fā)現(xiàn)能力,構(gòu)建全方位源碼風(fēng)險(xiǎn)防范能力。(2)推動以源碼檢測為核心的安全風(fēng)險(xiǎn)閉環(huán)管理,將源碼安全和信息安全結(jié)合起來,用已有的網(wǎng)絡(luò)安全能力為源碼安全提供有力的支撐和保障。(3)建立源碼安全風(fēng)險(xiǎn)特征庫,推動開發(fā)人員深入了解并解決源碼安全問題,真正實(shí)現(xiàn)安全管理左移。

由于所有軟件安全風(fēng)險(xiǎn)絕大多數(shù)歸根于源碼問題,本文結(jié)合行業(yè)實(shí)踐案例,借鑒微服務(wù)架構(gòu)實(shí)現(xiàn)源代碼自助檢測,其檢測意義在于修復(fù)缺陷,提升開發(fā)人員的安全開發(fā)意識并使其在軟件開發(fā)過程中更重視安全因素。在軟件開發(fā)生命周期階段,平臺化的工具發(fā)現(xiàn)源碼中的安全風(fēng)險(xiǎn),進(jìn)一步降低缺陷密度,提升代碼質(zhì)量,讓代碼更安全。

參考文獻(xiàn)

[1]李舟軍,張俊賢,廖湘科,等.軟件安全漏洞檢測技術(shù)[J].計(jì)算機(jī)學(xué)報(bào),2015(4):717-732.

[2]楊宇,焦麗琴.基于微服務(wù)的企業(yè)應(yīng)用設(shè)計(jì)與實(shí)現(xiàn)[J].電子科學(xué)技術(shù),2016(5):623-625.

[3]紐曼.微服務(wù)設(shè)計(jì)[M].北京:人民郵電出版社,2016.

[4]熊益益.基于微服務(wù)架構(gòu)的電商平臺的研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2019.

[5]張超永,張玉中,浮明軍,等.基于Fortify的源代碼安全測試規(guī)則自定義研究[J].電腦編程技巧與維護(hù),2019(2):168-171.

[6]王躍.源代碼安全漏洞檢測方法研究[D].武漢:華中科技大學(xué),2013.

Research on source code security detection technology based on microservices architecture

Abstract: In recent years, with the widespread application of various new technologies and concepts in various industries, various software security issues are also affecting the use of software. Especially in the financial field, software security is not only related to the personal information security of customers, but also directly affects personal and property security. Source code is the foundation of software, and source code security checks are one of the most effective measures to ensure software security. Only by eliminating security vulnerabilities in the source code as early as possible in the development lifecycle can application security risks be better controlled, resulting in better security for the final software product. This article combines source code security testing tools to conduct research on software security testing. Based on the microservices architecture, we independently developed a source code security testing platform, providing a convenient, intuitive, and easy-to-use software security testing platform.

Key words: microservices; source code security detection; information security

主站蜘蛛池模板: 日本伊人色综合网| 国产日本欧美亚洲精品视| 日韩中文无码av超清| 国产欧美日韩专区发布| 国产在线麻豆波多野结衣| 国产精品区视频中文字幕| 找国产毛片看| 为你提供最新久久精品久久综合| 国产喷水视频| 久久99国产精品成人欧美| 国产一在线观看| 国产日韩AV高潮在线| 99久视频| 国产精品女同一区三区五区| 亚洲日本韩在线观看| 在线a视频免费观看| 婷婷丁香在线观看| 五月婷婷中文字幕| 日韩亚洲高清一区二区| 免费A∨中文乱码专区| 99热这里只有免费国产精品| 国产精品妖精视频| 欧美成人a∨视频免费观看 | 欧美精品aⅴ在线视频| 国产91蝌蚪窝| 日本国产精品| 久草热视频在线| 欧美亚洲国产日韩电影在线| 成人毛片免费在线观看| 一区二区日韩国产精久久| 国产高清精品在线91| 国产成熟女人性满足视频| 欧美一区二区自偷自拍视频| 九九九国产| 国产精品欧美日本韩免费一区二区三区不卡 | 中文字幕佐山爱一区二区免费| 国产91在线|日本| 尤物精品视频一区二区三区| 天天视频在线91频| 亚洲乱强伦| 中文字幕丝袜一区二区| 伊人久久久大香线蕉综合直播| 亚洲国产清纯| 国产aⅴ无码专区亚洲av综合网| 成人午夜网址| 91久久偷偷做嫩草影院| 亚洲Va中文字幕久久一区| 国产精品粉嫩| 在线观看国产精品一区| 欧美高清三区| 在线观看无码a∨| 亚洲免费福利视频| 美女一级毛片无遮挡内谢| 亚洲欧美综合另类图片小说区| 日韩一级毛一欧美一国产| 久草视频精品| 色婷婷狠狠干| 国产精品美女免费视频大全 | 男女男免费视频网站国产| 欧美一区二区三区不卡免费| 色悠久久久久久久综合网伊人| 免费观看无遮挡www的小视频| 精品夜恋影院亚洲欧洲| 国产精品人莉莉成在线播放| 99re热精品视频国产免费| 国产精品开放后亚洲| 欧美人与性动交a欧美精品| 欧美特级AAAAAA视频免费观看| 99中文字幕亚洲一区二区| 亚洲成a人片| 多人乱p欧美在线观看| 国产乱人伦精品一区二区| 国产精品不卡片视频免费观看| 伊人久久婷婷五月综合97色| 亚洲二区视频| 国产青榴视频| 精品亚洲麻豆1区2区3区| 亚洲综合第一页| 欧美专区在线观看| 国产在线八区| 欧美一级在线| 777午夜精品电影免费看|