2020 看雪SDC議題回顧 | 世界知名工控廠商密碼保護機制突破之旅

Editor發表於2020-11-02
在新基建浪潮的推動下,工控安全將迎來新一輪發展機遇和巨大的發展空間。但密碼保護系統作為工控安全的“大門”,安全性令人堪憂。

使用密碼技術保護工業控制系統安全已經成為當今工業發展所需的必要保障

瞭解工控系統的攻擊思路和實現方法,“對症下藥”提高核心控制裝置的安全性,特別是密碼保護機制的安全性成為重中之重。

下面就讓我們來回顧看雪2020第四屆安全開發者峰會上《世界知名工控廠商密碼保護機制突破之旅》的精彩內容。




演講嘉賓


2020 看雪SDC議題回顧 | 世界知名工控廠商密碼保護機制突破之旅

高劍,綠盟科技格物實驗室資深工控安全研究員。主要研究方向為工控系統漏洞、工控業務場景風險評估與測試。已獲得數十個CVE、CNVD編號。多次參與國家級工控安全平臺建設專案及國內知名製造廠商調研專案。


演講內容




以下為速記全文:

大家下午好,我是高劍。很榮幸,也非常感謝看雪能夠提供這樣一個平臺和機會讓我來跟大家分享工控安全的相關議題。今天我要分享的議題是《世界知名工控廠商密碼保護機制突破之旅》。

在開始之前,先做一下個人介紹。我現在就職於綠盟科技格物實驗室,職位是工控安全研究員,主要研究方向是兩個,一個是工控系統及裝置漏洞挖掘與分析,另外一個是工控業務場景風險評估與測試,目前已獲數十個CVE、CNVD編號,涉及的廠商包括西門子、施耐德、Codesys、Kingview等。下面是我的聯絡方式,如果大家有什麼想法或者疑問歡迎溝通交流。

今天我帶來的議題有六個方面。因為在30分鐘內想給大家傳遞更多的知識,所以整體內容會比較豐富飽滿。第一部分說一下背景概述,介紹ICS是什麼,PLC裝置是什麼,PLC密碼到底是什麼。接下來二、三、四部分是抽取了世界知名的三大工控廠商的PLC裝置,去探究它們的密碼保護機制是如何被突破的,第五部分做一下簡要的總結,算是密碼保護機制突破的一個思路合集吧。最後的第六部分是我們的落腳點,會談一下如何設計一套更加安全、更加可靠的針對工控裝置的密碼保護機制,來抵禦一些攻擊。


一.背景概述


ICS就是工業控制系統。上午的議題講的都是Windows或者安卓這些,和我們的生活比較貼近,但ICS一出來,大家就要問這是什麼東西呀?有的人可能一輩子都沒見過這些東西是什麼,所以這方面的研究相對滯後一些,或者說關注的人也比較少,還是有門檻存在的。

給大家簡單介紹一下,通俗地講控制工業生產的系統都可以叫做工業控制系統,包含但不限於SCADA、DCS、PLC這些裝置或系統等,它的應用領域比較廣泛,比如電力、油氣、化工、軌道交通、食品飲料、汽車製造、礦山等等,它們都屬於國家關鍵資訊基礎設施。一旦這些行業的控制系統遭受到了駭客或者敵對勢力的攻擊,影響的會是我們的國家安全、國計民生、公共利益和社會穩定。正因如此,我國才會頻繁出臺一些政策,讓這些基礎設施提高安全閾值,免受一些駭客的攻擊。

一般來講,ICS的體系架構分五層,現場裝置層、現場控制層、過程監控層、生產執行層還有企業管理層。我今天要講的裝置位於現場控制層,叫PLC,很多人不知道這個PLC是什麼,PPT上給出的是一段非常學術的講解,我現在用比較通俗的話跟大家解釋一下。

PLC就是專門針對工業環境或者是控制需求所製造的一種特殊形態的嵌入式PC系統,它是具有采集、輸出、通訊、解算指令、任務排程等等功能的電子裝置,也是一個基礎的核心單元。一旦遭受攻擊,那它所控制的物件,像閥門、電機、機械手臂等都會發生一些誤操作,輕則會發生人員傷亡,重則會發生爆炸,出現安全事故。目前為止,PLC裝置在我們中國還是依賴於國外的一些品牌,國外品牌佔比的份額比較大。我們今天聚焦的三個廠商是國外知名的西門子、羅克韋爾和施耐德。

