20189220餘超 2019年密碼與安全新技術講座-課程總結報告

20189220餘超 2019年密碼與安全新技術講座-課程總結報告

課程學習內容總結

老師講座

- 第一次網絡安全與內容安全
本次講座主要學習了網絡安全以及網絡內容安全相關的知識,首先經過信息化發展凸顯了信息安全問題介紹了威脅方與防禦方的非對稱性,主要是指大量自動化攻擊工具的出現使得攻擊方所需的成本極低,且較爲隱祕;而防禦方的成本極高的一種現象,從而引出了三個方面的知識。第一個方面爲Web應用安全,主要介紹了常見的Web漏洞,好比SQL注入,XSS跨站腳本攻擊,CSRF跨站請求僞造,解析漏洞,弱口令等等。第二個方面,主要介紹了用戶的隱私安全,經過介紹兩個例子Stava戶外運動軟件和蘋果手機收集用戶的mac地址等用戶信息,揭示了當今有一部分軟件在未經用戶的許可下擅自手機用戶隱私的現象。第三個方面介紹了機器學習在網絡安全方面的應用,機器學習有助於解決釣魚攻擊,水坑式攻擊,內網漫遊,隱蔽信道檢測,注入攻擊,網頁木馬,釣魚網站URL識別等網絡安全問題。
1.1常見的Web漏洞
前端

1.2SQL注入
程序員

1.3XSS跨站腳本攻擊
算法

- 第二次量子密碼通訊
本次講座主要學習了量子密碼的相關知識,主要分爲如下幾個內容:1、量子密碼的研究背景;2、量子通訊相關基本物理概念;3、量子通訊的典型協議和基本模型介紹;4、量子通訊研究現狀和實驗進展。sql

着重理解了一下量子通訊最重要的協議,BB84協議的實現須要兩個信道:經典信道和量子信道。經典信道要確保收發雙方Alice和Bob之間能進行一些必要信息的交換,而量子信道用於傳輸攜帶信息的或者隨機的量子態.數據庫

  • 下面簡要介紹BB84協議的實現思路,簡要步驟以下具體的BB84協議流程以下:
    (1)單光子源產生一個一個的單光子;編程

    (2)發送方Alice 使用偏振片隨機生成垂直、水平、+45°或-45°的偏振態,將選定偏振方向的光子經過量子通道傳送給接收方Bob;緩存

    (3)Bob 隨機選用兩種測量基測量光子的偏振方向;安全

    (4)Bob 將測量結果保密,但將所用的測量基經過經典通道告知Alice;服務器

    (5)Alice 對比Bob選用的測量基與本身的編碼方式,而後經過經典通道告訴Bob哪些基和她用的不一樣;網絡

    (6)Bob 扔掉錯誤基的測量結果(統計上會扔掉一半的數據);

    (7)Alice 和Bob選取一部分保留的密碼來檢測錯誤率,若是雙方的0、1序列爲一致,則斷定沒有竊聽者Eve竊聽,剩下未公開的比特序列就留做量子密鑰本。

如上圖所示,假設B1偏振片檢測水平,垂直爲1,其他爲0,B2檢測45度爲1,其他爲0,Alice要發送1100101101字符串。
按照第一個字符看,Alice 發送了垂直的偏振態,Bob隨機選擇B1,B2接受,這裏Bob有幸選對,Bob再傳回所用偏振片,這裏是B1,Alice收到後表示正確,所以保留此字符。
按照第三個字符看,Alice發送了45度的偏振態,Bob隨機選擇了B2,是個錯誤的選擇,Bob傳回所用偏振片,Alice收到後表示錯誤,所以捨棄此字符。
所以最終的密碼本爲1101010

  • 量子通訊能夠應用到國防軍事、金融、網絡安全等方面的應用。

- 第三次機器學習與密碼
本次講座主要學習了機器學習、深度學習方面的基礎知識以及與密碼設計、密碼分析相關的研究熱點。主要分爲如下四個方面來介紹:密碼分析與機器學習、深度學習簡介與現狀、深度學習與密碼分析、深度學習與密碼設計。

  • 首先,密碼分析與機器學習之間有自然的類似性,在密碼分析中,攻擊者試圖經過推算出密鑰來破解密碼系統。解密函數是從一個由密鑰索引的已知函數空間(解空間)求解出。攻擊者的目的是發現解密函數的精確解。若是攻擊者可以獲取多個獲取密文與明文配對來進行密碼分析,其與機器學習的概念類似:機器學習的研究人員也是試圖從多個樣本與標籤配對來進行機器學習模型的求解(訓練)。
  • 人工智能是一個很大的方面,機器學習知識其中的一個研究方向,而深度學習是機器學習的重點研究內容,發展的最爲迅速和成熟,這三者是包含的關係。

