• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      IAST技術(shù)在DevOps開發(fā)模型下的實踐研究

      2021-12-08 02:33:06嚴(yán)敏佳陳中偉李琪瑤封靖川
      信息安全研究 2021年12期
      關(guān)鍵詞:插樁內(nèi)存流程

      黎 曦 嚴(yán)敏佳 陳中偉 田 崢 李琪瑤 封靖川

      (國網(wǎng)湖南省電力有限公司信息通信分公司 長沙 410007)

      1 DevOps開發(fā)模型

      軟件開發(fā)模型可分為3類:瀑布式開發(fā)、敏捷開發(fā)和研發(fā)運維一體化(development operations, DevOps)[1].瀑布式開發(fā)為傳統(tǒng)的開發(fā)模式,它把軟件項目的開發(fā)分隔成不同的開發(fā)階段,使用里程碑的方式,嚴(yán)格定義了各開發(fā)階段的輸入和輸出,軟件交付的周期較長.敏捷開發(fā)使用人們熟知的Gradle,Maven,Jenkins等工具進行自動化的代碼編譯、打包,大幅提升了業(yè)務(wù)的交付速度[2].

      隨著技術(shù)的發(fā)展,DevOps開發(fā)模型得到普遍采用.傳統(tǒng)上,軟件研發(fā)是一個孤島,研發(fā)和運營團隊在流程中獨立工作,DevOps通過將研發(fā)運維一體化,消除了研發(fā)和運營團隊之間的壁壘,創(chuàng)建了更成熟、更高效的工作環(huán)境.相較于傳統(tǒng)的瀑布式開發(fā)模式,DevOps具有更短的交付周期、更穩(wěn)定的交付質(zhì)量[3].但即便在DevOps開發(fā)模式下,安全仍獨立于整個流程之外,甚至與DevOps成為對立面,其主要原因有2個:

      1)時間成本.由于安全獨立于DevOps流程,導(dǎo)致安全想要介入研發(fā)流程只能打破持續(xù)運轉(zhuǎn)的流水線,進行傳統(tǒng)的漏洞掃描、人工滲透等費時費力的安全測試,如果遇到業(yè)務(wù)緊急的情況,安全不得不為業(yè)務(wù)讓步,使得軟件極有可能帶“病”上線.

      2)修復(fù)成本.DevOps流程外的安全測試在軟件上線前進行,對于此時的軟件而言,已經(jīng)經(jīng)過了完整的業(yè)務(wù)研發(fā)和功能驗證測試.將上線前審查出的安全隱患反饋給研發(fā)團隊進行整改后,又需要進行新一輪的功能驗證.因此,安全對于企業(yè)的成本是“高昂”的.

      如何解決DevOps下的研發(fā)安全成為人們較為頭疼的問題,在此背景下,研發(fā)安全運維一體化(development security operations, DevSecOps)開發(fā)模型應(yīng)運而生.在此模型中,采用應(yīng)用安全檢測技術(shù)將安全測試有效前置,并完美融入DevOps流程中,在完成軟件交付的同時,測試階段即可快速、精準(zhǔn)地定位軟件內(nèi)部的安全隱患和數(shù)據(jù)泄露隱患.

      2 DevSecOps落地分析

      DevSecOps從DevOps敏捷開發(fā)的理念延伸和演變而來,其核心理念為:在快速迭代模式下,安全是產(chǎn)品研發(fā)團隊每個人的責(zé)任,需要貫穿從研發(fā)到運營整個業(yè)務(wù)生命周期的每一個環(huán)節(jié).它的出現(xiàn)就是為了改變和優(yōu)化之前安全工作滯后分散的現(xiàn)狀.

      不同安全檢測技術(shù)的使用成本與效果有所不同,相較于動態(tài)應(yīng)用安全測試(dynamic application security testing, DAST)和靜態(tài)應(yīng)用安全測試(static application security testing, SAST)技術(shù),交互式應(yīng)用安全測試(interactive application security testing, IAST)技術(shù)的使用成本與效果是理想的.SAST的代碼掃描和語義分析導(dǎo)致誤報率居高不下,因而SAST一直被詬病,要真正投入使用一款SAST工具,需要耗費大量的人力成本去做誤報的篩查工作;DAST基于爬蟲與請求響應(yīng)包的規(guī)則匹配技術(shù)導(dǎo)致其在漏洞檢出率方面表現(xiàn)不佳[6].表1展示了3種AST技術(shù)的對比情況.

      表1 3種AST技術(shù)的對比情況

      3 IAST在DevSecOps模型下的實踐

      IAST是高德納公司提出的一種交互式應(yīng)用程序安全測試方案,通過Web應(yīng)用服務(wù)端部署運行時插樁,收集、監(jiān)控Web應(yīng)用程序運行時的函數(shù)執(zhí)行和數(shù)據(jù)傳輸,并與分析引擎端進行實時交互,高效、準(zhǔn)確地識別安全缺陷及漏洞.此外,IAST還可以準(zhǔn)確定位安全漏洞所在的代碼文件、行數(shù)、函數(shù)及參數(shù).從某種程度上說,IAST是綜合DAST和SAST技術(shù)優(yōu)勢的一種運行時灰盒安全測試技術(shù)[7].

      3.1 主動插樁技術(shù)

      主動插樁技術(shù)需要在被測應(yīng)用程序中部署插樁探針,使用時需要外部掃描器去觸發(fā)探針.一個組件產(chǎn)生惡意攻擊流量,另一個組件在被測應(yīng)用程序中監(jiān)測應(yīng)用程序的反應(yīng),以此來定位漏洞和降低誤報[8].圖1顯示了IAST主動插樁技術(shù)原理.

      圖1 IAST主動插樁技術(shù)原理

      3.2 被動插樁技術(shù)

      被動插樁技術(shù)是在程序運行時監(jiān)視應(yīng)用并分析代碼,它不會主動對Web應(yīng)用程序執(zhí)行攻擊,而是純粹被動地分析檢測代碼.在Web應(yīng)用運行過程中,基于插樁探針實時監(jiān)控程序的污點數(shù)據(jù)在系統(tǒng)中的傳播,以檢測數(shù)據(jù)能否從污點源傳播到污點匯集點.因此,被動插樁技術(shù)擁有巨大的技術(shù)優(yōu)勢,它不會影響同時運行的其他測試活動,并且只需要業(yè)務(wù)測試來觸發(fā)安全測試,有正常測試流量就可以實時進行漏洞檢測.圖2顯示了IAST被動插樁技術(shù)原理[9].

      圖2 IAST被動插樁技術(shù)原理

      3.3 敏感數(shù)據(jù)追蹤

      軟件中的敏感數(shù)據(jù)也可以通過IAST進行監(jiān)測.IAST監(jiān)視應(yīng)用的內(nèi)容包括代碼、內(nèi)存和數(shù)據(jù)流,因此可以確定敏感數(shù)據(jù)(如用戶身份信息、銀行卡號)的流向,檢測數(shù)據(jù)是否以未受保護方式寫入文件,是否暴露在請求地址(uniform resource locator, URL)中,是否經(jīng)過恰當(dāng)加密.只要敏感數(shù)據(jù)處理不恰當(dāng),IAST工具就會標(biāo)記該數(shù)據(jù)處理實例,定位數(shù)據(jù)泄露點,以確保敏感、隱私數(shù)據(jù)沒有存儲在安全性低或沒有加密的日志文件或數(shù)據(jù)庫中.利用IAST技術(shù)進行敏感數(shù)據(jù)追蹤有助于軟件達(dá)到行業(yè)標(biāo)準(zhǔn)及符合法規(guī),如支付卡行業(yè)數(shù)據(jù)安全標(biāo)準(zhǔn)(PCI DSS)和《通用數(shù)據(jù)保護條例》(GDPR)等[10].

      3.4 IAST的影響分析

      對于DevSecOps下的流水線而言,IAST的引入主要有2方面的影響:

      按文獻(xiàn)發(fā)表年度進行統(tǒng)計,形成移動閱讀研究文獻(xiàn)年度分布圖,如圖1所示。2004—2009年是國內(nèi)移動閱讀的探索期。該時期移動閱讀WAP網(wǎng)站興起,如移動夢網(wǎng),隨后手機報誕生、免費WAP網(wǎng)站獲得蓬勃發(fā)展;該時期針對移動閱讀的研究初步興起,文獻(xiàn)量增長緩慢,影響力較小,但同時期的電子書市場不斷膨脹,涌現(xiàn)出大量閱讀客戶端。2010—2018年移動網(wǎng)絡(luò)和智能終端快速普及,移動閱讀相關(guān)研究成果大量涌現(xiàn),2013年迎來研究的高峰。

      1)IAST對于現(xiàn)有研發(fā)流程的影響;

      2)IAST對于研發(fā)環(huán)境性能的影響.

      IAST依賴于DevSecOps的自動化、標(biāo)準(zhǔn)化流水線進行部署,并借助研發(fā)流程中自有的功能測試完成軟件的安全測試,故其對研發(fā)流程的影響極小.本文重點說明IAST對于研發(fā)環(huán)境性能的影響,測試環(huán)境和測試工具分別如表2和表3所示:

      表2 測試環(huán)境

      表3 測試工具

      插樁前對業(yè)務(wù)網(wǎng)站進行請求訪問,使用網(wǎng)頁查看業(yè)務(wù)網(wǎng)站訪問速度,如圖3所示;使用壓力測試工具Jmeter每秒1次請求業(yè)務(wù)網(wǎng)站,并在Jmeter上查看接口響應(yīng)速度,如圖4所示.

      圖3 插樁前網(wǎng)站訪問速度

      圖4 插樁前Jmeter接口響應(yīng)速度

      對業(yè)務(wù)進行插樁部署,再次進行業(yè)務(wù)訪問并通過網(wǎng)頁查看業(yè)務(wù)網(wǎng)站訪問速度,如圖5所示;插樁后的Jmeter接口響應(yīng)速度如圖6所示.

      圖5 插樁后網(wǎng)站訪問速度

      圖6 插樁后Jmeter接口響應(yīng)速度

      通過Telegraf,Influxdb查看CPU、內(nèi)存等資源使用情況,插樁前后CPU、內(nèi)存資源使用率分別如圖7和圖8所示.

      圖7 插樁前后CPU資源使用率

      圖8 插樁前后內(nèi)存資源使用率

      通過對測試結(jié)果的分析可知,進行IAST插樁時對服務(wù)器的CPU、內(nèi)存等資源略有影響,插裝完成后恢復(fù)到插樁前業(yè)務(wù)網(wǎng)站對資源占用的狀態(tài);網(wǎng)站的訪問速度在插樁前后基本一致;插樁前后接口響應(yīng)速度差異在3 ms之內(nèi).綜上所述,IAST插樁前后對業(yè)務(wù)網(wǎng)站的CPU、內(nèi)存、訪問速度影響均小于5%.

      3.5 IAST的應(yīng)用實踐

      本節(jié)以國內(nèi)某DevOps平臺為例,對研發(fā)流程中的IAST安全檢測融合實踐進行說明,如圖9所示:

      圖9 國內(nèi)某DevOps平臺下的IAST安全檢測融合實踐

      DevOps大多使用容器虛擬化環(huán)境進行軟件的開發(fā)交付.由圖9可知,IAST的安全融合可充分利用DevOps的自動化特性,在構(gòu)建測試環(huán)境的同時引入IAST插樁,這里使用修改容器配置文件如DockerFile的方式拉取插樁.由于IAST依賴軟件的運行時環(huán)境,簡單修改測試環(huán)境的環(huán)境變量或啟動參數(shù)即可應(yīng)用IAST插樁對軟件的運行時內(nèi)存、數(shù)據(jù)流進行全面監(jiān)控.隨著流水線運行到測試階段,軟件需要進行全面的自動化功能測試或根據(jù)測試用例進行人工測試,IAST可依托功能測試的交互式功能驗證流量,完成軟件每個功能點的安全漏洞風(fēng)險及敏感數(shù)據(jù)泄露風(fēng)險驗證[11].

      此外,在驗證軟件功能安全性的基礎(chǔ)上,IAST還可以獲取軟件在運行時加載的開源軟件的相關(guān)信息并形成特定指紋,通過指紋信息比對完成軟件的開源軟件威脅審查.軟件的功能測試完成后,相應(yīng)的安全測試結(jié)果隨著軟件功能缺陷一起反饋給研發(fā)人員進行整改.

      4 結(jié)束語

      IAST對于DevOps平臺有著天然的適配屬性,可以無縫銜接到每條軟件開發(fā)流水線中.IAST測試工具適用于軟件測試環(huán)節(jié),可以對測試的軟件功能進行全方位的安全檢測,整個過程安全人員介入較少,無需額外安全測試時間的投入,對現(xiàn)有開發(fā)流程的影響較小,真正實現(xiàn)透明無感知的深度漏洞檢測.IAST測試工具在保證安全性的前提下也符合敏捷開發(fā)和DevOps模式下軟件產(chǎn)品快速迭代、快速交付的要求[12].

      猜你喜歡
      插樁內(nèi)存流程
      砂土中樁靴插樁對臨近筒型基礎(chǔ)的影響研究
      吃水果有套“清洗流程”
      基于TXL的源代碼插樁技術(shù)研究
      “春夏秋冬”的內(nèi)存
      基于性能分析的自適應(yīng)插樁框架
      違反流程 致命誤判
      勞動保護(2018年5期)2018-06-05 02:12:10
      本刊審稿流程
      析OGSA-DAI工作流程
      基于順序塊的嵌入式白盒測試插樁技術(shù)研究
      基于內(nèi)存的地理信息訪問技術(shù)
      佛冈县| 兴业县| 仙游县| 佛山市| 玛纳斯县| 镇安县| 藁城市| 昂仁县| 娄烦县| 阿鲁科尔沁旗| 咸丰县| 罗城| 花莲县| 宝山区| 鄂伦春自治旗| 五常市| 磐石市| 定襄县| 新源县| 若尔盖县| 武鸣县| 柘荣县| 调兵山市| 略阳县| 阿坝县| 鹿邑县| 新余市| 吴桥县| 井冈山市| 宜都市| 纳雍县| 凤庆县| 丹江口市| 乌苏市| 江源县| 华蓥市| 凤山县| 登封市| 焉耆| 达日县| 来凤县|