2009年10月21日 星期三

如何讓IIS及其它web服務於一台伺服器上和平共處

本部份主要是針對IIS在啟動時是獨佔了0.0.0.0:80的狀態,因此在Windows平台上安裝了IIS之後
就無法再透過Apache(或其它的web service)去提供Web服務,若公司有兩種不同需求的Web服務
主機也有不足的問題,那麼我們該如何處理呢?

本文分以Windows 2008及Windows 2003分段討論,可透過下面的連結快速的連結到指定的OS版本的作法:

首先,我們先說明一下,在這個環境之下的需求:
1.一台web server上掛有兩個網路及不同的兩個IP
2.分配IP 10.10.10.1給Aache
3.指定IIS使用192.168.1.241

Windows 2008系列含R2

Windows 2008已經將httpcfg攻能以netsh取代了它的工能,並且內建於windows 2008之中,因此不需要另外進行安裝
欲將IIS 7.0(7.5)等指定成為只服務在單一的網卡上,這個部份就變的非常的簡單了,只需要一個簡單的指令即可:

首先我們先看一下,現在的80port是指定在那個IP,以netstat -na來進行查覽一下,可以看到80port是服務在0.0.0.0
未命名 - 8

1.首先於指令模式之中輸入netsh
2.於netsh>後輸入http(代表設定http的設定值)
3.接下來我們將現在IIS到底在那一個IP上做服務,輸入show iplisten(空白代表0.0.0.0)
4.接下來指定192.168.1.241指定為IIS服務聽取的IP,輸入add iplisten 192.168.1.241
5.我們再度的輸入show iplisten來看一下是不是成功的指定了
未命名 - 4

接下來將w3svc(web服務)重新的啟動,輸入net stop w3svc及net start w3svc
未命名 - 5

再次的以netstat -na來檢查一下,可以由下圖發現80port的服務已經被指定到192.168.1.241了,完成…!
未命名 - 7

Windows 2003系列含R2

由於Web service集中於Web伺服器上,因此為了解決IIS能與Apache相容,並且能IIS及其它web服務安裝於指定IP
並只針對指定IP聽取指定服務,必須透過安裝進階管理套件設定IIS http協定只聽取指定IP,而主機所有網卡(0.0.0.0:80)。

安裝進階管理套件

進階管理套件必須使用windows server 2003第一片光碟片,當您置入光碟片後會出現下列視窗,請直接點選『執行其它工作』。

未命名 - 12

選擇『瀏覽此CD』

未命名 - 13

在瀏覽CD的目錄下請點選SUPPORT目錄,並且進入該目錄中。
未命名 - 14

進入SUPPORT目錄後,請再點選TOOLS目錄
未命名 - 15

請於TOOLS目錄中執行SUPTOOLS.MSI,以開始安裝進階管理工具。
未命名 - 16

請在安裝精靈下直接點選『下一步』。
未命名 - 17

請點選I Agree後,點選下一步。
未命名 - 18

輸入好相關名稱及組織單位名稱,接下來點選下一步。
未命名 - 19

依照預設值進行安裝,並點選install now,進行安裝。
未命名 - 20
未命名 - 21

安裝完成後,按下finish以結束本工具的安裝程序。
未命名 - 22

設定http聽取指定IP

在安裝好進階管理套件後,請直接點選開始列->執行,並且於執行功能中輸入”cmd”以啟動指令模式。
未命名 - 24
未命名 - 25

接下來共分為三個步驟:設定聽取IP,確認設定,重新啟動http協定。
首先我們先來看一下原本的80 Port是指派給0.0.0.0
未命名 - 2

接下來於指令列輸入:httpcfg set iplisten -i 192.168.1.241
接下來請輸入httpcfg query iplisten,來檢查是否有列出設定聽取的IP
緊接著輸入net stop http /y,停止http服務
再輸入net start w3svc,重新啟動http服務
未命名 - 4

完成上述設定後,可以透過netstat –na來檢視80埠由192.168.1.241聽取服務
未命名 - 27

2009年10月20日 星期二

透過E-Mail執行典型的釣魚行為(實例)

今天Jason接獲客戶的電話,說有收到三封很奇怪的mail,寄件者是自已公司的mail address,但是並沒有這個mail的存在
內容寫著在某年某月系統有進行更新,請所有的user連結到這個網址來進行更新程式以免造成問題
客戶將這三封信以附件方式寄給我,請我看看到底是不是mail server出事了,我們習慣性的以原始檔的方式打開mail
馬上就看到它的寄發IP及傳遞的路徑,當然,那個釣魚的網址也是個很可笑的連結