深度學習與密碼分析
這一節主要講了基於卷積神經網絡的側信道攻擊、基於循環神經網絡的明文破譯、基於生成對抗網絡的口令破解、基於深度神經網絡的密碼基元識別。
兩類算法,一種尋找內在的相關性,一種儘可能使相關性降到最低。對於一個已經通過實踐檢驗的加密算法(如 RAS),要在未知加密密鑰或者解密密鑰的狀況下利用機器學習尋找內在聯繫是近乎不可能的,因此,咱們先從已被廢棄,健壯性弱的加密算法入手。
或者從另外一方面,兩種算法,一種要尋找隨機,一種要創建關聯,在二者之間能夠用與生成對抗神經網絡相似的算法,進行訓練,或許就能夠獲得兩個加密解密能力較強的神經網絡。
除此以外,對於加密解密而言,假設有對於每一個比特有90%的準確率,可是,因爲有那些10%錯誤的影響,解密出來的信息也是沒法識別的。好比在計算機裏,一個英文字符佔8個字節,則在每一個比特只有90%的準確率下,可以解密出真正的明文的機率只有0.98=0.430.98=0.43左右,並且,就算解密出來一個字符,你也不能知道是否正確。假如用utf-8編碼的漢字,準確率只有0.079。

講座總結
1.經過本次講座,初步瞭解到了機器學習,深度學習相關的知識以及一些前沿的研究方向和熱點。理解到了機器學習的原理、以及與密碼分析的類似之處。我發現機器學習的一切應用都是創建在現有的大數據的基礎上來實現的,這些應用能夠用來替代一些大量的,重複性,危險性的工做。還學習到深度學習包含有大量性能優秀的深度神經網絡( DNN: Deep Neura lNetworks ),例如卷積神經網絡( CNN: Convolutional Neural Networks)、循環神經網絡(RNN: Recurrent Neural Networks)、生成對抗網絡(GAN: Generative Adversarial Networks)等,在大數據分析、圖像識別、機器翻譯、視頻監控中取得了較大進步。此次講座使我受益不淺,對機器學習、深度學習有了一個淺淺的瞭解,擴大了個人知識面,我之後我繼續關注機器學習方面的研究,並嘗試尋找興趣點來進行學習。
2.經過查閱一些論文和資料,發現深度學習,卷積神經網絡的技術能夠普遍的應用到圖像處理、醫學檢測、數據安全保護。其中圖像處理,計算機視覺方面的研究最爲成熟和突出。在深度學習方面圖像處理最基本的方法就是基於現有的圖像數據集用算法對機器不斷的進行訓練來達到一個相對較高的準確識別率。可是假如現有的圖像數據集不包含某種事物、或者已有的事物能夠組合使用等等這些問題,那麼它的準確率將會直線降低。這個問題我相信能夠做爲深度學習的一個研究方向。

- 第四次 信息隱藏技術
信息隱藏的基本原理

信息隱藏是把一個有意義的信息隱藏在另外一個稱爲公開載體(Cover) 的信息中獲得隱蔽載體 S(Stego Cover),非法者不知道這個普通訊息中是否隱藏了其餘的信息,並且即便知道也難以提取或去除隱藏的信息。所用的載體能夠是文本、圖像、聲音及視頻等。爲增長攻擊的難度,也能夠把加密與信息隱藏技術結合起來,即先對消息 M 加密獲得密文消息 M',再把 M'隱藏到載體 C 中。這樣攻擊者要想得到消息,就首先要檢測到消息的存在,並知道如何從隱蔽的載體 S 中提取 M'及如何對 M'解密以恢復消息 M。
接!本次講座主要學習了信息隱藏的定義,信息隱藏於密碼的區別和聯繫,以及信息隱藏的最新研究前沿。
近年來信息隱藏技術發展的很快,已經提出了各類各樣的實現方法。信息隱藏技術的方法主要包括隱寫術、數字水印、可視密碼技術、潛信道、匿名通訊。其中隱寫術的研究成爲了信息安全的焦點。由於每一個Web站點都依賴多媒體,如音頻、視頻和圖像。隱寫術這項技術能夠將祕密信息嵌入到數字媒介中而不損壞它的載體的質量。第三方既覺察不到祕密信息的存在,也不知道存在祕密信息。所以密鑰、數字簽名和私密信息均可以在開放的環境(如Internet或者內聯網)中安全的傳送。以Jessica Fridrich爲表明的團隊在高維隱寫術上不斷的取得突破。

講座總結
信息隱藏技術是一種橫跨信號處理、數字通訊、密碼學、計算機網絡等多學科的新興技術,具備巨大的潛在應用市場,對它的研究具備重要的學術和經濟價值。在信息隱藏中,T門認爲數字水印表明瞭其發展方向,雖然它的技術要求更高,可是它的應用前景也更廣。如今雖然已經有商業化的水印系統,但對水印的研究還遠未成熟,許多問題如魯棒性、真僞鑑別、版權證實、網絡快速自動驗證以及聲頻和視頻水印等方面仍然還須要比較完美的解決方案。
  隨着該技術的推廣和應用的深刻,一些其餘領域的先進技術和算法也將被引入,從而完備和充實數據信息隱藏技術。例如在數字圖像處理中的小波、分形理論;圖像編碼中的各類壓縮算法;Pi視頻編碼技術等等。目前,使用密碼加密還是網絡上主要的信息安全傳輸手段,信息隱藏技術在理論研究、技術成熟度和實用性方面都沒法與之相比,但它潛在的價值是沒法估量的,特別是在迫切須要解決的版權保護等方面,能夠說是根本沒法被代替的,相信其必將在將來的信息安全體系中發揮重要做用。同時,信息隱藏技術和力口密技術的結合,必將在信息安全領域獲得普遍的應用。

