以下文章經允許轉載自The Conversation,這是一個涵蓋最新研究的線上出版物。
最近的 WannaCry 勒索軟體攻擊像野火一樣蔓延,利用 Windows 作業系統中的缺陷來控制 全球數十萬臺計算機。但這到底意味著什麼?
關於支援科學新聞報道
如果您喜歡這篇文章,請考慮透過以下方式支援我們屢獲殊榮的新聞報道 訂閱。透過購買訂閱,您正在幫助確保有關塑造我們當今世界的發現和想法的具有影響力的故事的未來。
將駭客想象成竊賊,惡意軟體想象成他們的入室盜竊工具會很有幫助。在對犯罪人群中的網路犯罪和技術使用進行了十多年的研究後,我知道這兩種型別的犯罪分子都想找到進入安全場所的方法——計算機和網路,以及家庭和企業。他們有多種選擇來進入。
一些竊賊可能會選擇簡單地用撬棍砸碎窗戶或門,而另一些人可能會更隱蔽,嘗試撬開鎖或偷偷進入一扇沒關的門。駭客的操作方式類似,儘管他們比通常依賴窗戶或門的竊賊有更多的潛在入口點。
駭客利用的弱點不是破損的窗格或生鏽的鉸鏈。相反,它們是計算機上執行的軟體程式中的缺陷。程式是由人編寫的,並且本質上是不完美的。沒有人編寫的軟體完全沒有錯誤,這些錯誤會為潛在的攻擊者創造機會。
這些缺陷到底是什麼?
簡單來說,漏洞可能是系統中使用者管理方式的錯誤、程式碼錯誤或對某些請求的響應方式的缺陷。一種常見的漏洞允許一種稱為SQL 注入的攻擊。它適用於查詢資料庫的網站,例如搜尋關鍵字。攻擊者建立一個查詢,該查詢本身包含一種名為 SQL 的資料庫程式語言的程式碼。
如果網站沒有得到適當的保護,其搜尋功能將執行 SQL 命令,這可能允許攻擊者訪問資料庫並可能控制網站。
同樣,許多人使用由Java 程式語言支援的程式,例如 Adobe Flash Player 和各種 Android 應用程式。Java 平臺中存在許多漏洞,所有這些漏洞都可以以不同的方式被利用,但最常見的是透過讓個人下載“外掛”或“編解碼器”到軟體。這些外掛實際上包含惡意程式碼,這些程式碼將利用漏洞並危害計算機。
缺陷無處不在
所有型別的軟體都存在漏洞。多個版本的 Microsoft Windows 作業系統容易受到 WannaCry 攻擊。例如,自 2009 年以來,流行的開源網路瀏覽器 Firefox 的程式碼每年都識別出 100 多個漏洞。自2017 年初以來,Microsoft Internet Explorer 瀏覽器變體中已識別出 15 個不同的漏洞。
軟體開發不是一個完美的過程。程式設計師通常按照管理團隊設定的時間表工作,這些團隊試圖設定合理的目標,儘管要達到這些截止日期可能是一項挑戰。因此,開發人員在進展過程中盡最大努力設計安全的產品,但可能無法在預期的釋出日期之前識別所有缺陷。延遲可能會付出高昂的代價;許多公司會發布產品的初始版本,然後,當他們發現問題(或收到使用者或研究人員的報告)時,透過釋出安全更新來修復這些問題,有時稱為補丁,因為它們覆蓋了漏洞。
但是軟體公司不能永遠支援他們的產品——為了繼續經營,他們必須不斷改程序序並銷售更新版本的副本。因此,經過一段時間後,他們會停止為舊程式釋出補丁。
但並非每個客戶都購買最新的軟體——因此許多使用者仍在執行可能存在未修補漏洞的舊程式。這使攻擊者有機會在舊軟體中找到弱點,即使較新版本沒有相同的缺陷。
利用弱點
一旦攻擊者識別出一個漏洞,他就可以編寫一個新的計算機程式,利用該機會進入計算機並接管它。在這方面,漏洞利用類似於竊賊使用撬棍、開鎖器或其他進入物理位置的方式。
他們會找到系統防禦中的一個弱點,可能是未正確保護的網路連線。如果攻擊者設法與目標計算機取得聯絡,他們就可以瞭解它是什麼型別的系統。這使他們能夠識別特定的方法——訪問特定檔案或執行某些程式——這些方法可以使他們逐漸控制計算機及其資料。近年來,攻擊者開始將目標鎖定為網路瀏覽器,這些瀏覽器被允許連線到網際網路,並且經常執行小程式;它們存在許多可以被利用的漏洞。這些初始漏洞可以使攻擊者控制目標計算機,而目標計算機又可以用作入侵較大敏感網路的入口點。
有時,漏洞是由軟體開發人員自己發現的,或者是提醒公司需要修復的使用者或研究人員發現的。但有時,駭客或政府間諜機構會弄清楚如何侵入系統並且不告訴公司。這些弱點被稱為“零日漏洞”,因為開發人員沒有時間修復它們。因此,在建立並分發給使用者的補丁或修復程式之前,軟體或硬體已被入侵。
使用者保護自己的最佳方法是定期安裝軟體更新,一旦更新可用。
本文最初發表在The Conversation上。閱讀原文。
