前言
開源軟件在助力企業數字化轉型的過程中起到了至關重要的作用,然而開源軟件的廣泛應用卻由于安全意識的不足和缺失大大增加了風險暴露面,使用默認配置、允許未授權訪問、權限管理疏忽等缺乏安全意識的表現導致黑客可以以極低的門檻和成本造成大范圍且嚴重的危害。
在過去的半年中,就有境外黑客組織利用上述弱點對我國境內發起攻擊,導致多家重要單位數據泄露。這提醒我們在享受開源社區和軟件帶來便利的同時,提高使用開源軟件的安全意識刻不容緩。
在本篇文章中,我們將簡要介紹AgainstTheWest(ATW)的攻擊活動,并研究他們的入侵攻擊鏈和動機。
一、境外反中黑客“引戰”,高調攻擊我國網絡
自2021年10月以來,一個名為“AgainstTheWest”(ATW)的黑客組織在地下論壇 RaidForums上發布了大量的關于我國多家企事業單位的源代碼數據,以及相關網站被破壞的證據。該黑客組織針對中國企事業單位發起了為期數月的名為“Operation Renminbi”的網絡戰,即使在RaidForums論壇被封禁后,仍然在利用Twitter和Telegram Messenger等社交媒體頻繁發布泄露信息。
如下是ATW于3月2日使用Twitter發布的泄露信息:
2021年10月12日,AgainstTheWest(ATW)組織首次出現在 RaidForums泄密市場的帖子中(有些人會認為ATW首次泄露時間是10月14日,實際上是10月12日發布第一貼,在10月14日對貼子進行了修改,所以帖子上會顯示10月14日),他們聲稱正在出售從中國某銀行竊取的源代碼信息。“我們已經為這項行動工作了至少兩個月,它使我們能夠接觸到其內部資產”,ATW在帖子中表示,并公布了內部截圖。隨后該黑客組織又持續發布多家重要單位的系統源代碼,并宣稱泄露事件將持續進行。
從ATW的論壇活動來看,他們從一開始就知道如何使用論壇,知道數據銷售是如何運作的,甚至在交流中偶爾透露一些關于論壇歷史的知識。10月12日的賬戶創建日期不太可能是ATW第一次訪問該網站,更像是蓄謀已久的活動。ATW展示出來的標簽印象包括作為地下論壇的活躍用戶、擁有一定的黑客技能、意識形態反對中國等。
二、攻擊鏈“簡簡單單”,重要單位“連連失守”
研究ATW的入侵手法可以發現其攻擊鏈并不復雜,2021年末對SonarQube代碼質量管理平臺進行了攻擊,在2022年初又陸續攻擊了Gitblit、Gogs等代碼托管平臺。這些攻擊及造成的數據泄露具有明顯的相似性,主要通過利用代碼質量管理或代碼托管平臺的未授權訪問漏洞來進行入侵。這些開源平臺在默認配置下,都允許未授權用戶直接或間接地訪問代碼倉庫中的源代碼,一旦這些服務暴露在外網,不法分子便能輕松竊取其中的源代碼,從而構成項目源代碼數據的泄露。
通過模擬ATW的攻擊入侵手段,以及能獲取到的源代碼來看,ATW的入侵方式非常成功,他們能輕松進入上萬臺缺乏權限管控的資產內部,其中不乏有重要基礎設施單位的源代碼信息。
盡管ATW在活動中不斷聲稱自己“黑客主義”使命,但與其他黑客主義的團體不同的是,ATW會出售一些目標單位的源代碼或數據。他們接受比特幣和以太坊等作為交易貨幣,盡管有一些帖子是免費公開的,但不排除販賣數據給其帶來了一定的收益。該組織不僅泄漏企事業單位相關系統源代碼,還不斷對政府和重要的基礎設施發起攻擊。
意識形態上,該黑客組織稱國際政治立場不同,攻擊目標主要針對中國、俄羅斯、朝鮮等國家,這恰恰與其名“反對西方”相悖。過去一些關于黑客行動主義團體的攻擊案例最終演變成民族國家執行信息操作的掩護,但是從ATW目前的活動中暫未體現到這一點。
三、國內影響范圍廣泛,一線城市風險高
通過對全網設備進行空間測繪(第三方平臺),發現上述開源平臺在國內使用廣泛。對存在風險的資產項目進行進一步分析發現,其中包含涉及我國多家重要單位的系統源代碼。如下是SonarQube、Gitblit、Gogs的各平臺使用情況:
國內SonarQube、Gitblit、Gogs平臺的平臺使用情況分布TOP省份如下:
四、總結
ATW數據泄露事件,一方面給我國在代碼托管和供應鏈安全方面敲響警鐘,從RaidForums論壇泄露的事件來看,本次事件中關基單位成為攻擊者重點關注的對象,也再次驗證了關基單位的網絡產品供應鏈問題在當前日趨嚴峻的網絡安全形勢下日顯突出,可以說供應鏈安全一旦出現問題會給關鍵信息基礎設施帶來嚴重危害。
另一方面,商業軟件大多都在使用開源軟件以節省開發時間、降低公司成本、避免重復造車輪,但使用軟件公司對這些代碼的品質、來源及應用部署卻未必都給予了足夠的關注和重視,這大大增加了企業單位的風險暴露面,容易被不法分子乘虛而入,導致嚴重后果。
在享受開源社區和軟件帶來便利的同時,也需要企業積極推動建設開源軟件安全治理體系,積極開展開源軟件源代碼檢測工程和提高使用開源軟件的安全意識,形成開源軟件安全治理的長效機制。
五、附錄
附錄1:SonarQube、Gitblit、Gogs詳細的未授權訪問修復方案
(1)SonarQube未授權訪問的修復方案
1.升級SonarQube平臺至最新版本。(SonarQube版本>8.6即可)
2.登錄SonarQube系統,在Administation -> Security -> Force user authentication 設置開啟。
(2)Gitblit未授權訪問的修復方案
1.修改Gitblit默認配置文件data/default.properties中web.authenticateViewPages的值修改為true,禁止未授權用戶訪問倉庫;以及將
git.defaultAccessRestriction的值修改為VIEW,只允許授權用戶進行view、clone、push操作。
2.在創建倉庫時,可通過修改訪問策略,嚴格控制倉庫的使用權限。默認倉庫權限允許未授權用戶查看/克隆項目。
同時對關聯用戶和團隊的權限進行控制
4.修改默認用戶名密碼,可修改用戶配置文件data/user.conf中的默認用戶名密碼,也可在web控制臺修改,如圖:
(3)Gogs未授權訪問的修復方案
1.修改Gogs默認配置文件custom/conf/App.ini中REQUIRE_SIGNIN_VIEW的值修改為true,禁止未授權用戶訪問倉庫。
安全加固建議
1.修改SonarQube、Gitblit、Gogs平臺的默認配置,包括修改默認賬號名、密碼、端口號,并且禁止使用弱口令;
2.審計托管在SonarQube、Gitblit、Gogs的項目源碼,若源碼包含數據庫配置信息、內部系統的賬號密碼、內部API接口等敏感信息,應及時通知相關人員進行更改;
3.禁止SonarQube、Gitblit、Gogs平臺的外網訪問權限,如若必須開放外網訪問,將SonarQube、Gitblit、Gogs平臺放置于防火墻等邊界安全設備保護范圍內,并且定期排查是否存在未授權訪問的異常記錄。