在閱讀本文之前,我們請讀者牢記產業經濟學上的三個要素:技術、成本與市場需求。因為在FPGA安全產品的應用進程中,始終離不開這三個支點。
另外,我們也需要明確以下問題:
第一,FPGA(Field-Programmable Gate Array,現場可編程門陣列)在現代數字電路設計中發揮著越來越重要的作用。從設計簡單的接口電路到設計復雜的狀態機,甚至設計“System On Chip”(片上系統),FPGA所扮演的角色已經不容忽視。
第二,FPGA正越來越多地成為現代電子系統的核心部分。因為FPGA硬件可重新配置且可用性、精密度不斷提高,可以輕易配合系統規格隨時改變的要求,為用戶帶來充足的靈活性。
第三,FPGA是一種高速可編程電子器件,并非“職業殺手”,其自身的物理特性決定了有些工作容易發揮其設計優勢,而有些則適得其反。
在明確了上述三個特征之后,接下來記者將會與讀者一起分享FPGA在網絡安全市場中的故事。同時,我們也非常感謝為本次專題提供芯片技術支持的Xilinx公司,以及我們的合作伙伴:Juniper、神州數碼網絡、深信服、SonicWall、TippingPoint、WatchGuard。
FPGA的靈活魅力
在網絡安全產品設計的時候,可以采用多種半導體解決方案,相對來講,目前主要采用的體系架構包括了x86、NP、ASIC、FPGA四種。其中,CPU與NP的聯系更緊密,而ASIC與FPGA的關系則更相似。
不過,若從器件角度分析,傳統上大多廣義地歸結為ASIC和可編程器件兩類。在安全產品中,兩種類別的主要原理與應用并無多大區別。傳統上認為,ASIC可以為固定功能提供較高性能,但靈活性相對較差。
而可編程解決方案可提供較高的系統速率,包括復雜功能(特殊和異常處理)、靈活性。目前在安全產品設計中使用的可編程解決方案主要有兩類:NP和FPGA。NP可提供以處理器為中心(即以軟件為中心)的可編程特性,而FPGA則提供以硬件為中心的可編程特性。
Xilinx公司提供的報告指出,NP最初被用于設計網絡設備中的現成器件,這些器件在各方面提供靈活性和擴展性的同時,還提供了充分的性能。大多數NP均帶有多種經過優化的嵌入式RISC CPU,以及適用于通用分組處理功能的類ASIC硬件電路。每個RISC引擎經過優化以執行特定任務。
相對于NP,FPGA是對數據進行高速并行處理的器件,具有更強的靈活性和擴展性。TippingPoint公司技術經理李臻表示,在其公司IPS產品中采用的 Virtex-II Pro FPGA芯片,已經包含了高性能的可編程架構、嵌入式PowerPC處理器和3.125Gbps收發器。通過增強網絡特性,FPGA可提供高性能的數據和安全控制處理功能。目前,網絡處理內核和分組處理參考設計均適合于采用FPGA平臺設計。此外,FPGA還支持所有的通用并行(單端和差動)和串行系統接口標準,以使其輕松地與任何協議進行接口并與線路卡上的任何器件相連。
Xilinx公司的FPGA解決方案專家Anil認為,在網絡安全產品的開發中,盡管二層和三層處理在ASIC中很容易實現,但為了在類似的傳輸流中區分不同的優先級,還需要在四層和五層中進行更深層的分組處理。而FPGA僅僅需要一塊芯片就可以更深入地處理這些分組,不僅降低了軟件的復雜度,而且降低了功耗(相比于NP或ASIC)。這是因為FPGA中的硬件并行處理完全可以同RISC的處理方法相媲美。
另外,在網絡安全產品設計中,升級仍然是關鍵問題之一,而這包括了產品體系結構的軟硬兩個方面。“事實上,相對于NP開發中的軟件難以移植問題,無疑增加了設計上的風險。” Anil表示,“FPGA擁有標準化的基于平臺和工具集方法的工具,可以實現軟件在各代FPGA中的無縫移植。而在硬件方面,NP只在處理器中提供可編程特性,其類似ASIC的定制硬件并不能直接進行編程,而FPGA則要輕松許多?!?/p>
IPS上的奇葩
基于FPGA的特性,在IPS上采用的FPGA技術最具有代表性。TippingPoint的李臻表示,在IPS中FPGA擅長把一些安全特征轉化成邏輯,在實現過程中能夠同時匹配上千條規則,其并行速度超過普通CPU,而且相對于并行ASIC,其靈活性占有較大優勢。畢竟,各種安全攻擊的變化很快,也許今天說的過濾器一個月后就要改寫了。
同時,對于IPS這種采用In Line模式的設備,必須保證最小的誤報與漏報率,而基于FPGA實現的移動偏移量檢測,則是必須的手段。因為對攻擊來說,一般都是混合在正常的網絡流量中。換句話說,其在一個IP包里面的位置(偏移量)是不固定的。
作為近兩年在安全領域突飛猛進的本土企業代表,神州數碼網絡的安全技術經理王景輝認為,無論是IDS還是IPS,都需要在流量中不斷尋找可疑特征,以便引起觸發機制。李臻同時表示,單個可疑特征不一定就是攻擊行為。因此IPS必須抓到大量的可疑特征,然后交給CPU進行驗證,以便判斷是否為攻擊。但在這個過程中,最關鍵的一點就是,這個抓取可疑特征的速度一定要快,否則就會導致漏報。因此如果僅靠CPU做所有的工作,其速度無法保證。而利用FPGA的高速度幫助進行基層篩選,然后交由CPU確認,就可以最大限度地確保設備架構的優化。
“在整個特征抓取過程中,偏移量可以是不定的,比如內容字節的不定長度。而NP一般只能進行固定偏移量的抓取,比如從IP包頭結束開始56個字節的地方有特征,然后去查找。但如果需要對整個PayLoad里面1500個字節都掃描一遍,NP的開銷太大。FPGA利用哈希算法來控制,從PayLoad中取片斷,然后做算法,再到表里面去查。”李臻說。
另外,他覺得在IPS中采用FPGA,可以最大程度保護用戶投資。這個投資保護分為兩個方面:第一,FPGA的性能優勢具有良好的抗小包攻擊能力。因為對于x86架構來講,基于中斷的CPU處理方式在對抗小包的時候性能損耗太大。其實這個也很好理解,一般安全設備保護的多為服務器,而服務器的CPU往往要比安全設備中用的好,如果服務器都擋不住小包,安全設備又如何防范?為此,用戶往往需要購買單獨的防御DDoS的設備,增加了安全成本。而相對于CPU,FPGA在這方面具備很強的性能優勢。
第二,FPGA的擴展性較好。在IPS中使用的FPGA往往有一定的預留性,比如一個常見的800萬門的FPGA芯片,一般實際使用僅為200萬門左右。預留的部分就是為了安全設備日后升級所用(甚至可以進行不用重啟的FPGA升級)。雖然使用CPU的安全產品也可以做到低利用率,但其壓力的承受與升級會有挑戰。比如在4G左右吞吐率的情況下,打開500條安全規則,配置兩顆CPU。如果用戶線路的流量逐年增加,而微軟每月發布的漏洞也超過5個,其他的系統漏洞也不斷更新,而新的攻擊也會出現,在這個情況下,一般不到一年就會增加到800條規則。而CPU利用率的預留很難在安全算法不斷變化的情況下界定,同時一旦CPU需要增加或者升級,其往往要帶動軟件設計的升級,以便更好地實現負載均衡或者任務分擔,其復雜度也要超過FPGA。
到期的契約?
正如本文開頭所講的,FPGA并非職業殺手,其高速、靈活的特征在IPS上具有殺手級潛力,但在其他的安全領域則未必如此。對于目前發展如火如荼的UTM 以及高端防火墻市場,體系架構的爭論還是很激烈。
WatchGuard亞太區技術總監葉建輝認為,ASIC的發展速度一定不及通用CPU,用來發展新一代ASIC的時間,通用CPU可能已經經歷三至四代。相應的,FPGA的問題也是如此。所以公司決定采取通用CPU作為發展UTM安全平臺的架構。從目前的情況看,通用CPU對比專用器件在處理一般安全功能方面沒有很大的性能差距,近期更有雙核這類高性價比技術的出現,進一步提升了CPU的性能。
雖然FPGA與ASIC相比相對靈活,可以比較靈活地處理IDS/IPS及防病毒所需更新的簽名功能(Signature),但對如今市場對UTM的需求期望,無論是ASIC或FPGA都顯得無法靈活處理。
他指出,在安全產品只提供防火墻及VPN功能的時代,ASIC的設計已經足夠。雖然ASIC不夠靈活,但它可提供快速處理包過濾這類特定的功能。然后安全產品又加入了IDS/IPS及防病毒等需要快速模式匹配及更新簽名的功能,此時FPGA比較靈活的架構就可派上用場。但如今UTM安全平臺除了以上的功能,還有防垃圾郵件、防間諜軟件及URL/內容過濾等只有通用CPU架構才能實現的功能。這些UTM功能不同于防火墻/VPN/IDS/IPS,不是單一特定功能或模式匹配,所以用FPGA不能實現大幅提高性能的目的,而只有在通用CPU架構上同時使用軟件才可實現更高的整體性能。
利用CPU架構,WatchGuard的智能分層安全引擎(ILS)在安全操作系統和軟件上整合了多種UTM功能。由于有很多攻擊并不針對某一項安全功能,智能分層安全引擎能在不同安全層面上互相溝通,所以更能有效地捍衛受保護的網絡。
深信服的技術經理葉宜斌認為,x86架構是實現UTM最好的平臺。因為大多數的網關型產品都采用這種模式。畢竟UTM的發展趨勢是一個設備中集中越來越多的功能,這個是要求需要很高的擴展性,而內容過濾也是目前CPU的強項。但他不排除今后會在中高端UTM產品中加入FPGA芯片。
SonicWall北方區技術經理蔡永生認為,由于UTM的環境影響,很可能多內核的安全處理器會更加有優勢。因為為安全應用而設計的多內核安全處理器比FPGA有更大的靈活性。只要通過軟件升級,安全設備可以不斷地更新以防御最新的安全威脅,而且性能不比FPGA差。在此基礎上,利用一套高性能的DPI(深度包檢測)引擎,實現病毒、入侵和間諜軟件的掃描。
另外,蔡永生始終認為,對于大量部署的設備而言,讓客戶升級FPGA是有難度的,而且存在燒寫限制。不過在這一點上,TippingPoint指出其數字疫苗方式(類似Signature)非常便于用戶下載、升級,且每周一次的疫苗發布不會突破FPGA的壽命。
神州數碼網絡的王景輝認為,在不同的需求和不同的環境下,安全廠商會根據自己的產品定位來選擇相應的技術手段。不過對于不同的技術本身,他覺得也許不存在好與壞的差異。
據悉,在神州數碼網絡最新推出的UTM產品中,采用的也是x86架構,其核心在于保證性能與多功能的前提下,實現最豐富的應用。他認為對于安全產品,特別是具有內容控制的產品,必須提供靈活與使用便利的能力。同時還要為用戶提供優秀的性價比。在目前情況下,FPGA的高成本與低功能集成特征無法滿足UTM的需要。
同時,他也指出,目前國內市場上的UTM產品主要集中在中低端的100M左右產品,在這個吞吐率下,使用x86架構不會帶來瓶頸,相反還可以提供更加靈活的部署方案。而如果今后隨著雙核技術以及CPU技術的進一步發展,加上對吞吐率要求的提高,不排除會在相關產品中加入FPGA的可能性,但這還是要看市場的發展。
另外,神州數碼網絡的產品經理楊雁群表示,利用x86架構不僅可以獲得高功能集成,而且可以利用軟件確保與周圍設備的聯動配合。目前神州數碼網絡打算將UTM產品部署到自己的全網安全解決方案當中,以便獲得最佳的安全性與易用性。
作為在眾多安全領域都有涉足的Juniper,其產品線涵蓋了防火墻、VPN、IPS/IDS、UTM等多個領域,而在不同的產品中,CPU、NP、ASIC、FPGA也都有使用。
Juniper技術經理王衛對于不同技術在安全產品中的應用看得十分清楚,他覺得各種技術、體系架構就像一個個名詞,本身沒有優劣之分,只有在不同環境下、不同產品中,采用最適合技術的選擇。
比如高端防火墻的吞吐率可以達到30G,而在這個模式下,沒有用戶會去考慮其防病毒的特點,因此用ASIC來實現無疑是合適的。如果用x86架構做,也許滿滿一機箱的CPU也能做到,但是成本、功耗都是大問題。同樣的道理,如果僅僅是一款百兆防火墻,純粹的CPU可以獲得最佳的性價比。
但他覺得目前爭論的焦點在于百兆防火墻和千兆防火墻的入口,多種技術會有交叉。因此出現CPU+NP+ASIC的架構就不足以為怪。而FPGA也是同樣的道理,對于千兆以上,萬兆以下的產品,FPGA有可能實現,但前提是成本。其實很多高端產品在設計模擬階段用FPGA,但是固定下來后會燒成ASIC。不過到達萬兆甚至更高,則很難說了。
總而言之,他覺得在安全產品中,變化可能性較高的產品用FPGA比較合適,而UTM則基本與FPGA無緣,因為相對來說,這么多年來查病毒就是CPU做的比較好。
最后,王衛提出了一個非常有意思的觀點:可編程器件的界限會越來越模糊,ASIC已經可以編程,NP和FPGA更是加強了這方面的能力,未來可變化的能力各種體系都有,將來任何一種技術手段都可以確保靈活的設計。因此未來在體系結構選擇中,依然會是:在什么環境下,什么吞吐能力下,選擇最合適的技術。
評論
查看更多