- 第五次比特幣技術
本次講座主要學習了比特幣、區塊鏈的基本原理和交易流程,以及挖礦的意義和區塊鏈的特色、將來的發展預測。
區塊鏈基本概念
1.區塊鏈是分佈式數據存儲、點對點傳輸、共識機制、加密算法等計算機技術的新型應用模式。
2.區塊鏈(Blockchain),是比特幣的一個重要概念,它本質上是一個去中心化的數據庫,同時做爲比特幣的底層技術,是一串使用密碼學方法相關聯產生的數據塊,每個數據塊中包含了一批次比特幣網絡交易的信息,用於驗證其信息的有效性(防僞)和生成下一個區塊。
3.狹義來說,區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構, 並以密碼學方式保證的不可篡改和不可僞造的分佈式帳本。
4.廣義來說,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分佈式節點共識算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操做數據的一種全新的分佈式基礎架構與計算方式。
區塊鏈的架構模型
通常說來,區塊鏈系統由數據層、網絡層、共識層、激勵層、合約層和應用層組成。 其中,數據層封裝了底層數據區塊以及相關的數據加密和時間戳等基礎數據和基本算法;網絡層則包括分佈式組網機制、數據傳播機制和數據驗證機制等;共識層主要封裝網絡節點的各種共識算法;激勵層將經濟因素集成到區塊鏈技術體系中來,主要包括經濟激勵的發行機制和分配機制等;合約層主要封裝各種腳本、算法和智能合約,是區塊鏈可編程特性的基礎;應用層則封裝了區塊鏈的各類應用場景和案例。該模型中,基於時間戳的鏈式區塊結構、分佈式節點的共識機制、基於共識算力的經濟激勵和靈活可編程的智能合約是區塊鏈技術最具表明性的創新點。

區塊鏈技術
區塊鏈主要解決交易的信任和安全問題,所以它針對這個問題提出了四個技術創新:

  • 第一個叫分佈式帳本,就是交易記帳由分佈在不一樣地方的多個節點共同完成,並且每個節點都記錄的是完整的帳目,所以它們均可以參與監督交易合法性,同時也能夠共同爲其做證。跟傳統的分佈式存儲有所不一樣,區塊鏈的分佈式存儲的獨特性主要體如今兩個方面:一是區塊鏈每一個節點都按照塊鏈式結構存儲完整的數據,傳統分佈式存儲通常是將數據按照必定的規則分紅多份進行存儲。二是區塊鏈每一個節點存儲都是獨立的、地位等同的,依靠共識機制保證存儲的一致性,而傳統分佈式存儲通常是經過中心節點往其餘備份節點同步數據。沒有任何一個節點能夠單獨記錄帳本數據,從而避免了單一記帳人被控制或者被賄賂而記假帳的可能性。也因爲記帳節點足夠多,理論上講除非全部的節點被破壞,不然帳目就不會丟失,從而保證了帳目數據的安全性。
  • 第二個叫作非對稱加密和受權技術,存儲在區塊鏈上的交易信息是公開的,可是帳戶身份信息是高度加密的,只有在數據擁有者受權的狀況下才能訪問到,從而保證了數據的安全和我的的隱私。
  • 第三個叫作共識機制,就是全部記帳節點之間怎麼達成共識,去認定一個記錄的有效性,這既是認定的手段,也是防止篡改的手段。區塊鏈提出了四種不一樣的共識機制,適用於不一樣的應用場景,在效率和安全性之間取得平衡。區塊鏈的共識機制具有「少數服從多數」以及「人人平等」的特色,其中「少數服從多數」並不徹底指節點個數,也能夠是計算能力、股權數或者其餘的計算機能夠比較的特徵量。「人人平等」是當節點知足條件時,全部節點都有權優先提出共識結果、直接被其餘節點認同後並最後有可能成爲最終共識結果。以比特幣爲例,採用的是工做量證實,只有在控制了全網超過51%的記帳節點的狀況下,纔有可能僞造出一條不存在的記錄。當加入區塊鏈的節點足夠多的時候,這基本上不可能,從而杜絕了造假的可能。
  • 最後一個技術特色叫智能合約,智能合約是基於這些可信的不可篡改的數據,能夠自動化的執行一些預先定義好的規則和條款。以保險爲例,若是說每一個人的信息(包括醫療信息和風險發生的信息)都是真實可信的,那就很容易的在一些標準化的保險產品中,去進行自動化的理賠。在保險公司的平常業務中,雖然交易不像銀行和證券行業那樣頻繁,可是對可信數據的依賴是有增無減。所以,筆者認爲利用區塊鏈技術,從數據管理的角度切入,可以有效地幫助保險公司提升風險管理能力。具體來說主要分投保人風險管理和保險公司的風險監督。

