目錄
網路這一技術從軍事機構開放給學術機構/民間使用時不再像以往軍中只有少數通訊單位構成節點連接,而是每一個使用者只要架設自己的網站或服務公開出來皆會成為一組節點,然而威脅也隨之而來,並不是所有的資料或服務要給隨意一個人觀看/使用,有時候必須讓不同權限人士觀看不同資料的需求也衍生出來,不過人們對於要隱藏起來的事物都會有好奇心,為了滿足自己的好奇心使得電腦技術不斷地磨練只為了探求更多的資料,催生出網路安全(Cybersecurity)的概念來保護網路上的資料不被未授權的人/機器存取到,隨著時代的演進這個領域的範圍也越來越需要進化,從資訊到通訊甚至到硬體裡的資料存取方法也通通得考量進來
網路安全整個環節當中包含了許多的角色在裡頭,最基本一個企業網管作為防禦端想要控制公司內所掌握的資產並且保護該資產不讓非授權的人取得,而另一面來看攻擊者就想要嘗試獲取那份資產,可能是客戶名單、公司營運資金詳細資料,或者是秘密合約等等,在這個過程當中雙方都會持續的磨練自己的攻擊或防禦技能,可以說正因為有這兩方的存在才使得網路安全知識不斷地進化
跟許多技術領域類似,在網路安全當中也存在眾多的行話、名詞、術語跟縮寫等等,其中又有幾個一定常常在各種報告當中出現的包括:風險(Risks)、威脅(Threats)、弱點(Vulnerabilities)以及漏洞利用(Exploits)
風險
首先是最基本的“風險”,這個術語在其他資訊領域當中也會出現,如果我們想要簡單定義的話可以分成兩個重點:
- 資安事件發生的機率
- 事件發生後可量化的影響(例如需要花多少錢修復系統或硬體、或者損失了多少資產)
透過這兩點我們可以歸納出四個象限:
低機率,低影響事件 | 低機率,高影響事件 |
高機率,低影響事件 | 高機率,高影響事件 |
而我們在成為網路安全專業人員的路上必須時時刻刻把兩個問題放在心上:
- 該特定風險事件有多高的機率會發生?
- 如果事件發生時最糟糕的情形會如何?
威脅
當我們能夠把特定風險歸因成某類型的事件原因,就能夠將事件描述成為威脅的樣貌,威脅的意思即是針對想要保護的資產所構成風險的人事物,並非所有威脅都是人為造成的,如果公司的網路依賴當地電網的供電,只要一個輕微的颱風或地震就有可能對正在運作的系統造成風險危害(如果中火出事可能會影響全台🔥),不過在大多數的案例當中人為威脅還是屬於佔比較高,像是常常會在資安網站上看到新聞又出現新型惡意程式植入進行攻擊,這類事件通常由個人或一個組織進行,通常稱作Threat Actor
弱點
威脅若成為真實有可能發生的風險,並且存在一些方法可以針對某些特定的系統版本或機器造成危害,代表這個系統或機器存在弱點了,這幾年比較有名的大概是2021年12月發生的Apache Log4J函式庫弱點,這是一個在Java上非常有名的log函式庫,如果機器上存在這個弱點的話,攻擊者透過JNDI Java toolkit功能來執行任意code執行(包括惡意程式),使用一般使用者的輸入方法(例如“使用者名稱”或者HTTP header作HTTP method)而後端系統沒有適當的過濾使用者的輸入時,有可能使server到下載Java惡意程式從而讓攻擊者遠端且執行一些未授權的指令,最終可以拿到更加詳細的log資料,包括機器對外連線的資料、內部金鑰儲存的明文格式等等
由於Log4j函式庫使用的範圍太廣泛,所以Common Vulnerability Scoring System (CVSS)給予這個弱點最高的風險評估:10.0 Critical等級,造成許多廠商、公司或獨立開發者根據各家資安廠商給出威脅情報指標後慌忙地評估自己的設備有沒有存在這個弱點並且趕緊設計patch來修復,當這種情形發生時一些惡意組織就會如鬣狗般出動,他們清楚了解這個弱點的機制時就會設計工具來進行掃描,針對那些還沒有修復過的機器施行攻擊,這種情形通常稱作Zero Day弱點
如果機器或系統是由系統整合商(SI)提供,且該供應商還沒有從原廠取得任何有效的patch時還是有些方法可以先行避免,像是針對使用者輸入的內容要適當的過濾,這種方法對於其他web上的潛在問題也有效,例如一些針對瀏覽器的惡意程式請求預設都要關掉
漏洞利用
在電腦程式當中存在弱點能讓攻擊者透過觀察程式的表現,並且跟程式互動來達成開發者原先未預期的特定目標,例如一些目標可能是存取一些原先不可存取的記憶體位置,或者攻擊者提權自己的角色權限看到原本不該看到的,當使用者是刻意追求或帶有惡意進行這種行為時就稱作漏洞利用,Exploit這詞可以當作名詞或動詞,作為名詞表示利用特定弱點的一個流程,當作動詞的話表示正在針對一個弱點確切利用工具或Script的過程
以上四點可以使用在描述攻擊者跟防禦者的面向,從攻擊者的角度可以跟我們的系統或網路進行溝通,嘗試發現任何弱點或可利用的漏洞,他們的目標是組合各式各樣的弱點跟漏洞來進行攻擊取得想要的資訊,而從防禦者的角度來看就必須盡可能減少任何可以被發現的弱點或漏洞,讓攻擊者無法找出可以入侵的管道
隨著系統跟網路的設計越來越複雜,只要產品或服務都是對外公開在網路上的,防禦端就無法避免被找出弱點或漏洞,能做到的只有想辦法讓入侵手法變得更複雜,然而道高一尺魔高一丈這只會激發攻擊者設計出更奇妙的手法,這也是為什麼資安領域這麼迷人的特點,永遠都有修不完的弱點以及不存在完美安全的系統