Checkmarx近日重磅發(fā)布了開(kāi)源靜態(tài)分析解決方案KICS(保持基礎(chǔ)架構(gòu)即代碼安全),使開(kāi)發(fā)人員能夠編寫(xiě)更安全的基礎(chǔ)架構(gòu)即代碼(IaC),并為保護(hù)傳統(tǒng)應(yīng)用和云原生應(yīng)用的專(zhuān)有代碼、開(kāi)源組件及關(guān)鍵基礎(chǔ)架構(gòu)安全提供了一個(gè)獨(dú)立平臺(tái)。免費(fèi)下載地址:
https://docs.kics.io/getting-started/,3月30日下午4-5點(diǎn),Checkmarx將舉行KICS線上直播演示講座,誠(chéng)邀您的參與!【掃碼下方二維碼馬上參與】
微信搜索Checkmax微信公眾號(hào):Checkmarx軟件安全管理平臺(tái)
+我們?yōu)槭裁撮_(kāi)發(fā)KICS?
云原生的出現(xiàn)致使現(xiàn)代應(yīng)用的設(shè)計(jì)、開(kāi)發(fā)和部署方式的觀念徹底發(fā)生改變。最終,單體應(yīng)用被分解成小型、獨(dú)立的微服務(wù),且不受所處的環(huán)境約束。Orchestration將它們粘合在一起,使應(yīng)用程序變得更可擴(kuò)展、更可靠、更靈活。
就此而論,Orchestration不僅涉及微服務(wù)通信或組成的方式,還涉及基礎(chǔ)架構(gòu)需求或特定配置。雖然在不久之前,基礎(chǔ)架構(gòu)和配置主要通過(guò)人工提供,但隨著DevOps理念的出現(xiàn),自動(dòng)化現(xiàn)在已經(jīng)普及并在代碼中定義。因此,基礎(chǔ)架構(gòu)即代碼(IaC)時(shí)代已經(jīng)來(lái)臨。
IaC通過(guò)工具和技術(shù)建立了一種方法,用于通過(guò)代碼進(jìn)行基礎(chǔ)架構(gòu)配置和提供服務(wù)?;A(chǔ)架構(gòu)即代碼的優(yōu)點(diǎn)包括:自動(dòng)化、冪等性(例如,復(fù)制用于測(cè)試和生產(chǎn)的基礎(chǔ)架構(gòu))、一致性、自文檔化、降低成本等。然而,與傳統(tǒng)的軟件開(kāi)發(fā)類(lèi)似,基礎(chǔ)架構(gòu)即代碼也容易出現(xiàn)錯(cuò)誤配置或安全漏洞等問(wèn)題,這些問(wèn)題不僅可能危及某一特定的應(yīng)用程序,還可能在更大范圍內(nèi)危及整個(gè)業(yè)務(wù)及其底層基礎(chǔ)架構(gòu)。
引入KICS(保持基礎(chǔ)架構(gòu)即代碼安全):這是一個(gè)由Checkmarx(靜態(tài)代碼分析領(lǐng)域的市場(chǎng)領(lǐng)導(dǎo)者)提供的開(kāi)源獨(dú)立引擎,用于在本地云應(yīng)用的環(huán)境中檢測(cè)源自基礎(chǔ)架構(gòu)即代碼的漏洞、合規(guī)問(wèn)題或錯(cuò)誤配置。截至發(fā)布之日,KICS已提供1000多條安全規(guī)則(用Cx語(yǔ)言查詢),支持Terraform、Kubernetes、Docker、AWSCloudFormation和Ansible,跨越多個(gè)云提供商(如AWS、谷歌云或微軟Azure)。
+我們?nèi)绾伍_(kāi)發(fā)KICS?
起初,KICS僅有50個(gè)查詢,沉寂在一個(gè)私有存儲(chǔ)庫(kù)中,并作為一個(gè)獨(dú)立的引擎存在。當(dāng)時(shí),引擎只能讀取少量的IaC文件類(lèi)型,將它們轉(zhuǎn)換為內(nèi)部展現(xiàn)形式,并以JSON格式生成結(jié)果。
為了讓KICS成為一個(gè)產(chǎn)品,Checkmarx制定了一個(gè)雄心勃勃的目標(biāo),即在不到三個(gè)月的時(shí)間內(nèi)達(dá)到1000個(gè)REGO/OPA查詢,并在不到兩個(gè)月的時(shí)間內(nèi)使其完全開(kāi)源化。
KICS規(guī)則-使用REGO創(chuàng)建超1000條規(guī)則
兩周內(nèi),Checkmarx招募了一批學(xué)生人才加入團(tuán)隊(duì),并專(zhuān)注于創(chuàng)建更多使用REGO開(kāi)發(fā)的規(guī)則。
REGO/OPA是一種用于查詢結(jié)構(gòu)化文檔的高級(jí)說(shuō)明性語(yǔ)言。因此,我們選擇它作為獲取IaC掃描規(guī)則的方法。學(xué)生們很快學(xué)會(huì)了使用REGO進(jìn)行開(kāi)發(fā),并在不到一周的培訓(xùn)內(nèi),按照Checkmarx應(yīng)用安全研究團(tuán)隊(duì)提供的建議漏洞列表和描述編寫(xiě)出規(guī)則和IaC樣本(每項(xiàng)查詢一個(gè)真正樣本和一個(gè)真負(fù)樣本)。
"創(chuàng)建1000條規(guī)則的目標(biāo)是一個(gè)重大挑戰(zhàn)。我們調(diào)整了我們的流程與設(shè)計(jì),并創(chuàng)建了可重用的存儲(chǔ)庫(kù),以避免在我們的REGO代碼中復(fù)制。
有意思的是,完成這些工作后,難題就變成了代碼合并請(qǐng)求批準(zhǔn),而不是開(kāi)發(fā)本身。到最后的截止時(shí)間時(shí),團(tuán)隊(duì)不僅達(dá)到了1000個(gè)查詢的里程碑,并超過(guò)了這個(gè)里程碑(大約1200個(gè))。
KICS核心--開(kāi)源查詢
核心團(tuán)隊(duì)最初的重點(diǎn)在使KICS完全開(kāi)源化。
經(jīng)過(guò)本項(xiàng)目開(kāi)源軟件顧問(wèn)LiorKaplan的密切監(jiān)督,并根據(jù)他提出的寶貴建議,Checkmarx打破了對(duì)于私有存儲(chǔ)庫(kù)的依賴性,重寫(xiě)了更合適的commit歷史記錄,并根據(jù)Apache2.0許可將其移到了公有GitHub存儲(chǔ)庫(kù)中。詳解:
https://github.com/Checkmarx/kics
在這個(gè)過(guò)程期間,Checkmarx利用GitHubActions搭建了CI流水線,將所有KICS的基礎(chǔ)架構(gòu)保持在GitHub環(huán)境中。很快,按照代碼合并請(qǐng)求在流水線中運(yùn)行一系列的驗(yàn)證。它解決了幾個(gè)質(zhì)量方面問(wèn)題:
"代碼測(cè)試覆蓋率(使用Codecov)
"代碼質(zhì)量(使用SonarCloud和Codacy)
"代碼安全性(通過(guò)KICSGitHubaction使用Checkmarx提供的CxSAST和我們自己的KICS)
所有這些驗(yàn)證都出奇地快,只花費(fèi)大約一分鐘,這是在每次成功的"代碼合并請(qǐng)求"之后讓KICS準(zhǔn)備發(fā)布的時(shí)間。
只要質(zhì)量等級(jí)在每個(gè)CI步驟中通過(guò),KICS就可以隨時(shí)發(fā)布。遵循開(kāi)源的最佳實(shí)踐,我們產(chǎn)生了:
"一次夜間發(fā)布,使用相應(yīng)commit的哈希值來(lái)命名。
"每?jī)芍馨l(fā)布一次官方版本,使用SemVer標(biāo)準(zhǔn)。
每次KICS發(fā)布包括裸源、Windows、Linux和MacOS二進(jìn)制文件,以及一個(gè)docker鏡像,詳見(jiàn)DockerHub。
KICS文檔--共享財(cái)富
KICS擁有一個(gè)強(qiáng)大的核心功能,其能夠分析多種類(lèi)型的IaC文件,并且有數(shù)千條安全規(guī)則,持續(xù)每?jī)芍馨l(fā)布一次。
為此,Checkmarx建造了一個(gè)網(wǎng)站(https://kics.io/),并將其存儲(chǔ)在AWS中。但這只是漂亮的登錄頁(yè)。文檔站點(diǎn)是根據(jù)markdown文件通過(guò)MkDocs動(dòng)態(tài)生成的,詳見(jiàn)GitHub頁(yè)面。(
https://hub.docker.com/r/checkmarx/kics)
Checkmarx試圖使KICS文檔盡可能清晰易懂,包含本項(xiàng)目的所有內(nèi)容,包括路線圖,以及使用或貢獻(xiàn)方法說(shuō)明。此外,我們還使用Gitter建立了一個(gè)KICS社區(qū)。一些人開(kāi)始對(duì)外評(píng)論,提出問(wèn)題,并立即提供反饋。
KICS管理--敏捷、規(guī)范化
團(tuán)隊(duì)遵循看板管理法以敏捷的方式開(kāi)展工作。以這種方式管理工作變得很容易,因?yàn)榭梢暂p而易舉地利用GitHub的集成管理功能。
Checkmarx將工作劃分為小項(xiàng)目并為此劃定了目標(biāo),以便更好地組織要處理的問(wèn)題和請(qǐng)求。每個(gè)開(kāi)放的問(wèn)題運(yùn)用標(biāo)簽,以便于理解它們的本質(zhì):漏洞、特性、安全性、查詢、增強(qiáng)等等。
為了指導(dǎo)和更好地管理KICS用戶的貢獻(xiàn),Checkmarx為漏洞、特性、新查詢和代碼合并請(qǐng)求定義了模板。有了模板,我們能獲取重要的信息,并最終標(biāo)準(zhǔn)化描述工作的質(zhì)量。
總體而言,KICS是一個(gè)由架構(gòu)師、開(kāi)發(fā)人員、DevOps和經(jīng)理組成的多學(xué)科團(tuán)隊(duì)。目前已有一些關(guān)注者給予KICS更多的貢獻(xiàn)、反饋等。Checkmarx期待聽(tīng)到更多使用者的聲音!
在此,誠(chéng)邀您使用Checkmarx的產(chǎn)品!免費(fèi)下載KICS并向我們提供反饋意見(jiàn)【掃碼下方二維碼馬上參與】,前30位最詳細(xì)的反饋意見(jiàn)提供者將獲得1000元京東代金券!
此外,3月30日北京時(shí)間下午4-5點(diǎn),Checkmarx將在線上直播演示KICS【掃碼下方二維碼馬上參與】,并在線進(jìn)行答疑!我們?cè)诖苏\(chéng)邀您的參與!
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論