DDoS là gì? Cẩm nang về DDoS (Phần 1)

Tấn công DDoS là gì? Cẩm nang về DDoS (Phần 1)

08/04/2021
13 Lượt xem

Nền công nghiệp CNTT đang trải qua sự gia tăng không ngừng của các cuộc tấn công DDoS trong những năm qua. Nó không những gây thiệt hại to lớn về kinh tế mà còn cả thương hiệu. Vậy DDoS là gì? Nó hoạt động như thế nào?

Tấn công DDoS đã bắt đầu từ những năm khởi nguyên của thời đại internet. Tuy nhiên, nó đang ngày càng trở nên mạnh mẽ hơn bao giờ hết. Theo một báo cáo năm 2018 của IDG, một cuộc tấn công DDoS gây ra 7 đến 12 giờ ngưng hoạt động của server. Với thiệt hại trung bình 5600 USD/phút ngưng hoạt động, một cuộc tấn công DDoS sẽ làm các doanh nghiệp mất từ 2,3 dến 4 triệu USD. Thiệt hại trên phần lớn là do thiếu hụt hoạt động kinh doanh, chưa tính đến chi phí cho nhân viên hay các khoản khác.

Cùng với sự phát triển của CNTT, các hacker luôn sử dụng các loại hình tấn công mới để đạt được mục đích của chúng. Trong phần đầu của bài viết này, chúng tôi sẽ khái quát những kiến thức cơ bản nhất của DDoS và hiện thực của tấn công DDoS trong những năm gần đây.

Tấn công DDoS là gì?

Đầu tiên, DDoS là viết tắt của Distributed Denial-of-Service (Tấn công từ chối dịch vụ phân tán). Tấn công DDoS xảy ra khi các server và mạng bị tràn ngập với lưu lượng truy cập nhiều quá mức. Mục đích của DDoS là áp đảo các trang web hoặc server với lượng lớn request, khiến hệ thống không thể hoạt động nữa.

Thứ hai là khái niệm bonet – là các mạng lưới máy tính rất rộng lớn. Botnet thường được sử dụng để thực hiện các cuộc tấn công DDoS. Chúng thường bao gồm các máy tính bị xâm nhập (thiết bị IoT, server, máy trạm, router…) được điều khiển bởi server trung tâm.

Các cuộc tấn công DDoS cũng có thể được bắt nguồn từ hàng chục ngàn máy tính được kết nối mạng với nhau. Các máy này không phải botnet, tức là không bị xâm nhập. Thay vào đó, chúng là những máy bị cấu hình sai, hoặc chỉ đơn giản là bị lừa tham gia vào một botnet.

Thực trạng về tấn công DDoS hiện nay

Ngày nay, DDoS đang ngày càng trở nên mạnh mẽ. Sau đây là một số thông tin về thực trạng của tấn công DDoS trong những năm gần đây:

  • DDoS đang trở nên phổ biến hơn: Chỉ tính trong đầu năm 2019, TechRepublic cho biết số lượng các cuộc tấn công với mục đích làm nghẽn mạng và từ chối truy cập tài nguyên đã tăng đến 967%!
  • Quy mô các cuộc tấn công đã lớn hơn: Các báo cáo của InfoSecurity cho biết, các cuộc tấn công trung bình đã lớn hơn đến 500% về quy mô (2018).
  • Các cuộc tấn công trở nên tinh vi hơn: Tấn công DDoS hiện nay không chỉ dừng ở lớp thứ 3 nữa. Các hacker đã phát triển các cuộc tấn công ở lớp ứng dụng lớn. Neustar cho biết, 77% các cuộc tấn công được can thiệp trong quý 1 năm 2019, sử dụng 2 hoặc nhiều vector để tấn công (multivector).
  • Ứng dụng AI và học máy để tấn công DDoS: Lấy ví dụ, các botnet DDoS ứng dụng phương pháp học máy để tiến hành trinh sát các mạng tinh vi. Từ đó tìm ra các hệ thống dễ xâm nhập nhất. Ngoài ra, AI cũng được áp dụng để tự cấu hình lại nhằm thay đổi chiến lược tấn công, tránh bị phát hiện.
  • Kết hợp nhiều chiến lược tấn công: Các hacker ngày nay đã sử dụng nhiều phương pháp tấn công khác nhau. Từ ăn cắp thông tin, tấn công vật lý đến các kỹ thuật xã hội…khiến DDoS chỉ là một yếu tố để tiếp cận đến các mục đích của hacker.

