30 Days Road Map — 資訊安全

Tech-Day-技術分享會

Share This Post

Day 1

甚麼是資訊安全

資訊安全統一簡稱「資安」,而資安具有三個核心要素「機密性(Confidentiality)」、「完整性(Integrity)」、「可用性(Availability)」。然而,這三要素互相牽制,高度機密性就會降低可用性與完整性,而如何在三項核心要素中取得平衡是一大挑戰。

  • 機密性 Confidentiality:訊息不為其他未授權者獲得,用以維護用戶資訊的保密性。例如:「機密資料」、「公司開發的技術」、「個人資訊、信用卡資料、醫療紀錄」
  • 完整性 Integrity:在傳輸、儲存資訊或資料的過程中,資料不會被未經授權的篡改、刪除
  • 可用性 Availability:讓系統處於工作狀態,服務不因任何因素發生中斷、停止

除了上述的三大核心要素外,通常還會有三個要素「不可否認性(Non-Repudiation)」、「身分驗證、鑑別性(Authentication)」、「存取控制(Access-Control)」。

  • 不可否認性 Non-Repudiation:確保無法否認於系統上完成的操作,例如:數位簽章讓寄件人無法否認訊息是從當事人發出的
  • 身分驗證 Authentication:確保使用者登入時,身分有合理妥當的檢驗
  • 存取控制 Access-Control:確保操作者有適當的權限且擁有適當的授權

除了上述的這些要素外,還有許多需要執行的資安與相關任務需要被執行,例如:「資料備份」、「異地備援」等等。

資安沒做好會發生甚麼事

資訊安全若是沒有做好,就可能會被駭客入侵,輕則被相關單位通報;重則系統癱瘓、控制權被奪、資料遺失、資料毀損、勒索、甚至是以該伺服器擁有者的身分進行其他攻擊。

上市櫃公司必需要設立資安部門

金管會為了強化公司資訊安全管理機制,要求上市櫃公司設立資安單位,配置資訊安全專責人力。資安威脅日益嚴峻,金融業、保險、證券業者被駭的案例屢見不顯,因此要求更高度的資安機制,避免客戶機密資料遭到竊取。

Ref: https://ctee.com.tw/news/finance/664465.html

資安沒做好的案例

來看看幾個資安漏洞引發的災難

  • 統一超商 於 2022 年 08 月 03 日, 7-11 的統一超商被駭客入侵,並在螢幕上覆蓋「戰爭販子裴洛西滾出台灣」的字樣。
Ref: https://news.tvbs.com.tw/life/1866265
  • 台鐵螢幕遭駭客入侵 於 2022 年 08 月 03 日, 台鐵系統被駭客入侵,並在螢幕上顯示非台鐵內部所指定的資訊。
Ref: https://news.ltn.com.tw/news/politics/paper/1532483
  • 上海公安局資料庫被入侵中國居民資料、疫情資料外洩 2022 年 6 月 30 日,在某論壇中有用戶表示上海公安資料庫洩漏,資料庫中有十億中國居民訊息和數十億病歷紀錄,包括姓名、地址、出生地、身分證、手機號碼、犯罪紀錄與詳情,更是在網路上進行販售、轉手。 Ref: https://ezone.ulifestyle.com.hk/article/3292329/上海公安數據庫疑被入侵 10 億人資料售 157 萬港元

OWASP

OWASP(Open Web Application Security Project) 是非營利組織,主旨在促進軟體安全。OWASP 透過「社群領導與開源的軟體專案」、「上百個資安篇章」、「上萬個會員」、「領導級的教育訓練會議」成為開發者增進 Web 安全的資訊來源。每年都會統計相關資料資安案例,並將其進行排序,由此可以看到何種議題是較常發生、被關注。如 2021 年的排序為下表所示:

駭客類型

白帽駭客

將知識用於可接受或合法的目的,入侵系統評估安全、缺陷,提出可改善的建議。或與公司或組織合作來提高資訊安全,或以個人工作者的身份尋找系統漏洞來賺取獎金。

黑帽駭客

