20189221 2018-2019-2 《密碼與安全新技術專題》課程報告總結

20189221 2018-2019-2 《密碼與安全新技術專題》課程報告總結

課程:《密碼與安全新技術專題》html

班級: 201892
姓名: 郭開世
學號:20189221
上課教師:謝四江
上課日期:2019年2月26日——2019年6月4日
必修/選修: 選修git

專題講座總結

第一講:web安全與內容安全

典型攻擊方式:高等持續性攻擊(APT):2010年6月震網(stuxnet)攻擊⇒物理隔離是不安全的,第三方惡意代碼注入:2015年9月Xcode Ghost⇒底層開發軟件在編譯過程攻擊,上帝攻擊模式(GPT):基於全球全網大數據能力對用戶進行用戶畫像。github

威脅方-防禦方的非對稱性:攻防技術非對稱,攻防成本非對稱和攻防主體非對稱。web

常見的Web漏洞:SQL注入:輸入驗證不足或Web應用程序中SQL語句構造不當,跨站腳本攻擊漏洞,cookie欺騙,CSPF(跨站請求僞造),web信息泄露,權限問題,邏輯漏洞,第三方程序漏洞,web服務器解析漏洞,弱口令,SSRF。算法

在此次課程做業中,我對SQL Injection這一方面進行了一些論文閱讀。對SQL注入有了一些瞭解。數據庫

常見的SQL注入攻擊有:重言式(tautology),非法/邏輯錯誤查詢(illegal/logically incorrect queries),聯合查詢(union query),堆疊查詢(Stacked Queries),條件陳述和存儲過程(stored procedures)等。編程

常見的SQL檢測與預防有:靜態分析(Static Analysis),動態分析(Dynamic Analysis)和組合方法(Combined Approach)。設計模式

  • 靜態分析是在到達執行階段以前在系統源代碼中找到弱點和惡意代碼,主要是語言特定的。
    靜態分析缺點包括:
    • 開發人員須要手動更改易受攻擊的部分
    • 沒法識別存儲過程攻擊
    • 其結構直到運行時才被指定
  • 動態分析(Dynamic Analysis)
    • 動態方法技術可用於分析由Web應用程序使用用戶輸入數據生成的動態或運行時SQL查詢。
    • 動態技術下在運行時生成的SQL注入檢測方法,在將查詢發佈到數據庫服務器以前執行查詢,查詢的異常性質致使它甚至不會傳遞到數據庫執行。
    • 動態分析的主要缺點是在運行時生成模型所涉及的開銷。
  • 組合方法(Combined Approach)
    • 組合方法利用靜態分析和動態分析方法的優點來檢測和防止SQL注入。在靜態階段,識別熱點,以後建立模型,指示能夠在該熱點處進行的全部有效查詢。在運行時,將檢查運行時查詢以查看它們是否與其模型匹配。若是不是,則不會將查詢發送到數據庫以供執行。

第二講:量子密碼技術

量子密碼體制使用:
主要用於黨政機關,實際使用中僅負責密鑰分發。api

量子密碼算法:
- shor算法:提出大數分解,能在多項式時間內分解大數。受影響最大的密碼體制爲RSA等大數公鑰密碼
- Grover算法:提出搜索無序數據庫量子算法,快速搜索算法。使密鑰搜索的時間複雜度在二次加速的基礎上獲得了進一步的提速。緩存

量子密碼特色:

  • 並行性
  • 不可克隆定理
  • 測不許原理
  • 對未知量子態的測量可能會改變量子態

在此次課程做業中,我對量子密碼技術的最新研究現狀有了一些瞭解。

  • 海森堡不肯定性原則:這個原則說若是你衡量一件事,就不能準確地測量另外一件事。例如,若是您將此原則應用於人類,則能夠測量一我的的身高,但您沒法衡量他的體重。關於這個原則惟一奇怪的是它只有在你嘗試測量某些東西時才變爲現實。該原理適用於光子。光子具備波狀結構,而且在某個方向上偏振或傾斜。在測量光子偏振時,全部後續測量都會受到咱們爲極化作出的測量選擇的影響。該原則在防止攻擊者在量子密碼學中的努力方面起着相當重要的做用。
  • 光子偏振原理:這個原理指的是,因爲無克隆原理,竊聽者沒法複製獨特的「量子比特」(量子比特)即未知量子態。若是嘗試測量任何屬性,它將干擾其餘信息。
  • 量子密鑰分配(QKD):經典密碼學中存在一些流,同時分配密鑰,這些流量在量子密碼學中被量子密鑰分發方法所克服。QKD用於生成使用兩個信道在雙方之間共享的祕密密鑰。QKD使用兩個頻道。首先,量子信道用於傳輸單光子透明路徑,它能夠由光纖或空間製成。第二個是用於傳輸編碼數據的經典頻道,它能夠是電話或互聯網線路。。
  • QKD基於如下協議。BB84協議:1984年,Charles H. Bennett和Gilles Brassard開發了第一個稱爲「BB84」的密鑰分發協議。它基於海森堡不肯定性原理。

