FBI 于日前發(fā)布了一個(gè)安全警報(bào)稱(chēng),有黑客正在濫用配置錯(cuò)誤的 SonarQube 應(yīng)用程序,以訪問(wèn)和竊取美國(guó)政府機(jī)構(gòu)以及私營(yíng)企業(yè)的源代碼庫(kù)。
FBI 在警報(bào)中特別警告了 SonarQube 的所有者。SonarQube 是一個(gè)用于管理源碼質(zhì)量的平臺(tái),幫助開(kāi)發(fā)者編寫(xiě)干凈的代碼,其支持的語(yǔ)言包括:Python、Java、PHP、C#、C、Cobol、PL/SQL 與 Flex 等。SonarQube 應(yīng)用被安裝在 web 服務(wù)器上并連接到源代碼托管系統(tǒng)如 BitBucket、GitHub、GitLab accounts 或 Azure DevOps systems。
警報(bào)內(nèi)容指出,此類(lèi)攻擊事件從今年 4 月開(kāi)始就已經(jīng)開(kāi)始了;受影響的除了有美國(guó)的許多政府機(jī)構(gòu)之外,還包括科技、金融、零售、食品、電子商務(wù)與制造等領(lǐng)域的私人企業(yè) 。黑客通過(guò)開(kāi)采已知的 SonarQube 配置漏洞,以訪問(wèn) SonarQube 所存放的私有程序代碼,并將它們公諸于世。
在初始攻擊階段,黑客先是使用默認(rèn)端口(9000)和一個(gè)可公開(kāi)訪問(wèn)的 IP 地址在互聯(lián)網(wǎng)上掃描暴露在開(kāi)放互聯(lián)網(wǎng)上的 SonarQube 實(shí)例。然后,再使用默認(rèn)的管理員憑證(用戶(hù)名:admin,密碼:admin)試圖訪問(wèn) SonarQube 實(shí)例。目前,F(xiàn)BI 已經(jīng)發(fā)現(xiàn)了多個(gè)潛在的計(jì)算機(jī)入侵行為,均與 SonarQube 配置漏洞相關(guān)的泄漏有關(guān)。
如 ZDNet 所述,F(xiàn)BI 的這一警報(bào)涉及到了軟件開(kāi)發(fā)人員和安全研究人員中一個(gè)鮮為人知的問(wèn)題。雖然網(wǎng)絡(luò)安全行業(yè)經(jīng)常就 MongoDB 或 Elasticsearch 數(shù)據(jù)庫(kù)在沒(méi)有密碼的情況下暴露在網(wǎng)上的危險(xiǎn)發(fā)出警告,但 SonarQube 卻成為了漏網(wǎng)之魚(yú)。
事實(shí)上,早在 2018 年 5 月,一些安全研究人員就已經(jīng)針對(duì)讓 SonarQube 應(yīng)用在網(wǎng)上暴露默認(rèn)證書(shū)的危險(xiǎn)性發(fā)出過(guò)警告。彼時(shí),數(shù)據(jù)泄露獵人Bob Diachenko曾警告稱(chēng),當(dāng)時(shí)在線上提供的所有約 3000 個(gè) SonarQube 實(shí)例中,約有 30% 至 40% 沒(méi)有啟用密碼或認(rèn)證機(jī)制。
今年,一位名叫 Till Kottmann 的瑞士安全研究人員也提出了同樣的問(wèn)題,即配置錯(cuò)誤的 SonarQube 實(shí)例。Kottmann 透露,在這一年的時(shí)間里,他已經(jīng)在一個(gè)公共門(mén)戶(hù)網(wǎng)站上收集了數(shù)十家科技公司的源代碼,包括有微軟、Adobe、Amd 以及臺(tái)灣的聯(lián)發(fā)科等,其中很多數(shù)據(jù)就來(lái)自于 SonarQube 應(yīng)用。
為了防止繼續(xù)發(fā)生此類(lèi)泄露事件,F(xiàn)BI 在警報(bào)中列出了一系列緩解措施,包括有:
更改 SonarQube 的默認(rèn)設(shè)置,包括更改默認(rèn)的管理員用戶(hù)名、 密碼和端口(9000)。
將 SonarQube 實(shí)例置于登錄窗口后,并檢查是否有未經(jīng)授權(quán)的用戶(hù)訪問(wèn)該實(shí)例。
如果可行的話(huà),撤銷(xiāo)所有存放在公開(kāi) SonarQube 實(shí)例中的各種 API 密鑰與憑證。
將 SonarQube 實(shí)例配置在組織的防火墻和其他外圍防御系統(tǒng)后面,以防止未經(jīng)認(rèn)證的訪問(wèn)。