惡意代碼的威力
代碼能存在于哪里?不僅限于計算機,任何通信、控制類的設備中,都會有代碼,而惡意的代碼能輕松將其變為災難。
下面,舉兩個例子來感受一下惡意代碼的威力
事件一:“震網”行動,一個對波斯帝國的網絡導彈
波斯帝國,也就是現在的伊朗。伊朗在國際上處于什么位置?
突然,伊朗濃縮鈾的提純技術進步飛速,這讓某些組織感到極其不安。那要如何辦呢?很好的一個方案便是用惡意代碼入侵伊朗的系統。
問題也比較棘手:
但是,可以確定:
于是,經過幾經測試,一場名為“震網”的幾行惡意代碼:
那是什么原理,讓幾行惡意代碼,就造成了如此大的傷害?從專業角度說,是這幾行代碼,同時調用了幾個“零日漏洞”。
零日漏洞
新發現的,還未被他人惡意利用過的軟件漏洞or軟件缺陷。
整個過程可以模擬為:
事后,“震網”被吹噓成無比精準的“網絡導彈”,但實際上,在攻擊伊朗核設施的時候,還造成了大面積的“誤傷”。
據統計,震網感染了全球超過45000臺電腦,出了伊朗損失最為慘重外,也殃及了印度尼西亞、印度、阿塞拜疆、巴基斯坦、美國等。
總結來看,震網的影響:
但除此之外,震網能做的事情還有很多:
雖然我們作為普通民眾,不太能被波及到,但還是要注意,不要被惡意代碼盯上,否則我們將變成別人的免費提款機。
針對美國的DDos攻擊,導致近半個美國的網絡癱瘓
如果說伊朗不夠強大,某些組織可以用惡意軟件修理它;可即便是世界上拳頭最硬、錢包最鼓的美國,也嘗嘗被惡意代碼搞的鼻青臉腫。
2016年10月22日凌晨,美國域名服務器管理服務供應商Dyn,遭受了一次DDos攻擊,導致美國近半的網絡癱瘓,東海岸的許多網站,無法正常運營,包括但不限于、亞馬遜、、等。Dyn對于互聯網公司惡意代碼有什么用,相當于農貿市場對餐廳的重要性,農貿市場關閉了,那么餐廳也是無米之炊。
什么是DDos攻擊?就是分布式拒絕服務攻擊。駭客們從世界各地雇傭了大量的打手,讓他們涌入Dyn公司的大門,將其圍堵的水泄不通。導致正常要辦理事情、工作及生活的人,無法正常地生活。
據不完全統計,此次攻擊,人數多達千萬,惡意代碼控制了網絡設備,大部分的智能家居,包括冰箱、電視等。
惡意代碼,何以作惡
作為普通人的我們,要想避免惡意代碼給我帶來傷害,就要先理解它為什么能作惡,通過什么方式來作惡?
換位思考一下,假設我們現在要寫一個惡意代碼,要如何設計呢?首先,我們想一想,電腦是由什么組成的?簡單來說,分為硬件和軟件。
硬件決定體力,軟件決定智力
軟件,其實就是代碼。我們將做好事的代碼稱作善意代碼,將做壞事的代碼稱作惡意代碼。
現如今,計算機存在于千千萬萬的零部件中,形態上千變萬化。你的手機、電腦,我們日常坐的汽車、高鐵、輪船、飛機,家用的電器、儀表等,凡是電腦可以做的事情,都可以移入惡意代碼,這就導致,惡的無邊無界。
編寫惡意代碼,遠比善意代碼容易
世界普遍的規律,做好事難,做壞事容易;成事難,敗事容易。如果要做對比的話,惡意代碼只需要把事情搞砸就可以了。
將事情搞砸,主要有兩個難點:
所以,我們需要針對難點來解決問題。
編寫惡意代碼的原則
讓被攻擊的善意代碼,配合惡意代碼來攻擊自己
其一:代碼中肯定有錯誤。
代碼都是人寫的,是人就一定會犯錯誤。據統計,平均每千行代碼,就會出現10~20個錯誤。其中可能就有重大的缺陷、致命的漏洞。
其二:達成目的而寫的善意代碼,也是一把雙刃劍
比如我們生活中,用于切菜的工具,也可以作為兇器來傷人
其三:計算機并不區分善意還是惡意的代碼。
所以,只要是代碼,計算機都會執行。
將惡意代碼植入目標系統,按時啟動
有一門利用人性弱點的學科,叫做“社會工程學”。比如,利用“好奇害死貓”定律,總會有用戶會資源點擊惡意按鈕,將惡意代碼下載到自己的電腦中,然后會通過網絡將惡意代碼,傳遍網絡中的每個角落。
我們無法保證周圍的所有人,都是鐵板一塊。
惡意代碼的世界
計算機發展到如今,惡意代碼早已不是單一的形式,而是形成了龐大的家族和世界,下面,我們簡單了解下惡意代碼世界的頭頭們。
病毒家族
生物病毒,如埃博拉病毒、拉沙熱病毒,沾之即死。計算機病毒就像生物病毒一樣,具有傳播性、隱蔽性、感染性、潛伏性、可激發性、表現性、破壞性等。還具有自我繁殖、互相傳染、激活再生等特征。
早在1949年,馮·諾依曼就預見了計算機病毒的可能性,但是知道1986年,時隔二十多年,第一個病毒“大腦”,才在巴基斯坦誕生。
次年,“小球”和“石頭”降世,隨后,計算機病毒越來越多,并開始繁衍、危害全球。
病毒家族的分支可以分為:非常駐型病毒;常駐型病毒。
非常駐型病毒:由偵察兵、主力部隊組成。先摸清敵情,然后感染文件、繁殖自身、進行作惡,最后撤回。
常駐型病毒:隱藏在計算機內部,等待時機成熟,比如當操作系統運行某個特定的程序,病毒就不斷分裂復制,消耗系統資源。
當然,計算機病毒還有其他的分類方式。
蠕蟲
蠕蟲病毒作為病毒的一種,歷史上作惡多端,我們必須單獨拿出來說一說。
莫里斯蠕蟲、美麗殺手、愛蟲病毒、紅色代碼、求職信、SQL蠕蟲王等,都是計算機蠕蟲病毒。它們的可怕之處是,不需要寄生到宿主代碼上,就能開始作惡了。
蠕蟲病毒分為主機蠕蟲和網絡蠕蟲。
僵尸
僵尸病毒,又稱為僵尸網絡,通過互聯網中繼聊天服務器IRC,來控制多個計算機稱為“僵尸”,DDos攻擊,就相當于趕尸。
同時,駭客還可以利用僵尸計算機中的信息,竊取大量的機密。而發現一個僵尸網絡是很困難的,作為僵尸計算機的用戶,并不知道自己的計算機已經稱為僵尸了。所有,僵尸已經稱為駭客們最為喜歡的工具之一。
據不完全統計,包括金融、能源、政府部門在內的,全球近百萬家機構和個人,都被僵尸攻擊過。
針對當下的手機用戶,僵尸攻擊更接地氣:
木馬
全稱為特洛伊木馬,這源于古希臘中的一個典故。
在古希臘傳說中,希臘聯軍圍困特洛伊久攻不下,于是假裝撤退,留下一具巨大的中空木馬,特洛伊守軍不知是計,把木馬運進城中作為戰利品。夜深人靜之際,木馬腹中躲藏的希臘士兵打開城門,特洛伊淪陷。
后人常用“特洛伊木馬”這一典故,用來比喻在敵方營壘里埋下伏兵里應外合的活動。特洛伊木馬也是著名電腦木馬程序的名字。另有特洛伊木馬“”一詞意為“害人的禮物”,就來源于這場著名的“特洛伊戰爭”。
木馬與一般的病毒不同,它不會自我繁殖,也不刻意地感染其他文件。而是盡量不懂,躲在一個地方,盡量偽裝自己。等時機一到,用戶在不知不覺中將其植入到自己的電腦中時,將自己的電腦變為“被控制端”,隱藏的木馬就在駭客的控制下,開始行動、破壞被控制端。
僅從行為上看,木馬和遠程控制軟件很相似,不過一個是惡意代碼,一個善意的軟件。
如何防范惡意代碼?
名目繁多的惡意代碼,我們無從辨別。就普通的個人用戶而言惡意代碼有什么用,我們應該如何防范惡意代碼呢?
不要執行任何來歷不明的軟件or程序
不要覺得自己的郵箱是安全的,不會收到惡意郵件
接收郵件中的文件時,先查毒;也提醒接收自己郵件的朋友,有的病毒不在你的電腦上發作,在其他人的電腦上可能就復活了。
不要隨意留下個人資料
不要相信網絡上,認識的新朋友