Feeds:
Posts
Comments

Archive for the ‘Computer Science’ Category

常常在網上看過一些廣告,提省大家電腦不安全,要安裝他們的防毒軟件之類。

昨天,有位同時中了一種病毒(估計是病毒利用zero-day漏洞入侵),
會先將防毒軟件關上、將瀏覽器安全降低。然後下載另外一隻假的
電腦硬碟掃瞄的軟件,安裝並且執行。

它會告知你的電腦的硬碟有很大的損壞,要你用軟體修補之類,然後又會說
該軟體要更新或付款之類(我沒有測試,這是個推測)

我從逆向工程分析過軟件的基本運作,之後我又想看看它的模樣,所以,
我將它安裝在一個虛擬的電腦上。下面是運行時的抓圖,

老實說,它的用戶介面還真的不俗,如果真心是設計一個真的硬碟程式,
也很有可能有很多人願意付款。



Read Full Post »

昨天,有一位同事的電腦中了病毒。然而,經常用的防毒軟件沒法認出該病毒,
負責系統維護的同事只知道該電腦的Registry被病毒更改了而每次啟動都會執
行該病毒,卻不清楚病毒的名字及運作的模式。

為了了解狀況,我試圖將收集回來的三隻電腦病毒的樣本進行逆向翻譯。由於手
上沒有逆向翻譯的軟件,於是,我在Google搜尋這方面的軟件。結果給我發現一
個提供「不良軟件」進行逆向翻譯及分析的網站:
Eureka (http://eureka.cyber-ta.org)。

以下是Eureka的主頁的抓圖:


這個網站不但提供逆向翻譯,亦提供軟件的能力、運作流程的分析。透過這些工具,我可以了解病毒的運作模式,從而了解可能的感染途徑、預防方法、復原方法等等。

以下是其中兩個我在分析的「不良軟件」:
1. http://eureka.cyber-ta.org/OUTPUT/8049bd9048834aac8cd48491c90f4e65/
2. http://eureka.cyber-ta.org/OUTPUT/73c4ae46e6dca0ae57d6becf25684260/

其中一個分析「病毒更改Registry」的情況:

Read Full Post »

最近在美國熱爆的「虎媽媽」提倡以嚴格的行為管束來教導子女,引發了很熱烈的討論。傳統的中國家庭,比較多人主張對子女嚴格的管束其行為。為了達致這樣的效果,他們為子女制定了很多行為上的規則。在這些家庭成長的小朋友,從小到大就要學習很多必須要遵守的規則,以及要跟從的作息時間表。

家長有權因應情況,單方面更改規則及時間表。而很多美國的家庭,相對地較少管束子女的行為,較主張自主學習。

今天,我們從另一個很特別的角度去看這個問題。

在「管理系統學」(Operation system)其中一個課題—「多線程」(Multiple-thread)講述在單一「處理器」( Central Processing Unit)下如何同時執行多個程序,這就是所謂多工(Multitasking)。

在傳統的「管理系統學」所提倡的是「管理系統」(Operating System)有絕對的權力管理任何「進程」(Process),包括強行暫停或關閉任何的「進程」(Process)。早期的Java電腦語言就是從這個構思來設計它的「線程管理」(Thread Management),但後來,Java的方針變了,對強制的暫停或關閉任何的「線程」有所保留,認為這種做法有不當的地方。並且鼓勵設計「線程」的人應該審慎設計,而不是依賴「管理系統」作出干預。

「管理系統」好比父母,而「線程」就好像子女。傳統模式之下,「線程」受到「管理系統」嚴格控制。一旦「線程」變得複雜,「管理系統」可能在不適當的情境下強行要求「線程」暫停或關閉,造成不必要的資料損失。只要「線程」在設計時多考慮不同的環境因素下的運作情況,就不需要「管理系統」的干預。

家庭教育都是一樣。如果子女能夠學習自我照顧,其實家長就可以免卻不必要的監管。所以,是不是需要用「虎媽媽」的教育放式取決於子女有沒有有足夠的「自我照顧」能力。如果子女早點學懂「自我照顧」能力,「虎媽媽」的監管反而會妨礙子女的發展。

Read Full Post »