Tìm hiểu về tấn công từ chối dịch vụ DoS

19/10/2019

Khái nim

DoS là tấn công làm Server từ chối các dịch vụ hiện có ví dụ như không tiếp nhận thêm kết nối từ ngoài vào.

Mđích

  • Cố gắng chiếm băng thông mạng và làm hệ thống mạng bị ngập (flood), khi đó hệ thống mạng sẽ không có khả năng đáp ứng những dịch vụ khác cho người dùng bình thường.
  • Cố gắng làm ngắt kết nối giữa hai máy, và ngăn chặn quá trình truy cập  vào dịch vụ.
  • Cố gắng ngăn chặn những người dùng cụ thể vào một dịch vụ nào đó
  • Cố gắng ngăn chặn các dịch vụ không cho người khác có khả năng truy cập vào.
  • Phá hoại hoặc thay đổi các thông tin cấu hình.
  • Phá hoại tầng vật lý hoặc các thiết bị mạng như nguồn điện, điều hoà…

Các phương thc tn công

1. SYN attack

Trước hết, bạn hãy xem lại tiến trình bắt tay 3 bước của một kết nối TCP/IP. Một client muốn kết nối đến một host khác trên mạng.

  • Bước 1: client gởi một SYN packet với số Sequence Number ban đầu(ISN) đến host cần kết nối:
    client—–SYN packet—– > host
  • Bước 2: host sẽ phản hồi lại client bằng một SYN/ACK packet, ACK của packet này có giá trị đúng bằng ISN ban đầu do client gởi đã gởi đến host ở bước 1 và chờ nhận một ACK packet từ client:
    host—–SYN/ACK packet—– > client
  • Bước 3: client phản hồi lại host bằng một ACK packet:
    client—–ACK packet—– > host

Khi host nhận được ACK packet này thì kết nối được thiết lập, client vào host có thể trao đổi các dữ liệu cho nhau.

Trong SYN Attack, hacker sẽ gửi đến hệ thống đích một loạt SYN packets với địa chỉ IP nguồn không có thực. Hệ thống đích khi nhận được các bad SYN packets này sẽ gởi trở lại SYN/ACK packet đến các địa chỉ không có thực này vào chờ nhận được ACK messages từ các địa chỉ IP đó. Vì đây là các địa chỉ IP không có thực, hệ thống đích sẽ chờ đợi vô ích và còn nối đuôi các “request” chờ đợi này nào hàng đợi, gây lãng phí một lượng đáng kể bộ nhớ trên máy chủ mà đúng ra là phải dùng vào việc khác thay cho phải chờ đợi ACK messages.

Cách giảm thiểu: Thay đổi cấu hình iptable firewall

  • Chỉnh sửa file: /etc/sysctl.conf
    nano /etc/sysctl.conf
#securing tcp connectionsnet.ipv4.tcp_syncookies=1#reducing timed out to 30net.netfilter.nf_conntrack_tcp_timeout_syn_recv=30
  • Chỉnh sửa iptables firewall
# create new chainsiptables -N syn-flood# limits incoming packetsiptables -A syn-flood -m limit --limit 10/second --limit-burst 50 -j RETURN# log attacksiptables -A syn-flood -j LOG --log-prefix "SYN flood: "# silently drop the restiptables -A syn-flood -j DROP
  • Lưu lại cấu hình:
    service iptables save
  • Khởi động lại iptables firewall:
    service iptables restart

Ngoài ra còn một số cách: Tăng kích thước hàng đợi, giảm khoảng thời gian thiết lập kết nối.
2. Ping of Death

Kiểu tấn công này dùng giao thức ICMP. Có 2 phần quan trọng trong ICMP packet là ICMP ECHO_REQUEST và ICMP ECHO_RESPONSE datagrams và thông thường dùng PING command đế thi hành các hoạt động của ICMP. Khi 1 máy tính gửi ICMP ECHO_REQUEST đến 1 máy nào đó, nếu máy đó đang hoạt động thì nó sẽ gữi trả lại ICMP ECHO_RESPONSE.
Hacker dùng PING program để tạo nên kích thước lớn cho gói tin ICMP (gói gọn trong 1 IP packet), có nhiều cách để gửi ICMP datagrams mà packet mà chỉ bao gồm 8 bits ICMP header infomation, Hacker thuong dùng PING program để gừi những packet lớn hơn 65536 bytes ( vượt qua sự cho phép của TCP/IP)