我們來假設一個公司,它的Domain叫做jason.com.tw,而這個寄者件的mail就叫做 System-Administrator@jason.com.tw
而這個客戶的mail叫做god@jason.com.tw
這個內容如下:

- - - - - - - - - - - - - - - - 以下為郵件內容 - - - - - - - - - - - - - - - -

Attention!

On October 22, 2009 server upgrade will take place. Due to this the system may be offline for approximately half an hour.

The changes will concern security, reliability and performance of mail service and the system as a whole.
For compatibility of your browsers and mail clients with upgraded server software you should run SSl certificates update procedure.

This procedure is quite simple. All you have to do is just to click the link provided, to save the patch file and then to run it from your computer location. That's all.

http://updates.jason.com.tw.secure.1-upd.net/ssl/id=7178070-god@jason.com.tw-patch34008.exe

Thank you in advance for your attention to this matter and sorry for possible inconveniences.

System Administrator

- - - - - - - - - - - - - - - - 以上為郵件內容 - - - - - - - - - - - - - - - -

事件的省思

釣魚的手法已經不是什麼新聞了,而這個郵件最大的敗筆就敗在台灣的MIS英文不夠好,所以不會有管理者用英文通知
而更好笑的是,將這封信寄出來給Jason看是怎麼一回事的人,還是該公司的高階資訊主管,他想追根究底的問這到底是怎麼一回事
明明就不是公司的mail,為什麼會以公司的mail寄出,而且,網址上還帶有公司的位址,為什麼呢???
原來主管的迷思是:
1.我收到公司的mail而且是不存在的人寄出來的,公司是不是遭到攻擊入侵了?
2.信的內容中帶有公司的網址,但是公司並沒有updates的這台主機呀!是不是被徹底的入侵了?
3.我點了那個連結,他真的下載的到一個執行檔,點了它沒有反應,我的server真的被入侵了!

我的回答:
1.針對第一個問題,這個是常見的mail寄送的技巧,肉腳也可以辦的到。
2.信中帶的不是公司的網址它是DNS上的子網域名稱,真正的名稱是secure.1-upd.net,所以你沒看完,被它給唬了。
3.你點了連結,如果它沒有這麼惡意,了不起每天二三十封的垃圾郵件,但是你不止點了下載下來,還執行了n次…

我很無言了…台灣的資安教育只有防毒嗎?只有入侵嗎??眼睛生下來是用來幹嘛的,有沒有看仔細呢??
真的有待加強,資安團隊們,看來我們的路還很遠,下次煮水餃大會來討論一下吧!!!!

2009年10月13日 星期二

如何在Windows 2008 R2排除不相容問題,順利安裝Office SharePoint Server 2007!!!

這個問題也是Jason在工作上遇到的,因為公司的環境已經升級到windows 2008 R2
但是…手邊只有一片Office SharePoint Server 2007(就是最早的版本),且2008又不認得它…(還真慘!!)
有鑑於自已曾經因為手頭上只有一片XP懶得再拿SP1, SP2, SP3的更新做安裝,所以…就以相同的原理進入光碟片看看其結構
果不出其然呀!裡面確實有一個目錄名稱為UpDate的目錄

順便查了一下Windows 2008 R2安裝Office SharePoint Server 2007(以下簡稱MOSS 2007)至少要是SP2版本
而且Windows SharePoint Service (以下簡稱WSS)也必須是v3.0 SP2以上的版本才可以順利安裝!

下載所需的Service Pack
因為不確認大家的環境是否與我的相同,所以把所需的Service Pack都列出來,基本上若拿到的是原生版本的話,就都必須要更新
※注意喲~~!如果你的光碟片是combo版本的(就是x64+x86的DVD)那麼就必須把Service Pack分別更新到x64\update和x86\update中。


MOSS 2007 SP1 x86
http://download.microsoft.com/download/2/9/0/2900c10a-b519-4f68-8763-6bf046c5dd6b/officeserver2007sp1-kb936984-x86-fullfile-zh-tw.exe
MOSS 2007 SP1 x64
http://download.microsoft.com/download/2/9/0/2900c10a-b519-4f68-8763-6bf046c5dd6b/officeserver2007sp1-kb936984-x64-fullfile-zh-tw.exe
MOSS 2007 SP2 x86
http://download.microsoft.com/download/1/3/2/1329FF62-B527-4992-B5E2-D943E8373CE3/officeserver2007sp2-kb953334-x86-fullfile-zh-tw.exe
MOSS 2007 SP2 x64
http://download.microsoft.com/download/1/3/2/1329FF62-B527-4992-B5E2-D943E8373CE3/officeserver2007sp2-kb953334-x64-fullfile-zh-tw.exe