行動的出發點是惡意的,利用自己的資安技術從事各種非法活動,有時甚至是犯罪活動,包括但不僅限於

  • 竊取資料、網路身份或金錢
  • 入侵系統經常是因為有挑戰性或只是好玩
  • 散佈不同類型的惡意軟體
  • 對個人、公司甚至國家進行間諜活動,以竊取機密資料
  • 破解軟體數位版權保護以非法使用
  • 追蹤他人的網路活動

除了試圖直接入侵系統之外,黑帽駭客可能採取社交工程的手法來實現他們的目標。在這種情況下,只要按下惡意連結或下載來路不明的軟體,設備就可能受到感染。黑帽駭客是最需要留意的一種駭客類型。

藍帽駭客

藍帽駭客,也可以被視為白帽駭客,會與軟體公司合作,在軟體發佈之前,尋找軟體的安全漏洞,測試軟體來找出弱點所在,然後交由開發人員修復。與白帽駭客的區別在於,軟體公司將安全性測試委託給外部公司中的藍帽駭客執行。

灰帽駭客

灰帽駭客的行為介於黑帽駭客和白帽駭客之間,技術能力往往超越黑帽駭客與白帽駭客。通常是為了引起人們對系統漏洞的注意而進行駭客攻擊,而不是為了系統的安全性。灰帽駭客通常是不道德和非法的行為,但不參與犯罪活動,而黑帽駭客則專門從事犯罪活動。

例如:灰帽駭客可能會主動找到您的系統漏洞,如果您願意付錢的話,他們可以幫您修復漏洞,或者他們找到您的系統漏洞之後,根本不會通知您。

激進駭客/紅帽駭客

激進駭客(紅帽駭客)進行攻擊來表達政治、意識型態、社會或宗教訊息,目的不是金錢或個人利益,而是因為各種原因揭露機密資訊。可能成為大規模活動的一部分,而這通常是一個持續的過程,而不是一次性的事件。例如:維基解密(WikiLeaks)、匿名者行動(Anonymous)。

腳本小子

腳本小子是指那些專門利用他人開發的腳本進行攻擊的網路滋事者,活躍於社群中,但通常不懂攻擊手法的原理,也無法自行撰寫腳本。

Day 2

常見的 Web 安全漏洞

在 2021 OWASP TOP 10 WEB APPLICATION SECURITY RISKS 列出的資安風險

  1. Injection
  2. Broken Authentication
  3. Sensitive Data Exposure
  4. XML External Entities (XXE)
  5. Broken Access Control
  6. Security Misconfiguration
  7. Cross-Site Scripting (XSS)
  8. Insecure Deserialization
  9. Using Components With Known Vulnerabilities
  10. Insufficient Logging & Monitoring

其中有幾個資安漏洞是每年都會出現在榜上的,例如:「Injection」、「XSS」等等。

SQL Injection

在一般的 SQL statement 中,插入惡意的 SQL 語句,使原邏輯發生改變,造成預期外的結果。造成駭客以他人的帳號進行登入,盜取該使用者資料,或任意行使該使用者之權限。

小練習

為了更了解此漏洞的「原理」、「成因」、「防禦方法」,自建有漏洞的伺服器,攻打自己的伺服器並修復!建立具有 SQL Injection 漏洞的伺服器,其中伺服器要能夠接受「利用 SQL Injection 繞過使用者登入密碼」、「Union 攻擊」、「Blind SQL 注入」、「檢查資料庫,取得 DBs 名稱、Tables 名稱、Schemas、Columns 名稱」攻擊。

XSS

XSS (Cross-Site Scripting) 在 OWASP 網頁安全漏洞中屬排名前十,XSS 主要是在 Input 的然為中輸入 HTML tags 或 JavaScript 腳本。XSS 中還根據類型進行細分「反射型」、「儲存型」、「DOM」。可能會導致資料的外洩、他人電腦遭駭客入侵,以及許多的災難。

小練習

為了更了解此漏洞的「原理」、「成因」、「防禦方法」,建立具有 XSS 漏洞的伺服器,攻打自己的伺服器後進行修復!建立具有 XSS 漏洞的伺服器,其中伺服器要能夠接受「反射型」、「儲存型」、「DOM型」的攻擊,其中的儲存型 XSS 建議以留言板的型式處理。

