十一月一號,周六。
中關村。
中科院軟體研究所的大樓灰牆紅瓦,門口兩棵銀杏樹葉子已經黃了一半。
林遠穿過停車場,推開二樓西側辦公室的門。
周明哲已經在等他了。桌上攤著三樣東西:一份裝訂成冊的項目計劃書、一台老式聯想台式機、還有一摞列印出來的論文。
"來了。"周明哲倒了杯水遞過來,"坐。"
林遠接過水杯,在桌對面的椅子上坐下。
"經費的事,所里已經批了。"周明哲翻開計劃書的第一頁,"八十萬,兩年撥付。第一年五十萬,這個月到帳。第二年三十萬,明年十一月前撥付。"
"夠用。"
"人員費不超過20%,也就是十六萬。其餘用於設備採購、差旅和測試資源。"周明哲指了指桌上的台式機,"這是給你配的遠程工作站——奔騰4、2.8GHz、1G內存、120G硬碟。放在軟體所機房,你遠程隨時可用。"
林遠看了一眼配置。2003年的中科院,這個配置不算頂級,但跑分析平台夠用了。
"第一階段目標。"周明哲翻到計劃書的第三頁,手指點了點上面的表格,"六個月。2003年11月到2004年4月。三個硬性指標。"
"第一,在五萬個惡意軟體樣本上驗證檢測準確率,95%以上。第二,誤報率千分之五以內。第三,至少一篇CCF-A類論文。"
林遠把三個指標在腦子裡過了一遍。
"95%準確率、千分之五誤報率、一篇頂會。"他說,"標準不算高。Consumer在真實部署環境裡已經做到了97.8%的準確率和千分之三的誤報率。"
"Consumer的數據是基於實際部署場景。"周明哲放下計劃書,"863項目要求的是標準化測試集上的數據。兩者不一樣。標準化測試集更可控,但樣本來源更多樣、更複雜——包括變形殼、加殼程序、多態惡意軟體。95%是一個穩妥的底線,別太樂觀。"
"明白。標準化測試集的樣本從哪來?"
"四個渠道。"周明哲說,"中科院軟體所自己的惡意軟體庫,大約兩萬個。計算所陳偉東那邊共享八千個。國家網際網路應急中心提供一萬個脫敏樣本。剩下的一萬兩千個,從開源惡意軟體資料庫里採集。"
"脫敏樣本的數據清洗誰來做?"
"你們工作室那個張浩然。"周明哲說,"他的後端能力正好適合做數據pipeline。"
林遠點頭。這個安排和他想的一樣。
"第二個目標——論文。"周明哲靠回椅背,"你之前投了Journal of Cryptology的那篇,還在審稿?"
"嗯。JOC-2002-1247。審稿周期十二到十六周,上個月已經十六周了,應該快出結果。"
"如果被接收,863的論文指標就有了一個起點。如果沒有——"
"那就基於863項目的成果寫新論文。"林遠說。
"投哪裡?"
"兩個選擇。IEEE S&P,信息安全頂會。ACM CCS,也是頂會。都是CCF-A類。"
"S&P的截稿日什麼時候?"
"明年一月。"
"來不及。"周明哲搖頭,"只剩兩個月,數據還沒跑出來。CCS呢?"
"五月截稿。半年時間,夠了。"
"那就瞄準ACM CCS 2004。"周明哲在計劃書的空白處寫了一行字,"論文方向——基於行為特徵的惡意軟體自適應檢測方法。"
"差不多。"林遠說,"但我傾向於把題目收窄一點——聚焦在多態惡意軟體的檢測上。這是目前學術界最頭疼的問題,也是Consumer表現最突出的方向。"
周明哲想了想:"有道理。多態檢測是你Consumer的核心優勢,用這個方向發論文,既有學術價值,又能和工程項目互相支撐。"
"第一階段的具體分工,我做了一份方案。"林遠從背包里拿出一份四頁紙的文檔,遞過去。
周明哲接過來,快速掃了一遍。
"你負責核心算法設計和優化。張浩然負責樣本分析平台的工程化搭建。中科院這邊我帶兩個研究生——劉洋,博二,清華計算機本科,方向是惡意軟體行為分析。陳思雨,研二,方向是機器學習,負責實驗設計和數據可視化。"
"劉洋的能力怎麼樣?"
"紮實。"周明哲說,"他碩士階段發過兩篇中文核心,對惡意軟體的多態變形機制有很深的理解。就是工程能力一般,代碼寫得比較糙。"
"沒關係,工程化有張浩然兜底。劉洋專注樣本分類和標註就行。"
"好。"周明哲把方案放下,"下周一開始,你每周來軟體所兩天。一天在機房跑實驗,一天和劉洋他們碰進度。"
"沒問題。"
十一月三號,周一。
下班後,工作室。
趙強在調試WatchGuard的新規則集,王晨在改Consumer的報表模塊。
林遠叫住正準備下班的張浩然。
"有個事。"林遠把辦公室的門關上,"中科院的項目正式啟動了,第一階段六個月。需要你參與。"
張浩然坐下來:"做什麼?"
"樣本分析平台。三層架構——數據存儲、分析引擎、實驗展示。五萬個惡意軟體樣本的數據清洗、分類標註、自動化分析流程,都需要你來做工程化。"
"每周投入多少?"
"兩天去軟體所,和劉洋、陳思雨搭檔。剩下三天在工作室做日常開發。"
張浩然想了想:"平台的技術棧?"
"Python做數據處理,C++做分析引擎的核心模塊。資料庫用PostgreSQL。可視化用matplotlib。"
"劉洋和陳思雨什麼水平?"
"劉洋對惡意軟體很熟,代碼差一點。陳思雨數據pipeline做得不錯,Python很溜。你負責架構和工程質量,他們負責具體模塊。"
張浩然點頭:"明白了。明天開始?"
"明天先去軟體所認個門,和劉洋對一下接口定義。正式開發從周三開始。"
"好。"張浩然站起來,又問了一句,"工作室這邊需要說嗎?"
"不用。"林遠說,"學術線和產品線分開。蘇明遠那邊你不用解釋。"
"明白。"
十一月四號,周二。
Consumer beta測試進入第十五天。
"累計反饋三十一家。"孟薇薇把一份分類匯總表放在林遠面前,"比上周多了八家。主要集中在三類——功能性需求、性能問題、兼容性。"
"功能性需求排前三的是什麼?"
"分組管理、報表導出、遠程策略下發。"
"分組管理和報表導出放進v1.0,王晨這周加進去。遠程策略下發——"林遠想了想,"放v1.1。企業客戶第一優先級是看清楚自己有多少終端、每台終端什麼狀態。策略下發是下一步的需求。"
"性能問題?"
"兩項。"孟薇薇翻了翻表格,"第一,五百台以上終端並發時管控台頁面加載變慢,從2秒漲到7秒。第二,日誌模塊在高寫入量下磁碟占用增長過快,一天能漲500MB。"
"第一個問題,張浩然之前做的緩存方案應該能解決,我讓他這周集成進去。第二個——加日誌自動輪轉,單文件超過100MB自動歸檔壓縮。"
"兼容性問題?"
"三家企業用的是Windows NT 4.0。兼容包已經在做了,這周能出。Mac OS X和Linux——放v2.0路線圖。"
"時間表?"
"十一月一號到十號,修復全部beta反饋。十一到十四號,回歸測試。十五號晚上封版上線。"
"好。"林遠簽了字,"回郵件的時候,給每一家反饋的企業都發一封確認——他們的反饋我們已經處理或者排入計劃了。這是企業客戶,每一家都不能怠慢。"
"明白。"
同一天。
橫店。
楊姝冪給林遠發了一條簡訊。
"寫歌的哥哥!告訴你一個好消息!《夜雨寄北》被選為片頭曲了!我今天在片場聽到了demo!旋律一起的時候我差點哭出來!太好聽了!你能來給《大理寺卿》寫歌真的太幸運了!"
林遠看著這條簡訊,能想像到她在片場戴著耳機、眼睛亮晶晶的樣子。
他回了一條:"不是幸運。是你們的劇值得。"
"真的嗎?你真的覺得我們的劇好?"
"好不好,播出之後觀眾說了算。但你演的小翠,應該會讓觀眾記住。"
楊姝冪很久沒有回覆。
過了二十分鐘,她才發來一條:"謝謝你的信任。我不會讓你失望的。"
林遠看著屏幕。
"不會讓你失望"——不是"不會讓導演失望",不是"不會讓觀眾失望"。
是"不會讓你失望"。
這個姑娘。
他回了一條:"繼續拍戲。"
然後放下手機,打開了Consumer的回歸測試報告。
三十一家企業反饋,零已知bug。
十一月十五號,正式上線。