下面講講什麼是PLC的密碼。一般來講,工程人員會給PLC設定密碼,它的密碼是怎麼設定的呢?它是在專案檔案的工程屬性裡面設定的,然後把這個專案檔案編譯成二進位制,下裝到PLC裡面,PLC下裝成功之後,密碼功能就生效了。

PLC密碼有兩個作用,第一是防止未經授權的操作。這個怎麼理解呢?在工業現場中,對PLC裝置的維護都是由專門的工程師進行的,如果存在誤操作,導致其他人連線到了PLC,進行一些不相關的操作或者是改變控制器的狀態的話,都可能影響生產過程,造成一些安全事故。

第二是保護智慧財產權。舉一個例子,A工廠引進了一套口罩生產線,還有配套的PLC,一天十萬元請了一個工程師來給他把這個工藝演算法全都程式設計好之後,進行口罩的生產。隔壁老王就說這是一個好機會,能不能把這個複製一套呢?但是工程師一天十萬有點貴,那我能不能從PLC裡面把核心演算法複製一套,把他的演算法下載到我的PLC裡面呢?確實可以。但是如果這麼做的話,就證明智慧財產權已經被侵害了。

現在把一些基本概念都講清楚了,那今天要研究的內容就是如何去突破PLC的密碼保護機制,達到未經授權的操作和破壞智慧財產權目的。而最終的落腳點是從開發者的角度,如何設計更強健、更安全保護機制,去抵禦這種攻擊或者惡意行為。


二.羅克韋爾工控裝置密碼突破


我們先來看羅克韋爾裝置的密碼攻破思路和實戰。這是它的硬體裝置和它密碼的設定介面,它的密碼分主密碼、密碼還有子程式密碼。一般我們的分析思路是,先登入到PLC建立一個新工程,輸入一個密碼,同時去嗅探一下流量,從流量中尋找它的授權流程,配合上位機組態軟體關鍵dll分析,找到它的薄弱點就可以進行突破了。

這個時候就按照如上的突破思路往下走,執行登入操作的時候,控制器返回的流量就已經包含了明文資訊,這就說明我們到達城牆下了,炮還沒轟呢,他們把城門開啟了。密碼在這兒,給吧。現在寫一個指令碼,可以從它的響應報文裡面把主密碼、密碼、子程式密碼全都提取到了。

2020 看雪SDC議題回顧 | 世界知名工控廠商密碼保護機制突破之旅

我把這稱之為密碼保護設計的石器時代。因為它是從控制器讀取密碼後在上位機組態軟體中與使用者輸入密碼做比對的,這是一種非常古老的設計模式。針對這種,我們的攻克大法就是去嗅探它的流量,尋找一些敏感的資訊。


三.施耐德工控裝置密碼突破


下面來看施耐德的工控裝置吧。這個Quantum 140系列是施耐德上一代的大型PLC,廣泛應用於火電、水電、基礎設施等等領域。它的密碼設定和上面的差不多,但是隻需要輸入一個專案檔案的密碼,再下裝到PLC裡面就會生效。但是裡面有一個特殊的地方,就是如果使用者連續三次密碼輸入錯誤的話,嘗試第四次輸入時等待時間就會增加,看似設計得更好了,到底是不是這樣呢?我們就按照上面沒有實踐的思路來看一下。實踐證明,它還是把加密的憑證資訊給洩露了。

整個過程是這樣的,組態軟體先從特殊記憶體塊讀取資料,提取加密憑證之後,把加密憑證下發,來建立一個特殊的會話連結,以此獲取PLC的訪問許可權。有了這個許可權之後要做什麼操作都是OK的。

如果說是一個惡意攻擊者,就可以按照這樣的流程對其進行攻擊了,先是用0x20的功能碼去讀取記憶體,返回了加密憑證,再用0x10的功能碼下發包含加密憑證的報文,建立一個特權的會話連結。獲取會話連結後就可以執行一些惡意的操作指令,比如說去更改控制器的執行狀態。這個截圖就是它的密碼洩露點。

2020 看雪SDC議題回顧 | 世界知名工控廠商密碼保護機制突破之旅

