流協定作為監控內部網路安全的工具

當談到監控內部公司或部門網路的安全時,許多人將其與控制資訊外洩和實施 DLP 解決方案聯繫起來。 如果您試圖澄清問題並詢問如何偵測內部網路上的攻擊,那麼答案通常會提到入侵偵測系統(IDS)。 10-20 年前唯一的選擇如今已經不合時宜。 有一種更有效的,在某些地方,是監視內部網路的唯一可能的選擇- 使用流協議,其最初設計用於搜尋網路問題(故障排除),但隨著時間的推移轉變為一種非常有趣的安全工具。 我們將討論有哪些串流協定以及哪些協定更適合偵測網路攻擊,最好在哪裡實施串流監控,部署這種方案時需要注意什麼,甚至如何在家用裝置上「提升」這一切在本文的範圍內。

我不會詳細討論「為什麼需要內部基礎設施安全監控?」這個問題。 答案似乎很清楚。 但是,如果您想再次確定今天沒有它您就無法生存, 一段簡短的視頻,介紹如何透過 17 種方式滲透受防火牆保護的企業網路。 因此,我們假設我們了解內部監控是必要的,剩下的就是了解如何組織它。

我想強調在網路層面監控基礎設施的三個關鍵資料來源:

  • 我們捕獲並提交給某些分析系統進行分析的「原始」流量,
  • 來自流量經過的網路設備的事件,
  • 透過流協定之一接收的流量資訊。

流協定作為監控內部網路安全的工具

捕捉原始流量是安全專家中最受歡迎的選擇,因為它歷史上就出現過並且是第一個。 傳統的網路入侵偵測系統(第一個商業入侵偵測系統是來自Wheel Group 的NetRanger,由Cisco 於1998 年購買)精確地擷取封包(以及後來的會話),在封包中尋找某些簽章(“決定性規則」) FSTEC 術語),訊號攻擊。 當然,您不僅可以使用 IDS 來分析原始流量,還可以使用其他工具(例如 Wireshark、tcpdum 或 Cisco IOS 中的 NBAR2 功能),但它們通常缺乏區分資訊安全工具和常規工具的知識庫。 IT 工具。

所以,攻擊偵測系統。 最古老、最受歡迎的偵測網路攻擊的方法,它在外圍(無論什麼 - 企業、資料中心、網段等)表現良好,但在現代交換和軟體定義網路中卻失敗了。 對於基於傳統交換機構建造的網絡,攻擊檢測感測器的基礎設施變得太大 - 您必須在與要監控攻擊的節點的每個連接上安裝一個感測器。 當然,任何製造商都會很樂意向您出售數百或數千個感測器,但我認為您的預算無法支持這樣的費用。 我可以說,即使在思科(我們是 NGIPS 的開發商),我們也無法做到這一點,儘管價格問題似乎擺在我們面前。 我不應該袖手旁觀——這是我們自己的決定。 另外,問題來了,這個版本的感測器要如何連接呢? 進入間隙? 如果感測器本身故障怎麼辦? 感測器中需要旁路模組嗎? 使用分離器(水龍頭)? 所有這些都使得該解決方案更加昂貴,並且對於任何規模的公司來說都無法承受。

流協定作為監控內部網路安全的工具

您可以嘗試將感測器「掛」在 SPAN/RSPAN/ERSPAN 連接埠上,並將流量從所需的交換器連接埠引導至該感測器。 此選項部分消除了上一段中描述的問題,但提出了另一個問題 - SPAN 連接埠無法絕對接受發送給它的所有流量 - 它不會有足夠的頻寬。 你將不得不犧牲一些東西。 要么讓某些節點不受監控(那麼您需要先對它們進行優先排序),要么不發送來自該節點的所有流量,而僅發送特定類型的流量。 無論如何,我們可能會錯過一些攻擊。 此外,SPAN連接埠還可用於其他需求。 因此,我們必須審查現有的網路拓撲,並可能對其進行調整,以便利用您擁有的感測器數量來最大限度地覆蓋您的網路(並與 IT 部門協調)。

