首發| CertiK:賣意外險的保險公司也遭受了意外?Cover Protocol...

2021-01-11 金色財經

本文由CertiK安全驗證團隊撰稿,授權金色財經首發。

最近小區出現了一些流浪狗,聽說鄰居家有孩子看到狗嚇得就跑,結果反而被狗狂追咬了一口。

還好父母機智,給孩子上了個意外險,幾針狂犬病疫苗下來沒怎麼花錢。

作為幣民如果加密資產不幸被盜,但項目方或者你個人購買了保險,那麼也大可放心讓保險公司償還損失的資產。

可還有最差的一種情況:但是如果連保險公司都出了安全事故,受到攻擊了呢?

北京時間12月28日晚, CertiK安全技術團隊發現Cover Protocol發生代幣無限增發漏洞攻擊。

攻擊者通過反覆對項目智能合約進行質押和取回操作,觸發其中包含鑄造代幣的操作,對Cover代幣進行無限增發,導致Cover代幣價格崩盤。

技術分析 

主要攻擊分為以下步驟: 

1. 攻擊者設置攻擊必要的NOCLAIM代幣。

2. 攻擊者使用NOCLAIM代幣,為Balancer Pool提供流動性:

    ①總計向Balancer Pool提供了2,573個DAI的流動性

    ②攻擊者通過向Balancer Pool提供流動性,獲得了約132,688個Balancer流動性證明代幣BPT

3. 攻擊者向Cover Protocal中的Blacksmith.sol智能合約質押(stake)前一步中所得的所有Balancer流動性證明代幣。

質押時,攻擊者調用位於0xe0b94a7bb45dd905c79bb1992c9879f40f1caed5的Blacksmith.sol智能合約中的deposit函數,如圖一所示:

圖一:The deposit() function in blacksmith.sol

通過調用deposit函數,攻擊者將得到的BPT流動性證明質押到cover protocol中。

首先通過圖一中118行將當前流動性證明代幣的pool數據讀取到memory,然後調用121行代碼對當前pool的數據進行更新。

圖二:blacksmith.sol中的updatePool()函數

如圖二第75行所示,在updatePool()函數中修改的當前流動性證明代幣的pool數據是一份存儲在storage中的數據,與在deposit()中存儲在memory中當前流動性證明代幣的pool數據是兩份數據。

在圖二第84行lpTotal的值代表當前合同中總共存入的流動性證明代幣數目,由於該變量數值較小,因此通過84行公式pool.accRewardsPerToken的數值將會增大,更新過的accRewardsPerToken值存儲在storage中。

圖三:blacksmith.sol中的_claimCoverRewards()函數

接下來如圖三中318行所示,deposit()通過調用_claimCoverRewards()函數,向函數調用者(msg.sender)鑄造一定數目的cover代幣。

鑄造cover代幣的數目與pool.accRewardsPerToken, CAL_MULTIPLIER以及miner.rewardWriteoff三個變量相關。

請注意這裡pool.accRewardsPerToken的數值是使用了存放在memory中的pool數據,並非使用圖二中update()函數更新之後的數值。

同時,通過圖1中deposit函數得知,miner.rewardWriteoff的數值更新是在_claimCoverRewards()函數執行完成之後發生。

因此原本設計上應使用更新過的miner.rewardWriteoff的數值計算需要鑄造cover代幣的數目,這裡錯誤的使用了未更新過的miner.rewardWriteoff的數據,導致實際鑄造cover代幣數目比應鑄造代幣數目增多,最終導致了代幣增發。

質押成功之後,攻擊者通過調用blacksmith.sol智能合約中的withdraw()函數,將質押的BPT取回,同時取得額外鑄造的cover代幣,完成攻擊。

通過對比執行deposit()函數和執行withdraw()函數之後的代幣結餘表,我們可以發現通過這一組deposit和withdraw函數調用之後,攻擊者可以獲得約704個COVER代幣。

deposit()之後:

withdraw()之後:

攻擊者通過反覆執行deposit和withdraw函數,可以使Blacksmith函數無限鑄造代幣,並將代幣轉到自己的地址中,由此獲利。