WSS V3.0 SP1 x86
http://download.microsoft.com/download/1/a/f/1af0b911-592b-4634-81c3-62306a4ed768/wssv3sp1-kb936988-x86-fullfile-zh-tw.exe
WSS V3.0 SP1 x64
http://download.microsoft.com/download/1/a/f/1af0b911-592b-4634-81c3-62306a4ed768/wssv3sp1-kb936988-x64-fullfile-zh-tw.exe
WSS V3.0 SP2 x86
http://download.microsoft.com/download/3/8/1/3812FB57-2A8D-4AE9-AF4E-F0A129613987/wssv3sp2-kb953338-x86-fullfile-zh-tw.exe
WSS V3.0 SP2 x64
http://download.microsoft.com/download/3/8/1/3812FB57-2A8D-4AE9-AF4E-F0A129613987/wssv3sp2-kb953338-x64-fullfile-zh-tw.exe

解出Service Pack
當下載完畢後請先確定您有先安裝好IIS,以及有將.NetFrame Work升級到 3.5 SP1以上
接下來…請先將MOSS 2007的光碟片內容做成ISO檔或者是複製出來,假設路徑是D:\MOSS_Update\
光碟片的內容是複製到D:\MOSS_Update\CD\,而WSS則是以下列的指令進行解壓
(個人習慣會先將檔名簡化,像WSS SP1的SP檔,我會直接更名為WSS_SP1.exe)

D:\MOSS_Update\WSS_SP1.exe /extract:D:\MOSS_SP\WSS_SP1

※意思是說由D:\MOSS_Updata中剛剛下載的檔案更名為WSS_SP1.exe,並指定解壓到D:\MOSS_SP\WSS_SP1目錄中

而MOSS的Service Pack也一樣處理方式,指令如下:

D:\MOSS_Update\MOSS_SP1.exe /extract:D:\MOSS_SP\MOSS_SP1

接下來的WSS SP2及MOSS SP2比照辦理…

合併囉!!
若您的依照上面的做法處理的話,你的目錄中會有WSS_SP1, WSS_SP2, MOSS_SP1, MOSS_SP2及CD的目錄
接下來請將WSS_SP1, WSS_SP2, MOSS_SP1, MOSS_SP2目錄下的內容依照版本前後順序(由版本低的到高的)
全數複製到D:\MOSS_Update\CD\Update目錄中,combo版的是必須將x64及x86的檔案分開置放到個別的目錄中
依次完成後重新的執行安裝即可

以上是Jason的情急之計,若各位可以取得正版光碟,還是請您以正版光碟進行安裝。

2009年10月9日 星期五

Windows 2008 DFS(分散式檔案系統)實作及設定(無AD架構)

DFS是Microsoft在容錯架構中的一種解決方案,若各位有玩過多台web的架構,但是沒有錢可以再多買SAN或NAS
那麼就必須解決檔案同步的問題,也可建置成為檔案系統的HA,當大家的共用資料夾內的資料愈來愈多時
不難發現,MIS可能在備份政策上的調整可能愈來俞難,隨著大家的檔案愈來愈大,又得要提供好的備份政策
可能燒壞了不少腦袋,因此DFS自2003開始就提供了一種很便捷的方案。

本次實作的環境做個說明:
1.使用未在AD環境之下的伺服器直接建立
2.指定以2008環境建置(2003與2008雷同)
3.雙向同步的需求

運作說明
由於此說明是以進入點的概念來達成分散式檔案系統架構,因此會建立一個進入點
而這個進入點會自動的將檔案指向兩個不同的網路目錄之中,問題來了,若這個進入點的名稱所在的伺服器不可用時
這個DFS則不會運作,若是要將兩個不同的目錄做複寫,那麼則必須要指定複寫功能來達成複寫
本項實作的概念如下圖所示:
WORKFLOW

※這個架構之下,所有的使用者都是連接到WIN2K8-A,雖然透過命名空間將這個空間連結至之下的兩個目錄
但只要WIN2K8-A發生無法服務的狀況則整個服務都會失效,但可以達成即時備份的目標。

在安裝過程進行設定

於伺服器管理員中啟動『新增角色』功能
1