單光子量子點的傳輸:

第三講:基於深度學習的密碼分析與設計

深度學習與密碼分析

  • 基於卷積神經網絡的測信道攻擊
  • 基於循環神經網絡的明文破譯
  • 基於生成對抗網絡的口令破譯
  • 基於深度學習的密碼基元識別

深度學習與密碼設計

  • 生成對抗網絡設計密碼

    研究人員MartínAbadiDavid Andersen證實神經網絡或「神經網絡」 - 鬆散地基於人工神經元的計算系統 - 能夠解決如何使用簡單的加密技術。

    在他們的實驗中,計算機可以使用機器學習進行本身的加密形式,而不須要教授特定的加密算法。加密是很是基礎的,特別是與咱們當前的人工設計系統相比。即使如此,它仍然是神經網絡的一個有趣的步驟,做者聲稱「一般並不意味着在密碼學方面很出色」。機器學習提供了一種解決方案,但並非一種簡單的方法來理解它是如何實現的。在實踐中,很難爲以這種方式建立的加密方法提供任何安全保證。

img

在此次課程做業中,我對生成對抗網絡比較感興趣。對GAN方向的論文進行了一些閱讀。

GAN的原理:

GAN的主要靈感來源於博弈論中零和博弈的思想,應用到深度學習神經網絡上來講,就是經過生成網絡G(Generator)和判別網絡D(Discriminator)不斷博弈,進而使G學習到數據的分佈,若是用到圖片生成上,則訓練完成後,G能夠從一段隨機數中生成逼真的圖像。G, D的主要功能是:

● G是一個生成式的網絡,它接收一個隨機的噪聲z(隨機數),經過這個噪聲生成圖像

● D是一個判別網絡,判別一張圖片是否是「真實的」。它的輸入參數是x,x表明一張圖片,輸出D(x)表明x爲真實圖片的機率,若是爲1,就表明100%是真實的圖片,而輸出爲0,就表明不多是真實的圖片

訓練過程當中,生成網絡G的目標就是儘可能生成真實的圖片去欺騙判別網絡D。而D的目標就是儘可能辨別出G生成的假圖像和真實的圖像。這樣,G和D構成了一個動態的「博弈過程」,最終的平衡點即納什均衡點.

GAN的特色:

● 相比較傳統的模型,他存在兩個不一樣的網絡,而不是單一的網絡,而且訓練方式採用的是對抗訓練方式

● GAN中G的梯度更新信息來自判別器D,而不是來自數據樣本

GAN 的優勢:

● GAN是一種生成式模型,相比較其餘生成模型(玻爾茲曼機和GSNs)只用到了反向傳播,而不須要複雜的馬爾科夫鏈

● 相比其餘全部模型, GAN能夠產生更加清晰,真實的樣本

● GAN採用的是一種無監督的學習方式訓練,能夠被普遍用在無監督學習和半監督學習領域

● 相比於變分自編碼器, GANs沒有引入任何決定性偏置( deterministic bias),變分方法引入決定性偏置,由於他們優化對數似然的下界,而不是似然度自己,這看起來致使了VAEs生成的實例比GANs更模糊

● 相比VAE, GANs沒有變分下界,若是鑑別器訓練良好,那麼生成器能夠完美的學習到訓練樣本的分佈.換句話說,GANs是漸進一致的,可是VAE是有誤差的

● GAN應用到一些場景上,好比圖片風格遷移,超分辨率,圖像補全,去噪,避免了損失函數設計的困難,無論三七二十一,只要有一個的基準,直接上判別器,剩下的就交給對抗訓練了。

GAN的缺點:

● 訓練GAN須要達到納什均衡,有時候能夠用梯度降低法作到,有時候作不到.咱們尚未找到很好的達到納什均衡的方法,因此訓練GAN相比VAE或者PixelRNN是不穩定的,但我認爲在實踐中它仍是比訓練玻爾茲曼機穩定的多

● GAN不適合處理離散形式的數據,好比文本

● GAN存在訓練不穩定、梯度消失、模式崩潰的問題(目前已解決)

生成對抗網絡(Generative Adversarial Network,簡稱GAN):

img

第四講:信息隱藏

信息隱藏:

信息隱藏是將消息隱蔽的藏於載體中,實現隱蔽通訊,內容認證或內容保護等。

信息隱藏技術:魯棒水印 (Robust Water making),可視密碼(Visual Cryptography)以及隱寫( Steganography)

隱寫:LSB嵌入,矩陣嵌入,自適應隱寫,隱寫分析,高維特徵以及隱寫選擇信道。