如果您的網路使用非對稱路由怎麼辦? 如果您已經實施或計劃實施SDN怎麼辦? 如果您需要監控流量根本不到達實體交換器的虛擬機器或容器怎麼辦? 這些都是傳統 IDS 供應商不喜歡的問題,因為他們不知道如何回答這些問題。 也許他們會說服你,所有這些時尚技術都是炒作,而你並不需要它們。 也許他們會談論從小事做起的必要性。 或者他們可能會說您需要在網路中心放置一個強大的脫粒機,並使用平衡器將所有流量引導至它。 無論向您提供什麼選擇,您都需要清楚地了解它如何適合您。 然後才決定選擇一種方法來監控網路基礎設施的資訊安全。 回到資料包捕獲,我想說這種方法仍然非常流行和重要,但其主要目的是邊界控制; 您的組織和網際網路之間的邊界、資料中心和網路其餘部分之間的邊界、流程控制系統和企業部門之間的邊界。 在這些地方,經典的IDS/IPS仍然有存在的權利並且很好地應對他們的任務。

流協定作為監控內部網路安全的工具

讓我們繼續討論第二個選項。 對來自網路設備的事件的分析也可用於攻擊檢測目的,但不能作為主要機制,因為它僅允許檢測一小類入侵。 此外,它是某些反應性所固有的——攻擊必須首先發生,然後必須由網路設備記錄,這會以某種方式發出資訊安全問題的信號。 有幾種這樣的方法。 這可以是系統日誌、RMON 或 SNMP。 只有當我們需要檢測對網路設備本身的 DoS 攻擊時,才使用最後兩個在資訊安全背景下進行網路監控的協議,因為使用 RMON 和 SNMP 可以監控設備中央設備上的負載等。處理器或其接口。 這是「最便宜」的方法之一(每個人都有 syslog 或 SNMP),但也是所有監控內部基礎設施資訊安全的方法中最無效的方法 - 許多攻擊都被它隱藏起來。 當然,它們也不應該被忽視,同樣的syslog分析可以幫助您及時識別設備本身配置的變化,對其造成的危害,但它不太適合檢測整個網路的攻擊。

第三個選項是分析有關通過支援多種流協定之一的設備的流量的資訊。 在這種情況下,無論協定如何,執行緒基礎設施都必須由三個元件組成:

  • 流量的產生或匯出。 該角色通常會指派給路由器、交換器或其他網路設備,它們透過自身傳遞網路流量,讓您可以從中提取關鍵參數,然後將其傳輸到收集模組。 例如,思科不僅在路由器和交換器(包括虛擬交換器和工業交換器)上支援 Netflow 協議,而且在無線控制器、防火牆甚至伺服器上也支援 Netflow 協議。
  • 採集流量。 考慮到現代網路通常具有多個網路設備,因此出現了收集和合併流的問題,這是使用所謂的收集器來解決的,收集器處理接收到的流,然後將其傳輸以進行分析。
  • 流量分析分析器承擔主要的智慧任務,並將各種演算法應用於串流,得出某些結論。 例如,作為 IT​​ 功能的一部分,此類分析器可以識別網路瓶頸或分析流量負載概況,以進一步優化網路。 對於資訊安全來說,這樣的分析器可以偵測資料外洩、惡意程式碼的傳播或 DoS 攻擊。

不要認為這個三層架構太複雜 - 所有其他選項(也許除了使用 SNMP 和 RMON 的網路監控系統)也可以根據它工作。 我們有一個用於分析的資料產生器,它可以是網路設備,也可以是獨立的感測器。 我們有整個監控基礎設施的警報採集系統和管理系統。 最後兩個組件可以組合在單一節點內,但在或多或少的大型網路中,它們通常分佈在至少兩個設備上,以確保可擴展性和可靠性。

流協定作為監控內部網路安全的工具

資料包分析是基於研究每個資料包的標頭和正文資料及其包含的會話,而資料包分析不同,流分析依賴於收集有關網路流量的元資料。 何時、多少、從何地、何地、如何…這些都是使用各種流協定進行網路遙測分析所回答的問題。 最初,它們用於分析統計數據並查找網路上的 IT 問題,但後來,隨著分析機制的發展,可以將它們應用於相同的遙測以達到安全目的。 再次值得注意的是,流分析並不能取代或取代資料包擷取。 這些方法中的每一種都有其自己的應用領域。 但在本文中,流量分析最適合監控內部基礎設施。 您擁有攻擊無法繞過的網路設備(無論它們是按照軟體定義範例運行還是按照靜態規則運行)。 它可以繞過經典的 IDS 感測器,但支援流協定的網路設備卻不能。 這就是方法的優點。

