

Lưu ý của biên tập viên: Bài viết này đến từChain News ChainNews (ID: chainnewscom), Được viết bởi LeftOfCenter, được xuất bản với sự cho phép.
Lưu ý của biên tập viên: Bài viết này đến từ
Chain News ChainNews (ID: chainnewscom)
Chain News ChainNews (ID: chainnewscom)
, Được viết bởi LeftOfCenter, được xuất bản với sự cho phép.
Tác giả đặc biệt biết ơn Yu Xian, người sáng lập SlowMist Technology, vì sự giúp đỡ của ông trong bài viết này.
Đó là một ngày cuối tuần không ngừng nghỉ đối với các nhà đầu tư DeFi. Tài sản trị giá gần 25 triệu đô la trên nền tảng thỏa thuận cho vay DeFi nổi tiếng Lendf.Me đã bị tin tặc cướp nhưng chỉ mất một giờ.
Khoảng 9 giờ sáng Chủ nhật, ngày 19 tháng 4, giờ Bắc Kinh, Xu Yong từ DeBank đã chụp ảnh màn hình trong nhóm WeChat để chỉ ra rằng tỷ lệ sử dụng tiền trên nền tảng Lendf.Me là bất thường. Vào thời điểm đó, hầu hết tất cả các tài sản có thể cho vay trên nền tảng đều có tỷ lệ cho vay cực cao, tỷ lệ sử dụng của nhiều tài sản lên tới 99% và tỷ lệ sử dụng của imBTC là 100%. Dữ liệu từ DeFi Pulse cũng cho thấy rằng tài sản bị khóa trên nền tảng Lendf.Me đã giảm nhanh chóng.
WETH: 55159.02134,
WBTC: 9.01152,
CHAI: 77930.93433,
HBTC: 320.27714,
HUSD: 432162.90569,
BUSD: 480787.88767,
PAX: 587014.60367,
TUSD: 459794.38763,
USDC: 698916.40348,
USDT: 7180525.08156,
USDx: 510868.16067,
imBTC: 291.3471
Ngay sau đó, Tokenlon đã đưa ra thông báo về việc tạm dừng các giao dịch imBTC.
Nhóm Lendf.Me sau đó đã xác nhận rằng vào lúc 8:45 giờ Bắc Kinh, nó đã bị tấn công ở độ cao khối 9899681. Nhóm tuyên bố rằng trang web đã bị đóng cửa và một cuộc điều tra đã được tiến hành. Nhóm kỹ thuật đã xác định được vấn đề và khuyên tất cả người dùng trên trang web ngừng ký gửi tài sản vào hợp đồng cho vay.
Cho đến nay, tin tặc đã lấy sạch tất cả tài sản lưu trữ của người dùng trên nền tảng Lendf.Me. Dữ liệu trên chuỗi cho thấy sau cuộc tấn công, giá trị USD của tài sản bị khóa của Lendf ngay lập tức giảm 100% xuống còn 6 USD, trong khi tổng giá trị bị khóa trước đó vượt quá 24,9 triệu USD. Các quan sát trên chuỗi cho thấy những kẻ tấn công tiếp tục trao đổi tài sản bị đánh cắp thành ETH và các mã thông báo khác thông qua các nền tảng DEX như 1inch.exchange, ParaSwap và Tokenlon.
Theo thống kê được công bố bởi công ty bảo mật blockchain SlowMist Technology vào thời điểm đó, thiệt hại lũy kế của Lendf.Me khi bị tấn công là khoảng 24.696.616 đô la Mỹ, số tiền và số tiền bị đánh cắp cụ thể như sau:
Tại thời điểm này, chúng ta có thể dễ dàng liên tưởng đến bzx, vốn đã xảy ra một cuộc tấn công flash loan cách đây không lâu, cuộc tấn công đó cũng diễn ra vào một ngày thứ bảy của tháng 1 và tổng cộng 900.000 đô la Mỹ đã bị đánh cắp trong hai cuộc tấn công. Vào thời điểm đó, nhiều người đam mê DeFi chợt nhận ra rằng DeFi đang bùng nổ không an toàn như tưởng tượng.
Vào tối Chủ nhật, mọi thứ trở nên kịch tính hơn khi tin tặc bắt đầu trả lại một số tài sản cho Lendf.Me.
Hành động này cũng đã được xác nhận trong một tuyên bố chính thức được nhóm đưa ra sau đó. Yang Mindao, người sáng lập dForce, người khởi xướng nền tảng Lendf.Me, cho biết trong một bài báo xuất bản sau đó, "Tin tặc đã cố gắng liên hệ với chúng tôi và chúng tôi dự định thảo luận với chúng." Tài khoản quản trị của nền tảng Lendf.Me đã phản hồi kẻ tấn công thông qua một bản ghi nhớ. Yang Mindao cho biết anh đang hợp tác với các sàn giao dịch và các cơ quan thực thi pháp luật để truy tìm những kẻ tấn công và cố gắng hết sức để giải cứu số tiền bị đánh cắp.
Đồng thời, nhiều nạn nhân của nền tảng Lendf.Me đã để lại tin nhắn cho tin tặc thông qua chuyển khoản, cầu xin bên kia trả lại số tiền khó kiếm được của họ. Cho đến nay, hành vi trộm cắp của hacker đã phát triển thành một sự cố nhóm lớn.
Nhóm cũng đã công bố một số biện pháp tiếp theo để giải quyết sự cố, bao gồm: 1. Liên hệ với các công ty bảo mật hàng đầu để tiến hành đánh giá bảo mật toàn diện hơn cho Lendf.Me; chúng tôi đã bị tấn công, chúng tôi sẽ không bị đánh bại"; 3. Chúng tôi đang làm việc với các sàn giao dịch lớn, các nhà giao dịch OTC và các cơ quan thực thi pháp luật để điều tra tình hình, thu giữ số tiền bị đánh cắp và truy tìm các tin tặc.
Cho đến bây giờ, cuộc điều tra và ngăn chặn các khoản tiền bị đánh cắp đang diễn ra.
tiêu đề phụEtherscanKhôi phục quá trình tấn công
Tình huống được biết hiện tại là kẻ tấn công đã lợi dụng một "tính năng" của tiêu chuẩn ERC-777 được imBTC áp dụng để thực hiện một "cuộc tấn công vào lại" (reentrancy attack), dẫn đến tài sản có giá trị thị trường khoảng 25 triệu đô la Mỹ bị bị đánh cắp từ hợp đồng Lendf.Me. lấy ra.
Slowmist đã khôi phục chi tiết về cuộc tấn công này một cách chi tiết: địa chỉ của kẻ tấn công đã tấn công Lendf.me là 0xA9BF70A420D364E923C74448D9D817D3F2A7822 và lần này là kẻ tấn công đã thực hiện nó bằng cách triển khai hợp đồng 91d.
bằng cách xem
Một trong những giao dịch cuối cùng được tìm thấy:
Kẻ tấn công lần đầu tiên gửi 0,00021593 imBTC, nhưng đã rút thành công 0,00043188 imBTC từ Lendf.Me, tức là số tiền đã rút gần gấp đôi số tiền đã gửi.
Vậy làm thế nào mà kẻ tấn công có được số dư gấp đôi từ một giao dịch ngắn? Tiếp theo, SlowMist đã thực hiện phân tích chuyên sâu về mọi hành động trong giao dịch:
Kẻ tấn công đã thực hiện 2 lệnh gọi hàm supply() trên Lendf.Me nhưng 2 lệnh gọi này là độc lập, không gọi lại hàm supply() trong hàm supply() trước đó;
Ngay sau đó, trong lần gọi thứ hai của hàm supply(), kẻ tấn công bắt đầu một cuộc gọi đến hàm rút tiền() của Lendf.Me trong hợp đồng của chính anh ta và cuối cùng là rút tiền;
Cuộc gọi rút tiền() của kẻ tấn công xảy ra trong hàm transferFrom, nghĩa là khi Lendf.Me gọi hàm hook tokensToSend() của người dùng thông qua transferFrom. Rõ ràng, kẻ tấn công đã nhập lại hợp đồng Lendf.Me thông qua hàm supply(), gây ra một cuộc tấn công vào lại.
Nếu các chi tiết kỹ thuật trên không dễ hiểu đối với Xiaobai, thì bạn có thể sử dụng phép loại suy sau để hiểu tấn công vào lại là gì:
Giao dịch viên B hỏi số tiền trong tài khoản của A và ghi số tiền vào “tài khoản tạm rút”. Tuy nhiên, trước khi giao dịch viên B rút tiền từ “tài khoản tạm rút” và cập nhật số tiền vào tài khoản của A và đặt lại “tài khoản tạm rút” của A thì A đã biến mất;
A đến chi nhánh khác với tốc độ ánh sáng và nói với giao dịch viên C của chi nhánh rằng anh ta cần rút tiền, giao dịch viên C đã thực hiện lại thao tác của giao dịch viên B trước đó: hỏi số tiền trong tài khoản của A, và ghi lại lại số tiền vào Tài khoản "tạm rút tiền chờ rút tiền", rút tiền từ "tài khoản tạm thời rút tiền" và cập nhật số tiền tài khoản của A và đặt lại "tài khoản tạm thời rút tiền" của A;
Cuối cùng, điều này khiến A phải rút gấp đôi số tiền của chính mình, v.v., cho đến khi tất cả số tiền trong ngân hàng bị tiêu sạch.
Trong trường hợp hack Lendf.Me, A tương ứng với tin tặc và ngân hàng là Lendf.Me.
tiêu đề phụ
Thảm họa đến từ đâu?
Đây là một sự cố hack mang tính bước ngoặt trong lĩnh vực DeFi, đã gây ra các cuộc thảo luận rộng rãi trong ngành. của cộng đồng và cả những Quan niệm sai lầm, định kiến trong cộng đồng blockchain phương Tây.
Trước hết, 25 triệu đô la không phải là một khoản lỗ nhỏ, nó có thể là tất cả số tiền tiết kiệm được của người dùng thông thường trên nền tảng này. Đối với những nhà thám hiểm đầu tiên trong lĩnh vực DeFi này, sự hoài nghi về các nền tảng tập trung đã khiến họ nắm lấy tài chính mở. Lần này, mức giá đắt đỏ này chắc chắn là một đòn nặng nề giáng xuống niềm tin của họ vào DeFi.
Đối với phía dự án, điều này có thể có nghĩa là bắt đầu lại từ đầu. Là một trong những công ty dẫn đầu về DeFi, Lendf.Me là một ngôi sao dự án blockchain được khởi xướng từ Trung Quốc và là một ngôi sao tiềm năng đang lên. Mới chỉ nửa năm kể từ khi ra mắt vào tháng 9 năm 2019, và nó đã có chỗ đứng trên thị trường cho vay tài chính mở và đã phát triển thành thỏa thuận cho vay tiền tệ ổn định lớn nhất. Trước vụ tấn công, nó có gần 30 triệu đô la tài sản và gần 10 triệu đô la dư nợ. Chỉ vài ngày trước, Lendf.Me đã nhận được khoản đầu tư chiến lược trị giá 1,5 triệu đô la Mỹ từ Multicoin Capital, Huobi Capital và CMB International.
Yang Mindao, người sáng lập dForce, cũng tuyên bố trong tuyên bố rằng cá nhân ông đã chịu tổn thất tài chính nghiêm trọng trong cuộc tấn công hack này.
Tệ hại hơn, ngoài những nạn nhân trực tiếp, thiệt hại gián tiếp do vụ việc này gây ra có thể còn lớn hơn. Vào tháng 2 năm nay, DeFi vừa mở ra một sự kiện quan trọng (tài sản bị khóa vượt quá 1 tỷ đô la Mỹ) và là một trường hợp sử dụng thực tế quan trọng của Ethereum, điều này có thể làm mất niềm tin vào Ethereum và thậm chí toàn bộ chuỗi công khai.
Để đối phó với cuộc tấn công này, một số thành viên cộng đồng tin rằng nền tảng này phải chịu trách nhiệm không thể chối cãi. Bản thân Lendf.Me, với tư cách là nhà điều hành, đã không xem xét đầy đủ tính bảo mật của hợp đồng ở phía giao diện, dẫn đến sự cố. Về vấn đề này, nhóm cho biết họ đã liên hệ với các công ty bảo mật hàng đầu để tiến hành đánh giá bảo mật toàn diện hơn cho Lendf.Me và nhóm dự kiến sẽ tăng cường khía cạnh này trong tương lai.
Cũng có một tiếng nói khác cho rằng Tokenlon, công ty phát hành tài sản của imBTC, phải chịu một số trách nhiệm, sau khi sự cố Uniswap khiến việc chuyển hợp đồng của imBTC ngừng hoạt động vào đêm hôm trước, nó đã mở lại chức năng chuyển hợp đồng của imBTC, tạo cơ hội cho tin tặc.
Tuy nhiên, thông tin được tiết lộ bởi Tokenlon nói rằng trước khi chức năng chuyển tiền của imBTC được khởi động lại vào lúc 17:00 ngày 18 tháng 4, nó đã liên lạc với Lendf.Me và các nền tảng hợp tác imBTC khác, đồng thời được Lendf.Me và các nền tảng hợp tác khác xác nhận rằng bảo mật đánh giá rủi ro không Sau sự cố, chức năng truyền tải sẽ được khởi động lại.
imBTC là mã thông báo ERC-777 (tương thích với ERC-20) được neo theo tỷ lệ 1:1 với BTC. Mã này được phát hành và giám sát bởi Tokenlon. imBTC áp dụng thông số kỹ thuật tiêu chuẩn mã thông báo ERC-777.
Vì lý do bảo mật, nhiều nhà đầu tư đã bắt đầu kiểm tra nền tảng nào liên quan đến mã thông báo tiêu chuẩn ERC-777 và tiêu chuẩn ERC-777 đã thay đổi màu sắc trong một thời gian.
Cũng có những người phàn nàn về tiêu chuẩn giao thức, cho rằng bản thân giao thức đó cũng ổn, nhưng các nhà phát triển đã không xem xét các vấn đề tương thích trong đó khi sử dụng.
Ví dụ: một số nhà phát triển tin rằng ERC20 là ERC777, giống như Bitcoin là Ethereum.Mặc dù ERC20 an toàn hơn nhưng các chức năng của nó có những hạn chế.
Chuẩn ERC20 ra đời năm 2015 có các chức năng rất đơn giản nên cũng rất được ưa chuộng. Nhưng đối với một hệ thống đang cố gắng tạo ra "tiền có thể lập trình", tiêu chuẩn mã thông báo ERC 20 rất hạn chế và những hạn chế của nó đã dẫn đến nhiều vấn đề về trải nghiệm người dùng của Ethereum.
Tiêu chuẩn ERC 777 có thể được coi là phiên bản nâng cấp của tiêu chuẩn ERC 20. Là một tiêu chuẩn mã thông báo mới, nó tương thích ngược với ERC20 và thêm một số chức năng mới. Các chức năng này bao gồm trường dữ liệu, toán tử và ví hợp đồng. Các tính năng như từ chối các mã thông báo không mong muốn.
Nhưng vấn đề lớn nhất mà ERC 777 có thể giải quyết là bằng cách thêm một "móc nối" để cung cấp chức năng thanh toán cho các mã thông báo khác với mã thông báo Ethereum, điều này cho phép hoàn thành giao dịch chuyển đổi Dai thành ETH trong Uniswap trong một bước.
Đối với những sinh viên chưa quen với tiêu chuẩn mã thông báo ERC20, đây là cách phổ biến khoa học đơn giản: Vì tiêu chuẩn mã thông báo ERC20 không có "chức năng thanh toán", nên cần có nhiều giao dịch khi thực hiện giao dịch mã thông báo. Ví dụ: nếu bạn sử dụng Uniswap để chuyển đổi ETH thành Dai, Về cơ bản, bạn có thể nhận Dai bằng cách gửi ETH, nhưng nếu bạn chuyển đổi Dai thành ETH, bạn cần thực hiện giao dịch để phê duyệt Dai trước khi có thể đổi lấy ETH.
Lý do của vấn đề này là tiêu chuẩn ERC20 không có "chức năng thanh toán", cho phép hợp đồng thực thi mã khi nhận ETH, nhưng không thể thực thi mã khi nhận các mã thông báo khác ETH. ERC 777 giải quyết vấn đề này bằng cách thêm một "cái móc", cho phép hoàn thành giao dịch chuyển đổi từ Dai sang ETH trong một bước.
Tuy nhiên, các cuộc tấn công vào lại không có gì mới. "Sự cố DAO" dẫn đến sự chia tách của Ethereum vào năm 2017 là do các cuộc tấn công vào lại. Đối với các nhà phát triển, điều mới có thể là các cuộc tấn công vào lại cũng có thể ảnh hưởng đến các mã thông báo khác ngoài ETH. .là an toàn.
Sự cố này cũng đã gây ra phản ánh trên toàn bộ hệ sinh thái DeFi.
DeFi, được gọi là tiền tệ Lego, có các đặc điểm về khả năng kết hợp và khả năng tương tác, mang đến cho chúng ta vô số khả năng. Nhưng mặt khác của đồng tiền cũng là vấn đề lớn nhất của DeFi: là một hệ thống phức tạp, rủi ro của DeFi sẽ được phóng đại vô hạn và tính bảo mật của hệ thống phụ thuộc vào mảnh gỗ ngắn nhất mà hệ thống sẽ bị kéo xuống. Đây là nguyên tắc thùng cổ điển.
Vì lý do này, một trong những đề xuất phòng thủ được đưa ra bởi nhóm bảo mật SlowMist là: "Khi kết nối nhiều hợp đồng, cần kiểm tra bảo mật mã và bảo mật kinh doanh của hợp đồng nhiều bên và xem xét đầy đủ sự kết hợp của các kịch bản kinh doanh khác nhau. Câu hỏi bảo mật."
tiêu đề phụ
suy nghĩ lại
Những nhà thám hiểm ban đầu chuyển từ nền tảng tập trung sang DeFi vì lo ngại về rủi ro bảo mật đột nhiên phát hiện ra rằng các vấn đề bảo mật của phi tập trung dường như còn lớn hơn.
Đặc biệt trong năm qua, đã có rất nhiều tai nạn trong lĩnh vực DeFi.
Vào tháng 6 năm 2019, Synthetix đã bị tấn công bởi một cỗ máy tiên tri và mất hơn 37 triệu mã thông báo tổng hợp sETH.
Vào tháng 1 năm nay, bZx đã bị tấn công hai lần và thiệt hại lên tới 900.000 đô la Mỹ;
Vào tháng 3 năm nay, hợp đồng thông minh Zap do dự án ngôi sao DeFi mới iearn.finance cung cấp đã không kiểm tra trượt giá dẫn đến giao dịch bất thường trên nền tảng giao dịch tiền tệ ổn định Curve. can thiệp, nhưng người sáng lập Andre Cronje nói rằng ông không thể chịu được áp lực xã hội và sẽ để dự án tự hoạt động.
Sự kiện thiên nga đen xảy ra vào ngày 12 tháng 3 đã khiến một số nhà thanh lý giành chiến thắng trong cuộc đấu giá quy trình thanh lý tài sản thế chấp Ethereum với giá thầu bằng 0, dẫn đến việc MakerDAO có khoản nợ chưa thanh toán gần 5 triệu đô la chưa được thế chấp, dẫn đến nhiều khoản thế chấp. thị trường bán tháo.
Một ngày trước vụ hack Lendf.Me, tin tặc đã lợi dụng các vấn đề về khả năng tương thích ERC777 của Uniswap để đánh cắp số imBTC trị giá hơn 300.000 đô la.
Rõ ràng, sự cố này với Lendf.Me không phải là lần đầu tiên và sẽ không phải là lần cuối cùng.
Sự cố hack đã gióng lên hồi chuông cảnh báo cho toàn ngành, buộc các dự án khác nhau bắt đầu xem xét các lỗ hổng bảo mật của chính họ.
Một ngày sau sự cố Lendf.Me, Curve, một nền tảng giao dịch stablecoin phi tập trung sử dụng các đường cong liên kết để tạo lập thị trường, đã thông báo rằng có những lỗ hổng trong hợp đồng nhóm quỹ sUSD của mình, nói rằng "tất cả các lỗ hổng đã được giải quyết, tiền vẫn an toàn và không có tổn thất nào xảy ra." Curve yêu cầu người dùng rút tiền của họ và đợi hợp đồng mới được triển khai. Các thay đổi đối với hợp đồng mới sẽ được kiểm tra.
Cho đến nay, các nền tảng tuân thủ tiêu chuẩn ERC-777 đã bắt đầu hoạt động. Nền tảng "xổ số không mất mát" Ethereum PoolTogether đã thông báo rằng họ đã loại bỏ mã thông báo tiêu chuẩn ERC-777 plDai, trước đây là một quỹ nhỏ dành cho các nhà phát triển bên thứ ba, chỉ liên quan đến khoảng 480 plDai. Tuy nhiên, Yu Xian, người sáng lập SlowMist, cho biết: "Loại bỏ plDai không phải là một giải pháp hoàn chỉnh. Mã riêng của họ cũng tương thích với ERC-777, vì vậy mã của riêng họ cần được tăng cường."
Một nhóm bảo mật blockchain khác, PeckShield, đã đề xuất một giải pháp hiệu quả, gợi ý rằng các nhà phát triển nên áp dụng phương pháp "Kiểm tra-Hiệu ứng-Tương tác" để ngăn chặn các cuộc tấn công vào lại như vậy. Ví dụ: trong supply() của Lendf.Me, nếu số dư token được cập nhật trước, thì doTransferIn() được gọi. Điều này sẽ khiến một cuộc tấn công không thể thiết lập lại số dư sau khi rút tiền().
Đây là một cơ hội tuyệt vời để tóm tắt và phản ánh, cho phép bản thân dự án và người dùng bắt đầu kiểm tra tầm quan trọng của bảo mật. Về lâu dài, điều này có lợi cho sự phát triển của toàn ngành.
Đối với bên dự án, điều quan trọng nhất trong tương lai là ngăn chặn thời gian trôi qua và "làm thế nào để tối đa hóa tính bảo mật của quỹ nền tảng" / Vì lý do này, SlowMist đã đưa ra một loạt đề xuất bảo vệ:
Thêm cơ chế khóa vào các phương thức vận hành kinh doanh chính, chẳng hạn như: ReentrancyGuard của OpenZeppelin;
Khi phát triển hợp đồng, hãy sử dụng phong cách viết trước tiên thay đổi các biến của hợp đồng này, sau đó thực hiện các cuộc gọi bên ngoài
Trước khi dự án được triển khai trực tuyến, một nhóm bảo mật xuất sắc của bên thứ ba được mời tiến hành kiểm tra bảo mật toàn diện để khám phá các vấn đề bảo mật tiềm ẩn nhiều nhất có thể
Khi nhiều hợp đồng được kết nối, cũng cần kiểm tra bảo mật mã và bảo mật kinh doanh của hợp đồng nhiều bên và xem xét đầy đủ các vấn đề bảo mật trong sự kết hợp của các tình huống kinh doanh khác nhau
Hợp đồng nên đặt công tắc tạm dừng càng nhiều càng tốt, để khi xảy ra biến cố “thiên nga đen” có thể kịp thời phát hiện và chặn đứng tổn thất
Bảo mật luôn năng động và mỗi bên dự án cũng cần nắm bắt thông tin tình báo về mối đe dọa có thể liên quan đến dự án của mình một cách kịp thời và nhanh chóng điều tra các rủi ro bảo mật tiềm ẩn
Ở cấp độ người dùng, mỗi cuộc tấn công sẽ làm giảm một vài điểm niềm tin của người dùng vào DeFi, nếu không có biện pháp phòng ngừa trước, người dùng sẽ mất niềm tin vào DeFi. Đối với DeFi, sự tự tin là rất quan trọng, không có sự tự tin thì DeFi không có tương lai.
tham khảo:
Các sàn giao dịch tập trung khổng lồ vẫn có các biện pháp khắc phục, trong trường hợp mất tài sản, một tổ chức tập trung được tài trợ tốt thường sẽ bồi thường thiệt hại cho người dùng và thiết lập một nhóm bảo hiểm. Biện pháp khắc phục cho tài chính phi tập trung nên tiến hành như thế nào? Bảo hiểm phi tập trung hay một điểm mấu chốt chung? Nếu không có sự chứng thực của một thể chế tập trung, về cơ bản, nó đang tìm kiếm một cơ chế hiệu quả để quản lý đất công.
