為什麼「開放原始碼」軟體比較安全?

Shiaubo
小柏之邦
Published in
Nov 12, 2022

前陣子,有非資訊背景的朋友對於我高談「開放原始碼」的好處,困惑地表示:「『開放原始碼』將程式碼都攤在陽光下,不就會被駭客找到弱點、加以入侵嗎?」

Photo by Christopher Gower on Unsplash

關於這個問題,在資訊界早已討論許久,兩派人馬各執一詞。我不是資安專家,但我每天都有使用開源軟體,因此我想透過本文簡單地陳述一下自己的看法,各位讀者閱畢後,也歡迎上網搜尋、一同來關注「開放原始碼」的議題吧!

「開放原始碼」一詞源自於英文 Open Source,根據中文維基百科的定義是「一種在電腦程式出品前和開發中提供其內部程式碼的做法。」(2022/11/12 檢索)

國內推動開源文化的社群「開放文化基金會」將其解釋為「科技的運作是公開、透明及眾人可參與的,透過公開和開放協作讓科技是人人都可以使用與改善,增加信任與個人隱私的保障,亦因軟體開發不再封閉,眾人可以站在巨人肩膀上,促進科技的創新與貢獻文明的發展。」

這跟開放原始碼「安不安全」有什麼關聯呢?

以我的角度來解讀,「開放原始碼」的安全性是奠基於「眾人參與」:因為有許多人將他寶貴的時間貢獻給開源社群,如果該軟體有什麼漏洞,反而可以在最短的時間內被發現、並回報給維護軟體的公司或團隊,趕緊釋出修補漏洞的更新,確保使用者的安全。

相對地,如果一個程式沒有主動揭露原始碼,駭客只能利用各種方式嘗試找出其漏洞,假如今天遇到的是一位白帽駭客(入侵之後主動回報),那倒還好,但若是遇到想要作惡的黑帽駭客,後面恐怕就有收拾不完的資安事件了!

常見的例子

在作業系統領域中,最常被拿來比較的就是封閉原始碼的 Windows,以及開放原始碼的 Linux。為什麼許多大型伺服器(Server)多半偏好使用諸如 Red Hat(RHEL)等的 Linux 作業系統,而非 Windows Server 呢?關鍵在於 Linux 的原始碼是開放、公諸於世的,全世界有成千上萬人一同維護、關心它的安全性;相對地,Windows 則經常給人「資安漏洞修不完」、「系統不穩定」等刻板印象,這並非微軟工程師不給力、上班在摸魚,而是因為微軟工程師再怎麼厲害、團隊再怎麼龐大,也敵不過「眾人」的力量。正所謂「眾志成城」,Linux 的安全,用這四字成語來形容是最恰當不過了。

再舉一個例子,那就是此刻提供我們瀏覽這篇文章的工具「網頁瀏覽器」,過去曾是一代霸主的微軟 Internet Explorer(也就是大家熟悉的 IE),最為人詬病的除了是安全漏洞一籮筐,上網速度也是慢到讓人不忍使用;相反地,正當 IE 穩坐瀏覽器霸主時,突然殺出了 Firefox,這個標榜開源的瀏覽器,靠著高穩定性、高安全性,以及「速度」贏得了使用者的芳心,打破了不合理的瀏覽器市場,最終更與 Chrome 等其他瀏覽器聯手打敗了 IE,如今的 IE 已於今年 6 月 15 日正式退役,現在當你打開電腦裡的 IE,也只會被無情地轉跳到 Microsoft Edge。

值得一提的是,目前最多人使用的 Google Chrome 其實「並非」開放原始碼軟體,而是奠基於 Google 的另一項開源專案「Chromium」開發而成,而 Chromium 也同時是 Microsoft Edge、Brave 等瀏覽器的核心。

我常用哪幾個開源軟體呢?

  1. Firefox:由非營利組織 Mozilla 推出的 Firefox,可說是開放原始碼軟體中最經典的代表作之一,也是目前唯一能跟 Chromium-based 瀏覽器抗衡的力量。近幾年 Firefox 在速度、功能面都有不少進步,也非常重視使用者的隱私權,為了確保瀏覽器生態能維持多元、不要走回「一極化」,希望大家多多支持 Firefox!
  2. VLC Player:當內建的 Windows Media Player 或 QuickTime 無法播放的,就交給 VLC來救援吧!
  3. 7-Zip:還在使用經常叫你付費、但卻又可以一直免費使用的 WinRAR 嗎?在壓縮軟體的世界,自由、開放的 7-Zip 正在等待你唷!
  4. Notepad++:身兼程式碼編輯器、文字編輯器,而且留著純正台灣血統的開放原始碼軟體。
  5. 臺灣社交距離:沒錯,我們每天使用的防疫 App 也是開放原始碼軟體喔,如果對於這款 App 的安全與隱私有所疑慮,只要去台灣人工智慧實驗室的 GitHub 查看原始碼,應該就可以解除了。
  6. Telegram:我其實沒有很常用,因為只有一位好友。
  7. 暫時想不到了😅

小結語

不得不說,我們的生活中其實被太多「專有軟體」(「自由及開放原始碼軟體」的相對詞)所束縛,例如每天上班都要使用的 Adobe CC、Office 365 等訂閱制付費軟體,雖然內心反彈,卻也難以真的抗拒,否則就沒辦法完成手邊工作了,也會影響到與同事之間的協作。

這也是為什麼我想要寫下這篇文章,希望我的淺見,能夠點出開放原始碼軟體的珍貴之處,我們可能沒辦法協助維護這些程式碼,但可以讓更多人知道,支持這些軟體,能讓電腦、網際網路世界走向一條更為開放的道路。

Johannes Spielhagen, Bamberg, Germany, CC BY-SA 3.0, via Wikimedia Commons

--

--