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