• [資安小常識] 認識進階持續性滲透攻擊 (APT)

    作者:Chohan Wu


     

    圖一、認識進階持續性滲透攻擊 (APT) (圖片來源)

     

    進階持續性滲透攻擊 (Advanced Persistent Threat, APT) 是一種最近常見的網路攻擊型態,攻擊者往往都是相當龐大且有組織的駭客集團,而並非像一般的駭客事件可由單一駭客所為。駭客集團會針對特定的攻擊對象設計一套專屬的攻擊策略,攻擊的手法除了以電腦入侵方式外,也會透過其他的傳統的手法達到竊取資料的目的(如電話竊聽等)。

    APT 的攻擊者往往都會透過長時間且持續性的潛伏及監控,趁使用者稍有疏忽時撈取其所需要的資訊。在一篇網路報導ADT 攻擊如何癱瘓您的網路安全(英文)中可以窺見 APT 攻擊的手法和策略。

     

    根據美國資訊網路公司 Mandiant 在2013年所提出的 調查報告(英文) 中可將 APT 攻擊歸類成以下的生命週期來進行:

     

    1) 初步的入侵:利用一些釣魚網站或電子郵件來做為入侵的媒介。

    2) 建立立足點:植入 Rootkit 等惡意程式以掌握使用者系統。

    3) 取得管理者權限:利用破解密碼等方式取得該電腦管理者權限。

    4) 內部偵查與平行擴散:找尋該主機附近的其他主機或伺服器,並伺機取得其內部資料庫儲存之機密資料。

    5) 持續監控並完成任務:持續掌控資料庫伺服器或是主機,並將資料匯出達到竊取機密的目的。

     

    圖二、 APT 攻擊的生命週期(圖片來源)

     

    APT 攻擊為一種相當有策略性且多面相的入侵,且其入侵的通常都是長時間且持續性的,並非單一事件,也因此其防範方法也必須在各種細節中嚴加堤防注意,並不能因為單一危機解除後就掉以輕心,必須要從養成良好的資訊操作習慣開始做起。

    在面對釣魚網站或是電子郵件的防治部分可以參考本部落格文章 [資安小常識] 最新的釣魚攻擊 以及 [資安小常識] 玩線上遊戲也要小心釣魚攻擊 ,以了解最新的釣魚形式。而關於惡意程式的入侵,也可以參考本站文章 [資安小常識] 惡意程式Rootkit的認識及防範 來處理。

     

     

    圖三、圖片來源

     

    對於資訊管理的人員來說, APT 的防禦模型 顯得更加的重要,基本上面對如此有組織的滲透攻擊,管理人員能做的就是勤加監控網站或是資料庫的存取記錄,以便能從記錄中辨識出攻擊的事件,並阻擋該來源的讀取權限。常說知己知彼、百戰百勝,能夠知道駭客組織的常用攻擊模式之後,就能夠將對方入侵的企圖瓦解,維護資訊安全。

     

     

    參考資料

     

     

  • [資安小常識] BitLocker 徹底保護你的硬碟/隨身碟資料

     作者:資安顧問 Taien

    當年某男星送修電腦的事情彷彿一場夢一樣轉眼間快三年了,這個教訓讓許多人在修電腦的時候都特別注意自己的私密資料是否安全,麻煩的是需要透過特殊的抹除軟體或是第三方加密軟體來達到保護的效果,為什麼 Windows 沒有這個功能,而 BitLocker 正好在大家期望下所問世…

    BitLocker

    以往 Windows 使用者如果要保護電腦資料,只能透過內建加密檔案系統或是第三方軟體來保護電腦資料,可惜的是 Windows 內建加密系統不能對整個硬碟做加密,因此如果有心人士想要破解還是有地方可以鑽,然第三方廠商所開發的加密軟體則是因為各家不同的實作,因此最常遇到的問題就是如果要讀取資料還需另外安裝外掛造成不便。
    因此微軟在 Windows Vista 內建了磁碟加密解決方案也就是 BitLocker,而 BitLocker 也在 Windows 各個版本中也持續的改進,如下

    作業系統/版本 BitLocker功能
    Windows Vista 僅可加密本機系統磁碟(通常為 C 槽)
    Windows Vista SP1 可保護所有本機磁碟
    Windows 7 企業版/旗艦版 可保護所有本機磁碟
    可對 USB 快閃磁碟機及外接式硬碟進行加密

    現在的 BitLocker 已經能提供相當完整的功能,它有幾個特色

    1. 完整磁碟機加密,透過 BitLocker 可以對整個硬碟做加密,有心人士無法藉由透過其他作業系統,或是其它軟體來讀取到機密資料。

    2. 早期開機元件的完整性檢查 ( Integrity checking of early boot components ),BitLocker 為在 BIOS 開機時期進行檢查,以確保系統不被竄改,待完整性檢查無誤與拿到正確的金鑰後系統才會開始解密。

    3. 冷開機攻擊保護 (cold boot attacks),透過 PIN 碼或是有金鑰的USB裝置來讓系統開機或從休眠甦醒。

    4. 簡化硬碟回收作業,在以往硬碟更換時,總是要小心硬碟機敏資訊被還原回來,按造美國國安局 NSA 規範至少要複寫 7 次才算安全,而對於被 BitLocker 加密過的硬碟只需要將解密的金要移除即可,回收到的人沒有解密金鑰完全無從下手。

    5. 擴大加密裝置,除了加密保護本機硬碟還可以加密 USB 快閃磁碟機及外接式硬碟。

    Windows7BitLocker 介紹

    1.本機系統碟加密

    在磁碟上按右鍵點選開啟 BitLocker

     

    BitLocker 系統準備檢查畫面,如果您的電腦是出現找不到 TPM 模組,請參考最後的附件,這個部分檢查完會重新開機才正是進入加密的設定

     

    這裡我們示範沒有 TPM 模組的加密方式,因為沒有 TPM 所以我們目前不能設定PIN,而且我們必須準備一支 USB 裝置來儲存啟動金鑰,而因為我們是將啟動金鑰儲在 USB,因此之後開機都必須有支設備,否則便會出現「需要 Windows BitLocker 磁碟機加密金鑰-插入金鑰儲存媒體」的訊息,好那…我們準備好 USB 就可以開始了

     

    選擇儲存的 USB 設備

     

    選擇[將修復金鑰儲存到 USB 快閃磁碟機中]

     

    加密磁碟前需要檢查系統的狀況是否都設定好

     

    接下來重新啟動系統,加密的動作就會開始

     

    加密完成後,我們可以看到 C 磁碟多了一個鎖,便完成了加密動作,這是就算是拿到其它硬碟沒有金鑰也無法存取裡面資訊。

     

    2.加密隨身硬碟

    在 USB 隨身碟按右鍵點選啟用 BitLocker

     

    設定解除 BitLocker 鎖定的密碼,千萬要記得這個密碼,以後要透過這組密碼才可以存取加密的磁碟

     

    修復金鑰正是用在您忘記密碼的時候,所以務必把這組金鑰存好,假設連這組都忘記,那微軟也沒辦法幫你了

     

    加密完硬碟後,可以看到隨身碟上多了鎖,這時只有輸入正確密碼才可以存取設備

     

    加密完的硬碟可以在 Windows Vista 與 Windows 7 正常的存取,在 Windows XP 需要安裝更新才可存取加密的相關檔案。

    Windows XP BitLocker To Go 讀取裝置更新檔:
    http://www.microsoft.com/downloads/details.aspx?FamilyID=64851943-78c9-4cd4-8e8d-f551f06f6b3d&DisplayLang=zh-tw#filelist

    系統安全分析

    為了證明加密磁碟的安全性,我透過自己作的電腦鑑識分析光碟裡面的兩套商業軟體 FinalData 與 R-Studio 來嘗試看看是否可以讀取加密碟的檔案,不幸的是 FinalData 連加密硬碟的格式讀取都有點問題,我試著用 R-Studio 來解析加密碟,好不容易掃完的結果卻無法挖掘上面的任何檔案,這也簡單得確認了它的安全性,並印證他說得如果沒有金鑰硬碟就像是新的一樣也簡化了回收程序。

    R-Studio 掃描分析被 BitLocker 加密的磁碟

     

    可以看到分析完後在 R-Studio 找不到加密碟裡面的任何資料

     

    補充附件:在沒有 TPM 模組的環境啟用 BitLocker

    如果在 USB 裝置按右鍵找不到開啟 BitLocker,或是出現找不到 TPM 請作以下兩個步驟

    開始功能表搜尋輸入 gpedit.msc 開啟本機群組原則編輯器

    電腦設定>系統管理範本> BitLocker 磁碟機加密

    1. [設定磁碟機加密方法與加密長度]狀態更改成「已啟用」並選擇加密方法「具有 Diffuser 的 AES 128 位元(預設)」
    2. 作業系統磁碟機>[啟動時需要其他驗證]狀態更改成「已啟用」並確認在「不含相容 TPM 的情況下允許使用 BitLocker」被勾選

    完成這兩個設定後,便可以在沒有 TPM 模組的環境下透過 USB 來加密存取系統碟

    結論

    BitLocker 幫助使用者從裡到外完整的保護資料,因此如果您的電腦有這個功能,千萬不要吝嗇使用它,它可以幫您保護公司重要機密與私密檔案的最佳拍檔。

    參考資料

  • [資安小常識] 每秒300GB!史上最大規模 DDoS 攻擊!

    作者:Vavrin Chen


     

    圖一、日前造成全球網路大塞車的 DDoS 攻擊(圖片來源)

     

    您是否常常被網路的『龜速』弄得不耐煩呢?有時候上網路速度變慢,並不是單純的網路塞車,或共用線路的其他使用者在大量下載,而是 DDoS (分散式阻斷服務) 網路攻擊!日前,歐洲一家反垃圾郵件的非營利組織 Spamhaus 遭受流量 高達 300Gbps 的 DDoS 攻擊 (DDoS 是 DoS 的一種變形,因為它是透過網路分散來源的技巧,所以將之稱作分散式 DoS, Distributed DoS ,簡稱 DDoS 攻擊),此網路攻擊是史上最大規模,主要是歐洲地區遭受攻擊,但衝擊層面相當廣,全球都出現網路塞車的情形。

     

    一般 DDoS 攻擊流量平均小於 10Gbps,為何這次 Spamhaus 所受攻擊的流量會如此高呢?進一步探討此次 DDoS 攻擊手法,是採用 DNS reflection 攻擊,意即攻擊者假裝從 Spamhaus 對數萬台的 DNS resolvers 發出請求,而這些 resolvers 會給 Spamhaus ,因此造成大量的網路流量;與一般透過殭屍電腦產生大量網路流量的方式不同 (傳統的 DDoS 手法為,利用分散於不同地方的多部電腦主機,發送大量偽造地址的封包,癱瘓受害者所在的網路主機伺服器,使得正常的接通率降到 1% 以下) 。

    一般來說,DNS 伺服器應有設定只支援來自一個特定的網域或範圍的 IP 位址的請求,不過全球網路中大部分的 DNS 伺服器,其初始設定值並未有如上的限制,而是設為對外開放,因此受到有心人士的利用,將此開放式 DNS 伺服器用來回應除了其支援網域名以外的需求。 DDoS 攻擊方式在於它是網路上的多台主機同時發動類似 DoS 的攻擊行為,被攻擊者所面臨的敵人是數百台來自不同網域的主機,因此 DDoS 攻擊不一定要終止受害者主機的系統程式,只需要同時送出遠超過受害者主機網路負荷的資料,就能達到癱瘓網站目的。

    由 DDoS 攻擊方式得知,其運用數以千計遭到自動化方法控制的殭屍電腦形成的分散式網路,目前已有許多偵測攻擊程式的工具,Windows系統可以利用 Microsoft Safety Scanner 程式來進行掃描。能有效地檢查出 Tribe Flood Network (英文) 的常駐攻擊程式,避免該網站成為駭客進行 DDoS 攻擊的幫凶,進而阻止駭客啟動 DDoS 攻擊。

    目前許多網路安全漏洞或駭客攻擊都有其防範之道,不過從此次 Spamhaus 受到攻擊的事件來看,駭客攻擊技術也是日新月異的。因此為了能夠建立一個安全的網路環境,使用者有必要了解系統可能面臨的各種攻擊,並遵守一些 防護要點 ,進而完備一套健全的防禦機制。

     

     

    參考資料

     

     

  • [資安小常識] 惡意程式 Rootkit 的認識及防範

    作者:Vavrin Chen


     

    圖一:常見 Rootkit 攻擊方式  
    (圖片出處:http://download.microsoft.com/download/D/2/C/D2C47748-0310-4D6F-AC72-3D298BE58108/Microsoft%20Malware%20Protection%20Center%20Threat%20Report%20Rootkits_English.pdf)  

     

    什麼是 Rootkit?

    從字面上來看, root-kit 就是攻擊者偽裝成『根』目錄的使用者,它源自於 UNIX 系統,指『獲得電腦 root 權限的 kit (軟體工具組)』,故稱為 Rootkit, Rootkit 會改變作業系統中的一些設定,好讓攻擊者變成受害者電腦中的『系統管理者』,麻煩的是,Rootkit 這個惡意程式本身的設計,令防毒軟體要判定系統中有否存在 Rootkit 及哪些內容受到 Rootkit 的竄改變的相對困難。

    常見的 Rootkit 破壞如圖一中所示,Rootkit 在核心層 (Kernel) 竄改了原本應該是『00000000』的資料,使得應用程式或使用者在接受檔案時,收到『11111111』的錯誤資料,而此種在核心層的 Rootkit 通常也比在應用層 (User mode) 的 Rootkit 更難偵測,目前偵測 Rootkit 程式的方法分成『特徵辨識』(signature-based)和『行為辨識』(behavior-based)兩大類。詳細 Rootkit 分類請參考: 維基百科- Rootkit (英文)

     

    當您為電腦掃毒時偵測到有 Rootkit 的建議處理方式:

    首先删掉這個被偵測到的檔案,並且再掃一次毒,若發現有很多被感染的檔案,則需要重新安裝您的作業系統才能完全解決 Rootkit 帶來的傷害,Rootkit 具有高感染力,因此建議您重新安裝作業系統之後要立刻把防毒軟體裝上去。 此外,若以前所保留的安裝檔 (如:setup.exe) 若沒有經過壓縮成 rar 或 zip,或燒錄在光碟中的話,一律不能使用,因為這些檔案可能含有已被感染的風險。

     

    如果確認中毒,則有兩個好用的工具建議給您使用: Microsoft Diagnostics and Recovery Toolset (MS DaRT)Windows Defender Offline。其中,若您需要較為全方位的防護,則會推薦您使用 MS DaRT,因為它不只能修復 Rootkit,還能修復其它病毒及惡意程式,且 MS DaRT 內含離線式的 Windows Defender,因此 MS DaRT 可以離線開機修復系統,這樣一來 Rootkit 亦不會被啟動,使得 MS DaRT 能進入系統核心層修復。

    了解 Rootkit 基本面和攻擊者的攻擊方式之後。重要的是,如何對 Rootkit 加以防範、避免威脅,建議您不妨試試本期資安小常識介紹的 MS DaRT 工具,做好系統的弱點評估及預防隔離,在了解 Rootkit 帶來的風險後,採取最佳措施保護自己!

     

     

     

    參考資料

     

     

  • [資安小常識] 透過 Azure Rights Management 服務在雲端上安全地管理文件

    編者:Cho-Han Wu


     

    01

    圖一、 Windows Azure Rights Management 服務讓您更輕易地管理雲端文件  (圖片來源)

     

    Rights Management Services (RMS) 是一款提供企業在分享檔案和文件時,能夠同時保護機敏資訊安全的解決方案。最新的 RMS 讓企業組織能夠輕易的分享各種檔案類型的機敏性資料,同時也支援跨平台行動裝置的讀取。而新版 RMS 新增的 Azure RMS 功能,更簡化了舊版 RMS 繁瑣的分享步驟,讓使用者可以直接透過 Azure 雲端服務來進行權限的驗證,也讓 RMS 的建置成本大幅下降。本次的資安小常識,將提供您如何透過 Azure RMS 來管理雲端上的機敏文件。

     

    不管在資料庫管理和伺服器管理,撰寫系統記錄 (logging) 都是保護及監控系統安全最簡單的好方法。系統記錄會記錄下管理者的動作以及文件讀取的歷史紀錄。因此監控系統記錄可以達到以下三個目的:

    1. 監控資料是否被濫用

    建議的系統記錄時間應該小於15分鐘,這樣可以提供一個針對您的 RMS 資料的連續性監控。
    若某特定對象在非業務時間大量的存取機敏資料,或是在同一個時間區段內 (15分鐘) 從不同的 IP 登入,抑或是在沒有辦公據點的 IP 位置登入,那這些舉動即可能被視為資料的濫用。

    2. 分析資料讀取記錄,了解讀取背後的意義

    您可以藉由讀取記錄了解某特定使用者的資料讀取記錄,以及讀取的地點訊息等等,這些資源方便您了解使用者的行為。

    3. 當做事件發生的證物

    當資安事件發生時,管理者可以藉由系統記錄來查詢最後存取系統的使用者,並了解他所讀取的東西。這些訊息方便管理者對機敏資料流向得掌控。

     

     

    在開始設定之前

    在設定Azure RMS 的系統記錄之前,有三件事必須要先準備好:

    1. 您的企業必須是 Microsoft RMS 的訂戶
    使用免費的 RMS 個人帳戶將不提供系統記錄的功能。

    2. 您必須是 Windows Azure 的訂戶
    因為系統記錄必須存放在 Azure 之中,所以您必須是 Azure 的用戶,尚未擁有 Azure 帳戶的可在此申請, 目前 Azure 一個月免費試用

    3. 您的系統必須安裝 Windows PowerShell for right management
    因為在設定和管理的過程需要用到 PowerShell 來設定,所以您的系統必須安裝 PowerShell,下載網址

     

     

    設定 Azure 儲存空間

    開啟您的 Azure 入口網站,在左側的功能列表中點選 STORAGE -> NEW -> QUICK CREATE。

     

    02

    圖二、 在 Azure 中新增儲存空間  (圖片來源)

     

    創建完成後,選取剛新增的實例,並按下下方的 MANAGE ACCESS KEYS 按鈕,來管理您的儲存空間存取金鑰。

     

    03

    圖三、 選取新增的儲存空間實例  (圖片來源)

     

    04

    圖四、 複製存取金鑰  (圖片來源)

     

     

    設定儲存帳號和啟用系統記錄功能

    在安裝完 PowerShell 後,就要利用一些Command 來開啟系統記錄的功能。
    1. 匯入 Microsoft RMS 模組並連接至 Azure RMS

    PS C:\Windows\system32>Import-Module AADRM
    PS C:\Windows\system32>Connect-AadrmService -verbose

     

    2. 當系統跳出認證請求時,輸入管理者的帳號和密碼加以認證。

     

    3. 輸入 Command 告訴 Azure RMS 您的記錄在 Azure 上存放的位置,將剛剛的存取金鑰輸入在底下。

    PS C:\Windows\system32> $accesskey = ConvertTo-SecureString"wUjKVV14XXUCrdpuLsIa8yQ5IgUmLSOLmlgS/CcHNZXiurEORjTItdtPf4OpCaIwGNyijjMPxvDEOG21HRKR7A==" –asplaintext –force

    PS C:\Windows\System32>Set-AadrmUsageLogStorageAccount -StorageAccount RMSBILogs -AccessKey $accesskey

    RMSBILogs was set as the storage account for the usage log feature for the Rights management service.

    PS C:\Windows\system32>

     

    4. 開啟系統記錄的功能。

    PS C:\Windows\system32> Enable-AadrmUsageLogFeature

    The usage log feature is enabled for the Rights management service.

    PS C:\Windows\system32>

     

     

    如何使用和存取 RMS 系統記錄

    您可以用以下三種方法存取 RMS 的系統記錄

    1. 使用 Windows PowerShell Cmdlet
    使用Get-AadrmUsageLog cmdlet 能夠讓使用者下載每一筆區塊的資料到本機端。

    2. 使用 Windows Azure Storage SDK
    利用 Azure Storage SDK 讓您能夠更彈性地使用Get-AadrmUsageLog 所提供的功能,Windows Azure Storage SDK 的介紹如下

    3. 使用 Microsoft Power BI
    使用 Microsoft Power BI 讓您能夠將使用的記錄下載成 Excel 使用。

     

     

    如何解析 RMS 系統記錄

    RMS 的系統記錄範例如下:

    #Software: RMS
    #Version: 1.0
    #Fields: date time row-id request-type user-id result correlation-id content-id c-info c-ip

    2013-09-19 13:46:44 0d07036b-c66c-4e92-b887-f59ecd61dc96 AcquireLicense 'janet@corp-contoso.com' 'Success' ad18e935-bcf9-4b51-9d34-cf3391c451ef {9312A0DF-DA57-4854-9160- 603A1ED06CB3} 'MSIPC;version=1.0.622.36;AppName=WINWORD.EXE;AppVersion=15.0.4535.1000;AppArch=x86;OSName=Windows;OSVersion=6.2.9200;OSArch=x86' 94.245.87.113

     

    表一、RMS 系統記錄欄位對照表

    欄位名稱

    W3C 資料型態

    欄位描述

    範例

    Date

    Date

    UTC Date when the request was served. The source is the local clock on the server that served the request.

    2013-09-19

    Time

    Time

    UTC Time in 24H format when the request was served. The source is the local clock on the server that served the request.

    13:46:44

    row-id

    Text

    Unique GUID for this log record. This is useful for provenance when you aggregate logs or copy logs into another format.

    0d07036b-c66c-4e92-b887-f59ecd61dc96

    request-type

    Name

    Name of the RMS API that was requested

    AcquireLicense

    user-id

    String

    The user who made the request. The value is enclosed in single quotes. Some request types are anonymous, in which case this field is ‘’.

    'janet@corp-contoso.com'

    Result

    String

    ‘Success’ if the request was served successfully. The error type in single quotes if the request failed.

    ‘Success’

    correlation-id

    Text

    GUID that is common between RMS client log and server log for a given request. This helps in troubleshooting client issues.

    ad18e935-bcf9-4b51-9d34-cf3391c451ef

    content-id

    Text

    GUID, enclosed in curly braces, that identifies the protected content e.g. a document. This field has a value only if request-type is AcquireLicense, it is blank for all other request types.

    {9312A0DF-DA57-4854-9160-603A1ED06CB3}

    c-info

    String

    Information about the client platform making the request. The specific string varies depending on the application, OS, browser.

    'MSIPC;version=1.0.622.36;...OSArch=x86'

    c-ip

    Address

    IP address of the client making the request

    94.245.87.113

     

    表二、常見的請求對照表

    欄位名稱

    欄位描述

    AcquireLicense

    Client is requesting a license for a specific piece of content, from a Windows computer.

    FECreateEndUserLicenseV1

    This is similar to the AcquireLicence request. This endpoint is for mobile clients.

    Certify

    Client is requesting a certificate (which is later used to get a license) from a Windows computer.

    GetClientLicensorCert

    Client is requesting a publishing certificate (which is later used to protect content) from a Windows computer.

    FECreatePublishingLicenseV1

    This is the same as the previous two combined, from mobile clients.

    FindServiceLocationsForUser

    This is sometimes anonymous, and sometimes with authenticated. This is an innocuous request that queries for the URLs to certify and acquire license from.

    Decrypt

    You will see this only if you brought in your own key (BYOK, see whitepaper http://technet.microsoft.com/en-us/library/dn440580.aspx). The Microsoft Rights Management service logs this when your key is used for decrypt – typically once per AcquireLicense and Certify.

    Sign

    You will see this only if you brought in your own key (BYOK). RMS logs this when your key is used for signing – typically once per one time per AcquireLicence (or FECreateEndUserLicenseV1), Certify, and GetClientLicensorCert (or FECreatePublishingLicenseV1).

     

    透過 Azure RMS 的系統記錄功能,不但可以達到監控系統機敏文件存取記錄的功能,同時將記錄檔存放在雲端服務上,又可以減少企業維護系統的成本,可說是一舉數得。若您想要追蹤最新的RMS 技術,也歡迎到 RMS 的官方部落格 (英文) 來取得最新的資訊。

     

    參考資料