另一方面,如果您需要執法部門或您自己的事件調查團隊的證據,則不能沒有資料包擷取 - 網路遙測不是可用於收集證據的流量副本; 資訊安全領域快速檢測和決策所需要的。 另一方面,使用遙測分析,您不能「寫入」所有網路流量(如果有的話,思科會處理資料中心:-),而只能「寫入」攻擊中涉及的流量。 這方面的遙測分析工具將很好地補充傳統的資料包擷取機制,提供選擇性擷取和儲存的命令。 否則,您將必須擁有龐大的儲存基礎架構。

讓我們想像一個以 250 Mbit/秒的速度運作的網路。 如果要儲存所有這些容量,那麼一秒鐘的流量傳輸需要 31 MB 的儲存空間,一分鐘需要 1,8 GB,一小時需要 108 GB,一天需要 2,6 TB。 要儲存來自頻寬為 10 Gbit/s 的網路的日常數據,您將需要 108 TB 的儲存空間。 但一些監管機構要求安全資料儲存多年…流量分析可幫助您實施按需記錄,有助於將這些值降低幾個數量級。 順便說一句,如果我們談論記錄的網路遙測資料量與完整資料擷取量的比率,則大約為 1 比 500。對於上面給出的相同值,儲存所有每日流量的完整記錄分別為5 GB 和216 GB(您甚至可以將其記錄在普通隨身碟上)。

如果對於分析原始網路資料的工具來說,不同供應商擷取資料的方法幾乎相同,那麼在流量分析的情況下,情況就不同了。 流協定有多種選項,您需要在安全性方面了解其中的差異。 最受歡迎的是 Cisco 開發的 Netflow 協定。 該協定有多個版本,其功能和記錄的流量資訊量各不相同。 目前的版本是第九個版本(Netflow v9),在此基礎上開發了業界標準 Netflow v10,也稱為 IPFIX。 如今,大多數網路供應商在其設備中都支援 Netflow 或 IPFIX。 但串流協定還有多種其他選擇 - sFlow、jFlow、cFlow、rFlow、NetStream 等,其中 sFlow 最受歡迎。 由於這種類型易於實施,因此最常受到國內網路設備製造商的支援。 已成為事實標準的 Netflow 和 sFlow 之間的主要區別是什麼? 我想強調幾個關鍵點。 首先,Netflow 具有使用者可自訂的字段,而不是 sFlow 中的固定字段。 其次,這是我們案例中最重要的事情,sFlow 收集所謂的採樣遙測資料; 與 Netflow 和 IPFIX 的未取樣相比。 它們之間有什麼區別?

流協定作為監控內部網路安全的工具

想像一下你決定讀這本書“安全營運中心:建置、營運和維護您的 SOC我的同事 - 加里·麥金泰爾 (Gary McIntyre)、約瑟夫·穆尼茨 (Joseph Munitz) 和納德姆·阿爾法丹 (Nadem Alfardan)(您可以從鏈接下載本書的部分內容)。 您可以透過三種選擇來實現您的目標 - 閱讀整本書、瀏覽一遍、每隔 10 或 20 頁停下來,或嘗試在部落格或 SmartReading 等服務上找到關鍵概念的複述。 因此,未採樣遙測正在讀取網路流量的每個“頁面”,即分析每個資料包的元資料。 採樣遙測是對流量的選擇性研究,希望所選樣本包含您需要的內容。 根據通道速度,每第 64 個、第 200 個、第 500 個、第 1000 個、第 2000 個甚至第 10000 個資料包將發送採樣遙測資料進行分析。

流協定作為監控內部網路安全的工具

在資訊安全監控的背景下,這意味著採樣遙測非常適合檢測 DDoS 攻擊、掃描和傳播惡意程式碼,但可能會錯過發送分析的樣本中未包含的原子攻擊或多封包攻擊。 非採樣遙測沒有這樣的缺點。 這樣,偵測到的攻擊範圍就更廣了。 以下是可以使用網路遙測分析工具偵測到的事件的簡短清單。

流協定作為監控內部網路安全的工具