隱寫術的優缺點

  • 須要許多額外的付出來隱藏相對較少的信息。
  • 儘管採用一些諸如上述方案也許頗有效;可是一旦被破解,整個方案就毫無價值。(改進:具體的加入方法由祕鑰決定;先加密再隱寫)
  • 隱寫術適合:通訊雙方寧願內容丟失,也不肯意它們進行祕密通訊的事物被人發現。加密標誌信息也是重要和祕密的,經過它能夠找出想進行消息隱藏的發送方或接收方。

隱寫分析:

數字隱寫分析就是經過隱寫技術或軟件對隱藏的數據進行檢測和取證的過程,可能的話,還會提取出被隱藏的載荷。若是被隱藏的載荷是加過密的,那麼隱寫分析就要對其進行破解。

主要採用如下兩個手段:

  • 異常分析:異常分析會用到檢測類似文件的對比技術,若是沒有文件能夠用於對照,還會採用一些分析技術來發現文件的其餘異常特徵。
  • 隱寫分析工具:這些工具具備相同的工做原理:首先檢測文件的某些信息,根據判斷其中包含隱藏內容的,就標記爲可疑文件。而後,將可疑文件寄存起來以便後續進行深度分析;第二步分析環節能夠是半自動半手工的,大多數先進的工具都容許人工查看數據進而分析發現異常特徵。

在課下我還深刻學習了JPEG圖像格式的Jphide隱寫、LSB隱寫以及Powload及壓縮包類隱寫。

Jphide是基於最低有效位LSB的JPEG格式圖像隱寫算法,使用JPEG圖像做爲載體是由於相比其餘圖像格式更不容易發現隱藏信息,由於JPEG圖像在DCT變換域上進行隱藏比空間域隱藏更難檢測,而且魯棒性更強,同時Blowfish算法有較強的抗統計檢測能力。

Jphide隱寫過程大體爲:先解壓壓縮JPEG圖像,獲得DCT係數;而後對隱藏信息用戶給定的密碼進行Blowfish加密;再利用Blowfish算法生成僞隨機序列,並據此找到須要改變的DCT係數,將其末位變爲須要隱藏的信息的值。最後把DCT係數從新壓回成JPEG圖片,下面是我的對隱寫過程理解畫出的大體流程圖。

LSB隱寫是最基礎、最簡單的隱寫方法,具備容量大、嵌入速度快、對載體圖像質量影響小的特色。

LSB的大意就是最低比特位隱寫。咱們將深度爲8的BMP圖像,分爲8個二值平面(位平面),咱們將待嵌入的信息(info)直接寫到最低的位平面上。換句話說,若是祕密信息與最低比特位相同,則不改動;若是祕密信息與最低比特位不一樣,則使用祕密信息值代替最低比特位。

在Powload的案例中,使用隱寫術來檢索包含惡意代碼的圖像。基於趨勢科技分析的Powload變體的代碼提取案例程序,Powload濫用公開可用的腳本(Invoke-PSImage)來建立包含其惡意代碼的圖像。

在此次課程做業中,我閱讀了一些行業大牛Jessica Fridrich的論文。

Jessica Fridrich確實在隱寫方面造詣極深。

第五講:區塊鏈技術

比特幣的特色:數字貨幣,不依託於任何國家或組織而利用計算機技術獨立發行,經過P2P分佈式技術實現,無中心點,全部人都可自由的參與,總量有限,不可再生,自己機制開源,能夠被山寨。

區塊鏈的一些要素總結:

  • 包含一個分佈式數據庫
  • 分佈式數據庫是區塊鏈的物理載體,區塊鏈是交易的邏輯載體,全部核心節點都應包含該條區塊鏈數據的全副本
  • 區塊鏈按時間序列化區塊,且區塊鏈是整個網絡交易數據的惟一主體
  • 區塊鏈只對添加有效,對其餘操做無效
  • 基於非對稱加密的公私鑰驗證
  • 記帳節點要求拜占庭將軍問題可解/避免
  • 共識過程(consensus progress)是演化穩定的,即面對必定量的不一樣節點的矛盾數據不會崩潰。
  • 共識過程可以解決double-spending問題

區塊鏈技術的4個基本性質:

  • 點對點等網絡。它研究如何把一個須要很是巨大的計算能力才能解決的問題分紅許多小的部分,而後把這些部分分配給許多計算機進行處理,最後把這些計算結果綜合起來獲得最終結果。
  • 共識機制。防止了「雙重支付」。
  • 數據可驗證。PKI公鑰體系,不可變數據。
  • 獎勵合做的制度設計。非合做博弈是指在策略環境下,非合做的框架把全部的人的行動都當成是個別行動。它主要強調一我的進行自主的決策,而與這個策略環境中其餘人無關。納什均衡。

