跳到主要內容

ExpressVPN 用 Rust 重寫 Lightway 協定:誠邀你一同深入了解

誠邀你一同深入了解 ExpressVPN 用 Rust 重寫 Lightway 協定!

1
隨著資訊安全與隱私的重要性日益提升,我們對虛擬私人網路(VPN)的需求已從單純的隱私保護,進化為追求更快速、穩定且安全的連線體驗。有見及此,ExpressVPN 團隊早在五年前開始開發 Lightway 協定,打造出一款真正適合現代行動世界的 VPN 解決方案。
在過去的一年多內,我們將 Lightway 從最初的 C 語言版本改用 Rust 重寫,背後不僅代表了技術選擇的轉變,更是我們對 VPN 未來創新發展的投入,以及持續與開發者社群分享成果的承諾。
如果你對這樣的轉變有興趣,想了解我們背後的考量、Rust 如何帶來更高安全性與效能,以及我們如何透過開源與外部安全審計來強化信任與透明度,非常歡迎你參加即將舉辦的技術講座:

技術講座:從 C 到 Rust:為何重寫 Lightway VPN 協定
📅 時間:2025 年 8 月 10 日 10:00–10:30
📍 地點:國立台灣科技大學 TR411

Rust 重構背後的關鍵考量

Rust 最令人印象深刻的特性之一,就是其內建的記憶體安全機制。與 C 語言相比,Rust 能夠在編譯時期就防止常見的記憶體相關漏洞,如 Buffer Overflow 、 Null Pointer Deference 等問題。這意味著 Lightway 在協定層面就具備了更強的抵禦能力,減少了潛在的攻擊面。
Rust 的語法設計讓開發者能夠撰寫更簡潔、更具表達力的代碼,同時保持優異的執行效能。更重要的是,Rust 對多核心處理的安全支援,讓 Lightway 能夠更有效地利用現代處理器的運算能力,進而提升整體效能並延長裝置電池續航力。
Rust 的現代架構使得代碼更容易理解、測試和維護。這對於 Lightway 這樣的開源專案特別重要,因為它不僅要服務我們自己的用戶,也希望能為整個 VPN 產業提供有價值的技術貢獻。

開源與雙重審查:建立信任的基石

對開發者社群來說,Lightway 一直以來都是以開源方式公開,這代表任何人都可以檢視、使用甚至改進這套協定。我們相信,唯有在公開、透明的基礎下,網路隱私與安全才能真正實現。
因此,除了開源,我們也特別委託了兩家獨立的資安公司— Cure53 和 Praetorian —進行雙重安全審計,徹底檢視 Lightway Rust 版本的程式碼與加密邏輯。他們對我們全新的 Rust 實作和加密設計進行了嚴格測試,最後只發現了數個低風險的問題。所有發現的問題都已經得到妥善處理,並再次通過了兩家公司的驗證。

一起參與,成為技術進化的推手

面對日益複雜的資安挑戰,技術人員不僅是開發者,更是使用者、審視者與守門人。我們誠摯邀請對此議題有興趣的你,親臨現場與我們一起討論與交流,深入了解這場從 C 到 Rust 的轉型,如何為 VPN 協定開啟全新的篇章。
不論你是正在探索 Rust 的軟體工程師、關注資安議題的技術顧問,還是單純對 VPN 技術感到好奇,我們都期待在講座現場與你相見。讓我們一起打造更安全、更高效的網路連線環境,共同迎向更值得信任的數位未來。
看原始碼: Lightway on GitHub
看審核報告: Cure53 報告 | Praetorian 報告

8 月 10 日,台科大見!

留言

這個網誌中的熱門文章

利用 Jitsi 建立個人化的視訊會議平台

  近期因為疫情的關係,越來越多企業開始實施分流或在家工作,視訊會議的需求也日益增加。 在商用解決方案選擇上,有不少企業會選擇知名品牌的產品,例如  Cisco Webex 、 Google Meet 、 Microsoft Teams 、 Zoom  都是很不錯的方案。 KKBOX 集團在去年便試行及做好充分 work from home 的準備,今年五月也因應疫情升溫,全員 work from home 至今兩個月有餘。 當然,取之 Open Source,也要對社群有些貢獻。在這一屆 COSCUP,我們要來介紹 Open Source 圈中也很知名,效果也很不錯的一套視訊會議平台: Jitsi 。 除了基本的視訊會議功能外,在最後我們也會示範如何透過 Jitsi 畫面輸出到 YouTube/Twitch 或其他支援 RTMP 的平台進行直播。 由於篇幅有限,且 Jitsi 可以調整的細節非常多。今天我們純粹很快速的示範,如何簡單的建置出一個 Jitsi 環境,並提供單場會議內容錄影或直播。 Jitsi 的文件可以在 這裡 找到。 今天透過 AWS Lightsail 的 $10/month instance(1 core CPU + 2GB RAM + 60GB SSD),作業系統則是 Ubuntu 20.04 來示範。當然,使用其他 VPS 亦可,大同小異,這邊直接跳過 VPS 相關的建置過程。 *firewall 相關資料參考 這裡 及 這裡 。 針對系統做必要的更新 基本的 apt repository 更新: $ sudo apt update 因為後面要示範的會議錄影及直播需要使用 ALSA loopback device,如果是 EC2 or Lightsail 則需要額外安裝 generic kernel( 註 ): $ sudo apt install linux-image-generic linux-headers-generic linux-image-extra- virtual 接著做系統套件們的更新: $ sudo apt dist-upgrade $ sudo apt autoremove 如果是 AWS EC2 or Lightsail 則需要另外再將預設的 AWS optimized kernel...

