![](https://hfnxjk.com/statics/images/logo.png)
如果把 OpenSSL 的 Heartbleed (心臟滴血)漏洞稱為互聯(lián)網(wǎng)安全歷史上最嚴(yán)重的漏洞之一,想必不會(huì)有太多人反對(duì)。SSL(安全套接層)協(xié)議是使用最為普遍的網(wǎng)站加密技術(shù),而 OpenSSL 則是開源的 SSL 套件,為全球成千上萬的 web 服務(wù)器所使用。這個(gè)嚴(yán)重漏洞出現(xiàn)后,全球三分之二的網(wǎng)站可被攻擊,這種攻擊還是“敞開了門,可以隨意掠奪信息”的那種。
2014 年 4 月 9 日,該漏洞被曝光后, OpenSSL 背后的團(tuán)隊(duì)才被媒體爭(zhēng)相報(bào)道,他們的故事逐漸為人所知。2015年,錘子科技羅永浩宣布對(duì) OpenSSL 捐款200萬元,某媒體發(fā)表一篇以 OpenSSL 為主角的《隱形戰(zhàn)友》后, OpenSSL “火”了。隨之而來的,是另一位知名人士對(duì)該文章的反對(duì)——《到底誰在捍衛(wèi)我們的隱私?OpenSSL的真實(shí)故事》。
爭(zhēng)論的角度集中在這幾個(gè)方面:
1. OpenSSL 真的有這么英雄主義嗎?
2. OpenSSL 真的有這么窮嗎?之前少有人給他們捐款嗎?
3.真實(shí)的 OpenSSL到底是什么樣子?
9月23日, OpenSSL 團(tuán)隊(duì)成員參觀白山云科技公司時(shí),OpenSSL創(chuàng)始人之一,美國(guó)國(guó)防部前顧問 Steve Marquess(也就是《隱形戰(zhàn)友》中的史蒂夫)、OpenSSL前身SSLeay創(chuàng)建者,OpenSSL創(chuàng)始人之一 Tim Hudson 和白山云科技架構(gòu)師,OpenSSL代碼貢獻(xiàn)榜排名18 的楊洋接受了媒體采訪。
楊洋(左一)、 Tim Hudson(左二)、Steve Marquess(右一)
OpenSSL 的真實(shí)故事應(yīng)該由他們自己來說。
--
“心臟滴血”后 OpenSSL 發(fā)生了什么
Steve 一行人此前從沒有來過中國(guó)。
這個(gè)星期里,Steve 和 OpenSSL 其他 4 名核心成員還陸續(xù)參觀了阿里巴巴、百度、騰訊、華為、錘子科技等,最后一站他們來到了好隊(duì)友楊洋所在的白山云科技。
華為和錘子科技確實(shí)是中國(guó)兩家對(duì) OpenSSL 捐款最多的公司,Steve 在白山云科技的這場(chǎng)活動(dòng)中,先對(duì)兩家公司表示了感謝。
“我們收到的來自中國(guó)的資助要比其他任何一個(gè)國(guó)家都多。”Steve說。
現(xiàn)在 OpenSSL 日子已經(jīng)過得好多了,相比三年前只有兩個(gè)全職員工,他們現(xiàn)在有個(gè) 4 名全職員工,其中兩個(gè)全職人員這次也來到了中國(guó)。
“‘心臟出血’是慘痛的經(jīng)歷,但是發(fā)生這件事情也有好處,這件事情顯示了計(jì)算技術(shù)和互聯(lián)網(wǎng)有多大程度依賴 OpenSSL,很多媒體進(jìn)行了報(bào)道。它的發(fā)生是由于嚴(yán)重的安全漏洞,OpenSSL 規(guī)模那么大、復(fù)雜程度那么高、影響面那么大,卻沒有足夠的人力保障它的安全,這是個(gè)問題。”Steve 這樣表述了“心臟滴血”漏洞發(fā)生的原因。
雖然,在《到底誰在捍衛(wèi)我們的隱私?OpenSSL 的真實(shí)故事》中,作者這樣寫道:
“OpenSSL 公布‘心臟出血’漏洞的過程也非常有問題。一般出現(xiàn)嚴(yán)重漏洞的流程,是先不對(duì)公眾公布,立即通知主流操作系統(tǒng)維護(hù)者和相關(guān)廠商,讓大家先修改,之后一起發(fā)布安全公告和升級(jí)。之所以這樣做,是因?yàn)槿绻僮飨到y(tǒng)不去打補(bǔ)丁,很多普通用戶知道漏洞也沒辦法修補(bǔ),反而讓黑客們更容易利用這些漏洞。OpenSSL 不是這么做的,在 Google 告知了他們漏洞之后,OpenSSL 沒有告知任何一家操作系統(tǒng)廠商,反而奇怪的被幾家主要 CDN 廠商知道了,也就是說,在不知道哪個(gè)環(huán)節(jié)發(fā)生了泄密。之后開源社區(qū)中開始有關(guān)于這個(gè)重大 Bug 的傳言,直到這個(gè)時(shí)候,幾大操作系統(tǒng)仍然沒得到正式通知。又過了3天,OpenSSL 才告知了Red Hat……”
在那三天里,OpenSSL 到底發(fā)生了什么?
Tim 稱:“據(jù)我所知,心臟滴血事件是由兩個(gè)團(tuán)隊(duì)互不知情的情況下獨(dú)立發(fā)現(xiàn)的。我只對(duì)我們所作出的反應(yīng)負(fù)責(zé),對(duì)其他公司沒辦法負(fù)責(zé)。當(dāng)時(shí)這個(gè)漏洞是非常嚴(yán)重的危險(xiǎn)級(jí)別,我們所采取的措施也是當(dāng)時(shí)認(rèn)為合理的措施。整個(gè)過程中誰做了什么、誰發(fā)現(xiàn)了什么漏洞,這都是公開的,可以在我們的網(wǎng)站上查得到。”
出了這么大的事情,Steve說,對(duì)于一個(gè)人手有限的團(tuán)隊(duì)來講日子確實(shí)不好過。一個(gè)看上去本來籍籍無名的團(tuán)隊(duì)瞬間火了,Steve 的好朋友,甚至連他的牙醫(yī)都關(guān)心地詢問:“最近老在電視上看到你,要不要緊?”
那一段時(shí)間,OpenSSL 倍感壓力,收到了很多批評(píng)的聲音,他們?nèi)缏谋”瑩?dān)心未來可能重蹈覆轍,但也收到了一些鼓勵(lì)的反饋。讓 Steve 覺得溫暖的是,一些他甚至都沒聽過名字的非洲國(guó)家都發(fā)來了鼓勵(lì)的郵件,以前團(tuán)隊(duì)不太關(guān)注的中國(guó)也發(fā)來了“令人鼓舞的信息”。
“除了擴(kuò)展到有 4 個(gè)全職員工的團(tuán)隊(duì),一些 OpenSSL 的成員盡管有自己本職工作,但是他們的公司會(huì)鼓勵(lì)他們做一些 OpenSSL 的工作,這些公司以間接的方式給我們提供了支持。我們還收到數(shù)百個(gè)中國(guó)人以及錘子科技、華為這兩個(gè)中國(guó)企業(yè)給我們的資助,我們收到中國(guó)的資助要比其他任何一個(gè)國(guó)家都多。” Steve 說。
此后則是 OpenSSL 的復(fù)蘇。
這個(gè)團(tuán)隊(duì)經(jīng)歷了重建,從系統(tǒng)上還了之前欠下的技術(shù)債。這些技術(shù)債是指一些之前沒有進(jìn)行很好的重構(gòu)與精減的代碼,后來又不斷加入新代碼和功能,OpenSSL 做了梳理和篩減,盡可能讓內(nèi)部結(jié)構(gòu)變得不透明,他們有了新代碼庫(kù),第一次重要審計(jì)也是在這個(gè)期間完成。
此前,還有詬病 OpenSSL 團(tuán)隊(duì)管理混亂的聲音, Steve稱,情況得到了改善,現(xiàn)在OpenSSL 有14位 “貢獻(xiàn)者”和10位管委會(huì)成員,其中有 8 名是身兼兩職。
他們現(xiàn)在缺錢嗎
OpenSSL 團(tuán)隊(duì)成員此次來到中國(guó),是楊洋促成的。
讓人難以想象的是,和一個(gè)人在線上聊了15年,但從來沒有線下見過面是一種怎樣的體驗(yàn)。在OpenSSL 團(tuán)隊(duì)中,這是十分常見的現(xiàn)象。更讓人難以想象的是,OpenSSL 整個(gè)團(tuán)隊(duì)總共在線下見過三次面。
第一次見面發(fā)生在 2014 年德國(guó)的一次會(huì)議后,那是一種奇妙的體驗(yàn),十幾個(gè)OpenSSL 團(tuán)隊(duì)的成員走進(jìn)一間會(huì)議室,盡管有些人視頻聊天過,但還是見面不相識(shí)。
第三次碰面則是這次在中國(guó):屬于幾個(gè)老友的相聚。
楊洋在兩三年前與 OpenSSL 團(tuán)隊(duì)相識(shí),那時(shí)他還在阿里巴巴,與 OpenSSL 的接觸屬于項(xiàng)目對(duì)接,當(dāng)時(shí)他還沒有兼職為 OpenSSL 貢獻(xiàn)代碼。去年底,楊洋加入白山云科技,由于公司允許他異地遠(yuǎn)程辦公,并支持他同時(shí)為 OpenSSL 貢獻(xiàn)代碼,目前這個(gè)在家鄉(xiāng)沈陽工作的小伙子從上午 10 點(diǎn)到下午 6 點(diǎn)為白山云科技工作,從晚上 8 點(diǎn)到凌晨三點(diǎn)為 OpenSSL 處理相關(guān)事宜及貢獻(xiàn)開源代碼。目前,根據(jù)代碼量和代碼質(zhì)量排行的 OpenSSL 貢獻(xiàn)榜上,楊洋排名全球18位,中國(guó)區(qū)排名第一位。
這家創(chuàng)業(yè)才兩年的白山云科技得知楊洋和 OpenSSL 的淵源后,十分支持他的工作,并將本來是楊洋與OpenSSL 的一次私人聚會(huì)變成了一次 OpenSSL 的中國(guó)行,全力協(xié)助 OpenSSL 團(tuán)隊(duì)的成員與中國(guó)著名互聯(lián)網(wǎng)公司之間的交流溝通,由于這個(gè)團(tuán)隊(duì)沒人懂中文,楊洋還要全程陪同翻譯。
此前,國(guó)外也有一些公司支持自己的員工為 OpenSSL 貢獻(xiàn)時(shí)間和代碼,但在中國(guó),像楊洋這樣的兼職 OpenSSL 成員并不多,到白山云科技現(xiàn)場(chǎng)支持的還有同為 OpenSSL 安全研究員的 360 CERT&Gear Team 的石磊。
事實(shí)上,誠(chéng)如《到底誰在捍衛(wèi)我們的隱私?OpenSSL的真實(shí)故事》這篇文章所言,并非沒有人和公司捐助 OpenSSL ,捐助 OpenSSL 的方式有幾種:個(gè)人或者公司直接捐款給 OpenSSL 的基金會(huì),通過 Linux 基金會(huì)捐款給OpenSSL ,公司或個(gè)人貢獻(xiàn)開源代碼或者員工時(shí)間給 OpenSSL ……
不過情況也并非批評(píng)者說得那么樂觀。除了自家基金會(huì),只有 Linux 的基金會(huì)目前對(duì) OpenSSL 捐款,捐款的數(shù)額沒有傳說中那么大,只負(fù)擔(dān)這三年來新增的兩位全職人員的全年工資,OpenSSL 尚未得到其他基金會(huì)的關(guān)注,不過也有一些其他企業(yè)和個(gè)人的捐款。
“我們主要做一些咨詢的合作,比如幫英特爾這樣的公司。在過去 5 年里面,我估計(jì) 1/4 的營(yíng)收是從商業(yè)性的合作中獲得的。”Steve 說。
Tim 說:“不管是公司還是個(gè)人,都有捐獻(xiàn)代碼,我們會(huì)進(jìn)行研究、評(píng)估。如果覺得可以的話,我們會(huì)加入到軟件鳴謝名單里。也有一些貢獻(xiàn)的形式,有的是代碼,有的是文檔,有的是幫我們找錯(cuò)誤等,不管是什么,我們都是很歡迎的。”
三年前,OpenSSL 確實(shí)窮到只有“一點(diǎn)點(diǎn)收入”。
Steve稱,OpenSSL 團(tuán)隊(duì)有一個(gè)極具才華但是一貧如洗的程序員 Stephen Henson,Stephen窮到什么程度?Steve 說,窮到我知道的時(shí)候都震驚了。
Steve 和 Stephen 是相識(shí) 15 年卻依然沒有見過面的老友,因?yàn)?Stephen 性格獨(dú)特,是一個(gè)非常害羞的人,從來沒坐過飛機(jī),甚至連護(hù)照都沒有。但是, Stephen 卻是Steve 認(rèn)為在工作上最靠得住的人,他從來沒有在任何一個(gè)項(xiàng)目快結(jié)束時(shí)遲交過代碼。
也因此,Steve 在知道 Stephen 的困境后,Steve 全權(quán)幫助 Stephen 承接一些商業(yè)項(xiàng)目支撐生活。
此前提到,Steve 是前美國(guó)國(guó)防部的顧問,擁有良好的聲譽(yù),早期 Stephen 只是一個(gè)不出名的程序員,為了能讓 Stephen 順利獲得這些項(xiàng)目,Steve 只能以自己的名義簽下這些項(xiàng)目,讓 Stephen 全程完成。有時(shí),Stephen 一整年的收入都從Steve 這里獲得。在兩人沒有簽訂任何協(xié)議下,一個(gè)以自己的信譽(yù)作擔(dān)保,一個(gè)完全信任對(duì)方幫助自己處理財(cái)務(wù)上的事情,這種默契維持了很多年。
真實(shí)的 OpenSSL
Steve 讀到《隱形戰(zhàn)友》這篇文章的翻譯版時(shí),已經(jīng)是文章發(fā)表的半年后了。對(duì)于文章所呈現(xiàn)出的“英雄主義”色彩,Steve 稱,確實(shí)夸張了。
有意思的是,當(dāng)時(shí) Steve 還把文章發(fā)給了楊洋,兩人一起討論文章中言過其實(shí)的一些細(xì)節(jié)。
不可否認(rèn)的是,這篇文章發(fā)布后,OpenSSL 收到了一些不錯(cuò)的反饋,一些來自中國(guó)的郵件和捐款找了上來。
雷鋒網(wǎng)編輯沒有問 Steve 等人成立 OpenSSL 的動(dòng)機(jī)。因?yàn)樗谘葜v中已經(jīng)提到,如果要加入 OpenSSL,絕不是因?yàn)殄X,如果要堅(jiān)持下來,一定要有過硬的 C 語言編程技能、恒心以及興趣。
“開源的不光是替自己寫代碼,挑戰(zhàn)比較多。我們希望代碼有商業(yè)上的意義,有些公司愿意雇傭我們的員工。但有些人如果只著眼于利潤(rùn),可能沒有耐心投入正常的時(shí)間和資金來做開源。這也是為什么有的開發(fā)人員和程序員離開了我們團(tuán)隊(duì)。以我為例,我可以把 OpenSSL 當(dāng)作興趣來做,我把房子的貸款還清了,女兒畢業(yè)了,不欠銀行什么錢,不用擔(dān)心自己餓肚子,因此花了大量時(shí)間在 OpenSSL 的工作上。我甚至通過做一些 OpenSSL 相關(guān)的咨詢賺到了錢,現(xiàn)在有很多公司都會(huì)涉及到 OpenSSL,所以需要這方面的咨詢。”Steve 說。
楊洋則稱,自己做這件事情“just for fun”,就跟大家喜歡聽音樂、看電影一樣。
關(guān)于 OpenSSL 和 Steve ,事實(shí)上也有一些傳聞和誤解。
Steve 稱,他的工作是一個(gè)自由職業(yè)咨詢顧問,所做的事情就是服務(wù)各行各業(yè)的客戶,從一個(gè)項(xiàng)目到另外一個(gè)項(xiàng)目,做了 40 多年。此前,還有傳言稱他要接觸軍火交易。事實(shí)上,他本人并沒有進(jìn)行過軍火交易,比如槍、導(dǎo)彈。之所以有這種傳聞,是因?yàn)榇饲懊绹?guó)政府有一個(gè)規(guī)定,密碼或者加密系統(tǒng)被視為武器,所以與軍方有過一次合作項(xiàng)目的 Steve 必須申請(qǐng)武器方面的從業(yè)執(zhí)照。
Steve 加入OpenSSL 時(shí),這還是一個(gè)默默無聞的組織,他澄清,自己并沒有那么強(qiáng)烈的英雄主義情結(jié),這個(gè)默默無聞的組織起初也并未讓他獲得所謂“英雄”的感覺。但在“心臟滴血”事件后,加入 OpenSSL 才可能會(huì)有這個(gè)效應(yīng)。
OpenSSL 可能只有一些小小的心愿。
“項(xiàng)目背后的動(dòng)機(jī)是什么?它是一個(gè)開源的項(xiàng)目,我們也很樂意看到 OpenSSL 應(yīng)用廣泛,也希望它的應(yīng)用繼續(xù)擴(kuò)大下去,能夠造福所有的用戶。我們不確定的是哪一些特性是為人所樂見的,有的公司有特定的需求,但如果它們不告訴我們,我們沒辦法拿到這方面的信息。有時(shí)我們會(huì)做一些調(diào)整, 最后被證明對(duì) OpenSSL 社區(qū)是有益的。此外,我們會(huì)不斷對(duì)補(bǔ)丁進(jìn)行維護(hù),隨著版本發(fā)布進(jìn)行更新,讓用戶受益。因此,大家覺得有必要出于自己目的來修改 OpenSSL 的話,也許我們也能夠聽到大家的聲音,即使微小調(diào)整也許會(huì)適應(yīng)龐大的需求。”Steve 說。