CSP

CSP 全寫為 Content Security Policy,內容安全策略,是一個額外的安全層,用於檢測並削弱特定類型的攻擊,包括跨站腳本和數據注入等攻擊,避免「資料盜取」、「網站內容汙染」、「散發惡意軟體」。

小練習

為了更了解此漏洞的「原理」、「成因」、「防禦方法」,利用上個 XSS 漏洞的伺服器,設定 CSP,禁止不該出現在網頁中的內容!繼承 XSS 所建立的伺服器,引入各個網址的資料,例如:「Youtube 影片」、「利用 iframe 引入其他網站」、「引入其他網站的圖片」,設定該伺服器的 CSP,禁止非允許的內容載入,並根據 CSP 提供的設定網頁內容來源、使用的 Protocol(https:)。

零時差攻擊

零時差攻擊,英文為 Zero-Day Attack,利用尚未修復,但已發布的漏洞進行攻擊。在修復前的時間就是開發商與駭客的競賽,前者修補漏洞,後者開發攻擊腳本、手法。而若是企業在開發商發布補丁後未及時更新、修補漏洞,就是將自己的伺服器或服務暴露在危險之中,甚至是任何人都能使用已知腳本攻擊企業的伺服器。

小練習

為了更了解此漏洞的「原理」、「成因」、「防禦方法」,利用較早期版本的套件或系統建立具有已知漏洞的伺服器,攻打自己的伺服器後進行修復!尋找該版本套件中已知漏洞的腳本,嘗試使用該腳本進行攻擊、入侵,並查找套件的版本更新內容,升級套件版本以解決這個漏洞。

瀏覽器安全政策

為了增加資訊安全的能力,各個瀏覽器也都多加了許多的限制,例如:禁止跨網域、跨來源的接收資料。然而,開發者在開發網站時,偶爾會使用非相同來源的資料,而這樣的安全政策將妨礙開發者進行開發,爾後又開發出了協議「CORS」來協助制訂相關的條款,以開放不同來源的資料。

CORS

跨域讀操作一般是不被允许的,而這種情况是我们開發過程中最關心、最常見的情況,因此必須解决。可以使用 CORS 來允許跨域訪問。CORS 是 HTTP 的一部分,它允許伺服器指定那些主機可以從這個伺服器加載資料。

小練習

為了更了解 CORS,需要建立前後端分離的應用,前端推薦使用 Angular 或 React 進行開發;後端推薦使用 Express.js 開發。開發完成後若未設定 CORS,Angular、React 是無法成功讀取從 Express.js 回傳的 Response,至此開始設定 CORS,並設定好 origin 避免後端遭受其他未經允許的前端服務訪問。

Day 3

弱點掃描工具

弱點掃描工具可以協助開發者觀察應用程式是否有弱點,檢測的項目包含但不僅限於「探測主機狀態」、「網路阜號狀態」、「作業系統類型」、「系統應用程式類型」、「弱點檢測」等等,根據報告修復弱點,確保應用程式的安全性。弱點掃描軟體有許多種類,但未經伺服器持有者的允許,請勿隨意嘗試以免觸法

免費版

  • Nikto
  • Wikto
  • Jsky
  • Skipfish
  • Scrawlr

商業版

  • Acunetix
  • IBM AppScan
  • HP WebInspect
  • N-Stalker
  • Nessus
  • OpenVAS

嘗試使用免費版的弱點掃描工具掃描自行搭建的設備,但需要特別注意,未經允許請勿掃描任何他人的設備、網站

CVE 網站

CVE,全寫為 Common Vulnerabilities and Exposures,為「公開揭露的電腦安全漏洞清單」,而每個安全漏東都有各自的安全漏洞編號 CVE ID。CVE 有助專業人士互相協調工作,決定各漏洞的優先處理順序,最後解決這些漏洞能夠讓系統、軟硬體更加安全。

了解 CVE

TVN 漏洞公告 網站