Khi tấn công bằng Ping of Death một gói tin echo được gửi đi có kích thước lớn hơn kích thước cho phép là 65,536 bytes.Gói tin sẽ bị chia nhỏ ra thành các phần khi máy đích lắp ráp lại thì do gói tin quá lớn với buffer bên nhận nên hệ thống không thể quản lý nổi gây ra bị reboot hoặc bị treo.

Dưới đây là thông tin của TCP dump khi bị tấn công:

8:40:14..690000 192.168.123.101 > 192.168.123.100: icmp echo request (frag 11267:1480@0+) 8:40:14.690000 192.168.123.101 > 192.168.123.100: (frag 11267:1480@1480+) 8:40:14.690000 192.168.123.101 > 192.168.123.100 (frag 11267:1480@5920+) ............................................. 8:40:14. 74000 192.168.123.101 > 192.168.123.100 (frag 11267:1480@65527)

Các bạn để ý sẽ thấy máy có IP 192.168.123.101 gửi 1 ping packet có size là 65527 đến địa chỉ IP192.168.123.100.

Thông thường các hề điều hành đều cài đặt PING program, trong MS-DOS thì có DOS command, MS-NT có Command Promt và Unix có Terminal vvv..

Windows option -l  ping -l 65527 địa chỉ IP của máy nạn nhân
Unix option -s ping -s 65527 địa chỉ IP của máy nạn nhân.

Một số công cụ thực hiện tấn công : Jolt, Sping, ICMP Bug, IceNewk

Cách phòng chống:

  • Cập nhật những bản patch khi những công ty sản xuất về hệ điều hành đưa ra nhắc nhở cho các lỗ hổng mới
  • Cài đặt trên router hoặc firewall block để ngặn chặn một số gói tin có kích thước lớn quá mức

3. LAND

Tấn công LAND cũng gần giống như tấn công SYN, nhưng thay vì dùng các địa chỉ IP không có thực, hacker sẽ dùng chính địa chỉ IP của hệ thống nạn nhân. Điều này sẽ tạo nên một vòng lặp vô tận giữa hệ thống nạn nhân với chính hệ thống nạn nhân đó, giữa một bên chờ nhận ACK messages còn một bên thì chẳng bao giờ gửi ACK messages. Tuy nhiên, hầu hết các hệ thống đều dùng filter hoặc firewall để tránh khỏi kiểu tấn công này! Đây là một dạng tấn công cũ trên các hệ điều hành Windows XP SP2 và Windows Server2003 (sử dụng chương trình Hping)
4. Winnuke

Kiểu tấn công này chỉ có thể áp dụng cho các máy tính đang chạy Windows9x . Hacker sẽ gởi các packet với dữ liệu “Out of Band” đến cổng 139 của máy tính đích. Cổng 139 chính là cổng NetBIOS, cổng này chỉ chấp nhận các packet có flag OOB được bật. Khi máy tính đích nhận được packet này, một màn hình xanh báo lỗi sẽ đến với nạn nhân do chương trình của Windows đã nhận được các packet này, tuy nhiên nó lại không biết được cần phải đối xử với các dữ liệu Out Of Band như thế nào nữa dẫn đến hệ thống sẽ bị crash.
5. Smurf

Điều khiển các agent hay client tự gửi message đến một địa chỉ IP broadcast làm cho tất cả các máy trong subnet này gửi message đến hệ thống dịch vụ của mục tiêu làm gia tăng traffic không cần thiết và làm suy giảm băng thông mục tiêu

Hai nhân tố chính trong Smuft Attack là là các ICMP echo request packets và chuyển trực tiếp các packets đến các địa chỉ broadcast.

  •  Giao thức ICMP thường dùng để xác định một máy tính trên mạng Internet có còn hoạt động(alive) hay không. Để xác định một máy có alive không, bạn cần gởi một ICMP echo request đến máy đó. Khi máy nhận được packet này, nó sẽ gởi trả lại bạn một ICMP echo reply packet. Trong trường hợp bạn không nhận được ICMP echo reply packet, điều này có nghĩa là máy đó không còn hoạt động(not alive). Đây cũng chính là cách hoạt động của các chương trình ping.
  • Mỗi mạng máy tính đều có địa chỉ địa chỉ broadcast và địa chỉ mạng. Địa chỉ broadcast có các bit host đều bằng 0 và địa chỉ broadcast có các bit host đều bằng 1. Ví dụ địa chỉ IP lớp B 140.179.220.200 sẽ có địa chỉ mạng là 140.179.0.0 và địa chỉ broadcast mặc định là 140.179.0.0. Khi một packet được gởi đến địa chỉ broadcast, lập tức packet này sẽ được chuyển đến tất cả các máy trong mạng.

