既然要暴露自己的身份,蕭雲飛就知道自己必然要走上了一條險路,面對神祕組織的恐怖以及國政府的強大,蕭雲飛覺得,自己應該有一樣屬於自己的,能夠保命的大殺器!
所以,蕭雲飛決定編寫一款無與倫比的超級病毒,他要讓這款病毒具有人工智慧的雛形,那麼,要完成這款病毒將會是一項極為龐大的工程。
首先,蕭雲飛要考慮構建這個病毒的基層資料結構,然後根據資料結構逐步豐滿病毒程式本體;其次,蕭雲飛要考慮病毒所具有的功能;最後一點,也是最重要的步驟,如何讓病毒程式具有一定的人工智慧。
基層資料結構蕭雲飛利用匯編語言來進行整體構架,這其中涉及到呼叫各種命令引數和函式群,透過在資料結構中進行全面規劃,讓病毒程式能夠從巨集觀上對它將來所攻擊的計算機系統進行智慧判斷,然後根據判斷的結果收集對應的計算機系統存在的各種漏洞。
病毒產生的破壞作用多種多樣,但是蕭雲飛要讓自己編寫的病毒具有極為強悍的穿透性以及傳染性,它潛伏在計算機系統中必須是安靜的、安全的,它不能讓人看出絲毫的異常,透過基層資料結構,它能夠感染的系統要非常廣泛,當然,它必須是觸發式病毒,當病毒被啟用時,它爆發時產生的威力必須帶有恐怖的侵略功能。
“亞當”病毒必須具備這樣兩種特性。
透過基層資料結構,針對不.同的計算機系統建立隱蔽通道,它要具有後門的功能,蕭雲飛將病毒要建立在一些常用的通訊協議埠上,這樣便於自己在需要的時候透過隱蔽通道進行病毒觸發。
病毒具有木馬的特徵,它能夠在.計算機系統中開放核心級後門(ernel-level r i)和嗅探式後門(niffing bdr),這兩種方法可以讓蕭雲飛在需要肉雞的時候將被病毒感染的計算機迅速收攏,然後整合成自己的傀儡機。
(P:這兩者攻擊手法其實也是未.來比較流行的攻擊手段,有資料中曾經介紹過,不過實現沒有,倒是有待高手證實……)
當然,建立病毒的基層資料結構以及它的破壞功.能要實現起來對蕭雲飛來講並不困難,因為病毒的這些特徵和功能在很多病毒上都有所體現。
編寫“亞當”病毒最大的麻煩,當然同樣也是它最大.的亮點就在於蕭雲飛要讓病毒具備一定人工智慧的特徵!
計算機病毒並不等同於真正的生物病毒,一個.計算機病毒產生了變種,或者它的程式碼在傳播的過程中有了一定的改變,這也不能說明它們具有了生命的特徵。
不管你是用何.種語言編寫計算機程式,它們的最終目的都是要讓計算機能夠識別並且執行,計算機病毒同樣也要滿足這個條件,然而計算機能夠識別的數字只有0和1,再怎麼複雜的程式在計算機中執行,它都會經過計算機的運算將其轉化成計算機能夠識別的數字。
基本上所有病毒的適應環境和發生作用的功能部分在電腦資料環境自身作用下基本是不變的,就拿這次轟動全球的“聖誕禮物”來講,這個病毒雖然具有變異能力,但是它同樣也只是在一定範圍的關鍵部分進行變異,它的這種變異卻被包含在了一段進化程式碼中,蕭雲飛正是因為窺破了這段進化程式碼,所以他才能順利編寫出專殺程式。
雖然“聖誕禮物”同樣具有變異和進化的功能,但是以蕭雲飛的評價,它並不能算作具有智慧化和自篩選能力的生命體。
什麼樣的計算機病毒才能具有“生命進化與生存特徵”?達爾文的《物種起源》其實已經將答案告訴了我們。
在各種惡劣的環境中以及外在的人為因素,有的生物被自然界所淘汰,而有的生物卻產生進化從而適應了變化的環境,它們透過自身的變化不斷讓自己去適應變化的環境,環境改變,生物也跟隨環境而改變。
總之,隨著生存的環境條件的改變,生活在環境中的生物就必須透過自身的進化隨時產生進化,而進化的目的就是要讓自己擁有生存的特徵。
這就是生物的“生命進化與生存特徵”。
當然,大鬍子老達的進化論並不包括計算機病毒,因為那個時候,他根本沒有見到過計算機這種高科技玩意。
計算機病毒要具有“生命進化與生存特徵”,那麼它應該在讓程式體內的函式群和資料段表現內容的共同變異能力,這種整體性的變異能力要實現起來是極為困難的,到目前為止,沒有聽說有哪種病毒可以讓自己的程式整體發生變異的!
當然,病毒程式如果具有吸收其它程式中高明的函式段和資料段處理能力,並且它能夠在電腦內部存在多個不被使用者感知的執行主體,主體程式要有一定的感知能力,病毒針對自己所處的計算機系統自主進行改進和變異,這樣的計算機病毒才有可能在傳播的同時迅速擴充套件種類,即便有防毒軟體,它也能夠長期生存下去。
計算機的世界裡已經出現過利用生物遺傳演算法破解目標計算機資料的病毒,這種將遺傳演算法用於病毒程式的方法其實就是人工智慧在計算機病毒方面的一個分支應用。
這種遺傳演算法,其實就是達爾文的生物進化論,利用遺傳演算法編寫的計算機病毒的與生物進化論有著非常相似的地方。
如果,透過防毒軟體或者我們人為的查殺,在我們消滅計算機病毒之前,它們就已經淘汰了有缺陷或者會給自身帶來危險的程式碼,防毒軟體根本就無法發現它們。
如果,計算機病毒能夠搜尋網路上或者被感染計算機系統中的其它病毒,並且它能夠與其他病毒交換程式碼,從而繁殖出新的變種,這樣的病毒就可以被稱之為“病毒之王”!
(P:學術問題,純屬瞎掰,請勿深究!)
不得不承認,蕭雲飛的構想非常龐大,要是放在以前,儘管蕭雲飛對病毒的研究已經登峰造極,但是要編寫出這樣一款具有人工智慧雛形的病毒程式,那時候的他也絕對不可能完成。
但是現在的情況卻大不相同,蕭雲飛對人工智慧的領悟甚至已經超越了國內一些知名的專家,況且人工智慧實驗室伺服器上如此龐大而詳細的科研資料、程式的程式碼、實驗的資料,蕭雲飛要想成功編寫一款具有一定人工智慧的病毒程式,並不是就完全沒有把握。
當然,蕭雲飛只是要儘量讓“亞當”具有人工智慧,畢竟以現如今科學的侷限性和蕭雲飛現如今對人工智慧和計算機程式的糅合能力,他也根本沒有可能編寫出真正意義上的人工智慧病毒!
虛擬電子智慧生命經過這麼長時間的研究,Z國、國以及神祕組織投入研究的人力、物力、財力想必是非常龐大的,那麼多的科學家都還沒能將人工智慧的電子生命研究出來,蕭雲飛就算再天才也無法憑藉自己的能力創造出一款真正意義上具有人工智慧的病毒程式。
上帝用泥土造的第一個人,取其名為“亞當”。
蕭雲飛創造的第一個用於投放到網路世界的病毒,他也將其命名為“亞當”,這沒什麼特別的寓意,蕭雲飛並沒有認為自己就是上帝的意思,他只是突然想到《聖經》中這個故事出現的這個人而已,所以他把自己編寫的病毒取名為“亞當”。
只不過,上帝造出來的亞當是善良的,純潔無汙染的用泥巴創造的產物,蕭雲飛創造的“亞當”則是邪惡的,還沒出生就註定它是黑暗的破壞力極強的將人工智慧用於程式的計算機病毒!
(P:廢話兩句,看這本書的朋友中應該沒有信基督教的吧?我們這裡有個信基督教的人已經快瘋了,家裡的事情都不管,奶奶的,老說世界末日就要到了,天天禱告,她以為信上帝就能得永生?
現在都改“信春哥,得永生”了!我給她這麼說,她還迷茫的問我“春哥”是誰,我心腸一軟,只好說“春哥”是上帝的結拜兄弟,她還一本正經的解釋:“上帝沒有結拜兄弟啊……上帝沒有結拜兄弟啊!他有個兒子,名字叫耶穌!”
唉,新時代的祥林嫂誕生了,我徹底無語,願春哥保佑她,阿門……
如果看這本小說的朋友既有上帝的信徒,也有春哥的粉絲,你們可以對我表示不滿,你們可以來揍我,但是事先申明,請不要打臉,雖然我不是靠臉混飯吃,但是我還是對我這張臉比較在乎滴……)
如果這個病毒編寫完成,蕭雲飛順利將其投放到了網路上,當它傳播到了網路世界的每一個角落,就算有一天事情敗露,大家都撕破臉皮的時候,蕭雲飛也有一定的談判資本。
蕭雲飛很快平復了自己的激動的心情,想到就做,這就是蕭雲飛的性格,為了完成這項浩大的工程,蕭雲飛再一次義無反顧地投身到編寫病毒的工作中去了。
蕭雲飛知道自己的時間很緊迫,白天的時候,他依然會去上課,跟隨教授們做實驗,利用助理教授的身份,蕭雲飛根據自己在編寫病毒時候遇到的問題向其他教授虛心請教,晚上的時候,蕭雲飛則在計算機前不知疲倦的忙碌著,包括吃飯、上廁所等等,蕭雲飛一天的休息時間不會超過四個小時!
蕭雲飛就像一隻被擰緊發條的時鐘,不讓自己有一刻停下來的機會!
編寫“亞當”病毒的工作蕭雲飛主要的精力放在兩個方面,一個是編寫病毒的基層資料結構的整體構架,這是病毒的基建工作,容不得半點馬虎;另一個方面就是病毒的函式集和資料處理的進化能力,也就是人工智慧的雛形,這需要精雕細琢,透過無數次失敗,然後經過不斷的總結才有可能能完成的事情。
至於要實現“亞當”強大的攻擊能力,這其實倒花費不了蕭雲飛多大的腦力,因為蕭雲飛掌握的病毒的攻擊程式碼非常多,只不過要將這些病毒的攻擊程式碼揉捏在一起顯得有點繁瑣而已。
蕭雲飛不能讓這個週期花費的時間太長,如果每天他還要做實驗以及上課的話,就算每天不休息,蕭雲飛要想獨立完成這個病毒起碼也會超過半年甚至更長的時間。
蕭雲飛不能等得太久,他要讓自己用最短的時間編寫出這個病毒!
於是,蕭雲飛以身體不適的理由向學校請假三個月,在蕭雲飛出具了一系列透過特殊渠道得到的醫療證明後,學校的領導以及他的老師們都同意了蕭雲飛的假期申請。
當然,很多人對蕭雲飛的身體頗為關心,作為IT最年輕的助理教授,蕭雲飛的“病情”也牽動著很多人的神經,所以三天兩頭來看望蕭雲飛的人更是絡繹不絕,這樣的情況反而弄得他根本完全沒有辦法工作了。
蕭雲飛自己的公寓門口掛了一張“外出說明”的木牌,然後他給羅傑斯教授和帕克教授以及其他朋友發去了資訊,告訴大家自己要需要靜養,找了個安靜的地方修養,請大家不要牽掛,如果身體好轉,自己會立馬返校。
關閉了手機,蕭雲飛阻斷了與外界的一切聯絡,然後蕭雲飛便帶著裝滿資料的膝上型電腦外出了,找了一個安靜的地方,蕭雲飛住了下來。
蕭雲飛用了一天的時間進行大采購,然後他讓自己沉靜了下來,接著,他全身心地投入到病毒的研發工作中去了。
在編寫病毒程式的這段時間,除了補給食物的時候蕭雲飛會出門,平時蕭雲飛幾乎沒有走出房門一步!
蕭雲飛本以為自己全身心地投入到病毒的編寫中去,要編寫出“亞當”並不會花費多長的時間,然而,在實際編寫的過程中,蕭雲飛才真正體會到要達到自己預定的目標竟然是那麼困難的事情。
在進行“亞當”病毒的基層資料結構構建的過程中,要讓病毒能夠對每一種計算機系統進行判斷,那麼蕭雲飛就必須要記錄下每一種系統反饋資訊的特徵,這就需要不停地測試,不停地記錄。透過蕭雲飛一次又一次的測試,他不斷完善著自己的創意和想法,終於,花費整整半個月的時間,蕭雲飛終於將病毒的基層資料結構搭建完成。
基層資料結構完成,接下來的工作就是要向這個框架裡面加入病毒程式了,當然,病毒的程式必須要包含蕭雲飛在之前構思的各種想法,最為關鍵的在於,如何讓程式程式碼具有一定的智慧。
蕭雲飛透過人工智慧實驗室伺服器的資料系統查詢了大量的實驗資料和用於機器人主控程式的“半智慧”程式碼。
為什麼說蕭雲飛在病毒程式中加入的是“半智慧”程式碼呢?其實人工智慧實驗室伺服器上的資料系統中,被用在機器人身上的主控晶片其實就是半智慧的,他們並沒有製造真正的全智慧程式程式碼。
透過蕭雲飛的觀察,雖然這些半智慧程式碼只是讓程式具備了一定的進化能力,但是它們卻依然是有侷限性的,比如呼叫的函式,比如傳遞的引數等等,它們並不是自動呼叫或者傳遞,它們是有規律性的,如果當別人掌握了這種規律性,那麼病毒依然會被扼殺。
蕭雲飛不可能創造出全智慧的程式碼,雖然“半智慧”程式碼具有缺陷,但是這也是目前為止可以讓“亞當”具有人工智慧雛形的唯一方法。
為了避免這種“半智慧”程式碼的缺陷,蕭雲飛就需要破壞這些規律性,怎麼進行破壞?蕭雲飛想到的辦法就是將不同的“半智慧”程式碼進行融合。
其實蕭雲飛的思路和加殼、加花木馬程式的思路沒有什麼差別。
舉個簡單的例子,比如我們生成了一個木馬服務端,我們想讓自己的木馬躲避防毒軟體的查殺,很多小白朋友採用的簡單方法就是對木馬進行加殼或者加花指令。
但是很多加殼的軟體都被殺軟列入了“黑名單”,加一次殼照樣無法躲避防毒軟體的查殺,那怎麼辦呢?很多菜鳥朋友又會對加過殼的木馬程式再進行加殼,方法以此類推。
你或許會發現,當經過不同的加殼軟體對木馬進行了多次加殼之後,很多殺軟程式就不能對你的木馬進行查殺了,為什麼會出現防毒軟體無法查殺的情況呢?原因很簡單,因為木馬程式的特徵碼被打亂了!
小白朋友不要高興,你不要因此就認為你學到一招保護木馬的方法。
這個經過多次加殼,防毒軟體也無法查殺的木馬程式在執行的時候你可能會發現出現各種問題,它有可能無法執行,或者能夠執行但是卻達不到你的目的!
這就是悲劇啊!雖然用這種方法來躲避防毒軟體的查殺比較簡單,但是經過多次加殼後,你的木馬程式或許就失效了!
蕭雲飛將“半智慧”程式碼進行融合要面對的就是這個問題!當“半智慧”程式碼進行融合之後,他們的規律性或許會被打亂,但是他也要面對“半智慧”程式碼失效的情況。
當我們多次加殼木馬後出現木馬失效的情況,而我們根本對所謂的組合語言完全不懂的時候,作為菜鳥,你會怎麼辦?
我猜,很多人會換幾種加殼工具慢慢進行測試吧?當木馬程式既能躲過殺軟又能正常執行的時候,菜鳥朋友就會很高興了。
當然,高手做免殺肯定不會這麼幹的!
面對“半智慧”程式程式碼,蕭雲飛也是一個徹頭徹尾的菜鳥。所以,他也只能選擇將不同的“半智慧”程式碼不斷融合,然後又不斷測試的笨辦法來企圖達到打亂“半智慧”程式碼的規律性!