火幣CTO程顯峰分享《區塊鏈的那些坑爹事》
分叉與回滾
- 區塊的不同副本并不一定都是一致的
- 比特幣的各節點選擇具有最多累計工作量證明的鏈條(即最長鏈)
- 收斂到全局最長鏈
- 節點本身并不具備區分多個最長鏈的功能
- 主動分叉和主動回滾 具有中心化風險
- 基于POS的自我修正加密賬本
- ADA和TEZOS
交易確認與區塊瀏覽器
- 交易確認參數例如出塊時長和確認區塊數影響充值提現效率
- 成功出塊不能意味著一筆交易的完全確認
- 確認區塊數指的是較大概率下該交易不會被回滾的區塊數量
- 范圍較大的區塊回滾會導致這些參數失效
- 瀏覽器的平穩運行
P2P節點維護
- 交易所需要同步區塊鏈的全網狀態來知曉一筆充值交易的信息與狀態
- 節點不存在不穩定的狀態
- 節點本身的某個rpc服務突然變得不能訪問
- 節點對于內存管理不當導致節點停止服務
- 錯誤的同步節點選擇策略
- 日食攻擊
簽名安全
- 離線簽名
- WOTS簽名算法
- 多次簽名
- 模仿簽名攻擊
虛擬機設計
- 智能合約操作依賴于虛擬機實現
- 智能合約的圖靈完備性
- 以以太坊的ERC20標準為例
- 虛擬機執行數據與區塊鏈數據的隔離
- 合約的嵌套調用
零錢整理
- UTXO用作支付模型
- 地址集里的余額總和實際上并不能作為真實的有效余額總和來記入賬本
- 一筆交易包含:輸入UTXO,手續費,找零
- 用戶發起一筆1BTC的裝賬交易,錢包程序可能找出0.1,0.5,0.2,0.3四個UTXO,一共1.1BTC,如果此時的網絡手續費0.01BTC那么用戶有0.09BTC的找零
- 頻繁交易導致零錢變多
- 比特幣的交易手續費由交易大小決定,而交易大小又與輸入UTXO的數量直接相關
慢霧安全團隊分享《以太坊黑色情人節事件》
慢霧科技介紹
- 安全審計
- 安全顧問
- 防御部署
- 地下黑客風向標追蹤
01| The Dao事件
以太坊第一個安全大事件
智能合約的取款
新建一個Bank,存入一部分錢,用Dao框架不停取錢。
取款-判斷余額-取款操作框架-轉空該賬戶下的所有錢。
簡單的例子就是,你的銀行卡有余額100萬,你需要買一個10塊錢的飲料,但是支付的過程有漏洞,所以你銀行卡的所有錢都被轉走。
一、外部調用
- 盡量不使用外部調用
二、轉賬 - someAddress.call.value()()不安全
三、Fallback觸發條件 - 沒有匹配到函數簽名
- 調用沒有帶任何數據被調用
- send()函數
02| 以太坊黑色情人節
起源:第一轉賬時間是2.14
ETH節點統計
客戶端、客戶端版本、OS系統。整個系統的龐雜
蜜罐檢測(部署陷阱能檢測出黑客的點來)
net_version
判斷是主網還是測試網,只攻擊主網
3000+主網節點完全暴露
eth_accounts
獲取錢包賬號,涉及錢包賬號
eth_getBanlance
獲取有多少錢,被盜46000+ETH
why?
unlockAccount 函數介紹
該函數將使用密碼從本地的keystore 里提取private key 并存儲在內存中,函數第三個參數duration 表示解密后private key 在內存中保存默認是300 秒; 如果設置為0,則表的時間,示永久存留在內存,直至Geth/Parity 退出。
詳見:
https://github.com/ethereumgethereum/wiki/Management-APIs#personal_unlockaccount
節點存用戶的keystore信息(嚴重危險)
eth_getBlockByNumber
墨子掃描引擎,掃描有問題的節點,慢霧的以太坊安全事件的披露
被盜ETH,市值,被盜錢包數
具體內容可以查看慢霧發布的以太坊黑色情人節專題
生態相關
ETH:礦池、錢包、web3、smart contract、dapp
BTC:礦池、錢包、Lightning Network
BTC RPC
防御建議
- 1.更改默認的RPC API 端口,配置方法如:--rpcport 8377 或--wsport 8378
- 2.更改RPC API 監聽地址為內網,配置方法如:--rpcaddr 192.168.0.100 或--wsaddr 192.168.0.100
- 3.配置iptables 限制對RPC API 端口的訪問,舉例: 只允許192.168.0.101訪問8545 端口:
iptables-A INPUT-S 192.168.0.101-p TCP--dport 8545-j ACCE PT
iptables-A INPUT-p TCP--dport 8545-j DROP - 4.賬戶信息(keystore) 不要存放在節點上(因為賬戶不在節點上,所以就不會用到unlockAccount 了)
- 5.任何轉賬均用web3 的sendTransaction 和sendRawTransaction發送私鑰簽名過的transaction
- 6.私鑰物理隔離(如冷錢包、手工抄寫) 或者高強度加密存儲并保障密鑰的安全
比特派COO王超分享《錢包 安全與開發》
管理數十萬用戶安全的接近百萬的比特幣
華人世界唯一被bitcoin.org網站展示的錢包
比特派多種區塊鏈資產(BTC、ETH、Token、分叉)
冷熱結合,確保安全
比特派-熱錢包
比特護盾-冷錢包/硬件錢包
區塊鏈安全事件
- Android 手機隨機數問題
- Firefox 瀏覽器隨機數問題
- Blockchain.info 前后三次隨機數問題
- Parity 的兩次多重簽名漏洞
- 慢霧團隊披露的以太坊賬戶漏洞
私鑰決定了區塊鏈資產的所有權,丟了私鑰也就相當于丟了一切。私鑰就是一個隨機數,這個隨機數的概率空間很大(256 位,即2^256)
錢包=生態入口
需要在安全的同時做到盡可能的開放
玩法的開放,技術的開放,通用的技術接口,生態的開放,把自己的資源進行導入。合作伙伴計劃:技術咨詢、區塊鏈技術支持、開放平臺、入口支持、生態支持、海外市場合作。幫助伙伴實現區塊鏈轉型或區塊鏈項目孵化,安全、便捷實現真正落地的區塊鏈應用場景。
聯系方式B@bitpie.com
imToken 首席安全官Blue分享《如何幫助用戶做風險控制》
用戶風控系統,數百萬的數字貨幣用戶。
最大可能保持我們的數字資產
騙子故事:搶數字貨幣份額,錢沒到賬,冒充官方,交出助記詞
惡意錢包地址庫
詐騙錢包、黑客錢包、羊毛黨錢包
惡意網站庫
釣魚網站、空投網站、交易所、眾籌
風險合約庫
重名幣、空格幣、風險合約
安全事件庫
歷史安全事件提醒
最新事件提醒
盜幣風險監控
- 新設備提醒
- 可疑行為提醒
安全意識教育
- 評測
- 答題
- 社區分享
可能出現被盜的情況
- 密鑰存儲在備忘錄里,開啟了iCloud同步,
- 使用云筆記工具記錄助記詞,被盜;
- 助記詞截圖保存在相冊里,被盜;
- 在網站上輸入密鑰或助記詞,被盜;
- 淘寶購買Apple ID,被盜;
- 郵件傳輸密鑰,被盜;
- 跟朋友喝酒,炫耀自己的幣,被盜;
- 未做備份,丟幣
- 手機遺失,丟幣;
如何起作用
- 警告(風險合約提示,被舉報釣魚,請謹慎對待)
- 禁止(確定是騙子錢包地址禁止轉賬)
- 可疑行為提醒(夜間交易)
- 安全事件推送(安全事件和案例披露)
- 平臺/社區公告(平臺風險提示)
共建安全生態
- 數據共享
- 與安全機構合作
- 行業漏洞監控~> 分析-> 分享
- 漏洞獎勵計劃
幣派CEO胡園泉分享《比賣安全產品更重要的事》
游戲即資產,稀缺資源,成為游戲運營者。最后大BOSS死于暴露了自己的密鑰。
通過社工(社會工程學)【欺騙的藝術】黑客攻擊手法,虛擬景象做出錯誤判斷讓自己陷入危機。
人始終是系統中最薄弱的環節,幣安背鍋的黑客事件。大客戶泄露自己的賬戶,調用API接口,自動交易。雖然沒丟幣但是黑客在期貨市場盈利。
關于安全錢包的帖子(來自小白憤怒控訴,實際沒有理解整個機制):
1、我沒私鑰和交易密碼,東西都在你們那我不知道安全在哪里
2、密語算個毛,你告訴我拿著你們的密語能做什么。
汽車和自行車事件,出了問題之后,弱勢的一方被原諒。負責的是更大的一方。平臺替沒有安全意識的用戶背鍋。
對于大部分用戶來說,交易所的安全性比普通用戶自己管理的安全性要高,用戶的安全意識沒有提高,交給交易所幫助、協助你來管理你的錢包提示很多風險操作。
為什么要隨機生成256位的密鑰,為什么不能用戶自己去設置,如果自己設置會處于一個集中的區域,隨機值不夠,私鑰生成時就處于危險的狀態。
自己的安全認識不夠,所以自己造成的損失,先懟交易所先懟錢包。先想到得是你們的問題和漏洞造成的,不是我的操作失誤和密鑰泄露造成的。
幣派做的是大神和小白的交流之間的翻譯,做畫漫畫,寫段子的逗比。
幣小寶防騙指南漫畫,貢獻題材和內容。