區塊鏈技術發展的三個階段:

  • 貨幣:貨幣的發行機制,貨幣的分配機制,貨幣的幣值調節機制。
  • 合約:股權、債權,博彩,防僞等
  • 治理:身份認證,健康管理,公正、見證,司法仲裁等

我的對區塊鏈技術的見解:

  • 區塊鏈技術不等於炒幣。
  • 技術是無罪的,而熱點、泡沫常常一塊兒出現。
  • 不少盲目的行爲徹底是在破壞市場

在本次的課程做業中,我對區塊鏈技術的研究現狀有了一些瞭解。

區塊鏈經過分佈式數據存儲和共識機制確保數據能夠被跟蹤而且不容易被篡改。它提供了一種思想和方案,以分散的方式創建信任關係,並在數字證書和身份認證領域受到普遍關注。 提出了第一個使用比特幣塊鏈系統做爲框架的分佈式PKI系統Certcoin,它至關於CA,提供有效的密鑰查詢服務。 使用區塊鏈存儲已發佈或已撤銷證書的哈希值。Axon 改進了Certcoin方案 並提出了PKI認證系統PB-PKI(基於區塊鏈的PKI中的隱私感知),用於隱私保護。凱倫等人。 基於以太網塊鏈平臺提出的PKI認證系統,無需CRL或OCSP便可執行撤銷檢查。松本介紹了經濟激勵方法,並提出了基於以太網及時響應的PKI IKP(Instant Karma PKI)。

BC(區塊鏈)是一種源自比特幣基礎技術的新技術系統。最先的定義來自Satoshi Takemoto在2009年發表的論文。BC具備許多技術特徵,例如分散化,不可能被篡改和僞造,這使其在確保信息可靠性,安全性,可追溯性和傳統技術的其餘方面具備無可比擬的優點。基於ABC的PKI系統確保寫入BC上的證書是可信的。它可用於跨多個組織發佈和管理自簽名數字證書,還可用於替換使用不一樣CA頒發證書的橋接CA鏈接的多個實例。

第六講:漏洞挖掘及攻防技術

安全漏洞定義:指信息系統在設計、實現或者運行管理過程當中存在的缺陷或不足,從而使攻擊者可以在未受權的狀況下利用這些缺陷破壞系統的安全策略。

安全漏洞事件:openssl (心臟出血);bash:緣由是未檢查輸入邊界;脫褲門:主要包括天涯、CSDN、人人、多玩、cnbeta、QQ關係數據庫、攜程;棱鏡門;

漏洞挖掘示例

  • 路由器
    • 當遠程向路由器的161端口發送大量畸形SNMP Get/Set請求報文時,Cisco路由器和華爲路由器的進程Agent出現CPU使用率異常,分別爲98%和100%。
    • 當遠程發送SNMP空數據包時,Cisco路由器和華爲路由器的CPU使用率出現異常,但遠小於100%,發生「輕度拒絕服務」。
    • 當遠程發送一個畸形ASN.1/BER編碼(超長字符串)的SNMP數據包時,wireshark捕獲並解析數據包,致使wireshark 1.4等多個版本棧溢出,致使空指針引用並崩潰。
    • 當向SNMP協議端口(161)遠程發送一個使用「\x」等字符構造的畸形UDP數據包,科來網絡分析系統7.2.1及之前版本均會因邊界條件檢查不嚴致使崩潰。
  • NFC漏洞挖掘
    • 目標選擇:NFC手機系統和應用
  • 被動防護
    • 路由器:過濾特殊字符(如:科來網絡分析系統對\x的處理);限制特定端口的傳輸速率;阻塞SNMP請求的端口;折中(編寫ACL)。
    • NFC:協議解析(檢查長度字段、數值範圍、格式化字符串、特殊字符等);設計缺陷(修改設計邏輯,例如,藍牙、wifi、屏幕亮度等)。
    • 滯後性
  • 主動防護:針對路由器和軟件,成熟產品,入侵檢測,防火牆,殺毒軟件

我在課下對模糊測試和NFC進行了一些瞭解:

模糊測試是一種介於徹底的手工滲透測試與徹底的自動化測試之間的安全性測試類型。它充分利用了機器的能力:隨機生成和發送數據;同時,也嘗試將安全專家在安全性方面的經驗引入進來。

從執行過程來講,模糊測試的執行過程很是簡單:

  1. 測試工具經過隨機或是半隨機的方式生成大量數據;
  2. 測試工具將生成的數據發送給被測試的系統(輸入);
  3. 測試工具檢測被測系統的狀態(如是否可以響應,響應是否正確等);
  4. 根據被測系統的狀態判斷是否存在潛在的安全漏洞。

NFC主要應用於:啓動服務,將NFC用於「開啓」另外一種服務(例如爲數據傳輸開啓另外一條通訊連接);點到點,NFC能夠用於實現兩個裝置之間的通訊;付款和票務,將NFC搭建在新興的智能票務和電子付款基礎設施之上。

