Zero day attack là gì? Cách hoạt động của tấn công Zero Day
![Avatar](/_next/image?url=https%3A%2F%2Ffiles.amberblocks.com%2Fuserdata%2Fusrobfah3a1xgcy0gtohubodbhftwcoh%2Fprofile-pictures%2Ffvvn7g2xeb62nvf6bqt8llh5w35fmado%2Fphoto_2020-12-02_17-05-46.jpg&w=3840&q=20)
![zero day attack là gì](https://files.amberblocks.com/thumbnail/chnbzaa92ook5tnj/posts/pitcad93vfmwucem/ft26oykd73reyj6vktr2g98z3kk78ca5/zero-day-attack.jpeg)
Zero Day Attack là gì?
Zero Day Attack là thuật ngữ để chỉ hình thức tấn công mạng nhắm vào việc khai thác một lỗ hổng trong phần mềm hoặc hệ thống mà các nhà cung cấp chưa xác định được.
Nó được gọi là “zero-day” vì cuộc tấn công này xảy ra trước khi nhà phát triển phần mềm có thể phát hiện lỗ hổng hay cung cấp bản vá hoặc biện pháp bảo mật nào, và họ không có ngày nào để chuẩn bị và bảo vệ phần mềm khỏi cuộc tấn công.
Trong thị trường crypto, các cuộc tấn công zero day có thể xảy ra đối với những phần mềm ví (wallet), sàn giao dịch, hợp đồng thông minh (smart contract), cơ chế đồng thuận của blockchain, dApp… nhằm chiếm đoạt tài sản tiền điện tử của dự án và người dùng.
![tấn công zero day là gì](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/pitcad93vfmwucem/fs24c022aaz4xd9r9p9gl2qf83sfqyvz/zero-day-attack-la-gi.jpeg)
Phân biệt Zero Day Attack, Exploit và Vulnerability
Một số thuật ngữ thường đi kèm với Zero day bao gồm Zero Day Attack, Zero Day Exploit và Zero Day Vulnerability nhằm đề cập đến những ý nghĩa khác nhau:
- Lỗ hổng Zero Day (Zero Day Vulnerability): Lỗ hổng phần mềm được những kẻ tấn công phát hiện trước khi nhà phát triển biết về nó. Vì vậy, không có sẵn bản vá cho các lỗ hổng zero day và dẫn đến việc các cuộc tấn công zero dễ thành công hơn.
- Khai thác Zero Day (Zero Day Exploit): Phương pháp mà tin tặc sử dụng để tấn công các hệ thống có lỗ hổng zero day.
- Tấn công Zero Day (Zero Day Attack): Việc sử dụng phương pháp khai thác zero day để gây thiệt hại hoặc đánh cắp dữ liệu từ hệ thống có lỗ hổng zero day.
Zero Day Attack diễn ra như thế nào?
Cuộc tấn công zero day sẽ diễn ra thông qua ba giai đoạn:
Giai đoạn 1: Phát hiện lỗ hổng. Hacker sẽ phát hiện ra lỗ hổng trong phần mềm hoặc hệ thống mà hắn nhắm đến. Lỗ hổng này có thể liên quan đến ứng dụng, hệ điều hành, trình duyệt hoặc bất kỳ thành phần nào khác trong phần mềm.
Giai đoạn 2: Phát triển mã khai thác lỗ hổng. Ban đầu, hacker sẽ triển khai một mã độc hại (gọi là exploit code) để khai thác lỗ hổng đó. Hắn có thể sử dụng nhiều hình thức hoặc phần mềm độc hại (malware) khác nhau để xâm nhập phần mềm và hệ thống của người dùng, ví dụ như:
- Social Engineering: Hình thức lợi dụng lòng tin và sơ hở của người dùng, tác động vào tâm lý con người nhằm lấy cắp các thông tin để xâm nhập vào phần mềm.
- Spyware: Loại phần mềm độc hại chạy ngầm, được lập trình để theo dõi, ghi lại các hoạt động trên thiết bị vi tính và thu thập thông tin cá nhân của người dùng.
- Phishing attack: Kẻ tấn công sẽ giả mạo cá nhân/tổ chức uy tín để đánh lừa người dùng và lấy cắp thông tin cá nhân, tài khoản ngân hàng… Một số hình thức giả mạo bao gồm trang web hoặc extension, ứng dụng, email/voice chat, DNS…
- Ransomware: Loại phần mềm độc hại (malware) có thể xâm nhập vào thiết bị máy tính hoặc hệ thống của người dùng để mã hoá dữ liệu bên trong, sau đó làm xáo trộn các nội dung đó khiến nó không thể đọc được và chặn quyền truy cập của người dùng.
Giai đoạn 3: Tấn công. Sau khi đã xâm nhập vào phần mềm, hacker sẽ tấn công hệ thống, đánh cắp những dữ liệu quan trọng hoặc tài sản của người dùng.
Như đã đề cập trước đó, vì đây là các lỗ hổng chưa được xác định trước và chưa có cách khắc phục, do đó cuộc tấn công zero day thường sẽ diễn ra một cách “trót lọt” với mức thiệt hại tương đối lớn, cho đến khi nhà phát triển phần mềm phát hành bản vá bảo mật để ngăn chặn nó.
![quy trình zero day attack](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/pitcad93vfmwucem/ffkbo22aolc6bpzlgdnuevn5b4ta2vs0/quy-trinh-zero-day-attack.jpeg)
Một số vụ tấn công Zero Day trong crypto
Trong lịch sử, đã từng có nhiều vụ tấn công zero day xảy ra trong ngành công nghiệp tiền điện tử và blockchain, một số vụ điển hình như:
- Ví MyEtherWallet (Tháng 4/2018): Kẻ tấn công khai thác một lỗi trên trang web của MyEtherWallet, cho phép chúng quyền truy cập để sửa đổi số dư của các địa chỉ ví cụ thể, dẫn đến việc chuyển tiền sang ví của chúng và thiệt hại một lượng ETH trị giá 150,000 USD.
- Parity (Tháng 7/2023): Nền tảng hợp đồng thông minh Parity bị tấn công lỗ hổng nhắm vào các ví đa chữ ký chứa token ETH, với tổng thiệt hại hơn 30 triệu USD. Lỗ hổng này cho phép kẻ tấn công thực hiện các giao dịch từ bất kỳ ví đa chữ ký nào trên Parity mà không cần sự cho phép của các chủ sở hữu, dẫn đến việc mất tiền.
- Curve Finance (Tháng 7/2023): Hacker lợi dụng lỗi (bug) chưa được xác định trong phiên bản 0.2.15, 0.2.16 và 0.3.0 của ngôn ngữ lập trình Vyper để tấn công các dự án sử dụng hợp đồng thông minh được xây dựng trên các phiên bản này, trong đó có Curve Finance. Hacker đã thực hiện tấn công zero day trên Curve Finance và chiếm đoạt 52 triệu USD trong các pool stablecoin của giao thức.
Cách phòng tránh tấn công Zero Day
Để bảo vệ mình khỏi các cuộc tấn công zero day và giữ an toàn cho máy tính cũng như dữ liệu cá nhân, trước tiên cả người dùng và các dự án, tổ chức đều phải tuân theo các biện pháp cơ bản nhất về an ninh mạng, bao gồm:
- Luôn cập nhật bản vá lỗi mới nhất của phần mềm.
- Cài đặt hệ thống ngăn chặn/phát hiện xâm nhập (IDS/IPS).
- Kiểm tra tính xác thực trước khi cài đặt ứng dụng, phần mềm bất kỳ, tránh sử dụng phần mềm giả mạo.
- Hiểu về tấn công zero day và các phần mềm độc hại, đây là bước đầu để người dùng có thể phòng chống và ngăn chặn được việc hacker xâm nhập vào phần mềm hay thiết bị của mình.
Một số biện pháp giúp dự án có thể phát hiện kịp thời lỗ hổng và phòng tránh cuộc tấn công zerp day như:
- Phát hiện bất thường dựa trên công nghệ nâng cao: Dự án có thể triển khai các giải pháp bảo mật nâng cao sử dụng công nghệ máy học và phân tích hành vi, việc này giúp xác định được các mô hình và hoạt động bất thường xảy ra trên mạng và trong phần mềm. Từ đó nghiên cứu và xác định khả năng tiềm ẩn của cuộc tấn công zero day để phòng tránh chúng.
- Giám sát mạng: Giám sát liên tục lưu lượng mạng và phân tích lịch sử hoạt động để phát hiện các hoạt động đáng ngờ, ví dụ như truyền dữ liệu bất thường hoặc kết nối tới các domain độc hại đã biết…
- Nghiên cứu bảo mật và cập nhật thông tin mới nhất về các mối đe dọa: Luôn cập nhật các nguồn cấp dữ liệu thông tin về những cách thức tấn công và phần mềm độc hại mới nhất. Đồng thời luôn có bộ phận nghiên cứu bảo mật để đảm bảo thông tin chi tiết về các lỗ hổng zero day mới và các cuộc tấn công tiềm ẩn.
- Triển khai chương trình Bug Bounty: Việc này giúp dự án thu hút được những hacker mũ trắng để tìm, phát hiện và báo cáo các lỗ hổng trong phần mềm hoặc giao thức, từ đó sửa chúng trước khi bị tấn công bởi các tác nhân độc hại.