Blogger 切換自己的域名 (以BIND為例)
像把Blogger舊有的域名為 fuglemanpeter.blogspot.tw 更為 新的域名 psy.pengsme.com
Google 的Blogger 可以免費轉換一組自訂義的域名。
詳閱 如何在網誌上使用自訂網域名稱?
在 NAME SERVER 下加入
;GOOGLE;
@ 3600 IN A 216.239.32.21
@ 3600 IN A 216.239.34.21
@ 3600 IN A 216.239.36.21
@ 3600 IN A 216.239.38.21
psy 3600 IN CNAME ghs.google.com.
zsdsf4jr9ch4 3600 IN CNAME gv-czsgwq54qgh3csa.dv.googlehosted.com. (範例)
設定好後,reload NAME SERVER。並等候域名同步(約24-48hr)。
最後,一切都設置完成(包含 NAME SERVER 的同步),只要在網址列輸入新的域名 psy.pengsme.com 或是舊的域名 fuglemanpeter.blogspot.tw 都可以了。
2016-05-11
2014-07-17
郵件的傳送流程、MUA、MTA、MDA
郵件的傳送流程、MUA、MTA、MDA
先說明什麼是MUA,MTA與MDA,然後說明信件的傳送流程。
MUA(Mail User Agent):顧名思義,MUA就是“郵件用戶代理”。舉個例子,Windows裏的OutLook Express、Netscape裏的mail功能與KDE裏的Kmail都是MUA。MUA主要的功能就是接收郵件主機的電子郵件,並提供用戶瀏覽與編寫郵件的功能。 MTA(Mail Transfer Agent):MUA是用在Client端的軟件,而MTA是用在郵件主機上的軟件,它也是主要的郵件服務器。MTA就是“郵件傳送代理”的意思,既然是 “傳送代理”,那麼用戶寄信與收信時,都找MTA就對了 MDA(Mail Delivery Agent):“郵件投遞代理”主要的功能就是將MTA接收的信件依照信件的流向(送到哪裏)將該信件放置到本機賬戶下的郵件文件中(收件箱),或者再經由MTA將信件送到下個MTA。了解了MUA,MTA與MDA之後,下面說說如何將信寄出去。可以分爲幾個步驟。
Step 1 用戶利用MUA寄信到MTA。通常我們使用MUA(例如Outlook express)寫信時,要寫明幾個項:
發信人與發信網站:必須有這個信息。發信網站就是下面Step 2接收信件的那個MTA;
收信人與收信網站:以account@e-mail.server 的形式給出,其中,account就是該e-mail.server裏的賬號。 在圖20-1左上角的那臺機器上,也就是“本地客戶端使用的電腦”,利用MUA功能(如Outlook express)寫好信之後,按下MUA的“發送”按鈕,MUA就會依據你所定義的主機地址將信發送到MTA上。
Step 2 MTA收到信件,交由MDA發送到該賬號的MailBox中。如果在Step 1收到的信件中,那個e-mail.server就是MTA自己,此時MTA會將該信件交由MDA處理,將信件放置在收信者的信箱中。
Step 3 MTA將信再轉送出去。如果由Step 1發來的信件的收件人並不是MTA的內部賬號,那麼該信將被再次轉送出去!Step 1及Step 3的動作,我們也稱爲Relay(郵件轉發)功能。
Step 4 遠程MTA收到本地MTA發出的郵件。遠程MTA會收到我們這臺MTA的信件,並將該信件交給它的MDA處理(Step 5),此時,信件會存放在遠程MTA上,等待用戶登錄讀取或下載。
整個發信流程大致就是這樣。
收信的動作很簡單。不再接受。
郵件在傳輸的時候會使用到 MUA,MTA,MDA這三個角色。他們分別是:
MUA:Mail User Agent ,郵件用戶代理。客戶端用到的軟件,如 mutt,thunderbird,outlook等。
MTA:Mail Transport Agent,郵件傳輸代理。服務器端用的軟件,如 msmtp,postfix,sendmail等。
MDA:Mail Delivery Agent,郵件投遞代理。服務器處理郵件的軟件,有分揀、過濾 的功能,postfix、sendmail都自帶有,也有獨立的procmail。
2013-09-28
駭客全面發動RoR漏洞攻擊 劫持伺服器打造殭屍網路
駭客全面發動RoR漏洞攻擊 劫持伺服器打造殭屍網路
近日駭客正積極入侵RoR(Ruby on Rails)Web應用開發框架上的重大安全漏洞,進而劫持Web伺服器並打造殭屍網路。
事實上,RoR開發團隊早在今年1月之際,便已對外釋出針對該安全漏洞的安全修補程式,其公告編號為CVE-2013-0156。即使如此,許多伺服器管理人員仍尚未進行Rails安裝套件的更新作業。
RoR是一個基於Ruby程式語言的熱門Web應用開發框架,並廣泛於各大知名網站,包括Hulu、Groupon、GitHub與Scribd等。
「令人感到驚訝的是,很少漏洞攻擊會花這麼長的時間才在網上廣為流行,但對於仍有不少人持續執行有漏洞的Rails安裝套件,並沒有什麼好驚訝的,」安全公司Matasano Security安全諮詢顧問Jeff Jarmoc在週二部落格貼文指出。目前被駭客採用的漏洞入侵程式,添加了客製化cron Job,亦即一個在Linux機台上的排程任務,以執行一系列的指令。
這些指令會從遠端伺服器下載惡意C語言來源檔,並在本地端進行編譯與執行。由此會產生一個會與網路聊天系統伺服器(IRC)相連接的殭屍電腦,並且加入一個會等待惡意攻擊者指令的預定義通道。
一旦受劫持系統上的編譯程序失敗,會隨即下載一個預先編譯好的惡意程式至該系統中。
「雖然功能有限,但卻具備依照指令下載與執行檔案,以及變更伺服器的能力,」Jarmoc表示:「由於不需要任何身分驗證,所以凡有心人皆可透過IRC伺服器的加入來劫持這些殭屍電腦,並對外發佈適當的命令。」
圖片/資料來源:PCWorld
轉載自《網路資訊雜誌》
近日駭客正積極入侵RoR(Ruby on Rails)Web應用開發框架上的重大安全漏洞,進而劫持Web伺服器並打造殭屍網路。
事實上,RoR開發團隊早在今年1月之際,便已對外釋出針對該安全漏洞的安全修補程式,其公告編號為CVE-2013-0156。即使如此,許多伺服器管理人員仍尚未進行Rails安裝套件的更新作業。
RoR是一個基於Ruby程式語言的熱門Web應用開發框架,並廣泛於各大知名網站,包括Hulu、Groupon、GitHub與Scribd等。
「令人感到驚訝的是,很少漏洞攻擊會花這麼長的時間才在網上廣為流行,但對於仍有不少人持續執行有漏洞的Rails安裝套件,並沒有什麼好驚訝的,」安全公司Matasano Security安全諮詢顧問Jeff Jarmoc在週二部落格貼文指出。目前被駭客採用的漏洞入侵程式,添加了客製化cron Job,亦即一個在Linux機台上的排程任務,以執行一系列的指令。
這些指令會從遠端伺服器下載惡意C語言來源檔,並在本地端進行編譯與執行。由此會產生一個會與網路聊天系統伺服器(IRC)相連接的殭屍電腦,並且加入一個會等待惡意攻擊者指令的預定義通道。
一旦受劫持系統上的編譯程序失敗,會隨即下載一個預先編譯好的惡意程式至該系統中。
「雖然功能有限,但卻具備依照指令下載與執行檔案,以及變更伺服器的能力,」Jarmoc表示:「由於不需要任何身分驗證,所以凡有心人皆可透過IRC伺服器的加入來劫持這些殭屍電腦,並對外發佈適當的命令。」
圖片/資料來源:PCWorld
轉載自《網路資訊雜誌》
Apache HTTP server 的 mod_rewrite 模組漏洞
Apache HTTP server 的 mod_rewrite 模組漏洞
該漏洞是利用 modules/mappers/mod_rewrite.c 文件中的 Rewritelog() 函數不正確的處理某些轉義序列,導致惡意攻擊者發送特製的 HTTP 請求可以注入到 LOG 檔,並可能允許攻擊者無需管理員權限即可執行命令。
漏洞編號:CVE-2013-1862
影響範圍:
Apache HTTP server versions
1.3 branch from 1.3.28
2.0 branch from 2.0.46
2.2 branch from 2.2.0
mod_rewrite.c 的漏洞參考:
http://www.askapache.com/servers/mod_rewrite.c.html
官方網站修正程式:
http://people.apache.org/~jorton/mod_rewrite-CVE-2013-1862.patch
Red Hat Enterprise Linux 的修正程式:
https://rhn.redhat.com/errata/RHSA-2013-0815.html
相關參考:
http://secunia.com/advisories/53154/
原文出自:RedHat
轉載自《網路攻防戰》
該漏洞是利用 modules/mappers/mod_rewrite.c 文件中的 Rewritelog() 函數不正確的處理某些轉義序列,導致惡意攻擊者發送特製的 HTTP 請求可以注入到 LOG 檔,並可能允許攻擊者無需管理員權限即可執行命令。
漏洞編號:CVE-2013-1862
影響範圍:
Apache HTTP server versions
1.3 branch from 1.3.28
2.0 branch from 2.0.46
2.2 branch from 2.2.0
mod_rewrite.c 的漏洞參考:
http://www.askapache.com/servers/mod_rewrite.c.html
官方網站修正程式:
http://people.apache.org/~jorton/mod_rewrite-CVE-2013-1862.patch
Red Hat Enterprise Linux 的修正程式:
https://rhn.redhat.com/errata/RHSA-2013-0815.html
相關參考:
http://secunia.com/advisories/53154/
原文出自:RedHat
轉載自《網路攻防戰》
2013-09-27
THC-Hydra v7.5 網路服務驗證密碼破解工具(含教學影片)
THC-Hydra v7.5 網路服務驗證密碼破解工具(含教學影片)
THC-Hydra 是一個支援多種網絡服務的驗證密碼破解工具。這個工具是一個驗證性質的軟體,主要目的的是為學術研究人員和資訊安全從業人員驗證遠端獲取一個系統與服務的認證權限的安全強度。
簡單講使用於暴力破解用。
新版重要特色:
1.授權變更為 AGPLv3
2.新增 Asterisk Call Manager 模組(用於VOIP)
3.新增支援 Android 環境
3.支援 IPv6 協定 (從6.5版就有提供)
4.支援匯入字典檔
5.修正其它Bug
適用作業系統環境:
Linux, Windows/Cygwin, Solaris 11, FreeBSD 8.1,OSX
能掃描的網路服務:
Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST,HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD,HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle,PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, SAP/R3, SIP, SMB, SMTP, SMTP Enum,SNMP, SOCKS5, SSH (v1 and v2), Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP.
官方網站:
http://www.thc.org/thc-hydra/
軟體下載處:
http://www.thc.org/releases/hydra-7.5.tar.gz
轉載自《網路攻防戰》
THC-Hydra 是一個支援多種網絡服務的驗證密碼破解工具。這個工具是一個驗證性質的軟體,主要目的的是為學術研究人員和資訊安全從業人員驗證遠端獲取一個系統與服務的認證權限的安全強度。
簡單講使用於暴力破解用。
新版重要特色:
1.授權變更為 AGPLv3
2.新增 Asterisk Call Manager 模組(用於VOIP)
3.新增支援 Android 環境
3.支援 IPv6 協定 (從6.5版就有提供)
4.支援匯入字典檔
5.修正其它Bug
適用作業系統環境:
Linux, Windows/Cygwin, Solaris 11, FreeBSD 8.1,OSX
能掃描的網路服務:
Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST,HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD,HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle,PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, SAP/R3, SIP, SMB, SMTP, SMTP Enum,SNMP, SOCKS5, SSH (v1 and v2), Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP.
官方網站:
http://www.thc.org/thc-hydra/
軟體下載處:
http://www.thc.org/releases/hydra-7.5.tar.gz
轉載自《網路攻防戰》
如何檢查自己的網站是否為StealRat殭屍網路的一部分?
如何檢查自己的網站是否為StealRat殭屍網路的一部分?
StealRat的垃圾郵件殭屍網路/傀儡網路 Botnet網路,它的運作主要是利用被入侵淪陷的網站和系統。我們持續地監視著其運作,並確定了約有195,000個網域和IP地址已經淪陷。這些淪陷網站的共通點是用了有弱點的內容管理系統,像是WordPress、Joomla和Drupal。
在本篇文章裡,我們會討論網站管理員可以如何檢查他們的網站是否已經淪陷,變成StealRat殭屍網路/傀儡網路 Botnet的一部分。
第一步是檢查是否有垃圾郵件發送腳本的存在,通常會用sm13e.php或sm14e.php的名稱。不過要注意的是,這些腳本可能會改變檔案名稱,所以最好還是要檢查是否有任何陌生的PHP檔案存在。
已淪陷網站內的垃圾郵件發送腳本
另一個檢查是否有惡意PHP檔案存在的方法是搜尋程式碼中是否有包含以下字串:
●die(PHP_OS.chr(49).chr(48).chr(43).md5(0987654321)
●die(PHP_OS.chr(49).chr(49).chr(43).md5(0987654321)
在Linux環境裡,你可以利用grep指令來搜尋這些字串:grep “die(PHP_OS.chr(49).chr(48).chr(43).md5(0987654321” /path/to/www/folder/。而在Windows上,它的內容會是:”die(PHP_OS.chr(49).chr(48).chr(43).md5(0987654321”
這些字串是PHP檔案內「die」程式碼的一部分(例如,當某些參數不符合時)。我們在DeepEnd Research的同伴貼出了一份sm14e.php的副本。據我們所知,這是已知在外的最新版本。和sm13e.php比較起來,sm14e.php現在支援發送垃圾郵件給多個電子郵件地址。除此之外,它仍然是相同的PHP程式,接受以下的參數:
● l → 電子郵件地址(發送垃圾郵件的對象)
● e → 九個隨機生成的字元
● m → 郵件伺服器(像是google mail)
● d → 郵件範本
它的回應會根據所提供的參數還有發送垃圾郵件行為的結果而有所不同:
我們建議網站管理員刪除類似上述的檔案,並更新其內容管理系統 – 特別是WordPress、Joomla和Drupal。想了解更多關於此威脅的資訊,跟此威脅還需要注意哪些組件的問題,請參考趨勢科技的報告 – 「Stealrat:深入了解一個新興的垃圾郵件發送殭屍網路」。
原文出處:How to Check if Your Website is Part of the StealRat Botnet
原文作者:Jessa De La Torre(資深威脅研究員)
轉載自《雲端運算與網路安全趨勢部落格》
StealRat的垃圾郵件殭屍網路/傀儡網路 Botnet網路,它的運作主要是利用被入侵淪陷的網站和系統。我們持續地監視著其運作,並確定了約有195,000個網域和IP地址已經淪陷。這些淪陷網站的共通點是用了有弱點的內容管理系統,像是WordPress、Joomla和Drupal。
在本篇文章裡,我們會討論網站管理員可以如何檢查他們的網站是否已經淪陷,變成StealRat殭屍網路/傀儡網路 Botnet的一部分。
第一步是檢查是否有垃圾郵件發送腳本的存在,通常會用sm13e.php或sm14e.php的名稱。不過要注意的是,這些腳本可能會改變檔案名稱,所以最好還是要檢查是否有任何陌生的PHP檔案存在。
已淪陷網站內的垃圾郵件發送腳本
另一個檢查是否有惡意PHP檔案存在的方法是搜尋程式碼中是否有包含以下字串:
●die(PHP_OS.chr(49).chr(48).chr(43).md5(0987654321)
●die(PHP_OS.chr(49).chr(49).chr(43).md5(0987654321)
在Linux環境裡,你可以利用grep指令來搜尋這些字串:grep “die(PHP_OS.chr(49).chr(48).chr(43).md5(0987654321” /path/to/www/folder/。而在Windows上,它的內容會是:”die(PHP_OS.chr(49).chr(48).chr(43).md5(0987654321”
![]() |
| PHP 檔案內所提到的字串 |
這些字串是PHP檔案內「die」程式碼的一部分(例如,當某些參數不符合時)。我們在DeepEnd Research的同伴貼出了一份sm14e.php的副本。據我們所知,這是已知在外的最新版本。和sm13e.php比較起來,sm14e.php現在支援發送垃圾郵件給多個電子郵件地址。除此之外,它仍然是相同的PHP程式,接受以下的參數:
● l → 電子郵件地址(發送垃圾郵件的對象)
● e → 九個隨機生成的字元
● m → 郵件伺服器(像是google mail)
● d → 郵件範本
它的回應會根據所提供的參數還有發送垃圾郵件行為的結果而有所不同:
![]() |
| 腳本回應會根據結果 |
我們建議網站管理員刪除類似上述的檔案,並更新其內容管理系統 – 特別是WordPress、Joomla和Drupal。想了解更多關於此威脅的資訊,跟此威脅還需要注意哪些組件的問題,請參考趨勢科技的報告 – 「Stealrat:深入了解一個新興的垃圾郵件發送殭屍網路」。
原文出處:How to Check if Your Website is Part of the StealRat Botnet
原文作者:Jessa De La Torre(資深威脅研究員)
轉載自《雲端運算與網路安全趨勢部落格》
知名暴力破解密碼工具程式 oclHashcat-plus 發佈 v0.15 版(含影片示範)
知名暴力破解密碼工具程式 oclHashcat-plus 發佈 v0.15 版(含影片示範)
官方強調它一款驗證密碼安全的工具程式,所以請勿拿別人的機器當實驗品。
影片為使用上一個版本(v0.14)暴力破解 WordPress Password Hash 所示範需要的時間,請自行計算需要多久就可以得到答案!
其實它一系列兄弟姊妹的暴力破解工具很多,包含:
hashcat v0.46
hashcat-gui v0.5.1
oclHashcat-plus v0.15
oclHashcat-lite v0.15
目前更新的是 oclHashcat-plus v0.15,主要的新增特色為:
Multi-GPU (up to 128 gpus)
Multi-Hash (up to 15 million hashes)
Multi-OS (Linux & Windows native binaries)
Multi-Platform (OpenCL & CUDA support)
Multi-Algo (see below)
Low resource utilization, you can still watch movies or play games while cracking
Focuses highly iterated modern hashes
Focuses single dictionary based attacks
支援 mask attack
支援 mask files
支援 distributed cracking
支援 pause / resume while cracking
支援 sessions
支援 restore
支援 reading words from file
支援 reading words from stdin
支援 hex-salt
支援 hex-charset
支援 variable rounds where applicable
Integrated thermal watchdog
攻擊模組:
Straight
Combination
Brute-force
Hybrid dict + mask
Hybrid mask + dict
已淪陷的演算法:
MD5
md5($pass.$salt)
md5($salt.$pass)
md5(unicode($pass).$salt)
md5($salt.unicode($pass))
SHA1
sha1($pass.$salt)
sha1($salt.$pass)
sha1(unicode($pass).$salt)
sha1($salt.unicode($pass))
MySQL
phpass, MD5(Wordpress), MD5(phpBB3)
md5crypt, MD5(Unix), FreeBSD MD5, Cisco-IOS MD5
MD4
NTLM
Domain Cached Credentials, mscash
SHA256
sha256($pass.$salt)
sha256($salt.$pass)
sha256(unicode($pass).$salt)
sha256($salt.unicode($pass))
descrypt, DES(Unix), Traditional DES
md5apr1, MD5(APR), Apache MD5
SHA512
sha512($pass.$salt)
sha512($salt.$pass)
sha512(unicode($pass).$salt)
sha512($salt.unicode($pass))
sha512crypt, SHA512(Unix)
Domain Cached Credentials2, mscash2
Cisco-PIX MD5
WPA/WPA2
Double MD5
LM
Oracle 7-10g, DES(Oracle)
bcrypt, Blowfish(OpenBSD)
SHA-3(Keccak)
Half MD5 (left, mid, right)
Password Safe SHA-256
IKE-PSK MD5
IKE-PSK SHA1
NetNTLMv1-VANILLA / NetNTLMv1+ESS
NetNTLMv2
Cisco-IOS SHA256
Samsung Android Password/PIN
RipeMD160
Whirlpool
TrueCrypt 5.0+ PBKDF2 HMAC-RipeMD160 + AES
TrueCrypt 5.0+ PBKDF2 HMAC-SHA512 + AES
TrueCrypt 5.0+ PBKDF2 HMAC-Whirlpool + AES
TrueCrypt 5.0+ PBKDF2 HMAC-RipeMD160 boot-mode + AES
AIX {smd5}
AIX {ssha256}
AIX {ssha512}
1Password
AIX {ssha1}
Lastpass
GOST R 34.11-94
OSX v10.8
GRUB 2
sha256crypt, SHA256(Unix)
Joomla
osCommerce, xt:Commerce
nsldap, SHA-1(Base64), Netscape LDAP SHA
nsldaps, SSHA-1(Base64), Netscape LDAP SSHA
Oracle 11g
SMF > v1.1
OSX v10.4, v10.5, v10.6
MSSQL(2000)
MSSQL(2005)
EPiServer 6.x < v4
EPiServer 6.x > v4
SSHA-512(Base64), LDAP {SSHA512}
OSX v10.7
vBulletin < v3.8.5
vBulletin > v3.8.5
IPB2+, MyBB1.2+
官方網站軟體下載處:http://hashcat.net/oclhashcat-plus/
轉載自《網路攻防戰》
官方強調它一款驗證密碼安全的工具程式,所以請勿拿別人的機器當實驗品。
影片為使用上一個版本(v0.14)暴力破解 WordPress Password Hash 所示範需要的時間,請自行計算需要多久就可以得到答案!
其實它一系列兄弟姊妹的暴力破解工具很多,包含:
hashcat v0.46
hashcat-gui v0.5.1
oclHashcat-plus v0.15
oclHashcat-lite v0.15
目前更新的是 oclHashcat-plus v0.15,主要的新增特色為:
Multi-GPU (up to 128 gpus)
Multi-Hash (up to 15 million hashes)
Multi-OS (Linux & Windows native binaries)
Multi-Platform (OpenCL & CUDA support)
Multi-Algo (see below)
Low resource utilization, you can still watch movies or play games while cracking
Focuses highly iterated modern hashes
Focuses single dictionary based attacks
支援 mask attack
支援 mask files
支援 distributed cracking
支援 pause / resume while cracking
支援 sessions
支援 restore
支援 reading words from file
支援 reading words from stdin
支援 hex-salt
支援 hex-charset
支援 variable rounds where applicable
Integrated thermal watchdog
攻擊模組:
Straight
Combination
Brute-force
Hybrid dict + mask
Hybrid mask + dict
已淪陷的演算法:
MD5
md5($pass.$salt)
md5($salt.$pass)
md5(unicode($pass).$salt)
md5($salt.unicode($pass))
SHA1
sha1($pass.$salt)
sha1($salt.$pass)
sha1(unicode($pass).$salt)
sha1($salt.unicode($pass))
MySQL
phpass, MD5(Wordpress), MD5(phpBB3)
md5crypt, MD5(Unix), FreeBSD MD5, Cisco-IOS MD5
MD4
NTLM
Domain Cached Credentials, mscash
SHA256
sha256($pass.$salt)
sha256($salt.$pass)
sha256(unicode($pass).$salt)
sha256($salt.unicode($pass))
descrypt, DES(Unix), Traditional DES
md5apr1, MD5(APR), Apache MD5
SHA512
sha512($pass.$salt)
sha512($salt.$pass)
sha512(unicode($pass).$salt)
sha512($salt.unicode($pass))
sha512crypt, SHA512(Unix)
Domain Cached Credentials2, mscash2
Cisco-PIX MD5
WPA/WPA2
Double MD5
LM
Oracle 7-10g, DES(Oracle)
bcrypt, Blowfish(OpenBSD)
SHA-3(Keccak)
Half MD5 (left, mid, right)
Password Safe SHA-256
IKE-PSK MD5
IKE-PSK SHA1
NetNTLMv1-VANILLA / NetNTLMv1+ESS
NetNTLMv2
Cisco-IOS SHA256
Samsung Android Password/PIN
RipeMD160
Whirlpool
TrueCrypt 5.0+ PBKDF2 HMAC-RipeMD160 + AES
TrueCrypt 5.0+ PBKDF2 HMAC-SHA512 + AES
TrueCrypt 5.0+ PBKDF2 HMAC-Whirlpool + AES
TrueCrypt 5.0+ PBKDF2 HMAC-RipeMD160 boot-mode + AES
AIX {smd5}
AIX {ssha256}
AIX {ssha512}
1Password
AIX {ssha1}
Lastpass
GOST R 34.11-94
OSX v10.8
GRUB 2
sha256crypt, SHA256(Unix)
Joomla
osCommerce, xt:Commerce
nsldap, SHA-1(Base64), Netscape LDAP SHA
nsldaps, SSHA-1(Base64), Netscape LDAP SSHA
Oracle 11g
SMF > v1.1
OSX v10.4, v10.5, v10.6
MSSQL(2000)
MSSQL(2005)
EPiServer 6.x < v4
EPiServer 6.x > v4
SSHA-512(Base64), LDAP {SSHA512}
OSX v10.7
vBulletin < v3.8.5
vBulletin > v3.8.5
IPB2+, MyBB1.2+
官方網站軟體下載處:http://hashcat.net/oclhashcat-plus/
轉載自《網路攻防戰》
入侵偵測 - SNORT
入侵偵測 - SNORT
△注意:本文是配合 Ubuntu Server 12.04 LTS 安裝
在善良的網路環境之中,所有網路的通訊都是按照規矩來的,所以大家上網的上網( http or https ),下載的載( http or ftp ),打 bbs 的打 bbs ( telnet or ssh )等,這些都是正常的網路行為,讓使用者經過網路完成工作或得到需要的資訊。可惜的是,網路的行為不只是這樣單純,除了人為惡意的攻擊,還可能是病毒、蠕蟲等惡意程式侵擾,他們會利用系統的弱點進行擴張版圖的大業,這些潛藏於網路中的惡意行為,透過入侵偵測(Intrusion Detection System, IDS )的架設,可以協助我們在環境中發現可能的問題點(也可能是誤報),進而先行處理,以免損害擴大。
我們這次要介紹的入侵偵測,是免費的 snort,架設 snort 伺服器之前要先規劃網路的架構,一般我們會把 NIDS ( Network IDS )伺服器放在外網( WAN )連到內網( LAN )的這一段中間,如此一來,所以外對內的流量都會經過 IDS 檢視,並依 rules 提報出可能的問題點。
▲ 圖一、常見使用snort (IDS)網路拓樸圖。
網路規劃好了,也把伺服器安裝到位,再來就是安裝snort,安裝的動作很簡單,只要下指令:
● sudo apt-get install snort -y
雖然安裝的過程中會提示需要監控的網段,但是這個版本存入設定有時會怪怪的,我們再檢查一下設定檔,檢示修改 HOME_NET 由 any (使用 HOME_NET=any 在某些 snort 的 rules 中會造成錯誤),改為內網網段或是我們需要監看的網段,編修snort設定檔的指令如下所示:
● sudo vi /etc/snort/snort.conf
▲ 圖二、修改snort設定中的HOME_NET。
有人說 snort 的精華就在於它的 rules,有了 rules 後,snort 在檢視網路的封包時,才知道那些是可能有問題的封包,snort 官網提供付費者/與註冊使用者兩種身份,可以由網站中下載 rules,兩者的差別在於,新的 rules 出來付費者可以馬上使用,而註冊使用者則要等一個月後才可以使用。Ubuntu 安裝 snort 後已有 2012/2 月的 rules,為了未來的更新,我們可以自行申請 snort 使用者(會員),並取得 oinkcode,再透過由網站上得知目前的版本,以手動方式進行 rules 更新。
▲ 圖三、snort 官網中,下載 rules 部份,有 Get an Oinkcode 與目前 rules 版本的資訊。
▲ 圖四、Get an oinkcode 後,可由郵件得到 oinkcode 資訊與下載路徑
設定 oinkmaster.conf,輸入自己的code與目前的版本(由圖三看到現最新是2922),以進行更新,官網建議使用PulledPork工具,但在它預設的檔案路徑和 Red Hat 類的 Linux 比較合,在 Ubuntu 下要改比較的多路徑設定,我們暫時先勤能補拙的手動修改,修改指令如下:
●sudo vi /etc/oinkmaster.conf,修改設定檔,主要就是加入url = http://www.snort.org/pub-bin/oinkmaster.cgi/*您的oinkcode*/snortrules-snapshot-目前可用最新版本.tar.gz
●sudo oinkmaster -o /etc/snort/rules/,設定好更新參數後,透過 oinkmaster 指令進行 rules 的更新。
▲ 圖五、設定 oinkmaser.conf。
▲ 圖六、oinkmaster 更新後新增修改 rules 資料的示意圖。
看來更新一切就緒,使用 snort 來測試新的rules有沒有問題,指令如下:
●sudo snort -T -c /etc/snort/snort.conf
▲ 圖七、新的rules在運行時出現問題。
測試中出現有 rules 要使用 FILE_DATA_PORTS 參數,但是找不到,所以我們拜請google大神,於snort.conf中補入要的參數,要留意的是 google 出來的設定”portvar FILE_DATA_PORTS [$HTTP_PORTS,110,143]”,其中的$HTTP_PORTS也是變數,所以我們新增的參數要放在他的後面。
▲ 圖八、於 snort 設定檔加入新參數。
一切設定妥當,我們啟用snort,指令如下:
●snort -D -c /etc/snort/snort.conf
snort 的報表在 /var/log/snort/alert,我們可以由這裡可以看到警示,也可以試用 openvas 對此台機器進行弱點掃描,在弱點偵測過程中會有類似攻擊的行為,也會被偵測出來。
▲ 圖九、alert 的示意圖。
軟體下載:
Ubuntu Server 12.04 LTS
轉載自《iThome Download》
△注意:本文是配合 Ubuntu Server 12.04 LTS 安裝
在善良的網路環境之中,所有網路的通訊都是按照規矩來的,所以大家上網的上網( http or https ),下載的載( http or ftp ),打 bbs 的打 bbs ( telnet or ssh )等,這些都是正常的網路行為,讓使用者經過網路完成工作或得到需要的資訊。可惜的是,網路的行為不只是這樣單純,除了人為惡意的攻擊,還可能是病毒、蠕蟲等惡意程式侵擾,他們會利用系統的弱點進行擴張版圖的大業,這些潛藏於網路中的惡意行為,透過入侵偵測(Intrusion Detection System, IDS )的架設,可以協助我們在環境中發現可能的問題點(也可能是誤報),進而先行處理,以免損害擴大。
我們這次要介紹的入侵偵測,是免費的 snort,架設 snort 伺服器之前要先規劃網路的架構,一般我們會把 NIDS ( Network IDS )伺服器放在外網( WAN )連到內網( LAN )的這一段中間,如此一來,所以外對內的流量都會經過 IDS 檢視,並依 rules 提報出可能的問題點。
▲ 圖一、常見使用snort (IDS)網路拓樸圖。
網路規劃好了,也把伺服器安裝到位,再來就是安裝snort,安裝的動作很簡單,只要下指令:
● sudo apt-get install snort -y
雖然安裝的過程中會提示需要監控的網段,但是這個版本存入設定有時會怪怪的,我們再檢查一下設定檔,檢示修改 HOME_NET 由 any (使用 HOME_NET=any 在某些 snort 的 rules 中會造成錯誤),改為內網網段或是我們需要監看的網段,編修snort設定檔的指令如下所示:
● sudo vi /etc/snort/snort.conf
▲ 圖二、修改snort設定中的HOME_NET。
有人說 snort 的精華就在於它的 rules,有了 rules 後,snort 在檢視網路的封包時,才知道那些是可能有問題的封包,snort 官網提供付費者/與註冊使用者兩種身份,可以由網站中下載 rules,兩者的差別在於,新的 rules 出來付費者可以馬上使用,而註冊使用者則要等一個月後才可以使用。Ubuntu 安裝 snort 後已有 2012/2 月的 rules,為了未來的更新,我們可以自行申請 snort 使用者(會員),並取得 oinkcode,再透過由網站上得知目前的版本,以手動方式進行 rules 更新。
▲ 圖三、snort 官網中,下載 rules 部份,有 Get an Oinkcode 與目前 rules 版本的資訊。
▲ 圖四、Get an oinkcode 後,可由郵件得到 oinkcode 資訊與下載路徑
設定 oinkmaster.conf,輸入自己的code與目前的版本(由圖三看到現最新是2922),以進行更新,官網建議使用PulledPork工具,但在它預設的檔案路徑和 Red Hat 類的 Linux 比較合,在 Ubuntu 下要改比較的多路徑設定,我們暫時先勤能補拙的手動修改,修改指令如下:
●sudo vi /etc/oinkmaster.conf,修改設定檔,主要就是加入url = http://www.snort.org/pub-bin/oinkmaster.cgi/*您的oinkcode*/snortrules-snapshot-目前可用最新版本.tar.gz
●sudo oinkmaster -o /etc/snort/rules/,設定好更新參數後,透過 oinkmaster 指令進行 rules 的更新。
▲ 圖五、設定 oinkmaser.conf。
▲ 圖六、oinkmaster 更新後新增修改 rules 資料的示意圖。
看來更新一切就緒,使用 snort 來測試新的rules有沒有問題,指令如下:
●sudo snort -T -c /etc/snort/snort.conf
▲ 圖七、新的rules在運行時出現問題。
測試中出現有 rules 要使用 FILE_DATA_PORTS 參數,但是找不到,所以我們拜請google大神,於snort.conf中補入要的參數,要留意的是 google 出來的設定”portvar FILE_DATA_PORTS [$HTTP_PORTS,110,143]”,其中的$HTTP_PORTS也是變數,所以我們新增的參數要放在他的後面。
▲ 圖八、於 snort 設定檔加入新參數。
一切設定妥當,我們啟用snort,指令如下:
●snort -D -c /etc/snort/snort.conf
snort 的報表在 /var/log/snort/alert,我們可以由這裡可以看到警示,也可以試用 openvas 對此台機器進行弱點掃描,在弱點偵測過程中會有類似攻擊的行為,也會被偵測出來。
▲ 圖九、alert 的示意圖。
軟體下載:
Ubuntu Server 12.04 LTS
轉載自《iThome Download》
以 Snort 實作入侵偵測系統
以 Snort 實作入侵偵測系統
前言
在一般企業中通常會設置防火牆作為防止駭客入侵的第一道防線,有些企業甚至認為防火牆即是唯一需要的資安設備,但在實務上,防火牆並無法有效阻擋所有種類的網路攻擊行為。也因此有所謂的入侵偵測系統設備(既然無法阻擋攻擊,那就記錄攻擊行為,以便事後追查,當然目前也有所謂的入侵預防系統 (Intrusion Prevention System, IPS),除了可記錄惡意行為外還可直接阻擋正在進行中的惡意行為)。在本篇文章中,筆者將結合開源碼社群中最有名的入侵偵測軟體 (Snort) 與 Web 介面的管理軟體 (BASE) 實作一個網頁型的入侵偵測系統。
本系統所需套件如下表:
軟體名稱 說明
Fedora 11 Linux 作業系統
Libpcap 擷取網路封包的程式庫
PCRE 正規化表示法的程式庫
Snort 網路型入侵偵測系統
PHP 網頁程式語言
Apache 網站伺服器
BASE (Basic Analysis and Security Engine) 網頁式入侵偵測系統管理程式
MySQL 資料庫軟體
ADOdb PHP 資料庫程式庫
▲表 1
什麼是入侵偵測系統
入侵偵測系統依偵測型式可分為網路型入侵偵測系統(Network-based Intrusion Detection System,以下簡稱為 NIDS)及主機型入侵偵測系統(Host-based Intrusion Detection System,在此我們不多加討論主機型入侵偵測系統)。
NIDS
網路型入侵偵測系統通常部署在網域閘道上 (gateway),通過竊聽 (sniffer) 的方式,即時監測網路上的封包並比對攻擊模式,當發現有疑似入侵行為時能即時提出警告的防禦系統。一般而言 NIDS 網路部署如下圖示:
▲圖 1
NIDS 部署在網域閘道上 (gateway) 監控所有的封包並與攻擊模式資料庫比對,一旦發現有符合攻擊樣式的網路封包,即觸發相關事件來通知管理者,相信細心的讀者一定會發現上圖中的入侵偵測系統 (Snort) 是接在 switch 裝置前的 hub,而不是與 switch 裝置直接連接,這是因為封包在這兩種裝置上傳遞方式不同的緣故。在 hub 上,封包是採用廣播的方式,當封包進入到 hub 時,將會以廣播的方式將封包傳遞給 hub 上所有的主機,但只有目的主機會接收此封包,也就是說,在 hub 上連接的主機都會接收到封包,只是沒收下來而已,在這個情況下,如果我們讓網卡進入所謂的混亂 (promiscuous) 模式,那網卡就會強制的將同一 hub 上的所有封包資訊接收下來(這也是一些以竊取資料為目的木馬程式的特徵),所以有些網管人員會特別注意相關 log 檔案是否有類似 (promiscuous) 的字串,不過 Snort 在啟動後,也會強迫網卡進入混亂 (promiscuous) 模式,藉此取得其它主機的封包。以 Linux 系統為例;讀者可利用 ifconfig 指令查看目前網卡的狀況,如下圖為一個正常模式的網卡,在此模式下,網卡僅會處理與本身相關的封包。
▲圖 2
讀者可利用 ifconfig eth0 promisc 指令,讓網卡進入混亂 (promiscuous) 模式,如下圖即為一個進入混亂 (promiscuous) 模式的網卡,在此模式下,網卡會處理流經 hub 的所有封包,Snort 即是利用此特性處理網域內的所有封包並比對是否有惡意樣式的封包,所以 Snort 程式在執行時,會將網卡設定成混亂 (promiscuous) 模式。
▲圖 3
而在 switch 裝置上,則是會保存一張對應表,對應接在 switch 上的每台主機埠口(即 switch 裝置上的埠會對應連接此實體埠主機的 MAC 資訊),一旦封包流進此 switch 即會先查詢此對應表,並直接將封包直接傳遞給目的主機,而其他不相關的主機無法接收到封包。因此,若無經過特殊的處理,Snort 直接連在 switch 上是無法取得其它主機的封包。這也是為什麼 Snort 主機不能直接接在 switch 上來從事監控作業,而必須接在 hub 上的原因。除非 switch 有提供所謂的 mirror 功能,可將 switch 上其它埠所接收到的封包複製一份到 Snort 主機所在的埠口上,否則 Snort 接在 switch 上是無法取得其它主機的封包(僅可取得流經自己主機的封包)。
NIDS 偵測的方式可分為特徵比對 (Signature-based) 方式與異常偵測 (Anomaly-based) 方式,如下所述:
特徵比對 (Signature-based)
特徵比對 (Signature-based) 又稱為「不當行為偵測 (Misuse detection)」,系統會先針對入侵特徵建立一「異常特徵資料庫」,只要 NIDS 偵測到的封包內容與資料庫的某個特徵相符,系統即會判別為入侵。此種方式的優點是不易誤判,因為個別的攻擊行為通常擁有特殊的特徵符號。就如同病毒碼一般可精確比對出攻擊模式。但就如上所言,此種方式是否能完整的檢測出惡意的封包,取決於「異常特徵資料庫」的完整性,異常特徵資料庫越完整,檢測出惡意封包的機率就越大,所以此種方式並無法檢測出未知的攻擊方式,因為需要先有攻擊行為才會有攻擊特徵,「異常特徵資料庫」才能加入此種攻擊特徵,最後 NIDS 才可藉此掃描出惡意封包。Snort 所採用的偵測方式,即屬於特徴比對的方式。
異常偵測 (Anomaly-based)
運用統計分析的方式,先定義出正常的系統模式(以下簡稱正常模式),而後當 NIDS 檢測出不符合正常模式的流量時,即判別為異常,此種模式的優點在於可偵測未知的攻擊行為,因為攻擊行為常會造成系統偏離正常模式而被檢測出來,但缺點是很難界定所謂的「正常的系統模式」,所以經常會有誤判的情況,也因此大部份的入侵偵測系統大都採用特徵比對的方式。
安裝 Snort
Snort 是一種以攻擊特徵碼為基礎的入侵偵測系統,利用事先建立好的已知攻擊資料特徵碼,來比對接收到的封包內容是否含有攻擊行為。若符合特徵碼即觸發相對應的動作。相關架構圖如下所示:
▲圖 4
Packet Decoder(封包解碼器)
當 Snort 取得各種不同通訊協定的網路封包後,第一件事即將封包置入「封包解碼器」模組中做第一階段的封包處理與分析,以作為下一個階段(前處理器與偵測引擎)的資料來源。
Preprocessors(前處理器)
Snort 的前處理器為外掛程式 (plugin) 的架構,主要功能在於重新標準化網路流量(如重組封包、分段與重組 TCP stream、編碼的轉換等等),以使得網路流量能精確的被偵測引擎 (Detection Engine) 解析及匹配特徵碼。
Detection Engine(偵測模組)
Detection Engine(偵測模組)主要功能在於規則分析與特徵偵測,Detection Engine(偵測模組)將 Snort 的規則文件引入,並按照規則文件中的規則,逐一比對並分析網路封包,一旦發現封包有符合規則文件中定義的行為,即觸發該規則文件中所定義的處理方式,當所有的規則都不符合時,即會丟棄該封包。Snort 的規則文件分為兩個部份:
1. 規則表頭 (Rule-Header)
規則表頭是規則中第一個圓括孤之前的部份,通常是用來決定封包比對來源範圍(如:限定比對那些範圍的 IP)及比對成功時的動作(如:用 log 或是直接丟棄)。
2. 規則選項 (Rule-Options)
規則選項主要利用一至多個關鍵字設定欲偵測的流量特徵,規則選項依功能可區分為下列四個部份:
(1) Meta-data 用來設定欲顯示的相關訊息,如當規則觸發時所要產生的訊息或弱點的相關參考訊息。
(2) Payload 用來比對封包內容的規則,如比對是否需區分大小寫或特定字串等等。
(3) Non-Payload 用來比對各種協定的欄位值。
(4) Post-Detection 當封包內容與規則符合時,除了在規則表頭 (Rule-Header) 所定義的動作外,另外會觸發的動作指令如下規則範例:
alert tcp any any → any 5432 (msg:"someone access PSQL command:SELECT"; content:"select";)
規則描述如下表:
alert【處理方式】 產生警示的 log
tcp【來源通訊協定】 偵測 TCP 的封包
any【來源 IP】 偵測任何的來源 IP
any【來源 port】 偵測任何的來源埠
any【目的 IP】 偵測任何的目的 IP
5432【目的 port】 僅偵測 5432 埠的封包
【進階處理內容】 若符合內容含有「select」的字串,則將 msg 後的字串記錄起來。
▲表 2
上述規則的意義為:
當主機上的 5432 埠,如果有接收到內含有 select 字串的封包,則記錄一筆警示記錄(記錄內容為「someone access PSQL command:SELECT」)。
Logging and Alerting:當 Snort 偵測出惡意封包時,可以將該訊息記錄起來並觸發相關警告事件。
Output Modules:可將相關資訊輸出到檔案或資料庫等儲存媒介,在本解決方案中,我們會將相關的資訊儲存至資料庫中。
接下來,繼續安裝 Snort,假設讀者已安裝完成 Apache 與 MySQL,請讀者依序以下列步驟安裝相關套件:
1. 安裝 Libpcap 及 PCRE
yum install libpcap*
yum install libpcre*
2. 設定 ADOdb
至 http://adodb.sourceforge.net/ 取得最新的版本,解開後,將相關檔案置於 /usr/local/adodb 目錄即可
3. 安裝 Snort 的資料庫
(1) 新建一個名稱為 snort 的資料庫
(2) 在 Snort 原始碼的 schemas 目錄下有一個 create_mysql 檔案
利用 mysql –u [USER] –p [Password] snort
(新建立 Snort 所需要的資料庫表格)
4. 安裝 Snort
(1) 至 www.snort.org 取得最新版本的 Snort 解壓縮後,如下指令:
./configure && make && make install 即可安裝完成
(2) 接下來即為建立 Snort 所需的相關目錄:
mkdir –p /opt/snort/etc #放置 config 檔案目錄
mkdir –p /opt/snort/rules #放置規則檔的目錄
mkdir –p /var/log/snort #放置 log
(3)下一步即為取得 Snort 的規則集(目前 Snort 是必需付費方可取得最新的規則集,但讀者可至官方網站簡單註冊後,即可取得未註冊的版本)將相關的規則集檔案解壓縮後置於 /opt/snort/rules 即可。
(4)再來即為設定 Snort 的組態檔 (snort.conf),基本上僅需設定下列選項即可:
var HOME_NET any #設定欲監控的主機(any 表示任意的主機均符合)
var EXTERNAL_NET any #設定外部主機範圍
output database: log, mysql, user =【資料庫使用者帳號】
password =【資料庫密碼】 dbname=snort host=localhost
#MySQL 資料庫的支援
在安裝完成後,即可開始測試 Snort,Snort 提供兩種工作模式:
(1) 監聽 (sniffer) 模式
在此模式下,Snort 僅是 sniffer(如 tcpdump)的功能,監聽所有來往的封包,但不會做攻擊模式的比對。
讀者以 snort –v 進入 sniffer 模式,如下圖示:
▲圖 5
(2) NIDS(網路型入侵偵測系統)
在此模式下,Snort 不僅會監聽所有來往的封包,並會做攻擊模式的比對。
5. 安裝 BASE 軟體
由於 BASE 軟體有繪圖及 Email 相關功能, 所以我們還必需安裝 PHP 相關的模組。
pear install Mail #利用安裝 Email
pear install Image_Color-1.0.2.tgz #安裝繪圖所需的模組
pear install Image_Canvas-0.3.0.tgz
pear install Image_Graph-0.7.2.tgz
安裝完成後,可利用 pear list 來檢查是否有安裝相關模組,如下圖示:
▲圖 6
將 BASE 相關程式置於網站根目錄下的 base 目錄,(在此為 /usr/local/apache2/htdocs/base),後利用瀏覽器設定,如下步驟:
步驟1(檢查相關環境):
▲圖 7
步驟2(設定 ADOdb 的所在目錄):
▲圖 8
步驟3(設定資料庫相關的資訊):
▲圖 9
步驟4(設定從網站登入的帳號及密碼資訊):
▲圖 10
步驟5(產生相關的資料庫表格):
▲圖 11
當一切順利完成後,讀者可利用瀏覽器瀏覽 http://〈base IP〉/base/ 即可瀏覽 BASE 的相關頁面
接下來即請讀者啟動 Snort,如下指令:
/usr/local/snort/bin/snort -c /usr/local/snort/etc/snort.conf -D
(以常駐程式方式啟動 Snort,並將網卡設定成 promiscuous,讀者可利用 dmesg 查看是否有類似下列的文字「device eth0 entered promiscuous mode」)。
下圖為 Snort 偵測到 Teardrop(一種拒絕服務攻擊的手法)攻擊的畫面:
▲圖 12
至此,讀者已成功建立網頁型入侵偵測系統。可由網頁介面來掌控入侵偵測系統的相關資訊。(作者是老薯條)
●引用自自由軟體鑄造場
前言
在一般企業中通常會設置防火牆作為防止駭客入侵的第一道防線,有些企業甚至認為防火牆即是唯一需要的資安設備,但在實務上,防火牆並無法有效阻擋所有種類的網路攻擊行為。也因此有所謂的入侵偵測系統設備(既然無法阻擋攻擊,那就記錄攻擊行為,以便事後追查,當然目前也有所謂的入侵預防系統 (Intrusion Prevention System, IPS),除了可記錄惡意行為外還可直接阻擋正在進行中的惡意行為)。在本篇文章中,筆者將結合開源碼社群中最有名的入侵偵測軟體 (Snort) 與 Web 介面的管理軟體 (BASE) 實作一個網頁型的入侵偵測系統。
本系統所需套件如下表:
軟體名稱 說明
Fedora 11 Linux 作業系統
Libpcap 擷取網路封包的程式庫
PCRE 正規化表示法的程式庫
Snort 網路型入侵偵測系統
PHP 網頁程式語言
Apache 網站伺服器
BASE (Basic Analysis and Security Engine) 網頁式入侵偵測系統管理程式
MySQL 資料庫軟體
ADOdb PHP 資料庫程式庫
▲表 1
什麼是入侵偵測系統
入侵偵測系統依偵測型式可分為網路型入侵偵測系統(Network-based Intrusion Detection System,以下簡稱為 NIDS)及主機型入侵偵測系統(Host-based Intrusion Detection System,在此我們不多加討論主機型入侵偵測系統)。
NIDS
網路型入侵偵測系統通常部署在網域閘道上 (gateway),通過竊聽 (sniffer) 的方式,即時監測網路上的封包並比對攻擊模式,當發現有疑似入侵行為時能即時提出警告的防禦系統。一般而言 NIDS 網路部署如下圖示:
▲圖 1
NIDS 部署在網域閘道上 (gateway) 監控所有的封包並與攻擊模式資料庫比對,一旦發現有符合攻擊樣式的網路封包,即觸發相關事件來通知管理者,相信細心的讀者一定會發現上圖中的入侵偵測系統 (Snort) 是接在 switch 裝置前的 hub,而不是與 switch 裝置直接連接,這是因為封包在這兩種裝置上傳遞方式不同的緣故。在 hub 上,封包是採用廣播的方式,當封包進入到 hub 時,將會以廣播的方式將封包傳遞給 hub 上所有的主機,但只有目的主機會接收此封包,也就是說,在 hub 上連接的主機都會接收到封包,只是沒收下來而已,在這個情況下,如果我們讓網卡進入所謂的混亂 (promiscuous) 模式,那網卡就會強制的將同一 hub 上的所有封包資訊接收下來(這也是一些以竊取資料為目的木馬程式的特徵),所以有些網管人員會特別注意相關 log 檔案是否有類似 (promiscuous) 的字串,不過 Snort 在啟動後,也會強迫網卡進入混亂 (promiscuous) 模式,藉此取得其它主機的封包。以 Linux 系統為例;讀者可利用 ifconfig 指令查看目前網卡的狀況,如下圖為一個正常模式的網卡,在此模式下,網卡僅會處理與本身相關的封包。
▲圖 2
讀者可利用 ifconfig eth0 promisc 指令,讓網卡進入混亂 (promiscuous) 模式,如下圖即為一個進入混亂 (promiscuous) 模式的網卡,在此模式下,網卡會處理流經 hub 的所有封包,Snort 即是利用此特性處理網域內的所有封包並比對是否有惡意樣式的封包,所以 Snort 程式在執行時,會將網卡設定成混亂 (promiscuous) 模式。
▲圖 3
而在 switch 裝置上,則是會保存一張對應表,對應接在 switch 上的每台主機埠口(即 switch 裝置上的埠會對應連接此實體埠主機的 MAC 資訊),一旦封包流進此 switch 即會先查詢此對應表,並直接將封包直接傳遞給目的主機,而其他不相關的主機無法接收到封包。因此,若無經過特殊的處理,Snort 直接連在 switch 上是無法取得其它主機的封包。這也是為什麼 Snort 主機不能直接接在 switch 上來從事監控作業,而必須接在 hub 上的原因。除非 switch 有提供所謂的 mirror 功能,可將 switch 上其它埠所接收到的封包複製一份到 Snort 主機所在的埠口上,否則 Snort 接在 switch 上是無法取得其它主機的封包(僅可取得流經自己主機的封包)。
NIDS 偵測的方式可分為特徵比對 (Signature-based) 方式與異常偵測 (Anomaly-based) 方式,如下所述:
特徵比對 (Signature-based)
特徵比對 (Signature-based) 又稱為「不當行為偵測 (Misuse detection)」,系統會先針對入侵特徵建立一「異常特徵資料庫」,只要 NIDS 偵測到的封包內容與資料庫的某個特徵相符,系統即會判別為入侵。此種方式的優點是不易誤判,因為個別的攻擊行為通常擁有特殊的特徵符號。就如同病毒碼一般可精確比對出攻擊模式。但就如上所言,此種方式是否能完整的檢測出惡意的封包,取決於「異常特徵資料庫」的完整性,異常特徵資料庫越完整,檢測出惡意封包的機率就越大,所以此種方式並無法檢測出未知的攻擊方式,因為需要先有攻擊行為才會有攻擊特徵,「異常特徵資料庫」才能加入此種攻擊特徵,最後 NIDS 才可藉此掃描出惡意封包。Snort 所採用的偵測方式,即屬於特徴比對的方式。
異常偵測 (Anomaly-based)
運用統計分析的方式,先定義出正常的系統模式(以下簡稱正常模式),而後當 NIDS 檢測出不符合正常模式的流量時,即判別為異常,此種模式的優點在於可偵測未知的攻擊行為,因為攻擊行為常會造成系統偏離正常模式而被檢測出來,但缺點是很難界定所謂的「正常的系統模式」,所以經常會有誤判的情況,也因此大部份的入侵偵測系統大都採用特徵比對的方式。
安裝 Snort
Snort 是一種以攻擊特徵碼為基礎的入侵偵測系統,利用事先建立好的已知攻擊資料特徵碼,來比對接收到的封包內容是否含有攻擊行為。若符合特徵碼即觸發相對應的動作。相關架構圖如下所示:
▲圖 4
Packet Decoder(封包解碼器)
當 Snort 取得各種不同通訊協定的網路封包後,第一件事即將封包置入「封包解碼器」模組中做第一階段的封包處理與分析,以作為下一個階段(前處理器與偵測引擎)的資料來源。
Preprocessors(前處理器)
Snort 的前處理器為外掛程式 (plugin) 的架構,主要功能在於重新標準化網路流量(如重組封包、分段與重組 TCP stream、編碼的轉換等等),以使得網路流量能精確的被偵測引擎 (Detection Engine) 解析及匹配特徵碼。
Detection Engine(偵測模組)
Detection Engine(偵測模組)主要功能在於規則分析與特徵偵測,Detection Engine(偵測模組)將 Snort 的規則文件引入,並按照規則文件中的規則,逐一比對並分析網路封包,一旦發現封包有符合規則文件中定義的行為,即觸發該規則文件中所定義的處理方式,當所有的規則都不符合時,即會丟棄該封包。Snort 的規則文件分為兩個部份:
1. 規則表頭 (Rule-Header)
規則表頭是規則中第一個圓括孤之前的部份,通常是用來決定封包比對來源範圍(如:限定比對那些範圍的 IP)及比對成功時的動作(如:用 log 或是直接丟棄)。
2. 規則選項 (Rule-Options)
規則選項主要利用一至多個關鍵字設定欲偵測的流量特徵,規則選項依功能可區分為下列四個部份:
(1) Meta-data 用來設定欲顯示的相關訊息,如當規則觸發時所要產生的訊息或弱點的相關參考訊息。
(2) Payload 用來比對封包內容的規則,如比對是否需區分大小寫或特定字串等等。
(3) Non-Payload 用來比對各種協定的欄位值。
(4) Post-Detection 當封包內容與規則符合時,除了在規則表頭 (Rule-Header) 所定義的動作外,另外會觸發的動作指令如下規則範例:
alert tcp any any → any 5432 (msg:"someone access PSQL command:SELECT"; content:"select";)
規則描述如下表:
alert【處理方式】 產生警示的 log
tcp【來源通訊協定】 偵測 TCP 的封包
any【來源 IP】 偵測任何的來源 IP
any【來源 port】 偵測任何的來源埠
any【目的 IP】 偵測任何的目的 IP
5432【目的 port】 僅偵測 5432 埠的封包
【進階處理內容】 若符合內容含有「select」的字串,則將 msg 後的字串記錄起來。
▲表 2
上述規則的意義為:
當主機上的 5432 埠,如果有接收到內含有 select 字串的封包,則記錄一筆警示記錄(記錄內容為「someone access PSQL command:SELECT」)。
Logging and Alerting:當 Snort 偵測出惡意封包時,可以將該訊息記錄起來並觸發相關警告事件。
Output Modules:可將相關資訊輸出到檔案或資料庫等儲存媒介,在本解決方案中,我們會將相關的資訊儲存至資料庫中。
接下來,繼續安裝 Snort,假設讀者已安裝完成 Apache 與 MySQL,請讀者依序以下列步驟安裝相關套件:
1. 安裝 Libpcap 及 PCRE
yum install libpcap*
yum install libpcre*
2. 設定 ADOdb
至 http://adodb.sourceforge.net/ 取得最新的版本,解開後,將相關檔案置於 /usr/local/adodb 目錄即可
3. 安裝 Snort 的資料庫
(1) 新建一個名稱為 snort 的資料庫
(2) 在 Snort 原始碼的 schemas 目錄下有一個 create_mysql 檔案
利用 mysql –u [USER] –p [Password] snort
(新建立 Snort 所需要的資料庫表格)
4. 安裝 Snort
(1) 至 www.snort.org 取得最新版本的 Snort 解壓縮後,如下指令:
./configure && make && make install 即可安裝完成
(2) 接下來即為建立 Snort 所需的相關目錄:
mkdir –p /opt/snort/etc #放置 config 檔案目錄
mkdir –p /opt/snort/rules #放置規則檔的目錄
mkdir –p /var/log/snort #放置 log
(3)下一步即為取得 Snort 的規則集(目前 Snort 是必需付費方可取得最新的規則集,但讀者可至官方網站簡單註冊後,即可取得未註冊的版本)將相關的規則集檔案解壓縮後置於 /opt/snort/rules 即可。
(4)再來即為設定 Snort 的組態檔 (snort.conf),基本上僅需設定下列選項即可:
var HOME_NET any #設定欲監控的主機(any 表示任意的主機均符合)
var EXTERNAL_NET any #設定外部主機範圍
output database: log, mysql, user =【資料庫使用者帳號】
password =【資料庫密碼】 dbname=snort host=localhost
#MySQL 資料庫的支援
在安裝完成後,即可開始測試 Snort,Snort 提供兩種工作模式:
(1) 監聽 (sniffer) 模式
在此模式下,Snort 僅是 sniffer(如 tcpdump)的功能,監聽所有來往的封包,但不會做攻擊模式的比對。
讀者以 snort –v 進入 sniffer 模式,如下圖示:
▲圖 5
(2) NIDS(網路型入侵偵測系統)
在此模式下,Snort 不僅會監聽所有來往的封包,並會做攻擊模式的比對。
5. 安裝 BASE 軟體
由於 BASE 軟體有繪圖及 Email 相關功能, 所以我們還必需安裝 PHP 相關的模組。
pear install Mail #利用安裝 Email
pear install Image_Color-1.0.2.tgz #安裝繪圖所需的模組
pear install Image_Canvas-0.3.0.tgz
pear install Image_Graph-0.7.2.tgz
安裝完成後,可利用 pear list 來檢查是否有安裝相關模組,如下圖示:
▲圖 6
將 BASE 相關程式置於網站根目錄下的 base 目錄,(在此為 /usr/local/apache2/htdocs/base),後利用瀏覽器設定,如下步驟:
步驟1(檢查相關環境):
▲圖 7
步驟2(設定 ADOdb 的所在目錄):
▲圖 8
步驟3(設定資料庫相關的資訊):
▲圖 9
步驟4(設定從網站登入的帳號及密碼資訊):
▲圖 10
步驟5(產生相關的資料庫表格):
▲圖 11
當一切順利完成後,讀者可利用瀏覽器瀏覽 http://〈base IP〉/base/ 即可瀏覽 BASE 的相關頁面
接下來即請讀者啟動 Snort,如下指令:
/usr/local/snort/bin/snort -c /usr/local/snort/etc/snort.conf -D
(以常駐程式方式啟動 Snort,並將網卡設定成 promiscuous,讀者可利用 dmesg 查看是否有類似下列的文字「device eth0 entered promiscuous mode」)。
下圖為 Snort 偵測到 Teardrop(一種拒絕服務攻擊的手法)攻擊的畫面:
▲圖 12
至此,讀者已成功建立網頁型入侵偵測系統。可由網頁介面來掌控入侵偵測系統的相關資訊。(作者是老薯條)
●引用自自由軟體鑄造場
復原損毀VM映像檔 挑戰虛擬機器鑑識採證
採集證據易忽略 若遭刪除更添追查難度
復原損毀VM映像檔 挑戰虛擬機器鑑識採證
邁入數位化時代,使用者若想在硬體資源有限情況下,滿足使用多種作業系統的需求,虛擬化技術是大部分使用者的選擇。但在電腦犯罪中,犯罪者也可能利用虛擬機器軟體建置多個虛擬主機進行非法活動,獲取不法利益。有鑑於此,在進行虛擬機器的鑑識工作前,除了基本的數位鑑識知識外,必須了解虛擬機器的架構,並知悉如何復原損壞的映像檔。
在科技進步的時代,硬體性能每隔一小段時間就提升許多,許多個人電腦及公司行號的主機都具有極佳的硬體配備。
對於企業而言,為了充分利用運作中主機或電腦的閒置資源,或者是減少硬體方面的花費,虛擬化技術是一個解決問題的好選擇,因為它可以用虛擬化技術模擬出另一台電腦,並在模擬出的電腦上建置作業系統,而運作方式又與實體系統沒有太大的差異。
因為前述的好處,虛擬機器已經被廣泛地使用。近期已出現利用虛擬機器進行犯罪的案例。虛擬機器的使用,讓犯罪者可以節省硬體方面的開銷,利用少數幾台主機就可達到模擬數十台主機的效果。
當犯罪行為完成後,數位跡證又可以快速地被銷毀,因此虛擬機器成為了犯罪者的犯罪工具。透過虛擬化技術的電腦犯罪行為,對於鑑識人員而言,與傳統電腦鑑識採證方法已有所差異。
就犯罪者向業者租用主機的情況下,鑑識人員除了不易追蹤犯罪者外,在採證方面亦須業者配合,造成取證的困難性。
另外,採用虛擬機器的犯罪,若是虛擬機器的相關資訊被刪除後,有可能造成鑑識人員忽略對虛擬機器進行查證的工作。而進行虛擬機器的鑑識工作需要了解虛擬機器的特性,例如面對損壞的映像檔,該如何獲取相關的犯罪跡證。
接下來,先介紹虛擬機器的相關背景,以及對於使用虛擬機器主機取證和復原損壞映像檔的方法。
虛擬機器如何運作
虛擬機器是虛擬化技術其中的一種工具,它可以在主機上或是終端伺服器與終端使用者之間透過虛擬化技術創造出一台虛擬的硬體機器,因為這個硬體並不是實際存在的,所以稱為虛擬機器。雖然稱為虛擬機器,但事實上虛擬機器中的資料是實際存在的。
簡而言之,可以將虛擬機器看成一種模擬器,利用主機既有硬體資源模擬出另一台主機的硬體規格,如同一台電腦。因此對於硬體效能較好的主機而言,可以模擬一個或多個的作業系統來進行作業,減少硬體成本。
目前使用虛擬機器大概有兩種目的,第一種是讓一部具備高效能硬體規格的主機負責多種任務。例如在一部主機上同時裝載多個作業系統,充分運用實體主機的所有資源。
第二種是同時使用多種不同的作業系統,目前市面上有Linux、Mac、Windows等作業系統。而作業系統又有各家的不同版本,對於使用者而言,若想切換多個作業系統,利用虛擬機器就不必重新啟動主機,直接做切換系統的動作。目前市面上有許多不同的虛擬機器軟體可以選用,例如VMware、Microsoft、Citrix等等。
如圖1所示,根據iThome 2011年調查的數據虛擬機器軟體的平台採用,以VMware市占率最高。而且VMware也是最早發展虛擬機器平台的公司,因此本文就以VMware為例進行虛擬機器的介紹。
▲圖1 虛擬化平台採用比例。
虛擬機器採行的架構
在了解虛擬化技術之前,有兩個名詞必須先了解,就是Host OS以及Guest OS,所謂的Host OS,就是安裝虛擬機器時運行虛擬機器軟體的作業系統,而Guest OS則是在虛擬機器軟體上安裝的作業系統。
例如,在原本的Windows XP系統下安裝了虛擬機器軟體,並且在虛擬機器軟體內安裝Linux作業系統,此時Windows XP即為Host OS,Linux則是Guest OS。但目前的虛擬化技術並不是所有的虛擬機器都必須具備Host OS。
因此,虛擬機器的虛擬化技術主要分為下述兩種:
1.寄宿架構
所謂的寄宿架構(Hosted Architecture)也稱為初期架構,使用虛擬化技術模擬虛擬的硬體和軟體,並將模擬出的軟、硬體架構於Host OS之上,形成一個在作業系統中存在另一個作業系統的架構。
如圖2左圖所示,虛擬機器軟體讓Host OS認為模擬出的硬體是一個應用程式,而虛擬機器層透過Host OS與實體硬體對話,進而使用硬體的資源。此種架構最大優點是硬體相容性高,只需要具備Host OS,就可以使用Guest OS。
▲圖2 虛擬機器目前採行的兩種架構:寄宿架構及裸金屬架構。
但此種架構的缺點是效能低,各虛擬機器層沒有獨立的硬體資源,一旦Host OS被攻擊的話,也會導致所有虛擬機器無法運作。VMware Workstation與Microsoft Virtual PC即採用此架構。
2. 裸金屬架構
裸金屬架構(Bare-metal Architecture)比起寄宿架構,是更進階的一種技術,此種架構不再需要透過Host OS與硬體對話,虛擬機器層直接運行在硬體上。
如圖2右圖所示,虛擬機器層直接接管所有硬體資源,並且每一個虛擬機器都有配置硬體資源。因此,在這樣的架構下,最大優點在於不同虛擬系統運作效能高,且任何一個Guest OS遭受攻擊或損壞,皆不會影響到其他的Guest OS。
不過,其缺點是硬體相容性低。因為硬體必須具備相對應的驅動程式才能將Hypervisor植入核心,因此使用限制較多,相容性相對而言較低。VMware ESX/ESXi、Microsoft Hyper-V以及Citrix Xen Server即是採用此種架構。
根據以上所提及的虛擬化技術,目前一般使用者多採用寄宿架構,而企業因為效能關係,則採用裸金屬架構。
VMware Workstation檔案說明
為了要更了解虛擬機器的運作,接下來會說明虛擬機器的檔案各自代表甚麼意義,並將透過不同的副檔名介紹各個檔案的功能,如此一來就能知道虛擬機器如何將本身模擬成一台電腦。
以下分別說明VMware Workstation內幾種主要的檔案:
Vmx檔
這是一個主要配置檔,記錄使用者對於虛擬機器的設定值。
Log檔
Log檔就像是一本日記簿,記錄著VMware Workstation的主要活動,當虛擬機器運作上發生問題時,可以查看先前的Log檔發生什麼問題。而Log檔也存放一些Vmx檔內沒有提及的訊息。
Vmsd檔、Vmsn檔及Vmss檔
在介紹這三個檔案前,必須先說明何謂「快照」。快照好比對著系統資料庫內的資料拍照,「快照」會將拍照時間點的資料記錄下來,若以後系統有所變動的時候,可以當成還原的依據,而Vmsd檔、Vmsn檔及Vmss檔則為儲存快照資訊和資料的檔案。
Vmsn檔可在使用者對虛擬機器進行快照時記錄當時虛擬機器運行狀態。因此,Vmsd與Vmsn兩者在虛擬機器中扮演著復原點的角色,而Vmss檔則記錄虛擬機器暫停時的狀態。
Vmdk檔
Vmdk檔在虛擬機器內的角色,就如同電腦中的硬碟。一個虛擬硬碟主要是由多個Vmdk檔組成,因此Vmdk檔內容都存放虛擬機器的資料。數位鑑識人員可以從裡面的資料找尋有無相關線索。
Vmem檔
相較於Vmdk為扮演虛擬硬碟的角色,Vmem則扮演虛擬機器中的記憶體角色。它記錄虛擬機器存放於記憶體的資料,並且只有當虛擬機器運行或是暫停狀態才會存在,同時它也擔任一個備份資料的角色。不過,當虛擬機器被終止運行時,就如同電腦被關機後揮發性記憶體資料會消失,此檔案也會被虛擬機器自動刪除。
以上所介紹的虛擬機器中的各種檔案,整理如表1以供比對。
表1 虛擬機器的各種檔案
案例情境說明
A君利用國內拍賣網站進行拍賣詐騙,並且盜取民眾交易資料,詐騙手法是以付款設定錯誤方式,使被害者重複匯款。
如圖3所示,A君有著資訊背景,為了節省成本及方便管理,他在兩台主機中利用VMware Workstation軟體掛載多個作業系統。
▲圖3 VMware Workstation運行Windows 8於Host OS下。
鑑識人員接獲被害者報案後,隨即追查拍賣網站的IP位址,而經過一連串的追蹤,得知A君主機所在地。到了擺放主機的現場,鑑識人員原本預計會有多台主機,但卻未料到只有兩台主機。
而此時,在現場的A君發現鑑識人員入內,為避免犯罪跡證被萃取,隨即打算刪除有關虛擬機器的檔案。雖鑑識人員立即阻止,但已有部分虛擬機器的檔案被A君刪除。
為了要找尋A君的犯罪證據,鑑識人員發現A君是採用虛擬機器犯案,因此必須針對虛擬機器內的資料進行鑑識。
由於A君利用虛擬機器進行犯案,鑑識人員需要判斷虛擬機器的狀況,才能選擇適當的數位鑑識工作流程,避免破壞數位證據。
虛擬機器聽起來似乎只是虛無飄渺的,但是A君犯罪的資料卻實際記錄於其中。為了蒐集到A君的犯罪證據,接著以四個鑑識步驟介紹虛擬機器的數位鑑識。
1. 分析虛擬機器類型及採用的虛擬化技術
在進行虛擬機器的數位鑑識時,首先必須知道主機上運行的虛擬機器軟體以及所使用的虛擬化技術。原因在於,目前市面上有許多不同的虛擬機器軟體,而每一種軟體都有其特性,鑑識人員依據軟體特性,決定鑑識方法。
了解A君是使用VMware的虛擬軟體後,立即對虛擬機器進行資料萃取和蒐集,例如遭刪除的資料、加密的檔案及其他活動紀錄檔。
由於虛擬機器檔案容量都很大,因此虛擬機器的檔案被刪除,並不會被丟進資源回收筒中,而是直接被系統直接刪除。所以,為了確保資料能夠完整萃取分析,鑑識人員需要進行映像檔的還原,並在映像檔中萃取數位跡證。
2. 虛擬機器上進行數位鑑識的方法
由於虛擬機器映像檔必須完整才可啟動虛擬機器,鑑識人員在進行虛擬機器的數位鑑識時,為了避免虛擬機器的資料遭受損害,應盡量採用現場蒐證鑑識法。
也就是,在主機仍在運行的情況下,進行資料的取證以及分析。如此一來,除了可取得揮發性記憶體中的資料外,也避免因為關機或系統重新啟動而失去一些重要的資料。
虛擬機器的數位鑑識方法有兩種,第一種是先依照鑑識作業流程,將電腦中的資料利用Encase或FTK等鑑識軟體完整拷貝成映像檔至鑑識硬碟內,並在之後對映像檔內容進行分析。
如圖4所示,對於虛擬機器的鑑識,要特別注意虛擬機器內相關的檔案。這些檔案含有重要的跡證資料,之後鑑識人員進行分析時也需要利用這些檔案重建虛擬機器。
▲圖4 VMware檔案及其檔案類型。
第二種方式是,虛擬機器藉由該軟體相關程式輸出成一個映像檔。之後再利用虛擬機器軟體載入此映像檔,直接透過鑑識工具進行資料的採集和分析。
3. 虛擬機器映像檔復原
由於A君在鑑識人員進入房間時,已經有做一些破壞的動作,因此鑑識人員進行映像檔的輸出或拷貝時發生映像檔損壞的情形,必須先檢視該映像檔是否可以進行復原。
在復原的方面,若是映像檔為SPARCE文件,在一定的損壞程度中,檔案是可以被復原的,SPARCE文件結構如圖5所示。復原的工作將分成下列的步驟:
▲圖5 SPARCE文件結構。
首先在表頭(Sparse header)部分,可以根據Vmx檔和Log檔的內容進行表頭的復原,因為表頭內主要都存放一些虛擬機器的設定值。
前面有提到Vmx檔主要記錄的是虛擬軟體的設定值,而Log檔則記錄一些主要的活動。因此若是設定值有所變更,也可以從Log檔內發現。
在進行表頭的復原中,主要有以下三個欄位:
(1)Extent的大小
(2)存放Metadata的Sector數量
(3)Grain資料夾的位置。其他欄位採用預設值即可。
完成表頭復原工作後,檢查SPARCE文件結構內的欄位是否有所損壞,若有損壞,則對以下欄位進行復原動作:
(1)CID及Parent CID:此欄位值可以從虛擬機器的快照中找到,也就是本文前段所提到的Vmsd檔、Vmsn檔及Vmss檔,若是沒有虛擬機器的快照,或是無法找尋到此欄位的內容,可以將其設為此欄位本身的預設值”ffffffff”。
(2)Extent的大小:此欄位值與表頭中第一個要復原的欄位是相同的值。
(3)Extent的格式:格式可以分為sparse和flat,此欄位可以由Vmx與Log檔的檔名進行辨識。
(4)Extense的儲存檔名:此欄位亦可由Vmx檔及Log檔中發現。
完成這兩個復原動作後,映像檔大致上已經復原,可以進行分析的動作。
4. 若無法復原以及其他鑑識手法
若採用上述的方法,映像檔仍然無法恢復,鑑識人員還是必須對於映像檔進行metadata的採取及分析。此外,若虛擬機器是建置於Windows作業系統環境下,可以從註冊檔中找到A君在拍賣所使用的帳號和線索。
除了分析映像檔外,鑑識人員也必須針對Vmem檔進行分析,因為Vmem檔為虛擬機器中的記憶體,在分析Vmem檔時可以利用Compare VMware snapshots或是Memparser工具從記憶體中取得有用的資料,Memparser工具如圖6所示。
▲圖6 Memparser工具。
從虛擬機器中所鑑識出的資料,可提供鑑識人員推斷犯罪者的犯罪手法。同一台機器中,單一作業系統已經不是唯一的選擇。面對能夠多方執行作業系統的虛擬機器,鑑識人員必須了解運作狀態,進而選擇適當的鑑識方法。
結語
虛擬化技術在雲端技術廣泛的應用下更趨重要,對於犯罪者而言也是方便管理並且可以快速損毀證據的工具。虛擬機器雖然聽起來是透過模擬而產生的系統,但虛擬機器中模擬出的硬體確實是虛擬,但是存在於虛擬機器中的資料卻是實質上的證據。有時鑑識人員可能因為疏忽了虛擬機器而忽略掉重要的證據。鑑識人員在進行虛擬機器的數位鑑識時,必須對虛擬機器有一定的了解,才能夠在虛擬機器中取出更多有用的證據。
原文出處:中央警察大學資訊密碼暨建構實驗室(ICCL)
轉載自《網管人》
復原損毀VM映像檔 挑戰虛擬機器鑑識採證
邁入數位化時代,使用者若想在硬體資源有限情況下,滿足使用多種作業系統的需求,虛擬化技術是大部分使用者的選擇。但在電腦犯罪中,犯罪者也可能利用虛擬機器軟體建置多個虛擬主機進行非法活動,獲取不法利益。有鑑於此,在進行虛擬機器的鑑識工作前,除了基本的數位鑑識知識外,必須了解虛擬機器的架構,並知悉如何復原損壞的映像檔。
在科技進步的時代,硬體性能每隔一小段時間就提升許多,許多個人電腦及公司行號的主機都具有極佳的硬體配備。
對於企業而言,為了充分利用運作中主機或電腦的閒置資源,或者是減少硬體方面的花費,虛擬化技術是一個解決問題的好選擇,因為它可以用虛擬化技術模擬出另一台電腦,並在模擬出的電腦上建置作業系統,而運作方式又與實體系統沒有太大的差異。
因為前述的好處,虛擬機器已經被廣泛地使用。近期已出現利用虛擬機器進行犯罪的案例。虛擬機器的使用,讓犯罪者可以節省硬體方面的開銷,利用少數幾台主機就可達到模擬數十台主機的效果。
當犯罪行為完成後,數位跡證又可以快速地被銷毀,因此虛擬機器成為了犯罪者的犯罪工具。透過虛擬化技術的電腦犯罪行為,對於鑑識人員而言,與傳統電腦鑑識採證方法已有所差異。
就犯罪者向業者租用主機的情況下,鑑識人員除了不易追蹤犯罪者外,在採證方面亦須業者配合,造成取證的困難性。
另外,採用虛擬機器的犯罪,若是虛擬機器的相關資訊被刪除後,有可能造成鑑識人員忽略對虛擬機器進行查證的工作。而進行虛擬機器的鑑識工作需要了解虛擬機器的特性,例如面對損壞的映像檔,該如何獲取相關的犯罪跡證。
接下來,先介紹虛擬機器的相關背景,以及對於使用虛擬機器主機取證和復原損壞映像檔的方法。
虛擬機器如何運作
虛擬機器是虛擬化技術其中的一種工具,它可以在主機上或是終端伺服器與終端使用者之間透過虛擬化技術創造出一台虛擬的硬體機器,因為這個硬體並不是實際存在的,所以稱為虛擬機器。雖然稱為虛擬機器,但事實上虛擬機器中的資料是實際存在的。
簡而言之,可以將虛擬機器看成一種模擬器,利用主機既有硬體資源模擬出另一台主機的硬體規格,如同一台電腦。因此對於硬體效能較好的主機而言,可以模擬一個或多個的作業系統來進行作業,減少硬體成本。
目前使用虛擬機器大概有兩種目的,第一種是讓一部具備高效能硬體規格的主機負責多種任務。例如在一部主機上同時裝載多個作業系統,充分運用實體主機的所有資源。
第二種是同時使用多種不同的作業系統,目前市面上有Linux、Mac、Windows等作業系統。而作業系統又有各家的不同版本,對於使用者而言,若想切換多個作業系統,利用虛擬機器就不必重新啟動主機,直接做切換系統的動作。目前市面上有許多不同的虛擬機器軟體可以選用,例如VMware、Microsoft、Citrix等等。
如圖1所示,根據iThome 2011年調查的數據虛擬機器軟體的平台採用,以VMware市占率最高。而且VMware也是最早發展虛擬機器平台的公司,因此本文就以VMware為例進行虛擬機器的介紹。
▲圖1 虛擬化平台採用比例。
虛擬機器採行的架構
在了解虛擬化技術之前,有兩個名詞必須先了解,就是Host OS以及Guest OS,所謂的Host OS,就是安裝虛擬機器時運行虛擬機器軟體的作業系統,而Guest OS則是在虛擬機器軟體上安裝的作業系統。
例如,在原本的Windows XP系統下安裝了虛擬機器軟體,並且在虛擬機器軟體內安裝Linux作業系統,此時Windows XP即為Host OS,Linux則是Guest OS。但目前的虛擬化技術並不是所有的虛擬機器都必須具備Host OS。
因此,虛擬機器的虛擬化技術主要分為下述兩種:
1.寄宿架構
所謂的寄宿架構(Hosted Architecture)也稱為初期架構,使用虛擬化技術模擬虛擬的硬體和軟體,並將模擬出的軟、硬體架構於Host OS之上,形成一個在作業系統中存在另一個作業系統的架構。
如圖2左圖所示,虛擬機器軟體讓Host OS認為模擬出的硬體是一個應用程式,而虛擬機器層透過Host OS與實體硬體對話,進而使用硬體的資源。此種架構最大優點是硬體相容性高,只需要具備Host OS,就可以使用Guest OS。
▲圖2 虛擬機器目前採行的兩種架構:寄宿架構及裸金屬架構。
但此種架構的缺點是效能低,各虛擬機器層沒有獨立的硬體資源,一旦Host OS被攻擊的話,也會導致所有虛擬機器無法運作。VMware Workstation與Microsoft Virtual PC即採用此架構。
2. 裸金屬架構
裸金屬架構(Bare-metal Architecture)比起寄宿架構,是更進階的一種技術,此種架構不再需要透過Host OS與硬體對話,虛擬機器層直接運行在硬體上。
如圖2右圖所示,虛擬機器層直接接管所有硬體資源,並且每一個虛擬機器都有配置硬體資源。因此,在這樣的架構下,最大優點在於不同虛擬系統運作效能高,且任何一個Guest OS遭受攻擊或損壞,皆不會影響到其他的Guest OS。
不過,其缺點是硬體相容性低。因為硬體必須具備相對應的驅動程式才能將Hypervisor植入核心,因此使用限制較多,相容性相對而言較低。VMware ESX/ESXi、Microsoft Hyper-V以及Citrix Xen Server即是採用此種架構。
根據以上所提及的虛擬化技術,目前一般使用者多採用寄宿架構,而企業因為效能關係,則採用裸金屬架構。
VMware Workstation檔案說明
為了要更了解虛擬機器的運作,接下來會說明虛擬機器的檔案各自代表甚麼意義,並將透過不同的副檔名介紹各個檔案的功能,如此一來就能知道虛擬機器如何將本身模擬成一台電腦。
以下分別說明VMware Workstation內幾種主要的檔案:
Vmx檔
這是一個主要配置檔,記錄使用者對於虛擬機器的設定值。
Log檔
Log檔就像是一本日記簿,記錄著VMware Workstation的主要活動,當虛擬機器運作上發生問題時,可以查看先前的Log檔發生什麼問題。而Log檔也存放一些Vmx檔內沒有提及的訊息。
Vmsd檔、Vmsn檔及Vmss檔
在介紹這三個檔案前,必須先說明何謂「快照」。快照好比對著系統資料庫內的資料拍照,「快照」會將拍照時間點的資料記錄下來,若以後系統有所變動的時候,可以當成還原的依據,而Vmsd檔、Vmsn檔及Vmss檔則為儲存快照資訊和資料的檔案。
Vmsn檔可在使用者對虛擬機器進行快照時記錄當時虛擬機器運行狀態。因此,Vmsd與Vmsn兩者在虛擬機器中扮演著復原點的角色,而Vmss檔則記錄虛擬機器暫停時的狀態。
Vmdk檔
Vmdk檔在虛擬機器內的角色,就如同電腦中的硬碟。一個虛擬硬碟主要是由多個Vmdk檔組成,因此Vmdk檔內容都存放虛擬機器的資料。數位鑑識人員可以從裡面的資料找尋有無相關線索。
Vmem檔
相較於Vmdk為扮演虛擬硬碟的角色,Vmem則扮演虛擬機器中的記憶體角色。它記錄虛擬機器存放於記憶體的資料,並且只有當虛擬機器運行或是暫停狀態才會存在,同時它也擔任一個備份資料的角色。不過,當虛擬機器被終止運行時,就如同電腦被關機後揮發性記憶體資料會消失,此檔案也會被虛擬機器自動刪除。
以上所介紹的虛擬機器中的各種檔案,整理如表1以供比對。
表1 虛擬機器的各種檔案
案例情境說明
A君利用國內拍賣網站進行拍賣詐騙,並且盜取民眾交易資料,詐騙手法是以付款設定錯誤方式,使被害者重複匯款。
如圖3所示,A君有著資訊背景,為了節省成本及方便管理,他在兩台主機中利用VMware Workstation軟體掛載多個作業系統。
▲圖3 VMware Workstation運行Windows 8於Host OS下。
鑑識人員接獲被害者報案後,隨即追查拍賣網站的IP位址,而經過一連串的追蹤,得知A君主機所在地。到了擺放主機的現場,鑑識人員原本預計會有多台主機,但卻未料到只有兩台主機。
而此時,在現場的A君發現鑑識人員入內,為避免犯罪跡證被萃取,隨即打算刪除有關虛擬機器的檔案。雖鑑識人員立即阻止,但已有部分虛擬機器的檔案被A君刪除。
為了要找尋A君的犯罪證據,鑑識人員發現A君是採用虛擬機器犯案,因此必須針對虛擬機器內的資料進行鑑識。
由於A君利用虛擬機器進行犯案,鑑識人員需要判斷虛擬機器的狀況,才能選擇適當的數位鑑識工作流程,避免破壞數位證據。
虛擬機器聽起來似乎只是虛無飄渺的,但是A君犯罪的資料卻實際記錄於其中。為了蒐集到A君的犯罪證據,接著以四個鑑識步驟介紹虛擬機器的數位鑑識。
1. 分析虛擬機器類型及採用的虛擬化技術
在進行虛擬機器的數位鑑識時,首先必須知道主機上運行的虛擬機器軟體以及所使用的虛擬化技術。原因在於,目前市面上有許多不同的虛擬機器軟體,而每一種軟體都有其特性,鑑識人員依據軟體特性,決定鑑識方法。
了解A君是使用VMware的虛擬軟體後,立即對虛擬機器進行資料萃取和蒐集,例如遭刪除的資料、加密的檔案及其他活動紀錄檔。
由於虛擬機器檔案容量都很大,因此虛擬機器的檔案被刪除,並不會被丟進資源回收筒中,而是直接被系統直接刪除。所以,為了確保資料能夠完整萃取分析,鑑識人員需要進行映像檔的還原,並在映像檔中萃取數位跡證。
2. 虛擬機器上進行數位鑑識的方法
由於虛擬機器映像檔必須完整才可啟動虛擬機器,鑑識人員在進行虛擬機器的數位鑑識時,為了避免虛擬機器的資料遭受損害,應盡量採用現場蒐證鑑識法。
也就是,在主機仍在運行的情況下,進行資料的取證以及分析。如此一來,除了可取得揮發性記憶體中的資料外,也避免因為關機或系統重新啟動而失去一些重要的資料。
虛擬機器的數位鑑識方法有兩種,第一種是先依照鑑識作業流程,將電腦中的資料利用Encase或FTK等鑑識軟體完整拷貝成映像檔至鑑識硬碟內,並在之後對映像檔內容進行分析。
如圖4所示,對於虛擬機器的鑑識,要特別注意虛擬機器內相關的檔案。這些檔案含有重要的跡證資料,之後鑑識人員進行分析時也需要利用這些檔案重建虛擬機器。
▲圖4 VMware檔案及其檔案類型。
第二種方式是,虛擬機器藉由該軟體相關程式輸出成一個映像檔。之後再利用虛擬機器軟體載入此映像檔,直接透過鑑識工具進行資料的採集和分析。
3. 虛擬機器映像檔復原
由於A君在鑑識人員進入房間時,已經有做一些破壞的動作,因此鑑識人員進行映像檔的輸出或拷貝時發生映像檔損壞的情形,必須先檢視該映像檔是否可以進行復原。
在復原的方面,若是映像檔為SPARCE文件,在一定的損壞程度中,檔案是可以被復原的,SPARCE文件結構如圖5所示。復原的工作將分成下列的步驟:
▲圖5 SPARCE文件結構。
首先在表頭(Sparse header)部分,可以根據Vmx檔和Log檔的內容進行表頭的復原,因為表頭內主要都存放一些虛擬機器的設定值。
前面有提到Vmx檔主要記錄的是虛擬軟體的設定值,而Log檔則記錄一些主要的活動。因此若是設定值有所變更,也可以從Log檔內發現。
在進行表頭的復原中,主要有以下三個欄位:
(1)Extent的大小
(2)存放Metadata的Sector數量
(3)Grain資料夾的位置。其他欄位採用預設值即可。
完成表頭復原工作後,檢查SPARCE文件結構內的欄位是否有所損壞,若有損壞,則對以下欄位進行復原動作:
(1)CID及Parent CID:此欄位值可以從虛擬機器的快照中找到,也就是本文前段所提到的Vmsd檔、Vmsn檔及Vmss檔,若是沒有虛擬機器的快照,或是無法找尋到此欄位的內容,可以將其設為此欄位本身的預設值”ffffffff”。
(2)Extent的大小:此欄位值與表頭中第一個要復原的欄位是相同的值。
(3)Extent的格式:格式可以分為sparse和flat,此欄位可以由Vmx與Log檔的檔名進行辨識。
(4)Extense的儲存檔名:此欄位亦可由Vmx檔及Log檔中發現。
完成這兩個復原動作後,映像檔大致上已經復原,可以進行分析的動作。
4. 若無法復原以及其他鑑識手法
若採用上述的方法,映像檔仍然無法恢復,鑑識人員還是必須對於映像檔進行metadata的採取及分析。此外,若虛擬機器是建置於Windows作業系統環境下,可以從註冊檔中找到A君在拍賣所使用的帳號和線索。
除了分析映像檔外,鑑識人員也必須針對Vmem檔進行分析,因為Vmem檔為虛擬機器中的記憶體,在分析Vmem檔時可以利用Compare VMware snapshots或是Memparser工具從記憶體中取得有用的資料,Memparser工具如圖6所示。
▲圖6 Memparser工具。
從虛擬機器中所鑑識出的資料,可提供鑑識人員推斷犯罪者的犯罪手法。同一台機器中,單一作業系統已經不是唯一的選擇。面對能夠多方執行作業系統的虛擬機器,鑑識人員必須了解運作狀態,進而選擇適當的鑑識方法。
結語
虛擬化技術在雲端技術廣泛的應用下更趨重要,對於犯罪者而言也是方便管理並且可以快速損毀證據的工具。虛擬機器雖然聽起來是透過模擬而產生的系統,但虛擬機器中模擬出的硬體確實是虛擬,但是存在於虛擬機器中的資料卻是實質上的證據。有時鑑識人員可能因為疏忽了虛擬機器而忽略掉重要的證據。鑑識人員在進行虛擬機器的數位鑑識時,必須對虛擬機器有一定的了解,才能夠在虛擬機器中取出更多有用的證據。
原文出處:中央警察大學資訊密碼暨建構實驗室(ICCL)
轉載自《網管人》
2013-07-31
網路開機 Wake on Lan
網路開機 Wake on Lan
◎在Windows下,使用命令列網路開機
1.從Depicus下載WoL Command Line程式
2.解壓縮後得到WolCmd.exe
3.從命令列執行或是寫成批次擋執行
EX.
d:\wolcmd 001122334455 200.210.230.240 255.255.255.240
d:\wolcmd 00aabbccddee 10.0.0.254 255.255.255.0
Depicus官網: http://www.depicus.com/wake-on-lan/
Depicus下載: http://www.depicus.com/download.aspx?product=commandline
◎在Linux下,使用命令列網路開機
1.使用RPM安裝
rpm -ivh http://gsd.di.uminho.pt/jpo/software/wakeonlan/downloads/wakeonlan-0.41-0.fdr.1.noarch.rpm
2.執行 wakeonlan
EX.
一般喚醒
wakeonlan 00:11:22:33:44:99
指定IP跟PORT
wakeonlan -i 192.168.1.1 -p 7 00:11:22:33:44:99
官網: http://gsd.di.uminho.pt/jpo/software/wakeonlan/
◎在Windows下,使用命令列網路開機
1.從Depicus下載WoL Command Line程式
2.解壓縮後得到WolCmd.exe
3.從命令列執行或是寫成批次擋執行
EX.
d:\wolcmd 001122334455 200.210.230.240 255.255.255.240
d:\wolcmd 00aabbccddee 10.0.0.254 255.255.255.0
Depicus官網: http://www.depicus.com/wake-on-lan/
Depicus下載: http://www.depicus.com/download.aspx?product=commandline
◎在Linux下,使用命令列網路開機
1.使用RPM安裝
rpm -ivh http://gsd.di.uminho.pt/jpo/software/wakeonlan/downloads/wakeonlan-0.41-0.fdr.1.noarch.rpm
2.執行 wakeonlan
EX.
一般喚醒
wakeonlan 00:11:22:33:44:99
指定IP跟PORT
wakeonlan -i 192.168.1.1 -p 7 00:11:22:33:44:99
官網: http://gsd.di.uminho.pt/jpo/software/wakeonlan/
2013-01-29
公有雲服務市場 安全問題仍是重點
公有雲服務市場 安全問題仍是重點
隨著雲端運算技術及應用的普及,越來越多的企業開始導入相關應用,很多公司都已透過雲端應用提高工作效率,降低成本,也讓更多的企業持續尋找更多公有雲的相關應用,但同時也要面對與過去截然˙不同的IT管理模式。
Gartner研究總監Bryan Britz指出,公有雲服務將逐漸被非多數IT服務供應商所鎖定的市場採用,而公有雲服務在目前和未來也都將會影響企業在IT服務上的支出,特別是資料中心的部分,讓許多企業可望因此提高採用外部服務的費用。
公有雲服務加速IT委外支出
Gartner研究顯示,目前已有19%以上的企業,將大部分的生產運算改採雲端運算方式處理,更有兩成的企業已採用儲存即服務,作為全部或大部分儲存的解決方案,這也顯示公有雲的採用狀況,會隨著服務項目而異。
![]() |
| 因應公有雲的發展,IT管理者的角色勢必要有所轉變。DIGITIMES攝 |
除了IaaS正逐漸從風險較低的試行方案,逐步發展成生產環境,企業採用PaaS策略的重要性也越來越高。而SaaS的採用,特別是大型企業套裝應用程式中的SaaS,將提供IT服務供應商諮詢與執行服務的機會。Gartnet指出,企業改採SaaS,將過去僅考慮由內部部署的應用程式,轉至外部雲端系統執行,可望提高應用程式委外市場營收。
由於新興市場和中小企業客戶採用公共雲的意願增加,也讓企業開始考慮是否要使用更多已發展完善的IT服務,以協助處理非公有雲的工作量。公有雲服務在市佔領先的IT服務供應商所鎖定的傳統市場中亦逐漸成長,也已開始侵蝕傳統IT服務市場。
Bryan Britz指出,71%率先採用雲端服務的企業,希望提高終端用戶運算架構管理的外部服務費用。另外,70%最先採用服務的企業,則計畫要增加在應用程式發展的外部服務費,當中有許多企業是首次購買已發展完善的IT服務。
就資料中心服務而言,準備提高託管方面支出的企業,以及計畫提高資料中心架構管理相關支出的企業,皆代表客戶持續考慮採用資料中心服務市場所提供的不同執行服務模式與選擇性。對能直接或透過合作生態系統解決問題的供應商來說,機會是存在的。廣大的混合環境範圍,將在未來幾年逐漸擴及各大企業,但對專注傳統系統與傳統方法的供應商而言,則是危機重重。
企業IT管理者的角色將有轉變
但企業在導入公有雲的過程中,也勢必會遭遇一些管理問題,如關於資料安全性的風險、對於私密性和相容性的困擾等。事實上,企業必須通過長期的考察,然後才能決定是否使用公有雲服務,以保證能夠滿足企業對於安全性、相容性和常規保護性等方面的要求。
雖然企業可將較為敏感的應用程式,存放在私有雲中,包括企業資源規劃(ERP)、供應鏈管理和使用者應用程式等,但也會因此增加成本。因此,對計畫採用公有雲服務的公司而言,勢必要注重加密技術,攔截敏感性資料並將其隨機存放或進行強力加密,阻斷資料的竊取,以保證敏感性資料能控制在公司的手中,這樣就能直接滿足任何關於資料安全性、私密性和存放的問題。
Gartner指出,企業CIO(資訊長)及CTO(技術長)勢必要架構一個混合式的企業雲端環境,而隨著公有雲、私有雲的形態,加上企業員工攜帶個人裝置成為趨勢,企業CIO在2013年還需要考量企業本身的雲端策略,究竟那些資料可以放到雲端上頭,究竟要使用私有雲還是公有雲,兩者的利弊,也是令CIO決策時需要高度的智慧考量。
Gartner指出,未來將會有更多企業,透過自營的軟體商店提供員工行動應用程式,而因應企業軟體商店的興起,IT管理者的角色也將從集權式的規劃者,轉變成能夠提供用戶監管及經紀服務的市場管理者。
善用公有雲 發揮企業IT成效
為因應瞬息萬變的經營環境與業務需求,企業的 IT 運算架構必須彈性靈活,善用公有雲的資源搭配私有雲的運作,整合出可靠且穩定的 IT 應用環境已是大勢所趨,包括內稽內控、IT治理、標準作業流程、如何因應主管機關的稽核等課題,都必須加以關注,才能積極且有效管理雲端服務內容與水準,展現優異的成效。
轉載自《DIGITIMES中文網》
2013-01-28
密碼時代宣告終結,Google新加密技術Yubico推動安全升級
密碼時代宣告終結,Google新加密技術Yubico推動安全升級
過往,網路世界只需帳號密碼作為防護足以堪用,今日隨著雲端科技普及,人們開始把重要資訊如財務資料、文件、數據等一股腦往雲端送,眼看密碼時代即將畫下句點,Google新法寶Yubico也應運而生。
Wired記者杭南(Mat Honan)去年8月Gmail信箱遭駭客入侵,Twitter帳號被張貼種族歧視言論,駭客遠端控制刪除他在iPhone、iPad和筆電上整整花了一年時間儲存的電郵和照片等資料,這起資安悲劇讓人感受到密碼的脆弱,也催生新的加密技術。
Google在本月出刊的「IEEE安全和隱私科技雜誌」(IEEE Security and Privacy)中發表論文,表示傳統密碼過於脆弱易遭破解,未來加密技術將走向實體化,將認證資料嵌入到戒指或其他硬體裝置,輕觸感應或插入裝置即可安全不費力地存取資料。
Google安全部門副總葛羅瑟(Eric Grosse)與工程師烏帕德希雅(Mayank Upadhyay)在研究中表示,許多產業體認密碼或存在用戶端的辨識數據cookies已不再安全,因此不斷試驗多種可以取代目前技術的加密方式,加密卡Yubico就是其中之一。
用戶只需把此小型USB插入裝置就能讓瀏覽器自動登入Google,目前研發團隊已修改Google Chrome讓用戶方便使用,只要插入、註冊就可以用滑鼠輕鬆點擊操作。
未來,智慧型手機用戶的Yubico加密卡經過認證,即可作為線上帳戶或信箱的鑰匙,甚至還可能以無線技術簡化「上鎖」及「解鎖」手續,即使手機沒有通訊也只需要輕觸裝置便可驗證。不過,實體化就意味者有失竊風險,萬一丟失必須立即掛失停用。
此項技術普及面臨的第一項挑戰是需有足夠的網站對應,Google表示希望能與其他網站合作,並已經開發出獨立於Google的裝置認證協定,不需任何特定軟體就可執行,還可防止網站用認證技術追蹤使用者。
在技術普及前,用戶可先倚賴現有的TFA技術,也就是雙重認證方式,除帳號和密碼認證外,再透過第二種方式來驗證身分,可用指紋等生物特徵,或是經由撥打手機和傳送簡訊等方式,現在台灣有許多網站業者用此種方式確認客戶身分,雖然這種技術仍有不完美之處,但比只設密碼來得安全。
面臨密碼時代終結不必過於驚慌,只要善用現有的TFA技術,搭配其他安全措施,保持警戒不輕信來路不明網站,最後,耐心等待實體化認證技術問世吧!
轉載自《WIRED》
以SDN為基礎 打造商用網路虛擬化
以SDN為基礎 打造商用網路虛擬化
伺服器虛擬化以及雲端運算概念仍在持續發展中,近來更進一步朝向網路環境延伸,網路虛擬化(Network Virtualization)逐漸成為新一代資料中心的組成架構之一。
只是,一向強調穩定性與可用性的網路為什麼要被虛擬化?VMware網路虛擬化平台技術顧問陳建民解釋,對於欲實現雲端運算概念,以提供雲端服務的企業,像是多租戶(Multi-Tenancy)的應用,傳統網路架構已不足以因應,開始出現瓶頸。「相信很少人遭遇過Layer 2 VLAN的可配置上限。在傳統網路部署環境中,可用VLAN的上限是4,094個ID,然而,這對於以雲端運算服務為業務核心的資料中心而言,是遠遠不夠的。」
以現在的技術來看,可能會採用VLAN的Trunking來解決,但接下來卻會面臨Trunking打通後,全部的網路設備不論是否為所屬管轄範圍,皆必須要彼此同步學習訊息,很快的就會造成存放MAC位址的TCAM記憶體發生Overflow,導致網路出現不穩定的狀況,即使是TCAM被加大仍有其應用上限。而近年來被稱為是新一代網路架構的軟體定義網路(Software Defined Network,SDN),即可讓VLAN數量不足等問題獲得解決,因為SDN架構本身就已具備橫向擴展(Scale-Out)、大量部署的能力。
OpenFlow潛在瓶頸
SDN這個透過軟體來定義的網路環境,實現方式是由控制器(Controller)來定義運作程序,再發佈到交換器依據指示來執行,因此架構上需具備兩個基本組件:控制器軟體安裝在x86平台,以及可支援OpenFlow協定的交換器(或稱為Edge端)。
陳建民提到,目前市場上已有許多廠商提供控制器軟體,包括Big Switch、NEC、HP,以及剛被VMware買下的Nicira。而交換器只要可支援主流協定OpenFlow,即可跟控制器溝通,讓SDN架構開始運作。
![]() |
| ▲OpenFlow的兩種運作模式:Hop-by-hop與Overlay,其中Overlay透過建立Layer 2 over Layer 3通道,取代Hop-by-hop以VLAN為基礎的傳輸。(資料來源:NTT Technical Review) |
OpenFlow是一個基於Layer 2運作的開放標準協定,將封包傳送的路徑稱為Flow。目前被區分為Hop-by-hop與Overlay(又稱Network Hypervisor)兩種模式。陳建民解釋,Hop-by-hop是OpenFlow最早採用的模式,每當OpenFlow交換器收到一個新的Flow產生時,必須把每一個新的Flow的第一個封包(Packet)發給控制器,再由控制器去指示交換器應有的動作,如此來回,控制器必須要去承受資料流的壓力,較容易造成效能瓶頸。因為控制器在SDN架構中的角色只是一個軟體處理程序,而不是一個硬體,就算是被設計成交換器的高速硬體式架構,但由於全部資料流都得經過它,不僅要解析封包、發佈,還要做修正,都得依賴CPU進行,若規模小的架構還可行,但若是大型資料中心則很容易就不堪負荷。
此外,Hop-by-hop運作模式下還會存在擴充方面的問題,就算控制器本身具備叢集(Cluster)能力,伴隨著網路逐漸增大,相對所承受的流量壓力也會變重。「因此企業運作環境要導入這種新興技術,除了交換器全部要改成可支援OpenFlow才可運作,另一個隱憂即是效能瓶頸問題。有一個較具指標性的觀察,就是全球企業營運環境,應該還找不到採用Hop-by-hop模式的SDN架構,至今仍是學術研究階段。」陳建民觀察。
可商轉Overlay模式
OpenFlow的另外一種Overlay模式,也是Nicira採用的方式,配置上的差異在於Edge端的交換器可以是傳統硬體設備或軟體式,而軟體式即為Nicira自行研發的OVS(Open vSwitch)。OVS是Nicira主導的開放原始碼專案,像是KVM、Xen等開放平台皆有提供支援,因為這些平台缺乏網路的堆疊(Stack),無法提供較進階的網路功能,因此OVS即可讓這些開放平台也可以做到類似傳統交換器的功能。
而OVS區分為開放原始碼版與商業版,Nicira中採用的OVS即是商業版,當中包含VMware針對驅動層、運算資源等方面的強化,以及技術支援,才能確保企業運用環境的穩定度。在Nicira架構中的OVS,並不只是一個軟體式交換器裝在Hypervisor上,而是一個混合型,也就是同時可擔任OpenFlow的代理程式。
安裝在Hypervisor上的OVS,具有標準交換器與OpenFlow Agent功能,目前支援VMware的VSA(vSphere Storage Appliance)、Citrix XenServer、KVM等虛擬化技術。一旦有新增加的虛擬主機產生,OVS會自動通知控制器,因此控制器所用來記錄的OpenFlow路由表(Flow Table)中,就會增加這一筆資料。若要去定義這些網路,只要透過API指令,控制器就會從資料庫中建立SDN架構的條件。
用VXLAN串聯網路層
陳建民舉例,在交換器資料表記載Network Virtualization 1有VM1與VM3虛擬主機,Network Virtualization 2有VM2,該紀錄會回報給控制器,以便IT人員根據現有的資源去定義網路,可能Network Virtualization 1含有安全、QoS控管政策、Network Virtualization 2則只有一般Layer2/Layer3政策而已。定義完成後,控制器會發佈到每一個OVS,於是在OVS中就會擁有各自的資料表,之後就可以根據這份資料表的規則,去建立Layer 2 over Layer 3通道(Tunnel),透過VXLAN(Virtual Extensible LAN)協定,未來在Layer 3還可進一步串起生態系統,像是防火牆、網路安全設備等廠商,即可在IP環境中的任何位置交換彼此的訊息。
如此一來,以後任何新產生的Flow,不需要再回報控制器,只有當新的虛擬主機產生時,才會跟控制器通報以存入OpenFlow路由表,但虛擬主機要不要啟用網路、如何應用,則是依據IT人員給予定義才會有作用。至於控制器本身則採用平行運算,叢集(Cluster)機制是三台Active/Active架構,來維持網路運作的穩定性。
「這也就是Nicira得以商業化,且在全球已經有應用案例的重要因素。為了實現SDN概念,Nicira花了四年研發Overlay的運作模式,所提供的並非是傳統網路硬體,而是網路作業系統,而這也就是VMware肯花12.6億美金買下Nicira的主因。」陳建民強調。
就實務面來看SDN架構,現階段除非像是電信等級的資料中心才能發揮其效益,目前距離多數企業的應用環境還很遙遠,但畢竟是多數網路解決方案供應商未來的發展方向,仍舊值得持續關注。
轉載自《網管人》
私有雲五大錯誤觀念
私有雲五大錯誤觀念
不斷炒作私有雲運算讓人對私有雲產生誤解,為減少市場炒作並且協助企業IT主管找出私有雲運算的真正價值,Gartner提出以下對私有雲的五大常見錯誤觀念,以及相對真實的情況。
虛擬化與虛擬化管理滲透率的快速升高、雲端運算服務的增多,以及促使IT更快運作與較低IT成本的壓力,皆將帶動私有雲運算的成長。然而,在急於因應上述壓力之際,企業IT單位宜小心提防炒作,相反地,應將焦點放在最具商業意義的私有雲成效。 不斷炒作私有雲運算,讓人對私有雲產生誤解,為減少市場炒作,並且協助企業IT主管找出私有雲運算的真正價值,Gartner提出以下對私有雲的五大常見錯誤觀念,以及相對真實的情況。
私有雲並非虛擬化
伺服器和架構虛擬化是私有雲端運算的重要基礎,但虛擬化和虛擬化管理本身卻非私有雲運算。虛擬化有助更輕鬆地以動態的和精密的方式來匯集和重新配置架構資源(伺服器、桌上型電腦、儲存裝置、網路和中介媒體等)。
不過,虛擬化可透過許多方式展開,包括虛擬機器、作業系統、中介媒體組件系統、功能強大的作業系統、儲存抽象軟體、網格運算軟體,以及水平式擴充(Horizontal scaling)與群組(Cluster)工具。
私有雲運算利用了虛擬化的部分形式來創造雲端運算服務。私有雲運算是雲端運算的一種方式,僅可被單一企業所使用,或確保企業能完全與其他企業區隔開。
私有雲不僅與降低成本有關
企業可透過私有雲減少標準服務所提供常見和死板的任務,達到減少營運成本的目的。私有雲可更有效地對資源進行重新配置,以符合企業需求,也可望降低企業在硬體設備上的資本支出。
然而,企業需要投資自動化軟體以使用私有雲服務,而省下的費用或許不盡然能因應支出。因此,降低成本並非私有雲端運算的主要的好處。
自助服務介面和使用計量背後的自助服務自動化所帶來的主要好處包括敏捷度、上市的速度、衡量動態需求或追求難得機會的能力,以及讓企業單位進行實驗的能力。
私有雲不盡然是就地部署(on-premises)
私有雲運算是依「隱私」來定義的,而非根據位置、所有權或管理責任所定義的。當大多數的私有雲被就地部署(根據現有虛擬化投資的發展情況)時,就會有愈來愈高比例的私有雲服務會被外包出去,和/或進行遠端部署(off-premises)。
第三方私有雲將更加彈性定義「隱私」。第三方私有雲服務,或許須和其他企業共享資料中心設施,並在經過一段時日後與其他企業分享設備(從可取得的資料庫來進行分享)、分享資源,但能被卻隔離於虛擬私有網路(VPN)以及之間的一切。
私有雲並非僅是架構即服務(IaaS)
伺服器虛擬化是一大趨勢,因此也是私有雲端運算的主要促成因素。不過,私有雲不限於IaaS的任何形式。例如,相較於簡單的虛擬機器供應服務,開發與測試服務使得為開發商推出高階的平台即服務(PaaS)產品更具意義。
目前在雲端運算中成長最快的便是IaaS。不過,IaaS僅以便利的方式來提供最低層級的資料庫資源,而不會大幅修改IT單位處理的方式。
開發商可用PaaS來開發專門針對雲端感知(Cloud-aware)設計的新應用程式,並提供不同於舊有應用程式的全新服務。
私有雲並非永遠私有
在許多方面私有雲僅係權宜之計。假以時日,公共雲服務會日臻成熟,提升服務層級、安全與法律遵循管理。因應特定需求的新公共雲服務將應運而生,部分私有雲將完全移至公有雲。
然而,大多數的私有雲服務將逐漸催生混合式的雲端運算,並擴大私有雲的有效容量以運用公有雲服務和第三方資源。
IT部門可從私有雲出發,將自己定位成企業所有服務的中間人,無論是私有、公有、混合,或是傳統服務的中間人。
私有雲日後會逐漸發展成混合雲、甚或是公共雲,可保留自助服務、客戶,和介面的所有權,我們稱之為「混合式IT」,這是未來IT部門的願景之一。
本文作者現任Gartner副總裁
轉載自《網管人》不及格網管
2013-01-14
HTML 5功能定案,2014年完成標準制定
HTML 5功能定案,2014年完成標準制定
負責制定網際網路標準的W3C網際網路聯盟於去年12月17日時宣布,雖然還未完成標準制定程序,耗時3年討論的HTML 5和繪圖用的Canvas 2D相關語法定義已經完成,這也意味著,企業和開發者可以有一個穩定的HTML 5版本可用。
近3年來,IE、Firefox、Chrome或Safari瀏覽器均宣稱能支援HTML 5標準,但因HTML 5標準尚未定案,導致各家瀏覽器的支援程度不一,造成開發者撰寫網頁程式時,仍須避用支援度較低的語法,或得為不同瀏覽器的支援情形撰寫不同的程式碼。HTML 5定義的完成,也意味著網頁製作將有一套共通的基本語法。
W3C預定在2014年完成HTML 5的標準制定工作,這也將是眾多瀏覽器要完整支援HTML 5的時間。同時,W3C也提出了下一代HTML 5.1版的第一個草案版本,以及Canvas 2D的第二版。
新版將聚焦於強化現有HTML 5的功能,例如強化可用性機制,強化照片動態調整機制,或可依網路頻寬自動調整影音畫質的串流調適技術等。文⊙王宏仁
轉載自《iThome》
![]() |
| 因HTML 5標準尚未定案,導致各家瀏覽器的支援程度不一,而負責制定網際網路標準的W3C網際網路聯盟,預定在2014年完成HTML 5的標準制定工作。 |
負責制定網際網路標準的W3C網際網路聯盟於去年12月17日時宣布,雖然還未完成標準制定程序,耗時3年討論的HTML 5和繪圖用的Canvas 2D相關語法定義已經完成,這也意味著,企業和開發者可以有一個穩定的HTML 5版本可用。
近3年來,IE、Firefox、Chrome或Safari瀏覽器均宣稱能支援HTML 5標準,但因HTML 5標準尚未定案,導致各家瀏覽器的支援程度不一,造成開發者撰寫網頁程式時,仍須避用支援度較低的語法,或得為不同瀏覽器的支援情形撰寫不同的程式碼。HTML 5定義的完成,也意味著網頁製作將有一套共通的基本語法。
W3C預定在2014年完成HTML 5的標準制定工作,這也將是眾多瀏覽器要完整支援HTML 5的時間。同時,W3C也提出了下一代HTML 5.1版的第一個草案版本,以及Canvas 2D的第二版。
新版將聚焦於強化現有HTML 5的功能,例如強化可用性機制,強化照片動態調整機制,或可依網路頻寬自動調整影音畫質的串流調適技術等。文⊙王宏仁
轉載自《iThome》
2012-12-27
破譯瀏覽器紀錄檔,從URL編碼還原網路使用證據。
破譯瀏覽器紀錄檔,從URL編碼還原網路使用證據。
現今犯罪者會透過網路進行犯罪手法的分享以及收集相關背景知識,如果鑑識人員能夠掌握犯罪者所搜尋的關鍵字,對於證明犯罪者涉案的動機與證據將有所幫助。不過,市面上網頁瀏覽器的種類繁多,各種瀏覽器所產生的URL碼皆不相同,而且還有亂碼問題,因而造成鑑識人員辨析上的困難。為此,本文將探討URL碼組成元素及URL碼的編碼方式,了解網址列中的URL亂碼問題。
搜尋引擎提供現今網路大眾平台上所需的功能,舉凡Yahoo奇摩、Google、Findbook等網路平台上,皆有附上搜尋引擎的服務,以吸引使用者造訪自己的網站。
當使用者輸入關鍵字時,搜尋引擎會依此關鍵字在網路中搜尋網頁並且過濾資訊,列出符合使用者可能需要的內容,使用者透過點選瀏覽清單中的網頁來選取瀏覽。而所瀏覽的網頁資訊會自動地被伺服端及本地端電腦儲存,如文字檔、Cookies、網頁表單。
這些紀錄檔記錄著使用者的網路活動,使用者在搜尋引擎所鍵入的關鍵字,在網路紀錄檔是以URL碼方式儲存,如奇摩搜尋引擎搜尋information時,將記錄成「http://tw.search.yahoo.com/search?p=information&fr=yfp&ei=utf-8&v=0」。
但很特別地,非英語系國家的文字,如日文、中文、韓文,URL碼會變成由看似亂數所組成的一串亂碼,無法得知使用者搜尋的資訊。為了解亂碼問題,必須探討URL編碼方式以及各瀏覽器關鍵字搜尋URL碼的編碼方法,並分析鑑識工具如何還原URL搜尋字串。
網路資料搜尋
網路資料是豐富且方便的,所以在需要查詢資料時,網路往往是優先搜尋資料的來源選項。透過搜尋引擎平台上的關鍵字搜尋服務,使用者可以立即找到相關的資料,並透過點選網頁進一步瀏覽確認內容。
網路中充滿多樣性的資源,如語言教育、旅遊、社群交友等,從中可獲取許多資料幫助學習,但有些非法人士卻利用網路進行犯罪,在網路中搜尋敏感性的資訊,獲取非法利益,例如他人信用卡卡號或毒品製作方法。
經由關鍵字搜尋進行的犯罪活動,鑑識人員可從網路紀錄檔中萃取URL碼,藉由URL碼來還原非法人士的網路歷史紀錄,確定犯罪行為。但是,URL碼因各國的編碼不同而使得HTTP URL的儲存情形呈現亂碼,因此URL的亂碼問題會出現在非英語系國家中,而英語系國家則不會有問題。
網頁容許各式各樣的編碼,如Big5、Unicode,所以非英語系國家會發展出屬於自己國家的編碼系統。但依據RFC 1738的規定,URL的內容只能出現部分ASCII碼,非英文的文字會被編碼成16進位數字。
如此一來,鑑識人員在URL的紀錄中將無法直接觀察出使用者所搜尋的字串,若要了解原始文字,必須透過反編碼方能解譯。
由於鑑識人員從網路紀錄中萃取的搜尋字串URL多呈現亂碼現象,所以還必須正確地解譯URL碼,了解URL編碼及其在不同瀏覽環境下的編碼方式,才能進一步地將搜尋字串還原。
何謂URL
使用者在瀏覽器的網址搜尋列中所鍵入的網址,即是統一資源定位符(Uniform/Universal Resource Locator,URL)。每一列URL碼代表著網頁位址,當鍵入網址URL碼時,瀏覽器便會將網址轉譯成IP再連線至網站,與此網址的遠端伺服器連線溝通。
而網路中每一筆網頁資料都有位置,所以要在網路世界搜尋資料,連線到資料所屬網站的網址是非常重要的步驟。
統一資源定位符最初是由蒂姆.?伯納斯-李(Tim Berners-Lee)發明,作為全球資訊網(WWW)的地址,它使用ASCII代碼的一部分來表示網際網路的地址。
目前全球資訊網聯盟已將URL編製為網際網路標準RFC1738,是網際網路上標準的資源地址(Address),URL編寫有一定的規則,它的組成元素依序為「協定類型://伺服器地址(必要時須加上埠號)/路徑/文件名」,標準格式如圖1所示:
以「http://www.google.com/search?hl=en&source=hp&q=forensic&aq=f&oq=&aqi=g10」為例,它為Google搜尋引擎所搜尋的URL碼,其變數為q,而「forensic」為所搜尋的字串,如圖2所示。
配合圖2的例子,說明HTTP協定的統一資源定位符的五個基本元素,如下所列:
1. 傳送協定,如http、https(傳送資料時加密)、ftp。
2. 伺服器,例如www.google.com、www.yahoo.com等。
3. 埠號:以數字方式表示,如HTTP的埠號預設值為80,通常埠號可被省略。
4. 路徑:以「/」字元區別路徑中的每一個目錄的名稱。
5. 查詢:GET模式的表單參數,以「?」字元為起點,而每個參數之間以「&」隔開,「=」符號則區隔資料與參數名稱,如「q=forensic」。查詢的URL編碼通常以UTF-8為主,以避開字元衝突的問題。
URL編碼簡介
URL碼是連結網頁的媒介,但在網路引擎內所鍵入的關鍵字,在搜尋列上時常會呈現亂碼,此情形的發生,相關因素如下:
1. 網路允許不一樣的編碼方式,但因依據RFC 1738的規定,URL的內容只能出現部分的ASCII碼。
2. 沒有任何標準來規範網頁資料與後端伺服器之間應該如何編碼,造成資料格式在程式介面之間的轉換混亂。所以當使用者在搜尋引擎上,雖然輸入同一字串,但URL碼會依據作業系統、預設語系、瀏覽器的不同而顯現出不同的編碼結果。
一般常見的中文編碼分為繁體與簡體,Big5為繁體編碼、GB為簡體中文編碼,這兩種編碼無法彼此相容,所以當電子郵件以Big5為編碼方式傳送出去後,如果對方不是使用相同的編碼方式閱讀信件(例如採用GB碼),郵件內容就會出現亂碼。
這是因為原先以Big5編碼的文字,對應到GB碼時,因為格式不同,無法正確對應出原來的文字,這時就會出現怪字,或是一堆看不懂的符號。
同樣地,瀏覽國外的網站也可能發生同樣的狀況,當編碼方式無法對應時,就可能會看到一堆亂碼,這就是編碼沒辦法相容的緣故。
中文編碼並非ASCII碼,當中文網頁於伺服器與客戶端間傳輸時,勢必要經過一番處理,變成ASCII碼才能傳輸,以下為URL編碼實際例子。
在Google Chrome瀏覽器中,以Google為搜尋引擎,輸入「美國牛」,其產生的URL碼如表1所示:
瀏覽器發送URL編碼的區別
因為URL編碼無標準規範網頁,造成同一組字串在不同瀏覽器中,卻顯現不同的URL,以下就以市占率前三名的瀏覽器IE、Firefox、Chrome來介紹編碼的差異性。
Internet Explorer(IE)
IE為微軟所設計的瀏覽器,一般使用者購買Windows作業系統,就會附上Internet Explorer的內建瀏覽器,由於微軟作業系統市占率高,因而帶動了IE的高使用率。
IE將URL記錄在index.dat,它是具有隱藏性的檔案,儲存使用者的Cookies、Web History,其預設儲存路徑彙整如表2。
利用IE瀏覽器,在搜尋引擎輸入「毒品」,然後察看URL編碼情形,如圖3所示。而圖3上方框內的字串「%E6%AF%92%E5%93%81」為關鍵字毒品經過UTF-8編碼方式而成。
Mozilla Firefox
Firefox瀏覽器是Mozilla基金會從Mozilla Application Suite獨立出來採用開放原始碼與全球網路社群共同開發的網頁瀏覽器。而Firefox於3.0版本後,使用SQLite儲存資料,如Bookmarks、Cookies、瀏覽紀錄等。
透過SQLite Viewer可查看Firefox網路紀錄檔的內容,表3是紀錄檔預設路徑。而Firefox的URL紀錄儲存在places.sqlite表單內。與IE相同,也在Google搜尋引擎內輸入「毒品」察看URL編碼情形,如圖4所示。
很奧妙的是,在搜尋列上觀察到變數q後面所出現的參數為「毒品」,這與IE不同。針對此差異的發生,這裡利用Firefox瀏覽器選項功能列中的語言及字元編碼察看其編碼方式,如圖5所示。
讀者可能發現Firefox與IE的編碼方式其實是相同的,依然為UTF-8,但為何Firefox的搜尋列中URL所顯示的字串為「毒品」。探究其原因,在於這串URL是給使用者自己看的,並非是傳給伺服器,所以將字串傳輸出去時,仍然會是「%E6%AF%92%E5% 93%81」。
Google Chrome
Chrome是由Google開發的網頁瀏覽器。「Chrome」是化學元素「鉻」的英文名稱,其程式碼是基於其他開放原始碼軟體所撰寫,包括WebKit和Mozilla,Google Chrome的整體發展目標是提升穩定性、速度和安全性,並創造出簡單且有效率的用戶介面。
Google Chome紀錄檔存放路徑彙整如表4所示,URL則記錄在History表單內。與前兩個瀏覽器相同,在Google搜尋引擎內輸入「毒品」時,如圖6所示,其URL編碼為「%E6%AF%92%E5%93%81」。
由此可以發現,各個瀏覽器都有屬於自己的編碼方式,從IE、Firefox及Google Chrome所顯示的URL搜尋字串及參數資料可以觀察得到,在Firefox中甚至以中文明碼顯示。
但這是瀏覽器所顯示的URL編碼,並非遠端伺服器所了解的,所以當瀏覽器傳送查詢字串時,仍會轉換成16進位編碼,如本例中的「毒品」。
案例說明
甲君為破獲台灣北部販毒集團於供毒名單中的一員,由於線索明確,執法單位人員遂往甲君的住處逕行搜索。
在甲君的住處並沒有發現有關的毒品,但是卻發現數量極多的感冒藥、化學器材以及一台電腦,這引起了注意,因感冒藥可用來提煉安非他命。安非他命屬於中樞神經興奮劑,吸食之後會產生幻覺,屬於第二級毒品。
鑑識人員在甲君所使用的電腦硬碟進行初步分析,並未發現有關毒品製造的文檔資料,轉而朝網路紀錄著手,察看其上網紀錄。
甲君所使用的瀏覽器為Google Chrome,於是鑑識人員便透過鑑識工具ChromeAnalysis Plus將甲君的網路紀錄萃取出,並進行分析,以下為鑑識取證的過程:
步驟一:將甲君的硬碟做位元串流拷貝
首先,鑑識人員利用位元串流拷貝(Bit Stream Copy)技術將硬碟進行完整備份,目的是為了避免人員存取到硬碟,影響到數位證據的完整性。
步驟二:開啟ChromeAnalysis Plus並載入Google Chrome紀錄檔
開啟Chrome Analysis後,新建一個案例並將要萃取的網路紀錄路徑指向「C:\Users\<使用者名稱>\AppData\Local\Google\Chrome\User Data\Default」,如圖7所示,而圖8為甲君的上網紀錄。
常瀏覽的網站等。從網路紀錄中發現,甲君有每天上網的習慣,並會利用Google搜尋引擎查詢資訊。
開始便無記錄,因此懷疑部分網路紀錄可能已遭刪除,因此嘗試以FTK Imager進行Logical Drive萃取。鑑識結果發現有幾項以透過Google搜尋片斷的URL碼(圖9)。
從圖9中可觀察出,甲君使用Google搜尋引擎來進行資料的蒐集,URL為「http://www.google.com/webhp?source=search_app#hl=zhTW&site=webhp&source=hp&q=%E5%AE%89%E9%9D%9E%E4%BB%96%E5%91%BD」,變數q後的參數為搜尋字串,但因編碼問題造成字串顯示為「%E5%AE%89%E9%9D%9E%E4%BB%96%E5%91%BD」的亂碼。
鑑識人員將此段URL碼輸入反編碼的編輯器內,獲得「安非他命」的文字,如圖10所示。接著,其他搜尋字串URL經反編碼後得到「安非他命的化學元素」、「安非他命製造器材」以及「感冒藥提煉」等文字字串,這些資訊顯示甲君男利用網路搜尋安非他命的化學組成,並獲取感冒藥提煉安排他命的方法。由於這些數位證據,使得甲君所宣稱無製毒意圖和能力的證詞出現矛盾,甲君涉及製毒的可能性非常高。
結語
非英語系國家所使用的文字(非ASCII),在輸入搜尋引擎後會因編碼關係而造成亂碼,使得鑑識人員不易辨識搜尋字串。此案例中,雖然網路紀錄的URL亂碼利用鑑識工具成功地將搜尋字串還原,但必須思考的是,鑑識工具無法支援每一種瀏覽器,遇到此種情形時,將對鑑識人員造成莫大的困擾。
瀏覽器都有屬於各自的編碼方式,並無一定規範,但卻有一定的規則,例如各參數執行、字串的編碼及位元組以「%」符號作區隔,透過此規則,可以從網路紀錄中擷取片斷的URL資料,再經過URL反編碼轉譯還原字串。
如本例中,鑑識人員利用FTK Imager進行Logical Drive萃取片斷的URL搜尋字串,再執行反編碼。因此,鑑識人員在進行網路紀錄分析時,需考慮編碼問題,方不至於漏掉內含重要訊息的數位證據。
中央警察大學資訊密碼暨建構實驗室(ICCL)
轉載自《網管人》
現今犯罪者會透過網路進行犯罪手法的分享以及收集相關背景知識,如果鑑識人員能夠掌握犯罪者所搜尋的關鍵字,對於證明犯罪者涉案的動機與證據將有所幫助。不過,市面上網頁瀏覽器的種類繁多,各種瀏覽器所產生的URL碼皆不相同,而且還有亂碼問題,因而造成鑑識人員辨析上的困難。為此,本文將探討URL碼組成元素及URL碼的編碼方式,了解網址列中的URL亂碼問題。
搜尋引擎提供現今網路大眾平台上所需的功能,舉凡Yahoo奇摩、Google、Findbook等網路平台上,皆有附上搜尋引擎的服務,以吸引使用者造訪自己的網站。
當使用者輸入關鍵字時,搜尋引擎會依此關鍵字在網路中搜尋網頁並且過濾資訊,列出符合使用者可能需要的內容,使用者透過點選瀏覽清單中的網頁來選取瀏覽。而所瀏覽的網頁資訊會自動地被伺服端及本地端電腦儲存,如文字檔、Cookies、網頁表單。
這些紀錄檔記錄著使用者的網路活動,使用者在搜尋引擎所鍵入的關鍵字,在網路紀錄檔是以URL碼方式儲存,如奇摩搜尋引擎搜尋information時,將記錄成「http://tw.search.yahoo.com/search?p=information&fr=yfp&ei=utf-8&v=0」。
但很特別地,非英語系國家的文字,如日文、中文、韓文,URL碼會變成由看似亂數所組成的一串亂碼,無法得知使用者搜尋的資訊。為了解亂碼問題,必須探討URL編碼方式以及各瀏覽器關鍵字搜尋URL碼的編碼方法,並分析鑑識工具如何還原URL搜尋字串。
網路資料搜尋
網路資料是豐富且方便的,所以在需要查詢資料時,網路往往是優先搜尋資料的來源選項。透過搜尋引擎平台上的關鍵字搜尋服務,使用者可以立即找到相關的資料,並透過點選網頁進一步瀏覽確認內容。
網路中充滿多樣性的資源,如語言教育、旅遊、社群交友等,從中可獲取許多資料幫助學習,但有些非法人士卻利用網路進行犯罪,在網路中搜尋敏感性的資訊,獲取非法利益,例如他人信用卡卡號或毒品製作方法。
經由關鍵字搜尋進行的犯罪活動,鑑識人員可從網路紀錄檔中萃取URL碼,藉由URL碼來還原非法人士的網路歷史紀錄,確定犯罪行為。但是,URL碼因各國的編碼不同而使得HTTP URL的儲存情形呈現亂碼,因此URL的亂碼問題會出現在非英語系國家中,而英語系國家則不會有問題。
網頁容許各式各樣的編碼,如Big5、Unicode,所以非英語系國家會發展出屬於自己國家的編碼系統。但依據RFC 1738的規定,URL的內容只能出現部分ASCII碼,非英文的文字會被編碼成16進位數字。
如此一來,鑑識人員在URL的紀錄中將無法直接觀察出使用者所搜尋的字串,若要了解原始文字,必須透過反編碼方能解譯。
由於鑑識人員從網路紀錄中萃取的搜尋字串URL多呈現亂碼現象,所以還必須正確地解譯URL碼,了解URL編碼及其在不同瀏覽環境下的編碼方式,才能進一步地將搜尋字串還原。
何謂URL
使用者在瀏覽器的網址搜尋列中所鍵入的網址,即是統一資源定位符(Uniform/Universal Resource Locator,URL)。每一列URL碼代表著網頁位址,當鍵入網址URL碼時,瀏覽器便會將網址轉譯成IP再連線至網站,與此網址的遠端伺服器連線溝通。
而網路中每一筆網頁資料都有位置,所以要在網路世界搜尋資料,連線到資料所屬網站的網址是非常重要的步驟。
統一資源定位符最初是由蒂姆.?伯納斯-李(Tim Berners-Lee)發明,作為全球資訊網(WWW)的地址,它使用ASCII代碼的一部分來表示網際網路的地址。
目前全球資訊網聯盟已將URL編製為網際網路標準RFC1738,是網際網路上標準的資源地址(Address),URL編寫有一定的規則,它的組成元素依序為「協定類型://伺服器地址(必要時須加上埠號)/路徑/文件名」,標準格式如圖1所示:
![]() |
| ▲圖1 統一資源定位符格式。 |
以「http://www.google.com/search?hl=en&source=hp&q=forensic&aq=f&oq=&aqi=g10」為例,它為Google搜尋引擎所搜尋的URL碼,其變數為q,而「forensic」為所搜尋的字串,如圖2所示。
![]() |
| ▲圖2 Google搜尋引擎搜尋「forensic」。 |
配合圖2的例子,說明HTTP協定的統一資源定位符的五個基本元素,如下所列:
1. 傳送協定,如http、https(傳送資料時加密)、ftp。
2. 伺服器,例如www.google.com、www.yahoo.com等。
3. 埠號:以數字方式表示,如HTTP的埠號預設值為80,通常埠號可被省略。
4. 路徑:以「/」字元區別路徑中的每一個目錄的名稱。
5. 查詢:GET模式的表單參數,以「?」字元為起點,而每個參數之間以「&」隔開,「=」符號則區隔資料與參數名稱,如「q=forensic」。查詢的URL編碼通常以UTF-8為主,以避開字元衝突的問題。
URL編碼簡介
URL碼是連結網頁的媒介,但在網路引擎內所鍵入的關鍵字,在搜尋列上時常會呈現亂碼,此情形的發生,相關因素如下:
1. 網路允許不一樣的編碼方式,但因依據RFC 1738的規定,URL的內容只能出現部分的ASCII碼。
2. 沒有任何標準來規範網頁資料與後端伺服器之間應該如何編碼,造成資料格式在程式介面之間的轉換混亂。所以當使用者在搜尋引擎上,雖然輸入同一字串,但URL碼會依據作業系統、預設語系、瀏覽器的不同而顯現出不同的編碼結果。
一般常見的中文編碼分為繁體與簡體,Big5為繁體編碼、GB為簡體中文編碼,這兩種編碼無法彼此相容,所以當電子郵件以Big5為編碼方式傳送出去後,如果對方不是使用相同的編碼方式閱讀信件(例如採用GB碼),郵件內容就會出現亂碼。
這是因為原先以Big5編碼的文字,對應到GB碼時,因為格式不同,無法正確對應出原來的文字,這時就會出現怪字,或是一堆看不懂的符號。
同樣地,瀏覽國外的網站也可能發生同樣的狀況,當編碼方式無法對應時,就可能會看到一堆亂碼,這就是編碼沒辦法相容的緣故。
中文編碼並非ASCII碼,當中文網頁於伺服器與客戶端間傳輸時,勢必要經過一番處理,變成ASCII碼才能傳輸,以下為URL編碼實際例子。
在Google Chrome瀏覽器中,以Google為搜尋引擎,輸入「美國牛」,其產生的URL碼如表1所示:
![]() |
| 表1 中文的URL |
瀏覽器發送URL編碼的區別
因為URL編碼無標準規範網頁,造成同一組字串在不同瀏覽器中,卻顯現不同的URL,以下就以市占率前三名的瀏覽器IE、Firefox、Chrome來介紹編碼的差異性。
Internet Explorer(IE)
IE為微軟所設計的瀏覽器,一般使用者購買Windows作業系統,就會附上Internet Explorer的內建瀏覽器,由於微軟作業系統市占率高,因而帶動了IE的高使用率。
IE將URL記錄在index.dat,它是具有隱藏性的檔案,儲存使用者的Cookies、Web History,其預設儲存路徑彙整如表2。
![]() |
| 表2 IE Index.dat預設路徑 |
利用IE瀏覽器,在搜尋引擎輸入「毒品」,然後察看URL編碼情形,如圖3所示。而圖3上方框內的字串「%E6%AF%92%E5%93%81」為關鍵字毒品經過UTF-8編碼方式而成。
![]() |
| ▲圖3 在IE瀏覽器中鍵入關鍵字進行搜尋。 |
Mozilla Firefox
Firefox瀏覽器是Mozilla基金會從Mozilla Application Suite獨立出來採用開放原始碼與全球網路社群共同開發的網頁瀏覽器。而Firefox於3.0版本後,使用SQLite儲存資料,如Bookmarks、Cookies、瀏覽紀錄等。
透過SQLite Viewer可查看Firefox網路紀錄檔的內容,表3是紀錄檔預設路徑。而Firefox的URL紀錄儲存在places.sqlite表單內。與IE相同,也在Google搜尋引擎內輸入「毒品」察看URL編碼情形,如圖4所示。
![]() |
| 表3 Firefox紀錄檔預設路徑 |
![]() |
| ▲圖4 在Firefox瀏覽器中鍵入關鍵字搜尋。 |
很奧妙的是,在搜尋列上觀察到變數q後面所出現的參數為「毒品」,這與IE不同。針對此差異的發生,這裡利用Firefox瀏覽器選項功能列中的語言及字元編碼察看其編碼方式,如圖5所示。
![]() |
| ▲圖5 Firefox的編碼方式。 |
讀者可能發現Firefox與IE的編碼方式其實是相同的,依然為UTF-8,但為何Firefox的搜尋列中URL所顯示的字串為「毒品」。探究其原因,在於這串URL是給使用者自己看的,並非是傳給伺服器,所以將字串傳輸出去時,仍然會是「%E6%AF%92%E5% 93%81」。
Google Chrome
Chrome是由Google開發的網頁瀏覽器。「Chrome」是化學元素「鉻」的英文名稱,其程式碼是基於其他開放原始碼軟體所撰寫,包括WebKit和Mozilla,Google Chrome的整體發展目標是提升穩定性、速度和安全性,並創造出簡單且有效率的用戶介面。
Google Chome紀錄檔存放路徑彙整如表4所示,URL則記錄在History表單內。與前兩個瀏覽器相同,在Google搜尋引擎內輸入「毒品」時,如圖6所示,其URL編碼為「%E6%AF%92%E5%93%81」。
![]() |
| 表4 Google Chrome紀錄檔案預設路徑 |
![]() |
| ▲圖6 在Chrome瀏覽器內鍵入關鍵字搜尋。 |
由此可以發現,各個瀏覽器都有屬於自己的編碼方式,從IE、Firefox及Google Chrome所顯示的URL搜尋字串及參數資料可以觀察得到,在Firefox中甚至以中文明碼顯示。
但這是瀏覽器所顯示的URL編碼,並非遠端伺服器所了解的,所以當瀏覽器傳送查詢字串時,仍會轉換成16進位編碼,如本例中的「毒品」。
案例說明
甲君為破獲台灣北部販毒集團於供毒名單中的一員,由於線索明確,執法單位人員遂往甲君的住處逕行搜索。
在甲君的住處並沒有發現有關的毒品,但是卻發現數量極多的感冒藥、化學器材以及一台電腦,這引起了注意,因感冒藥可用來提煉安非他命。安非他命屬於中樞神經興奮劑,吸食之後會產生幻覺,屬於第二級毒品。
鑑識人員在甲君所使用的電腦硬碟進行初步分析,並未發現有關毒品製造的文檔資料,轉而朝網路紀錄著手,察看其上網紀錄。
甲君所使用的瀏覽器為Google Chrome,於是鑑識人員便透過鑑識工具ChromeAnalysis Plus將甲君的網路紀錄萃取出,並進行分析,以下為鑑識取證的過程:
步驟一:將甲君的硬碟做位元串流拷貝
首先,鑑識人員利用位元串流拷貝(Bit Stream Copy)技術將硬碟進行完整備份,目的是為了避免人員存取到硬碟,影響到數位證據的完整性。
步驟二:開啟ChromeAnalysis Plus並載入Google Chrome紀錄檔
開啟Chrome Analysis後,新建一個案例並將要萃取的網路紀錄路徑指向「C:\Users\<使用者名稱>\AppData\Local\Google\Chrome\User Data\Default」,如圖7所示,而圖8為甲君的上網紀錄。
![]() |
| ▲圖7 讀取Chrome紀錄檔。 |
![]() |
| ▲圖8 甲君的網路紀錄。 |
常瀏覽的網站等。從網路紀錄中發現,甲君有每天上網的習慣,並會利用Google搜尋引擎查詢資訊。
開始便無記錄,因此懷疑部分網路紀錄可能已遭刪除,因此嘗試以FTK Imager進行Logical Drive萃取。鑑識結果發現有幾項以透過Google搜尋片斷的URL碼(圖9)。
![]() |
| ▲圖9 片斷的搜尋字串URL碼。▲圖9 片斷的搜尋字串URL碼。 |
從圖9中可觀察出,甲君使用Google搜尋引擎來進行資料的蒐集,URL為「http://www.google.com/webhp?source=search_app#hl=zhTW&site=webhp&source=hp&q=%E5%AE%89%E9%9D%9E%E4%BB%96%E5%91%BD」,變數q後的參數為搜尋字串,但因編碼問題造成字串顯示為「%E5%AE%89%E9%9D%9E%E4%BB%96%E5%91%BD」的亂碼。
鑑識人員將此段URL碼輸入反編碼的編輯器內,獲得「安非他命」的文字,如圖10所示。接著,其他搜尋字串URL經反編碼後得到「安非他命的化學元素」、「安非他命製造器材」以及「感冒藥提煉」等文字字串,這些資訊顯示甲君男利用網路搜尋安非他命的化學組成,並獲取感冒藥提煉安排他命的方法。由於這些數位證據,使得甲君所宣稱無製毒意圖和能力的證詞出現矛盾,甲君涉及製毒的可能性非常高。
![]() |
| ▲圖10 反編碼後得到「安非他命」。 |
結語
非英語系國家所使用的文字(非ASCII),在輸入搜尋引擎後會因編碼關係而造成亂碼,使得鑑識人員不易辨識搜尋字串。此案例中,雖然網路紀錄的URL亂碼利用鑑識工具成功地將搜尋字串還原,但必須思考的是,鑑識工具無法支援每一種瀏覽器,遇到此種情形時,將對鑑識人員造成莫大的困擾。
瀏覽器都有屬於各自的編碼方式,並無一定規範,但卻有一定的規則,例如各參數執行、字串的編碼及位元組以「%」符號作區隔,透過此規則,可以從網路紀錄中擷取片斷的URL資料,再經過URL反編碼轉譯還原字串。
如本例中,鑑識人員利用FTK Imager進行Logical Drive萃取片斷的URL搜尋字串,再執行反編碼。因此,鑑識人員在進行網路紀錄分析時,需考慮編碼問題,方不至於漏掉內含重要訊息的數位證據。
中央警察大學資訊密碼暨建構實驗室(ICCL)
轉載自《網管人》
訂閱:
文章 (Atom)


















































