0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Kiuwan:更好編碼的3個(gè)步驟

哲想軟件 ? 來(lái)源:哲想軟件 ? 2023-02-23 09:34 ? 次閱讀

近年來(lái),這種做法已經(jīng)被重新檢查和改進(jìn),以包括DevSecOps 形式的安全問(wèn)題。將安全性集成到此方法中已經(jīng)在網(wǎng)絡(luò)空間中產(chǎn)生了重大變化,并且已證明在減少代碼漏洞方面更加有效。

要?jiǎng)?chuàng)建安全的高質(zhì)量代碼,團(tuán)隊(duì)可以采取幾個(gè)步驟。

更好編碼的3個(gè)步驟

更好的代碼歸結(jié)為幾件事:適當(dāng)?shù)陌踩珳y(cè)試、仔細(xì)的質(zhì)量保證、個(gè)人運(yùn)行時(shí)保護(hù)和代碼混淆。

01 代碼安全測(cè)試

代碼安全測(cè)試和分析是當(dāng)今競(jìng)爭(zhēng)激烈的世界的一個(gè)重要方面。適當(dāng)?shù)陌踩珳y(cè)試可以提醒開(kāi)發(fā)人員身份驗(yàn)證不足、信息泄露、二進(jìn)制保護(hù)不佳、格式字符串漏洞、傳輸層安全性不足等。手動(dòng)完成,這是一項(xiàng)繁瑣的工作,因此通常使用專業(yè)的代碼掃描解決方案來(lái)顯著降低此步驟的復(fù)雜性。

代碼安全測(cè)試的主要方法是使用靜態(tài)應(yīng)用程序安全測(cè)試或SAST。這種類型的測(cè)試涉及代碼掃描,以識(shí)別源代碼中的漏洞。這允許編碼人員重新檢查敏感性并采取預(yù)防措施來(lái)應(yīng)對(duì)可能的網(wǎng)絡(luò)攻擊。

SAST可以在軟件的早期開(kāi)發(fā)階段執(zhí)行,這意味著團(tuán)隊(duì)可以在應(yīng)用程序啟動(dòng)和運(yùn)行之前測(cè)試其安全性。使用正確的工具,組織可以在創(chuàng)建代碼時(shí)實(shí)時(shí)識(shí)別和監(jiān)控問(wèn)題。

測(cè)試軟件安全性的另一種方法是聘請(qǐng)專業(yè)安全機(jī)構(gòu)或內(nèi)部IT 安全團(tuán)隊(duì)。雖然這可能被證明是徹底和有效的,但它也可能變得昂貴和耗時(shí)。

當(dāng)開(kāi)發(fā)人員將第三方源代碼注入到他們的最終產(chǎn)品中時(shí),SAST工具被證明特別有用。第三方代碼有其優(yōu)點(diǎn),但開(kāi)源組件也有其缺點(diǎn)。最引人注目的是弱代碼或惡意代碼的威脅。這些問(wèn)題使得開(kāi)發(fā)人員不希望將第三方代碼添加到最終產(chǎn)品中,但SAST 工具通過(guò)分析代碼和構(gòu)建詳細(xì)報(bào)告來(lái)提供保證——即使是在外包代碼上。

這個(gè)過(guò)程可以由專門(mén)的安全團(tuán)隊(duì)完成,但資源緊張通常會(huì)導(dǎo)致組織轉(zhuǎn)而尋找代碼安全工具。

02 代碼質(zhì)量測(cè)試

代碼質(zhì)量取決于團(tuán)隊(duì)的目標(biāo)和他們工作的組織的優(yōu)先級(jí)。但是,可以通過(guò)兩個(gè)主要特征來(lái)識(shí)別高質(zhì)量代碼:可靠性和一致性。干凈的代碼應(yīng)該經(jīng)得起時(shí)間的考驗(yàn)——以及例行測(cè)試的審查。

更好的代碼質(zhì)量還會(huì)帶來(lái)更高的代碼安全性和應(yīng)用程序的可用性。因此,團(tuán)隊(duì)必須確保代碼的質(zhì)量符合標(biāo)準(zhǔn)。

