Tìm hiểu về sự việc Binance bị hack

Binance Hack-1

Trước khi tìm hiểu chi tiết, chúng ta hãy cùng nhau nhìn lại thông tin được phát hành từ các nguồn chính thức.

Ngày 3 tháng 7 lúc 8:44 tối theo giờ UTC

Giá của SYS tăng từ 0,0004 BTC lên 96 BTC.

Ngày 3 tháng 7 lúc 9 giờ tối theo giờ UTC

Binance Hack-4

Binance bảo trì đột xuất

Ngày 3 tháng 7 ~ 11:00 giờ tối theo giờ UTC

Binance Hack-7

Binance reset API làm đề phòng bảo mật.

Ngày 4 tháng 7 ~ 12:00 Sáng theo giờ UTC

Binance Hack-5

Binance cho phép tạo lại khóa API.

Ngày 4 tháng 7 ~ 4:00 Sáng theo giờ UTC

Binance Hack-1

Binance hoàn thành bảo trì hệ thống.

Ngày 4 tháng 7 ~ 6:00 Sáng giờ UTC

Binance Hack-3

Binance phát hành một bản tóm tắt sự cố cho biết rằng sự việc đã được quy cho hoạt động giao dịch API

Hoạt động giao dịch API?

Để hiểu tại sao các cuộc tấn công API thường trùng với với việc pump coin, trước tiên chúng ta cần hiểu cách thức hoạt động API của Binance.

Chúng ta có thể hiểu rằng, API của Binance cho phép các máy tính tương tác với sàn giao dịch một cách chính xác nhất. Để bật quyền truy cập API, trước tiên, người dùng tạo một tập hợp các khóa API. Các khóa này là các thông tin xác thực cho phép tương tác với tài khoản.

Trên Binance, có 3 cấp quyền API khác nhau:

  • Đọc (Read )  - khả năng nhận và nắm giữ dữ liệu, lịch sử giao dịch và thị trường.
  • Giao dịch (Trade)  - khả năng thực hiện giao dịch
  • Rút tiền (Withdrawal )  - khả năng rút tiền

Theo mặc định, quyền đọc và giao dịch được bật. Tuy nhiên, truy cập rút tiền thì không. Vì truy cập rút tiền mang lại rủi ro cao hơn rất nhiều, nên Binance buộc người dùng phải thiết lập IP và xác thực 2 FA.

Do đó, khi kẻ tấn công ăn cắp tên người dùng và mật khẩu hoặc khóa API, chúng có xu hướng không có quyền rút tiền. Theo giới hạn này, kẻ tấn công phải tìm cách chuyển tiền vào tài khoản có quyền truy cập rút tiền.

Đây là cách họ làm điều đó:

  • Trước khi tấn công, kẻ tấn công sẽ tích lũy một đồng coin – có khối lượng giao dịch và khối lượng order thấp, với số lượng lớn.
  • Những kẻ tấn công sẽ sử dụng tài khoản bị đánh cắp để gửi một lượng order qua API với giá được pump rất cao (thường là gấp 10.000 lần giá bình thường).
  • Những kẻ tấn công tạo ra lợi nhuận khổng lồ bằng cách bán những đồng coin mà họ đã mua trước đó.
  • Những kẻ tấn công cố gắng rút số tiền khỏi Binance. Một khi nó ra khỏi sàn và vào blockchain, chúng ta không thể nào đảo ngược để tìm lại chúng.

Dữ liệu cho chúng ta biết điều gì?

Thay vì mò dẫm trong bóng tối, chúng ta có thể sử dụng API của Binance để lấy dữ liệu lịch sử của các giao dịch SYS / BTC và xem chính xác những gì đã xảy ra.

Hoạt động, khối lượng và giá

Binance Hack-7

chart 1 ngày của cặp SYS / BTC từ ngày 24 tháng 5 đến ngày 2 tháng 7

Không có gì đặc biệt về giá của SYS cho đến ngày 3 tháng 7 khi giá lên tới 96 BTC.

Binance Hack-1

chart 1 ngày của cặp SYS / BTC từ ngày 24 tháng 5 đến ngày 10 tháng 7

Trong cùng khoảng thời gian này, khối lượng giao dịch tăng mạnh cùng với số lượng giao dịch.

Binance Hack-6

Khối lượng giao dịch và tổng số giao dịch tăng vọt của SYS / BTC vào ngày 3 tháng 7

Lịch sử order

Mọi thứ trở nên thú vị khi bắt đầu lấy dữ liệu từ  /api/v1/aggTrades

Số liệu này lấy từ lịch sử của các giao dịch đã hoàn thành. Các giao dịch điền vào thời điểm đó, từ cùng một đơn đặt hàng, với cùng một mức giá sẽ có số lượng được tổng hợp.

Binance Hack-6

Lưu ý mọi người hãy chú ý 11 SYS được bán với giá 96 BTC (~ $7 triệu) và 13.152 SYS được bán với giá 1,1 BTC (~ $97 triệu).