Sự phát triển của tấn công DDoS

Sự thật mà nói, những kẻ tấn công đều là những cá nhân xuất sắc, vì chúng luôn tìm ra cách để đạt được mục tiêu của mình. Lấy ví dụ, các hacker chỉ cần tìm một giao thức cụ thể. Giả sử các hacker phát hiện ra có thể dùng TCP để tạo một cuộc tấn công flood SYN hay memcache…

Cùng với sự phát triển của AI, nó cũng đã mở ra những tiềm năng vô cùng lớn. Các hacker có thể sử dụng nhận diện giọng nói, học máy…để thao túng các thiết bị tích hợp trong nhà hay văn phòng. Từ đó có thể tự tạo ra các lỗ hổng để tấn công.

Các chiến thuật tấn công DDoS là gì?

Vậy các chiến thuật tấn công DDoS là gì để đạt được mục đích hiệu quả nhất? Hiện nay có hai chiến thuật tấn công DDoS chính mà ta có thể kể đến:

Bombardment (volumetric) – Bắn phá

Chiến thuật này là một cuộc tấn công phối hợp, nhắm vào hệ thống cụ thể từ một nhóm các thiết bị. Các lưu lượng truy cập sẽ được sử dụng để bắn phá (bombard) các hệ thống. Loại tấn công này tập trung vào Layer 3 của mô hình OSI. Nó thường được đo lường bằng đơn vị packet/giây (PPS) hay megabit/giây (Mbps).

Hai hình thức tấn công bắn phá:

  • Tấn công lâu dài: Cuộc tấn công sẽ được triển khai trong nhiều ngày hoặc nhiều giờ.
  • Tấn công burst: Tấn công diễn ra trong thời gian rất ngắn (một phút hoặc vài giây). Dù thời gian ngắn, nhưng tấn công burst gây thiệt hại cực kỳ lớn. Cụ thể, với sự phát triển của các thiết bị IoT và các siêu máy tính, các hacker hoàn toàn có thể tạo ra các lưu lượng cực lớn để tấn công. Khi đó, hacker có thể tạo lưu lượng lớn trong khoảng thời gian rất ngắn.

Technology Infection

Trong chiến thuật này, các hacker thường thao túng kiểm soát các ứng dụng. Nó thường được gọi tấn tấn công Layer 7, kết hợp cùng với các botnet để tấn công. Cụ thể, các thiết bị IoT thường được sử dụng để gửi lưu lượng đến mục tiêu. Bên cạnh đó, tấn công Layer 7 cũng có thể vô hiệu hóa các ứng dụng web và cloud quan trọng trên quy mô lớn. Chúng nhằm vào các tài nguyên dựa trên cloud, nên việc thay đổi nhà cung cấp cloud sẽ không thể giải quyết được vấn đề.

Các lỗ hổng cho tấn công DDoS là gì?

Các cuộc tấn công DDoS (và cả những loại tấn công khác) đều phát sinh từ ba loại lỗ hổng chung: monoculture, technical debt và system complexity.

Monoculture

Đây là một thuật ngữ trong kinh tế, là khi ta chỉ quan tâm đến những điều mang lại giá trị. Thật vậy, chúng ta có xu hướng chỉ thích tự động hóa và sao chép các hệ thống. Trong thời đại của cloud và siêu ảo hóa, các bộ phận CNTT thường chỉ tạo một lần, và deploy thường xuyên. Điều này có nghĩa là, khi tạo một dịch vụ cụ thể, chẳng hạn như workplace của Amazon Web Serivces (AWS), hay một web server, ta sẽ sao chép và sử dụng nó nhiều lần. Điều này tạo ra một Monoculture. Tức là một tình huống mà ở đó hàng chục, hàng trăm sự vật giống nhau cùng tồn tại.

Vì vậy, các hacker tập trung tấn công vào các loại tình huống này. Sở dĩ vì chúng có thể khai thác một lỗ hổng nhỏ để đạt được những thiệt hại cực lớn. Và chỉ cần một malware nhỏ bé cũng đủ để tấn công vô vàn hệ thống lớn.

DDoS là gì

Technical debt

Các công ti khi bắt đầu triển khai một giải pháp doanh nghiệp mới thường bỏ qua một số bước quan trọng. Có thể là một phần mềm, một triển khai cloud hay một web server mới. Ngành công nghiệp CNTT lâu nay đã xác định rõ các bước quan trọng mà các tổ chức cần đi theo để tạo ra phần mềm và các dịch vụ an toàn. Đáng buồn là, các tổ chức lại thường bỏ qua những bước quan trọng nhất. Chỉ để tiết kiệm một chút thời gian hay tiền bạc.