經過本次的課程做業,我對漏洞挖掘現狀有了一些瞭解。

真正進行漏洞挖掘須要具有的知識

從事漏洞挖掘工做須要具有的知識是極其普遍的,而且隨着時間在不斷改變,也取決於你所研究的對象(web程序、桌面程序、嵌入式等等)。不過,萬變不離其宗,所須要掌握的知識領域卻總能夠認爲是肯定的,我認爲大體能夠分爲如下四個方面:

  1. 程序正向開發技術。這是一個開發者須要掌握的能力,包括編程語言、系統內部設計、設計模式、協議、框架等。擁有豐富編程經驗與開發能力的人在漏洞挖掘過程當中每每比那些只對安全相關領域有所瞭解的人員對目標應用能有更深刻的理解,從而有更高的產出。
  2. 攻防一體的理念。這些知識涵蓋了從基本的安全原則到不斷變換的漏洞形態及漏洞緩解措施。攻擊和防護結合的理念,可以有效幫助研究者既可以發現漏洞,同時也可以快速給出有效的漏洞緩解措施和規避方法。
  3. 有效使用工具。可以高效的使用工具可以快速將思路轉化爲實踐,這須要經過花時間去學習如何配置和使用工具,將其應用於本身的任務並構建本身的工做流程來不斷積累經驗。更進一步,須要深刻掌握所使用工具的原理,以及如何對其進行二次開發,以使得其可以更加高效的應用於當前的工做實際。事實上,我認爲面向過程的學習方法每每比面向工具的學習方法更加高效以及有價值,當本身發現一個在使用一個工具遇到瓶頸時,先不要退縮,嘗試去改造它,或者經過本身動手實踐去完成可以適應當前工做的工具,這每每可以幫助快速積累大量實踐經驗。幫助咱們之後更加高效的去實踐漏洞挖掘工做。
  4. 對目標應用的理解。最後,也是最重要的,做爲一個漏洞挖掘人員,對本身研究的應用程序在安全性方面必需要比這個程序的開發者或維護者有更深的理解。這樣你才能儘量的發現這個程序中的漏洞並修復它。

通常漏洞挖掘框架:

論文匯報總結

本組論文介紹

Manipulating Machine Learning: Poisoning Attacks and Countermeasures for Regression Learning