Trong Smurf Attack, cần có ba thành phần: hacker (người ra lệnh tấn công), mạng khuếch đại (sẽ nghe lệnh của hacker) và nạn nhân. Hacker sẽ gởi các ICMP echo request packets đến địa chỉ broadcast của mạng khuếch đại. Điều đặc biệt là các ICMP echo request packet này có địa chỉ IP nguồn chính là địa chỉ IP của nạn nhân. Khi các packet đó đến được địa chỉ broadcast của mạng khuếch đại, lập tức tất cả các máy tính trong mạng khuếch đại sẽ nhận được các packet này.

Các máy này tưởng rằng máy tính nạn nhân đã gởi ICMP echo request packets đến (do hacker đã làm giả địa chỉ IP nguồn), lập tức chúng sẽ đồng loạt gởi trả lại hệ thống nạn nhân các ICMP reply echo request packet. Hệ thống máy nạn nhân sẽ không chịu nổi một khối lượng khổng lồ packet và nhanh chóng bị ngừng hoạt động, crash hoặc reboot. Như vậy, bạn có thể thấy rằng hacker chỉ cần gởi một lượng nhỏ các ICMP echo request packets đi, và hệ thống mạng khuếch đại sẽ khuếch đại lượng ICMP echo request packet này lên gấp bội.
Tỉ lệ khuếch đại phụ thuộc vào số mạng tính có trong mạng khuếch đại. Nhiệm vụ của các hacker là cố chiếm được càng nhiều hệ thống mạng hoặc routers cho phép chuyển trực tiếp các packets đến địa chỉ broadcast và không lọc địa chỉ nguồn của các outgoing packets. Có được các hệ thống này, hacker sẽ dễ dàng tiến hành Smurf Attack trên các hệ thống cần tấn công.

Cách phòng chống:

Đối với cá nhân hay công ty phải biết config máy tính của hệ thống để không biến thành magnj khuếch đại.Khi bị tấn công thì các công ty hoặc cá nhân cần phải phối hợp với ISP nhằm giới hạn lưu lượng của ICMP

  • Đối với các bộ định tuyến:
    • Cisco: vô hiệu hóa bằng lệnh no ip directed-broadcast
    • Đối với thiết bị khác bạn nên tham khảo tài liệu
  • Solaris: bổ sung thêm dòng sau vào:/etc/rc2.d/S69inet
ndd -set /dev/ip

ip_respond_to_echo_broadcast 0

  • Linux :Áp dụng bức tường lửa ở cấp độ nhận thông qua ipfw.
ipfwadm -I -a deny -P icmp -D10.10.10.0 -S 0/0 0 8 ipfwadm -I -a deny -P icmp -D 10.10.10.255-S 0/0 0 8

6. Teardrop

Tất cả các dữ liệu chuyển đi trên mạng từ hệ thống nguồn đến hệ thống đích đều phải trải qua 2 quá trình sau: dữ liệu sẽ được chia ra thành các mảnh nhỏ ở hệ thống nguồn, mỗi mảnh đều phải có một giá trị offset nhất định để xác định vị trí của mảnh đó trong gói dữ liệu được chuyển đi. Khi các mảnh này đến hệ thống đích, hệ thống đích sẽ dựa vào giá trị offset để sắp xếp các mảnh lại với nhau theo thứ tự đúng như ban đầu. Ví dụ, có một dữ liệu gồm 4000 bytes cần được chuyển đi, giả sử rằng 4000 bytes này được chia thành 3 gói nhỏ(packet):

  • packet thứ nhất sẽ mang các 1bytes dữ liệu từ 1 đến 1500
  • packet thứ hai sẽ mang các bytes dữ liệu từ 1501 đến 3000
  • packet thứ ba sẽ mang các bytes dữ liệu còn lại, từ 3001 đến 4000