當然,一些開源的Netflow分析器不會允許你這樣做,因為它的主要任務是收集遙測資料並從IT角度對其進行基本分析。 要基於串流識別資訊安全威脅,需要為分析器配備各種引擎和演算法,這些引擎和演算法將基於標準或自訂Netflow欄位識別網路安全問題,利用來自各種威脅情報來源的外部資料豐富標準資料等。

流協定作為監控內部網路安全的工具

因此,如果您有選擇,請選擇 Netflow 或 IPFIX。 但即使您的設備像國內製造商一樣只能與 sFlow 配合使用,即使在這種情況下,您也可以在安全方面從中受益。

流協定作為監控內部網路安全的工具

2019 年夏天,我分析了俄羅斯網路硬體製造商的能力,除了 NSG、Polygon 和 Craftway 之外,所有這些製造商都宣布支援 sFlow(至少是 Zelax、Natex、Eltex、QTech、Rusteleteh)。

流協定作為監控內部網路安全的工具

您將面臨的下一個問題是在哪裡實現出於安全目的的串流支援? 事實上,這個問題的提出並不完全正確。 現代設備幾乎總是支援流協定。 因此,我會以不同的方式重新表達這個問題──從安全角度來看,在哪裡收集遙測資料最有效? 答案將非常明顯 - 在存取級別,您將看到 100% 的所有流量,您將獲得有關主機的詳細資訊(MAC、VLAN、介面 ID),您甚至可以監控主機之間的 P2P 流量,這對於掃描檢測和惡意程式碼分發至關重要。 在核心級別,您可能根本看不到部分流量,但在外圍級別,您將看到所有網路流量的四分之一。 但是,如果由於某種原因,您的網路上有外部設備,允許攻擊者在不繞過邊界的情況下“進入和退出”,那麼分析其中的遙測資料將不會給您任何資訊。 因此,為了獲得最大覆蓋範圍,建議在訪問級別啟用遙測收集。 同時,值得注意的是,即使我們談論虛擬化或容器,現代虛擬交換器中也經常可以找到流量支持,這也允許您控制那裡的流量。

但既然我提出了這個主題,我就需要回答一個問題:如果實體或虛擬設備不支援流協定怎麼辦? 或者是否禁止將其包含在內(例如,在工業領域以確保可靠性)? 或者打開它是否會導致 CPU 負載過高(這種情況發生在較舊的硬體上)? 為了解決這個問題,有專門的虛擬感測器(流量感測器),它們本質上是普通的分路器,將流量通過自身傳遞,並以流量的形式廣播到採集模組。 確實,在這種情況下,我們遇到了上面討論的與資料包擷取工具相關的所有問題。 也就是說,您不僅需要了解流分析技術的優點,還需要了解其限制。

在談論流量分析工具時要記住的另一點很重要。 如果相對於產生安全事件的傳統方法,我們使用 EPS 指標(每秒事件數),則該指標不適用於遙測分析; 它被 FPS(每秒流量)取代。 與 EPS 的情況一樣,它無法事先計算,但您可以根據特定裝置的任務估計其產生的大致執行緒數。 您可以在互聯網上找到包含不同類型企業設備和條件的近似值的表格,這將允許您估計分析工具需要哪些許可證以及它們的架構是什麼? 事實上,IDS 感測器受到其可以「拉動」的一定頻寬的限制,而流量收集器也有其自身的局限性,必須了解這一點。 因此,在大型的、地理上分散的網路中通常有多個收集器。 當我描述 思科內部如何監控網路,我已經給出了我們收集器的數量 - 其中有 21 個。這是針對分佈在五大洲的網絡,活躍設備數量約為 XNUMX 萬)。

流協定作為監控內部網路安全的工具

我們使用自己的解決方案作為 Netflow 監控系統 思科隱形觀察者,專門致力於解決安全問題。 它具有許多內建引擎,用於檢測異常、可疑和明顯的惡意活動,使您能夠檢測各種不同的威脅 - 從加密挖礦到資訊洩露,從惡意程式碼傳播到詐欺。 與大多數流量分析儀一樣,Stealthwatch 是根據三級方案(生成器 - 收集器 - 分析器)構建的,但它補充了許多有趣的功能,這些功能對於所考慮的材料的上下文非常重要。 首先,它與封包擷取解決方案(例如思科安全封包分析器)集成,使您可以記錄選定的網路會話,以便日後進行深入調查和分析。 其次,為了擴展安全任務,我們開發了一種特殊的nvzFlow 協議,它允許您將終端節點(伺服器、工作站等)上的應用程式活動「廣播」到遙測中,並將其傳輸到收集器進行進一步分析。 如果 Stealthwatch 的原始版本可在網路層級與任何串流協定(sFlow、rFlow、Netflow、IPFIX、cFlow、jFlow、NetStream)搭配使用,則 nvzFlow 支援也允許在節點層級進行資料關聯。 與傳統的網路流量分析儀相比,提高了整個系統的效率並發現了更多的攻擊。