對於這種密碼保護的設計方式,我姑且稱它為青銅器時代。它是從控制器裡面讀取加密憑據,再透過加密憑據建立合法的訪問特權會話。對於這類設計的攻克法門就是一定要熟悉協議,發掘關鍵資訊的洩露點,找到洩露點之後就好辦了。

關於協議:業界把施耐德的私有協議叫做Modbus 90功能碼,但是我們透過逆向之後發現,該協議在施耐德內部叫做UMAS協議。現在我們已經把UMAS協議研究的比較透徹了,也做了匹配wireshark的外掛。



四.西門子工控裝置密碼突破


下面看一下在全球範圍內,PLC裝置佔比最大的一個廠家西門子,這是一個百年企業。這裡我講一下它的三款經典裝置,看看它們的密碼保護怎麼突破。
先看S7-200系列,在十年前應用非常廣泛,只要是OEM的專案,有客戶指定的話都使用它。它有一箇中國版,裡面設計了一個四級密碼的保護。當密碼是四級的時候,即使輸入了正確的密碼,也不能上載PLC裡面的工程邏輯,可以說在智慧財產權保護方面做得非常強了。那針對這麼強的智慧財產權保護機制如何突破呢?下面就跟我來看一下突破思路。

要突破的話,就要知道它是如何實現的。我們分析了一下,有這麼幾個步驟,首先在系統塊裡面設定一個4級密碼,透過明文密碼和金鑰進行了隔位異或加密演算法,算出了它的密文,編譯後,系統塊的二進位制檔案經過PPI協議下裝到控制器裡面,儲存到了EEPROM晶片中。

2020 看雪SDC議題回顧 | 世界知名工控廠商密碼保護機制突破之旅

既然我們知道它的密碼資訊在EEPROM裡面,那是不是要對它採取一些措施呢?我們對EEPROM進行拆焊,就能讀取它的EEPROM裡的一些內容,並更改1個位元組的密碼等級,再偽造客戶端去下裝原始系統塊的關鍵引數到控制器裡面去,就成功突破了。

接下來帶大家詳細看看突破思路。

左邊的圖就是EEPROM晶片的截圖,中間是我們自己做的一個除錯平臺。因為要頻繁做實驗,讀EEPROM的值再回寫進去,所以做了一個平臺,可以方便我們去讀取和寫入。

2020 看雪SDC議題回顧 | 世界知名工控廠商密碼保護機制突破之旅

最右邊這個圖,就是EEPROM的內容,經過分析,找到了它的密碼等級就是紅框裡面這個04,剛才設定了一個密碼保護等級是4級,也就是禁止上載,就是04。後面在藍色框體裡面的資料,是一個加密後的密文,對應的明文密碼就是nihao123。

按照我們的思路,把四級密碼降級成一級密碼,也就是沒有密碼,再燒寫到EEPROM當中去,到底行不行呢?經過驗證還是不行的。因為經過分析,針對EEPROM特定區域還是有兩位元組的校驗的。而它的演算法分析起來比較難,我們後面提供了一個非常巧妙的思路,可以繞過這個校驗,達到突破的效果。

繞過兩位元組校驗碼的思路我們稱為移花接木,就是提取原bin檔案中系統塊引數,偽造一個客戶端將引數封裝成PPI報文下裝到PLC裡去,讓它自己去計算一下這個兩位元組校驗到底是什麼。我不用分析,也不用算,也不用像網上說的一些方法那樣,把晶片拆出來找一個一樣的PLC裝置,試著設定系統引數如果一樣再去替換。

其實我們要做的非常簡單,就是要偽裝一個客戶端,把之前EEPROM裡面系統塊的一些引數分析清楚,透過報文的哪個欄位或者透過哪個報文下裝下去的,直接把原始系統塊引數拆解封裝成PPI報文下裝下去之後,讓PLC自己計算就OK了。

2020 看雪SDC議題回顧 | 世界知名工控廠商密碼保護機制突破之旅

梳理一下整個流程,就是先去拆焊EEPROM晶片,讀取內部內容,分析後,修改密碼等級為01,再把修改後bin檔案燒寫至EEPROM中去。然後分析一下原始系統塊的引數,做一個偽造的客戶端,把引數封裝成PPI報文下裝下去,給PLC重新上電就可以上載程式了。就這樣,智慧財產權的保護被我們突破了。