區塊鏈近年來的研究熱點總結
近年來區塊鏈技術發展的很快,已經提出了各類各樣的實現方法。經過上面論文的總結,我發現區塊鏈的主要研究熱點以下:
第一類:惡意形成網絡延遲或者隔離發起的攻擊

1(15SECURITY)EclipseAttacks on Bitcoin's Peer-to-Peer Network.

2(15CCS)Tampering with the Delivery of Blocks and Transactions in Bitcoin

3(17DSN)TheBalance Attack or Why ForkableBlockchains are Ill-Suited for Consortium

4(17SP)Hijacking Bitcoin: Routing Attacks on Cryptocurrencies

第二類:智能合約安全性

5(15CCS)Demystifying Incentives in the Consensus Computer//浪費算力的惡意腳本

6(16CCS)TheRing of Gyges: Investigating the Future of Criminal Smart Contracts//犯罪的智能合約

7(16CCS)TownCrier: An Authenticated Data Feed for Smart Contracts//數據源安全

    [NDSS'18]TLS-N-Non-repudiation over TLS   //CES簽名保障數據源的安全

8(16CCS)MakingSmart Contracts Smarter   //智能合約漏洞

9(16SP)Hawk: The Blockchain Model of Cryptography and Privacy-Preserving SmartContract   //智能合約隱私和交易隱私

10(18NDSS)ZEUS_AnalyzingSafety of smart contracts  //智能合約漏洞檢測工具

11(18NDSS)Chainspace_ASharded Smart Contracts Platform //智能合約效率擴展

12(18SECURITY)Enter the Hydra-Towards Principled Bug Bounties and Exploit-Resistant Smart Contracts//智能合約安全監測及預防

13[SECURITY'18]teEther-Gnawing at Ethereum to Automatically Exploit Smart Contracts//智能合約漏洞檢測-bytecode level

14[SECURITY'18]Enter the Hydra-Towards Principled Bug Bounties and Exploit-Resistant Smart Contracts //智能合約
 
第三類:共識協議的設計與改進

12(16NDSS)Equihash:Asymmetric Proof-of-Work Based on the Generalized Birthday Problem  //ASIC-resistent

13(16SECURITY)Enhancing Bitcoin Security and Performance with Strong Consistency viaCollective Signing  //ByzCoin

14(16CCS)The Honey Badger of BFT Protocols  //不須要時間假設仍舊保持活性

15(16CCS)A Secure Sharding Protocol For Open Blockchains //隨機安全分片,性能高

16(17SECURITY)REM: Resource-Efficient Mining for Blockchains.//有用的工做

第四類:礦池

17(15SP)The Miner's Dilemma//礦池互相攻擊

18(17SECURITY)SmartPool: Practical Decentralized Pooled Mining//礦池中心化

19(17CCS)Be Selfish and Avoid Dilemmas: Fork After Withholding (FAW)                 Attacks on Bitcoin //礦池攻擊

第五類:隱私問題,包括交易隱私、支付通道隱私等

20(17NDSS)P2P Mixing and Unlinkable Bitcoin Transactions //交易隱私

21(17CCS)Solidus-ConfidentialDistributed Ledger Transactions via PVORM//交易隱私

22(17CCS)PracticalUC-Secure Delegatable Credentials with Attributes and          Their Application to Blockchain  //證書引起的隱私問題

23(17CCS)Bolt: Anonymous Payment Channels for Decentralized Currencies //支付通道隱私問題

24(17CCS)Concurrency and Privacy with Payment-Channel Networks//支付通道網絡

25(17CCS)Revive: Rebalancing Off-Blockchain Payment Networks// 平衡鏈下支付通道

26(17CCS)Zero-Knowledge Contingent Payments Revisited: Attacks and            Payments for Services //保證公平交換

27(17NDSS)SilentWhispers: Enforcing Security and Privacy in Decentralized Credit Networks

第六類:區塊鏈的應用場景

28(15CCS)Liar, Liar, Coins on Fire!: Penalizing Equivocation By Loss of Bitcoins

29(17CCS)Betrayal, Distrust, and Rationality: Smart Counter-Collusion                Contracts for Verifiable CloudComputing//下降雲計算服務商的數量爲2

30(17SP)IkTurninga pki around with decentralized automated incentives//CA正確行爲

31(18SP)OmniLedger_ASecure, Scale-Out, Decentralized Ledgervia Sharding //帳本分片

32(18'INFOCOM)CertChain Public and Efficient Certificate Audit Based on Blockchain for TLSConnections//基於區塊鏈實現證書可公開驗證
 
第九類:單

33(15CCS)Micropayments for Decentralized Currencies//下降交易成本使微支付可行

34(15SP)Bitcoin over Tor isn't a Good Idea //基於Tor增長BTC匿名性引起的攻擊

35(16CCS)On the Security and Performance of Proof of Work Blockchains//度量框架

36(15CCS)Provisions: Privacy-preserving Proofs of Solvency for Bitcoin Exchanges//交易所可償還能力證實

37(16NDSS)Centrally Banked Cryptocurrencies//去中心化交易仍保留銀行

38(15SP)SoK:Research Perspectives and Challenges for Bitcoin and Cryptocurrencies //對第二代加密貨幣的綜述

- 第六次漏洞挖掘技術
本次講座主要學習了什麼是漏洞挖掘、常見漏洞挖掘技術、漏洞挖掘示例、攻防示例。

常見的漏洞挖掘技術
手工測試:定義:由測試人員手工分析和測試被測目標,發現漏洞的過程,是最原始的漏洞挖掘方法。【憑經驗依次檢驗每一個可能產生漏洞的脆弱點】優勢:人-主觀能動性-顯而易見和複雜不易見明顯沒有、沒有明顯; 缺點:人-無規律可循、不可大規模等。
補丁對比:定義:一種經過對比補丁之間的差別來挖掘漏洞的技術。文本(難定位,輸出難理解)彙編指令(易理解,輸出範圍大,難定位)結構化(迅速直觀,流行)。優勢:發現速度快;缺點:已知漏洞;常見工具:PatchDiff二、bindif
程序分析:包括靜態和動態
靜態定義:是指在不運行計算機程序的條件下,經過詞法分析、語法分析、語義分析、控制流分析、污點分析等技術對程序代碼進行掃描,驗證代碼是否知足規範性、安全性等指標的一種代碼分析技術。 優勢:覆蓋率100%,自動化程度高;缺點:漏報和誤報(RICE,程序分析問題不可斷定)工具: 數據流分析:Fortify SCA、Coverity Prevent、FindBugs等;污點分析:Pixy、TAJ(基於WALA);符號執行:Clang、KLEE; 模型檢測:BLAST、MAGIC、MOPS。
動態定義:在運行計算機程序的條件下,驗證代碼是否知足規範性、安全性等指標的一種代碼分析技術。通常經過插樁技術分析程序的異常行爲。插樁技術是指在保證被測程序邏輯完整性的基礎上在程序的關鍵位置插入一些「樁」,即加入一些測試代碼,而後執行插樁後的程序,經過「樁」的執行獲取程序的控制流和數據流信息,進而分析程序的異常行爲。優勢:自動化程度高、覆蓋率較高缺點:漏報和誤報(RICE,程序分析問題不可斷定)冗餘代碼時間開銷 工具:Android:Xposed。
二進制審覈:定義:源代碼不可得,經過逆向獲取二進制代碼,在二進制代碼層次上進行安全評估。缺點:同靜態審覈逆向致使信息丟失,理解困難,甚至引入邏輯錯誤。二進制及編輯工具:IDA Pro、Ollydbg、UltraEdit、Hex Workshop以及WinHex
模糊測試:定義:經過向被測目標輸入大量的畸形數據並監測其異常來發現漏洞。關鍵:測試用例構造,自動化。優勢:無須源碼、誤報低、自動化程度高缺點:覆蓋率低;工具:Peach、Sulley、Autodafe、SPIKE等

漏洞挖掘的方法
(1)白盒測試
白盒測試是一個極端,它須要對全部的資源進行充分的訪問,這包括訪問源代碼、設計規約,甚至有可能還要訪問程序員本人。
(2)黑盒測試
黑盒測試是另外一個極端。黑盒,顧名思義,就是看不到盒子內部的狀況,只能瞭解外部觀察到的東西。因此做爲終端用戶,能夠控制輸入,從黑盒子的一端提供輸入,從盒子的另外一端觀察輸出結果,而無需瞭解被控目標的內部工做細節。模糊測試(Fuzzing測試)從某個角度來說,也能夠看作是黑盒測試。
(3)灰盒測試
介於兩個極端之間。大體能夠定義爲:包括了黑盒測試審覈,也隱含的提示了具體的功能所預期須要的輸入,以及該具體功能的預期輸出。因此即使是不知道源代碼,也不意味着這種測試方法毫無用處。

漏洞挖掘通常流程
(1)提供源代碼的狀況
對於提供了軟件源代碼的狀況來講,咱們主要是針對軟件的源代碼進行閱讀,找出其中存在安全漏洞的地方,判斷該漏洞屬於什麼類型的漏洞,應當如何測試。而後,運行該軟件的可執行文件,測試剛纔發現的漏洞是否是可以成功地被觸發。若是能被成功觸發,那麼就證實咱們的分析是正確的。
(2)不提供源代碼的狀況
不少時候,程序的源代碼並不容易得到,而在這種狀況下,咱們主要是向軟件提供被刻意修改過的外部數據,同時藉助一些工具型軟件監視被測試軟件在處理這些數據時會不會發生錯誤。而後,分析這些錯誤,檢查其中哪些屬於安全漏洞的範疇,並判斷漏洞的類型。
(3)fuzzing測試的工做流程

總結
經過對漏洞挖掘的學習,我發現漏洞的複雜性分佈很是廣。一方面,有不少漏洞很是簡單與直觀,而且利用代碼一目瞭然,好比說經典的sql注入。另外一方面,在系統中有的看似並不相關,而且就其自身而言並不是不安全,可是當這些東西以一種特定的方式結合起來的時候,就有可能引起大的漏洞,好比說條件競爭,或者一些其餘的複雜的邏輯漏洞。各類眼花繚亂的安全漏洞其實體現的是人類在作事的各類環節上犯過的錯誤,經過改進工具流程制度能夠獲得某些種程度的解決,但有些涉及人性很是不容易解決,並且隨着信息系統的日趨複雜,咱們能夠看到更多的新類型漏洞,這個領域永遠都有的玩。漏洞挖掘技術脫胎於軟件測試理論和軟件開發調試技術,能夠大大提升軟件的安全性。網絡安全界的第三方機構、技術愛好者也利用該技術尋找各類軟件漏洞,並及時發佈給大衆,爲提升信息安全總體水平作出了貢獻。但漏洞挖掘也是一把雙刃劍,已經成爲黑客破解軟件的主流技術。漏洞挖掘技術的發展前景是廣闊的,隨着信息安全愈來愈被重視,軟件開發技術愈來愈先進,新的分析手段會隨之出現。

同窗們的報告

- 第一組 在Google-Play規模上大規模審查新的威脅
這篇論文主要講述了本身設計了一個全新的算法,並將diff-com算法引入其中,這個算法能夠快速搜索到相關頁面,來分析判斷,而後經過搜索相對應的數據庫的進行分析。以往的安全漏洞掃描都是慢速單個的,而這個是大量快速的。具體流程以下:

MassVet首先處理全部的應用程序,包括用於查看結構的數據庫和用於數據庫的數據庫(第3.4節)。兩個數據庫都通過排序以支持二進制搜索,並用於審覈提交到市場的新應用程序。考慮一個從新包裝的AngryBird。一旦上載到市場,它首先在預處理階段自動拆解成一個小型表示,從中能夠識別其接口結構和方法。它們的功能(用於視圖,用戶界面,小部件和事件的類型,以及方法,控制流程和代碼)經過計算映射到v核(第3.2節)和m核(第3.3節)分別是視圖和控制流的幾何中心。應用程序的v-cores首先用於經過二進制搜索查詢數據庫。一旦匹配知足,當存在具備相似的AngryBird用戶界面結構的另外一個應用程序時,將從新打包的應用程序與方法級別的市場上的應用程序進行比較以識別它們的差別。而後自動分析這些不一樣的方法(簡稱差別)以確保它們不是廣告庫而且確實是可疑的,若是是,則向市場報告(第3.2節)。當沒有任何東西2時,MassVet繼續尋找方法數據庫中的AngryBird的m核心。若是找到了相似的方法,咱們的方法會嘗試確認包含方法的app確實與提交的AngryBird無關,而且它不是合法的代碼重用(第3.3節)。在這種狀況下,MassVet報告認爲是使人感到滿意的。全部這些步驟都是徹底徹底自動化,無需人工干預。

- 第二組 幽靈攻擊:利用預測執行
論文中的幽靈攻擊結合了側信道攻擊,故障攻擊和麪向返回編程的方法,能夠從受害者的進程中讀取任意內存。更普遍地說,論文說明了推測性執行實施違反了許多軟件安全機制所依據的安全假設,包括操做系統進程分離,靜態分析,容器化,即時(JIT)編譯以及緩存時序/側通道的對策攻擊。因爲在數十億設備中使用的Intel,AMD和ARM微處理器中存在易受攻擊的推測執行能力,這些攻擊對實際系統構成嚴重威脅。
•經過直接讀取cache中的值肯定攻擊是否命中,當命中某個值達到必定次數時斷定命中結果

/* Time reads. Order is lightly mixed up to prevent stride prediction */
    for (i = 0; i < 256; i++) {
    mix_i = ((i * 167) + 13) & 255;
    addr = &array2[mix_i * 512];
    time1 = __rdtscp(&junk);    /* READ TIMER */
    junk = *addr;   /* MEMORY ACCESS TO TIME */
    time2 = __rdtscp(&junk) - time1;    /* READ TIMER & COMPUTE ELAPSED TIME */
    if (time2 <= CACHE_HIT_THRESHOLD && mix_i != array1[tries % array1_size])
    results[mix_i]++;  /* cache hit - add +1 to score for this value */
    }

    /* Locate highest & second-highest results results tallies in j/k */
    j = k = -1;
    for (i = 0; i < 256; i++) {
    if (j < 0 || results[i] >= results[j]) {
    k = j;
    j = i;
    } else if (k < 0 || results[i] >= results[k]) {
    k = i;
    }
    }
    if (results[j] >= (2 * results[k] + 5) || (results[j] == 2 && results[k] ==  0))
    break;  /* Clear success if best is > 2*runner-up + 5 or 2/0) */
    }

運行結果

預測執行在提升CPU運行效率的同時也帶來了安全隱患,它自己會致使CPU去執行程序本不應執行的代碼,再加之操做系統和處理器沒有對程序或者說低權限程序訪問內存地址的範圍做出很好的限制,高速緩存更是隻能共用,這就致使本不應執行的代碼執行後,還會把信息泄露給攻擊者。

- 第三組 您全部的GPS都屬於咱們:對道路導航系統的祕密操做
該論文針對當今全球數十億用戶使用的移動導航服務,提供了一種切實有效的攻擊手段,具備把汽車導偏到危險道路上的功能。本文探討了對道路導航系統進行隱身操縱攻擊的可行性,目標是觸發假轉向導航,引導受害者到達錯誤的目的地而不被察覺。其主要想法是略微改變GPS位置,以便假冒的導航路線與實際道路的形狀相匹配並觸發實際可能的指示。爲了證實可行性,該論文首先經過實施便攜式GPS欺騙器並在真實汽車上進行測試來執行受控測量。而後,該論文設計一個搜索算法來實時計算GPS移位和受害者路線。該論文使用追蹤駕駛模擬(曼哈頓和波士頓的600輛出租車道路)進行普遍的評估,而後經過真實駕駛測試(攻擊咱們本身的車)來驗證完整的攻擊。最後,該研究組在美國和中國使用駕駛模擬器進行欺騙性用戶研究,結果顯示95%的參與者遵循導航沒有意識到這種攻擊就到了錯誤的目的地。
論文所用到的簡易攻擊設備
harkrf one便攜式GPS Spoofer,軟件定義無線電(SDR)咱們實施了便攜式GPS欺騙器來執行受控實驗四個組件:HackRF One-based前端,Raspberry Pi,便攜式電源和天線總體欺能夠放在一個小盒子裏咱們將其鏈接到頻率範圍在700 MHz至2700 MHz之間的天線,覆蓋民用GPS頻段L1(1575.42兆赫)。 Raspberry Pi 3B(四核1.2GHz Broad com BCM2837 64位CPU,1GB RAM)用做中央服務器。 它運行支持SSH的Raspbian Jessie操做系統和LAMP堆棧服務器。 GPS衛星信號由一個名爲的開源軟件生成在Raspberry Pi上運行的無線攻擊發射盒(WALB)[6]。 Raspberry Pi具備蜂窩網絡鏈接,並支持經過SSH進行遠程訪問(Se-並支持經過SSH(Se-cure Shell)進行遠程訪問。經過控制Raspberry Pi,咱們能夠手動或使用腳原本獲取實時GPS位置信息。咱們使用10000 mAh移動電源做爲整個系統的電源。全部組件都是現成的。總費用大約是223美圓(175美圓+ 35美圓+ 10美圓+ 3美圓)。

論文中所用到的欺騙原理

受害者是紐約市的旅行者,他不熟悉該地區,所以依靠GPS應用程序進行導航。圖3a顯示受害者正在重新澤西州的漢密爾頓公園(P)開車到曼哈頓的帝國大廈(D)。假設攻擊者接管受害者在Lincoln Tun nel(A)出口處的GPS接收器,如圖3c所示。攻擊者建立錯誤的GPS信號以將GPS位置設置爲附近的「主機」位置B.爲了應對錯誤的位置漂移,導航系統將從新計算B和D之間的新路線。咱們稱之爲新的路線鬼魂路線。在物理道路上,受害者仍然在位置A並開始按照應用程序的逐嚮導航。同時,導航應用程序不斷接收欺騙的GPS信號。最終,受害者將最終到達不一樣的地方C.注意B鈫 D的形狀路線相似於A鈫鈫C路線。根據攻擊的目的,攻擊者能夠預先定義目標目的地C或者僅僅旨在轉移受害者來自原始目的地D。圖3:攻擊示例:受害者的原始導航路線爲P→D; 在位置A,欺騙者將GPS設置爲幻影位置B,其迫使導航系統生成新的路線B→D。在逐嚮導航以後,受害者實際上在物理世界中從A行進到C.

- 第四組 偉大的訓練帶來巨大的弱點:針對轉移學習的實際攻擊
這組主要講解了對遷移學習的攻擊及預防,
攻擊目標:把source圖貓誤識別爲target圖狗
本文的攻擊思路:首先將target圖狗輸入到教師模型中,捕獲target圖在教師模型第K層的輸出向量。以後對source圖加入擾動,使得加過擾動的source圖(即對抗樣本)在輸入教師模型後,在第K層產生很是類似的輸出向量。因爲前饋網絡每一層只觀察它的前一層,因此若是咱們的對抗樣本在第K層的輸出向量能夠完美匹配到target圖的相應的輸出向量,那麼不管第K層以後的層的權值如何變化,它都會被誤分類到和target圖相同的標籤。

預防遷移學習攻擊的方法
論文還提出了3種針對本文攻擊的防護方法,其中最可行的是修改學生模型,更新層權值,肯定一個新的局部最優值,在提供至關的或者更好的分類效果的前提下擴大它和教師模型之間的差別。這又是一個求解有約束的最優化問題,約束是對於每一個訓練集中的x,讓教師模型第K層的輸出向量和學生模型第K層的輸出向量之間的歐氏距離大於一個閾值,在這個前提下,讓預測結果和真實結果的交叉熵損失最小。

- 第五組Safeinit:全面而實用的未初始化讀取漏洞緩解
本文主要講解了提出了SafeInit,一種基於編譯器的解決方案 - 與強化分配器一塊兒 - 經過確保棧和堆上的初始化來自動減輕未初始化的值讀取。提出的優化能夠將解決方案的開銷下降到最低水平(<5%),而且能夠直接在現代編譯器中實現。基於clang和LLVM的SafeInit原型實現,並代表它能夠應用於大多數真實的C / C ++應用程序而無需任何額外的手動工做。評估咱們在CPU-intensiv佔用CPU資源的操做、I / O-intensive佔用I/O設備的操做以及Linux內核方面的工做,並驗證是否成功地減輕了現存的漏洞。
LLVM框架

*實驗結果的評估**

表I提供了每一個基準測試的局部變量的數量的詳細信息,同時包含了初始化的數量,在優化期間也會刪除或縮短不少初始化

- 第六組操縱機器學習:迴歸學習的中毒攻擊與對策
這組主要講解了研究的中毒攻擊的效果及其對線性迴歸的防護。對這種基本類型學習模型對敵人的適應能力的理解將使將來對其餘類別的監督學習方法的研究成爲可能。

系統構架

理想世界:學習過程包括執行數據清理和標準化的數據預處理階段,以後能夠表示訓練數據;測試階段:模型在預處理後應用於新數據,並使用在訓練中學習的迴歸模型生成數值預測值;對抗性世界:在中毒攻擊中,攻擊者在訓練迴歸模型以前將中毒點注入訓練集。

防護算法—TRIM算法

修剪損失函數、迭代估計迴歸參數、正則化線性迴歸



三個數據集上脊上的防護MSE。做者從圖中排除了chen,由於它的變異性很大。針對optp攻擊評估防護。在這些狀況下始終表現良好的惟一防護是做者提出的TRIM防護,在某些狀況下,RANSAC,huber和RONI實際上比不防護模型表現更差;套索防護的MSE。做者從圖中排除了chen,由於它的變異性很大。針對最有效的攻擊opp評估防護。和Ridge同樣,惟一一直表現良好的防守是做者的TRIM防守。

- 第七組卷積神經網絡用於句子分類
這組所選的論文主要研究呢一系列的卷積神經網絡(CNN)的實驗,這些實驗是在預先訓練過的單詞向量的基礎上訓練的,用於句子級的分類任務。且發現,一個簡單的CNN具備不多的超參數調整和靜態向量,在多個基準點上都能達到很好的效果。經過微調學習特定於任務的向量能夠進一步提升性能。此外,咱們還建議對體系結構進行簡單的修改,以容許使用特定於任務的向量和靜態向量。本文所討論的CNN模型改進了7項任務中的4項,包括情緒分析和問題分類。

模型的介紹

經過卷積過程和池化過程來進行對句子的處理
1)CNN-rand:全部的word vector都是隨機初始化的,同時當作訓練過程當中優化的參數;
(2)CNN-static:全部的word vector直接使用無監督學習即Google的word2vector工具獲得的結果,而且是固定不變的;
(3)CNN-non-static:全部的word vector直接使用無監督學習即Google的word2vector工具獲得的結果,可是會在訓練過程當中被微調;
(4)CNN-multichannel: CNN-static和CNN-non-static的混合版本,即兩種類型的輸入。

感想和體會

1.我導師最近在研究量子密碼的一些技術,且有一些項目。因此,經過王老師這麼課,我學習到了量子密碼方向基本原理、重要的量子密碼通訊協議、以及一些量子密碼的頂會,對我從此的科研工做頗有幫助。
2.經過學習這門課,聽了不一樣老師關於不一樣方向的講座,瞭解到了網絡安全、漏洞挖掘、區塊鏈、信息隱藏技術、量子通訊等一些最新的最前沿的研究方向,使我受益不淺。
3.我覺這種上課的方式十分有趣,能使咱們容易幾種注意力去聽老師所講解的內容,跟不一樣研究方向的老師溝通,使咱們的視野和研究領域更加開闊,激發咱們主動學習的動力。
4.剛開始的時候,老師所要找頂會的文章,咱們都不知道那些文章是頂會,後面經過同窗的交流和網上搜索信息,發現了四大安全頂會和美密、歐密、亞密等這些頂會,如今我能夠很輕鬆的找到一些研究領域的頂會論文,極大的提升咱們查閱論文資料的能力。
5.很幸運選擇了這門課,爲我從此研二的科研工做打下了一個良好的開端、鍛鍊了我查找論文的能力、擴展了咱們的視野。

對本課程的建議和意見

1.我以爲每一個老師講的專題都很前沿、很熱門;我但願每次講座後的做業,由所講的老師來佈置,這樣能夠增長學生與老師之間的溝通和交流。 2.我以爲學生和老師之間能夠增長一些互動、能夠增長一些現場演示一些前沿技術或老師本身研究的方向,讓學生現場感覺一下這些技術、印象更深入、上課效果更好。 3.每次學生寫完做業,咱們能夠在課堂上來討論交流一下本身所看過的論文,與你們分享、共同窗習和促進。

相關文章
相關標籤/搜索