第59章
第58章
沒有去上課的時夜, 今天坐在圖書館裏,借用這邊的網絡。
當楚英縱上完課來招人的時候,就看見這冰山小學弟坐在某個多功能媒體室的最角落裏, 若有所思地看着自己的筆記本電腦,眉頭有若有似無的皺起痕跡。
——問題真的很難解嗎?
楚英縱走進來帶上了門, 看了時夜一陣, 不知不覺把自己帶來的橘子全剝好了,悄悄放在時夜手邊。
時夜擡頭看向楚英縱。
楚英縱︰“我超安靜的!沒打擾你!”
“……”時夜默默地又低下了頭。
過了一會兒, 楚英縱偷瞄着時夜屏幕上的內容, 見他這次好像在看一個dll文件, 看函數名的名字大概為︰CertDllVerifyMicrosoftRootCertificateChainPolicy……
楚英縱不由好奇地問︰“你不是要破解手機嗎?怎麽在看數字證書的東西?”
時夜道︰“ECC更新了新版本,和IOS兼容性不是很好,可能有漏洞。”
楚英縱聽了, 精神一振︰“有道理啊!”
他跟着也瞄起了屏幕,粗略地看了看裏頭新更新的函數。
根據版本更行後的對比來看,微軟這次主要是修改了幾個證書鏈接策略有關的函數, 新增了幾個對于新協議的兼容性入口。
時夜若有所思地來回調試,将一些關于內存對比的代碼進行了高亮處理。
楚英縱對于這點東西還是能看懂的, 好奇地說︰“是這裏在對公鑰進行對比嗎?”
Advertisement
時夜說︰“嗯。”
數字證書, 可以類比人的“簽證”,需要通過官方信賴的機構進行簽發。
用微軟發明的這個橢圓曲線算法(ECC)來進行舉例︰簽證機構首先選取一個私鑰, 将私鑰定義一條橢圓曲線,引入額外參數, 來得到橢圓上的另一個解, 這個解就是公鑰。
私鑰這個東西只有簽證機構自己知道,但是公鑰是要發布到全網上的。
當簽證機構給某個軟件簽發數字證書的時候,他會用自己的私鑰、某些局域參數和哈希值一并來産生簽名, 也就變成了那個軟件的“簽證”。
然後,公網上的任何人,都能夠使用公鑰,來比較這個軟件的簽證,也就是自己再通過一次橢圓曲線計算,可以對比得到結果是否相等——
相等就說明“簽證”就是官方機構簽發的,沒問題了;
如果不相等,那麽這就是“無效簽證”,這個軟件就是可疑的,是沒有護照的黑戶,不予信任。
這一整個數字簽證的過程,就是一場不對稱的加密策略。
“不對稱”就在于︰簽證機構持有私鑰,而所有人都持有公鑰,整個過程只能驗算,卻無法逆推。
就像國家掌握了印錢的防僞技術,所有人都能簡單地用看一看、摸一摸的手段來驗明錢幣的防僞标記,但是沒有人能僞造出這種标記來。
這種技術也能最大程度地幫助計算機軟件來防僞,也就變相保證了設備本身的安全性。
但是,在時夜的世界裏,沒有不可能一說。
畢竟——“世界上沒有絕對安全的系統,只有尚未被發現的漏洞”。
他來回調試着更新後的ECC簽證算法,接着發現了一個叫做“CertVerifyCertificateChainPolicy”的函數,連續傳遞了四個證書相關的參數,而且未做任何處理,便傳向了下游的函數。
他陷入了沉思。
楚英縱見時夜突然停在了某個确定的位置上,不由也盯着看了半晌,抓耳撓腮的問︰“時小夜,我能看懂OID這個參數,剩下三個是什麽意思?”
時夜拿起筆,随手在紙上寫下了這幾個參數,對他解釋道︰“假設根證書的私鑰是p,這個私鑰我們無從得知,但ECC的基點為G,那麽公鑰就是pG。這幾個參數只是在自定義橢圓曲線的參數r、s和公鑰……”
說到此處,他聲音突然停住了。
楚英縱猛地“啊”了一聲,說︰“那這麽校驗的話,我自己傳參進去,用一模一樣的自定義參數,不就可以用随便一個私鑰也可以進行簽證了?”
時夜沉默片刻,說︰“你想的不錯。”
時夜在電腦上打開了命令提示符,開始使用openssl命令,自己僞造一系列參數,嘗試生成新的ECC證書。
然後用僞造的ECC證書,他随手對一個三無小軟件做了簽名。
楚英縱看到一半的時候,已經自發自覺,默默地将自己的手機掏了出來,連接到電腦上。
接着,時夜嘗試将軟件安裝到他的手機上——
數字簽名校驗通過。
軟件安裝成功。
到這一步,楚英縱的嘴巴已經變成了“O”型,叫道︰“哇哇哇哇哇哇哇我們發現了一個0day!時小夜,發了啊!”
時夜平靜地︰“嗯。”
他繼續做着接下來的工作,檢查了一下這個自己僞造的數字證書,名字只是随便打了一個“1”而已,簽名者的名字和日期都沒有,但在系統裏卻是可被信任的“正常證書”。
楚英縱就沒這麽淡定了,傻笑着原地轉了兩圈,往時夜的嘴裏塞了兩瓣橘子,喜滋滋道︰“這可是數字證書的漏洞,提交給微軟起碼是個‘危重’級別。到時候獎金發下來,時小夜你要成百萬富翁了!”
橘子很甜,時夜默默地吃了,舔了下嘴唇。
楚英縱看得怦然心動,又開心地親了他一下。
學長也很甜,時夜默默地被親了,然後才随口道︰“先不提交。”
楚英縱這才想起來︰“啊對,這才是第一步呢,你真的打算要破解IOS系統13?”
時夜︰“嗯。”
說話間,時夜手頭的動作沒有停,将證書打包進了自己的IOS破解包裏。
得到了一個價值連城的微軟0day,好像對他沒有産生任何影響。
也許他更高興的,其實是自己能夠在解題的步驟上更進了一步。
楚英縱不覺間也安靜了下來,看着他專注的側臉,呆呆地想了一會兒事情。
片刻後,楚英縱說︰“阿夜,你有沒有考慮過真的破解掉了系統以後,你可能會有很大名氣,你不一定喜歡的那種……”
時夜停頓了一下。
他真的沒有考慮過——現實世界的很多東西,本能地不在他的意識範圍裏。
這時楚英縱說︰“當年IOS四代的時候,不是好像是歐洲的一個高中生破解出來的嗎?他當晚就成名了,還被只果公司告了。雖然最後法庭判斷是‘智力好奇’,并沒有定罪……”
“我知道。”時夜說,“這是法律的灰色地帶。”
楚英縱低着頭道︰“時小夜,我們可以出于學術的目的去嘗試,但是你可以答應我,不用來做非法的牟利嗎?”
時夜看了他一陣,嘴角好像帶着一抹淡淡地笑意,說︰“好。”
楚英縱這才重新活躍起來,樂呵呵道︰“好!接下來還有要幫忙的地方不?我也來我也來!灑家這輩子還沒幹過這種大事——刺激!!”
這一整天,楚英縱都忍不住和時夜泡在了圖書館裏。
他們一起看那些佶屈聱牙的函數,一起調試各種亂七八糟的參數,一起被深奧的數學問題虐得懷疑人生。
每當到了腦細胞死亡的時候,楚英縱就默默地剝一個橘子喂給時夜,時夜就不自覺地吃掉了……結果晚飯他根本吃不下。
楚英縱去外面帶了兩大碗馄饨回來,又開始給時夜喂一個、喂一個,怕他不吃晚飯會餓着似的。
最後兩人不得不一起癱軟在沙發上。
楚英縱是大腦放空,累的。
時夜是撐的。
到了晚上,餘景樹果然又開始加班了。
他用內部軟件給時夜發消息︰【顧問先生,您今天有新的進展嗎?我們這邊已經額外準備了一些文件,你可以看一看。】
時夜︰【有。】
餘景樹很是驚訝︰【方便和我解釋一下麽?!我馬上打電話過去。】
時夜︰【不方便,楚英縱睡着了。】
餘景樹︰【你們在宿舍嗎?你可以出去接電話,不會吵到他的。】
時夜︰【不,我看着他。】
餘景樹︰“??”這是什麽意思,您為啥看着他睡覺?太言簡意赅了。一和這孩子對話,總覺得自己又要開始禿頭了。
其實,時夜只是被楚英縱纏住了。
傻學長歪倒在沙發上,睡着了嘴巴還一張一合的,像一條擱淺的美男魚。
時夜伸出手,将他身下的數據線抽出來,給用了一天的手機充電。
楚英縱迷迷糊糊間不滿地哼了兩聲,伸手抓住了時夜的腰,用臉在他後腰上蹭了兩下,然後又打起了呼嚕來。
時夜︰“……”
時夜伸出手指頭,撩撥了一下楚英縱顫動的睫毛,換來了兩聲小豬似的哼哼。
時夜歪了歪頭,又伸手一一撫觸過他的鼻梁、眉梢、微張的嘴唇,還有很多他感興趣的地方。
被吵得狠了,楚英縱不耐煩地翻了個面睡,嘴都不自覺地嘟了起來。
可是時夜好像找到了新的玩具,有種樂此不彼的愉快感,完全忘記了自己正在運行中的電腦。
楚英縱又睡了一會兒,總覺得身上哪兒都癢癢,最後還是一骨碌爬了起來,頂着滿頭亂毛道︰“算了算了,我們回宿舍睡吧?”
時夜眸光深深地看着他,說︰“嗯。”
楚英縱臉蛋都睡紅了,起身迷迷瞪瞪地收拾東西,将橘子皮都丢進垃圾桶裏,順便随口道︰“解題嘛,不急于一時,明天等我下課了再來找你……”
“但是‘這道題’我很喜歡,希望明天盡早開始工作。”時夜忽然說着,想了想還補充了一句,“希望晚上也可以做。”
楚英縱懵了半天︰“我靠,這就是學神的境界嗎?比不了比不了。”
時夜頓了一下,說︰“……可能還是因為,題目比較新穎和有趣。”
楚英縱抱怨︰“天天做題,不懂勞逸結合嗎?你的時間表裏能不能留個位置跟我玩啊……诶,你在笑啥?”
時夜笑而不語。
作者有話要說︰??別多想,該漏洞在2020年1月已經被微軟修複了。