我姑且稱它為密碼保護設計的鐵器時代。它使用了一個簡單的加密演算法處理,且在晶片內的儲存特徵較為明顯,易於尋找和突破。攻克法門就是拆焊硬體,替換關鍵位元組,梳理下裝的協議及流程,重構控制器裡面的關鍵引數。思路非常巧妙,僅供大家參考。當你日常研究或工作中遇到類似問題的時候,也可以套用這種思路。

下面看一下西門子針對中國市場設計的這款S7-200 Smart系列PLC。這個PLC和之前的一樣,也是四個密碼等級。這裡我們要討論的不是去突破它的智慧財產權,而是構建一個場景,來看能不能從它的流量出發,直接破解拿到它的原始密碼。

要達到這個目的,我們還是要先知道它授權的演算法或者說它的密碼保護是如何實現的。經過梳理和研究之後,發現是這麼幾個步驟,先是客戶端(組態軟體),請求PLC隨機數rkey,PLC返回22位元組的資料,客戶端再下發運算後的20個位元組hash值,這個時候PLC會返回密碼是否正確的響應報文。
這邊就是它的wireshark報文。

2020 看雪SDC議題回顧 | 世界知名工控廠商密碼保護機制突破之旅

這個時候我們從流量裡面拿到了20個位元組,那麼PLC返回的22個位元組還有輸入的pwd它們是用什麼樣的演算法去算出來這20個位元組的Hash呢?為了把這個演算法搞清楚,我們逆向分析了commL7動態庫。經過分析,演算法是這樣的,關鍵點有三個,輸入的pwd、控制器返回的22個位元組的rkey,還有儲存在控制器裡面的硬編碼Key。

2020 看雪SDC議題回顧 | 世界知名工控廠商密碼保護機制突破之旅

第一步先把輸入的密碼和rkey的前兩個位元組做一個SHA-1計算,得到了X。而rkey的後20個位元組為Y,XY做一個輸入引數。再用rkey的前兩個位元組,替換控制器內部的硬編碼Key的13、14位元組,替換完之後是一個新的硬編碼Key。

XY是一個引數,新的硬編碼Key是一個引數,送入之後進行一個HMAC-SHA-1的運算,就能得到最終的加密密碼fin_key。

我們把它的演算法研究清楚了,從流量裡面也拿到了22個位元組的rkey,逆向之後把它的硬編碼Key也獲取到了,還有它的fin_key也可以透過流量知道了,這個時候把它放到一個強勁的PC機或者伺服器上面讓他暴力跑一跑會怎麼樣呢?

下面我們利用這個思路,也就是離線爆破,去突破S7-200 SMART。我們的目的是從流量獲得關鍵資訊去突破密碼保護。它的過程是先嗅探流量,然後定位授權成功的報文,再去離線暴力破解,最終得到密碼。

但這裡有一個前提條件,就是必須要獲得組態軟體和PLC之間互動的完整報文,而且在這個報文中必須包含授權成功的操作。第三和第四個條件大家應該都知道,就不多說了。

2020 看雪SDC議題回顧 | 世界知名工控廠商密碼保護機制突破之旅

我這邊做了一個簡單的例子,設了一個6位的密碼,寫了一個指令碼,在自己的普通辦公PC上跑了17秒,就跑出了明文密碼,說明這個思路是可行的。

我們姑且稱西門子S7-200 smart的密碼設計是電氣化時代,它使用了複雜的加密演算法去處理密碼,且在控制器內部比較它們的hash值。但是它們的弱點在哪呢?通訊協議沒有加密,能夠獲取關鍵的20個位元組Hash和22個位元組rkey的一些敏感的資訊,而且可以逆向演算法,就可以做很多事情了。針對這一類,攻克大法就是要熟悉它的協議,分析報文,逆向它的演算法再離線暴力破解。

下面來到了S7-1200這個系列,這個系列是西門子小型PLC產品線裡資訊保安強度最強的。最新的V4.x版本,它的可靠性、安全性做的比較好,現在在中國市場也屬於一個高階的PLC。但它的密碼設定和上面幾個不一樣,上面幾個都是設定一個密碼或者幾個密碼,它則是設了三個密碼,而且對應不同的許可權。如果你要訪問這個許可權訪問裡面的功能,就必須輸入對應許可權級別的密碼。