攻擊發生後,截止發稿時,cover官方已經將blacksmith遷移到安全版本:

有漏洞的blacksmith地址:

0xe0b94a7bb45dd905c79bb1992c9879f40f1caed5

臨時修復後的blacksmith地址:

0x1d5fab8a0e88020309e52b77b9c8edf63c519a26

臨時修復後的blacksmith合同臨時禁止了一切質押和取回操作,以此阻止攻擊者繼續實行攻擊。 

本次攻擊最初攻擊者共獲利440萬美金,約合人民幣2900萬人民幣

有其他攻擊者利用該漏洞發動類似攻擊,例如Grap.finance項目官方參與了利用該漏洞的攻擊,獲利4350個ETH代幣。

在攻擊發生後幾個小時,Grap.finance項目官方通過Twitter聲稱對本次攻擊負責,並表示已將所有的獲利退回給了Cover Protocol。

安全建議

為了確保數字資產不因任何非技術原因遭受損失,項目方應及時為項目產品購買保險,增加項目方和投資者的安全保障方案,確保其因受到攻擊所造成的損失可以被及時補償。

作為世界頂尖的審計公司,CertiK目前已經進行了超過369次安全審計,審計了超過198,000行代碼,並保護了價值超過100億美元的加密資產。

近期,CeritK推出了CertiKShield去中心化資金保障計劃。

CertiKShield不僅可以為項目及其社區成員提供保障,同時,CertiK作為主營業務為審計的安全公司,我們確保自己的保險項目擁有更高的安全性

相比於純粹的保險公司,安全技術的背書及團隊對於安全的重視和一系列的保障,CertiKShield是安全領域內構建的保險,並且有著巨大的成長和發展空間。

聲明:本文由入駐金色財經的作者撰寫,觀點僅代表作者本人,絕不代表金色財經贊同其觀點或證實其描述。

提示:投資有風險,入市須謹慎。本資訊不作為投資理財建議。