2

啟動新增角色精靈後,選擇『檔案服務』,並且點選下一步
3

接下來會出現提示,告訴你該注意的地方。請再點選下一步
4

在檔案伺服器的角色上再加以點選『分散式檔案系統』,此時會自動核選『DFS命名空間』及『DFS複寫』兩項功能。
5

在此部份,可以在安裝過程中直接進行設定命名空間,或者是先設定好DFS再進行本部份的設定
本步驟若要直接在安裝過程設定命名空間,則可直接連入空間名稱,在此以JasonSpace為其命名空間。
6 (2)

在命名空間類型中若有在網域架構之下,還可以加入以多個命名空間做處理,較有彈性
若只是為了把兩個web目錄做雙向的同步,還必須架一台AD不是太浪費設備了嗎?
因此在此例中,以只有兩台設備以不架構AD的方式來建置,直接可以點選下一步。
6

在已完成命名空間類型之後,可以指定各個以相同名稱的分享資料夾做為其關聯的共用資料夾。
本部份因另一台伺服器尚未設定完成,因此待後續再做處理。
8

在完成上面的確認後,會出現確認畫面供管理者設定及確認。
9

安裝過程…
10

接下來我們可以在開始功能列上的系統管理工具中找到『DFS管理』,隨即完成本項安裝設定。
11

在安裝完成後才設定
安裝完成之後,進入命名空間的區域中,按右鍵新增命名空間。
未命名 - 34

伺服器就是輸入要進入的載點,在此可以設定多台伺服器都安裝指定,如此一來,一台被新增會自動的新增到其它伺服器之上
在本例上我是指定由WIN2K8-A為進入點,若想設定多台則每台指定為自已的伺服器名稱。
未命名 - 35

在此可以指定乙組命名空間,可以自行設置,我在此設定為JasonSpace。
未命名 - 36

一如上列的安裝設定,若有AD則有網域可以選擇。
未命名 - 38

接下來會顯示你的設定資訊,按下建立即完成設定。
未命名 - 39
未命名 - 40

指定指向的目錄

完成上面的步驟後(二者擇其一)即可馬上設定要對映的目錄,在已完成的命名空間上按右鍵選擇『新資料夾』
未命名 - 41

在此我以Data為其名稱,並加上對映的資料夾。分別設定為\\WIN2K8-A\JasonSpace\Data\\WIN2K8-B\JasonSpace\Data
未命名 - 42
未命名 - 43
未命名 - 44

完成後如下圖所示
未命名 - 45

測試

當我們直接連結到命名空間之中後,直接把檔案丟入,同時於兩個關連資料夾都會產生相同的檔案未命名 - 46

完成…

以上的作法是適用在多個伺服器提供相同的服務時,需要同步的檔案發送
此時對於沒有AD的環境即可達成檔案同時發散的目的,希望以上對大家有所幫助
若您所需要的是複寫的功能,那麼…還是必須以AD架構去建置DFS。

2009年9月6日 星期日

K書筆記本-Physical/Environmental Security(01)

實體安全,那不就是保安囉!保安!保安~~!這個不是周星馳的電影,實體安全是資訊安全防止竊取等等的事件,
可能在實際環境上會發生的問題,進而威脅到資訊安全,因此在於實體安全是一個相當重要的議題
那麼在安全的金三角中可以說A.I.C.是三者並重,但是…在實體安全之上有一個特別的規範那個叫做”People first”(人命關天)
因此有關威脅到人命的問題,都必須以人為最先安全,例如機房著火,不可能叫管理人員去滅火
警衛可能會有遇到帶槍的入侵者,因此最好有防彈的設備或設施。

那麼做實體安全上的主要目的有那些呢?deter(威嚇)、delay(延遲)、detect(偵查)、assess(評估)、Respond(回應)
deter(威嚇):主要是讓攻擊者或入侵者打消意念。
delay(延遲):增加偵查的時間及增加回應的時間和機會。
detect(偵查):偵測雖然是推測攻擊者的意圖,但我們不可能一直延遲攻擊者去做任何攻擊的動作,偵測必須更加有效且即時。
assess(評估):是比較舊的說法,指第一份的回報一般而言都是警告,第一次偵測時,往往需要時間去評估次回攻擊的方法。
Respond(回應):這個動作是指在發生任何事件(event)時,在它成為事故前應涵蓋在事故回應計劃之內。