鑽石級贊助商 - KKBOX 帶你打造具備 NLP 功能的 Telegram Bot (上)

打造具備 NLP 功能的 Telegram Bot(上) 最近因為一些契機學了 Python 3,用它做了一個 Telegram Bot ( GitHub 連結 ),裡面用到 NLP Service,用上下兩篇文章記錄一下實作過程還有眉角。上篇首先教大家如何做一個最基本的回聲 Chatbot,接下來我們可以透過 NLP 服務,讓 Chatbot 根據使用者不同的訊息做回答,這樣就變成更加人性化的聊天機器人囉! 使用的工具及服務: Python 3 (for develop) pipenv (for dependency management) OLAMI (for NLP) ngrok (for testing) Step 1. Creating new bot Telegram 很有趣的地方在於,與其他通訊軟體(Line、Messenger)相比,開發者管理 Bot 的方式也是透過官方提供的一位 Bot 在處理的,它叫做 BotFather (眾 Bot 之父 XD)。如果已經有 Telegram 帳號,只要加 BotFather 為好友,就可以開始管理你的 Bot。 加入 BotFather 好友後,它會親切地問候,並告訴你他能為你提供什麼服務。 I can help you create and manage Telegram bots. If you're new to the Bot API, please see the manual ([https://core.telegram.org/bots](https://core.telegram.org/bots)). You can control me by sending these commands: /newbot - create a new bot /mybots - edit your bots [beta] /mygames - edit your games ([https://core.telegram.org/bots/games](https://core.telegram.org/bots/games)) [beta] Edit Bots /setname - change a bot's name /setdescr...

機器學習的五大實務問題:對企業的影響與相應的化解方式

Appier 首席機器學習科學家 林守德博士 正如 Jason Jennings 及 Laurence Haughton 在《以快吃慢–如何藉速度在商戰中克敵制勝》一書中指出──未來,不是大公司吃掉小公司,而是速度快的公司吃掉速度慢的公司。 從現在開始,唯有善用適當的資訊快速做出決策的企業,才能成為戰場上的贏家。 機器學習技術驅動了這場變革。無論企業是嘗試向顧客提出建議、改進生產製造流程或應對市場的變動,都能運用機器學習技術處理大量的資料,進而提高自身的競爭優勢。 然而,機器學習雖能創造大好機會,卻也同時帶來了相應的挑戰。機器學習系統需要大量的資料,以及執行複雜的運算能力。顧客期望改變、出乎意料的市場波動等等外部因素,都意味著機器學習模型的運作並不是百分之百的自動,往往仰賴許多外部的資源來作監控及維護。 此外,機器學習也有不少尚待解決的實務問題。以下將深入探討機器學習的五大實務問題,以及這些問題對企業應用會產生的影響。 1. 資料品質 機器學習系統仰賴資料進行訓練,而訓練資料在廣義上可分為「特徵」及「標籤」兩種類別。 「特徵」是輸入機器學習模型的資料,像是來自感測器、顧客問卷、網站 cookie 或歷史資訊等等。 然而這些特徵的品質可能良莠不齊。舉例而言,顧客在填寫問卷時可能會隨便填寫,或對題目略而不答;感測器可能因失靈而回傳錯誤資料;即使使用者的網頁行為明確,網站 cookie 回報的資訊也可能不完整。 此外,資料也可能包含雜訊,當無謂的資訊夾雜其中時,機器學習模型將會受到誤導而做出不正確的預測。 相較於「特徵」,「標籤」的正確性與穩定度更為重要。標籤是機器學習模型最後輸出的結果。所以需要在訓練的時間利用正確的結果教導機器學習模型。標籤的稀疏性也是個問題,這是當系統已掌握大量輸入的資料卻對輸出的結果沒有把握時出現的現象。在這樣的情況下,將難以針對該模型偵測其特徵與標籤之間的關聯性優化,甚至需要耗費額外的人力干預,將標籤與輸入資料關聯起來。 機器學習需仰賴輸入與輸出資料的關聯,才能具備足夠的泛化能力以預測未來行動並提供相關建議。因此,如果輸入資料過於雜亂、殘缺或有所偏差時,將可能難以理解某輸出/標籤的產出原因。近年來機器學習也開發出許多先進的方法如半指導式學習,轉移學習來處理這樣的問題。 2. 複雜性與品質的取捨 建立強大的機器學習模型需要大量的計算資源來處理特徵和...