西門子宣傳得應該也不假,我們就先試一試,看透過之前的方法到底行不行。先從流量方面看一下。經過分析,這個是採用了S7Commplus V3版本。這個版本非常強悍,用了很多密碼學的知識,在2019年的Blackhat USA中,以色列的一個研究團隊披露出來它的使用了N多種加密的演算法,加密強度非常強,而且對重點的操作流量還帶有控制器的私鑰保護,所以很難從流量中直接獲取到關鍵資訊。

第二步,能不能從硬體入手呢?結果看了一下,2019年之後它用的都是美光的NW812,2019年之前用的都是NQ281,這都是BGA的分裝的flash,拆焊難度比較大,損壞模組的風險也比較高。一個PLC模組2000左右人民幣,一焊壞2000人民幣就毀了,而且實驗室現在也不具備這樣的條件,所以這條路我暫時沒走,如果有大牛能走通可以試一試。

2020 看雪SDC議題回顧 | 世界知名工控廠商密碼保護機制突破之旅

再看第三條思路,線上爆破行不行呢?這就意味著要偽造一個客戶端,把它的演算法全套逆向出來,自己再寫一個偽造客戶端,這個難度也比較大也比較耗時。而且控制器一般都對特定的請求,速率是有限制的,比如說限制了一秒一次,嘗試多了就斷開連結了,所以破解效率比較低。

最後,離線爆破行不行呢?雖然它的密碼演算法複雜度一般,但是hash演算法被控制器裡的私鑰保護著,也沒法從流量中獲得20個位元組的hash和22位元組的rkey,所以這條路也走不通。

天無絕人之路,柳暗花明又一村。2019年11月的時候,有一個團隊披露出S7-1200系列的一個漏洞,這算是西門子的一個後門設定。也不知道為什麼留了這樣一個後門,透過它的UART介面,傳送一個命令就可以進入診斷模式,可以做很多的事情,比如說任意程式碼執行,做記憶體取證或者分析韌體,分析後再配合fuzzing工具做漏洞挖掘,甚至還可以把整個記憶體片區dump出來,尋找一些我們想要的資訊。

2020 看雪SDC議題回顧 | 世界知名工控廠商密碼保護機制突破之旅

分析到這裡我們眼前一亮,是不是可以從記憶體中找一點乾貨出來,說幹就幹。利用這個漏洞去突破S7-1200最新版本韌體。先去研究和復現這個漏洞,再轉儲整個記憶體區,找密碼的相關資訊。最後,直接把它的組成軟體TIA掛載起來在除錯的階段進行hash傳遞攻擊,就大功告成了。

下面看我是怎麼一步一步做的。先復現,復現這個還是有難度的,要搭這樣一個環境,注意一定要讓控制器在500毫秒內進入一個特殊的模式。最主要的難度還在於,雖然它有一個後門,但是如何利用這個後門,客戶端如何寫呢?

我們開發出了一個基於Windows上的UART 客戶端,基於這個UART 客戶端,如這個截圖,給PLC下傳了一個井字遊戲程式碼,此時的控制器就變成了一個遊戲機,可以玩遊戲了,這就說明漏洞利用成功。然後調整下傳的程式碼,可以把記憶體整體轉儲出來,看看裡面到底有什麼東西。

2020 看雪SDC議題回顧 | 世界知名工控廠商密碼保護機制突破之旅

左邊這個圖是記憶體內容的部分截圖,我們的實驗物件是1215C V4.4.1最新的韌體版本,轉儲出來有128M容量,前面是一個BootLoader,隨後跟的都是一些程式碼資料。這邊是一個韌體IDA分析截圖,記憶體裡面還包含了韌體,韌體裡面很多點都是值得研究的。透過該手段,就可以拿到PLC的非加密韌體了。

2020 看雪SDC議題回顧 | 世界知名工控廠商密碼保護機制突破之旅

韌體有三部分,程式碼段、只讀資料段還有一個資料段。我們今天的目的是密碼突破,那這個時候就要去找密碼到底在哪存著。經過分析之後,它是以SHA-1的形式存放的,先是密碼3的20個位元組Hash,接著是密碼2的Hash、密碼1的Hash,是在記憶體的BSS段裡面存放著。接下來找到hash之後就非常容易了,直接在PLC的客戶端掛載一個偵錯程式找到關鍵點後,把我們找上來的hash密碼直接替換掉這個hash,進行hash傳遞攻擊。這樣就把S7-1200系列的密碼保護機制攻破掉了。

