雖然這篇2147483648 game鄉民發文沒有被收入到精華區:在2147483648 game這個話題中,我們另外找到其它相關的精選爆讚文章
在 2147483648產品中有3篇Facebook貼文,粉絲數超過3,460的網紅Taipei Ethereum Meetup,也在其Facebook貼文中提到, 📜 [專欄新文章] 技術解析台灣交易所BitoPro駭客攻擊 ✍️ Jeff Hu 📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium 重演2014年的 Partial Payment 漏...
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
2147483648 在 Taipei Ethereum Meetup Facebook 的最讚貼文
📜 [專欄新文章] 技術解析台灣交易所BitoPro駭客攻擊
✍️ Jeff Hu
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
重演2014年的 Partial Payment 漏洞利用,罪咎誰當?
背景
台灣加密貨幣交易所 BitoPro 於台灣時間2019年4月28日上架 Ripple 瑞波幣(XRP)開放交易,並於台灣時間2019年5月1日遭到駭客利用 Partial Payment 特徵進行漏洞攻擊,可能損失達6300萬台幣 (根據 BlockTempo 報導)
漏洞在哪?
漏洞來自於 Ripple 支付的特別功能
Ripple 早期推出多種有別於傳統支付 (Payment) 的交易格式,包含非默認路徑支付 (NoDirectRipple)、部分支付 (PartialPayment)、限定匯率支付 (LimitQuality),並採用特定的支付標籤 (Transaction Flag) 作為標記:
https://developers.ripple.com/payment.html#payment-flags
部分支付:容易忽略的危險設計
部分支付的目的主要用於回彈所有目的未知的付款 (Boucing Payments),有點類似於以太坊智能合約常見的 fallback-revert 功能:
function () { revert();}
對 Ripple 而言,一般常見的支付交易 (Payment) 格式如下:
{ "TransactionType" : "Payment", "Account" : "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", "Destination" : "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", "Amount" : { "currency" : "USD", "value" : "100", "issuer" : "rf1BiGeXwwQoi3Z2ueFYTEXSwuJYfV2Jpn" }, "Fee": "12", "Flags": 2147483648, "Sequence": 2,}
上面的 Amount 欄位用來紀錄此筆紀錄總共涉及多少價值。
而特殊的部分交易 (Partial Payment) 格式則會多出一個欄位 delivered_amount,並取代原先 Amount 來紀錄真正涉及的價值。
"delivered_amount": { "currency": "USD", "value": "1", "issuer": "rf1BiGeXwwQoi3Z2ueFYTEXSwuJYfV2Jpn"}
也就是說,如果交易所或任何機構在接受 Partial Payment 時忘記使用新欄位 delivered_amount,而仍然使用舊的 Amount,就有機會受害…
攻擊發生了
駭客使用部分支付進行攻擊
根據 XRPSCAN 上這筆對 BitoPro 的存入支付,可以看出攻擊者將 Amount 設定在 330,000 XRP (約330萬元台幣),不過實際支付的金額只有右側 Delivered 欄位的 0.003255 XRP (約0.03元台幣),甚至低於此筆支付的手續費 0.005 XRP。
706E3FEC8F44CECB6E85FBE749AD5BC4C9C50BA75A280DCCD211696BE17F64B4
若 BitoPro 接受此轉帳並讀取 Amount 作為存入金額,則駭客將憑空製造330萬元台幣,而這筆錢由誰買單?…就將會是交易所自己。
漏洞無人知曉?
2014年Justcoin交易所遭駭
2014年10月8日挪威的 Justcoin 交易所遭到駭客利用部分支付漏洞攻擊。
Stellar 已改善此功能
源自於 Ripple 設計的恆星幣 Stellar 因具有與 Ripple 同樣的部分支付設計,但在觀察到其帶來的實作風險時,已在Justcoin遭駭後三天內改善此功能。
Ripple 持續使用此功能
部分支付是個特徵而不是個錯誤。
“It is not a bug. It’s a feature.”
只能由官網上看到幾篇提醒使用者的說明:[1] 與 [2]。
今後如何預防
每天詳讀 Ripple 的特徵公佈欄
加強 KYC 與 Sanity Checks
閱讀大量區塊鏈攻防新聞:XRP Chat, BlockTempo, ZyCrypto, SlowMist, 與 BlockThreat
來上課啦plz (作者為大家開課的廣告):https://hahow.in/cr/berkeley
作者為大家開設的 Hahow X UC Berkeley 線上區塊鏈課程:
來啦現在快半價誒:https://hahow.in/cr/berkeley
以上技術解析如有建議,歡迎大家主動指出。
作者對 BitoPro 是100%支持,也希望他們能夠安全平穩的度過這個難關,台灣的區塊鏈生態大家一起加油!:)
技術解析台灣交易所BitoPro駭客攻擊 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
2147483648 在 凌羽 Soron Facebook 的最佳解答
[關於程式的兩三事]
其實我一直不coding是有原因的,因為寫程式對我來說太悶,所以會失去專注力以及信心
在這裡講兩個遊戲
第一個就是,在文明帝國中,最愛用毀滅性武器的人是誰?
其實是甘地
因為在文明帝國這款遊戲當然是考究真實世界,甘地是最和平的代表,所以侵略性是1
但是,因為遊戲設計,只要該國開始進行民主體制的時候,侵略性就要從原本數值-2
這樣算下來,甘地的侵略性就為-1,但是在原始程式中,沒有這個數值,所以自動補數,然後就變成了最大值
可喜可賀,甘地從此變成核彈武增
另一款遊戲,叫做光明戰紀
那是我玩過BUG最多,而且最快速崩盤停止營運的遊戲
沒有錯! 比泰勞online還短命
光明戰紀想要創新,所以用了web介面的拍賣場,可以放入相當多特效以及選項,減少不少開發成本
但是就因為這樣,你會發現,你輸入金額,任何數值都可以被輸入
因此,當你在交易前打入負號後,就是洗錢的開始
這些都是程式設計常出現的東西,就像是為什麼希望online跟天堂以前金錢交易的金額上限都在20億元左右
為什麼呢?
因為以前的一些資料庫設計就是限定容許值為32個bit
因為在int宣告下來,是含有負數的計算,所以對大值為
0111 1111 1111 1111 1111 1111 1111 1111 =2147483647
但是假如又多加一元呢??
1000 0000 0000 0000 0000 0000 0000 0000 =-2147483648
然後就崩盤了,呵呵...
2147483648 在 竹某人の易拆竹棚 Facebook 的最讚貼文
【活動】臉書400讚點文活動進行中,在截止前大家快來點囉!
P.S,如果你的心水主題已經出現,那請大力按讚,不然就留下點文吸引其他讀友按讚囉!
記得要在活動帖下留喔!(就是置頂的那一帖)
https://www.facebook.com/bamboorack/timeline/story?ut=32&wstart=-2051193600&wend=2147483648&hash=546882772053186&pagefilter=3&ustart=1