顯然,當從安全角度談論 Netflow 分析系統時,市場並不局限於思科的單一解決方案。 您可以使用商業和免費或共享軟體解決方案。 如果我在思科部落格上引用競爭對手的解決方案作為範例,那會很奇怪,因此我將簡單介紹如何使用兩種流行的、名稱相似但仍然不同的工具(SiLK 和 ELK)來分析網路遙測。

SiLK 是一套用於流量分析的工具(互聯網級知識系統),由美國 CERT/CC 開發,在今天的文章中支援 Netflow(第 5 版和第 9 版,最受歡迎的版本)、IPFIX和sFlow 並使用各種實用程式(rwfilter、rwcount、rwflowpack 等)對網路遙測執行各種操作,以偵測其中未經授權的操作的跡象。 但有幾點要注意。 SiLK 是一個命令列工具,透過輸入以下命令來執行線上分析(偵測大於 200 位元組的 ICMP 封包):

rwfilter --flowtypes=all/all --proto=1 --bytes-per-packet=200- --pass=stdout | rwrwcut --fields=sIP,dIP,iType,iCode --num-recs=15

不太舒服。 您可以使用iSiLK GUI,但它不會讓您的生活變得更輕鬆,僅解決視覺化功能,並不能取代分析師。 這是第二點。 與已經擁有堅實的分析基礎、異常檢測演算法、相應工作流程等的商業解決方案不同,對於 SiLK,您必須自己完成所有這些工作,這與使用已經準備好的能力略有不同 -使用工具。 這既不好也不壞——這是幾乎所有免費工具的一個功能,它假設您知道該怎麼做,並且它只會幫助您完成此任務(商業工具不太依賴其用戶的能力,儘管它們也假設分析師至少了解網路調查和監控的基礎知識)。 但讓我們回到SiLK。 分析師的工作週期如下圖所示:

  • 提出假設。 我們必須了解我們將在網路遙測中尋找什麼,以了解我們將識別某些異常或威脅的獨特屬性。
  • 建立一個模型。 制定假設後,我們使用相同的 Python、shell 或 SiLK 中未包含的其他工具對其進行程式設計。
  • 測試。 現在輪到檢查我們假設的正確性了,使用以「rw」、「set」、「bag」開頭的 SiLK 實用程式來證實或反駁該假設。
  • 真實數據分析。 在工業操作中,SiLK幫助我們識別某些東西,分析師必須回答以下問題“我們找到了我們期望的東西嗎?”,“這符合我們的假設嗎?”,“如何減少誤報的數量?” ,「如何提高認可度?》 等等。
  • 改進。 在最後階段,我們改進之前所做的事情 - 我們創建模板,改進和優化程式碼,重新制定和澄清假設等。

這個循環也將適用於Cisco Stealthwatch,只有最後一個將這五個步驟最大限度地自動化,減少了分析人員的錯誤數量並提高了事件檢測的效率。 例如,在SiLK 中,您可以使用手寫腳本利用有關惡意IP 的外部數據來豐富網路統計數據,而在Cisco Stealthwatch 中,它是一項內建功能,如果網路流量包含與黑名單中的IP 位址的交互,則會立即顯示警報。

如果你在流量分析軟體的「付費」金字塔中走得更高,那麼在完全免費的SiLK之後將會有一個共享軟體ELK,由三個關鍵組件組成——Elasticsearch(索引、搜尋和數據分析)、 Logstash(資料輸入/輸出) )和 Kibana(視覺化)。 與必須自己編寫所有內容的 SiLK 不同,ELK 已經擁有許多現成的函式庫/模組(有些是付費的,有些不是),可以自動進行網路遙測分析。 例如,Logstash 中的 GeoIP 過濾器可讓您將受監控的 IP 位址與其地理位置相關聯(Stealthwatch 具有此內建功能)。