Khi các packets này đến đích, hệ thống đích sẽ dựa vào offset của các gói packets để sắp xếp lại cho đúng với thứ tự ban đầu: packet thứ nhất – > packet thứ hai – > packet thứ ba
Trong tấn công Teardrop, một loạt gói packets với giá trị offset chồng chéo lên nhau được gởi đến hệ thống đích. Hệ thống đích sẽ không thể nào sắp xếp lại các packets này, nó không điều khiển được và có thể bị crash, reboot hoặc ngừng hoạt động nếu số lượng packets với giá trị offset chồng chéo lên nhau quá lớn!
Hãy xem lại ví dụ trên, đúng ra các packet được gởi đến hệ thống đích có dạng như sau: (1- > 1500 bytes đầu tiên) (1501- > 3000 bytes tiếp theo) (3001- > 4000 bytes sau cùng), trong tấn công Teardrop sẽ có dạng khác: (1- > 1500 bytes) (1501- > 3000 bytes) (1001- > 4000 bytes). Gói packet thứ ba có lượng dữ liệu sai!
7. Slowloris

Là kĩ thuật tương tự như SYN flood (tạo nửa kết nối để làm cạn kiệt tài nguyên máy chủ) nhưng diễn ra ở lớp HTTP (lớp ứng dụng). Để tấn công, tin tặc gửi yêu cầu HTTP đến máy chủ, nhưng không gửi toàn bộ yêu cầu, mà chỉ gửi một phần (và bổ sung nhỏ giọt, để khỏi bị ngắt kết nối). Với hàng trăm kết nối như vậy, tin tặc chỉ tốn rất ít tài nguyên, nhưng đủ để làm treo máy chủ, không thể tiếp nhận các kết nối từ người dùng hợp lệ.

Cách thức tấn công

  • Tạo hoặc tải tệp tin perl: slowloris.pl
  • Cấp quyền thực thi cho tệp tin này: perl chmod +x slowloris.pl
  • Thực thi tệp tin perl : ./slowloris –dns địa chỉ trang web muốn tấn công –port 80 –timeout 1 –num 1000 cache

Cách phòng chống

  • Không dùng Apache nữa! Nếu dùng Apache sau proxy nghịch, thì chỉ cho nghe trên cổng 127.0.0.1 hoặc các IP cục bộ.
  • Giảm Timeout cho Apache.
  • Giới hạn số kết nối đến Apache cho mỗi IP. Có thể dùng mod_qos chẳng hạn để làm việc này.
  • Giải quyết ở lớp dưới: cấu hình firewall để giới hạn số kết nối đến cổng 80 trên mỗi IP.

 Theo SecurityDaily

 

Tin liên quan

23/01/2023

Xu hướng Cloud 2023 hàng đầu các doanh nghiệp cần biết

Nhiều doanh nghiệp đang tích cực chạy đua với cuộc đua “số hóa”, để có được khả năng cạnh tranh cao nhất trên thị trường. Vây nên, xu hướng Cloud 2023 là những điều đang được các doanh nghiệp rất quan tâm hiện nay. Trong bài viết này, Viettel IDC sẽ đề cập đến bạn những xu hướng về điện toán đám mây hàng đầu trong năm 2023 chúng ta cần biết nhé, bên cạnh các công nghệ thực tế ảo VR, metaverse.

19/01/2023

Dự báo TOP các xu hướng công nghệ hàng đầu trong năm 2023

​Các xu hướng công nghệ 2023 nổi bật được các chuyên gia dự đoán sẽ phát triển mạnh mẽ trong những năm tới là trí tuệ nhân tạo AI, công nghệ chuỗi khối Blockchain, vũ trụ ảo Metaverse. Việc bắt kịp và thích ứng với các công nghệ này sẽ giúp các doanh nghiệp có thể nâng cao khả năng cạnh tranh của mình trong thị trường khốc liệt sắp tới. Dưới đây, hãy cùng Viettel IDC điểm qua những xu hướng công nghệ 2023 nổi bật nhé!

13/01/2023

2022 - Thời kỳ bùng nổ của Cloud tại Việt Nam

​Công nghệ điện toán đám mây - Computing Cloud năm 2022 đã phát triển và bùng nổ cực kỳ mạnh mẽ, từ đó ảnh hưởng tới nhiều doanh nghiệp lớn và nhỏ. Dưới đây, chúng ta hãy cùng xem lại các xu hướng Cloud năm 2022 phổ biến nhất với Viettel IDC nhé!

11/10/2022

