文章專區

2023-02-03與駭客的攻防戰

Author 作者 陳以哲/國立臺灣師範大學附屬高級中學。

IBM SkillsBuild 線上自主學習徵文競賽 yes佳作yes

網路安全 (Cyber Security) 是一種保護電腦的技術,它不只存在於伺服器或用戶端,生活中各種基礎設施,舉凡供電系統、交通管制、工業控制系統等都是潛在的網路攻擊對象,因此網路安全可說是保護這些裝置的重要技術。

對電腦進行攻擊的人稱為駭客,會惡意竊取、利用、販賣電腦漏洞或資料者,稱為黑帽駭客;合法進行安全檢測,並修補電腦軟體讓系統更安全者,稱為白帽駭客。因此,駭客進行攻擊行為的動機可能只是出於好奇心,但更多時候是為了金錢或政治等目的。

為了進行攻擊,駭客常會用到 “exploits”,這是一種能夠被攻擊者用來取得權限的 bug。例如 ”buffer overflow” 就是一種因沒有檢查使用者的輸入長度,導致記憶體資料被覆蓋或改寫的 exploit。Buffer overflow 能夠導致重大安全缺陷,若惡意使用者構造惡意的輸入,便有機會取得 “shell” 而控制受害的電腦。當然,不同的 exploit也有相應技術來防堵這些漏洞。以 buffer overflow 為例,我們可以在作業系統中開啟 ASLR,讓記憶體位置隨機化,使惡意使用者無法直接利用記憶體,或是更簡單的—檢查使用者輸入長度,因為 buffer overflow 就是因使用者輸入長度太多導致記憶體被破壞的漏洞,而這種檢查輸入長度的策略被稱為 “bound checking”。

世上沒有完美防禦的電腦系統,所以工程師在設計系統架構時會採用 “Defence in depth” 策略,設置多層的安全技術來提高攻擊難度。其中,密碼學 (Cryptography) 常被用來做為安全技術的其中一層。透過各種加密演算法,訊息傳送者的明文訊息根據金鑰被加密為密文。密文經傳輸到接收者手上,利用解密演算法以及金鑰解密後還原為明文。因此,中間的竊聽者如果不知道金鑰,就仍無法獲知原本的明文。現代常用的加密演算法中,Data Encryption Standard (DES) 是由 IBM 和 NSA 在 1977 年發展出來,但因為 DES 所使用的金鑰只有 56 bits,這對今日的電腦進行暴力破解是很簡單的事,所以 AES (Advanced Encryption Standard) 在 2001 年被發明出來。AES的金鑰長度有 128、192、或 256 bits,使得暴力破解變得極度困難。另外我們還需要金鑰交換演算法,讓通訊雙方擁有共同的金鑰,這用到了數學上難以逆行的單向函數來做到,Diffie–Hellman 演算法就是其中一個例子,他的單向函數是取指數後模除,若只知道模數跟底數,要得到指數就需計算很久。

IBM 也致力於網路安全的推動,Havyn 就是其中一項專案,這是一個基於Watson 的語音助理,可以用來執行跟網路安全相關的工作,影片中的 Havyn 看起來就像 Amazon 的 Alexa 助理一樣方便,和它對話就會給出相對應的答案。IBM X-Force Command 網路戰術作業中心看起來就像電影一樣,能讓參與者沉浸式體驗網路攻擊下的情境。

完成這次 IBM skillbuild 課程後,幫助我對網路安全有更全面認識,例如永遠不要相信使用者的輸入,因為駭客也會是使用者,因此要確保所有輸入都經過檢查,不然會發生如 buffer overflow 的漏洞。而加密演算法很多運用的是「運算上要很久」的特性,隨著未來電腦的運算能力大幅上升,將因破解變得更容易,使得很多加密演算法變得不再安全。生活中處處是網路安全,各種網路服務 (包含科學月刊的網頁) 如果沒有採用相關技術,將很容易暴露在風險中。防禦方與攻擊方的交戰從未停止,所以我希望未來可以學習密碼學等技術,與駭客來個攻防戰!


► IBM SkillsBuild 的註冊資訊

教師註冊請點我
學生註冊請點我
(進入畫面後,右上角可轉換語言「繁體中文」)

關於平台還想認識更多:IBM SkillsBuild 平台介紹請點我