由于沒(méi)有一個(gè)特定的標(biāo)準(zhǔn)可以衡量代碼的質(zhì)量,因此質(zhì)量測(cè)試會(huì)根據(jù)應(yīng)用程序和開(kāi)發(fā)人員的要求而有所不同。為了衡量給定代碼段的質(zhì)量,這些測(cè)試評(píng)估以下特征:

?可靠性

?可維護(hù)性

?可測(cè)試性

?可移植性

?可重用性

通過(guò)從這些角度檢查代碼,開(kāi)發(fā)人員可以減少在整個(gè)代碼中發(fā)現(xiàn)的缺陷數(shù)量。不幸的是,當(dāng)單個(gè)程序員測(cè)試代碼質(zhì)量時(shí),平均只有不到50% 的缺陷得到糾正。因此,開(kāi)發(fā)人員可以使用一些工具和實(shí)踐來(lái)確保質(zhì)量。

使用單一編碼標(biāo)準(zhǔn)

提高代碼質(zhì)量的最佳方法就是使用單一的編碼標(biāo)準(zhǔn)。這可以在軟件開(kāi)發(fā)生命周期開(kāi)始時(shí)完成,并將在整個(gè)應(yīng)用程序中促進(jìn)更一致的風(fēng)格。

運(yùn)行代碼分析器

現(xiàn)代靜態(tài)分析器具有很大的通用性,不僅能夠分析代碼中的安全漏洞,還可以通過(guò)實(shí)時(shí)反饋測(cè)試不連貫或低質(zhì)量的代碼。為了有效地做到這一點(diǎn),這些代碼掃描工具在軟件開(kāi)發(fā)的早期階段運(yùn)行,并在代碼的每一部分完成后使用,以保持一致性。雖然這些并不能完全消除錯(cuò)誤代碼的可能性,但代碼分析器可以顯著降低甚至在代碼審查階段開(kāi)始之前就遇到此類問(wèn)題的可能性。

執(zhí)行單元測(cè)試

單元測(cè)試是一種隔離代碼的單個(gè)部分并通過(guò)初始化該部分并用一個(gè)動(dòng)作刺激它以觀察結(jié)果來(lái)檢查它的技術(shù)。這可確保代碼按預(yù)期運(yùn)行并處于可接受的質(zhì)量水平。

執(zhí)行代碼審查

代碼審查是確保代碼質(zhì)量的主要手段。此步驟應(yīng)始終由專門(mén)的專業(yè)人員配合使用相關(guān)工具來(lái)完成。

03 代碼混淆和運(yùn)行時(shí)保護(hù)

只要有足夠的努力和時(shí)間,所有代碼都可以被逆向工程的概念是眾所周知的。然而,很大一部分代碼——尤其是在 Android、Java和 .NET上開(kāi)發(fā)的代碼——幾乎可以立即被破解。為了保護(hù)代碼免受惡意行為者的侵害,開(kāi)發(fā)人員使用代碼混淆使攻擊者對(duì)其進(jìn)行逆向工程變得極其復(fù)雜。

混淆的方法各不相同,但主要是在不改變實(shí)際軟件工作的情況下通過(guò)分層代碼來(lái)執(zhí)行。

重命名混淆

這種方法改變了變量和對(duì)象的名稱。這允許在代碼中進(jìn)行一層又一層的更改,這將使逆向工程成為反編譯器和人類都成倍困難的任務(wù)。

實(shí)施虛擬代碼

這是一種非?;镜行У募夹g(shù),可將偽代碼添加到軟件中。該代碼不會(huì)影響程序的邏輯流程,但會(huì)使反編譯程序可用的數(shù)據(jù)量更大,因此更難處理。

使用運(yùn)行時(shí)應(yīng)用程序自我保護(hù)

RASP是開(kāi)發(fā)人員與軟件代碼一起實(shí)施的框架,用于報(bào)告和防止對(duì)系統(tǒng)的外部攻擊。RASP 通過(guò)不斷分析正在運(yùn)行的軟件的工作并收集該信息以消除威脅來(lái)運(yùn)行。這項(xiàng)技術(shù)相當(dāng)發(fā)達(dá),2012 年首次部署,因此市場(chǎng)上有幾家頂級(jí)供應(yīng)商。