DDoS là gì

Mỗi lần như vậy, các tổ chức này được xem là đang chịu một khoản “nợ kỹ thuật”. Dĩ nhiên, có nợ thì phải trả nợ. Nếu tổ chức không trả lại khoản nợ ấy, bằng cách sửa phần mềm hay cấu hình, các bảo mật dịch vụ quan trọng…, tổ chức ấy sẽ phải chịu hậu quả. Khi đó, họ sẽ trở thành mục tiêu của các cuộc tấn công mạng. Một ví dụ về nợ kĩ thuật có thể được tìm thấy ở các thiết bị IoT. Chúng thường được trang bị khả năng mạng mạnh mẽ. Nhưng lại không có mật khẩu mặc định. Vì vậy, các hacker có thể dễ dàng tranh thủ đưa các thiết bị này vào botnet. Nhưng những người phải trả món nợ kỹ thuật này lại chính là người dùng của các doanh nghiệp ấy.

Độ phức tạp (Complexity)

Các hệ thống với độ phức tạp cao thường sẽ khó để quản lý và theo dõi. Đặc biệt là với các hệ thống được tạo ra quá vội vàng, cẩu thả. Sự tinh tế đúng là cần thiết. Nhưng khi chúng ta tạo ra nhiều hệ thống kết nối hơn, sự phức tạp này lại có thể khiến chúng ta mất đi quyền kiểm soát thông tin của mình. Các lỗi xảy ra thường dần đến những phần mềm bị dính bug. Khi các phần mềm này được kết nối với các cloud khác, các bug sẽ lan rộng ra các quy mô lớn hơn nữa.

DDoS là gì

Kế hoạch tấn công botnet của DDoS là gì?

Lưu lượng của DDoS có khá nhiều loại khác nhau. Việc hiểu rõ sự khác nhau giữa các loại lưu lượng tấn công DDoS là gì giúp ta có được các biện pháp chủ động để nhận dạng và giảm thiểu tấn công DDoS.

1. Command & Control (C&C)

Một admin botnet sử dụng server trung tâm hoặc mạng các server để kiểm soát hàng ngàn thành viên của botnet. Khi admin phát một lệnh điều khiển botnet, đó được gọi là lưu lượng C&C. Admin thực tế thường bị xóa khỏi server botnet hay C&C sau đó. Và lưu lượng cũng thường được giả mạo, khó phát hiện hơn.

2. Phối hợp

Các cuộc tấn công có tính phối hợp cao nhất là những cuộc tấn công hiệu quả nhất. Lấy ví dụ, một cuộc tấn công botnet phối hợp cũng như một tổ kiến lửa vậy. Khi đàn kiến lửa tấn công, chúng sẽ bố trí vị trí và chuẩn bị. Sau đó là chờ đợi tín hiệu và đồng loạt thực hiện tấn công.

3. Lưu lượng Beaconing/Hearbeat

Khi một hệ thống bị xâm nhập gọi về một server C&C, nó được gọi là beaconing. Lưu lượng này đi qua một botnet và bộ điều khiển của nó. Và nó có những hành vi và khuôn mẫu riêng biệt. Khi đó, các nhà phân tích bảo mật có thể xác định lưu lượng này. Sau đó có thể đánh dấu nó. Từ đó họ có thể tìm ra các hệ thống bị xâm nhập. Cũng như quản lý hoặc chặn loại lưu lượng này. Hơn nữa là theo dõi và cô lập các botnet lây nhiễm.