Những thông tin nhất định phải biết về Ethereum mới phiên bản 2.0

Ethereum 2.0, còn được biết đến là Eth2 hay “Serenity”, là một bản nâng cấp dành cho Ethereum Node, hứa hẹn sẽ cải thiện đáng kể chức năng và trải nghiệm của toàn bộ mạng. Tuy nhiên, đó chỉ là phần nổi của tảng băng chìm. Với việc Ethereum là một trong những loại tiền điện tử phổ biến nhất trên hành tinh, việc tìm hiểu Ethereum 2.0 thực sự là gì và nó sẽ ảnh hưởng như thế nào đến toàn bộ lĩnh vực tiền mã hóa vô cùng quan trọng. Ở bài viết này, Viettel IDC sẽ cung cấp cho bạn những thông tin nhất định phải biết về Ethereum phiên bản 2.0 nhé!

13/10/2022

Công nghệ chuỗi khối Blockchain là gì? Cơ chế hoạt động của chuỗi khối Blockchain?

Công nghệ Blockchain (chuỗi khối) đang dần trở thành xu hướng mới trên thị trường đầu tư và công nghệ toàn cầu. Công nghệ này có tiềm năng ứng dụng to lớn trong các ngành từ dịch vụ tài chính, sản xuất và khu vực công cho đến chuỗi cung ứng, giáo dục và năng lượng. Việt Nam cũng không nằm ngoài xu thế này. Chính vì vậy, việc tìm hiểu về Blockchain ngay từ bây giờ là rất cần thiết đối với các bạn trẻ.

14/10/2022

Tìm hiểu kiến thức về Public Chain và Private Chain

Nền tảng blockchain đã phát triển mạnh mẽ và được ứng dụng rộng rãi trong nhiều lĩnh vực. Các phân loại của blockchain như Private, Public mang những sự khác biệt dẫn đến trải nghiệm người dùng khác nhau và đa dạng hóa sự lựa chọn loại blockchain phù hợp. Hãy cùng CryptoLeakvn tìm hiểu sự khác nhau giữa Public và Private blockchain, cũng như tìm ra lựa chọn tối ưu nhất trong các loại blockchain này thông qua bài viết hôm nay.

05/10/2022

Công nghệ Blockchain là gì? Lợi thế vượt trội khi doanh nghiệp ứng dụng Blockchain

Trong thời gian gần đây, công nghệ Blockchain đã và đang dần trở thành xu hướng trên toàn cầu, trong đó có cả Việt Nam. Có thể nói, ngành công nghệ này đã mang lại nhiều lợi ích to lớn cho doanh nghiệp, từ lĩnh vực tài chính, sản xuất cho đến cả giáo dục hoặc năng lượng.

12/10/2022

​Tất tần tật kiến thức quan trọng về hạ tầng Blockchain

Mọi hệ thống phức tạp đều yêu cầu cơ sở hạ tầng thích hợp, hoặc tài nguyên và một khuôn khổ cơ bản để hoạt động. Cũng giống như lưới điện, các trạm phát điện và đường ống bao gồm cơ sở hạ tầng năng lượng cần thiết để cung cấp điện cho một quốc gia. Do đó, các Node, phần mềm và hệ thống dựa trên đám mây hoặc phần cứng được yêu cầu để chạy các mạng Proof of Stake (PoS).

09/10/2022

Tất tần tật từ A - Z về dịch vụ Blockchain

Hiện nay, dịch vụ Blockchain đã phát triển mạnh mẽ và mở ra một xu hướng mới cho nhiều lĩnh vực khác nhau như trong tài chính, điện tử viễn thông, kế toán, logistics,... Vậy, cụ thể thì Blockchain là gì? Chúng có thể mang lại những lợi ích gì cho chúng ta? Hãy cùng Viettel IDC tìm hiểu câu trả lời cho những vấn đề này nhé! Bài viết dưới đây sẽ giải đáp chi tiết giúp bạn.

08/10/2022

Node là gì? Nên thuê Ethereum Node hay Bitcoin Node?

Bạn mới tìm hiểu về Node Blockchain, và đang phân vân không biết nên thuê Ethereum Node hay Bitcoin Note? Cách hoạt động của Node là gì? Trong bài viết này, Viettel IDC sẽ giải đáp các câu hỏi này cho bạn đọc, cùng nhau theo dõi bài viết bên dưới nhé!

// doi link