------ 文章開始 ------
作者 ccbruce (今、 僕) 看板 AntiVirus 標題 [閒聊] 從系統軟體開發的角度來看防毒 時間 Sun Dec 26 02:35:01 2010 ─────────────────────────────────────── 先自我介紹一下。我本身是在筆電的系統廠的高工。主要業務就是寫客戶要求的Win32下執 行的應用程式,如果各位手中有Toshiba或Dell的筆電,那很可能你就有用到我寫的程式 (只要你那電腦是我們公司代工的話)。我們寫的程式千奇百怪,範圍涵蓋真實模式及保 護模式(驅動程式跟一般應用程式)。功能則是從修改CMOS到與EC和BIOS打交道都有,高 階點的如DirectX、DirectShow或網路程式也都寫過。 那麼,根據這些經驗跟以前在學校學到的計算機相關理論,我是如何防毒呢?我並不是那 麼強調非得要灌防毒軟體不可,甚至有的時候防毒軟體會對我們的工作造成影響。而且我 也對防毒軟體帶來的效能瓶頸感到厭惡。我一直認為,有正確的觀念比灌了什麼防毒軟體 都來得重要,只要遵守良好的紀律,自然能與有害軟體絕緣(我在這裡用的是有害軟體, Malware這個字眼,它涵蓋了病毒,Virus、蠕蟲,Worm與木馬,Troj/Backdoor這三個概 念)。對不遵守紀律的人來說,防毒軟體只是一張門神的像而已。事實上,有害軟體更像 是吸血鬼,吸血鬼不受到邀請的話,是進不了人家家門的。 1、不安裝無法信任的軟體 「不安裝來路不明或盜版軟體」這句話就好像「在路上看到可疑的包裹要送派出所」這 樣的騙小孩子的話一樣令人發噱。事實上不是所有來路不明的軟體都不值得信賴,而是 不要信任沒經過確實檢驗的軟體。在大多時候我都會這樣做:使用VMWare、VirtualBox 不要信任沒經過確實檢驗的軟體。在大多時候我都會這樣做:使用VMWare、VirtualBox 或Virtual PC來建立一個沙箱(Sandbox)、把想要測試的軟體放進去看看,萬一它有奇 怪的行為或是會傳輸任何敏感資料的行為的話,那就別在自己的工作機上使用。這種測 試不是只有一次,也可以是永久的,例如中國的程式,我就不會在工作機上灌。如QQ、 PPS,這時候我就非常推薦VirtualBox了,它有個無縫模式,可以把VM裡的應用程式的畫 面投影到桌面上來用,非常的人性化。另外,在安裝程式時,一定千萬要記得看EULA( End User License Agreement,終端使用者授權合約)通常一個正式的程式都會把它要 做些什麼事寫在EULA裡頭,尤其是大公司更會這樣做。之前有個很有名的事件,日本有 個傢伙把H-Game的ISM竄改,將ISM的Loader換成自己寫的,安裝時會先要求使用者打自 己的資料,再掃描硬碟所有資料,接著抓下桌面,把這些資訊傳到網路上給人家看。要 砍掉還要給那傢伙錢。有一位校長就中標了,硬碟裡有疑似兒童色情的東西。台灣也有 不少鄉民中標,我有稍微抓下來跑跑看,發現它的EULA就有寫,因為這東西在上法院時 有用的,所以注意一下比較好。 2、有敏感行為的執行檔要注意它有沒有數位簽章 先定義一下何謂敏感行為。根據UAC的建議文件,凡是會Hook鍵盤滑鼠(熱鍵程式)、 查詢或操作系統的資訊(如WMI)、與其它程式互動(如移動視窗)、增刪改查 Registry和使用者目錄的程式都算。這些東西在執行前請先右鍵看它的數位簽章,如果 沒有或怪怪的,就小心點。附帶一提,UAC在處理這些東西雖然很煩,但是也真的是有 不少幫助,尤其是在需要Elevation(提升權限)的程式上,它處理得相當好。現在我 們系統廠發的程式,由於萬惡的WHQL(真的是萬惡,送一次要好幾百塊美金),基本上 都很能信賴。(有跑過DTM就知) 3、防火牆雖不是萬能,但不開就萬萬不能 比起Linux的IPFilter,微軟的防火牆不是那麼好用,功能也不多。但是開著確實可以保 平安。若是對預設防火牆不信任,也可以依賴其它牌子的。只是對我來說,預設的就已 足夠。附帶一提,在WinXP SP2以前有個漏洞,網路子系統會因為一個RPC整個癱瘓,連 防火牆一起倒霉的窘境已經在WinVista/7上補起來了。 4、定期換密碼,沒事注意一下行程跟埠的使用情形 換密碼的好處大家都知道,就不講了。但是行程的檢查是有撇步的,檢查的好是可以及 早避掉一些窘境。大家都知道按CTRL-SHIFT-ESC或taskmgr.exe可看到行程,但是要如何 分辨是好是壞呢?首先記得列出所有帳號的所有行程,一個一個看。先排序說明,沒說 明或說明看起來很蟞腳的,就按右鍵找出它的位置,位置很怪的(如C:xxx)砍、名字 很怪的(如scvhost.exe,正常是svchost.exe)砍,沒簽章的砍,沒發佈公司的砍。有 些東西是掛SYSTEM帳號的服務或是由svchost.exe所載入(通常是DLL)砍不掉,就進安 全模式砍。對於一些尚未病入膏肓的機器來說,這招還蠻好用的。有時候有些程式會透 過DLL Injection(DLL注入)的手段來「隱身」,讓taskmgr看不到,這時候就記得用 tasklist.exe(它是Console程式)來看,因為DLL Injection對DOS子系統無效。基本上 Windows下的所有功能都有相對應的Console程式,我們所用的都是Windows Shell的一部 份而已。它們大部份都有對應的兄弟,就像一面鏡子一樣。接著,是埠的使用情況。會 看埠的使用情況的話,就可以掌握電腦的門戶了。打這個指令即可: netstat -ano |find /I "listening" 結果就會是這樣: TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 2852 TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 748 TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 2852 TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4 TCP 0.0.0.0:3260 0.0.0.0:0 LISTENING 2136 TCP 0.0.0.0:3261 0.0.0.0:0 LISTENING 2136 TCP 0.0.0.0:5357 0.0.0.0:0 LISTENING 4 TCP 0.0.0.0:48023 0.0.0.0:0 LISTENING 2852 TCP 0.0.0.0:49152 0.0.0.0:0 LISTENING 460 TCP 0.0.0.0:49153 0.0.0.0:0 LISTENING 876 TCP 0.0.0.0:49154 0.0.0.0:0 LISTENING 940 TCP 0.0.0.0:49156 0.0.0.0:0 LISTENING 512 TCP 0.0.0.0:49157 0.0.0.0:0 LISTENING 496 TCP 192.168.1.11:139 0.0.0.0:0 LISTENING 4 TCP 192.168.56.1:139 0.0.0.0:0 LISTENING 4 TCP [::]:135 [::]:0 LISTENING 748 TCP [::]:445 [::]:0 LISTENING 4 TCP [::]:5357 [::]:0 LISTENING 4 TCP [::]:49152 [::]:0 LISTENING 460 TCP [::]:49153 [::]:0 LISTENING 876 TCP [::]:49154 [::]:0 LISTENING 940 TCP [::]:49156 [::]:0 LISTENING 512 TCP [::]:49157 [::]:0 LISTENING 496 通常少於1024的port都是正規伺服器,要是自己明明沒開卻出現了,那就找出PID跟這 列表一致的行程把它砍了。大於1024的更是要注意,比如說聽3260和3261的傢伙,它的 PID是2136,於是我就用taskmgr找出它來,發現它是svchost.exe,代表它是個服務, 再列出命令列,發現是imgsvc這個服務,原來它是WIA服務,是正常的。注意有一種Port 一般程式不會去碰,叫做精英埠(Elite port)號碼是31337,有看到有程式在用這Port 就先砍再說,不過現在這規矩也不準了就是。 5、大陸網站能不上就別上 嗯,因為真的很危險。不管是政治上還是網路上。根據自己的經驗,中國網站十有八九 都會跑怪Script或是Flash,Flash是很危險的東西,也操機器。所以先捨IE,改用FF, 接著禁止中國網站跑Script及Flash就會比較安全。 6、定期更新,記得顯示副檔名 這個就不用再講了。 以上是我的作法,有什麼問題再來討論吧~ -- 裸 何? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.57.76 ※ 編輯: ccbruce 來自: 122.116.57.76 (12/26 02:37) 推 uziel:看 process 與監視網路 port 可以用 Process Explorer 與 12/26 09:25 → uziel:TcpView 這兩個軟體,資訊較詳盡 12/26 09:26 推 falconer:推一下!很實用的資訊!只是有時候是知易行難啊! 12/26 09:56 → falconer:特別是家裡有正在學電腦的老人家... 12/26 09:58 推 miamodo:推. 正常軟件的訊息搜集行為難防. 12/26 10:11 推 fantasyj:推,但通常一般只看對外上傳是否有異常,很難注意每個程序 12/26 12:45 推 adcdle1988:推,很實用的資訊 12/26 14:09 → y3k:很久以前我也是有這種"我習慣好我最強"的想法 但是看多之後覺 12/26 14:16 → y3k:得方便也是值得考量的一件事情 對一般不重視的人還是推防毒好 12/26 14:18 → y3k:隨便一間公司找一個跑腿小弟和工程師 兩者的習慣就差很多 而且 12/26 14:19 → y3k:對錯實在難講 12/26 14:20 推 asadfish:防毒我覺得還是必要,單純防止自己“無意識習慣不好” 12/26 22:23 → asadfish:因為有時候精神狀況不好,真的會造成奇怪的行為… 12/26 22:23 推 fish0112:推~ 12/27 10:53 推 srx080578:很強大 推 12/27 16:31 推 dooraemoon:推 可惜我對資安的了解還太淺 所以還是要用防毒XD 12/27 18:21 推 Wengboyu:靠北…全部大於1024 囧 12/27 21:01 推 doom3:Xuetr在對岸好像很紅 這邊好像沒人用過 12/27 23:46 → doom3:就一個工具可以做你寫的一堆事 12/27 23:47 → Wengboyu:但說穿了你還是裝了個不知道誰做的軟體 而你相信它.. 12/28 12:52 噓 xvid:這種文章很像email到處散播的垃圾信 12/28 23:34 推 balanceCIH:對樓上而言,這是垃圾信 那到時候中毒時 不要哭著來找 12/29 02:47 → balanceCIH:救兵 12/29 02:47 → xvid:不好意思 我沒中過毒 不用當高工 這些概念也早就有了 12/29 14:36 → xvid:只覺得前兩段只是在毫洨 你慢慢哭 12/29 14:38 推 cress0128:我不知道xvid在噓啥= = 12/30 16:41 推 junorn:其實就很簡單的能力到哪防護就做到哪就這樣而已沒很複雜啦 12/30 18:00 推 linhomeyeu:請問文中哪裡有提到一定要當高工才有這些觀念? 12/31 11:32 → linhomeyeu:xvid哪隻眼睛看到的? 12/31 11:33 → linhomeyeu:你不需要看可以不用推文 你推成這樣只是顯示你品德而已 12/31 11:33 → linhomeyeu:文中提醒他人防毒觀念的好意被你說成這樣 也是無奈 12/31 11:34 推 crow0801:很多用VISTA/7的人都愛把UAC關掉或直接administrator登入 12/31 23:34 → crow0801:這樣根本是把微軟對於系統安全的機制給閹掉 12/31 23:35 |
------ 文章結尾 ------
[複製網址]
[開新視窗]
[加到我的最愛]
[檢舉短網址]
[QR條碼]
服務條款 - 完全手冊 - 加入會員(免費) - 聯絡偶們 -
© PPT.cc