軟件和系統無(wú)法避免會(huì )出現漏洞。一說(shuō)起漏洞,有人就會(huì )感到氣憤,認為被坑了。其實(shí)不然,漏洞的產(chǎn)生是不可避免的。有了漏洞,我們就應該去補救。本文就以漏洞的形成與防治為題,簡(jiǎn)單的為大家介紹。
漏洞的形成
大型軟件、系統的編寫(xiě),并不是一兩個(gè)人就能完成的,而是需要許許多多程序員共同完成。那么,他們是怎么工作的呢?他們是將一個(gè)軟件或系統分成若干板塊,分工編寫(xiě),然后再匯總,測試。最后,修補,發(fā)布。
有人或許會(huì )問(wèn),為什么最后要修補呢?其實(shí),這就是一個(gè)重要的環(huán)節。前面講到要講軟件、系統分成若干板塊,分工編寫(xiě)。問(wèn)題就出在分工編寫(xiě)這個(gè)環(huán)節:世界上總找不到思維一樣的人,所以有時(shí)不免會(huì )出現種種問(wèn)題,且不說(shuō)“幾不管”的中間地帶,就是在軟件匯總時(shí),為了測試方便,程序員總會(huì )留有后門(mén);在測試以后再進(jìn)行修補……
這些后門(mén),如果一旦疏忽(或是為某種目的故意留下),或是沒(méi)有發(fā)現,軟件發(fā)布后自然而然就成了漏洞。
還值得一提的就是若干板塊之間的空隙,這里很容易出現連程序員的都沒(méi)想到的漏洞!
還有,“幾不管”地帶,也正是漏洞的溫床!如果,在軟件發(fā)布前沒(méi)能及時(shí)發(fā)現,就為不法之徒提供了便利。
漏洞的另一形成溫床就是網(wǎng)絡(luò )協(xié)議!網(wǎng)絡(luò )協(xié)議有TCP、UDP、ICMP、IGMP等。其實(shí),他們本來(lái)的用途是好的,但卻被別人用于不乏的活動(dòng):例如,ICMP本來(lái)是用于尋找網(wǎng)絡(luò )相關(guān)信息,后來(lái)卻被用于網(wǎng)絡(luò )嗅探和攻擊;TCP本來(lái)是用于網(wǎng)絡(luò )傳輸,后來(lái)卻被用于泄漏用戶(hù)信息……
漏洞的溫床實(shí)在太多了,有時(shí)并不能完全怪程序員,因為有些東西連他們也無(wú)能為力啊!
漏洞的防治
有了漏洞就要補!否則,日后的受害者可能就是自己。例如,微軟就是著(zhù)名的漏洞王!他同時(shí)也是著(zhù)名的補丁王!有這樣一句話(huà):微軟的補丁,誰(shuí)人能及!Windows實(shí)在太大,太復雜了,所以漏洞多也是可以原諒的。更何況,全世界最精銳的黑客部隊的也喜歡將矛頭直指Windows,可悲啊!
補漏洞方法主要有兩類(lèi):
一、本身補救。這種補漏洞方法主要是*廠(chǎng)商的補丁或者是禁用某項服務(wù)來(lái)補救。也就是說(shuō),*軟件或系統本身來(lái)補救。
二、借助補救。這種補漏洞方法主要是*第三者完成,就是*別的軟件來(lái)進(jìn)行補救。我們用得最廣泛的就是反病毒軟件和網(wǎng)絡(luò )防火墻。
軟件的補救必須要有目的的補救,不能盲目的補。在補救前,我們可以借助別的軟件來(lái)測試。例如,查找網(wǎng)絡(luò )漏洞,可以用嗅探器;查找反病毒軟件的查毒漏洞,可以通過(guò)網(wǎng)絡(luò )上提供的病毒壓縮包等。
漏洞是客觀(guān)存在的,它是隨軟件和系統的產(chǎn)生的,是不可避免的。關(guān)鍵就在于補救,補救得好,軟件或系統的性能將大大提高!努力吧