修復(fù)路由器固件漏洞的方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及路由器領(lǐng)域,尤其涉及一種修復(fù)路由器固件漏洞的方法和系統(tǒng)。
【背景技術(shù)】
[0002]路由器的漏洞層出不窮,因此用戶的信息安全面臨著嚴(yán)峻的考驗。現(xiàn)有技術(shù)中,往往采用升級路由器系統(tǒng)的方式來修復(fù)路由器的漏洞,從而降低漏洞可能對用戶的信息安全所帶來的威脅。但是,通過升級路由器系統(tǒng)的方式修復(fù)漏洞所需的時間較長,反應(yīng)較慢。而且,對于新出現(xiàn)的漏洞,開發(fā)商很可能沒有第一時間提供系統(tǒng)升級補(bǔ)丁。
【發(fā)明內(nèi)容】
[0003]基于此,有必要提供一種能夠快速修復(fù)路由器固件漏洞的方法。
[0004]一種修復(fù)路由器固件漏洞的方法,包括如下步驟:
[0005]獲取路由器固件的源代碼;
[0006]在預(yù)存在數(shù)據(jù)庫中的路由器固件源代碼庫中查找與所述路由器固件的文件系統(tǒng)類型對應(yīng)的預(yù)存源代碼,并將所述路由器固件的源代碼替換為所查找到的預(yù)存源代碼;
[0007]將所述路由器固件寫入路由器中;
[0008]其中,所述路由器固件源代碼庫中包括一種以上的所述預(yù)存源代碼,每種所述預(yù)存源代碼與一種路由器固件的文件系統(tǒng)類型相對應(yīng),且所述預(yù)存源代碼為無漏洞的源代碼。
[0009]在其中一個實施例中,所述修復(fù)路由器固件漏洞的方法還包括:按照預(yù)設(shè)頻率更新所述路由器固件源代碼庫中的預(yù)存源代碼。
[0010]在其中一個實施例中,所述數(shù)據(jù)庫中還預(yù)存有固件解析方法庫;所述獲取路由器固件的源代碼步驟包括:
[0011]提取路由器固件;
[0012]在所述固件解析方法庫中選擇與所述路由器固件的文件系統(tǒng)類型對應(yīng)的固件解析方法對所述路由器固件進(jìn)行解析,獲取所述路由器固件的源代碼;
[0013]其中,所述固件解析方法庫中包括一種以上的所述固件解析方法,每種所述固件解析方法對應(yīng)一種文件系統(tǒng)類型。
[0014]在其中一個實施例中,通過無漏洞的路由器獲取所述預(yù)存源代碼,或
[0015]通過官方網(wǎng)站獲取所述預(yù)存源代碼,或
[0016]通過路由器管理終端生成所述預(yù)存源代碼。
[0017]在其中一個實施例中,通過路由器的TTL接口將所述路由器固件寫入路由器中。
[0018]本發(fā)明還提出一種修復(fù)路由器固件漏洞的系統(tǒng),包括源代碼獲取模塊、數(shù)據(jù)庫、源代碼處理模塊和寫入模塊;
[0019]所述源代碼獲取模塊,被配置以獲取路由器固件的源代碼;
[0020]所述數(shù)據(jù)庫,被配置以存儲路由器固件源代碼庫;
[0021]所述源代碼處理模塊,被配置以與所述數(shù)據(jù)庫連接并獲取所述路由器固件源代碼庫,以及在所述路由器固件源代碼庫中查找與所述路由器固件的文件系統(tǒng)類型對應(yīng)的預(yù)存源代碼,并將所述路由器固件的源代碼替換為所查找到的預(yù)存源代碼;
[0022]所述寫入模塊,被配置以將所述路由器固件寫入路由器中;
[0023]其中,所述路由器固件源代碼庫中包括一種以上的所述預(yù)存源代碼,每種所述預(yù)存源代碼與一種路由器固件的文件系統(tǒng)類型相對應(yīng),且所述預(yù)存源代碼為無漏洞的源代碼。
[0024]在其中一個實施例中,所述修復(fù)路由器固件漏洞的系統(tǒng)還包括更新模塊;所述更新模塊,被配置以按照預(yù)設(shè)頻率更新所述路由器固件源代碼庫中的預(yù)存源代碼。
[0025]在其中一個實施例中,所述數(shù)據(jù)庫還被配置以預(yù)存固件解析方法庫;所述源代碼獲取模塊包括路由器固件提取單元和路由器固件解析單元;
[0026]所述路由器固件提取單元,被配置以提取路由器固件;
[0027]所述路由器固件解析單元,被配置以與所述數(shù)據(jù)庫連接并獲取所述固件解析方法庫,以及在所述固件解析方法庫中選擇與所述路由器固件的文件系統(tǒng)類型對應(yīng)的固件解析方法對所述路由器固件進(jìn)行解析,獲取所述路由器固件的源代碼;
[0028]其中,所述固件解析方法庫中包括一種以上的所述固件解析方法,每種所述固件解析方法對應(yīng)一種文件系統(tǒng)類型。
[0029]在其中一個實施例中,通過無漏洞的路由器獲取所述預(yù)存源代碼,或
[0030]通過官方網(wǎng)站獲取所述預(yù)存源代碼,或
[0031]通過路由器管理終端生成所述預(yù)存源代碼。
[0032]在其中一個實施例中,所述寫入模塊通過路由器的TTL接口將所述路由器固件寫入路由器中。
[0033]上述修復(fù)路由器固件漏洞的方法和系統(tǒng),獲取到路由器固件的源代碼后,在路由器固件源代碼庫中查找與路由器固件的文件系統(tǒng)類型對應(yīng)的預(yù)存源代碼,并將路由器固件的源代碼替換為所查找到的預(yù)存源代碼,能夠較為快速且徹底的修復(fù)路由器固件的漏洞。
【附圖說明】
[0034]圖1為本發(fā)明修復(fù)路由器固件漏洞的方法一個實施例的流程示意圖;
[0035]圖2為本發(fā)明修復(fù)路由器固件漏洞的方法一個實施例中的獲取路由器固件的源代碼的流程示意圖;
[0036]圖3為本發(fā)明修復(fù)路由器固件漏洞的系統(tǒng)一個實施例的結(jié)構(gòu)示意圖;
[0037]圖4為本發(fā)明修復(fù)路由器固件漏洞的系統(tǒng)一個實施例中的源代碼獲取模塊的結(jié)構(gòu)示意圖。
【具體實施方式】
[0038]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖對本發(fā)明修復(fù)路由器固件漏洞的方法和系統(tǒng)的【具體實施方式】進(jìn)行說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0039]參見圖1,一個實施例中,本發(fā)明修復(fù)路由器固件的方法包括以下流程:
[0040]S100,獲取路由器固件的源代碼。
[0041]參見圖2,一個優(yōu)選的實施例中,步驟100可以包括以下步驟:
[0042]S110,提取路由器固件。
[0043]其中,可以通過路由器的TTL接口提取路由器固件。連接路由器的TTL接口和用于提取路由器固件的終端后,啟動路由器,可以在終端上顯示路由器啟動過程中的各種信息,如:RAM(Random Access Memory,隨機(jī)存儲記憶體)大小、路由器型號、閃存大小等信息。然后通過相關(guān)命令將路由器固件進(jìn)行備份,從而提取到路由器固件。
[0044]可以理解的,還可以通過編程器讀取路由器閃存數(shù)據(jù)的方式來提取路由器固件。在路由器中設(shè)置有閃存芯片,閃存芯片中存儲有路由器固件。路由器在啟動過程中就是從閃存芯片中讀取路由器固件并解析,然后執(zhí)行,從而讓整個系統(tǒng)正常運(yùn)行。因此,可以將路由器的閃存芯片取出,然后用編程器讀取閃存芯片中存儲的路由器固件。
[0045]S120,在固件解析方法庫中選擇與路由器固件的文件系統(tǒng)類型對應(yīng)的固件解析方法對路由器固件進(jìn)行解析,獲取路由器固件的源代碼。
[0046]其中,數(shù)據(jù)庫中預(yù)存有固件解析方法庫。固件解析方法庫包括一種以上的固件解析方法。每種固件解析方法對應(yīng)一種文件系統(tǒng)類型。本實施例中所述的文件系統(tǒng)類型為路由器固件的文件