Bằng cách thiết lập tất cả các lệnh giao dịch tổng hợp trên biểu đồ, chúng ta có thể hiểu rõ hơn về quy mô của nó. Mỗi vòng tròn là một lệnh giao dịch. Kích thước của mỗi vòng tròn thể hiện tổng khối lượng giao dịch bằng USD.

Binance Hack-9

Thật khó để xác định chính xác thời điểm pump bắt đầu. Chúng ta hãy thử xem xét điểm bắt đầu là lần đầu tiên chúng ta thấy giá nhảy 50% từ một lệnh giao dịch sang lệnh giao dịch tiếp theo.

Lệnh giao dịch 13.152 SYS.

Vì chúng ta có ID giao dịch tổng hợp, chúng ta sẽ sắp xếp thứ tự các giao dịch lại và cùng tìm hiểu.  /api/v1/historicalTrades. Lịch sử tất cả các order.

Chúng ta có thể thấy, có tất cả 132 lệnh giao dịch riêng biệt, tất cả đều mua 99 SYS với giá 1SYS/ 1,1 BTC. Lệnh mua cuối cùng là 84 SYS, tổng cộng là 13.512 SYS.

Binance đã xác nhận rằng mỗi giao dịch riêng lẻ đều đến từ một tài khoản cá nhân.

Binance Hack-2

Do đó, $96 triệu trong khối lượng giao dịch chỉ xuất phát từ 1–133 tài khoản. Mỗi tài đã khoảng nắm một lượng BTC rất lớn.

11 SYS mua tại 96 BTC

Chỉ có một giao dịch. Điều này có nghĩa là ai đó đã nắm một con số khổng lồ 1.056 BTC ($6,694,406) trên tài khoản sàn.

Tại thời điểm này, giải thích đơn giản nhất sẽ là một lỗi hệ thống hoặc khai thác cho phép các giao dịch sai lầm này vẫn được thực hiện.

So sánh dữ liệu với VIA coin pump

Hãy so sánh SYS với VIA coin, một cuộc tấn công khác mà chúng ta có thể biết.

Hoạt động, khối lượng và giá

Trước ngày 6 tháng 3, VIA hoàn toàn bình thường.

Binance Hack-1

Đột nhiên vào ngày 7 tháng 3, giá pump.

Binance Hack-7

Cũng giống như SYS, số lượng giao dịch và khối lượng giao dịch của VIA cũng tăng vọt.

Binance Hack-5

Lịch sử order

Trong khi biểu đồ hoạt động giao dịch của VIA và biểu đồ hình nến của SYS rất giống nhau, nhưng dữ liệu giao dịch thì lại rất khác.

Không giống như SYS / BTC, chúng ta thấy một loạt các lệnh giao dịch lớn, VIA / BTC có một số lượng lớn tài khoản tham gia vào việc tạo ra các giao dịch nhỏ hơn. Các giao dịch VIA có vẻ là cách thường thấy ở một cuộc tấn công lừa đảo API.

SYS thật kì lạ.

Chỉ cần nhìn vào các lệnh giao dịch tổng hợp này được vẽ trên biểu đồ.

Binance Hack-7

Thật khó để xác định chính xác thời điểm pump bắt đầu. Chúng ta hãy giả định điểm bắt đầu của mình là lần đầu tiên chúng ta thấy giá nhảy 50% từ một lệnh giao dịch sang lệnh giao dịch tiếp theo.

Nếu kẻ tấn công sử dụng các khóa API để thực hiện các giao dịch không có thật cho SYS, chúng ta sẽ thấy một phân phối khối lượng giao dịch tương tự như sự cố VIA.

Nếu chúng ta tách các giao dịch lớn thành từng giao dịch nhỏ và so sánh phân phối khối lượng giao dịch giữa hai giao dịch, rõ ràng là giao dịch SYS có khối lượng giao dịch cao hơn rất nhiều.

Binance Hack-8

Chúng ta đã chứng kiến ​​một cuộc tấn công lừa đảo API key? Hay chúng ta đã thấy một cách lừa đảo mới?

Tin đồn

~ 7.000 BTC được rút khỏi ví nóng của Binance

Khoảng 7.000 BTC đã được rút ra từ ví nóng của Binance.

Cho đến nay, Binance đã không trả lời bất kỳ lời buộc tội nào trong số này.

Binance Hack-1 Binance Hack-2 Binance Hack-2 Binance Hack-4

Quan niệm sai lầm phổ biến

Chắc ai cũng nghĩ mức rút tối đa của Binance là 50 BTC, làm thế nào có thể rút 2.000 BTC từ ví nóng của Binance?

Khi đầu ra của một giao dịch được sử dụng làm đầu vào của một giao dịch khác, nó phải được chi toàn bộ.

Đôi khi giá trị đồng coin của đầu ra cao hơn giá trị mà người dùng muốn trả. Trong trường hợp này, khách hàng tạo ra một địa chỉ Bitcoin mới và gửi lại. Điều này được gọi là thay đổi (change).

Binance Hack-7

Cũng giống như khi bạn chi $20 để mua một cây kem $2