那麼實體安全上又有那些威脅,從最大的範圍一路到中心核心,最大的範圍像是自然的環境,次之則是工具系統
再來就是人為的問題了…
Natural/Environmental(自然環境):像是考慮大自然的問題,例如水災、颱風、地震,在整個環境之前,
應先針對所在的地點問題加以防範,例如:台灣地處於地震帶,又是容易有颱風及海洋型氣侯,那麼在選擇機房設置時
當然要特別設計,若將機房設置在地下室,如果到時侯因為颱風淹水時呢?再來,海洋型氣侯空氣較為鹽濕
那麼備份的磁帶應該要置放於更好的保存環境,再來因為地震發生的問題,像是921,台北不少地方都有崩塌
那麼在選擇工作處所時,是否要考慮一下建築物的防震系數。
Utility Systems(工具系統):這個是相當容易理解的,像是水電、空調(HVAC),考慮到有可能因為供電的問題造成電力全失
因此在選擇電力進入配電盤時,應該選擇兩個不同的變電所所提供的電源,而UPS的配置也應該要考慮有所備援
甚至連伺服器所用的雙入電源,也應該選擇兩個不同的電力主線,以免機房電力問題而造成服務中斷,空調的部份
也應考慮到其溼度、溫度(溼度太高設備會鏽蝕、太低會有靜電),畢竟是給機器散熱用而非給人員使用
因此機房的HVAC不應該讓任何人員都可以操作,而也應該要將人員操作的環境和機房分隔,
以避免影響人員的健康問題
Human-made/Political Events(人為或是政治事件):像是爆炸、故意破壞、偷竊、恐佈攻擊、暴動…等等問題
據IDC的統計,所有的資安事件有80%是人為的因素,例如像誤觸電源、拔錯線…等等問題
此類問題應該建立好的事故回應計劃和好的預防(Preventative)計劃

那麼會有那一些惡意的行為威脅到安全的對策?
Theft(偷竊):針對偷竊的對稱包涵有電子門禁系統(EAC)、入侵偵測(IDS)、門上鎖、鑰匙的控制還有入侵陷阱。
Espionage(商業間碟):商業間碟一定是有特定的目標,最佳的處理方式可以由進入公司的背景確認(background check)、職務輪調(job rotations)。
Dumpster Diving(廢棄物處理):公司內的機密文件的廢棄作法與一般文件應該要有所不同,若以相同的方式,可能對手直接買通清潔公司
將要廢棄的文件直接運往對手那邊,因此在廢棄的重要文件應該要有其廢棄的policy和procedure,例如軍方的做法,銷毀要有監銷官。
Social Engineering and shoulder surfing(社交工程及肩窺):這些問題可以透過教育訓練及其它的相關抽查方法,來驗證是不是有效的教育。
HVAC;Heating, Ventilation and Air Conditioning Access(熱對流及空調存取):如上所提的,機器使用的HVAC應與人員使用的分隔
尤其是針對那些特別的區域應該有良好的控制原則。

經過以上的基本幾項實體環境安全的問題的解說,大家是不是有體會到實體安全不只是只有周星馳電影中的保安問題,更多的議題是在人的問題
因此這些問題都必須透過好的管理規則並且落實,這樣一來,資安不會因為做而做,而變成型式上的空談…

K書筆記本-Cryptography(09)

法律問題…
上篇提到密碼學的應用會有法律上的問題,見鬼了,用應用密碼會有什麼問題呀,其實密碼學的應用是為了隱藏不想讓別人知道的秘密
若今天黑道份子在傳遞一些交易訊息時,利用了密碼系統將這段訊息重重的加密,並且用的是較高階的密碼系統
那麼…情治單位真的拿他們沒辦法了,因此在密碼學法律問題常就有三個議題類型:輸出控制、輸入控制及國內使用控制。
輸出控制是希望將國內較嚴僅、用於情治使用的密碼系統或密碼系統產品流出,以避免被他國的情治單位取得而加以破密分析。
輸入控制則是降低由國外輸入較高階的密碼系統,以避免滲透的情治人員利用這些密碼系統穿透了國安系統。
國內使用控制較為廣義,泛指所有使用國內密碼系統的人應該要加以控制。

密碼系統的應用上,確實帶給我們很好的機密的資訊隱藏,本義是很好的東西,但是就怕利用的人心懷不軌,因此在法律上的議題
除了國際間的相互合作外,很難有其它更好的方法來抵制密碼系統應用於壞的用途,其中國際間現在共有的一些規範
也有針對軍方使用的一些合約協定,像Wassenaar Arrangement(瓦聖納協定)主要是針對一些較不安全的國家,將較敏感的高科技技術輸入
例如像是中國、北韓、伊拉克等等的條文,現在簽署的國家已超過四十個。
還有像是歐洲防制網際網路犯罪委員會(Council of Europe Convention on Cybercrime),雖然名為歐洲,但是會議的觀查員都是來自於其它國家
當然,歐盟本身針對他們所使用的密碼系統,也加以聯合統一管理,針對破密分析工具則不會輸出給其它國家
法律上的本質是以限制,原因是被一旦遭到洩漏,可能造成的傷害會超過於國家經濟的收入,但是於學派立場,則是希望開放密碼系統的輸出入
如此一來,各國或是其它學術機關就可以針對其它密碼系統的強項,來補足自已的密碼系統不足的地方,這個是很兩極的議題
至今仍然是被置於天平的兩端之上。光是一個密碼系統,不管是加密還是破密分析,都一再的強調對經濟、國安上的衝擊
若是貿然的進行,當然會造成相當大的傷害,因此對於此部份,也只能交給時間來處理了。

破密分析
破密分析是研究密碼系統或是演算法強度的一種挑戰,其中,到底那些面向要考慮的呢?
Key Space:到底有多少的支key可以被拿來應用。
key size:可用的key的長度為多少,雖然不是愈長就愈強,但是在破密的分析中,差1bit就天南地北了。
演算法本身:開發一個密碼演算法,是必須達到一定的強度,預防破密分析快速的找到演算的規範。
正確完成:太多的問題是與密碼完成時沒有選擇對的架構就產出這個產品,其中包含key management, Social engineering,亂數產生的掌握
不夠的配對組合,很容易就被找到問題的所在。
當然,在破密分析上面會針對一些密碼系統的幾個方向來找問題,也是密碼系統的幾個常見的弱點,其實與上面所提到的內容差異不大…
不好的key management:可使用的Key太少,不夠隨機,或者是key的加密與資料的加密是同一把key。
Malleability(延展性):一個密碼系統的若在演算明文產生為密文的過程中而附加上次的資訊可能讓明文與密文產生某種連結的關係,
而容易使Chosen-ciphertext attack成功的破密。
不好的亂數產生及過度的發散或造成混亂,這些都有可能成為破密分析中得分的那一球,破密分析不一定是要做某種數或是值的取出
更深層的意義是告訴我們應該使用更安全的密碼系統,一個封閉的演算法並不一定是安全的,接受大眾公開的驗證並且修改到可接受的範圍
這樣的心態才能正確的使密碼系統更加安全,例如選用標準的解決方法(FIPS140、Common criteria evaluation)、
高工作因素的(例如:破密的過程與取出的內容效益與時間比不成正比的),再來就是上面所提到的,選擇接受公開驗證的密碼演算法。

那麼到底破密分析有那一些目標呢?其實,有人認為,破密是一門科學藝術,因為它所投入的往往是一場耗費多時只有一點點進度的比賽
但一但找到關鍵點,則會找出讓人覺的不可思議的問題,基本上破密分析共有:
Attacking the Key, Algorithm, Implementation, Data (ciphertext or plaintext), People(Social Engineering),
一位很有名的駭客說的:往往Social engineering是最有效的破密方法,我直接取得key,也直接取得密碼演算系統,我的目的只是它傳遞的訊息
當然,破密的技術又有那一些呢?
Brute-force attack:大家應該不默生吧,這個叫做暴力破解,但暴力破解可不是猜密碼給系統去演算對或不對喲…,
幾乎任何加密系統沒有暴力破解解不開的,根據摩爾定律(每隔18個月,處理器的速度加倍提升),但是暴力破解還是有條件的
它必須先取得密文,接下來就是時間與密碼系統的竸賽了。

破密攻擊
常見的攻擊就以明文(Plaintext)與密文(Ciphertext)來區分,當然各別的破密攻擊的作用和需求就完全不同了
在明文的攻擊方面(主要是為了取出key或是演算法的內容)
known-Plaintext attack(已知明文攻擊):這個並不是只有取得明文喲,是連密文都知道的,透過這個組合去了解演算法的內容和key。
Chosen Plaintext attacks(選擇明文攻擊):是指一次丟好幾組的明文到演算法中,去觀查其密文的變化進而找到key。
Adaptive chosen plaintext attacks(適合的選擇明文攻擊):以選擇某一組明文並且修改去觀查密文的變化,也是用來找到以密文反推明文方法。

在密文的攻擊方面(主要是為了知道其明文的內容)
Ciphertext-only attack(僅有密文攻擊):利一堆密文希望可以還原出明文來,此類型的攻擊現代密碼學幾乎是不可能成功了。
Chose-Ciphertext attack(選擇密文攻擊):已經知道密文轉回明文的方法,以自選的一組密文來推出明文是什麼。
Adaptive Chosen Ciphertext attack(適合的選擇密文攻擊)與Adaptive chosen plaintext attacks相反,精選的密文來測試演算法。

在上述的破密攻擊中,只有know plaintext attack是已取得一組密文和密文的組合,其它都是只有取得密文或明文
其它的還有幾種基礎的攻擊,像是:
Meet-in-the-middle attack(中途攻擊):是成攻的破解DDES的分析法,藉以取明文與密文之間的變化去取得演算法的內容,屬於know plaintext attack。
silde attack:以觀查key schedules的重覆、具體的使用去推演出下一個key。
Main-in-the Middle attack(中間人攻擊):又稱為雙面人攻擊,即是attacker對Jason偽冒Silvia,對Silvia偽冒Jason,任何傳遞的資訊都被attacker看光了。
Side Channel attacks:這個就難解釋了,是一種透過觀查其周邊的洩露出來的訊息做攻擊,例如演算RSA時用掉的電量、時間、時頻…等等周邊的
資源的消耗來試圖推算出金鑰,但是…這個方法不需要使用任何的密碼系統露洞,就可以進行分析,雖然有學者稱為欺騙
但破密分析最終就是要找到KEY。

另外,針對不同的Ciphers,不論是以Stream或是block的特性不同,也有不同的應對攻擊:
Stream(串流):Frequency(頻率)分析及Statistical(統計)攻擊,如果IV, keystream不夠random,則容易受到這兩種攻擊而解出key.
Block(區段):linear(線性)破密分析、Differential(差分)破密分析, linear-Differential(線性差分), Algebraic(代數)攻擊、frequency(頻率)攻擊。
以上的分析或是攻擊法都在前面的章節中有說明,在此就不再特別說明了。

而hash functions也有兩個基礎理論的攻擊法,Dictonary(字典) attacks以及Birthday(生日) attacks,這兩種攻擊都有個別的特性:
Dictionary attacks:是以找到特定文字的hash組合,一般是用來猜password的功能,另外最近常見的是Rainbow table
需預先去產生所需的text-digest pairs資料庫,也是屬於Dictionary的一種。
Birthday attacks:是基於一種一個班級的學生有23人生日是同一天的機率高到50%,若人數達到60個人,則機率更達到99%,同理,在有限的長度之下
要產生一組hash有可能重覆的機率就大幅的提升。

以上的攻擊都是屬於科技端、數學理論的攻擊,當然也會有非科技型態的攻擊,其中最好用的就是Social Engineering
最好的方法就是針對未有資安概念的實員進行攻擊,尤其是在整個開發的過程隨即攻擊相關人員,預先取得密碼演算方法或是key。
另外…在國外的影集常常出現的,偷竊是建構在實體安全之上的,雖然資料被經過加密,但若我連設備和加密工具一起偷竊走,那麼即使是再強的
密碼演算系統,恐怕…也沒有太大的用處了…

Steganography(隱匿法)
這是一種將資訊隱匿起來的一種密碼方法,一般是使用在於儲存圖片的資訊,以每一個區段中的最後一個bit裡面,因此可以隱藏一些資訊,
也可以說是一種cover channel,在這種方法之上,就容量上來看似乎沒有差別,在肉眼的看來,也沒有啥差異,但是…透過MD5 Hash value中
可發現兩張圖片就很大的差異…實作的部份可以透過像s-tools來達成。

接下來像是數位浮水印(digital watermarking)、數位權利管理(Digital Right Management),數位浮水印是將一個數位的資訊、版權簽入
屬於一種隱匿法,一般又分為可見和不可見的分類,可見的是像一般的浮水印一樣,崁在檔案中,而不可見則是將檔案做小符度修改
使用者並不會有太大的查覺,但是透過修改時則無法被存入,這除非有所有人的授權,否則是無法將浮水印移除抹滅的。
DRM則是則是將數位浮水印的技術延伸去用來保護數位媒體,它結合了硬體及軟體的框架,當然DRM也是一種隱匿法
如果一個具有DRM的檔案移轉到另一台電腦上去使用,因該台電腦並沒有取得DRM的授權,則無法使用這個檔案,也會被禁止使用。

密碼學這個領域雖然組合了密碼系統及演算法,但是更重要的是著重在訊息完整訊控縐,而數位簽章及憑證的應用也加強了訊息的安全強度
最後,跟大家討論破密分析及密碼的應用,尤其是一些資訊隱匿的方法,都是密碼的實際應用,希望這章節可以給大家帶來一些實際應用的想法。

K書筆記本-Cryptography(08)

密碼學是一門這麼複雜的應用數學,但是應用在資安領域中,重點不只是只有在於機密性,更重要的是確保了完整性
很多人往往都只有把密碼學定義在機密性,但等等所看到的內容,全部都與完整性佔了相當大的關係
使用密碼系統大致有下列幾項應用:資料儲存的安全(Data storage)、E-mail、網路協定(Network Protocols)
那麼依照其動作的內容有幾項基本的目的:確保訊息完整性(message integrity)、確保訊息機密訊(message confidentiality)
訊息可信賴性(message authenticity)、 傳送者及接收者的驗證(sender/recipient authentication)、傳送者及接收者的不可否認性
(sender/recipient Non-repudiation)

當然,提到了應用,就不可能只用一種加密系統來運作,一定是混合多種的密碼系統最大的強度就是混合各項安全控制
混合有對稱(Symmetric)、非對稱(Asymmetric)及訊息完整控制(MICs),等等的各種混合系統的作法
下圖流程為數位信封(Digital Envelop),key用於加密為encrypting key(≠ encrypting)
image
當然,上圖所示的,僅僅是混合了兩種的密碼系統,極緻的混合式密碼系統,則如下圖所示:
image
1.訊息以Symmetric key加密,再將Symmetric key以接放者的public key加密傳遞給接收者。
2.訊息加密後,再以hash function產出digiest再以發送者的private key加密配合訊息的密文傳遞給接收者。
3.接收者收到symmetric key的密文後,以接收者的private key解密後,再將訊息的數位簽章內容與訊息密文以Symmetric key解密。
4.接收者再以發送者的public key將收到訊息的數位簽章解密取出digest。
5.接收者將訊息經過hash function取出digest與由數位簽章的digest比對,若比對的內容是相同、並且正確則完成訊息的傳遞及傳送者不可否認性。
6.接下來接收者再將digest以接收者的private key加密傳遞給發送者。
7.發送者收到由接收者送出的數位簽章後,以接收者的public key將digest解開,與自已發送出去的digest比對正確則完成接收者的不可否認性。

較常應用的密碥系統最常應用於mail的傳遞(首重於訊息完整性及加密服務,但有幾個加入了金鑰管理及不可否認性)
而幾個常見的安全郵件協定有:
MSP;Message Security Protocol:支援訊息標示及數位簽章的接收。
Privacy Enhanced Mail(PEM):設計時是以PKI為基礎,包含了支援X.509憑證及它使用了DES以CBC mode
亦可選擇使用ECB mode或是3DES-EDE2做為金鑰管理,但不相容於MIME。
MIME Object Security Service(MOSS):是以MIME為基礎並取代PEM的協定,PEM則是一種封閉的組合及標準的PKI架構。
Pretty Good Privacy(PGP):保護訊息的機密性及完整性,訊息的加密是使用亂數選擇的對稱式session key加密,pgp是一種額外的保護,
可以選擇以RSA, DH及EIGamal的非稱式金鑰加密,及x.509公開金鑰憑證,相容於CA-Based任賴模式
可以相容支j援MIME、S/MIME或PGP/MIME為基礎的MOSS等。預設值為IDEA加密,數位簽章用RSA,MICs是MD5。
S/MIME:是由RSA三者開發,是一個實際的標準,是以公開金鑰加密標準(PKCS)為基礎,使用RSA非對稱金鑰加密,以DES做為對稱加密金鑰
以及以SHA-1為Digest的演算方法。傳送者以數位簽章後再用收件者的公鑰加密。

而常用的安全網路協定則有:S-HTTP(Application layer),SSH;Secure Shell(Transport Layer),SSL;Secure Socket Layer(BetweenTransport and Application)
TLS;Transport layer security(Transport Layer),WPA;WiFi Protected Access、WPA2;802.11i Wireless Lan…等等(於Telecommunications and Network Security)
再詳加說明,本篇著重於密碼的應用,其實後續還有法律相關的問題及破密分析、資訊隱藏的部份,應該於近日可以與各位分享我的心得,謝謝~