TVN,全寫為 Taiwan Vulnerability Note,為台灣電腦網路危機處理暨協調中心(Taiwan Computer Emergency Response Team / Coordination Center)中的一份資料,中心亦提供企業資安事件諮詢、協調、協助服務,推動資安情資分享、舉辦資安宣傳活動。

除了 Web 的漏洞外,還有系統漏洞

一個系統與伺服器,除了 Programmer 本身資安意識不足所導致的資安漏洞外,還有許多引發資安問題的層面,例如:「OS 漏洞」、「平台引擎漏洞」、「套件漏洞」。

  • OS 漏洞 基於使用的作業系統本身的漏洞
    • CVE-2021-30860,駭客利用 Forcedentry 漏洞把 Pegasus 植入蘋果手機中,在蘋果圖像渲染函式庫 CoreGraphics,利用整數溢位漏洞。當處理惡意 PDF 時,允許駭客執行任意程式
    • CVE-2021-40444,Windows 系統中攻擊者可以傳送 Office 文件,開啟後會連上含惡意 ActiveX 控制項網站,下載惡意程式讓駭客可執行任意程式碼、接管整台電腦
  • 平台引擎漏洞 Server-Side Template Injection 中有一經典案例,Python-jinja2 作為模板引擎時會有注入的風險。例如: jinja2 中設定 name 為參數(string),{{ name }}會渲染該變數的內容,當 name 輸入 7+7,那麼輸出將為 14;當 name 是為更複雜的資料、指令時,將會導致更嚴重的後果
  • 套件漏洞 像是 Log4j2 核彈級資安漏洞 — CVE-2021-44228。Log4j 通常是用來記錄 Web Request 的,但是當此紀錄中具有特定格式的文字就會觸發系統執行指令。但稱之為核彈級漏洞主要是因為
    1. Log4j 套件使用人數極多
    2. 觸發容易
    3. 能造成極大的影響
    甚至「美國資安主關機關通令政府單位立即修復」,而微軟與蘋果也都受到波及。

如何做好資安防範

  • 關注資安議題
  • 關注系統與套件的補丁
  • 定期檢測系統弱點
  • 設定資安專責 或 資安公司合作尋找系統漏洞
  • 提升系統管理人資安能力
  • 強化網路安全管理
  • 加強系統取存控制

相關的工作與內容

💡 此工作內容僅供參考,並不適用於任一公司職位的內容、規範

  • 資安工程師
    1. 日常資安檢測
    2. 資安事件處理反映
    3. 設備監控、維護
    4. Log 檢核
  • 資安分析師
    1. 公私聯防、情資交換、技術研究
    2. 案例分析、事件鑑識
    3. 技術支援
    4. 運作 CSIRT 、PSIRT 群組
    5. 制定資訊安全事故通報與回應 SOP
  • 資安長
    1. 資安規範制定、修訂、執行成效檢核
    2. 資安法令遵循、風險評估、執行情況彙整呈報
    3. 協助組織運作、相關單位協調溝通
    4. 資安於專案中的規劃、導入、執行、風險評估
    5. 支援海內外資安相關事務,包含規範修訂、資安於專案內的規劃、導入、結果檢核

Ref

  1. https://medium.com/hannah-lin/從零開始學資安-什麼是資訊安全-75a7a208e8db
  2. https://ithelp.ithome.com.tw/articles/10238953
  3. https://nordvpn.com/zh-tw/blog/heike-shi-shenme/
  4. https://ithelp.ithome.com.tw/articles/10185727
  5. https://buzzorange.com/techorange/2021/12/21/what-is-log4j-and-log4shell/

訂閱研究文章

Get updates and learn from the best

More To Explore

Scroll to Top

hurry up !

軟體工程師培訓

限時免費報名中

藉由與「真實世界軟體專案」相同的技術、工具與開發流程,化簡成與商業機密無關、門檻較低更容易上手的「模擬專案」,讓你有機會在職場前輩的陪伴下,完成真槍實彈的練習,動手解決真實的問題,快速累積個人的經驗與作品,而不只是「學習技術」而已。