使用更高質(zhì)量的代碼改進(jìn)軟件開(kāi)發(fā)

軟件開(kāi)發(fā)絕非易事,執(zhí)行手動(dòng)安全測(cè)試、維護(hù)和進(jìn)一步保護(hù)可能會(huì)使組織退縮并使他們無(wú)法完成基本的業(yè)務(wù)任務(wù)。

對(duì)于混淆和運(yùn)行時(shí)保護(hù),PreEmptive可幫助組織提高應(yīng)用程序的彈性。為了節(jié)省時(shí)間和降低風(fēng)險(xiǎn),我們鼓勵(lì)企業(yè)使用 KiuwanInsights 開(kāi)源解決方案等工具來(lái)測(cè)試代碼質(zhì)量、修復(fù)漏洞并確保合規(guī)性。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編碼
    +關(guān)注

    關(guān)注

    6

    文章

    945

    瀏覽量

    54852
  • 分析器
    +關(guān)注

    關(guān)注

    0

    文章

    93

    瀏覽量

    12520
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4791

    瀏覽量

    68694

原文標(biāo)題:Kiuwan:更好編碼的3 個(gè)步驟

文章出處:【微信號(hào):哲想軟件,微信公眾號(hào):哲想軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    拉線編碼器安裝指南:步驟與注意事項(xiàng)

    和反饋提供關(guān)鍵數(shù)據(jù)。本文將詳細(xì)介紹拉線編碼器的安裝步驟及其注意事項(xiàng),幫助您順利完成安裝,確保設(shè)備高效運(yùn)行。 一、安裝前準(zhǔn)備 在安裝拉線編碼器之前,首先需要確保所有部件完好無(wú)損,包括編碼
    的頭像 發(fā)表于 01-02 08:36 ?60次閱讀
    拉線<b class='flag-5'>編碼</b>器安裝指南:<b class='flag-5'>步驟</b>與注意事項(xiàng)

    base64編碼和解碼的使用方法

    Base64編碼是一種基于64個(gè)可打印字符來(lái)表示二進(jìn)制數(shù)據(jù)的編碼方法。它將每3個(gè)字節(jié)的二進(jìn)制數(shù)據(jù)編碼
    的頭像 發(fā)表于 11-10 10:48 ?1164次閱讀

    如何使用ASCII碼進(jìn)行編碼

    字符,包括英文字母、數(shù)字、標(biāo)點(diǎn)符號(hào)和一些特殊符號(hào)。每個(gè)字符在ASCII碼表中都有一個(gè)唯一的數(shù)字代碼,范圍從0到127。以下是使用ASCII碼進(jìn)行編碼的基本步驟: 1. 確定字符的ASCII碼 首先,你需要
    的頭像 發(fā)表于 11-10 09:37 ?655次閱讀

    簡(jiǎn)述光刻工藝的三個(gè)主要步驟

    “ 光刻作為半導(dǎo)體中的關(guān)鍵工藝,其中包括3步驟的工藝:涂膠、曝光、顯影。三個(gè)步驟有一個(gè)異常,整個(gè)光刻工藝都需要返工處理,因此現(xiàn)場(chǎng)異常的處理
    的頭像 發(fā)表于 10-22 13:52 ?635次閱讀

    深視智能點(diǎn)激光/點(diǎn)光譜使用編碼器觸發(fā)采集操作說(shuō)明

    步驟①:點(diǎn)擊主界面的環(huán)境設(shè)定,找到【編碼設(shè)定】,將運(yùn)行模式選擇為觸發(fā),點(diǎn)擊確定。注意間隔值的設(shè)置,間隔表示的是編碼器觸發(fā)間隔,例如間隔是10,那就表示間隔10個(gè)脈沖信號(hào)采集一次。
    的頭像 發(fā)表于 10-08 16:02 ?228次閱讀
    深視智能點(diǎn)激光/點(diǎn)光譜使用<b class='flag-5'>編碼</b>器觸發(fā)采集操作說(shuō)明

    改善升壓轉(zhuǎn)換器PCB布局的五個(gè)步驟

    電子發(fā)燒友網(wǎng)站提供《改善升壓轉(zhuǎn)換器PCB布局的五個(gè)步驟.pdf》資料免費(fèi)下載
    發(fā)表于 09-04 10:22 ?0次下載
    改善升壓轉(zhuǎn)換器PCB布局的五<b class='flag-5'>個(gè)</b><b class='flag-5'>步驟</b>

    變頻器編碼器參數(shù)怎么設(shè)置方法

    變頻器編碼器參數(shù)設(shè)置是確保變頻器與編碼器正常工作的關(guān)鍵步驟。本文將詳細(xì)介紹變頻器編碼器參數(shù)設(shè)置的方法,包括參數(shù)設(shè)置的目的、步驟、注意事項(xiàng)等。
    的頭像 發(fā)表于 06-17 14:36 ?2234次閱讀

    三菱伺服電機(jī)編碼器怎么調(diào)零

    三菱伺服電機(jī)編碼器調(diào)零是確保電機(jī)精確控制的重要步驟。本文將詳細(xì)介紹三菱伺服電機(jī)編碼器調(diào)零的方法和步驟,包括編碼器的基本原理、調(diào)零的目的、調(diào)零
    的頭像 發(fā)表于 06-17 14:21 ?2503次閱讀

    伺服電機(jī)編碼器的原理及使用注意事項(xiàng)

    伺服電機(jī)編碼器作為現(xiàn)代自動(dòng)化系統(tǒng)中不可或缺的組成部分,其性能的優(yōu)劣直接影響到整個(gè)系統(tǒng)的穩(wěn)定性和精確度。本文將對(duì)伺服電機(jī)編碼器的原理進(jìn)行詳細(xì)解析,并列舉使用編碼器時(shí)需要注意的事項(xiàng),旨在幫助讀者
    的頭像 發(fā)表于 06-13 14:49 ?1111次閱讀

    伺服電機(jī)編碼器如何調(diào)零

    伺服電機(jī)編碼器調(diào)零是確保電機(jī)精確控制的重要步驟。本文將詳細(xì)介紹伺服電機(jī)編碼器調(diào)零的原理、步驟和注意事項(xiàng),以幫助用戶更好地理解和操作。 伺服電
    的頭像 發(fā)表于 06-05 15:41 ?4549次閱讀

    RISC-V的中斷處理 中斷操作三個(gè)步驟

    中斷操作三個(gè)步驟: 1、中斷初始化 2、trap處理 3、用戶中斷處理
    的頭像 發(fā)表于 05-20 16:38 ?1255次閱讀

    編碼器脈沖信號(hào)(怎么測(cè)量 | 丟失怎么處理 | 丟失的原因)

    編碼器脈沖信號(hào)怎么測(cè)量 要測(cè)量編碼器的脈沖信號(hào),可以采取以下步驟: 1. 連接編碼器:首先,將編碼器正確地連接到
    的頭像 發(fā)表于 04-17 15:24 ?2797次閱讀

    數(shù)字信號(hào)處理實(shí)驗(yàn)操作教程:3-3 mp3音頻編碼實(shí)驗(yàn)(AD7606采集)

    :取樣、保持、量化和編碼。前兩個(gè)步驟在取樣-保持電路中完成,后兩步驟則在ADC中完成。 AD7606 TL6748-PlusTEB實(shí)驗(yàn)箱上的AD采集是基于 ADI AD7606 芯片進(jìn)
    發(fā)表于 04-03 16:41

    光電編碼器的工作原理 光電編碼器分為哪兩種

    編碼器的工作原理可以簡(jiǎn)單地分為兩個(gè)主要步驟:光電傳感器和編碼盤(pán)的互動(dòng)以及電子信號(hào)處理。 首先,光電傳感器是光電編碼器的核心部件之一。它通常由
    的頭像 發(fā)表于 01-22 15:39 ?2428次閱讀

    磁性編碼器和光電編碼器的比較

    伺服電機(jī)編碼器是一種關(guān)鍵的反饋裝置,用于測(cè)量和控制電機(jī)的轉(zhuǎn)速和位置。在選擇伺服電機(jī)編碼器時(shí),常常面臨一個(gè)選擇:使用磁電編碼器還是光電編碼器。
    的頭像 發(fā)表于 01-18 10:29 ?3258次閱讀