2020 看雪SDC議題回顧 | 世界知名工控廠商密碼保護機制突破之旅

總結一下,S7-1200系列可以說是工業控制領域PLC裝置中比較強悍的了,在它的設計裡能用的一些演算法、保護幾乎全都用了,比如說使用了私鑰加密了核心的操作流量,通訊協議採用了完整性校驗,而且動態隨機數也參與到了hash的運算裡面。但是再強的保護也會有被攻破的時候。這個攻克方法就是深入研究控制器的記憶體讀寫漏洞,製作工具轉儲記憶體,從記憶體裡尋找更多的寶藏。

2020 看雪SDC議題回顧 | 世界知名工控廠商密碼保護機制突破之旅


五.密碼保護機制突破思路總結


下面針對講述的內容總結一下吧,分了兩類。一類是非接觸式突破,一類是接觸式突破。

非接觸式的是可以透過網路流量去進行操作。這裡總結了三點,前面是方法,後面是針對這些方法的關鍵點,我快速過一下,思路A就是嗅探流量,尋找資訊洩露點;B是線上的暴力破解;C是離線暴力破解。

而對於接觸式的突破,也就是說當網路流量不可達或者要進行深入研究的時候,思路A就是硬體拆解,B是漏洞的利用。如果這些方法都失效了,這個時候就只能靠思路C,自己去挖掘漏洞了。可以從裝置出發,能不能更改它的一些狀態機或者一些特定的標誌位、逆向的演算法,偽造客戶端進行突破。

2020 看雪SDC議題回顧 | 世界知名工控廠商密碼保護機制突破之旅


六.安全設計建議‍‍‍‍‍‍‍‍‍‍‍


最後,我們如何設計一個更安全的保護機制呢?這裡從兩方面出發。

第一方面,完整的安全框架決定了“系統牢固程度”的下限,我將從PLC控制器、組態軟體、通訊協議三個方面給出一些建議。

先從組態軟體上看,可以加一些程式碼虛擬保護技術,提高逆向難度。第二是增加雙向認證的功能,讓這個PLC只認這個組態軟體也讓這個組態軟體只認這個PLC。第三個就是利用加密技術加強對工程檔案的保護,因為有時候透過工程檔案也可以突破密碼。

另外,通訊協議裡還是要增加完整性的校驗,關鍵流量也需要加密保護起來,以防止一些低階的攻擊。

控制器的話第一是關鍵敏感資訊要儲存到信任區,信任區可以用軟體或硬體的方式加固。第二個也是增加雙向認證的功能。第三個是強制密碼強度的設定。第四個是增加物理硬體防護技術。

下面說第二方面,完美的細節設計決定了“系統牢固程度”的上限。其實有很多的細節設計,這邊只是列舉了一些,就大概過一下。

第一,一定要摒棄明文密碼儲存。第二,流量中不攜帶簡單加密的敏感資訊;第三,控制器識別密碼授權的認證次數。我們看昆騰140系列PLC,它是有時間的限制,但它是上位機自己做的,太有欺騙性質了,它沒有在下位機(PLC)裡面去做這個事情;第四,出廠前儘量去掉內部的除錯功能和介面;第五 ,硬體晶片要儘量定製或者去除明顯標識。

2020 看雪SDC議題回顧 | 世界知名工控廠商密碼保護機制突破之旅

今天的分享就到這裡,謝謝大家!


本屆峰會議題回顧


2020看雪SDC議題回顧 | 逃逸IE瀏覽器沙箱:在野0Day漏洞利用復現

2020 看雪SDC議題回顧 | LightSpy:Mobile間諜軟體的狩獵和剖析

2020 看雪SDC議題回顧 | DexVmp最新進化:流式編碼

2020 看雪SDC議題回顧 | Android WebView安全攻防指南2020

2020 看雪SDC議題回顧 | 生物探針技術研究與應用

……

更多議題回顧盡情期待!!



注意:關注看雪學院公眾號(ikanxue)回覆“SDC”,即可獲得本次峰會演講ppt!

其他議題演講PPT,經講師同意後會陸續放出,請大家持續關注看雪論壇及看雪學院公眾號!



2020 看雪SDC議題回顧 | 世界知名工控廠商密碼保護機制突破之旅
- End -




2020 看雪SDC議題回顧 | 世界知名工控廠商密碼保護機制突破之旅

相關文章