流協定作為監控內部網路安全的工具

ELK 還有一個相當大的社區,正在完善此監控解決方案所缺少的組件。 例如,要使用 Netflow、IPFIX 和 sFlow,您可以使用該模組 彈性流,如果您對僅支援 Netflow 的 Logstash Netflow 模組不滿意。

雖然 ELK 在收集流量和搜尋方面提供了更高的效率,但目前缺乏豐富的內建分析來偵測網路遙測中的異常和威脅。 也就是說,按照上述生命週期,您將必須獨立描述違規模型,然後在戰鬥系統中使用它(那裡沒有內建模型)。

流協定作為監控內部網路安全的工具

當然,ELK 有更複雜的擴展,其中已經包含一些用於檢測網路遙測異常的模型,但此類擴展需要花錢,問題是遊戲是否值得 - 自己編寫一個類似的模型,購買其實現為您的監控工具,或購買網路流量分析類的現成解決方案。

流協定作為監控內部網路安全的工具

一般來說,我不想陷入這樣的爭論:最好花錢購買現成的解決方案來監控網絡遙測中的異常和威脅(例如,Cisco Stealthwatch),還是自己弄清楚並定制相同的解決方案針對每個新威脅的SiLK、ELK 或nfdump 或OSU Flow Tools(我說的是最後兩個) 告訴 上次)? 每個人都為自己做出選擇,每個人都有自己選擇這兩個選項中任何一個的動機。 我只是想表明,網路遙測是確保內部基礎設施網路安全的一個非常重要的工具,您不應該忽視它,以免加入媒體提及的公司名單以及綽號“被駭客攻擊”、“不符合資訊安全要求” 、「沒有考慮自己的資料和客戶資料的安全」。

流協定作為監控內部網路安全的工具

總而言之,我想列出在建置內部基礎設施的資訊安全監控時應遵循的關鍵提示:

  1. 不要只將自己限制在外圍! 使用(和選擇)網路基礎設施不僅可以將流量從 A 點轉移到 B 點,還可以解決網路安全問題。
  2. 研究您的網路設備中現有的資訊安全監控機制並使用它們。
  3. 對於內部監控,優先考慮遙測分析——它可以讓您檢測高達80-90%的所有網路資訊安全事件,同時做捕獲網路封包時不可能完成的事情,並節省儲存所有資訊安全事件的空間。
  4. 要監視流量,請使用 Netflow v9 或 IPFIX - 它們在安全上下文中提供更多信息,並且允許您不僅監視 IPv4,還可以監視 IPv6、MPLS 等。
  5. 使用未採樣的流協定 - 它提供了更多用於檢測威脅的資訊。 例如,Netflow 或 IPFIX。
  6. 檢查網路設備上的負載 - 它可能也無法處理流協定。 然後考慮使用虛擬感測器或 Netflow Generation Appliance。
  7. 首先在存取層級實施控制 - 這將使您有機會看到 100% 的所有流量。
  8. 如果你別無選擇且使用的是俄羅斯網路設備,那麼請選擇支援流協定或具有SPAN/RSPAN連接埠的設備。
  9. 將邊緣的入侵/攻擊偵測/預防系統與內部網路(包括雲端)的流量分析系統結合。

流協定作為監控內部網路安全的工具

關於最後一個提示,我想舉一個我之前已經給的例子。 你看,如果以前思科資訊安全服務部門幾乎完全基於入侵偵測系統和簽章方法來建構其資訊安全監控系統,那麼現在它們只佔事件的20%。 另外20%落在流量分析系統上,顯示這些解決方案不是心血來潮,而是現代企業資訊安全服務活動中的真正工具。 此外,您擁有實施它們的最重要的東西 - 網路基礎設施,透過向網路分配資訊安全監控功能可以進一步保護對網路基礎設施的投資。

流協定作為監控內部網路安全的工具

我特別沒有涉及響應網路流中發現的異常或威脅的主題,但我認為很明顯,監控不應僅隨著檢測到威脅而結束。 隨後應有響應,並且最好是自動或自動模式。 但這是另一篇文章的主題。

附加信息:

附言。 如果您更容易聽到上面寫的所有內容,那麼您可以觀看構成本筆記基礎的長達一小時的演示。



來源: www.habr.com

添加評論