病毒是什麼?
林星仍然記得,幾年的軟件分析課上,年僅三十歲就頭頂锃亮的青教袁老師站在講台上,指着他做得花裡胡哨的ppt,口若懸河。
「計算機病毒和生物病毒有着驚人的相似之處,它們都具有一定的傳染性和寄生性,都需要依賴宿主而活,同時它們也有各不相同的潛伏期...」
彼時的林星還在座位最後一排打瞌睡,他以為他這輩子都是一個普通的大廠碼農,不會和安全扯上太多關系。
袁老師在講台上繼續憤慨激昂,他是剛從國外回來的博士後,近幾年接連發表了五篇CCF A類論文[0],僅去年的一篇A就獲得了二十多個CVE[1]。
傳言說他挖出了在黑市開價上百萬的漏洞,但他卻開源了自己所有的項目,選擇回國在申城大學當了個副教授。
“林星,你起來說,計算機病毒和生物病毒有哪些區别?”袁老師一早就聽說過計算機系的林星——那個在院裡舉辦的“藍天杯”編程大賽中唯一AC(Accepted)[2]了五道題的大二學生。
蔔淩推了推林星的手肘,林星才揉了揉眼睛,慢慢站了起來,右臉上還有睡着覺壓出來的痕迹:“生物病毒大多都是自然變異生突然成的,而計算機病毒的産生一定是由于有人事先編寫好的代碼。”
袁老師思考了片刻,走到他身邊,問道:“那你有沒有想過,如果計算機病毒也可以像生物病毒一樣自然變異傳播,幾乎不需要人類的控制,會發生什麼?”
林星記得自己當時胸有成竹:“計算機病毒一般都不大,特别是蠕蟲病毒,代碼也就幾十K。如果真能做到您說的那種自動變異、生成其他病毒,那這種龐大的程序肯定會被殺毒軟件輕而易舉地攔截掉。”
“Grow5p!”嶽祿的聲音再次從湖對面傳來,但已經斷斷續續,仿佛隔着一個深深的隧道。
林星猛地回過神,卻發現聲音越來越小,最終徹底消失了。像是有人掐斷了電話線,嶽祿在對岸張着嘴試圖說些什麼,但林星再也聽不到任何聲音。
世界突然靜得可怕。連湖水的波動聲都消失了。林星拼命朝對岸揮手,又繞着湖奔跑,企圖找到通往對岸的路。他的目光始終緊盯着嶽祿的身影,生怕一轉眼,對方也會像聲音一樣消失無蹤。
腳下沒注意,被湖邊的石頭一絆,他摔了個結結實實的“狗吃泥”。
“好疼——”林星倒吸了一口冷氣,他睜開眼睛,發現自己頭朝下,從床上摔了下來,額頭上頓時起了個包。
——他終于從夢中醒了過來。
林星迷迷糊糊地朝窗外看去,已經到了傍晚,夕陽沉在天邊搖搖欲墜。
從窗外吹進涼爽的晚風,隐約帶着夾竹桃的香氣。
“grow5p....”林星在心中默念,這是前一段時間在國内引起熱議的開源工具。
這個工具因為開源且功能強大,廣泛應用于互聯網公司中數據部門。
但是前幾天,極星公司安全部門竟然發現了這個工具一個0day漏洞[3],雖然在漏洞公開之前,極星公司安全部已經提供出了一個簡易補丁版本,但仍舊還是有遭到了上百個惡意腳本攻擊。
國内互聯網公司不得不暫時停止這項工具的使用,據統計,因為這個漏洞造成的損失不下上千萬。
以至于很長一段時間,這都是他們程序員之間熱議的話題。
如果林星沒有記錯的話,grow5p是一個權限提升的漏洞.
而袁老師詳細在課上講過權限提升這個漏洞。
在計算機世界中,大多數程序或者系統都是為多個用戶而設計的。
比如在最簡單的學生信息管理系統中,不同身份的用戶有着不同的權限。
學生有查詢課程、選課、查成績等權限,而老師有登記學生成績、查看自己排課等權限。
程序員在編寫代碼的時候,就會規定用戶的權限。
在常見的競技遊戲,用戶可以看到自己的技能、武器、血量之類的,同樣它們也具有一定的數據修改權限,例如可以修改自己的用戶名或者角色。
但是同時用戶也不具有一定的權限,在一些遊戲中,他們看不到敵人的移動位置,不能知道敵人打了那些野怪。
權限提升就相當于讓用戶有了這些他本來沒有的權限,讓一個普通用戶能開了挂一樣獲取到他想要獲得的所有信息。
而grow5p中的漏洞就使得一些黑客繞過了數據信息保護機制,直接提取到了各互聯網公司中用戶的隐私信息。
林星望着窗外,有幾隻尖嘴的白鹭在湖邊梳理着自己的羽毛,暫作歇息。