Binance dường như đã bỏ một loạt các lần rút tiền và gửi tất cả chúng trong một giao dịch. Tuy nhiên, không có gì lạ khi có một lượng lớn change được gửi về địa chỉ thay đổi của Binance.

Binance Hack-7

Đây là danh sách các kết quả giao dịch từ ngày 30 tháng 4 đến ngày 6 tháng 7 bằng cách sử dụng API Blockexplorer. Danh sách được sắp xếp theo đầu ra giao dịch với thứ tự giảm dần.

Như bạn có thể thấy, có một số kết quả giao dịch lớn trên 2.000 BTC. Điều này là do Change đang được gửi trả lại địa chỉ gửi.

Binance Hack-4

Có tất cả 77.374 giao dịch từ ví này. Bạn có thể tra cứu hash giao dịch trên BlockExplorer để xác nhận chúng có thật hay không.

Chưa có sự xác nhận nào về việc rút tiền đã được ủy quyền bởi Binance. Nhưng với đầu ra trên 2.000 BTC, điều này không thể không xảy ra. Nên nếu nói đây là bằng chứng, thì đây chưa thực sự đủ để thuyết phục.

Tấn công 51% vào SYS

Nhóm phát triển SYS đã phát hành một bản tóm tắt đầy đủ về tình hình sau khi sự việc xảy ra. Họ tuyên bố sự việc này là một sự trùng hợp kỳ lạ. SYS không hề bị tấn công.

Giữa bản cập nhật cho SYS 3.0.6, nhiều miner đặt mức phí họ yêu cầu cao hơn tỷ lệ mặc định. Như vậy, nhiều giao dịch có phí dưới mức này đã bị hủy bỏ. Với ít miner hoạt động hơn, các giao dịch mà thông thường sẽ mất một phút để xử lý đã buộc phải chờ trong ‘mempool’ trong nhiều giờ liền. Khi điều này xảy ra, nhiều giao dịch được gộp thành một block. Điều này gây ra kết quả đầu ra các block khá lớn, một số Block có khối lượng hơn 1 tỷ SYS và còn rất nhiều giao dịch chưa được xác nhận được tích lũy.

Trong số các giao dịch chưa được xác nhận, nhóm SYS đã thấy một loạt các khoản rút tiền từ tài khoản SYS giàu nhất bị nghi ngờ là một ví sàn. Ban đầu, nhóm SYS nghĩ rằng đó là hoạt động đáng ngờ và cảnh báo các sàn giao dịch. Kể từ đó, họ đã xác nhận các giao dịch không phải là sản phẩm của một cuộc tấn công 51%.

Sàn tập trung

Trong những lúc như thế này, bạn có thể nghe thấy mọi người kêu gọi sự thay đổi.

binance-hack-1

Sàn phi tập trung có thể là tương lai. Nhưng trước khi chúng ta hoàn toàn bỏ qua chúng. Chúng ta nên tự hỏi: Chúng ta có đang lý tưởng hoá về phân cấp và sự bất biến của blockchain hay không?

Sau tất cả, tập trung quyền lực khi đối mặt với các thảm họa là giao thức chuẩn cho hầu hết các tổ chức bởi vì nó nhanh và hiệu quả.

Lấy Binance làm ví dụ. Binance không xử lý các giao dịch trên blockchain mà thay vào đó ghi lại chúng trên một sổ kế toán nội bộ. Bởi vì họ làm điều này, cho nên Binance có thể khôi phục tất cả các giao dịch bất thường. Cho đến nay, Binance đã thực hiện hành động phòng ngừa với các giao dịch bất thường. Họ đã ngăn cản một lần lần với VIA và một lần nữa với SYS.

Binance chịu trách nhiệm về tất cả các cuộc tấn công không phải lỗi của nhà phát triển. Họ có nguồn vốn cho phép họ để trang trải bất kỳ tổn thất nào của người dùng trong một cuộc tấn công. thậm chí còn đặt 10% phí giao dịch vào một quỹ bảo hiểm để bảo vệ người dùng trước những rủi ro trong tương lai.

So sánh điều này với những sai lầm xảy ra trên blockchain.

Hãy nhớ rằng sai lầm của DAO, tổn thất $60 triệu giá trị ETH? Một số người lập luận rằng luật là luật, trong khi những người khác muốn đảo ngược lại các sai lầm. Vấn đề nghiêm trọng đến nỗi nó gây ra hard fork và sự ra đời của ETH classic.

Chắc chắn không phải tất cả các sàn giao dịch tập trung đều phải bị đào thải. Còn một chặng đường rất xa để có thể vứt bỏ tất cả các sàn tập trung.

Đây là những gì Jesse Powell, CEO của Kraken, đã nói về bình luận của Vitalik “sàn giao dịch tập trung nên được loại bỏ càng sớm càng tốt”.

Code

 Dữ liệu VIA & SYS

Bitcoin Blockexplorer

 Dịch và chỉnh sửa theo nguồn: hackernoon.com

Đánh giá

Để lại ý kiến của bạn:

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *