2019年密码与安全新技术讲座-课程总结报告
一、教師講座內(nèi)容總結(jié)
講座一、Web安全與內(nèi)容安全
在本次講座中,張健毅老師首先講述了信息技術(shù)的發(fā)展階段,接著講了信息化發(fā)展凸顯的信息安全問題,之后重點(diǎn)講解了Web應(yīng)用安全,包括常見的Web漏洞,如SQL注入、XSS跨站腳本攻擊、CSRF跨站請求偽造等。另外,張老師還為我們介紹了隱私安全。
1. 信息技術(shù)的發(fā)展階段
通信(電報(bào)/電話) -> 計(jì)算機(jī) -> 網(wǎng)絡(luò) -> 網(wǎng)絡(luò)化社會
信息安全的歷史從通信開始。
2. 信息化發(fā)展凸顯了信息安全問題
2010年6月 震網(wǎng)病毒(stuxnet病毒) -> 證明物理隔離也不一定安全
2015年9月 XcodeGhost -> 證明編譯層面也可能存在安全漏洞
網(wǎng)絡(luò)威脅驚人,每天超過億次GPT攻擊,攻擊方式:可探測 -> 可訪問 -> 可掌控
威脅方-防護(hù)方的非對稱性:
- 攻防技術(shù)非對稱
大量自動化攻擊工具的出現(xiàn),使得入侵網(wǎng)絡(luò)與信息系統(tǒng)的門檻降到極低。 - 攻防成本非對稱
攻防技術(shù)的非對稱帶來了攻防成本的非對稱。風(fēng)險(xiǎn)成本也極低。對于國家安全而言,攻防成本的非對稱性具有特殊的意義。
偽基站短信照片案例層出不窮。 - 攻防主體非對稱
3. Web應(yīng)用安全
常見的Web漏洞:
| SQL注入 | 高危 |
| 跨站腳本攻擊漏洞 | 高危 |
| Cookie欺騙 | 高危 |
| CSRF(跨站請求偽造) | 中危 |
| Web信息泄露 | 中危 |
| 權(quán)限問題 | 中危 |
| 邏輯漏洞 | 中危 |
| 第三方程序漏洞 | 高危 |
| Web服務(wù)器解析漏洞 | 高危 |
| 弱口令 | 高危 |
| SSRF | 中危 |
3.1 SQL注入
SQL注入本質(zhì)是由于輸入檢查不充分,導(dǎo)致SQL語句將用戶提交的非法數(shù)據(jù)當(dāng)作語句的一部分來執(zhí)行。攻擊者把SQL命令插入到Web表單的輸入域或頁面請求的查詢字符串,欺騙服務(wù)器執(zhí)行惡意的SQL命令。 攻擊者通過在應(yīng)用程序預(yù)先定義好的SQL語句結(jié)尾加上額外的SQL語句元素,欺騙數(shù)據(jù)庫服務(wù)器執(zhí)行非授權(quán)的查詢,篡改命令。
- 按提交字符類型可分為:數(shù)字型、字符型、搜索型。
- 按HTTP提交方式可分為:GET、POST、Cookie。
- 按注入方式可分為:盲注、union注入、報(bào)錯(cuò)注入。
3.2 XSS跨站腳本攻擊
當(dāng)用戶訪問網(wǎng)頁時(shí), 攻擊代碼在用戶的瀏覽器上被執(zhí)行, 就形成了一次XSS跨站腳本攻擊。根據(jù)XSS漏洞的原理可以將XSS跨站攻擊劃分成反射性XSS和存儲型XSS。對于反射性XSS, 攻擊者需要欺騙用戶點(diǎn)擊一個(gè)惡意URL才能攻擊成功。存儲型XSS的危害相對來說更大一些, 攻擊者提交的惡意代碼, 會被Web服務(wù)器端接收并存儲, 訪問該網(wǎng)頁的用戶, 他們的瀏覽器會執(zhí)行這段惡意代碼。
3.3 CSRF跨站請求偽造
攻擊者使用被攻擊者的身份,以其名義發(fā)送惡意請求,會造成個(gè)人隱私泄露以及財(cái)產(chǎn)安全。
4. 隱私安全
當(dāng)前許多企業(yè)和公司會對用戶軌跡進(jìn)行分析,導(dǎo)致用戶隱私安全受到威脅。
講座二、量子密碼
在本次講座中,孫瑩老師為我們系統(tǒng)地講解了量子密碼的研究背景、量子密碼的基本物理概念、量子密碼典型協(xié)議BB84量子密鑰分配協(xié)議、量子密碼四個(gè)基本步驟、量子密碼的研究現(xiàn)狀即實(shí)驗(yàn)進(jìn)展。
1 量子密碼研究背景
傳統(tǒng)密碼
| 優(yōu)點(diǎn) | 加密速度快,適合批量加密數(shù)據(jù) | 可解決密鑰分配、管理問題,可用于簽名 |
| 缺點(diǎn) | 密鑰分配、密鑰管理、沒有簽名功能 | 加密速度慢 |
實(shí)際使用時(shí),多用混合密碼體制:用公鑰密碼體制分發(fā)會話密鑰,用對稱密碼體制加密數(shù)據(jù)。
傳統(tǒng)密碼的挑戰(zhàn)
然而,這種傳統(tǒng)密碼受到了來自量子密碼的挑戰(zhàn):基于大數(shù)分解的Shor算法和基于快速搜索的Grover算法能夠迅速破解傳統(tǒng)密碼。
量子密碼
量子秘鑰分配(QKD)的特點(diǎn):
- 可以檢測到潛在竊聽行為。
- 基于物理學(xué)原理,理論上可達(dá)到無條件安全。
也就是說,量子密碼可達(dá)到無條件安全的保密通信。
2 基本物理概念
量子
微觀世界的某些物理量不能連續(xù)變化而只能取某些分立值,相鄰分立值的差稱為該物理量的一個(gè)量子。
直觀理解:具有特殊性質(zhì)的微觀粒子或光子。
量子態(tài)
- 經(jīng)典信息:比特0或1,可用高低電壓等表示。
- 量子信息:量子比特(Qubit) |0> (水平方向) |1> (豎直方向)
- 量子比特還可以處在不同狀態(tài)的疊加態(tài)上。
量子態(tài)的可疊加性帶來一系列特殊性質(zhì)
- 量子計(jì)算的并行性:強(qiáng)大的計(jì)算能力
- 不可克隆定理:未知量子態(tài)不可準(zhǔn)確測量
- 測不準(zhǔn)原理:未知量子態(tài)不可準(zhǔn)確測量
- 對未知量子態(tài)的測量可能會改變量子態(tài)
量子比特的測量--力學(xué)量、測量基
- 每個(gè)力學(xué)量都對應(yīng)一個(gè)厄米算符(矩陣)
- 測量某個(gè)力學(xué)量時(shí),測量結(jié)果為此力學(xué)量對應(yīng)厄米算符的本征值(特征值)
- 測量后量子態(tài)塌縮到此本征值對應(yīng)的本征態(tài)(特征向量)
3. 四個(gè)基本步驟
- 信息傳輸
- 竊聽檢測
- 糾錯(cuò)
- 保密增強(qiáng)
信息傳輸:通常用到兩種信道
量子信道
- 傳輸量子載體,例如:光纖、自由空間等。
- 允許竊聽者對傳輸?shù)牧孔酉⑦M(jìn)行任意竊聽和篡改。
經(jīng)典信道
- 傳輸經(jīng)典信息,例如:測量基、測量結(jié)果等。
- 基本假設(shè):竊聽者只能竊聽經(jīng)典消息而不能篡改它們。
竊聽檢測
- 一般手段:隨機(jī)選擇部分量子載體,比較初末狀態(tài)。
- 對好的協(xié)議:竊聽必然干擾量子態(tài),進(jìn)而引入錯(cuò)誤。
- 一旦發(fā)現(xiàn)存在竊聽(錯(cuò)誤率過高),則終止通信,丟棄相關(guān)數(shù)據(jù)。
- 因?yàn)閭鬏數(shù)氖敲荑€(即隨機(jī)數(shù)),而不是秘密消息,因此可以丟棄它們而不會因此泄露秘密。
糾錯(cuò)和保密增強(qiáng):解決噪聲問題
- 理想情況(無噪聲):有錯(cuò)誤就認(rèn)為有竊聽
- 實(shí)際情況(有噪聲):噪聲也會帶來一定錯(cuò)誤率
- 對策:設(shè)定一個(gè)閾值,當(dāng)錯(cuò)誤率高于這個(gè)閾值時(shí)丟棄通信數(shù)據(jù),反之保留(即允許有一定的錯(cuò)誤)
- Alice和Bob的密鑰可能不完全一致
- Eve可能在噪聲掩飾下獲得部分密鑰信息
- Alice和Bob的密鑰可能不完全一致
- 糾錯(cuò):糾正密鑰中的錯(cuò)誤
- 保密增強(qiáng):通過壓縮密鑰長度,將Eve可能獲得的部分密鑰信息壓縮至任意小,得到安全的密鑰
講座三、人工智能與密碼分析設(shè)計(jì)
在本次講座中,金鑫老師主要分為五個(gè)部分為我們詳細(xì)講述了人工智能與密碼分析設(shè)計(jì)的結(jié)合,包括技術(shù)背景、密碼分析與機(jī)器學(xué)習(xí)、深度學(xué)習(xí)簡介與現(xiàn)狀、深度學(xué)習(xí)與密碼分析、深度學(xué)習(xí)與密碼設(shè)計(jì)。
1. 技術(shù)背景
AI+Security=AISec
用AI和ML解決安全問題(讓安全更智能):
計(jì)算機(jī)取證、垃圾郵件檢測、身份驗(yàn)證、網(wǎng)絡(luò)釣魚檢測與預(yù)防、僵尸網(wǎng)絡(luò)監(jiān)測、入侵檢測和響應(yīng)、異常行為檢測、惡意軟件標(biāo)識、數(shù)據(jù)匿名/反匿名、社會網(wǎng)絡(luò)安全、大數(shù)據(jù)安全分析等。用安全性解決A問題(讓AI更安全):
分布式安全推理與決策、安全的多方計(jì)算和加密方法、隱私保護(hù)數(shù)據(jù)挖掘、差異隱私、驗(yàn)證碼的設(shè)計(jì)與分析、人工智能信任和聲譽(yù)方法、通過智能探測進(jìn)行漏洞測試、生成訓(xùn)練和測試集的技術(shù)和方法等。
2. 密碼分析與機(jī)器學(xué)習(xí)
密碼分析與機(jī)器學(xué)習(xí)之間有天然的相似性:
x -> F(x) -> y對于機(jī)器學(xué)習(xí):
x為輸入樣本,F(x)為機(jī)器學(xué)習(xí)的模型(可以理解為一個(gè)函數(shù)),y為輸出,如果是分類,則y是分類標(biāo)簽,如果是回歸,則y是真實(shí)值向量。
對于密碼分析:
x為輸入的明文,F(x)為密鑰(可以理解為一個(gè)函數(shù)),y為加密后得到的密文。
從研究趨勢來看,越來越多的密碼分析方法開始使用機(jī)器學(xué)習(xí)結(jié)束,例如破解DES的遺傳算法、用于側(cè)信道分析的支持向量機(jī)算法等。
3. 深度學(xué)習(xí)簡介與現(xiàn)狀
人工智能(AI)/機(jī)器學(xué)習(xí)(ML)/深度學(xué)習(xí)(DL)
人工智能分為很多分支,機(jī)器學(xué)習(xí)只是人工智能的其中一個(gè)分支,而深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)分支。這三者之間是包含關(guān)系。
深度學(xué)習(xí)簡介
近幾年,深度學(xué)習(xí)技術(shù)掀起了人工智能研究與應(yīng)用的新一輪浪潮,深度學(xué)習(xí)技術(shù)在多個(gè)方面取得了較大突破,其在人工智能系統(tǒng)中所占的比例日趨增大,已經(jīng)應(yīng)用于多項(xiàng)實(shí)際場景業(yè)務(wù)系統(tǒng)中。深度學(xué)習(xí)技術(shù)涌現(xiàn)出大量性能優(yōu)秀的深度神經(jīng)網(wǎng)絡(luò)(DNN),例如卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)、生成對抗網(wǎng)絡(luò)(GAN)等,在大樹分析、圖像識別、機(jī)器翻譯、視頻監(jiān)控中取得了較大進(jìn)步。
4. 深度學(xué)習(xí)與密碼分析
4.1、神經(jīng)網(wǎng)絡(luò)的側(cè)信道攻擊
4.2、基于循環(huán)神經(jīng)網(wǎng)絡(luò)的明文破譯
4.3、基于生成對抗網(wǎng)絡(luò)的口令破譯
4.4、基于深度神經(jīng)網(wǎng)絡(luò)的密碼基元識別
5. 深度學(xué)習(xí)與密碼設(shè)計(jì)
目前密碼算法的設(shè)計(jì)還停留在人工設(shè)計(jì)階段,較為耗時(shí)耗力,難以適應(yīng)未來對密碼算法設(shè)計(jì)的需求,能不能讓機(jī)器自動設(shè)計(jì)密碼算法?
生成對抗網(wǎng)絡(luò)(Generative Adversarial Network, GAN)
生成式對抗網(wǎng)絡(luò)(GAN, Generative Adversarial Networks)是一種深度學(xué)習(xí)模型,是近年來復(fù)雜分布上無監(jiān)督學(xué)習(xí)最具前景的方法之一。模型通過框架中(至少)兩個(gè)模塊:生成模型(Generative Model)和判別模型(Discriminative Model)的互相博弈學(xué)習(xí)產(chǎn)生相當(dāng)好的輸出。
密碼組件經(jīng)過生成對抗網(wǎng)絡(luò)中的算法生成器,得到設(shè)計(jì)出來的密碼算法,同時(shí)密碼破解器將對此密碼算法進(jìn)行破解,算法生成器和密碼破解器就這樣在相互博弈中學(xué)習(xí)產(chǎn)生出好的算法和好的破解方法。
講座四、信息隱藏
在本次講座中,夏超老師為我們?nèi)轿恢v述了信息隱藏相關(guān)知識,其中重點(diǎn)講解了信息隱藏的重要技術(shù)--隱寫,包括隱寫技術(shù)、隱寫分類、隱寫分析等。
1. 從密碼到信息隱藏
- 密碼主要解決了信息保密傳輸、數(shù)據(jù)來源認(rèn)證與完整性認(rèn)證等信息安全問題。
保護(hù)保密通信的數(shù)據(jù)--加密,但密碼方法不能解決以下兩方面問題:
1、保密通信的行為隱蔽性問題
保護(hù)保密通信的事實(shí)--隱蔽通信(隱寫)2、內(nèi)容保護(hù)與內(nèi)容認(rèn)證問題
密碼保護(hù)數(shù)據(jù),但是內(nèi)容≠數(shù)據(jù),內(nèi)容個(gè)別肆意傳播的問題要?dú)w信息隱藏“管”。
密碼保護(hù)的是內(nèi)容,而信息隱藏保護(hù)的是信息“傳輸”這個(gè)行為。
2. 信息隱藏
信息隱藏是指將特定用途的信息隱蔽地藏于其他載體(Cover)中,使得它們難以被發(fā)現(xiàn)或者消除,通過可靠提取隱藏的信息,實(shí)現(xiàn)隱蔽通信、內(nèi)容認(rèn)證或內(nèi)容保護(hù)功能。
信息隱藏主要包括水印、可視密碼、隱寫等。
信息隱藏--魯棒水印(Robust Watermaking)
魯棒水印是重要的數(shù)字產(chǎn)權(quán)管理與安全標(biāo)識技術(shù)之一,指將與數(shù)字媒體版權(quán)或者購買者有關(guān)的信息嵌入數(shù)字媒體中,使攻擊者難以在載體不遭到顯著破壞情況下消除水印,而授權(quán)者可以通過檢測水印實(shí)現(xiàn)對安全所有者或者內(nèi)容購買者等信息的認(rèn)定。
信息隱藏--可視密碼(Visual Cryptography)
可視密碼技術(shù)使Naor和Shamir于1994年首次提出的,其主要特點(diǎn)是恢復(fù)秘密圖像時(shí)不需要任何復(fù)雜的密碼學(xué)計(jì)算,而是以人的視覺即可將秘密圖像辨別出來。其做法是產(chǎn)生n張不具有任何意義的膠片,任取其中t張膠片疊合在一起即可還原出隱藏在其中的秘密信息。
信息隱藏--隱寫(Steganography)
- 隱寫是基于信息隱藏的隱蔽通信或者隱蔽存儲方法,將秘密信息難以感知地隱藏在內(nèi)容可公開的載體中,保護(hù)保密通信或者保密存儲這些行為事實(shí)。
- 稱隱寫后的載體為隱寫媒體Stego。
3. 隱寫技術(shù)
隱寫技術(shù)可被恐怖組織和非法團(tuán)體等用于傳遞信息,從事分裂國家主權(quán)、破壞社會穩(wěn)定等非法活動。
- 為了有效遏制隱寫的惡意使用,隱寫分析已受到國內(nèi)外學(xué)術(shù)界的廣泛關(guān)注和高度重視,被諸多國家安全軍事部門應(yīng)用于實(shí)戰(zhàn)之中。
- 隱寫分析是隱寫的反向技術(shù),主要用于檢測媒體文件是否含有隱藏的信息,可用于對隱寫媒體文件進(jìn)行預(yù)警、阻斷。
隱寫分析對抗隱寫的主要手段:發(fā)現(xiàn)與識別隱寫對各類特征的擾動。
- 有效提取隱寫分析特征。發(fā)現(xiàn)與提取對隱寫敏感的特征。
- 有效構(gòu)造隱寫特征識別系統(tǒng)。構(gòu)造與訓(xùn)練能有效識別隱寫分析特征的系統(tǒng)。
- 有效獲得先驗(yàn)知識。先驗(yàn)知識是指分析者知道的有關(guān)隱寫者所采用的算法和參數(shù)等信息,它能幫助分析者更好地提取隱寫分析特征并構(gòu)造特征識別系統(tǒng)。
- 有效提取隱寫分析特征。發(fā)現(xiàn)與提取對隱寫敏感的特征。
4. 隱寫分類
- 文本
- 輕微改變字符間距
- 不可見字符
- (Office, PDF, HTML)的格式信息
- 輕微改變字符間距
- 音頻
- MP3
- AMR
- 視頻
- 運(yùn)動向量
- 變換系數(shù)
- 幀內(nèi)/間預(yù)測模式、量化參數(shù)、熵編碼
- 運(yùn)動向量
- 圖像
- 空域圖像
- JPEG圖像
- 空域圖像
5. 隱寫
LSB嵌入
最簡單且最普遍的隱寫算法就是最低有效位嵌入算法(The Least Significant Bit, LSB)
矩陣嵌入(改得少)
以最小的嵌入修改數(shù)目達(dá)到嵌入要傳遞信息的目的,可提高嵌入效率,即利用較少的嵌入修改嵌入同樣數(shù)量的秘密信息。
對于2bit的信息,LSB需要平均改動1個(gè)像素,矩陣嵌入只需平均改動3/4個(gè)像素。
自適應(yīng)隱寫(改的好)
非自適應(yīng)隱寫(Non-adaptive Steganography)
非自適應(yīng)隱寫不考慮載體的圖像內(nèi)容,隨機(jī)嵌入信息。
“嵌入失真函數(shù)+STCs編碼”(Syndrome-Trellis Codes)
根據(jù)構(gòu)造的嵌入失真函數(shù)計(jì)算載體圖像中元素發(fā)生更改所引起的失真,利用隱寫編碼控制秘密信息的嵌入位置,在最小化圖像總體嵌入失真的同時(shí)保證秘密信息的準(zhǔn)確提取。
HUGO(Highly Undetectable steGO)是第一個(gè)基于“嵌入失真函數(shù)+STCs編碼”的自適應(yīng)隱寫算法,應(yīng)用于BOSS(Break our Steganographic System)隱寫分析競賽。
自適應(yīng)隱寫
- 空域自適應(yīng)隱寫
- WOW(Wavelet Obtained Weights)
- S-UNIWARD(Spatial UNIversal WAvelet Relative Distortion)
- HILL(HIgh-pass, Low-pass, and Low-pass)
- WOW(Wavelet Obtained Weights)
- JPEG域自適應(yīng)隱寫
- UED(Uniform Embedding Distortion)
- SC-UED(Single Coefficient UED)
- JC-UED(Joint Coefficients UED)
- J-UNIWARD(JPEG UNIversal WAvelet Relative Distortion)
- UED(Uniform Embedding Distortion)
7. 隱寫分析
高維隱寫分析特征
高維隱寫分析特征可以盡可能多地捕獲隱寫對圖像統(tǒng)計(jì)特性的影響。空域高維隱寫分析特征:
JPEG圖像解壓到空域,之前的JPEG圖像隱寫分析特征都是在DCT系數(shù)上提取的。因?yàn)榭沼蛱崛〉奶卣鲗PEG圖像自適應(yīng)隱寫更為敏感。
利用了相位信息(JPEG phase),所以被稱為JPEG-phase-aware特征。
選擇信道高維隱寫分析特征
講座五、區(qū)塊鏈
在本次講座中,張健毅老師為我們講述了區(qū)塊鏈技術(shù)、比特幣、挖礦工作、共識機(jī)制、獎(jiǎng)勵(lì)合作的制度設(shè)計(jì)、區(qū)塊鏈的未來等。
區(qū)塊鏈
什么是比特幣
比特幣(Bitcoin),是一種由開源的P2P軟件產(chǎn)生的電子幣,數(shù)字幣,是一種網(wǎng)絡(luò)虛擬資產(chǎn)。比特幣基于一套密碼編碼、通過復(fù)雜算法產(chǎn)生,這一規(guī)則不受任何個(gè)人或組織干擾,去中心化;任何人都可以下載并運(yùn)行比特幣客戶端而參與制造比特幣;比特幣利用電子簽名的方式來實(shí)現(xiàn)流通,通過P2P分布式網(wǎng)絡(luò)來核查重復(fù)消費(fèi)。每一塊比特幣的產(chǎn)生、消費(fèi)都會通過P2P分布式網(wǎng)絡(luò)記錄并告知全網(wǎng),不存在偽造的可能。
比特幣的特點(diǎn)
- 數(shù)字貨幣。
- 不依托于任何國家或組織而利用計(jì)算機(jī)技術(shù)獨(dú)立發(fā)行。
- 通過P2P分布式技術(shù)實(shí)現(xiàn),無中心點(diǎn)。
- 所有人均可自由的參與。
- 總量有限,不可再生。
- 本身機(jī)制開源,可以被山寨。
比特幣交易
每一位所有者(A)利用他的私鑰對前一次交易T1和下一位所有者(B)的公鑰(俗稱:地址)簽署一個(gè)隨機(jī)散列的數(shù)字簽名,A將此數(shù)據(jù)簽名制作為交易單T2并將其(交易單T2)廣播全網(wǎng),電子貨幣就發(fā)送給了下一位所有者。
其中:
1.交易發(fā)起者的私鑰:私鑰為個(gè)人所知,他人無從知曉。
2.前一次交易:前一次交易數(shù)據(jù)說明了該次交易的貨幣的來源(這部分貨幣是怎么到當(dāng)前發(fā)起人這里來的)。
3.下一位所有者的公鑰:即交易接收方的地址,此數(shù)據(jù)說明了當(dāng)前交易的目標(biāo)是誰。
4.數(shù)字簽名:發(fā)起方將前一次交易數(shù)據(jù)和接收方公鑰連接起來并對其求Hash值x,再利用自己的私鑰對x加密,便得到了這份數(shù)字簽名。
Block
- 比特幣網(wǎng)絡(luò)中,數(shù)據(jù)以文件的形式被永久記錄,稱之為區(qū)塊(Block)。
- 記錄交易單的數(shù)據(jù)單元叫做Block,一個(gè)Block上會記錄很多交易單。
- Block有很多份,每個(gè)Block只記錄比特幣全網(wǎng)10分鐘內(nèi)的交易信息,每約10分鐘產(chǎn)生一個(gè)新的Block。
- 每個(gè)新的Block含有的一定數(shù)額的比特幣歸創(chuàng)建者所有,此規(guī)則稱為“激勵(lì)”。
比特幣雖然是電子貨幣,但比特幣系統(tǒng)中并沒有特定的數(shù)據(jù)結(jié)構(gòu)用來單純代表貨幣。本質(zhì)上,比特幣的存在是通過交易單來提現(xiàn)。通俗的來講,現(xiàn)實(shí)生活中我們有實(shí)在的紙張來代表我們的貨幣(比如面值10塊的RMB紙張代表著10塊錢RMB),當(dāng)我們?nèi)ャy行核對財(cái)務(wù)時(shí)銀行也提供對賬單來表示我們的貨幣去留。比特幣的提現(xiàn)依托于交易單,交易單類似于銀行的對賬單,其通過記錄貨幣的去留來證明你有多少貨幣,而不是提供給你具體的貨幣單元。
挖礦工作
生產(chǎn)Block的過程,被形象的稱為“挖礦”,生產(chǎn)工也被稱為“礦工”。
挖礦過程實(shí)際上就是反復(fù)去嘗試尋找一個(gè)隨機(jī)數(shù)(又稱“幸運(yùn)數(shù)”),使得將最后一個(gè)Block的hash值、當(dāng)前世界中尚未被加入到任何Block的交易單、隨機(jī)數(shù)三部分組織起來送入SHA256算法計(jì)算出散列值X(256位),如果X滿足一定條件(比如前20位均為0),那么該節(jié)點(diǎn)初步獲得創(chuàng)建Block的權(quán)利。
工作量證明難度系數(shù)
對于每個(gè)Block存在一個(gè)難度系數(shù),此系數(shù)可以轉(zhuǎn)換為一個(gè)256位的整數(shù),挖礦計(jì)算出的Hash值X必須小于該整數(shù),此條件作為尋找隨機(jī)數(shù)的附加條件。
當(dāng)某時(shí)刻網(wǎng)絡(luò)檢測到新Block的產(chǎn)生速度不符合約10分鐘一個(gè)時(shí),將調(diào)解該系數(shù)(加大或者縮小),從而使下一個(gè)Block的產(chǎn)生速度符合預(yù)期。
每當(dāng)節(jié)點(diǎn)(礦工)計(jì)算出了一個(gè)符合條件的隨機(jī)數(shù)時(shí),它僅僅獲得了創(chuàng)建臨時(shí)Block的權(quán)利,它立即將相關(guān)數(shù)據(jù)打包好作為一個(gè)臨時(shí)Block并廣播全網(wǎng)。
每10分鐘內(nèi)全網(wǎng)不止一個(gè)節(jié)點(diǎn)能計(jì)算出幸運(yùn)數(shù)字,即十分鐘內(nèi)會有多個(gè)節(jié)點(diǎn)在網(wǎng)絡(luò)中廣播它們各自打包好的臨時(shí)Block(都是合法的)。通過誰先計(jì)算出誰后計(jì)算出來決定接受誰的臨時(shí)Block轉(zhuǎn)正顯然很難做到,因?yàn)樗泄?jié)點(diǎn)的時(shí)間不可能嚴(yán)格一致(而且可以任意被調(diào)節(jié)),而且網(wǎng)絡(luò)傳輸有快有慢。
Block鏈分支
某一節(jié)點(diǎn)若收到多個(gè)針對同一前續(xù)Block的后續(xù)臨時(shí)Block,則該節(jié)點(diǎn)會在本地Block鏈上建立分支,多個(gè)臨時(shí)Block對應(yīng)多個(gè)分支。
從block hash算法我們知道,合理的block并不是唯一的,同一高度存在多個(gè)block的可能性。那么,當(dāng)同一個(gè)高度出現(xiàn)多個(gè)時(shí),主鏈即出現(xiàn)分叉(Fork)。遇到分叉時(shí),網(wǎng)絡(luò)會根據(jù)下列原則選舉出Best Chain:
- 不同高度的分支,總是接受最高(即最長)的那條分支
- 相同高度的,接受難度最大的
- 高度相同且難度一致的,接受時(shí)間最早的
- 若所有均相同,則按照從網(wǎng)絡(luò)接受的順序
- 等待Block Chain高度增一,則重新選擇Best Chain
分支博弈
我們假設(shè)所有的節(jié)點(diǎn)都是理性的,追求收益最大化;都是不誠實(shí)的,且不惜任何手段獲取利益;所有節(jié)點(diǎn)均獨(dú)自挖礦不理會其他節(jié)點(diǎn),并將所得收益放入自己口袋,現(xiàn)象就是一個(gè)節(jié)點(diǎn)挖一個(gè)分支。由于機(jī)器的配置總是有差別的,那么算力最強(qiáng)的節(jié)點(diǎn)挖得的分支必然是最長的,如果一個(gè)節(jié)點(diǎn)的分支不是最長的,意味其收益存在不被認(rèn)可的風(fēng)險(xiǎn)(即零收益)。為了降低、逃避此風(fēng)險(xiǎn),一些節(jié)點(diǎn)肯定會聯(lián)合起來一起挖某個(gè)分支,試圖成為最長的分支或保持最長分支優(yōu)勢。
一旦出現(xiàn)有少量的節(jié)點(diǎn)聯(lián)合,那么其他節(jié)點(diǎn)必然會效仿,否則他們收益為零的風(fēng)險(xiǎn)會更大。于是,分支迅速合并匯集,所有節(jié)點(diǎn)都會選擇算力更強(qiáng)的分支,只有這樣才能保持收益風(fēng)險(xiǎn)最小。最終,只會存在一個(gè)這樣的分支,就是主干分支(Best/Main Chain)。
對于不誠實(shí)節(jié)點(diǎn)來說,結(jié)局是無奈的:能且只能加入主干挖礦。不加入即意味被拋棄,零收益;加入就是老實(shí)干活,按占比分成。
區(qū)塊鏈技術(shù)
點(diǎn)對點(diǎn)對等網(wǎng)絡(luò)
- 網(wǎng)格網(wǎng)絡(luò)
- 權(quán)限對等、數(shù)據(jù)公開
- 數(shù)據(jù)分布式、高冗余存儲
共識機(jī)制
- 工作量證明(PoW)
- 權(quán)益證明(PoS)
- 基于信任的Quorum
PoS是PoW的一種升級共識機(jī)制,根據(jù)每個(gè)節(jié)點(diǎn)所占代幣的比例和時(shí)間,等比例的降低挖礦難度,從而加快找隨機(jī)數(shù)的速度。在一定程度上縮短了共識達(dá)成的時(shí)間,但還是需要挖礦,本質(zhì)上沒有解決商業(yè)應(yīng)用的痛點(diǎn)。
共識機(jī)制防止了“雙重支付”
- 信息復(fù)制的零邊際成本vs價(jià)值的唯一不可復(fù)制性
- 信息互聯(lián)網(wǎng)->價(jià)值互聯(lián)網(wǎng)
數(shù)據(jù)可驗(yàn)證
- PKI公鑰體系
- 數(shù)字簽名提供密碼學(xué)證據(jù)
- 零知識證明
- 數(shù)字簽名提供密碼學(xué)證據(jù)
- 不可變數(shù)據(jù)
- 只可添加,不可編輯
- 不可變數(shù)據(jù)+時(shí)間戳,為互聯(lián)網(wǎng)加上了時(shí)間軸
- 只可添加,不可編輯
獎(jiǎng)勵(lì)合作的制度設(shè)計(jì)
- 非合作博弈--不基于信任,無外部強(qiáng)制力
- 合作是一種演化穩(wěn)定策略,合作達(dá)到納什均衡
- 51%攻擊問題
51%攻擊
攻擊步驟:
攻擊結(jié)果:
由于撤銷了所有對外付款交易,等于收回來所以已賣掉的比特幣。
可行性評估:
現(xiàn)在比特幣全網(wǎng)算力差不多90T,而且還會快速增長,現(xiàn)在看來只有現(xiàn)在的幾大礦池聯(lián)合,才具有發(fā)動51%攻擊的實(shí)力,普通個(gè)人或機(jī)構(gòu)實(shí)施此攻擊的可能性越來越小。
講座六、安全漏洞利用與挖掘
在本次講座中,王志強(qiáng)老師通過具體漏洞挖掘示例為我們詳細(xì)介紹了常見的漏洞挖掘技術(shù)以及漏洞挖掘技術(shù)的研究進(jìn)展。
1.常見漏洞挖掘技術(shù)
1.1 手工測試
定義:由測試人員手工分析和測試被測目標(biāo),發(fā)現(xiàn)漏洞的過程,是最原始的漏洞挖掘方法。【憑經(jīng)驗(yàn)依次檢驗(yàn)每個(gè)可能產(chǎn)生漏洞的脆弱點(diǎn)】
- 優(yōu)點(diǎn):人-主觀能動性-顯而易見和復(fù)雜不易見
缺點(diǎn):人-無規(guī)律可循、不可大規(guī)模等
1.2 補(bǔ)丁比對
- 定義:一種通過對比補(bǔ)丁之間的差異來挖掘漏洞的技術(shù)。
- 文本(難定位,難出難理解)
- 匯編指令(易理解,輸出范圍大,難定位)
- 結(jié)構(gòu)化(迅速直觀,流行)
- 文本(難定位,難出難理解)
- 優(yōu)點(diǎn):發(fā)現(xiàn)速度快
- 缺點(diǎn):已知漏洞
- 常見工具:PatchDiff2、bindiff
1.3 程序分析
程序分析包括靜態(tài)和動態(tài)
靜態(tài)程序分析
- 定義:是指在不運(yùn)行計(jì)算機(jī)程序的條件下,通過詞法分析、語法分析、語義分析、控制流分析、污點(diǎn)分析等技術(shù)對程序代碼進(jìn)行掃描,驗(yàn)證代碼是否滿足規(guī)范性、安全性等指標(biāo)的一種代碼分析技術(shù)。
- 優(yōu)點(diǎn):覆蓋率100%,自動化程度高
- 缺點(diǎn):漏報(bào)和誤報(bào)(RICE,程序分析問題不可判定)
動態(tài)程序分析
- 定義:在運(yùn)行計(jì)算機(jī)程序的條件下,驗(yàn)證代碼是否滿足規(guī)范性、安全性等指標(biāo)的一種代碼分析技術(shù)。
- 一般通過插樁技術(shù)分析程序的異常行為。
插樁技術(shù)是指在保證被測程序邏輯完整性的基礎(chǔ)上在程序的關(guān)鍵位置插入一些“樁”,即加入一些測試代碼,然后執(zhí)行插樁后的程序,通過“樁”的執(zhí)行獲取程序的控制流和數(shù)據(jù)流信息,進(jìn)而分析程序的異常行為。
- 優(yōu)點(diǎn):自動化程度高、覆蓋率較高
- 缺點(diǎn):漏報(bào)和誤報(bào)(RICE,程序分析問題不可判定)、冗余代碼?時(shí)間開銷 ↑
1.4 二進(jìn)制審核
定義:源代碼不可得,通過逆向獲取二進(jìn)制代碼,在二進(jìn)制代碼層次上進(jìn)行安全評估
- 優(yōu)點(diǎn):缺點(diǎn): 同靜態(tài)審核
- 逆向?qū)е滦畔G失,理解困難,甚至引入邏輯錯(cuò)誤。
二進(jìn)制及編輯工具:IDA Pro、Ollydbg、UltraEdit、Hex Workshop以及WinHex
1.5 模糊測試
- 定義:通過向被測目標(biāo)輸入大量的畸形數(shù)據(jù)并監(jiān)測其異常來發(fā)現(xiàn)漏洞
關(guān)鍵:測試用例構(gòu)造,自動化
- 優(yōu)點(diǎn):無須源碼、誤報(bào)低、自動化程度高
- 缺點(diǎn):覆蓋率低
工具:Peach、Sulley、Autodafe、SPIKE等
2.漏洞挖掘技術(shù)研究進(jìn)展
2.1 二進(jìn)制程序函數(shù)識別
二進(jìn)制程序函數(shù)識別是二進(jìn)制分析的基礎(chǔ),對于軟件漏洞分析與修復(fù),甚至惡意軟件檢測、協(xié)議逆向等都至關(guān)重要。由于二進(jìn)制代碼缺少高級語言程序中的信息,函數(shù)的識別往往比較困難,現(xiàn)有的反匯編分析工具具有識別正確率低的缺陷。
Shin等用循環(huán)神經(jīng)網(wǎng)絡(luò)算法(RNN)改進(jìn)了ByteWeight方案的性能,在模型訓(xùn)練時(shí)間上有了數(shù)量級上的提升,并取得了更高的準(zhǔn)確率。
2.2 測試用例生成
- 在軟件漏洞挖掘中,構(gòu)造代碼覆蓋率高或脆弱性導(dǎo)向型的測試輸入能提高漏洞挖掘的效率和針對性。
- 機(jī)器學(xué)習(xí)→指導(dǎo)生成更高質(zhì)量的測試輸入樣本
- Godefroid等首次把模糊測試中的高結(jié)構(gòu)化樣本生成問題轉(zhuǎn)換成了NLP領(lǐng)域的文本生成問題,采用了Char-RNN(recurrentneural network)模型實(shí)現(xiàn)對PDF文件格式中的obj語法的學(xué)習(xí),并用訓(xùn)練好的模型生成具有多樣性的obj對象和PDF文件。
2.3 路徑約束求解
- 模糊測試,特別是代碼覆蓋率制導(dǎo)的模糊測試(如AFL),側(cè)重于篩選可以覆蓋新路徑的樣本為種子文件,但對種子文件變異時(shí)并沒有充分利用程序數(shù)據(jù)流等信息指導(dǎo)變異,這使得變異盲目低效,生成樣本冗余。
- 具備路徑約束求解能力是符號執(zhí)行比模糊測試等漏洞挖掘技術(shù)更先進(jìn)的體現(xiàn),也使得符號執(zhí)行在理論上具備了系統(tǒng)性探索程序執(zhí)行路徑的能力。
- 約束求解→問題:路徑爆炸,效率較低
- Chen等提出了Angora,采用污點(diǎn)追蹤測試輸入中影響條件分支的字節(jié),然后使用梯度下降的方式對變異后生成的路徑約束進(jìn)行求解(目標(biāo)函數(shù)不可導(dǎo)將有問題)
二、各小組講座內(nèi)容總結(jié)
講座1 在10秒內(nèi)找到未知的惡意:在Google-Play規(guī)模上大規(guī)模審查新的威脅
本文開發(fā)了一種名為MassVet的新技術(shù),用于大規(guī)模審查應(yīng)用程序,而無需了解惡意軟件的外觀和行為方式。與通常使用重量級程序分析技術(shù)的現(xiàn)有檢測機(jī)制不同,文中所用的方法只是將提交的應(yīng)用程序與已經(jīng)在市場上的所有應(yīng)用程序進(jìn)行比較,重點(diǎn)關(guān)注那些共享類似UI結(jié)構(gòu)(表示可能的重新打包關(guān)系)和共性的區(qū)別。一旦公共庫和其他合法代碼重用被刪除,這種差異/通用程序組件就會變得非常可疑。研究中,本文在一個(gè)有效的相似性比較算法之上構(gòu)建了這個(gè)“DiffCom”分析,該算法將應(yīng)用程序的UI結(jié)構(gòu)或方法的控制流圖的顯著特征映射到一個(gè)快速比較的值。在流處理引擎上實(shí)施了MassVet,并評估了來自全球33個(gè)應(yīng)用市場的近120萬個(gè)應(yīng)用程序,即Google Play的規(guī)模。最后研究表明,該技術(shù)可以在10秒內(nèi)以低錯(cuò)誤檢測率審核應(yīng)用程序。此外,它在檢測覆蓋率方面優(yōu)于VirusTotal(NOD32,賽門鐵克,邁克菲等)的所有54臺掃描儀,捕獲了超過10萬個(gè)惡意應(yīng)用程序,包括20多個(gè)可能的零日惡意軟件和數(shù)百萬次安裝的惡意軟件。仔細(xì)觀察這些應(yīng)用程序可以發(fā)現(xiàn)有趣的新觀察結(jié)果:例如,谷歌的檢測策略和惡意軟件作者的對策導(dǎo)致某些Google Play應(yīng)用程序的神秘消失和重新出現(xiàn)。
本文的檢測思路:
MassVet結(jié)構(gòu):
講座2 幽靈攻擊:利用預(yù)測執(zhí)行
幽靈攻擊主要利用了CPU的預(yù)測執(zhí)行機(jī)制。
預(yù)測執(zhí)行機(jī)制
通常,處理器不知道程序的未來指令流。例如,當(dāng)無序執(zhí)行執(zhí)行條件分支指令時(shí),會發(fā)生這種情況,該條件分支指令的方向取決于其執(zhí)行尚未完成的先前指令。在這種情況下,處理器可以保存包含其當(dāng)前寄存器狀態(tài)的檢查點(diǎn),對程序?qū)⒆裱穆窂竭M(jìn)行預(yù)測,并沿路徑推測性地執(zhí)行指令。如果預(yù)測結(jié)果是正確的,則不需要檢查點(diǎn),并且在程序執(zhí)行順序中退出指令。否則,當(dāng)處理器確定它遵循錯(cuò)誤的路徑時(shí),它通過從檢查點(diǎn)重新加載其狀態(tài)并沿著正確的路徑繼續(xù)執(zhí)行來放棄沿路徑的所有待處理指令。執(zhí)行放棄指令,以便程序執(zhí)行路徑外的指令所做的更改不會對程序可見。因此,推測執(zhí)行維護(hù)程序的邏輯狀態(tài),就好像執(zhí)行遵循正確的路徑一樣。
幽靈攻擊
幽靈攻擊涉及誘使受害者推測性地執(zhí)行在正確的程序執(zhí)行期間不會發(fā)生的操作,并且通過旁路分支將受害者的機(jī)密信息泄露給攻擊者。論文中的幽靈攻擊結(jié)合了側(cè)信道攻擊,故障攻擊和面向返回編程的方法,可以從受害者的進(jìn)程中讀取任意內(nèi)存。更廣泛地說,論文說明了推測性執(zhí)行實(shí)施違反了許多軟件安全機(jī)制所依據(jù)的安全假設(shè),包括操作系統(tǒng)進(jìn)程分離,靜態(tài)分析,容器化,即時(shí)(JIT)編譯以及緩存時(shí)序/側(cè)通道的對策攻擊。由于在數(shù)十億設(shè)備中使用的Intel,AMD和ARM微處理器中存在易受攻擊的推測執(zhí)行能力,這些攻擊對實(shí)際系統(tǒng)構(gòu)成嚴(yán)重威脅。
欺騙推測分支訓(xùn)練器
下面這段代碼中,攻擊者首先使用有效的x調(diào)用相關(guān)代碼,訓(xùn)練分支預(yù)測器判斷該if為真。 然后,攻擊者設(shè)置x值在array1_size之外。 CPU推測邊界檢查將為真,推測性地使用這個(gè)惡意x讀取array2 [array1 [x] * 256]。 讀取array2使用惡意x將數(shù)據(jù)加載到依賴于array1 [x]的地址的高速緩存中。當(dāng)處理器發(fā)現(xiàn)這個(gè)if判斷應(yīng)該為假時(shí),重新選擇執(zhí)行路徑,但緩存狀態(tài)的變化不會被恢復(fù),并且可以被攻擊者檢測到,從而找到受害者的存儲器的一個(gè)字節(jié)。
運(yùn)行結(jié)果
講座3 您所有的GPS都屬于我們:對道路導(dǎo)航系統(tǒng)的秘密操作
這篇論文主要探討了對道路導(dǎo)航系統(tǒng)進(jìn)行隱身操縱攻擊的可行性目標(biāo)是觸發(fā)假轉(zhuǎn)向?qū)Ш?#xff0c;引導(dǎo)受害者到達(dá)錯(cuò)誤的目的地而不被察覺。其主要想法是略微改變GPS位置,以便假冒的導(dǎo)航路線與實(shí)際道路的形狀相匹配并觸發(fā)實(shí)際可能的指示。為了證明可行性,該論文首先通過實(shí)施便攜式GPS欺騙器并在真實(shí)汽車上進(jìn)行測試來執(zhí)行受控測量。然后,該論文設(shè)計(jì)一個(gè)搜索算法來實(shí)時(shí)計(jì)算GPS移位和受害者路線。該論文使用追蹤駕駛模擬(曼哈頓和波士頓的600輛出租車道路)進(jìn)行廣泛的評估,然后通過真實(shí)駕駛測試(攻擊我們自己的車)來驗(yàn)證完整的攻擊。最后,該研究組在美國和中國使用駕駛模擬器進(jìn)行欺騙性用戶研究,結(jié)果顯示95%的參與者遵循導(dǎo)航?jīng)]有意識到這種攻擊就到了錯(cuò)誤的目的地。
本篇論文共做出三點(diǎn)貢獻(xiàn):
- 提出了一種秘密操縱道路導(dǎo)航系統(tǒng)的攻擊方法。該算法利用了現(xiàn)實(shí)中出租車行駛軌跡,并對算法進(jìn)行了廣泛的評估。
- 我們實(shí)現(xiàn)了攻擊算法和一個(gè)低成本的便攜式GPS欺騙器.在道路上的實(shí)際測量和駕駛測試證實(shí)了攻擊的可行性。
- 我們進(jìn)行了一項(xiàng)用戶調(diào)查研究,以證明在道路行駛過程中人為的因素可以影響攻擊是否成功。這些結(jié)果表明,有些司機(jī)常見的駕駛習(xí)慣大概率會讓他們遭受到GPS欺騙攻擊,并對結(jié)果進(jìn)行了分析和提出了相應(yīng)的對策。
講座4 偉大的訓(xùn)練帶來巨大的弱點(diǎn):針對轉(zhuǎn)移學(xué)習(xí)的實(shí)際攻擊(本組)
這篇論文講的主要講的是對遷移學(xué)習(xí)的攻擊及相應(yīng)的防御。
遷移學(xué)習(xí)
遷移學(xué)習(xí)過程
學(xué)生模型通過復(fù)制教師模型的前N-1層來初始化,并增加了一層全連接層用于分類,之后使用自己的數(shù)據(jù)集對學(xué)生模型進(jìn)行訓(xùn)練,訓(xùn)練過程中,前K層是被凍結(jié)的,即它們的權(quán)重是固定的,只有最后N-K層的權(quán)重才會被更新。前K層之所以在訓(xùn)練期間要被凍結(jié),是因?yàn)檫@些層的輸出已經(jīng)代表了學(xué)生任務(wù)中的有意義的特征,學(xué)生模型可以直接使用這些特征,凍結(jié)它們可以降低訓(xùn)練成本和減少所需的訓(xùn)練數(shù)據(jù)集。
遷移學(xué)習(xí)方法
根據(jù)訓(xùn)練過程中被凍結(jié)的層數(shù)K,可以把遷移學(xué)習(xí)分為以下3種方法:深層特征提取器(Deep-layer Feature Extractor)、中層特征提取器(Mid-layer Feature Extractor)、全模型微調(diào)(Full Model Fine-tuning)。
- Deep-layer Feature Extractor:K=N-1,學(xué)生任務(wù)與教師任務(wù)非常相似,需要的訓(xùn)練成本最小
- Mid-layer Feature Extractor:K<N-1,允許更新更多的層,有助于學(xué)生為自己的任務(wù)進(jìn)行更多的優(yōu)化
- Full Model Fine-tuning:K=0,學(xué)生任務(wù)和教師任務(wù)存在顯著差異,所有層都需要微調(diào)
本文的攻擊
本文攻擊模式
由于當(dāng)前模型的默認(rèn)訪問模式是:
- 教師模型被深度學(xué)習(xí)服務(wù)平臺公開。
- 學(xué)生模型離線訓(xùn)練且不公開。
本文提出了一個(gè)新的針對遷移學(xué)習(xí)的對抗性攻擊,即對教師模型白盒攻擊,對學(xué)生模型黑盒攻擊。攻擊者知道教師模型的內(nèi)部結(jié)構(gòu)以及所有權(quán)重,但不知道學(xué)生模型的所有權(quán)值和訓(xùn)練數(shù)據(jù)集。
本文具體攻擊思路
攻擊目標(biāo):把source圖貓誤識別為target圖狗
本文的攻擊思路:首先將target圖狗輸入到教師模型中,捕獲target圖在教師模型第K層的輸出向量。之后對source圖加入擾動,使得加過擾動的source圖(即對抗樣本)在輸入教師模型后,在第K層產(chǎn)生非常相似的輸出向量。由于前饋網(wǎng)絡(luò)每一層只觀察它的前一層,所以如果我們的對抗樣本在第K層的輸出向量可以完美匹配到target圖的相應(yīng)的輸出向量,那么無論第K層之后的層的權(quán)值如何變化,它都會被誤分類到和target圖相同的標(biāo)簽。
如何計(jì)算擾動
本文通過求解一個(gè)有約束的最優(yōu)化問題來計(jì)算擾動。目標(biāo)是是模擬隱藏層第K層的輸出向量,約束是擾動不易被人眼察覺。即在擾動程度perturb_magnitude小于一定約束值(擾動預(yù)算P)的前提下,最小化對抗樣本(擾動后的source image)第K層的輸出向量與target image 第K層的輸出向量的歐式距離。前人計(jì)算擾動程度都是使用Lp范數(shù),但是它無法衡量人眼對于圖像失真程度的感知。所以本文使用DSSIM計(jì)算擾動程度,它是一種對圖像失真度的客觀測量指標(biāo)。
目標(biāo)/非目標(biāo)攻擊
目標(biāo)攻擊:將source image x_s 誤分類成target image s_t 所屬標(biāo)簽
非目標(biāo)攻擊:將source image x_s 誤分類成任意其他的source image 所屬標(biāo)簽
非目標(biāo)攻擊需要確定一個(gè)“方向”把source image推出它自己的決策邊界。但是要預(yù)測這個(gè)“方向“是非常難的,所以本文的解決方法是,把每個(gè)目標(biāo)攻擊的攻擊目標(biāo)都試一遍,然后選出與source image第K層輸出向量距離最小的類別作為目標(biāo)。
防御
論文還提出了3種針對本文攻擊的防御方法,其中最可行的是修改學(xué)生模型,更新層權(quán)值,確定一個(gè)新的局部最優(yōu)值,在提供相當(dāng)?shù)幕蛘吒玫姆诸愋Ч那疤嵯聰U(kuò)大它和教師模型之間的差異。這又是一個(gè)求解有約束的最優(yōu)化問題,約束是對于每個(gè)訓(xùn)練集中的x,讓教師模型第K層的輸出向量和學(xué)生模型第K層的輸出向量之間的歐氏距離大于一個(gè)閾值,在這個(gè)前提下,讓預(yù)測結(jié)果和真實(shí)結(jié)果的交叉熵?fù)p失最小。
復(fù)現(xiàn)結(jié)果
下圖為65張人臉分類任務(wù)的攻擊結(jié)果:
上下分別是:
對31號進(jìn)行目標(biāo)攻擊,誤分類為2號,攻擊成功;
對64號進(jìn)行目標(biāo)攻擊,誤分類為46號,攻擊失敗;
左圖為source image,中圖為加過擾動的對抗樣本,右圖為其要誤分類成的target image。
講座5 Safeinit:全面而實(shí)用的未初始化讀取漏洞緩解
一些概念
- 未初始化漏洞:未初始化值的使用仍然是C / C ++代碼中的常見錯(cuò)誤。這不僅導(dǎo)致未定義的和通常不期望的行為,而且還導(dǎo)致信息泄露和其他安全漏洞。
未定義行為:簡單地說,未定義行為是指C語言標(biāo)準(zhǔn)未做規(guī)定的行為。編譯器可能不會報(bào)錯(cuò),但是這些行為編譯器會自行處理,所以不同的編譯器會出現(xiàn)不同的結(jié)果,什么都有可能發(fā)生,這是一個(gè)極大的隱患,所以我們應(yīng)該盡量避免這種情況的發(fā)生。 - 未定義行為:簡單地說,未定義行為是指C語言標(biāo)準(zhǔn)未做規(guī)定的行為。編譯器可能不會報(bào)錯(cuò),但是這些行為編譯器會自行處理,所以不同的編譯器會出現(xiàn)不同的結(jié)果,什么都有可能發(fā)生,這是一個(gè)極大的隱患,所以我們應(yīng)該盡量避免這種情況的發(fā)生。
本文貢獻(xiàn)
- 提出了SafeInit,一種基于編譯器的解決方案。
- 通過確保棧和堆上的初始化來自動減輕未初始化的值讀取。
- 提出的優(yōu)化可以將解決方案的開銷降低到最低水平(<5%),并且可以直接在現(xiàn)代編譯器中實(shí)現(xiàn)基于clang和LLVM的SafeInit原型實(shí)現(xiàn),并表明它可以應(yīng)用于大多數(shù)真實(shí)的C / C++應(yīng)用程序而無需任何額外的手動工作。
- 評估我們在CPU-intensiv占用CPU資源的操作、IO-intensive占用I/O設(shè)備的操作以及Linux內(nèi)核方面的工作,并驗(yàn)證是否成功地減輕了現(xiàn)存的漏洞。
Safeint
llvm/clang架構(gòu)
LVM包括了一個(gè)狹義的LLVM和一個(gè)廣義的LLVM。廣義的LLVM其實(shí)就是指整個(gè)LLVM編譯器架構(gòu),包括了前端、后端、優(yōu)化器、眾多的庫函數(shù)以及很多的模塊;而狹義的LLVM其實(shí)就是聚焦于編譯器后端功能(代碼生成、代碼優(yōu)化等)的一系列模塊和庫。Clang是一個(gè)C++編寫、基于LLVM的C/C++/Objective-C/Objective-C++編譯器。Clang是一個(gè)高度模塊化開發(fā)的輕量級編譯器,它的編譯速度快、占用內(nèi)存小、非常方便進(jìn)行二次開發(fā)。
Safeinit架構(gòu)
編譯器在獲得C/C++文件后,編譯器前端將源文件轉(zhuǎn)換為中間語言(IR),通過初始化、代碼優(yōu)化結(jié)合現(xiàn)存編譯器的優(yōu)化器,之后通過無效數(shù)據(jù)消除、強(qiáng)化分配器最后獲得二進(jìn)制文件。Safeinit在整個(gè)過程中所添加的就是 初始化全部變量、優(yōu)化以及強(qiáng)化分配器,來避免或緩解未初始化值。最后,SafeInit優(yōu)化器提供了非侵入式轉(zhuǎn)換和優(yōu)化,它們與現(xiàn)有的編譯器優(yōu)化(必要時(shí)自行修改)以及最終組件(現(xiàn)有“死存儲消除”優(yōu)化的擴(kuò)展)一起運(yùn)行。
講座6 操縱機(jī)器學(xué)習(xí):回歸學(xué)習(xí)的中毒攻擊與對策
本文貢獻(xiàn)
- 對線性回歸模型的中毒攻擊及其對策進(jìn)行了第一次系統(tǒng)研究。
- 提出了一個(gè)針對中毒攻擊和快速統(tǒng)計(jì)攻擊的新優(yōu)化框架,該框架需要對培訓(xùn)過程的了解很少。
- 采用原則性方法設(shè)計(jì)一種新的魯棒防御算法,該算法在很大程度上優(yōu)于現(xiàn)有的穩(wěn)健回歸方法。
- 在醫(yī)療保健,貸款評估和房地產(chǎn)領(lǐng)域的幾個(gè)數(shù)據(jù)集上廣泛評估作者提出的攻擊和防御算法。
- 在案例研究健康應(yīng)用中證明了中毒攻擊的真實(shí)含義。
系統(tǒng)架構(gòu)
- 理想世界:學(xué)習(xí)過程包括執(zhí)行數(shù)據(jù)清理和標(biāo)準(zhǔn)化的數(shù)據(jù)預(yù)處理階段,之后可以表示訓(xùn)練數(shù)據(jù);
- 測試階段:模型在預(yù)處理后應(yīng)用于新數(shù)據(jù),并使用在訓(xùn)練中學(xué)習(xí)的回歸模型生成數(shù)值預(yù)測值;
- 對抗性世界:在中毒攻擊中,攻擊者在訓(xùn)練回歸模型之前將中毒點(diǎn)注入訓(xùn)練集。
Trim算法及成果
講座7 卷積神經(jīng)網(wǎng)絡(luò)用于句子分類
用卷積神經(jīng)網(wǎng)絡(luò)分類句子的優(yōu)勢
- 特征提取的高效性
機(jī)器學(xué)習(xí)首先需要選取好特征,每一個(gè)特征即為一個(gè)維度,特征數(shù)目過少,我們可能無法精確的分類出來,即我們所說的欠擬合;如果特征數(shù)目過多,可能會導(dǎo)致我們在分類過程中過于注重某個(gè)特征導(dǎo)致分類錯(cuò)誤,即過擬合。這樣就需要我們在特征工程上花費(fèi)很多時(shí)間和精力,才能使模型訓(xùn)練得到一個(gè)好的效果。然而神經(jīng)網(wǎng)絡(luò)的出現(xiàn)使我們不需要做大量的特征工程,譬如提前設(shè)計(jì)好特征的內(nèi)容或者說特征的數(shù)量等等,我們可以直接把數(shù)據(jù)灌進(jìn)去,讓它自己訓(xùn)練,自我“修正”,即可得到一個(gè)較好的效果。 - 數(shù)據(jù)格式的簡易性
在一個(gè)傳統(tǒng)的機(jī)器學(xué)習(xí)分類問題中,我們“灌”進(jìn)去的數(shù)據(jù)是不能直接灌進(jìn)去的,需要對數(shù)據(jù)進(jìn)行一些處理,譬如量綱的歸一化,格式的轉(zhuǎn)化等等,不過在神經(jīng)網(wǎng)絡(luò)里我們不需要額外的對數(shù)據(jù)做過多的處理。 - 參數(shù)數(shù)目的少量性
在面對一個(gè)分類問題時(shí),如果用SVM來做,我們需要調(diào)整的參數(shù)包括核函數(shù),懲罰因子,松弛變量等等,不同的參數(shù)組合對于模型的效果也不一樣,想要迅速而又準(zhǔn)確的調(diào)到最適合模型的參數(shù)需要對背后理論知識的深入了解(當(dāng)然,如果全部都試一遍也是可以的,但是花的時(shí)間可能會更多)。對于一個(gè)基本的三層神經(jīng)網(wǎng)絡(luò)來說(輸入-隱含-輸出),我們只需要初始化時(shí)給每一個(gè)神經(jīng)元上隨機(jī)的賦予一個(gè)權(quán)重w和偏置項(xiàng)b,在訓(xùn)練過程中,這兩個(gè)參數(shù)會不斷的修正,調(diào)整到最優(yōu)質(zhì),使模型的誤差最小。所以從這個(gè)角度來看,我們對于調(diào)參的背后理論知識并不需要過于精通(只不過做多了之后可能會有一些經(jīng)驗(yàn),在初始值時(shí)賦予的值更科學(xué),收斂的更快罷了)。
本文CNN結(jié)構(gòu)
三、感想與體會
在這門課的六次教師講座+7個(gè)學(xué)生講座中,我學(xué)到了不同研究方向的密碼新技術(shù),涉及面很廣,雖然有些東西并不能在課上完全聽懂,但是通過課下的查找資料,閱讀相關(guān)研究方向的經(jīng)典/最新論文,就基本能了解這個(gè)方向,受益良多。另外,本門課的論文閱讀復(fù)現(xiàn)部分,因?yàn)橹霸趯?shí)驗(yàn)室做過深度學(xué)習(xí)相關(guān)的實(shí)驗(yàn),且本科的第三次教師講座中,金鑫老師也講的是人工智能與密碼的結(jié)合,所以我們小組選擇了一篇關(guān)于遷移學(xué)習(xí)攻擊的18年論文。這次論文閱讀復(fù)現(xiàn)工作拓寬了我對深度學(xué)習(xí)安全性的認(rèn)知,并且使我的英文論文閱讀理解能力、團(tuán)隊(duì)合作能力、課堂演講能力得到了很大的提升。總體來說,本門課不論是講座部分,還是論文閱讀復(fù)現(xiàn)部分都對我?guī)椭艽蟆?/p>
四、對本課程的建議和意見
- 建議論文復(fù)現(xiàn)部分可以更早一些開始,不然時(shí)間不夠。
- 建議論文復(fù)現(xiàn)部分老師可以給幾篇推薦的參考題目或方向,或由本課各個(gè)講座的授課老師推薦本講座研究方向的幾篇經(jīng)典/最新論文。
轉(zhuǎn)載于:https://www.cnblogs.com/PNIDEMOOO/p/11032688.html
總結(jié)
以上是生活随笔為你收集整理的2019年密码与安全新技术讲座-课程总结报告的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【antd-design-vue】a-t
- 下一篇: SOTA级发丝抠图模型PP-Mattin