电脑被入侵之后该怎麼办
電腦被入侵之後該怎麼辦
一旦發現電腦被入侵了,有許多方法可以搶救?關於被侵入後最好的復原方法,各門各派的理論並不一致?以下所論述的是我們的偏好,但不見得適用於所有環境與需求?
防止災害擴大
要阻止駭客繼續危害我們的系統,最穩當的方法是很激烈但很有效的,
1. 關掉所有網路介面〈乙太網路、PPP、ISDN等等〉?這樣可以讓駭客無
法再接觸到你的電腦,但其他行程依舊運作?
2. 將系統切換成單一使用者模式?關掉所有root正常的行程,也關掉一般
使用者所有的行程,剩下的就是駭客的行程了?
3. 用未污染的Linux可開機磁碟片〈或CD-ROM〉重新啟動系統?如此你
就可以檢查系統哪些部分遭到竄改?
4. 展開一連串損害控制步驟?
估計損害程度
一旦用未受污染的Linux可開機磁碟片啟動系統之後,你就可以仔細搜索你系統上的磁碟?為了避免無法追蹤駭客的行縱,你應該可以唯讀的模式掛載〈mount〉所有磁碟分割?仔細紀錄你所發現的任何事物,才能在稍後徹底清理乾淨?
發現可疑的檔案/目錄 尋找所有包含密碼檔、或駭客工具的目錄,以及任何不
是你擺置的東西?如果你沒有利用軟體開機,你可能無法發現他們?
找出新增的setXid程式 任何新增的setXid程式都是非常可疑的,尤其是屬於root的?
檢查時戳 雖然這不是可靠的方法,但是檢查看看在可能被入侵之後,有哪些檔案被更動過,或許會給你一些頭緒?
讀取紀錄檔 檢查所有紀錄檔,以判斷駭客可能侵入的入口?你或許可以利用分析工具輔助,但你應該用人工瀏覽過所有紀錄檔〈尤其是你所懷疑的時間點附近及之後的紀錄〉,以防你的分析工具忽略了重要的線索?如果你有syslog伺服器,你可以比較本機上的紀錄與伺服器上的紀錄是否一致?
檢驗檢查碼 檢驗一下你所安裝過的程式之檢查碼?你最好也比較一下在遭入侵前後的檢查碼資料庫是否一致?
手動檢查設定檔 快速瀏覽所有設定檔,你就可以發現不當的更動?例如網頁伺服器程式被改成以root執行,或者/etc/inetd.conf 多出新的服務?
備份你的檔案 將你的檔案備份到磁碟或光碟?不然,連上網路然後將檔案傳送到另一台機器,但你要確保沒有任何伺服器程式可以被駭客接觸到?
特殊工具 有一些特殊工具可以幫助你檢視你的系統?最近有一個蠻不錯的工具套件,是由Dan Farmer與Wietse Venema 所寫的 Coroners Toolkit〈〉?他可以透過「盜墓者〈grave-robber〉」script檢查你的系統,產生大量的輸出結果,或者掃描磁碟裝置上「未使用」的節區,幫你找尋被刪除的檔案?
通知專家 讓專家了解你被入侵的事實,他們可以了解問題,並且發出警告,可以防止其他人遭到相同攻擊?
恢復連線
在了解你系統如何被侵入後,你有兩條路可以走,補強漏洞然後恢復系統運作,或者完全重灌你的系統?最安全的方法當然是後者?
補強漏洞然後恢復系統運作當然是又快又簡單的方法?但是,你永遠不能肯定知道駭客到底動過哪些手腳?駭客可能安裝了定時炸彈,幾個月之後才會發生作用?他或許更動了某個二進位檔,雖然你的系統依然可以運作,但是或許會比
較不穩定?但是,我們認為徹底趕出駭客「最好」的方法如下,
1. 將你重要的檔案備份起來?
2. 將你的電腦裝置完全清理乾淨?〈這也是你做軟硬體變更的好機會,例如
增加磁碟機、重新切割磁碟分割大小等等〉
3. 重新安裝Linux,只包含絕對必要的東西?
4. 針對你已安裝的package,安裝其更新程式?
5. 對你的系統製作檢查碼,並且存放在安全的地方?
6. 手動變更必要的設定檔?不要偷懶的從備份複製過來,因為那可能已經
被竄改過?
7. 將必要的檔案從備份複製過來?
8. 再次檢查被備份複製過來的檔案,看看是否有被駭客入侵的痕跡?
9. 再次為檔案系統製作檢查碼?
10. 首度重新打開網路介面?
這絕對不是災後復建最快速的方法,但是卻是確保系統安全的最佳途徑?
實務考量
有很多因素會使得上述的步驟窒礙難行,因此必須做一些務實的修正?
停機過長 依照上述的步驟,你得花上一天以上的時間,才能夠完成調查、備份、安裝、恢復等等工作?這完全無法滿足目前高使用率的要求?相反的,你可能會希望備用機器立刻遞補被入侵的機器,接替它的功能,然後再設法清除駭客所留下的損害?
找出真兇 上述的步驟並沒有考慮到要找出攻擊者的身分?或許你的機器上留有足夠的證據,可以讓駭客繩之以法,不過如果能以現行犯的身分逮到他會更好,所以你可能會按兵不動,讓駭客有機會繼續存取你的電腦,然後請有關單位來追蹤入侵者?如果駭客發覺或懷疑自己已經現行了,大部分都會逃之夭夭?
未排除的危險 如果沒有查出入侵的來龍去脈,重新安裝系統並不會讓系統更強壯?安全社群可能還不知道這個潛在的安全缺失,而你也可能又安裝同一個漏洞百出的軟體?
保密原則 你的公司或許有明定保密法則,規定哪些能公開,而哪些必須要保密?例如,一個大型銀行一定不願意讓人家知道他們被入侵了?所以他們也不想讓安全組織參與調查?
報復攻擊/反擊行動
有些人認為遭受入侵最好的反應方法,就是找出來源並且予以反擊?有時候這些反擊是出於管理者的主動,有時是安全軟體自動發起的?
報復攻擊常常只是刺探性質的,簡單的連結埠掃描、finger偵查或是路由追蹤?但也有時候,這些自動發起的攻擊是功能完整的入侵行動,可以獲取對方電腦的存取?我們對前者沒有特別的偏好,因為絕大部分的情形是不會得到任何有用的結果?但對於後者,我們強烈的反對理由如下,
, 誤炸目標 攻擊行動
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
面上的來源,不見得是真正發動攻擊的主機?駭客可
能假冒他人的IP位址,所以你將無法確認他所使用IP是真是假?
即使駭客沒有使用假冒IP,來源主機也不見得是攻擊者所擁有的主機,因
為那部電腦可能已經遭到入侵,而被借刀殺人?因此,反擊行動往往是誤炸
無辜的第三者,而不是使作俑者?
, 法律問題 在許多地區,任何形式的入侵行為都是違法的?你的反擊一樣會
觸犯相同的法律,即使你有嚴正的理由?因此你所惹出的麻煩可能遠超過獲
益,尤其是當你不小心誤炸了第三者時?
, 沒有合法的利益 即便你取得對方主機的root存取,那又怎樣-難不成你要
搗毀它?
, 更多仇恨 冤冤相報絕對不是一件好事?你報復了之後,他一定又會籌畫更
多的攻擊活動?目前你只有一台機器被入侵,下次你就有一堆機器被入侵? , 業障 與其試圖奪取非法存取權限〈雖然是你受盡欺負之後不得已的反
擊〉,還不如去告知對方機器的管理者與提供網路連結的ISP?你儘可能將所
有的紀錄檔資料提供給他們,然後大家一起合作找出入侵者?
黑洞
當你發現或感覺自己遭受到攻擊時,另一個對策就是讓對方電腦無法跟你的電腦通訊?以下是幾個不同的方法,
, 用TCP wrapper 拒絕來自對方主機IP的連線?
, 建立ipchains/iptables規則,拒絕來自對方IP的封包?
, 建立拒絕路由,使得你的機器無法跟對方IP通訊?你還是依然拒絕來自對方
的封包,而且也不能回應,因此徹底摧毀兩台電腦之間的通訊管道? , 在網路防火牆或路由裝置建立類似的存取控制列表?
這些都是合法的動作,但是如果你想主動作出這些回應,應該小心以下陷阱: , 和合法主機失去連線 如果駭客假冒一台合法的主機,那你將會失去和這台
主機之間的連線機會?
, 過多規則 如果規則過多,網路效能就會降低?假如駭客假冒許多不同的主
機,可能讓你的規則數量暴增,因而形成自身的阻斷服務攻擊? , 龐大的tcpwrapper檔案 如果要在/etc/hosts.deny增加一行,你要先確保
有沒有重複,否則你會讓這檔案快速增大?如果是某個程式要加入新的規則
之前,也應該將整個檔案從頭讀取,排除重複的發生?