4. Lưu lượng tấn công

  • TCP: Trong các cuộc tấn công DDoS, hacker sẽ đánh dấu các lỗ hổng trong kết nối TCP. Đôi khi, lỗ hổng tồn tại do mã hóa yếu hoặc thậm chí không được mã hóa. Thông thường, khi một client gửi packet SYN, server sẽ phản hồi một ACK. Sau đó, client sẽ trả lại packet ACK đó. Giao tiếp này sẽ xác định một kết nối. Một hacker có thể giả mạo IP và gửi request mà không bao giờ được công nhận. Khi đó sẽ có một cổng luôn luôn mở đợi phản hồi. Bằng cách tiếp tục gửi các packet SYN đến các cổng, hacker sẽ có thể vô hiệu hóa được server.
  • UDP: Các packet UDP thường được gửi đến máy chủ trong chế độ truyền tải thông thường. Trong một cuộc tấn công, các request sẽ tràn vào server, chứa các lưu lượng bất hợp pháp. Khi đó server sẽ không còn khả năng phản hồi các lưu lượng bình thường nữa.
  • Layer 7: Nhiều cuộc tấn công hiện đại sử dụng các lưu lượng flood HTTP GET và POST. Chúng cũng tập trung vào những lỗ hổng được tìm thấy trên nhiều server. Gồm cả server của Apache hay NGINX. Các cuộc tấn công này thường được đo theo đơn vị request/giây (RPS). Một ví dụ phổ biến của loại tấn công này chính là Slowloris.
  • Khuếch đại: Những kẻ tấn công DDoS, kể cả botnet, thường lợi dụng các dịch vụ hợp pháp và hành vi giao thức. Ví dụ, chúng thường lợi dụng lưu lượng ICMP và server NTP. Từ đó có thể dễ dàng khuếch đại các cuộc tấn công.

5. OT/IoT

  • OT (Operational Technology): Liên quan đến các item vật lý có lập trình và được liên kết với một địa chỉ IP. Đây có thể là các thiệt bị được dùng để điều khiển lưới điện, pipeline, xe hơi, drone hay robot.
  • IoT: Các thiết bị này chứa những hệ thống riêng lẻ, có thể giao tiếp với nhau hoặc được tích hợp với nhau. Các thiết bị này có thể là đồng hồ thông minh, máy in…

6. Memcache

Memcache là một dịch vụ thường dùng để phân phối bộ nhớ đệm trên nhiều hệ thống. Nó được dùng để tăng tốc website bằng cách lưu trữ thông tin trong RAM. Botnet thường khai thác các triển khai Memcache không được bảo mật đúng cách.

7. Lưu lượng bất thường

Các lưu lượng bất thường có thể liên quan đến việc sử dụng chiến lược khuếch đại hay phản xạ.

  • Phản xạ – Reflection: Gửi lưu lượng thông qua các thiết bị. Sau đó chuyển hướng sự chú ý khỏi các hệ thống của kẻ tấn công.
  • Khuếch đại – Amplification: Xảy ra khi botnet gửi lưu lượng qua các thiết bị. Chúng sẽ respond như bình thường trong khi đang nhân bản nhiều lưu lượng đến mục tiêu.

8. Monoculture

Như đã đề cập ở trên. Đây là một nhóm các hệ thống được cấu hình tương tự nhau. Và dĩ nhiên, chứa cùng một loại lỗ hổng. Các hacker có thể từ đó khai thác điểm yếu của các hệ thống này.

9. Multivector

Các cuộc tấn công hiện đại có thể kết hợp nhiều chiến lược khác nhau. Thường là Layer 7, Volumetric và Ransomware. Thực ra, ba loại hình tấn công này đã trở thành bộ ba trifecta trong thế giới DDoS.

Các công cụ tìm hiểu cách botnet hoạt động

Sau khi tìm hiểu DDoS là gì, ta đã biết botnet thường được sử dụng để tiến hành tấn công DDoS. Vì vậy, những người dùng CNTT cần trang bị đầy đủ những kiến thức cơ bản về DDoS. Có hai mô hình có thể giúp ta hiểu hơn về những cuộc tấn công này:

  • Lockheed Cyber Kill Chain: Mô hình này phác thảo 7 bước một hakcer có thể thực hiện để tiến hành một cuộc tấn công DDoS lâu dài. Mô hình này không kể đến việc sử dụng các botnet để tấn công hệ thống.
  • Mitre ATT&CK Model: Mô hình này sẽ tạo hồ sơ các cuộc tấn công ngoài đời thực. Sau đó, nó sẽ chứa các thông tin này vào một nhóm lớn, nhằm giúp người dùng phân tích và ngăn chặn các sự cố trong tương lai. Mô hình này đặc biệt hữu ích cho những cá nhân muốn tự chống tấn công DDoS.

Trong phần hai của bài viết, chúng tôi sẽ đi sâu hơn vào các cuộc tấn công DDoS. Ai là người tấn công? Làm sao các hacker có thể tránh bị phát hiện? Lý do để tấn công DDoS là gì? Liệu có phải chỉ vì mục đích kinh tế hay không?…cùng nhiều câu hỏi khác sẽ được trả lời trong phần 2 của bài viết này.

Theo CompTIA.