做者:[Matthew Jagielski; Alina Oprea; Battista Biggio; Chang Liu; Cristina Nita-Rotaru; Bo Li

投稿:2018 IEEE Symposium on Security and Privacy (SP)

年份:2018

主題:在本文中,咱們對線性迴歸模型進行了第一次中毒攻擊的系統研究及其對策。

代碼:https://github.com/jagielski/manip-ml

相關知識:機器學習 數據安全 線性迴歸 預測模型

論文成果:

  • 做者對線性迴歸模型的中毒攻擊及其對策進行了第一次系統研究。
  • 做者提出了一個針對中毒攻擊和快速統計攻擊的新優化框架,該框架須要對培訓過程的瞭解不多。
  • 做者還採用原則性方法設計一種新的魯棒防護算法,該算法在很大程度上優於現有的穩健迴歸方法。
  • 做者在醫療保健,貸款評估和房地產領域的幾個數據集上普遍評估做者提出的攻擊和防護算法。
  • 做者在案例研究健康應用中證實了中毒攻擊的真實含義。
  • 做者的工做將激發將來的研究,以開發更安全的中毒攻擊學習算法。

論文結構

細讀這篇論文,我發現他不愧是頂會論文,其行文結構、研究思路,都是極爲科學、嚴謹,其縝密的研究思路,完備的研究過程,優秀的論文結構,細緻的驗證對比,給我很大幫助,很大啓發。

  • 第一節:介紹背景知識,對相關論文進行了深刻研究,大量的引文及其細緻的分類描述佐證了這篇論文的優秀。
  • 第二節:系統和對抗模型,問題定義和對抗模型,描述了四種線性迴歸模型,描述了改編自Xiao等人的基線攻擊。對
  • 第三節:攻擊方法論,提出了兩種攻擊算法。首先討論先前提出的基於梯度的優化方法來解決在分類設置中的問題。而後討論如何使它們適應迴歸學習的狀況,並提出新的策略以進一步提升其有效性——對當前攻擊推導的重大改進是同時優化每一箇中毒點的響應變量及其特徵值。隨後重點介紹了在基於梯度的優化過程當中如何更新每一箇中毒樣本的一些理論看法,提出了更快的攻擊。
  • 第四節:介紹新型的防護算法TRIM 。描述了針對中毒攻擊的現有防護建議,並解釋了爲何它們在訓練數據中的對抗性腐敗中可能無效。所以提出了一種名爲TRIM的新方法,專門用於加強針對一系列中毒攻擊的魯棒性。
  • 第五節:包括對攻擊和防護的詳細實驗分析,以及與之前的方法的比較。使用兩個主要指標來評估咱們的算法:MSE用於攻擊和防護的有效性,以及運行時間的成本。描述了用於實驗的數據集。而後,系統地分析新攻擊的性能,並將它們與VB中的基線攻擊算法進行比較。最後,提出了新的TRI M算法的結果,並將其與穩健統計數據的先前方法進行了比較。
  • 第六節:介紹了其餘相關的研究論文,對整個論文提出的攻擊算法、防護算法的實際應用前景進行了展望。
  • 第七節:使用很精煉的語言對本論文的工做進行了總結。立場中立,毫無誇大。

第一組:MassVet的新技術

論文選題爲在10秒內找到未知的惡意:在Google-Play規模上大規模審查新的威脅。本文開發了一種名爲MassVet的新技術,用於大規模審查應用程序,而無需瞭解惡意軟件的外觀和行爲方式。與一般使用重量級程序分析技術的現有檢測機制不一樣,文中所用的方法只是將提交的應用程序與已經在市場上的全部應用程序進行比較,重點關注那些共享相似UI結構(表示可能的從新打包關係)和共性的區別。

論文做者將應用程序的視圖圖形(即,其用戶界面之間的互連)(例如窗口小部件和事件的類型)的一組特徵投影到單個維度,使用惟一索引來表示應用程序在維度內的位置以及類似度。它的界面結構與其餘人的界面結構。研究中將該指數計算爲視圖的幾何中心,稱爲v-core。市場上全部應用程序的v核都通過排序,以便在審覈新應用程序時啓用二進制搜索,從而使此步驟具備高度可擴展性。

檢測思路以下:

第二組:幽靈攻擊

論文選題:使用性能計數器的微架構跟蹤在線檢測幽靈 攻擊

爲了提升處理器性能,計算機架構師採用了諸如推測執行和緩存之類的加速技術。然而,研究人員最近發現,這種方法意味着固有的安全漏洞,正如Meltdown和Spectre所利用的那樣。針對這些漏洞的攻擊能夠經過利用錯誤推測的執行來經過諸如數據緩存時序之類的輔助渠道泄漏受保護的數據。這些缺陷多是災難性的,由於它們是基礎和普遍的,它們會影響許多現代處理器。減輕Meltdown的影響是相對簡單的,由於它須要基於軟件的修復,這已經由主要OS供應商部署。然而,直到今天,Spectre尚未有效的緩解措施。解決問題可能須要在將來的處理器中從新設計用於條件執行的體系結構。此外,使用傳統的基於軟件的防病毒技術很難檢測到Spectre攻擊,由於它不會在傳統日誌文件中留下痕跡。在本文中,做者建議監視微體系結構事件,例如緩存未命中,現有CPU性能計數器的分支錯誤預測,以在攻擊運行時檢測Specter。做者的檢測器可以使用各類機器學習分類器以及合理的性能開銷實現0%的假陰性,誤報率低於1%。做者建議監視微體系結構事件,例如緩存未命中,現有CPU性能計數器的分支誤預測,以便在攻擊運行時檢測Spectre。做者的檢測器可以使用各類機器學習分類器以及合理的性能開銷實現0%的假陰性,誤報率低於1%。做者建議監視微體系結構事件,例如緩存未命中,現有CPU性能計數器的分支誤預測,以便在攻擊運行時檢測Spectre。做者的檢測器可以使用各類機器學習分類器以及合理的性能開銷實現0%的假陰性,誤報率低於1%。

做者按期同時從四個性能計數器收集數據。在本節中,咱們首先分析收集的原始數據,以肯定經過可視化數據分佈來區分清潔環境中的測量和受攻擊的測量是否可行。而後咱們使用不一樣的機器學習算法來訓練分類器並使用前面討論的滑動窗口方法構建實時攻擊檢測器。

LLC參考的分佈,LLC未命中和分支未命中率特徵:

本文提出經過監視微體系結構特徵誤差來檢測Spectre攻擊,由於攻擊利用了現代處理器硬件設計中的漏洞,例如推測執行和緩存側通道。這些功能是從處理器中普遍使用的硬件性能計數器收集的。採用在線檢測方法檢測攻擊早期的惡意行爲,而不是在損壞完成後進行離線檢測。實驗結果代表,使用訓練的多層感知器分類器,只有0.77%的假陽性和0%的假陰性,具備很好的檢測準確度。因爲對幽靈的徹底緩解具備挑戰性,如今主動檢測此類攻擊更爲實際。

根據不一樣類型的硬件設計缺陷和側通道被開發,Spectre有許多變種。不斷髮現新變種,最近研究人員發現了一種新的推測性商店繞過漏洞[15]。可是,全部不一樣的變體都使用側通道來推斷攻擊最後階段的機密信息。此外,隱身模式幽靈攻擊一般無效。所以,咱們認爲能夠經過監視這些硬件側通道的變化來檢測惡意行爲。該研究代表使用這種方法檢測Spectre的可行性。將來的研究能夠針對不一樣配置下的其餘攻擊變體進行,例如在服務器和虛擬機環境中。

第三組:隱身操縱攻擊

論文選題:All Your GPS Are Belong To Us: Towards Stealthy Manipulation of Road Navigation Systems

  • 做者首先經過實現便攜式GPS欺騙器並在實際汽車上進行測試來進行受控測量。
  • 做者設計了一種計算Th值的搜索算法,實時移動GPS偏移和受害者路線。
  • 做者使用跟蹤驅動的模擬(曼哈頓和波士頓的600個出租車線路)進行普遍的評估,而後經過RE驗證完整的攻擊AL-世界駕駛考試(攻擊做者本身的汽車)。
  • 做者對美國和中國的駕駛模擬器進行了欺騙性的用戶研究。顯示,95%的參與者遵循導航。最終到錯誤的目的地而不認識到攻擊。
  • 做者用這些結果討論了反措施向前發展的方向。
  • 做者探討了對道路導航系統進行隱身操縱攻擊的可行性

算法思路:

第四組:針對遷移學習的對抗性攻擊

論文選題:With Great Training Comes Great Vulnerability: Practical Attacks against Transfer Learning

根據訓練過程當中被凍結的層數K,能夠把遷移學習分爲如下3種方法:深層特徵提取器(Deep-layer Feature Extractor)、中層特徵提取器(Mid-layer Feature Extractor)、全模型微調(Full Model Fine-tuning)。

對抗性攻擊就是攻擊者經過設計一種有針對性的數值型向量從而讓機器學習模型作出誤判。白盒攻擊中攻擊者可以獲知分類器的內部體系結構及全部權重。它容許攻擊者對模型進行無限制的查詢,直至找到一個成功地對抗性樣本。黑盒攻擊中攻擊者不知道受害者的內部結構,攻擊者要麼嘗試反向工程DNN的決策邊界,建一個複製品用於生成對抗樣本,要麼反覆查詢生成中間對抗樣本並不斷迭代改進。這種攻擊經常在最小的擾動下得到接近100%的成功,由於攻擊者能夠訪問深度神經網絡的內部結構,因此他們能夠找到誤分類所需的最小擾動量。然而白盒攻擊通常被認爲是不切實際的,由於不多會有系統公開其模型的內部結構。黑盒攻擊容易被防護。

論文經過求解一個有約束的最優化問題來計算擾動。目標是是模擬隱藏層第K層的輸出向量,約束是擾動不易被人眼察覺。即在擾動程度perturb_magnitude小於必定約束值(擾動預算P)的前提下,最小化對抗樣本(擾動後的source image)第K層的輸出向量與target image 第K層的輸出向量的歐式距離。前人計算擾動程度都是使用Lp範數,可是它沒法衡量人眼對於圖像失真程度的感知。因此本文使用DSSIM計算擾動程度。論文還提出了3種針對本文攻擊的防護方法,其中最可行的是修改學生模型,更新層權值,肯定一個新的局部最優值,在提供至關的或者更好的分類效果的前提下擴大它和教師模型之間的差別。這又是一個求解有約束的最優化問題,約束是對於每一個訓練集中的x,讓教師模型第K層的輸出向量和學生模型第K層的輸出向量之間的歐氏距離大於一個閾值,在這個前提下,讓預測結果和真實結果的交叉熵損失最小。

第五組:未初始化讀取漏洞緩解

論文選題:SafeInit: Comprehensive and Practical Mitigation of Uninitialized Read Vulnerabilities

做者經過在clang/LLVM編譯器架構上,經過修改代碼,實現了safeinit原型,在編譯C/C++源代碼時,傳遞一個標記便可使用safeinit實現優化編譯,緩解未定義變量。使用了強化分配器的safeinit能夠進一步優化代碼的同時,保證全部須要初始化的變量進行初始化,刪除多餘初始化代碼進行優化,這樣既保證緩解了未定義變量漏洞的威脅,同時與其餘現有方法相比,提高了性能。

  • 使用做者的工具鏈構建了最新的LLVM Linux內核樹。
  • 做者定製了構建系統,以容許使用LTO,從新啓用內置clang函數,並修改gold連接器以解決做者在符號排序時遇到的一些LTO代碼生成問題。
  • 因爲Linux內核執行本身的內存管理,所以它不會與用戶空間強化分配器連接; 做者的自動加固僅保護局部變量。

在沒有使用優化器的狀況下應用時,運行時開銷的(幾何)平均值爲8%。應用該優化器能夠顯着下降剩餘基準測試的開銷,與做者的基線編譯器相比,致使CINT2006的平均開銷爲3.5%。 CFP2006的結果相似,以下圖所示,平均開銷爲2.2%。

第七組:卷積神經網絡用於句子分類

論文選題:[是Convolutional Neural Networks for Sentence Classification,做者是Harvard NLP組的Yoon Kim,而且開源了代碼 sent-conv-torch。

單通道圖像能夠表示爲一個矩陣,輸入到CNN中,通過多組filter層和pooling層,獲得圖像的局部特徵,而後進行相關任務。本文用拼接詞向量的方法,將一個句子表示成爲一個矩陣,這裏矩陣的每一行表示一個word,後面的步驟僅採用一組filter、pooling層來獲得句子的特徵向量,而後進行分類。

這裏,模型根據詞向量的不一樣分爲四種:

  • CNN-rand,全部的詞向量都隨機初始化,而且做爲模型參數進行訓練。
  • CNN-static,即用word2vec預訓練好的向量(Google News),在訓練過程當中不更新詞向量,句中如有單詞不在預訓練好的詞典中,則用隨機數來代替。
  • CNN-non-static,根據不一樣的分類任務,進行相應的詞向量預訓練。
  • CNN-multichannel,兩套詞向量構造出的句子矩陣做爲兩個通道,在偏差反向傳播時,只更新一組詞向量,保持另一組不變。

論文在七組數據集上進行了對比實驗,證實了單層的CNN在文本分類任務中的有效性,同時也說明了用無監督學習來的詞向量對於不少nlp任務都很是有意義。

這裏須要注意的一點是,static模型中word2vec預訓練出的詞向量會把good和bad當作類似的詞,在sentiment classification任務中將會致使錯誤的結果,而non-static模型由於用了當前task dataset做爲訓練數據,不會存在這樣的問題。具體可參看下圖:

學習收穫&建議意見

學習收穫

從web安全到漏洞挖掘技術,從量子密碼技術到深度學習的密碼分析技術,從信息隱藏到區塊鏈技術,一個學期一晃而過,再加上最後兩次課的論文匯報,密碼與安全新技術專題課程的六次教師講座就這麼結束了。

在本學習的課程學習中,我對密碼和安全方面有了新的認識,對web安全、漏洞挖掘技術、量子密碼技術、深度學習在密碼分析的應用、信息隱藏和區塊鏈技術等有了比較清晰的認知,也對本身在研究生階段的研究方向和研究方法有了一些大體的想法。

我本科是學網絡工程的,畢業設計作的是神經網絡方面的內容,研究生階段實驗室的研究方向大體是密碼安全方面及訪問控制相關。在研一階段看的論文很少,除了課程要求的相關論文外,只是大體看了導師要求的國密標準相關文檔,這門專題課帶着我看了幾個細方向的論文,如SQL注入攻擊、生成對抗網絡、隱寫技術及隱寫分析、漏洞挖掘,也看了一些比較火的研究方向,如量子密碼和區塊鏈技術。這些頂會論文帶個個人最大收穫就是眼界上的開闊,以及研究方法和論文結構上的指導,這對於我研二的研究工做有極大的幫助。

收穫主要概括爲如下幾點:

  • 要敢想敢幹,找準方向,找到興趣點,深刻研究,抓住機會,埋頭苦幹,不要怕吃苦,更不要想太多,不能失了年輕人的朝氣。
  • 要多和老師交流,提出問題以後必定要找老師把關,分析可行性,看能不能出成果,有沒有研究價值。研究生階段是離不開老師指導的。

  • 深挖本身的研究方向的同時不能對其餘的知識領域,尤爲是主專業的其餘研究方向放鬆,多學習多交流,有不少東西是共同的,並且不少技術的應用是能夠結合起來的。

建議意見

我本人的可能更想作理論研究,功利一點來講也想多發一些論文。這門專題課對我有很大的幫助。

意見建議概括爲如下幾點:

  • 前幾回的做業要求裏的頂會論文要求頗有意義,若是課時量能夠加一些的話,我但願能在平時課程中就讓同窗們對本身每次看的幾篇論文進行交流,由於平時你們的興趣點也不太同樣,論文交流不只能督促同窗們看的更細緻,也能讓你們開拓眼界。
  • 論文復現工做的交流方式其實能夠不只侷限於彙報演示,並且事實上也不須要分組完成,我是一我的一組完成復現工做的,工做量其實也沒那麼大,並且分組復現也帶來不少沒必要要的麻煩。我我的以爲只要預留時間足夠,徹底能夠鼓勵你們單獨完成復現工做。

十分感謝王志強老師組織、講解的專題講座課程,也十分感謝張健毅老師、孫瑩老師、金鑫老師、夏超老師幾位老師的授課和對咱們的建議!

參考連接

相關博客連接:

論文報告連接:

相關文章
相關標籤/搜索