相關焦點

  • 公司給員工買了意外傷害保險,可以替代工傷保險嗎?
    但由於該建築公司沒有為王先生繳納工傷保險,只給他買了商業性人身意外傷害保險,在為王先生辦理了意外險賠償後,公司以此為由拒絕再承擔工傷保險賠付責任。王先生只好通過勞動仲裁和法院起訴申請工傷賠償,最終,法院判決王先生獲得了相應的工傷補償。
  • 找保險公司職員墊付費用買保險後發生意外索賠遭拒 法院判決:保險...
    封面新聞記者 戴竺芯12月31日,記者從成都邛崍法院獲悉,近日,該法院發布金融類案件審判白皮書,其中包含一例意外傷害保險合同糾紛案。一男子託某保險公司工作人員墊付費用購買了一份意外險,不久後遭遇車禍去世。
  • 年輕小夥猝死在球場上,保險公司拒不理賠
    其實提到「猝死」這個詞,很多人第一個反應就是意外。「猝死或死因不明」目前也是排在了保險公司賠付原因的首位,甚至高於惡性腫瘤和交通事故。那麼你認為意外險可以對猝死進行賠付嗎?答案是否定的!現在市場上大多數的意外險,關於猝死都不在理賠的範圍之內。
  • 條款裡面改一個字,保險公司少賠幾十萬!
    出院後,馬先生帶著各項相關資料,到太平洋保險公司的臺兒莊營業廳去申請理賠。沒想到竟然被拒賠了。保險公司認為,他們之間存在保險合同關係不假,馬先生的事故認定書的真實性他也承認。航空意外還能多賠100萬,交通意外多賠50萬。不到300塊錢的意外險,就能達到的保障。結果馬先生花了1778元買的東西,卻不賠傷殘。看來「貴的就是好的」這句話,在保險行業並不準確。
  • 注意:大護甲A款意外險不再推薦!
    如果超過24小時報案且無法提供準確意外死亡證明的,必須提供屍檢報告,否則不賠。出險之後,保司要求儘快報案是沒問題的。畢竟意外的定義就是非疾病、非本意、外來的、突發的。從突發的也能知道,意外有一定的時效性。這樣規定,一來能避免道德風險,投保人沒有什麼時間偽造線索,二來保險公司儘快掌握情況,就能儘快判斷能不能賠。
  • 從保險協議 Cover 再思考:今天的 DeFi 世界究竟需要什麼
    有些人賺到了錢,有些人遭受損失和痛苦。我們會厭倦研究項目,因為沒有辦法通過單純研究基本面賺到錢。我個人謹在此提醒,項目可以被分叉或複製,但其核心精髓不會。 下面我們直奔主題。在許多人的腦海中,保險始終是一項非常嚴肅的業務,因為它需要通過精確地計算索賠額並且避免騙保行為來保護人們免受意外傷害。Nexus Mutual是 DeFi 保險的先行者,該項目通過聘請專業的精算師來實現這一目標,而 Cover Protocol 則走了另一條路。
  • 飛機墜毀致112人身亡,有乘客投保了7份意外險,保司:不賠
    生活中的意外無處不在,大到飛機失事、小到貓抓狗咬,意外常常讓人猝不及防,不過一兩百塊錢的意外險,卻能在關鍵時刻幫我們減少損失。意外險保險責任看上去很簡單,但是可能大家不太清楚,意外險可是那麼多險種中,法律糾紛最多的保險之一。今天咱們通過一個飛機失事、意外險拒賠的案例,一起來聊聊意外險!
  • 「意外」究竟是什麼意思?
    拒賠猝死易導致理賠糾紛  星城一位不願透露姓名的保險業內人士表示,關於猝死是否屬於意外險賠付範圍,爭議一直非常大。「我就遇到過這樣的案例,汨羅的一位環衛工人在掃地的時候突然過世了,保險公司和家屬對意外的理解就出現分歧,家屬認為是意外,但我們公司認為其猝死是因為有病在身,這跟意外險的定義不符。」
  • 掃盲篇之保險的種類有哪些
    從保障責任上可以分為健康保險、意外傷害保險和人壽保險這三類。 一、其中健康保險又分為醫療保險、大病保險、意外醫療保險, 1.而意外醫療保險,其保障的是因意外導致的門診住院費用,防癌醫療險只保障因癌症導致的治療花費。 二、再說意外傷害保險,其主要保障因意外導致的身故和傷殘問題,和意外醫療保險一樣,兩者都可以分為個人意外險和團體意外險。
  • 保險分為哪幾類?各自有什麼作用?保險小白必看!
    2、重疾險重疾險是以疾病為給付保險金條件的一種保險,只要被保險人罹患了合同中規定了某些疾病,並且有醫院的診斷書,投保的時候做了如實告知,保險公司在調查的時候沒有發現任何問題,這種情況下買了多少保額保險公司就賠付多少錢。
  • 訂機票的時候,我默默的把航空意外險取消了,為什麼?
    所以每次購買機票的時候,彈出購買保險的提示,比如航空意外險、延誤險,都會毫不猶豫的購買,買個安心。其次,覺得這意外險也便宜,三十元能保幾百萬保額。現在,小編卻默默的把彈出的航空意外險取消了,為什麼呢?因為工作關係,小編了解到航空意外險有更加省錢又省心的選擇。所以又悄悄的另外買了一份航空意外險。
  • 蘭州特異體質學生中考體育必須購買一次性意外險
    蘭州市教育局體藝處負責人表示,就目前社會上傳言所有中考考生必須購買保險一事,鄭重向本報記者表示,蘭州市教育局沒有要求所有考生購買商業意外險。但是,對於有特異體質的考生,家長必須購買一次性商業意外險。  據了解,蘭州市教育局對參加今年中考體育考試考生的體檢醫院和檢查項目沒有做任何硬性規定與要求。
  • 平安涉強制捆綁賣保險!
    21金融圈· 金融合規觀察系列文章違規收費、強制捆綁賣保險,多機構被銀保監會點名銀保監會通報三、民生銀行在已有抵押的前提下向客戶銷售保險費率較高的人身意外險,提取高額代理手續費。經查,2016年9月至2019年11月,民生銀行共有10.19萬筆小微企業個人經營性貸款(擔保方式為抵押)的客戶購買了該行代銷的借款人意外傷害保險,67%的借款人意外傷害保險保費金額/貸款金額不低於0.40%。
  • 汽車保險的小知識,讓您不用再為買汽車保險而煩惱了!
    1、交強險交強險是我國法律規定實行的強制保險制度,交強險是由保險公司對被保險機動車發生道路交通事故造成受害人(不包括本車人員和被保險人)的人身傷亡、財產損失,在責任限額內予以賠償的強制性責任保險。這是每臺車都必須要買的保險,如果沒有交強險,您的愛車是不能合法上路的。
  • 平安涉強制捆綁賣保險!銀保監會:絕...
    平安涉強制捆綁賣保險!銀保監會:絕不姑息違規行為】銀保監會消費者權益保護局近期開展了小微企業融資收費專項檢查發現,有部分銀行保險機構、助貸機構在貸款中違規收取應減免費用,強制捆綁銷售,收取高額服務費和代理手續費,抬升了綜合融資成本,削弱了小微企業獲得感。
  • 37歲男子非洲務工,蚊蟲叮咬患瘧疾,100萬意外險咋賠?
    真實案例始末2018年6月16日和7月12日,江蘇某建築公司分2次在某保險公司《團體境外工作人員意外傷害保險》,基本意外保額合計100萬/人,意外醫療8萬/人。時年37歲的河北男子冀某為被保人之一。(瘧疾的病症之一就有「腦水腫」)發生保險理賠糾紛,原因是公司給冀某投保的是《團體境外工作人員意外傷害保險》,保險合同中對「意外傷害」有明確定義,需要滿足4個條件「外來的、突發的、非本意的、非疾病的客觀事件」,保險公司認為,冀某因「瘧疾死亡」屬於疾病死亡,因此拒賠,從而產生了理賠糾紛。
  • 意外險詐騙高發 保險業擬建「黑名單」制
    上海證券報記者昨日獲悉,為保護保險消費者合法權益,切實防範化解保險欺詐風險,促進保險業健康可持續發展及社會誠信體系的構建,中國銀行保險信息技術管理有限公司(下稱「中國銀保信」)與中國保險行業協會(下稱「保險業協會」)共同牽頭,聯合11家保險公司成立了課題組,在充分進行行業調研後,研究制定了《保險行業意外險風險名單評定指引》(下稱《指引》),即意外險「黑名單」「灰名單
  • 來普及一下商業保險的小知識
    場上各類保險種類繁多,但一般商業保險主要包括兩大類:人身保險和財產保險。人身保險呢,保的就是人的生命或身體(健康)。注意哦,不是買了就不生病哦,是買了生病有錢的保障。財產保險呢,保的是財產及相關的利益,比如最常見的車險。
  • 騙了上萬人的保險謠言,2020年還有人上當!看看你有沒有中招?
    近幾年線上保險發展,讓越來越多的保險知識廣泛傳播,很多人發現自己之前的保險都被割了「智商稅」。今天,我就說說保險行業那些騙了上萬人的保險謠言,2020年了還有人上當被坑,大家一定要注意!意外險保障的是身故和殘疾,如果附加意外醫療,那麼意外造成的治療費用可以報銷。但是如果說意外險啥意外都保,很明顯就是個不懂保險的人說的。首先,意外險的定義是外來的、突發的、非本意的、非疾病的,所以往往有些大家覺得是意外的情況,其實並不在意外的範圍裡。
  • 知識科普|保險公司到底可以轉移多少風險
    那麼很多人都知道人生的風險可以通過商業保險轉嫁給保險公司。但到底我們應該轉讓多少呢?今天就人生會遇到的風險來梳理下,到底可以轉移多少人生問題給到保險公司呢?傷殘 傷殘責任大多是因為意外事故而導致傷殘,因疾病而傷殘的概率還是較少。但也不是不存在像糖尿病患者需要截肢處理也是會導致傷殘的,那麼今天就單獨說意外傷殘的風險。 那麼可以按照殘障等級去賠付的是最好的,像斷了一肢或一腿這樣。