本文發表於《大眾科學》的前部落格網路,反映了作者的觀點,不一定反映《大眾科學》的觀點
關於支援科學新聞業
如果您喜歡這篇文章,請考慮透過以下方式支援我們屢獲殊榮的新聞業: 訂閱。 透過購買訂閱,您正在幫助確保未來能夠持續報道關於塑造我們當今世界的發現和思想的重要故事。
一份新的報告警告說,您的計算機軟體可能沒有您想象的那麼安全。 系統管理員、審計、網路、安全 (SANS) 研究所是一個位於馬里蘭州貝塞斯達的合作研究和教育組織,也提供計算機安全培訓。該機構週一釋出了一份報告,概述了程式設計師可能犯下的25 個最危險的錯誤,這些錯誤可能導致安全漏洞,併為網路犯罪和間諜活動敞開大門。
非程式設計師可能不會從這份列表中獲得太多資訊,因為列出的錯誤都有技術性標題,例如“不正確的輸入驗證”和“敏感資訊的明文傳輸”。 無論您是否理解它們的含義,這些問題都會影響您使用的大部分軟體,並可能將敏感的個人資訊暴露給駭客。
考慮一下這種情況:您正在網上買書,但您使用的網站是用包含一些“前 25 名”錯誤的軟體編寫的。 用外行的話來說,不正確的輸入驗證意味著駭客可以將垃圾資料(隨機字母、數字和符號)輸入到網站“付款”頁面上的欄位中,導致該頁面發生故障,可能允許駭客訪問該網站客戶的信用卡號(以及到期日期)。 軟體程式碼不包含檢查(或驗證)輸入到給定欄位中的資料是否真實的指令(例如,應立即拒絕 20 位數的信用卡號)。 如果網站以“明文”(讀作:未加密)傳輸和儲存資料,則它會犯列表中的另一個錯誤,並使駭客的工作更加容易。
根據 SANS 的說法,僅去年一年,這些程式設計錯誤中的一小部分就導致了超過 150 萬起網站安全漏洞。 該報告指出,受感染的計算機被用來攻擊其他安全措施較差的計算機,造成了連鎖反應,導致無數臺個人電腦被駭客入侵。
駭客攻擊每天都會給企業、政府機構和普通民眾帶來重大麻煩。 2001 年,英國公民加里·麥金農據稱入侵了美國宇航局的計算機,竊取了 950 個密碼,並刪除了新澤西州海軍基地(負責為大西洋艦隊補充彈藥和補給)的檔案,給美國政府造成了 70 萬美元的損失,據PC World報道。(如果麥金農在這些計算機中植入了病毒,情況會更糟。)美國仍在努力將麥金農——他聲稱自己正在尋找資訊以證明美國政府瞭解不明飛行物——從英國引渡。
考慮到計算機程式語言的數量以及程式設計師需要遵循的通用指南或架構的普遍缺乏,軟體編寫一直有點像一門黑魔法,IBM 研究員兼自稱“軟體考古學家”格雷迪·布奇在 6 月告訴大眾科學.com。 程式設計師被教導要讓他們創造的東西能夠工作,無論付出什麼代價。 因此,從一個程式到下一個程式,一致性非常差。
另一個問題:1980 年代和 1990 年代的軟體編寫者力求建立更具活力的軟體,以吸引新客戶,而對安全性卻不太重視。 微軟是這方面的一個典型例子,並且在過去十年中花費了大量精力加強其 Windows 作業系統和其他軟體,這些軟體已成為駭客攻擊的熱門目標。 Web 的出現,以及隨之而來的計算機連線到不安全的公共網路,加劇了這個問題,因為這使駭客可以遠端訪問他們的目標(他們不再需要坐在電腦前才能入侵它)。
SANS 主管梅森·布朗在一份宣告中表示,解決問題的第一步是“確保每位程式設計師都知道如何編寫沒有前 25 個錯誤的漏洞的程式碼,然後我們需要確保每個程式設計團隊都制定了流程來查詢、修復或避免這些問題。”
安全專家承認,改進後的軟體不會阻止所有網路攻擊者,但他們表示這是一個良好的開端。 SRI International 計算機科學實驗室主任帕特里克·林肯告訴BBC:“即使所有這些錯誤都被消除,真正的專注的連續攻擊者也可能會找到入侵的方法。 但是,一個懷有惡意的高中駭客——如果你願意的話,可以稱他們為小菜鳥——將會被阻止入侵。”
圖片:© iStockphoto.com;Sami Suni