dacn final - ngo thanh long d17tmtb

105
LỜI CẢM ƠN Trước tiên em xin gửi lời cảm ơn chân thành và sâu sắc nhất tới các thầy cô giáo trong trường Đại học Duy Tân nói chung và các thầy cô giáo trong khoa Công nghệ thông tin, bộ môn Kỹ thuật mạng nói riêng đã tận tình giảng dạy, truyền đạt cho em những kiến thức, kinh nghiệm quý báu trong suốt thời gian qua. Đặc biệt, em xin gửi lời cảm ơn đến thầy giáo Võ Nhân Văn, thầy đã tận tình giúp đỡ, trực tiếp chỉ bảo, hướng dẫn em trong suốt quá trình làm đồ án tốt nghiệp này. Trong thời gian làm việc với thầy, em không ngừng tiếp thu thêm nhiều kiến thức bổ ích mà còn học tập được tinh thần làm việc, thái độ nghiên cứu nghiêm túc, hiệu quả, đây là những điều rất cần thiết cho em trong quá trình học tập và công tác sau này. Sau cùng xin gửi lời cảm ơn chân thành tới gia đình, bạn bè đã động viên, đống góp ý kiến và giúp đỡ trong quá trình học tập, nghiên cứu và hoàn thành đồán tốt nghiệp này. Mặc dù đã rất cố gắng, nhưng trong một khoảng thời gian cho phép, cũng như hạn chế về mặt kiến thức của bản thân, cuốn đồ án này không thể tránh khỏi nhiều thiếu sót. Chính vì vậy, em rất mong nhận được sự góp ý của các thầy giáo, cô giáo cũng như của bạn bè và những người có quan tâm đến lĩnh vực mà cuốn đồ án này đã được trình bày.

Upload: son-nguyen

Post on 29-Dec-2015

27 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: DACN Final - Ngo Thanh Long D17TMTB

LỜI CẢM ƠN

Trước tiên em xin gửi lời cảm ơn chân thành và sâu sắc nhất tới các thầy cô giáo

trong trường Đại học Duy Tân nói chung và các thầy cô giáo trong khoa Công nghệ thông

tin, bộ môn Kỹ thuật mạng nói riêng đã tận tình giảng dạy, truyền đạt cho em những kiến

thức, kinh nghiệm quý báu trong suốt thời gian qua.

Đặc biệt, em xin gửi lời cảm ơn đến thầy giáo Võ Nhân Văn, thầy đã tận tình giúp

đỡ, trực tiếp chỉ bảo, hướng dẫn em trong suốt quá trình làm đồ án tốt nghiệp này. Trong

thời gian làm việc với thầy, em không ngừng tiếp thu thêm nhiều kiến thức bổ ích mà còn

học tập được tinh thần làm việc, thái độ nghiên cứu nghiêm túc, hiệu quả, đây là những

điều rất cần thiết cho em trong quá trình học tập và công tác sau này.

Sau cùng xin gửi lời cảm ơn chân thành tới gia đình, bạn bè đã động viên, đống

góp ý kiến và giúp đỡ trong quá trình học tập, nghiên cứu và hoàn thành đồán tốt nghiệp

này.

Mặc dù đã rất cố gắng, nhưng trong một khoảng thời gian cho phép, cũng như hạn

chế về mặt kiến thức của bản thân, cuốn đồ án này không thể tránh khỏi nhiều thiếu sót.

Chính vì vậy, em rất mong nhận được sự góp ý của các thầy giáo, cô giáo cũng như của

bạn bè và những người có quan tâm đến lĩnh vực mà cuốn đồ án này đã được trình bày.

Đà Nẵng, ngày 20 tháng 10 năm 2013

NGÔ THÀNH LONG

Page 2: DACN Final - Ngo Thanh Long D17TMTB

THUẬT NGỮ, TỪ VIẾT TẮT:Scanning, là tiến trình “quét”, trước đây được attacker thực hiện bằng tay,

sử dụng những công cụ “thô”. Qua thời gian, những công cụ scanning được cải thiện và những chức năng của nó đã tích hợp và tự động. Như chúng ta từng nghe nói đến về worm, một trong những hình thức tự động scanning.

Blended threat đầu tiên cũng là những chương trình đơn thuần hoặc một nhóm các chương trình cung cấp nhiều dịch vụ, nó là những tập lệnh và điều khiển sử dụng một IRC bot và scanning lỗ hổng.

Flooding thường được dùng trong cuộc tấn công từ chối dịch vụ (DoS). Nó tạo ra một số lượng rất lớn các gói tin vào hệ thống mục tiêu, khiến hệ thống bị sụp đỗ.

ODBC cung cấp một chuẩn bằng phương thức client kết nối vào một CSDL. Để biết nhiều thông tin về ODBC, vào http://odb c .o r g .

Cleartext là dạng thông điệp chứa những ký tự mà khi nhìn vào nó, ta có thể hiểu đầy đủ ý nghĩa của những chuỗi ký tự này.

Attacker: người tấn công vào hệ thống máy tính, đồng nghĩa với intruder, craker, hacker.

Master: cũng thường gọi là handler,client là hệ thống bị cài phần mền xâm nhập,chịu sự quản lý của attacker

Daemon: hay còn gọi là agent, bcast (broadcast) program, hay zombie. Là hệ thống bị cài đặt phần mềm giúp attacker tấn công. Nó chịu sự quản lý của master.

Victim: nạn nhân bị tấn công.Signature: dấu hiệu. Mỗi một cuộc tấn công hay xâm nhập vào tổ chức mạng đều

mang một dấu hiệu đặc trưng. Nhờ đó, người ta mới rút ra được những luật định và xây dựng thành những tập luật riêng.

Rule hay Ruleset: tập luật luôn được sử dụng trong các hệ thống phát hiện xâm nhập (IDS) hay các hệ thống ngăn chặn xâm nhập (IPS, Firewall) nhằm phát hiện và ngăn chặn các hành động hay dấu hiệu xâm phạm vào hệ thống.

False Posities: khi nhận ra những định dạng xuất loại này, tức là hệ thống IDS đã sinh ra những cảnh báo mà thực chất lưu lượng nó “bắt được” là những lưu lượng “bình thường” (không phải lưu lượng nguy hiểm).

Tcpdump là một chương trình, tiện ích tích hợp sẵn trên các hệ thống Linux, Unix. Sử dụng tcpdump cũng giống như các chương trình bắt gói tin.

C ác t ừ ng ữ vi ế t t ắ t: - IDS - Intrusion Detection System: Hệ thống phát hiện xâm nhập.- IPS – Intrusion Prevention System: Hệ thống ngăn chặn xâm nhập.- Snort: là một chương trình IDS.- Firewall: tường lửa.- DoS - Denial of Service. Từ chối dịch vụ.

Page 3: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

- DDoS - Distribute Denial of Service. Từ chối dịch vụ phân tán.

- IRC – Internet Relay Chat.

- ISP - Internet Service Provider. Nhà cung cấp dịch vụ internet.

- DNS - Domain Name Service. Dịch vụ tên miền.

- TFN - Tribe Flood Network. Một công cụ tấn công DDoS.

- TFN2K - Tribe Flood Network 2000.

- FTP- File Transfer Protocol. Giao thức truyền tập tin.

- SNMP - Simple Network Managerment Protocol.

- TCP – Transfer Control Protocol: giao thức điều khiển truyền vận.

- UDP – User Datagram Protocol: giao thức dữ liệu người dùng.

- ICMP – Internet Control Message Protocol: giao thức thông điệp điều khiển internet.

- IP – Internet Protocol: giao thức internet.

- TTL – Time To Live.

- ToS – Time of Service.

- ACID - Analysis Console for Intrusion Databases.

- BASE – Basic Analysis and Security Engine.

- HTTP – HyperText Trasfer Protocol.

- HTML – HyperText Mark Language.

SVTH: Ngô Thành Long Page 3

Page 4: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

PHẦN 1. MỞ ĐẦU

1.1. LÝ DO

Việc tin tặc tấn công các trang web đã xẩy ra từ nhiều năm nay. Trong đó có các

thủ thuật như: lợi dụng các lỗ thủng của software quản lý server hay database,… để

phá từ bên trong máy chủ, gửi spam làm tràn ngập hộp thư điện tử (e-mail), dùng

DoS hay DDoS,… để tấn công từ bên ngoài, ăn cắp mật khẩu (bằng cách cài một

phần mềm gián điệp vào máy PC cá nhân), tên miền, chiếm đoạt hộp thư,…

Website có lượt truy cập cao là mong muốn của hầu hết những khách hàng thiết kế

website. Tuy nhiên, có đôi lúc con số thống kê số lượng truy cập không chính xác

bởi sự tấn công của những kẻ phá hoại. Sự tấn công này làm giảm khả năng đáp

ứng yêu cầu từ người dùng và làm ngập lụt hệ thống, khiến website không thể trả

lại thông tin theo truy vấn của khách hàng và rõ ràng đây là việc mà không nhà

quản trị website nào mong muốn.

Và một trong những cách mà tin tặc dùng để tấn công các trang web là Dos hay

DDos. Trong bài viết này tôi sẻ trình bày một cách tổng quát nhất có thể, về cách

thức tấn công các trang web của hình thức này. Từ đó đưa ra những giải pháp tốt

nhất để phòng chống cách thức tấn công này.

1.2. MỤC TIÊU VÀ NHIỆM VỤ

- Hiểu rõ đặc điểm và cách thức tấn công của DoS & DDoS

- Nắm vững các lỗ hổng mà DoS & DDoS dựa vào để tấn công

- Cách thức triển khai 1 mạng BOTNET

- Cách thức phòng chống thông qua IDS

1.3. ĐỐI TƯỢNG NGHIÊN CỨU

Nghiên cứu lý thuyết về DoS & DDoS, tìm hiểu cách thức phòng chống của hệ

thống IDS, từ đó đưa ra các giải pháp phòng thủ trước các cuộc tấn công của DoS

& DDoS

1.4. PHẠM VI NGHIÊN CỨU

- Tìm hiểu về đặc điểm và cách thức tấn công của DoS & DDoS

- Tìm hiểu cách thức xây dựng và hoạt động của 1 mạng BOTNET

- Tìm hiểu các thành phần chức năng của IDS và đưa ra giải pháp phòng thủ

SVTH: Ngô Thành Long Page 4

Page 5: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

1.5. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN

Hiện nay, bất kỳ một nhà quảng trị mạng nào cũng phải luôn đề cao cảnh giác với

các loại hình tấn công các trang web do mình quảng trị. Mà loại hình tấn công nguy

hiểm nhất là dùng Dos (tấn công từ chối dịch vụ) hay Ddos (phân bố tấn công từ

chối dịch vụ).

Để thuận lợi cho công việc sau này, tôi muốn đi sâu tìm hiểu về cách thức tấn công

của loại này từ đó có những giải pháp khả dỉ nhất để phòng chống.

Thông qua bài viết này, tôi cũng muốn những ai chưa biết nhiều về sự nguy hiểm

cũng như nguy cơ tiềm ẩn của hệ thống có thể bị tấn công Dos hay Ddos sẽ có sự

chuẩn bị tốt nhất cho hệ thống, giảm tối thiểu các ảnh hưởng của các cuộc tấn công.

SVTH: Ngô Thành Long Page 5

Page 6: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

PHẦN 2.NỘI DUNG CHI TIẾT

CHƯƠNG 1: TỔNG QUAN AN TOÀN MẠNG

1.1. MỞ ĐẦU

Trong bối cảnh tiến trình hội nhập, vấn đề an ninh mạng và bảo mật dữ liệu

đang trở nên rất được quan tâm. Khi cơ sở hạ tầng và các công nghê mangj đã đáp

ứng các yê cầu về băng thong, chất lượng dịch vụ, đồng thời thực trạng tấn công

trên mạng đang ngày một gia tăng thì vấn đề bảo mật càng được chú trọng hơn.

Không chỉ các nhà cung cấp dịch vụ Internet, các cơ quan chính phủ mà các doanh

nghiệp, tổ chức cũng có ý thức hơn về an toàn thong tin.

1.2. NGUY CƠ ẢNH HƯỞNG ĐẾN AN TOÀN MẠNG:

1.2.1. Lổ hổng:

Các lỗ hổng bảo mật trên một hệ thống là các điểm yếu có thể tạo ra sự

ngưng trệ của dịch vụ, thêm quyền đối với người sử dụng hoặc cho phép các truy

nhập không hợp pháp vào hệ thống. Các lỗ hổng cũng có thể nằm ngay các dịch vụ

cung cấp như sendmail, web, ftp ... Ngoài ra các lỗ hổng còn tồn tại ngay chính tại

hệ điều hành như trong Windows NT, Windows 95, UNIX; hoặc trong các ứng

dụng mà người sử dụng thương xuyên sử dụng như Word processing, Các hệ

databases... 

Phân loại lỗ hổng bảo mật : 

Có nhiều tổ chức khác nhau tiến hành phân loại các dạng lỗ hổng đặc biêt.

Theo cách phân loại của Bộ quốc phòng Mỹ, các loại lỗ hổng bảo mật trên một hệ

thống được chia như sau: 

- Lỗ hổng loại C: các lỗ hổng loại này cho phép thực hiện các phương thức

tấn công theo DoS (Dinal of Services - Từ chối dịch vụ). Mức độ nguy hiểm thấp,

chỉ ảnh hưởng tới chất lượng dịch vụ, có thể làm ngưng trệ, gián đoạn hệ thống;

không làm phá hỏng dữ liệu hoặc đạt được quyền truy nhập bất hợp pháp 

- Lổ hổng loại B: Các lỗ hổng cho phép người sử dụng có thêm các quyền

trên hệ thống mà không cần thực hiện kiểm tra tính hợp lệ. Mức độ nguy hiểm

SVTH: Ngô Thành Long Page 6

Page 7: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

trung bình; Những lỗ hổng này thường có trong các ứng dụng trên hệ thống; có thể

dẫn đến mất hoặc lộ thông tin yêu cầu bảo mật. 

- Lỗ hổng loại A: Các lỗ hổng này cho phép người sử dụng ở ngoài có thể

truy nhập vào hệ thống bất hợp pháp. Lỗ hổng rất nguy hiểm, có thể làm phá hủy

toàn bộ hệ thống. 

1.2.2. Các kỹ thuật tấn công trên mạng:

Tấn công trực tiếp

Những cuộc tấn công trực tiếp thong thường được sử dụng trong giai đoạn

đầu để chếm được quyền truy nhập hệ thống mạng bên trong.

Nghe trộm trên mạng

Thông tin gởi đi trên mạng thường được luân chuyển từ máy tính này qua

các máy tính khác, điều đó khiến cho thong tin của ta có thể bị kẻ khác nghe trộm.

Việc nghe trộm thường được các Hacker tiến hành khi đã chiếm được quyền truy

nhập vào hệ thống hoặc kiểm soát đường truyền.

Giả mạo địa chỉ

Giả mạo địa chỉ có thể được thực hiện thông qua sử dụng khả năng dẫn

đường trực tiếp. Với cách tấn công này kẻ tấn công gửi các gói tin tới mạng khác

với một địa chỉ giả mạo, đồng thời chỉ rõ đường dẫn mà các gói tin phải đi. Thí dụ

người nào đó có thể giả mạo địa chỉ của bạn để gửi đi những thông tin có thể làm

ảnh hưởng xấu tới bạn.

Vô hiệu hoá các chức năng của hệ thống

Đây là kiểu tấn công làm tê liệt hệ thống, làm mất khả năng cung cấp dịch

vụ (Denial of Service - DoS) không cho hệ thống thực hiện được các chức năng mà

nó được thiết kế. Kiểu tấn công này rất khó ngăn chặn bởi chính những phương tiện

dùng để tổ chức tấn công lại chính là những phương tiện dùng để làm việc và truy

cập thông tin trên mạng. Một thí dụ về trường hợp có thể xảy ra là một người trên

mạng sử dụng chương trình đẩy ra những gói tin yêu cầu về một trạm nào đó. Khi

nhận được gói tin, trạm luôn luôn phải xử lý và tiếp tục thu các gói tin đến sau cho

đến khi bộ đệm đầy, dẫn tới tình trạng những nhu cầu cung cấp dịch vụ của các

máy khác đến trạm không được phục vụ.

SVTH: Ngô Thành Long Page 7

Page 8: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Điều đáng sợ là các kiểu tấn công DoS chỉ cần sử dụng những tài nguyên

giới hạn mà vẫn có thể làm ngưng trệ dịch vụ của các site lớn và phức tạp. Do vậy

loại hình tấn công này còn được gọi là kiểu tấn công không cân xứng (asymmetric

attack). Chẳng hạn như kẻ tấn công chỉ cần một máy tính PC thông thường với một

modem tốc độ chậm vẫn có thể tấn công làm ngưng trệ các máy tính mạnh hay

những mạng có cấu hình phức tạp.

Tấn công vào các yếu tố con người

Đây là một hình thức tấn công nguy hiểm nhất nó có thể dẫn tới những tổn

thất hết sức khó lường. Kẻ tấn công có thể liên lạc với người quản trị hệ thống thay

đổi một số thông tin nhằm tạo điều kiện cho các phương thức tấn công khác.

Ngoài ra, điểm mấu chốt của vấn đề an toàn, an ninh trên mạng chính là người sử

dụng. Họ là điểm yếu nhất trong toàn bộ hệ thống do kỹ năng, trình độ sử dụng

máy tính, bảo mật dữ liệu không cao. Chính họ đã tạo điều kiện cho những kẻ phá

hoại xâm nhập được vào hệ thống thông qua nhiều hình thức khác nhau như qua

email hoặc sử dụng những chương trình không rõ nguồn gốc, thiếu độ an toàn.

Với kiểu tấn công như vậy sẽ không có bất cứ một thiết bị nào có thể ngăn

chặn một cách hữu hiệu chỉ có phương pháp duy nhất là hướng dẫn người sử dụng

mạng về những yêu cầu bảo mật để nâng cao cảnh giác. Nói chung yếu tố con

người là một đIểm yếu trong bất kỳ một hệ thống bảo vệ nào và chỉ có sự hướng

dẫn của người quản trị mạng cùng với tinh thần hợp tác từ phía người sử dụng mới

có thể nâng cao độ an toàn của hệ thống bảo vệ.

1.2.3. Các hình thức tấn công trên mạng:

Có thể phân thành các dạng như sau:

1.2.3.1. Reconnaissance attacks:

Bước đầu hacker ping đến tằm nhắm để xác định địa chỉ IP đích. Sau đó,

hacker xác định những port cũng như những dịch vụ đang “sống” trên địa chỉ IP

đó.

Từ những thông tin này, hacker bắt đầu xác định được dạng và phiên bản của hệ

điều hành. Hacker tiến hành đánh cắp dữ liệu hoặc phá huỷ hệ điều hành của mạng.

Các hình thức tấn công dạng này bao gồm: packet sniffers, port scans, ping sweeps,

SVTH: Ngô Thành Long Page 8

Page 9: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

internet information queries.

a) Packet sniffers:

Là phần mềm ứng dụng dùng một card adapter với promiseous mode để bắt

giữ tất cả các gói tin gởi xuyên qua một mạng LAN. Kỹ thuật này chỉ thực hiện

được trên cùng một collision domain.

Packet sniffers sẽ khai thác những thông tin được truyền ở dạng clear text.

Những giao thức truyền ở dạng clear text bao gồm: Telnet, FTP, SNMP, POP,

HTTP…

Một vd như sau:

Code:

TCP - Transport Control Protocol

 Source Port: 3207

 Destination Port: 110 pop3

 Sequence Number: 1904801188

 Ack Number: 1883396256

 Offset: 5 (20 bytes)

 Reserved: %000000

 Flags: %011000

 0. .... (No Urgent pointer)

 .1 .... Ack

 .. 1... Push

 .. .0.. (No Reset)

 .. ..0. (No SYN)

 .. ...0 (No FIN)

 Window: 64161

 Checksum: 0x078F

 Urgent Pointer: 0

 No TCP Options

 POP - Post Office Protocol

 Line 1: PASS secretpass

SVTH: Ngô Thành Long Page 9

Page 10: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Ta nhận thấy password được truyền đi ở dạng clear text là secrectpass.

Bởi vì packet được truyền đi không được mã hoá như trên, nó có thể bị xử lý

bởi bất kỳ ai sử dụng kỹ thuật packet sniffers.

Những công cụ sau được dùng ngăn cản packet sniffers gồm: authentication,

switched infrastrutured, antisniffer va cryptography.

b) Authentication:

Kỹ thuật xác thực này được thực hiện phổ biến như one-type password

(OTPs). Kỹ thuật này được thực hiện bao gồm hai yếu tố: personal identification

number ( PIN ) và token card để xác thực một thiết bị hoặc một phần mềm ứng

dụng.

Token card là thiết bị phần cứng hoặc phần mềm sản sinh ra thông tin một cách

ngẫu nhiên ( password ) tai một thời điểm, thường là 60 giây.

Khách hàng sẽ kết nối password đó với một PIN để tạo ra một password duy

nhất. Giả sử một hacker học được password đó bằng kỹ thuật packet sniffers, thông

tin đó cũng không có giá trị vì nó đã hết hạn.

c) Switched infrastructured:

Kỹ thuật này có thể dùng để ngăn chặn packet sniffers trong môi trường

mạng. Vd: nếu toàn bộ hệ thống sử dụng switch ethernet, hacker chỉ có thể xâm

nhập vào luồng traffic đang lưu thông tại 1 host mà hacker kết nối đến. Kỹ thuật

này không làm ngăn chặn hoàn toàn packet sniffer nhưng nó có thể giảm được tầm

ảnh hưởng của nó.

Antisniffer tools:

Là những phần mềm và phần cứng được thiết kế để ngăn chặn sniffer. Thật

sự những ứng dụng này không ngăn chặn được hoàn toàn nguy cơ bị sniffer nhưng

cũng giống như những công cụ khác, nó là một phần của toàn bộ hệ thống.

Cryptography:

Kỹ thuật mã hoá này giúp cho dữ liệu được truyền đi qua mạng ma không

ở dạng clear text. Giả sử hacker có bắt được dữ liệu thì cũng không thể giải mã

được thông tin.

Phương pháp này có hiệu lực hơn so với việc dò tìm và ngăn cản sniffer.

Nếu như một kênh truyền được mã hoá, dữ liệu mà packet sniffer dò tìm được cũng

SVTH: Ngô Thành Long Page 10

Page 11: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

không có giá trị và không phải là thông tin chính xác ban đầu.

Hệ thống mã hóa của Cisco dựa trên kỹ thuật IPSec, giao thức mã hóa “

đường hầm” dựa trên địa chỉ IP. Những giao thức gồm: Secure Sell Protocol

( SSH ) và Secure Socket Layer ( SSL ).

d) Port scans va ping sweeps:

Kỹ thuật này được tiến hành nhằm những mục đích như sau:

- Xác định những dịch vụ trong mạng

- Xác định các host và thiết bị đang vận hành trong mạng

- Xác định hệ điều hành trong hệ thống

Xác định tất cả các điểm yếu trong mạng, từ đó tiến hành những mục đích

khác.

Với kỹ thuật ping sweeps, hacker có thể xác định một danh sách các host

đang sống trong một môi trường. Từ đó, hacker sử dụng công cụ port scans xoay

vòng qua tất cả các port và cung cấp một danh sách đầy đủ các dịch vụ đang chạy

trên host đã tìm thấy bởi ping sweeps. Công viêc tiếp theo là hacker xác định

những dịch vụ có điểm yếu và bắt đầu tấn công vào điểm yếu này.

Kỹ thuật IDS được dùng để cảnh báo cho nhà quản trị khi có reconnaissance

attacks như là port scans va ping sweeps. IDS giúp nhà quản trị có sự chuẩn bị tốt

nhằm ngăn cản hacker.

e) Internet information queries:

DNS queries có thể chỉ ra nhiều thông tin như là người sở hữu một domain

nào đó và range địa chỉ nào được ấn định cho domain đó.

Hacker sử dụng công cụ này để “ trinh sát” tìm ra các thông tin trên mạng.

Cùng với port scans và ping sweeps, sau khi tìm ra được những thông tin

đầy đủ như các port active, các giao thức chạy trên port đó, hacker tiến hành kiểm

tra những đặc trưng của các ứng dụng này để tìm ra điểm yếu và bắt đầu tấn công.

1.2.3.2. Access attacks:

Trong phương pháp này, kẻ xâm nhập điển hình tấn công vào mạng nhằm:

đánh cắp dữ liệu, giành lấy quyền access, và giành lấy những đặc quyền access sau

SVTH: Ngô Thành Long Page 11

Page 12: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

này.

Access attacks có thể bao gồm:

- Password attack

- Trust exploitation

- Port redirection

- Man in the middle attack

a) Password attack:

Hacker có thế xâm nhập hệ thống dùng các kỹ thuật brute-force attacks,

trojan horce, IP spoofing và packet sniffer.

Thường một cuộc tấn công brute-force attack được thực hiện dùng 1 chu

trình chạy xuyên qua mạng và cố gắng xen vào chia sẻ môi trường. Khi hacker

giành được quyền access đến một nguồn tài nguyên, hacker cùng với user cùng

chia sẻ quyền lợi. Nếu như có đủ tài nguyên thì hacker sẽ tạo ra một của sổ kín cho

lần access sau.

Hacker có thể làm thay đổi bảng định tuyến trong mạng. Điều đó sẽ làm

chắc chắn rằng tất cả các gói tin sẽ được gởi đến hacker trước khi được gởi đến

đích cuối cùng.

Trong một vài trường hợp, hacker có thể giám sát tất cả các traffic, thật sự

trở thành một man in the middle.

Ta có thể hạn chế password attack bằng những cách sau:

Không cho phép user dùng cùng password trên các hệ thống.

Làm mất hiệu lực account sau một vài lần login không thành công. Bước kiểm tra

này giúp ngăn chặn việc rà soát password nhiều lần.

Không dùng passwords dạng clear text: dùng kỹ thuật OTP hoặc mã hoá password

như đã trình bày phần trên.

Dùng “strong” passwords: Dạng password này dùng ít nhất 8 ký tự, chứa các

uppercase letters, lowercase letters, những con số và những ký tự đặc biệt.

b) Trust exploitation:

Đây là phương pháp “ khai thác tin cậy “, nó dựa vào các mối quan hệ tin cậy

bên trong mạng.

Bình thường, nếu hai domain có mối quan hệ tin cậy với nhau thì cho phép

SVTH: Ngô Thành Long Page 12

Page 13: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

thiết bị domain này có thể access vào domain kia.

Hacker sẽ lợi dụng sơ hở trong mối quan hệ tin cậy nhằm khai thác các sai

sót trong mối quan hệ này để thoả hiệp, tức là để kiểm soát.

Hệ thống bên ngoài firewall sẽ có mối quan hệ hoàn toàn không tin cậy với hệ

thống bên trong firewall.

c) Port redirection:

Là một dạng khác của trust exploitation attack mà nó sử dụng một host thoả

hiệp nhằm lấy giấy phép ra vào firewall.

Ta có thể tượng như là một firewall với 3 interface và mỗi interface kết nối

với 1 host. Host ở bên ngoài có thể hướng đến host ở public services ( thường được

gọi là demilitanized zone- DMZ ). Và host ở public services có thể hướng tới cả

host ở bên trong hay bên ngoài firewall.Hacker làm cho host ở public service trở

thành 1 host thoả hiệp. Hacker đặt một phần mềm tại host này nhằm tạo ra một

traffic trực tiếp từ host outside đến host inside. Kết nối này sẽ ko thực hiện thông

qua firewall. Như vậy, host bên ngoài giành được quyền kết nối với host bên trong

thông qua qui trình port redirection tại host trung tâm ( public services host ).

d) Man in the middle attack:

Kỹ thuật man in the middle được thực hịên bao gồm:

- Netword packet sniffers

- Giao thức routing và transport.

- Tấn công man in the middle nhằm mục đích:

- Đánh cắp dữ liệu

- Giành lấy một phiên giao dịch

- Phân tích traffic trong mạng

- DoS

- Phá hỏng dữ liệu được truyền

Một ví dụ của man in the middle attack đó là: một người làm việc cho ISP

và cố gắng access đến tất cả các gói dữ liệu vận chuyển giữa ISP và bất kỳ một

mạng nào khác.

Ta có thể ngăn chặn hình thức tấn công này bằng kỹ thuật mã hoá: mã hoá

SVTH: Ngô Thành Long Page 13

Page 14: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

traffic trong một đường hầm IPSec, hacker sẽ chỉ nhìn thấy những thông tin không

có giá trị.

1.3. CÁC DỊCH VỤ CƠ CHẾ BẢO MẬT VÀ TẤN CÔNG:

1.3.1. Dịch vụ bảo mật ( Security service):

Là thông qua việc đánh giá các thành phần hê thống phần trong hệ thống của

khách hàng về khía cạnh bảo mật, bao gồm:

1. Hệ thống mạng/ cơ sở dữ liệu liên quan ứng dụng.

2. Các máy chủ ứng dụng.

3. Các ứng dụng, đặc biệt là các ứng dụng trên nền web/ ứng dụng cho

phép giao dịch trực tuyến như e-banking, các trang web thương mại điện tử.

1.3.2. Cơ chế bảo mật (Security Mechanish):

Phần trên đã trình bày các hình thức tấn công, một hệ truyền tin được gọi là

an toàn và bảo mật thì phải có khả năng chống lại được các hình thức tấn công trên.

Như vậy hệ truyền tin phải có các đặt tính sau:

1) Tính bảo mật (Confidentiality): Ngăn chặn được vấn đề xem trộm thông điệp.

2) Tính chứng thực (Authentication): Nhằm đảm bảo cho Bob rằng thông điệp mà

Bob nhận được thực sự được gửi đi từ Alice, và không bị thay đổi trong quá trình

truyền tin. Như vậy tính chứng thực ngăn chặn các hình thức tấn công sửa thông

điệp, mạo danh, và phát lại thông điệp.

3) Tính không từ chối (Nonrepudiation):

1.3.3. Tấn công bảo mật (Security Attack):

Security Attack – Tấn công bảo mật: Đây là hành động nhằm tiết lộ bí mật

thông tin.

Security Attacks

• Interruption: Tấn công vào availability – Sự khả dụng của dịch vụ

• Interception: Tấn công vào confidentiality – Thông tin không bị tiết lộ

SVTH: Ngô Thành Long Page 14

Page 15: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

• Modification: Tấn công vào integrity – Sự bảo toàn của thông tin, không bị thay

đổi

• Fabrication: Tấn công vào authenticity – Xác thực

CHƯƠNG 2: KỸ THUẬT TẤN CÔNG DOS /DDOS VÀ HỆ THỐNG

IDS

2. GIỚI THIỆU CHUNG VỀ DOS/DDOS:

Ngày 7/3/2000, yahoo.com đã phải ngưng phục vụ hàng trăm triệu user trên

toàn thế giới nhiều giờ liền. Vài giờ sau, Yahoo đã tìm ra nguyên nhân gây nên tình

trạng này, họ đang phải gánh chịu một đợt tấn công DDoS với quy mô vài ngàn

máy tính liên tục gửi hàng triệu request đến các server dịch vụ làm các server này

không thể phục vụ các user thông thường khác

Vài ngày sau, một sự kiện tương tự diễn ra nhưng có phần “ồn ào” hơn do

một trong các nạn nhân mới là hãng tin CNN, amazon.com, buy.com, Zdnet.com,

E-trade.com, Ebay.com. Tất cả các nạn nhân là những gã khổng lồ trên internet

thuộc nhiều lĩnh vực khác nhau. Theo Yankke Group, tổng thiệt hại do cuộc tấn

công lên đến 1.2 triệu USD, nhưng không đáng kể bằng sự mất mát về lòng tin của

khách hàng, uy tín của các công ty là không thể tính được.

Làm đảo lộn mọi dự tính, thủ phạm là một cậu bé 15 tuổi người Canada, với

nickname “mafiaboy”. Lại là một thiên tài bẩm sinh như Kevin Mitnick xuất hiện?

Không. Mafiaboy chỉ tìm tòi và download về một số chương trình công cụ của các

hacker. Cậu đã dùng một công cụ DDos có tên là TrinOO để gây nên các cuộc tấn

công kiểu DDoS khủng khiếp trên. Một điểm đáng lưu ý khác là Mafiaboy bị bắt

do tự khoe khoang trên các chatroom công cộng, không ai tự truy tìm được dấu vết

của cậu bé này.

Còn rất nhiều gã khổng lồ khác đã gục ngã dưới các cuộc tấn công kiểu

DDoS sau đó, trong đó có cả Microsodt. Tuy nhiên cuộc tấn công trên là điển hình

nhất về DDoS, nó nói lên một đặc điểm chết người của DDoS: “Rất dễ thực hiện,

hầu như không thể tránh, hậu quả rất nặng nề”.

SVTH: Ngô Thành Long Page 15

Page 16: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

2.1. KHÁI NIỆM DOS (DENIAL OF SERVICE):

DoS (Denial of Service) có thể mô tả như hành động ngăn cản những người

dùng hợp pháp của một dịch vụ nào đó truy cập và sử dụng dịch vụ đó. Nó bao

gồm cả việc làm tràn ngập mạng, làm mất kết nối với dịch vụ… mà mục đích cuối

cùng là làm cho server không thể đáp ứng được các yêu cầu sử dụng dịch vụ từ các

client. DoS có thể làm ngưng hoạt động của một máy tính, một mạng nội bộ, thậm

chí cả một hệ thống mạng rất lớn. Thực chất của DoS là kẻ tấn công sẽ chiếm dụng

một lượng lớn tài nguyên mạng như băng thông, bộ nhớ… và làm mất khả năng xử

lý các yêu cầu dịch vụ đến từ các client khác.

2.1.1. Những khả năng bị tấn công bằng Dos:

Tấn công trên SWAPSPACE:

Hầu hết các hệ thống đều có vài trăm MB không gian chuyển đổi (swap

space) để phục vụ cho những yêu cầu từ máy khách. Swap space thường dung cho

các tiến trình con có thời gian ngắn nên DoS có thể được dựa trên phương thức làm

tràn đầy swap space.

Tấn công trên BANDWIDTH:

Phần băng thông dành cho mỗi hệ thống là giới hạn, vì thế nếu hacker cùng

lúc gửi nhiều yêu cầu đến hệ thống thì phần băng thông không đủ đáp ứng cho một

khối lượng dữ liệu lớn đó và dẫn đến hệ thống bị phá vỡ.

Tấn công vào RAM:

Tấn công Dos chiếm 1 khoảng lớn của RAM cũng có thể gây ra các vấn đề

phá hủy hệ thống. Kiểu tấn công BufferOverflow là một ví dụ cho cách phá hủy

này (xem kĩ hơn trong nội dung chương..)

Tấn công vào DISKS:

Một kiểu tấn công cổ điển là làm đầy đĩa cứng. Đĩa cứng có thể bị tràn và

không thể được sử dụng nữa.

2.2. Các kỹ thật tấn công:

2.2.1. Khái niệm TCP bắt tay ba chiều:

Đầu tiên, để tìm hiểu phương pháp tấn công DoS , luận văn sẽ trình bày cơ

chế làm việc “tcp bắt tay ba chiều”.

Gói dữ liệu TCP chứa flag bits (cờ) để mô tả nội dung và mục đích của gói dữ liệu .

SVTH: Ngô Thành Long Page 16

Page 17: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Ví dụ 1-1:

• Gói dữ liệu TCP với cờ SYN (synchoronize) dùng để bắt đầu 1 kết nối

• ACK (acknowledgement)

• FIN (finish) dùng để cắt 1 kết nối

Cách hoạt động của gói TCP:

Hình 2.1: Cơ chế thiết lập kết nối trước khi truyền số liệu

Buớc 1: Máy con gửi gói tin SYN yêu cầu kết nối

Bước 2: Nếu máy chủ chấp nhận kết nối, máy chủ sẽ gửi gói tin SYN/ACK Server

bắt buộc phải gửi thông báo lại bởi vì TCP là chuẩn tin cậy nên nếu máy con không

nhận được thông báo thì sẽ nghĩ rằng packet đã bị lạc và gửi lại một packet mới.

Bước 3: Máy con gửi hồi đáp bằng gói tin ACK Báo cho máy chủ biết rằng máy

con đã nhận được SYN/ACK packet và lúc này kết nối đã được thiết lập.

2.2.2. Lợi dụng TCP thực hiện phương pháp SYN flood truyền thống:

SVTH: Ngô Thành Long Page 17

Page 18: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Hình 2.2: Tấn công DoS truyền thống

Như đã đề cập về vấn đề thiết lập kết nối trong phần 1, bất cứ 1 gói tin SYN,

máy chủ cũng phải để 1 phần tài nguyên của hệ thống như bộ nhớ đệm để nhận và

truyền dữ liệu cho đường truyền đó. Tuy nhiên, tài nguyên của hệ thống là có hạn

và hacker sẽ tìm mọi cách để hệ thống tràn qua giới hạn đó. ( Đây còn được gọi là

half-open connection vì máy khách mở kết nối giữa chừng)

Theo hình 2-1: Nếu máy chủ sau khi gửi trả một gói tin SYN/ACK để thông

báo chấp nhận kết nối cho máy yêu cầu nhưng nếu địa chỉ IP của máy yêu cầu này

là giả mạo thì gói tin không thể đến được đích, nên máy chủ vẫn phải dành tài

nguyên cho yêu cầu đó. Sau một thời gian không nhận được phản hồi từ máy

khách, máy chủ lại tiếp tục gửi một gói tin SYN/ACK để xác nhận lần nữa và cứ

như vậy, kết nối vẫn tiếp tục mở.

Nếu như hacker gửi nhiều gói tin SYN đến máy chủ đến khi máy chủ không

thể tiếp nhận thêm 1 kết nối nào nữa thì lúc này hệ thống đã bị phá vỡ.

Kết luận: Chỉ với một đường truyền băng thông nhỏ, hacker đã có thể phá

vỡ một hệ thống. Thêm vào đó, địa chỉ IP của hacker có thể được sửa đổi nên việc

xác định thủ phạm là một vấn đề hết sức khó khăn.

2.2.3. Tấn công vào băng thông

Kiểu tấn công thứ 1

SVTH: Ngô Thành Long Page 18

Page 19: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Hacker hoàn toàn có khả năng làm ngập hệ thống vì băng thông của hacker

lớn hơn băng thông của máy đích. Kiểu tấn công này không bị hạn chế bởi tốc độ

truyền mạng.

Kiểu tấn công thứ 2

Kiểu tấn công này được sử dụng khi đường truyền mạng của hacker là quá

thấp so với đường truyền của máy đích.

Không giống như kiểu tấn công DoS truyền thống, kiểu tấn công vào băng

thông lớn hơn sẽ lợi dụng những gói tin từ những hệ thống khác nhau cùng một lúc

tiến đến hệ thống đích khiến cho đường truyền của hệ thống đích không còn khả

năng đáp ứng, máy chủ không còn khả năng nhận một gói tin nào nữa

Hình 2.3: Kiểu tấn công DoS vào băng thông

Theo hình 3-1, tất cả các gói tin đi vào 1 mạng máy tính qua 1 "Big-Pipe"

(ống dẫn lớn), sau đó được router chia ra những "Small Pipe" (ống dẫn nhỏ) cho

nhiều máy tính con tùy theo địa chỉ IP của gói tin.

Nhưng nếu toàn bộ "Big-Pipe" bị làm ngập bằng những gói tin chỉ hướng

đến 1 máy nhất định trong mạng máy tính con này, router đành phải chấp nhận loại

bỏ phần lớn các packet để chỉ còn lại số lượng vừa đủ đi qua "Small Pipe" của máy

tính đó. Kiểu tấn công này sẽ loại máy đích ra khỏi Internet.

SVTH: Ngô Thành Long Page 19

Page 20: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Đây là phương pháp tấn công kiểu từ chối dịch vụ nhưng không là DoS mà

gọi là DDoS (kiểu từ chối dịch vụ phân tán), nghĩa là cùng một lúc nhiều máy sẽ

được phát động để gửi gói tin đến máy đích (mặc dù đường truyền của mỗi máy

không cao nhưng nhiều đường truyền lại hợp thành một ống dẫn “ Big Pipe”), làm

cho máy đích không còn khả năng tiếp nhận gói tin và bị loại khỏi mạng Internet.

2.2.4. Kiểu tấn công vào tài nguyên hệ thống:

Đây là kiểu tấn công nhằm vào tài nguyên hệ thống hơn là tài nguyên mạng

như CPU, bộ nhớ, file hệ thống, tiến trình…..Hacker là một người dùng hợp lệ của

hệ thống, và được một lượng tài nguyên giới hạn trên hệ thống. Tuy nhiên, hacker

sẽ lạm dụng quyền truy cập này để yêu cầu thêm tài nguyên. Như vậy, hệ thống hay

những người dùng hợp lệ sẽ bị từ chối sử dụng tài nguyên chia sẻ.

Kiểu tấn công sẽ khiến cho hệ thống không thể sử dụng được vì tài nguyên đã bị sử

dụng hết, không còn tiến trình để thực thi nữa.

2.3 KHÁI NIỆM DDOS (DISTRIBUTED DENIAL OF SERVICE):

Tấn công từ chối dịch vụ (DoS) nhằm mục đích ngăn cản người dùng truy

cập hợp pháp vào hệ thống máy tính hay hệ thống mạng của victim. Tấn

công từ chối dịch vụ phân tán(DDoS) mang tính rộng lớn hơn, tập trung tấn

công trên những dịch vụ sẵn có của tài nguyên hệ thống máy tính hay tài nguyên

mạng, mở trực tiếp thông qua nhiều máy tính cùng tham gia trên Internet. Dịch vụ

dưới hình thức tấn công được gọi là “nạn nhân chính”, trong khi các máy tính cùng

tham gia tấn công gọi là “nạn nhân phụ”. Những nạn nhân phụ cung cấp cho

attacker khả năng tiến hành rộng hơn và tấn công mạnh hơn, lợi dụng những nạn

nhân phụ sẽ rất khó khăn lần ra dấu vết của attacker. Tổ chức bảo mật World

Wide Web định nghĩa: Một cuộc tấn công DDoS sử dụng những máy tính nhằm

mở ra tập trung tấn công DoS hướng vào một hay nhiều mục tiêu. Bằng cách sử

dụng công nghệ client/server, thủ phạm có thể nhân đôi tính hiệu lực của DoS tới

một mức độ to lớn bằng cách khai thác nguồn tài nguyên của những máy

tính“tòng phạm” (những máy tính này có thể vô tình bị attacker điều khiển, phục

vụ làm nền chocuộc tấn công).

2.3.1 Các giai đoạn của cuộc tấn công DDos

a. Tìm tools và đồng minh :

SVTH: Ngô Thành Long Page 20

Page 21: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Hacker sẽ tự tay viết hoặc download những tool trên mạng về để chuẩn bị

phục vụ cho cuộc tấn công

Sử dụng nhiều kỹ thuật khác nhau để tiến hành thâm nhập vào một hoặc

nhiều máy tính khác hoặc có thể cả một hệ thống mạng. Mục đích là cài những tool

hoặc phần mềm chuẩn bị sẵn lên những máy này nhằm biến những máy này thành

đồng minh của mình trong cuộc tấn công.

b.Tìm mục tiêu và quét lỗ hổng :

Attcker cần phải tìm ra các máy tính mà họ có thể thỏa hiệp được, càng

nhiều càng tốt. Họ “tuyển” ra những máy có kết nối cao và tài nguyên phong phú

và được bảo trì kém. Thật không may, có cả hàng triệu máy tính như vậy trên

Internet.

Đặc biệt, những máy tính này thường nằm trong các trường đại học, các

tổ chức chính phủ. Ở đó họ không được bảo mật tốt, không có tường lửa,

do đó nó rất dễ bị thỏa hiệp (compromised). Ngày nay với sự xuất hiện các

kết nối cao như DSL (Digital Subscriber Line) dành cho doanh nghiệp và văn

phòng luôn “túc trực” kết nối Internet, đã cung cấp một “tiềm năng rất lớn” cho

attcker để họ tuyển dụng cho mục đích tấn công DDoS của mình. Sự thay đổi về

cấu trúc các máy tính agent đồng nghĩa với việc cần phải thay đổi công cụ tấn

công phù hợp, nếu như trước đây hầu như các hệ thống đều chạy hệ điều hành

Unix, thì ngày nay là Windows, do đó mã nguồn (source code) cũng cần phải biên

dịch lại cho phù hợp.

Tiến trình tìm kiếm các máy tính chứa lỗ hỗng gọi là scanning. Hình 4-1

mô tả đơn giản tiến trình scanning. Attacker gửi một số gói tin (packet) để chọn

mục tiêu, xem chúng có tồn tại hay có “chổ hỡ” nào không. Nếu có, attcker nổ lực

xâm nhập vào đó.

SVTH: Ngô Thành Long Page 21

Page 22: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Hình 2.4: Tiến trình Scanning

Có một thuật ngữ mà “dân DDoS” hay nói là bot. Một bot (viết tắt của từ

“robot”) là một chương trình client chạy trên nền của một máy tính bị

compromise, và nó “nhìn” vào chuỗi ký tự hiển thị trong một kênh IRC.

Những chuỗi ký tự này là những lệnh đã mã hóa để chương trình bot thực

thi, chẳng hạn như bot mời một ai đó tham gia vào một kênh IRC, cấp quyền hoạt

động cho người dùng, scanning khối địa chỉ (netblock) hay thực hiện một cuộc

tấn công DDoS. Nói về Netblock, ví dụ như bot Power[3], bằng cách chỉ định

một số octet đầu tiên (ví dụ: 192.168 có nghĩa là quét tất cả đoạn

mạng từ 192.168.0.0 đến 192.168.255.255). Khi một bot lấy danh sách của

những máy tính có lỗ hổng, chúng thông báo cho attacker đang sử dụng botnet

(một mạng bot, ở đó tất cả đều đồng bộ thông qua giao tiếp trong một kênh IRC).

Attacker nhận tập tin từ bot và thêm nó (các máy tính có lỗ hổng) vào danh sách.

Có một một số chương trình tự động thực hiện việc này, bằng cách đó nó sẽ tạo

thành một mạng tấn công. Công việc scanning cho một đoạn mạng thường

SVTH: Ngô Thành Long Page 22

Page 23: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

attacker chothực hiện ngẫu nhiên. Sau đó attacker sẽ chọn ra những máy tính

“béo bở” trong danh sách của họ (chẳng hạn như những máy thuộc khuôn viên

trường đại học thì vẫn tốt hơn những máy thuộc tổ chức chính phủ hay quân sự).

Quá trình scanning có thể được thực hiện với những chương trình riêng biệt,

gọi là những“plugged in” được chèn vào tool kit như chương trình Phatbot, được

xây dựng thành mộtmodule với nhiều tính năng). Một IRC bot scanning mô phỏng

như sau:

SVTH: Ngô Thành Long Page 23

Page 24: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Hình 2.5: IRC bot Scanning

Một chương trình khác cũng thực hiện công việc scanning mà ta thường

biết đến đó là Internet worm. Những Internet worm là những chương trình tự

động lây lan từ host này qua host khác, nó giống như virus đời thường trong

cuộc sống (chẳng hạn như worm fly). Một worm có 3 chức năng chính riêng biệt:

(1) scanning; (2) exploitation – khai thác, thỏa hiệp và xác lập điều khiển từ xa; (3)

một payload (nội dung packet) – đó là mã thực thi được ra lệnh để tấn công chẳng

hạn. Khi một worm truyền đi, nó “nhiễm” vào một máy nào đó, nó sẽ quét và lây

nhiễm đến máy khác (quá trình cứ lặp đi lặp lai). Phần payload chỉ đơn giản đó là

mộtbản sao của worm. Ngày nay Internet worm phát triển như là một

SVTH: Ngô Thành Long Page 24

Page 25: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

phương pháp phổ biến trong quá trình “tuyển nạp” những DDoS agent, vì thế

worm payload thường chứa đoạn mã tấn công DDoS.

c. Phát động tấn công :

Đúng thời điểm đã định, hacker phát động tấn công từ máy của mình, lệnh

tấn công này có thể đi qua nhiều cấp mói đến host thực sự tấn công. Toàn bộ

attack-network (có thể lên đến hàng ngàn máy), sẽ gửi request đến máy nạn nhân,

làm hệ thống nạn nhân phải huy động hết tài nguyên để reply lại nên không thể đáp

ứng lại truy vấn của client hợp pháp, tệ hơn nữa là có thể tê liệt toàn bộ hệ thống.

d.Xóa dấu vết

Sau một khoảng thời gian tấn công thích hợp, hacker tiến hành xóa mọi dấu

vết có thể truy ngược đến mình, việc này đòi hỏi trình độ khác cao và không tuyệt

đối cần thiết.

2.3.2. Kiến trúc tổng quan của DDos attack-network:

Nhìn chung DDoS attack-network có hai mô hình chính

+ Mô hình Agent – Handler

+ Mô hình IRC – Based

SVTH: Ngô Thành Long Page 25

Page 26: DACN Final - Ngo Thanh Long D17TMTB

DDoS attack-network

Agent -Handler IRC - Based

Client – HandlerCommunication

Secret/private channel Public channel

TCP UDP ICMP TCP UDP ICMP

Client – HandlerCommunication

Attacker Attacker

Handler Handler Handler Handler

Agent Agent Agent Agent Agent

Victim

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Hình 2.6: Dưới đây là sơ đồ chính phân loại các kiểu tấn công DDoS

2.3.3. Mô hình Agent – Handler:

Theo mô hình này, attack-network gồm 3 thành phần: Agent, Client và Handler

Client : là software cơ sở để hacker điều khiển mọi hoạt động của attack-

network

Handler : là một thành phần software trung gian giữa Agent và Client

Agent : là thành phần software thực hiện sự tấn công mục tiêu, nhận điều khiển

từ Client thông qua các Handler

Hình 2.7: Kiến trúc attack-network kiểu Agent – Handler

SVTH: Ngô Thành Long Page 26

Page 27: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Attacker sẽ từ Client giao tiếp với cc1 Handler để xác định số lượng Agent

đang online, điều chỉnh thời điểm tấn công và cập nhật các Agent. Tùy theo cách

attacker cấu hình attack-network, các Agent sẽ chịu sự quản lý của một hay nhiều

Handler.

Thông thường Attacker sẽ đặt Handler software trên một Router hay một

server có lượng traffic lưu thông nhiều. Việc này nhằm làm cho các giao tiếp giữa

Client, handler và Agent khó bị phát hiện. Các gia tiếp này thông thường xảy ra

trên các protocol TCP, UDP hay ICMP. Chủ nhân thực sự của các Agent thông

thường không hề hay biết họ bị lợi dụng vào cuộc tấn công kiểu DDoS, do họ

không đủ kiến thức hoặc các chương trình Backdoor Agent chỉ sử dụng rất ít tài

nguyên hệ thống làm cho hầu như không thể thấy ảnh hưởng gì đến hiệu năng của

hệ thống.

2.3.4 Mô hình IRC – Based:

Internet Relay Chat (IRC) là một hệ thống online chat multiuser, IRC cho

phép User tạo một kết nối đến multipoint đến nhiều user khác và chat thời gian

thực. Kiến trúc của IRC network bao gồm nhiều IRC server trên khắp internet, giao

tiếp với nhau trên nhiều kênh (channel). IRC network cho phép user tạo ba loại

channel: public, private và serect.

Public channel: Cho phép user của channel đó thấy IRC name và nhận

được message của mọi user khác trên cùng channel

Private channel: được thiết kế để giao tiếp với các đối tượng cho phép.

Không cho phép các user không cùng channel thấy IRC name và message trên

channel. Tuy nhiên, nếu user ngoài channel dùng một số lệnh channel locator thì có

thể biết được sự tồn tại của private channel đó.

Secrect channel : tương tự private channel nhưng không thể xác định

bằng channel locator.

Kiến trúc attack-network của kiểu IRC-Base

SVTH: Ngô Thành Long Page 27

Page 28: DACN Final - Ngo Thanh Long D17TMTB

Attacker Attacker

Agent Agent Agent Agent Agent

Victim

IRC NETWORK

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Hình 2.8: Kiến trúc attack-network của kiểu IRC-Base

IRC – Based net work cũng tương tự như Agent – Handler network nhưng

mô hình này sử dụng các kênh giao tiếp IRC làm phương tiện giao tiếp giữa Client

và Agent (không sử dụng Handler). Sử dụng mô hình này, attacker còn có thêm

một số lợi thế khác như:

+ Các giao tiếp dưới dạng chat message làm cho việc phát hiện chúng là vô

cùng khó khăn

+ IRC traffic có thể di chuyển trên mạng với số lượng lớn mà không bị nghi

ngờ

+ Không cần phải duy trì danh sách các Agent, hacker chỉ cần logon vào

IRC server là đã có thể nhận được report về trạng thái các Agent do các channel gửi

về.

+ Sau cùng: IRC cũng là một môi trường file sharing tạo điều kiện phát tán

các Agent code lên nhiều máy khác.

2.4. PHÂN LOẠI KIỂU TẤN CÔNG DDOS:

2.4.1. Những kiểu tấn công làm cạn kiệt băng thông:

Nhìn chung, có rất nhiều biến thể của kỹ thuật tấn công DDoS nhưng nếu

nhìn dưới góc độ chuyên môn thì có thể chia các biến thề này thành hai loại dựa

trên mụch đích tấn công: Làm cạn kiệt băng thông và làm cạn kiệt tài nguyên hệ

thống. Dưới đây là sơ đồ mô tả sự phân loại các kiểu tấn công DDoS.

SVTH: Ngô Thành Long Page 28

Page 29: DACN Final - Ngo Thanh Long D17TMTB

DDoS attack

Bandwith DeleptionDeleption Resource Deleption

Flood AttackAmplification

Attack

UDP

RandomPort

Attack

Smuftattack

ProtocolExploitAttack

Malformed Paclket attack

StaticPort

Attack

ICMP

SpoofSourceAttack

FlaggleAttack

DirectAttack

LoopAttack

TCP SYSAttack

SpoofsourceAttack

PUSH+ACKSYN

Attack

IP @Attack

IP Packet OptionsAttack

SpoofsourceAttack

SpoofsourceAttack

SpoofsourceAttack

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

BandWith Depletion Attack được thiết kế nhằm làm tràng ngập mạng mục tiêu với

những traffic không cần thiết, với mục địch làm giảm tối thiểu khả năng của các

traffic hợp lệ đến được hệ thống cung cấp dịch vụ của mục tiêu.

Có hai loại BandWith Depletion Attack:

+ Flood attack: Điều khiển các Agent gởi một lượng lớn traffic đến hệ thống

dịch vụ của mục tiêu, làm dịch vụ này bị hết khả năng về băng thông.

+ Amplification attack: Đ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. Phương pháp này làm gia tăng traffic không cần

thiết, làm suy giảm băng thông của mục tiêu.

Hình 2.9: Những kiểu tấn công DDoS

2.4.1.1. Flood attack:

Trong một cuộc tấn công làm lụt DDoS, các zombie sẽ gửi một số lượng lớn

SVTH: Ngô Thành Long Page 29

Page 30: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

các gói tin đến máy victim làm khả năng thực thi, chậm máy hay tràn ngập băng

thông mạng. Điều này khiến cho người dùng hệ thống hợp pháp bị cản trở truy

cập vào hệ thống victim.

Tấ n c ôn g n g ậ p lụt b ằ ng UD P:

UDP (User Datagram Protocol – giao thức dữ liệu người dùng) là một

giao thức hướng không kết nối. Có nghĩa là khi những gói tin truyền bằng giao

thức này, không có một cơ chế bắt tay nào giữa bên gửi và bên nhận, và hệ

thống bên nhận khi nhận được gói tin sẽ phải xử lý nó. Khi gửi một số lượng lớn

các gói tin UDP đến hệ thống nạn nhân có thể gây ra tràn ngập mạng, làm suy yếu

mạng.

Khi tấn công DDoS dạng UDP, những gói tin UDP được gửi qua những

port ngẫu nhiên hoặc được chỉ định một port nào đó. Thường thì công việc thực

hiện là những port ngẫu nhiên để nó bao quát toàn diện hơn. Kết quả là victim sẽ

phải xử lý những gói đi vào nó để cố gắng xác định xem có ứng dụng nào yêu

cầu không. Nếu hệ thống victim không có ứng dụng nào nằm trên port đích, hệ

thống victim sẽ gửi gửi một gói ICMP đến nơi gửi với thông điệp là “destination

port unreachable”.

Thông thường, công cụ tấn công DDoS sẽ giả địa chỉ IP nguồn của gói dữ

liệu. Vì thế nó làm ẩn danh hệ thống máy nạn nhân phụ, do đó các gói trả về từ

máy victim sẽ không đến được zombie, mà nó đến một máy tính khác nào đó.

Đôi khi tấn công ngập lụt UDP cũng có thể làm đầy băng thông của những

kết nối xung quanh hệ thống victim (phụ thuộc vào kiến trúc mạng và tốc độ đường

truyền). Vì thế có thể những hệ thống kết nối gần hệ thống victim gặp vấn đề trong

kết nối của họ.

Tấ n c ôn g n g ậ p lụt b ằ ng I CMP:

Những gói tin ICMP (Internet Control Message Protocol – giao thức thông

điệp vận chuyển Internet) được thiết kế cho tính năng quản lý chẳng hạn như xác

định thiết bị mạng và xác định số hop (hop là thuật ngữ nói lên gói tin sẽ đi qua

một thiết bị định tuyến chẳng hạn như qua một router thì router gọi là hop) hay

thời gian di chuyển từ nguồn đến đích. Ví dụ, gói tin ICMP_ECHO_REPLY

(ping) cho phép người dùng gởi yêu cầu đến hệ thống đích và nhận đáp ứng với

SVTH: Ngô Thành Long Page 30

Page 31: DACN Final - Ngo Thanh Long D17TMTB

Attacker/AgentVICTIM

Amplifier

Amplifier Network System

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

thời gian đã đi đến đích

Tấn công DDoS làm ngập ICMP xuất hiện khi zombie gởi số lượng lớn các

gói tin ICMP_ECHO_REPLY đến hệ thống nạn nhân. Dấu hiệu của những gói tin

này là phản hồi (reply). Cũng giống như tấn công làm ngập UDP, địa chỉ IP nguồn

bị giả mạo.

2.4.1.2. Amplification Attack:

Amplification Attack nhắm đến việc sử dụng các chức năng hỗ trợ địa chỉ IP

broadcast của các router nhằm khuyếch đại và hồi chuyển cuộc tấn công. Chức

năng này cho phép bên gửi chỉ định một địa chỉ IP broadcast cho toàn subnet bên

nhận thay vì nhiều địa chỉ. Router sẽ có nhiệm vụ gửi đến tất cả địa chỉ IP trong

subnet đó packet broadcast mà nó nhận được.

Attacker có thể gửi broadcast message trực tiếp hay thông qua một số Agent

nhằm làm gia tăng cường độ của cuộc tấn công. Nếu attacker trực tiếp gửi message,

thì có thể lợi dụng các hệ thống bên trong broadcast network như một Agent.

Hình 2.10: Amplification Attack

Có thể chia amplification attack thành hai loại, Smuft va Fraggle attack:

+ Smuft attack: trong kiểu tấn công này attacker gởi packet đến network

amplifier (router hay thiết bị mạng khác hỗ trợ broadcast), với địa chỉ của nạn nhân.

Thông thường những packet được dùng là ICMP ECHO REQUEST, các packet

SVTH: Ngô Thành Long Page 31

Page 32: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

này yêu cầu yêu cầu bên nhận phải trả lời bằng một ICMP ECHO REPLY packet.

Network amplifier sẽ gửi đến ICMP ECHO REQUEST packet đến tất cả các hệ

thống thuộc địa chỉ broadcast và tất cả các hệ thống này sẽ REPLY packet về địa

chỉ IP của mục tiêu tấn công Smuft Attack.

+ Fraggle Attack: tương tự như Smuft attack nhưng thay vì dùng ICMP

ECHO REQUEST packet thì sẽ dùng UDP ECHO packet gởi đếm mục tiêu. Thật

ra còn một biến thể khác của Fraggle attack sẽ gửi đến UDP ECHO packet đến

chargen port (port 19/UNIX) của mục tiêu, với địa chỉ bên gửi là echo port (port

7/UNIX) của mục tiêu, tạo nên một vòng lặp vô hạn. Attacker phát động cuộc tấn

công bằng một ECHO REQUEST với địa chỉ bên nhận là một địa chỉ broadcast,

toàn bộ hệ thống thuộc địa chỉ này lập tức gửi REPLY đến port echo của nạn nhân,

sau đó từ nạn nhân một ECHO REPLY lại gửi trở về địa chỉ broadcast, quá trình cứ

thế tiếp diễn. Đây chính là nguyên nhân Flaggle Attack nguy hiểm hơn Smuft

Attack rất nhiều.

2.4.2. Những kiểu tấn công làm cạn kiệt tài nguyên:

Theo định nghĩa: Resource Deleption Attack là kiểu tấn công trong đó

Attacker gởi những packet dùng các protocol sai chức năng thiết kế, hay gửi những

packet với dụng ý làm tắt nghẽn tài nguyên mạng làm cho các tài nguyên này

không phục vụ user thông thường khác được.

2.4.2.1. Protocol Exploit Attack:

+ TCP SYS Attack: Transfer Control Protocol hỗ trợ truyền nhận với độ tin

cậy cao nên sử dụng phương thức bắt tay giữa bên gởi và bên nhận trước khi truyền

dữ liệu. Bước đầu tiên, bên gửi gởi một SYN REQUEST packet (Synchronize).

Bên nhận nếu nhận được SYN REQUEST sẽ trả lời bằng SYN/ACK REPLY

packet. Bước cuối cùng, bên gửi sẽ truyên packet cuối cùng ACK và bắt đầu truyền

dữ liệu.

SVTH: Ngô Thành Long Page 32

Page 33: DACN Final - Ngo Thanh Long D17TMTB

TCPClient

Client Port1024-65535

TCPServer

Service Port1-1023

SYS

ACK

SYN/ACK

80

MaliciousTCP

Client

VictimTCP

Server

SYS packet with a deliberately fraudulent (spoofed) source IP return address

SYS/ACK

SYN

80?

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Hình 2.11: Protocol Exploit Attack

Nếu bên server đã trả lời một yêu cầu SYN bằng một SYN/ACK REPLY

nhưng không nhận được ACK packet cuối cùng sau một khoảng thời gian quy định

thì nó sẽ resend lại SYN/ACK REPLY cho đến hết thời gian timeout. Toàn bộ tài

nguyên hệ thống “dự trữ” để xử lý phiên giao tiếp nếu nhận được ACK packet cuối

cùng sẽ bị “phong tỏa” cho đến hết thời gian timeout.

Hình 2.12: Protocol Exploit Attack

Nắm được điểm yếu này, attacker gởi một SYN packet đến nạn nhân với địa

chỉ bên gởi là giả mạo, kết quả là nạn nhân gởi SYN/ACK REPLY đến một địa chỉ

khá và sẽ không bao giờ nhận được ACK packet cuối cùng, cho đến hết thời gian

timeout nạn nhân mới nhận ra được điều này và giải phóng các tài nguyên hệ

thống. Tuy nhiên, nếu lượng SYN packet giả mạo đến với số lượng nhiều và dồn

dập, hệ thống của nạn nhân có thể bị hết tài nguyên.

SVTH: Ngô Thành Long Page 33

Page 34: DACN Final - Ngo Thanh Long D17TMTB

SYN

ACK

SYN/ACK

Client Server

SYNSYN/ACK

SYN/ACK

ServerAttacker/Agent

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Hình 2.13: Protocol Exploit Attack

+ PUSH = ACK Attack: Trong TCP protocol, các packet được chứa trong

buffer, khi buffer đầy thì các packet này sẽ được chuyển đến nơi cần thiết. Tuy

nhiên, bên gởi có thể yêu cầu hệ thống unload buffer trước khi buffer đầy bằng

cách gởi một packet với PUSH và ACK mang giá trị là 1. Những packet này làm

cho hệ thống của nạn nhân unload tất cả dữ liệu trong TCP buffer ngay lập tức và

gửi một ACK packet trở về khi thực hiện xong điều này, nếu quá trình được diễn ra

liên tục với nhiều Agent, hệ thống sẽ không thể xử lý được lượng lớn packet gửi

đến và sẽ bị treo.

2.4.2.2. Malformed Packet Attack:

Malformed Packet Attack là cách tấn công dùng các Agent để gởi các packet

có cấu trúc không đúng chuẩn nhằm làm cho hệ thống của nạn nhân bị treo.

Có hai loại Malformed Packet Attack:

+ IP address attack: dùng packet có địa chỉ gởi và nhận giống nhau làm cho

hệ điều hành của nạn nhân không xử lý nổi và bị treo.

+ IP packet options attack ngẫu nhiên hóa vùng OPTION trong IP packet và

thiết lập tất cả các bit QoS lên 1, điều này làm cho hệ thống của nạn nhân phải tốn

thời gian phân tích, nếu sử dụng số lượng lớn Agent có thể làm hệ thống nạn nhân

hết khả năng xử lý.

2.5. MỘT SỐ ĐẶC TÍNH CỦA CÔNG CỤ DDOS ATTACK:

Có rất nhiều điểm chung về mặt software của các công cụ DDoS attack. Có

thể kể ra một số điểm chung như: cách cài Agent software, phương pháp giao tiếp

giữa các attacker, handler và Agent, điểm chung về loại hệ điều hành hỗ trợ các

SVTH: Ngô Thành Long Page 34

Page 35: DACN Final - Ngo Thanh Long D17TMTB

DDoS software Tool

Agent SetupAttack NetworkComminication OS supported

Instalation Hide with rootkit

Active Passive Yes No

Backdoor

Buggedwebsite

CorruptedFile

Protocol Encruption Agent ActivationMethods

Unix Solaris Linux

Actively Poll Live&wait

TCP UDP ICMP

Trojan Buffer Overlfow

Windows

AgentHandlerl

IRCBasedl

ClientHandlerl

AgentHandlerl

None

YESPrivate/Serect

NoPublic

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

công cụ này. Sơ đồ mô tả sự so sánh tương quan giữa các công cụ tấn công DDoS

này.

Hình 2.14: So sánh tương quan giữa các công cụ tấn công DDoS

2.5.1. Cách thức cài đặt DDoS Agent

Attacker có thể dùng phương pháp active và passive để cài đặt agent

software lên các máy khác nhằm thiết lập attack-network kiểu Agent-Handler hay

IRC-based.

- Cách cài đặt Active:

+ Scaning: dùng các công cụ như Nmap, Nessus để tìm những sơ hở trên các

hệ thống đang online nhằm cài đặt Agentsoftware. Chú ý, Nmap sẽ trả về những

thông tin về một hệ thống đã được chỉ định bằng địa chỉ IP, Nessus tìm kiếm từ

những địa chỉ IP bất kỳ về một điểm yếu biết trước nào đó.

+ Backdoor: sau khi tìm thấy được danh sách các hệ thống có thể lợi dụng,

attacker sẽ tiến hành xâm nhập và cài Agentsoftware lên các hệ thống này. Có rất

nhiều thông tin sẵn có về cách thức xâm nhập trên mạng, như site của tổ chức

Common Vulnerabilities and Exposures (CVE), ở đây liệt kê và phân loại trên

SVTH: Ngô Thành Long Page 35

Page 36: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

4.000 loại lỗi của tất cả các hệ thống hiện có. Thông tin này luôn sẵn sàng cho cả

giới quản trị mạng lẫn hacker.

+ Trojan: là một chương trình thực hiện một chức năng thông thường nào

đó, nhưng lại có một số chức năng tiềm ẩn phục vụ cho mục đích riêng của người

viết mà người dùng không thể biết được. Có thể dùng trojan như một Agent

software.

+ buffer Overflow: tận dụng lỗi buffer overflow, attacker có thể làm cho chu

trình thực thi chương trình thông thường bị chuyển sang chu trình thực thi chương

trình của hacker (nằm trong vùng dữ liệu ghi đè). Có thể dùng cách này để tấn công

vào một chương trình có điểm yếu buffer overflow để chạy chương trình Agent

software.

- Cách cài đặt passive:

+ Bug Website: attacker có thể lợi dụng một số lỗi của web brower để cài

Agent software vào máy của user truy cập. Attaker sẽ tạo một website mang nội

dung tiềm ẩn những code và lệnh để đặt bẫy user. Khi user truy cập nội dung của

website, thì website download và cài đặt Agent software một cách bí mật.

Microsoft Internet Explorer web browser thường là mục tiêu của cách cài đặt này,

với các lỗi của ActiveX có thể cho phép IE brower tự động download và cài đặt

code trên máy của user duyệt web.

+ Corrupted file: một phương pháp khác là nhúng code vào trong các file

thông thường. Khi user đọc hay thực thi các file này, máy của họ lập tức bị nhiễm

Agent software. Một trong những kỹ thuật phổ biến là đặt tên file rất dài, do default

của các hệ điều hành chỉ hiển thị phần đầu của tên file nên attacker có thể gửi kèm

theo email cho nạn nhân file như sau:

“iloveyou.txt_hiiiiiii_NO_this_is_DDoS.exe, do chỉ thấy phần “Iloveyou.txt” hiển

thị nên user sẽ mở file này để đọc và lập tức file này được thực thi và Agent code

được cài vào máy nạn nhân. Ngoài ra còn nhiều cách khác như ngụy trang file,

ghép file…

- Rootkit: là những chương trình dùng để xóa dấu vết về sự hiện diện của

Agent hay Handler trên máy của nạn nhân. Rootkit thường được dùng trên Hander

software đã được cài, đóng vai trò xung yếu cho sự hoạt động của attack-network

SVTH: Ngô Thành Long Page 36

Page 37: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

hay trên các môi trường mà khả năng bị phát hiện của Handler là rất cao. Rootkit

rất ít khi dùng trên các Agent do mức độ quan trọng của Agent không cao và nếu

có mất một số Agent cũng không ảnh hưởng nhiều đến attack-network.

2.5.2. Giao tiếp trên Attack-Network:

- Protocol: giao tiếp trên attack-network có thể thực hiện trên nền các

protocol TCP, UDP, ICMP.

- Mã hóa các giao tiếp: một vài công cụ DDoS hỗ trợ mã hóa giao tiếp trên

toàn bộ attack-network. Tùy theo protocol được sử dụng để giao tiếp sẽ có các

phương pháp mã hóa thích hợp. Nếu attack-network ở dạng IRC-based thì private

và secrect channel đã hỗ trợ mã hóa giao tiếp.

- Cách kích hoạt Agent: có hai phương pháp chủ yếu để kích hoạt Agent.

Cách thứ nhất là Agent sẽ thường xuyên quét thăm dó Handler hay IRC channel để

nhận chỉ thị (active Agent). Cách thứ hai là Agent chỉ đơn giản là “nằm vùng” chờ

chỉ thị từ Handler hay IRC Channel.

2.5.3. Các nền tảng hỗ trợ Agent:

Các công cụ DDoS thông thường được thiết kế hoạt động tương thích với

nhiều hệ điều hành khác nhau như: Unix, Linux, Solaris hay Windows. Các thành

phần của attack-network có thể vận hành trên các môi trường hệ điều hành khác

nhau.

Thông thường Handler sẽ vận hành trên các hệ chạy trên các server lớn như

Unix, Linux hay Solaris. Agent thông thường chạy trên hệ điều hành phổ biến nhất

là windows do cần số lượng lớn dễ khai thác.

2.5.4. Phân tích hai công cụ về DoS (Smurf attack) và DDoS (TFN attack):

2.5.4.1. Chương trình DoS điển hình:

Chương trình còn có tên gọi Smurf attack. Nó xuất hiện vào năm 1997, với

ý tưởng xử dụng mạng khuếch đại (amplifier), nhằm tăng dòng lưu lượng lên

nhiều lần bằng cách lợi dụng gói tin broadcast gởi đến router để nó truyền đến tất

cả các máy tính trong cùng một broadcast domain. Với địa chỉ IP nguồn (source

IP) của gói tin giả mạo là máy nạn nhân (victim). Khi đó các máy tính nằm trong

cùng một broadcast domain sẽ đồng loạt gửi gói tin đáp trả (reply) đến victim.

SVTH: Ngô Thành Long Page 37

Page 38: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Sau đây minh họa một chương trình nguồn mở (open source) smurf attack:

Hình 2.15: Minh họa công cụ DoS – Smurf attack

Chương trình chỉ có một tập tin smurf.c. Sau khi biên dịch, thực thi sẽ có

các thông số như trên:

<target>: địa chỉ mục tiêu cần tấn công, đây cũng là địa chỉ dùng để giả

mạo trong gói tin ICMP ECHO_REQUEST

<bcast file>: vị trí của tập tin chứa danh sách các địa chỉ broadcast, dùng

để gởi đến router

<number packets>: số gói tin ICMP ECHO_REQUEST gởi đến. 0 tức là gởi

vô số

<packet delay>: khoảng thời gian tạm dừng cho mỗi gói gởi đến.

<packet size>: kích thước gói ICMP

Ví dụ minh họa một dòng lệnh thực thi chương trình Smurf:

SVTH: Ngô Thành Long Page 38

Page 39: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Hình 2.16: Minh họa bằng dòng lệnh

Sử dụng chương trình bắt gói tin Ethereal. Quan sát thấy hệ thống victim

sẽ nhận rất nhiều gói tin ICMP ECHO_REPLY mặc dù bản thân không hề gởi

ICMP ECHO_REQUEST.

SVTH: Ngô Thành Long Page 39

Page 40: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Hình 2.17: Phân tích bằng công cụ bắt gói Ethereal

Ph â n tí c h g ói I CMP E C H O

Đễ dàng nhận thấy các gói tin ICMP ECHO_REPLY vào hệ thống victim

với trường sequence number luôn là 0x0000. Đó là điểm khác biệt với một gói tin

PING thông thường (sequence number luôn thay đổi).

Để tấn công có hiệu quả, attacker thường tăng kích thước của gói ICMP lớn

hơn gói tin PING thông thường (gói PING chỉ có 32 bytes) nhằm nhanh chóng

flood hệ thống.

2.5.4.2. Chương trình DDoS điển hình:TFN (Tribe Flood Network)

TFN là một chương trình tấn công từ chối dịch vụ phân tán ra đời vào năm

1999, hoạt động trên hệ điều hành Unix, cùng phát triển với nó là Trin00, cũng

là một chương trình DDoS ra đời đầu tiên (giới thiệu ở trên). Mã nguồn TFN xây

dựng gồm 2 tập tin nhị phân chính, một đóng vai trò Client (nó được điều khiển

bởi attacker), một đóng vai trò Deamon (nằm trên máy bị thỏa hiệp –

compromised). TFN có khả năng khởi phát tấn công với nhiều loại: ICMP

Flood, SYN Flood, UDP Flood và Smurf attack, cũng như cung cấp một cổng

TCP với đặc quyền root (quyền cao nhất trong Unix)

Bằng cách khai thác một lỗ hổng về bảo mật, attacker có thể chèn tập tin nhị

phân TFN Daemon và điều khiển nó thông qua TFN Client (TFN Client

SVTH: Ngô Thành Long Page 40

Page 41: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

cũng giống như TFN Deamon, cũng là một tập tin sẽ bị lây nhiễm trên một máy

tính nào đó, nhưng nó đóng vai trò trung gian là điều khiển các máy Daemon nhằm

tăng thêm tính “bảo mật” cho attacker). Về nguyên thủy, những Daemon này sẽ bị

điều khiển dựa trên những tập lệnh truy xuất từ xa (remote command shells). Đối

với một attacker chuyên nghiệp (experience attacker), họ có thể thay đổi mã

nguồn với mật khẩu khác, phương thức tấn công khác hay những dấu hiệu khác.

Hiện tại, cả hai Client và Daemon đều chạy trên môi trường Unix cũng như

Linux. Nó tuân theo mô hình tấn công từ chối dịch vụ phân tán, đó là:

attaker(s) client(s) daemon(s) victim(s).

Mã nguồn TFN có 2 tập tin chính: “tribe.c” làm client và “td.c” làm

daemon. Attacker sẽ điều khiển một hoặc nhiều client, client sẽ điều khiển một

hoặc nhiều daemon. Những daemon này sẽ trực tiếp xây dựng những gói tin

(packet) phục vụ cho mục đích tấn công, đồng loạt tấn công vào một hay nhiều

mục tiêu (victim) do client yêu cầu.

G i a o ti ế p:

Điều khiển từ xa của mạng TFN được thực hiện bởi chương trình client thông qua dòng lệnh, nó xác lập nhiều phương thức kết nối với daemon, chẳng hạn như; tập lệnh truy xuất từ xa dựa trên cổng TCP, hay tập lệnh từ xa theo mô hình client/server dựa trên UDP, hoặc ICMP như LOKI, phiên đầu cuối SSH, hay một phiên Telnet thông thường.

Khi chạy client không cần password, client sẽ nắm giữ một tập tin liệt kê danh sách những daemon mà nó thuộc về.

Giao tiếp giữa Client và Daemon xác lập thông qua những gói tin ICMP_ECHOREPLY. Do nó không phải là những gói TCP hay UDP, người ta ít khi nào“dán mắt” vào những gói ICMP, cho nên nó lợi dụng đặc điểm nào để truyền thông vớinhau.

Nguyên thủy (không thay đổi mã nguồn), sau khi biên dịch chạy chương trình Client, nó có giao diện như sau (giả định chương trình Daemon được kích hoạt và chạy tiềm ẩn):

SVTH: Ngô Thành Long Page 41

Page 42: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Hình 2.18: Minh họa công cụ DDoS – TFN

<iplist>: chứa danh sách những máy tính (host) bị nhiễm phần mềm Daemon. Nó sẽ thỏa hiệp phát lệnh tấn công cho những host này.

<type>: các loại tấn công ngập lụt (Flood). Ví dụ: số 1 đại diện loại tấn công là UDP.

<ip>: địa chỉ IP của máy victim, nếu nhiều victim, cách nhau bởi dấu “@”

<port>: chỉ định cổng tấn công, 0 :ngẩu nhiên

N h ậ n d ạ n g m ậ t kh ẩ u:

Trong khi client không có mật khẩu, mỗi lệnh gởi qua Daemon chứa một con số nhị phân 16 bit trong trường id của gói ICMP_ECHOREPLY. Trong khi trường sequence number chứa hằng số là 0x0000, trông giống như gói tin bằng lệnh “ping” đầu tiên.

Giá trị những con số này được quy định trong tập tin cấu hình config.h

SVTH: Ngô Thành Long Page 42

Page 43: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Hình 2.19: Tập tin chứa danh sách các mật khẩu điều khiển agent

Nhìn vào hình trên, có thể thấy, nếu như một attacker kinh nghiệm, họ có thể thay đổicác thông số giao tiếp. Như vậy sẽ giúp cho họ dễ điều khiển các Daemon cũng như khỏi“đụng chạm” với các attacker khác.

Dưới đây là quá trình thực hiện ngập lụt các gói tin TCP vào máy victim:

Hình 2.20: quá trình tấn công diễn raQuan sát trên máy victim bằng phần mềm bắt gói Ethereal, sẽ nhận biết

được lưu lượng TCP tăng đột biến:

SVTH: Ngô Thành Long Page 43

Page 44: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Hình 2.21: Bị Flood bởi các gói TCP SYN

Công cụ TFN còn giả mạo cả địa chỉ IP nguồn (source address) khiến cho

người quản trị khó nhận biết được lưu lượng thực xuất phát từ daemon.

Hình 2.22: Minh họa bằng công cụ bắt gói Ethereal

L ầ n tìm dấ u hi ệ u:

Giám sát lưu lượng mạng bằng công cụ Ethearel, thực hiện lệnh

“ping –c 3 192.168.1.111” (ý nghĩa: gửi 3 gói ICMP_ECHO và chờ đáp ứng trở

lại). Ta sẽ thấy được những gói ICMP_ECHOREQUEST với trường payload

cố định và gói đáp trả về ICMP_ECHOREPLY cũng với payload tương tự.

Đồng thời trường sequence number sẽ tăng dần khi mỗi gói tin gởi đến (cũng

như trả về tương ứng)

Khi điều khiển TFN Client, gởi những lệnh tới Daemon đều sử dụng

những gói

ICMP_ECHOREPLY thay vì ICMP_ECHO. Lý do thực hiện điều này

nhằm tránh nhân (kernel) của hệ thống máy Daemon không chấp nhận những

gói ICMP_ECHOREQUEST mà vẫn chấp nhận những gói ICMP_ECHOREPLY.

SVTH: Ngô Thành Long Page 44

Page 45: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Daemon sau đó nếu cần thiết có thể đáp lại Client cũng bằng những gói

ICMP_ECHOREPLY.

Sử dụng tiện ích tcpdump (tiện ích bắt gói và giải mã gói tin, hỗ trợ sẵn có

trong kernel) của Linux, có thể thấy được một thủ tục truyền thông giữa Client và

Daemon:

Hình 2.23: nhận dạng quá trình giao tiếp giữa Client – Deamon

Theo dõi quá trình trao đổi ICMP, Client sẽ gởi gói ICMP_ECHOREPLY

với trường ID có mã hexa là 0x016F (dạng thập phân là 567) theo như tập tin cấu

hình config.h trong mã nguồn, yêu cầu Daemon ngưng tấn công. Ngoài ra,

trường sequence number luôn là

SVTH: Ngô Thành Long Page 45

Page 46: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

0x0000 (không giống như gói tin “ping” thông thường).

Đây là dấu hiệu nhận biết có thể giúp ta phát hiện ra một cuộc tấn công

TFN (nếu như mã nguồn không thay đổi).

SVTH: Ngô Thành Long Page 46

Page 47: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

2.6. TÌM HIỂU VỀ IDS:

2.6.1. Khái niệm:

IDS (Intrusion Detection System_ hệ thống phát hiện xâm nhập) là một

thống giám sát lưu thông mạng, các hoạt động khả nghi và cảnh báo cho hệ thống,

nhà quản trị

Ngoài ra IDS cũng đảm nhận việc phản ứng lại với các lưu thông bất thường hay có

hại bằng cách hành động đã được thiết lập trước như khóa người dùng hay địa chỉ

IP nguồn đó truy cập hệ thống mạng,…..

IDS cũng có thể phân biệt giữa những tấn công bên trong từ bên trong (từ những

người trong công ty) hay tấn công từ bên ngoài (từ các hacker). IDS phát hiện dựa

trên các dấu hiệu đặc biệt về các nguy cơ đã biết (giống như cách các phần mềm

diệt virus dựa vào các dấu hiệu đặc biệt để phát hiện và diệt virus) hay dựa trên so

sánh lưu thông mạng hiện tại với baseline(thông số đo đạc chuẩn của hệ thống) để

tìm ra các dấu hiệu khác thường.

Ta có thể hiểu tóm tắt về IDS như sau :

Chức năng quan trọng nhất : giám sát -cảnh báo - bảo vệ 

- Giám sát : lưu lượng mạng + các hoạt động khả nghi.

- Cảnh báo : báo cáo về tình trạng mạng cho hệ thống + nhà quản trị.

- Bảo vệ : Dùng những thiết lập mặc định và sự cấu hình từ nhà quản trị mà

có những hành động thiết thực chống lại kẻ xâm nhập và phá hoại.

- Chức năng mở rộng :

- Phân biệt : "thù trong giặc ngoài"

- Phát hiện : những dấu hiệu bất thường dựa trên những gì đã biết hoặc nhờ

vào sự so sánh thông lượng mạng hiện tại với baseline 

2.6.2. Các thành phần và chức năng của IDS:

IDS bao gồm các thành phần chính:

Thành phần thu thập thông tin gói tin.

Thành phần phát hiện gói tin.

Thành phần xử lý (phản hồi)

SVTH: Ngô Thành Long Page 47

Page 48: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Hình 2.24: Mô hình kiến trúc phát hiện xâm nhập

2.6.2.1. Thành phần thu thập gói tin

Thành phần này có nhiệm vụ lấy tất cả các gói tin đi đến mạng. Thông thường các

gói tin có địa chỉ không phải của một card mạng thì sẽ bị card mạng đó hủy bỏ

nhưng card mạng của IDS được đặt ở chế độ thu nhận tất cả. Tất cả các gói tin qua

chúng đều được chụp, xử lý, phân tích đến từng trường thông tin. Bộ phận thu nhận

gói tin sẽ đọc thông tin từng trường trong gói tin, xác định chúng thuộc kiểu gói tin

nào, dịch vụ gì… Các thông tin này được chuyển đến thành phần phát hiện tấn

công

2.6.2.2. Thành phần phát hiện gói tin

Ở thành phần này, các bộ cảm biến đống vai trò quyết đinh. Vai trò của bộ

cảm biến là dung để lọc thong tin và loại bỏ những thong tin dữ liệu không tương

thích đạt được từ các sự kiện lien quan đến hê thống bảo vệ, vì vậy có thể phát hiện

được các hành động nghi ngờ.

2.6.2.3. Thành phần phân hồi

Khi có dấu hiệu của sự tấn công hoặc thâm nhập, thành phần phát hiện tấn

công sẽ gởi tín hiệu báo hiệu (alert) có sự tấn công hoặc thâm nhập đến thành phần

phản ứng. Lúc đó thành phần phản ứng sẽ kích hhọat tường lửa thực hiện chức

năng ngăn chăn cuộc tấn công hay cảnh báo tới người quản trị.

2.6.3. Phân loại IDS

Cách thong thường nhất để phân loại hệ thống IDS (cũng như IPS) là dựa

vào đặc điểm của nguồn dữ liệu thu nhập được. Trong trường hợp này, các hệ

thống IDS được chia thành các loại sau:

SVTH: Ngô Thành Long Page 48

Page 49: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Host-based IDS (HIDS): Sử dụng dữ liệu kiểm tra từ một máy trạm đơn để

phát hiện xâm nhập

Network-based IDS (NIDS): Sử dụng dữ liệu trên toàn bộ lưu thong mạng,

cùng với dữ liệu kiểm tra từ một hoặc một vài máy trạm để phát hiện xâm nhập

2.6.3.1. Network Base IDS (NIDS)

Được đặt giữa kết nối hệ thống mạng bên trong và mạng bên ngoài để giám

sát toàn bộ lưu lượng vào ra. 

Có thể là một thiết bị phần cứng riêng biệt được thiết lập sẵn hay phần mềm

cài đặt trên máy tính. Chủ yếu dùng để đo lưu lượng mạng được sử dụng.Tuy nhiên

có thể xảy ra hiện tượng nghẽn cổ chai khi lưu lượng mạng hoạt động ở mức cao.

Hình 2.25: Mô Hình NIDS

2.6.3.2. Lợi thế của Network-Based IDS

Chi phi thấp: Do chỉ cần cài đặt NIDS ở những vị trí trọng yếu là có thể

giám sát lưu lượng toàn mạng nên hệ thống không cần phải nạp các phần mền và

quản lý trên các máy toàn mạng

Phát hiện được các cuộc tấn công mà HIDS bỏ qua: Khác với HIDS, NIDS

kiểm tra header của tất cả các gói tin vì thế nó không bỏ sót các dấu hiệu xuất phát

từ đây.

SVTH: Ngô Thành Long Page 49

Page 50: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Khó xóa bỏ dấu vết (evidence): Các thong tin lưu trong log file có thể bị kẻ

đột nhật sửa đổi để che dấu các hoạt động xâm nhập, trong tình huống này HIDS

khó có đủ thong tin để hoạt động. NIDS sử dụng lưu thong hiện hành trên mạng để

phát hiện xâm nhập. Vì thế, kẻ đột nhập không xóa bỏ được các dấu vết tấn công

Phát hinệ và đối phó kịp thời: NIDS phát hiện các cuộc tấn công ngay khi

xảy ra, vì thế việc cảnh báo và đối phó có thể thực hinệ được nhanh hơn

Có tính độc lập cao: Lỗi hệ thống không ảnh hưởng đáng kể nào đói với

công việc của các máy trên mạng.

2.6.3.3. Hạn chế của Network-Based IDS

Bị hạn chế với Switch: nhiều lợi điểm của NIDS không phát huy được trong

các mạng chuyển mạch hiện đai. Thiết bị switch chia mạng thành nhiều phần độc

lập vì thế NIDS khó thu thập được thong tin trong toàn mạng.

Hạn chế về hiệu năng: NIDS sẽ gặp khó khăn khi phải xử lý tất cả các gói

tin trê mạng rộng hoặc có mật độ lưu thong cao, dẫn đến không thể phát hiện các

cuộc tấn công thực hiện vào lúc cao điểm.

Tăng thong lượng mạng: Một hê thống phát hiện xâm nhập có thể cần truyền

một dung lượng dữ liệu lớn trở về hệ thống phân tích trung tâm, có nhĩa là một gói

tin được kiểm soát sẽ sinh ra một lượng lớn tải phẩn tích

Một hệ thống NIDS thường gặp khó khăn trong việc xử lý các cuộc tấn công

trong một phiên được mã hóa

Một số hệ thống NIDS cũng gặp khó khăn khi phát hiện các cuộc tấn công

mạng từ các gói tin phân mảnh. Các gói tin định dạng sai này có thể làm cho NIDS

hoạt động sai và đổ vỡ

2.6.4. Host Base IDS (HIDS):

Được cài đặt cục bộ trên một máy tính làm cho nó trở nên linh hoạt hơn

nhiều so với NIDS. Kiểm soát lưu lượng vào ra trên một máy tính, có thể được

triển khai trên nhiều máy tính trong hệ thống mạng. HIDS có thể được cài đặt trên

nhiều dạng máy tính khác nhau cụ thể như các máy chủ, máy trạm, máy tính xách

tay. HIDS cho phép bạn thực hiện một cách linh hoạt trong các đoạn mạng mà

NIDS không thể thực hiện được. Lưu lượng đã gửi tới máy tính HIDS được phân

tích và chuyển qua nếu chúng không chứa mã nguy hiểm. HIDS được thiết kế hoạt

SVTH: Ngô Thành Long Page 50

Page 51: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

động chủ yếu trên hệ điều hành Windows , mặc dù vậy vẫn có các sản phẩm hoạt

động trong nền ứng dụng UNIX và nhiều hệ điều hành khác

2.6.4.1. Lợi thế của Host IDS:

- Xác định được kết quả của cuộc tấn công: Do HIDS sử dụng dữ liệu log lưu

các sự kinệ xảy ra, nó có thể biết được cuộc tấn công là thành công hay thất bại với

độ chính xác cao hơn NIDS

- Giám sát được các hoạt động của thể của hệ thống: HIDS có thể giám sát

các hoạt động mà NIDS không thể như: truy nhập file, thay đổi quyền, các hành

động thực thi, truy nhập dịch vụ được phân quyền. Đồng thời nó cũng giám sát các

hoạt động chỉ được thực hiện bởi người quản trị.

- Phát hiện các xâm nhập mà NIDS bỏ qua

- Thích nghi tốt với môi trường chuyển mạch, mã hóa: Việc chuyển mạch và

mã hóa thực hiện trên mạng và do HIDS cài đặt trên máy nên nó không bị ảnh

hưởng bởi hai kỹ thuật trên

- Không yêu cầu thêm phần cưng: Được cài đặt trực tiếp trên hạ tầng mạng có

sẵn (FTP server, Webserver) nên HIDS không yêu cầu phải cài đặt them các phần

cứng khác

2.6.4.2. Hạn chế của Host IDS:

- Khó quản trị

- Thông tin nguồn không an toàn

- Chi phí cao

- Chiếm tài nguyên hê thống

SVTH: Ngô Thành Long Page 51

Page 52: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

2.7. XÂY DỰNG CƠ CHẾ PHÒNG THỦ:

Không cần quan tâm đến mình có phải là mục tiêu tấn công hay không,

hay bắt đầu từng bước xây dựng kịch bản trước cho mình bỏi vì không thể

nào biết được attacker có “nhắm” đến mình hay không, hay mình có bị “trở

thành” agent hoặc hander? Dưới đây là những giai đoạn trong phạm vi “bảo vệ,

phát hiện và đáp trả”.

Chuẩn bị: phải hiểu rõ cơ cấu vận hành hệ thống bên trong và phải có

những công cụ cần thiết thực hiện bắt gói và phân tích trên cả host lẫn

mạng (network). Đó cũng là cách để phòng chống những cuộc tấn công đơn

giản trước khi bị DoS/DDoS.

Phát hiện: Không phải tất cả những cuộc tấn công nào cũng đều gây cho

hệ thống của mình bị “lỗi”, tuy nhiên, nếu có lỗi thì phải biết lỗi đó là gì.

Từ những vấn đề đơn giản được phát hiện thì mới có thể phòng tránh được

những vấn đề phức tạp hơn. Bằng cách ghi lại một cách định kỳ những

công việc mà hệ thống hoạt động, tuy nhiên vẫn phải đảm bảo về mặt

pháp lý. Chẳng hạn, bạn có thể phân loại những host nào đó mà mình cho

là nguy hiểm hay xây dựng một IDS hoạt động trên mạng.

Nhận dạng: nếu không thường xuyên bắt dữ liệu để xác định công

cụ tấn công DoS/DDoS. Bạn cũng có thể được hỗ trợ bởi những tổ chức

phân tích các công cụ hiện có trên internet mà attacker hay sử dụng, từ

đó hiểu được cơ chế hoạt động của DoS/DDoS. Bằng cách chia sẽ thật

nhiều thông tin về tấn công, nó sẽ hạ thấp một mạng tấn công DDoS.

Đáp trả: thực hiện khóa lưu lượng tạm ngưng cuộc tấn công, nhận dạng

những máy tính bị thỏa hiệp và thu thập chứng cứ phục vụ về mặt pháp lý,

hay tóm lược một bảng báo cáo nhanh cho các điều tra viên để họ giúp đỡ

bạn trong thời kỳ “khủng hoảng” vì DDoS.

Phân tích sau một vụ tấn công: điều này rất quan trọng nhằm xác định

những gì bạn làm được và chưa làm được. Bạn thu được những gì? có

nhận dạng ra cuộc tấn công đó không? Nhất định mỗi một công cụ viết ra

SVTH: Ngô Thành Long Page 52

Page 53: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

đều phải có một cơ chế hoạt động riêng của nó. DoS/DDoS cũng vậy, và

từ “vô số” những packet mà bạn thu được, bạn có thể rút ra dấu hiệu của

nó? Đó cũng đồng nghĩa với việc bạn có một “sơ hỡ” nào đó của hệ

thống bên trong.

2.7.1. Chuẩn bị trước một cuộc tấn công DoS/DDoS:

Chuẩn bị là bước quan trọng đầu tiên trong công tác quản trị rủi ro. Hiểu như

thế nào mạng của mình được tổ chức và nó làm việc như thế nào sẽ giúp cho bạn

nhận biết những hệ thống nào còn “yếu” và rất có thể trở thành mục tiêu của

attacker. Cũng cố và tổ chức lại hệ thống mạng sẽ giúp cho bạn chống lại những

cuộc tấn công đơn giản và tối thiểu hóa tính “hủy diệt” khi bắt gặp. Cuối cùng,

chuẩn bị như là một thủ tục cần thiết nhằm phản ứng lại một cách nhanh

chóng khi một cuộc tấn công xảy ra và sẽ thu được nhiều kinh nghiệm thiếu sót

cho mình

2.7.1.1. Hiểu rõ hệ thống bên trong:

Ảnh hưởng từ DoS/DDoS thường rõ ràng nhất đó là bản thân hệ thống mạng

bị trì hoãn và đình trệ các kết nối. Phụ thuộc vào tài nguyên của hệ thống, bạn sẽ

cảm nhận được ảnh hưởng của DoS thuộc về một dịch vụ cụ thể, những máy

tính hay những mạng con bị nghẽn kết nối. Phải nắm rõ giá trị thuộc về tổ chức:

Tầm quan trọng trong việc kinh doanh hằng ngày của tổ chức.

Chi phí thất thoát là bao nhiêu khi có sự cố.

Những dịch vụ nào là quan trong hơn hết.

Chi phí tồn động khi kết nối đến công ty bị giảm.

Hầu hết những doanh nghiệp ngày nay đều hoạt động trên Internet, như e-

mail, hỗ trợ trực tuyến khách hàng, thương mại điện tử,… do đó vấn đề về kết nối

rất quan trọng.

2.7.1.2. Bảo mật trên những host đầu cuối:

Sau giai đoạn chuẩn bị, tiếp theo bạn phải đảm bảo hệ thống đầu cuối an

toàn. Đó là: giảm thiểu những lỗ hỗng có thể trở thành máy tính bị “thỏa hiệp”

và cấu hình hệ thống cho phù hợp.

Giảm thiểu lỗi trên máy tính:

Trong khi hầu hết nhiều kế hoạch phổ biến để có một cuộc tấn công DoS

SVTH: Ngô Thành Long Page 53

Page 54: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

hiệu quả đó là tạo ra số lượng lớn các gói tin truyền đi, nếu hệ thống mục tiêu

có một phần mềm lỗi, lợi dụng nó có thể chỉ cần một vài gói tin thì cũng có thể

shutdown host đó mà vẫn đạt được hiệu quả đáng kể. Có rất nhiều loại tấn công

theo cách này. Hơn nữa, tất cả những kỹ thuật để thu được những máy tính làm

agent đều đạt được bằng cách khai thác những lỗ hổng này. Vì vậy sữa lỗ hổng

trên hệ thống không những cải thiện tình trạng bảo mật trước nhiều mối

nguy hại (virus, worm, malware,...) mà nó còn tránh bị “lôi kéo” vào những

cuộc tấn công trên những nơi khác.

Ngày nay những ứng dụng và hệ điều hành đều chạy trên những host cục

bộ và luôn yêu cầu thường xuyên vá lỗi và nâng cấp. Nhiều nhà cung cấp có một

hệ thống tự động cập nhật . Những hệ thống này sẽ cho bạn biết khi nào có một lỗ

hỗng mới được khám phá và sẽ phân phối, cài đặt đến hệ thống của bạn. Ví

dụ, Microsoft thường duy trì bản cập nhật trên website

http:// www . w indo w supd a t e . c om trên hệ thống sử dụng hệ điều hành Window,

người dùng có thể tìm hiểu các lỗ hổng mới đồng thời tải những bản vá lỗi liên

quan và cập nhật. Red Hat, cộng đồng phát triển trên hệ điều hành Linux cũng duy

trì một website với những cảnh báo và những sản phẩm vá lỗi trên

http:// www . re dh a t. c om/ a pps/suppo r t/ erra t a / . Hay người dùng cũng có thể cho tự

động cập nhật tại http : // www . re dh a t/so f t ware / r hn/upd a t e . Trên những hệ thống

khác như MacOS cũng có những dịch vụ cập nhật phần mềm.

Các phần mềm phát hiện virus cần phải thường xuyên cập nhật những dấu hiệu

virus mới. Đôi khi việc này cũng giúp bạn phát hiện và ngăn chặn những nỗ

lực xâm nhập vào hê thống. Mỗi sản phẩm phát hiện virus đều có chế độ tự động

cập nhật.

Xét về giao thức, chẳng hạn như TCP SYN, đây là trường hợp mà attacker

lợi dụng những điểm yếu của nó và khai thác triệt để. Có một sự thay đổi về giao

thức TCP, bản vá TCP syncookie, xử lý thành công đối với loại tấn công này bằng

cách thay đổi những bước xác lập kết nối. Bản vá này rất thích hợp đối với giao

thức nguyên thủy. Đối với những hệ điều hành như Linux, FreeBSD đã phát

triển kỹ thuật TCP syncookie trên cả những hệ thống người dùng, cho phép họ

có thể tùy chỉnh (mặc định là disable) bằng cách cấu hình

SVTH: Ngô Thành Long Page 54

Page 55: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

“echo1>/proc/sys/net/ipv4/tcp_syncookies” trong đoạn mã khi khởi động máy.

WindowsNT bảo vệ tấn công dạng SYN bằng cách phát hiện các kết nối dạng

half-open và thay đối các retransmission (truyền lại) và chỉ định bộ đệm, và thời

gian, bằng cách thay đổi thông số trong registry: HKLM system

CurrentcontrolSet Services Tcpip SynAttackProtect thành 1 hoặc 2. Đối với

hệ thống về Unix như FreeBSD, thực thi dòng lệnh sau “sysct1 –w

net.inet.tcp.syncookies=1”.

Xác thực trong giao thức cũng là cách thường được áp dụng. Phát triển một

máy chủ có tính năng yêu cầu các client khi có kết nối vào phải xác thực đảm bảo

đúng địa chỉ thật.

Nhiều hệ điều hành mặc định có thể bật những dịch vụ không thường

xuyên sử dụng. Những dịch vụ này lắng nghe trên những port, đôi khi nó

cung cấp một backdoor vào máy của bạn. Hãy thận trọng disable tất cả những

dịch vụ không cần thiết và đóng những port không sử dụng và lọc lưu lượng cho

những dịch vụ khác. Ví dụ, nếu một host không hoạt động như một DNS server,

thì không cần phải cho phép DNS request đến nó. Có thể xây dựng một tường lửa

các nhân (chẳng hạn như IPtable sẵn có trên Linux hay những sản phẩm khác

trên Window) để lọc lưu lượng. Lọc tại bộ định tuyến (router) cục bộ (chẳng hạn

sử dụng một loại “screened subnet” của tường lửa) cũng rất tốt. Giám sát những

dịch vụ hiện đang hoạt động trên host của bạn, bạn có thể nhìn vào danh sách các

port đang mở hay sử dụng một công cụ scan port (như Nmap –

http:// www .ins e c u re .or g /nm a p/ind e x.html ) tương tự, tuy nhiên sử dụng nó thật cẩn

thận vì nó có thể làm tổn hại hệ thống của mình.

Hầu hết các công cụ tấn công DDoS sử dụng kỹ thuật giả mạo địa

chỉ IP, thường là giả mạo địa chỉ nguồn để tránh bị phát hiện. Thực hiện

lọc lưu lượng vào/ra để xóa đi các gói tin giả mạo đó. Bằng cách sử dụng

những địa chỉ IP bên trong chỉ định rõ ràng và chỉ cho phép đúng những địa chỉ đó

mới có thể định tuyến ra ngoài (đây cũng là một kỹ thuật cải tiến thường áp dụng

ngày nay).

Tóm lại, cố gắng fix (sửa) những lỗ hổng càng sớm càng tốt, khi đó nó sẽ

làm cho attacker rất khó khăn trong tấn công DoS/DDoS. Hoặc ít nhất cũng

SVTH: Ngô Thành Long Page 55

Page 56: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

giảm bớttốc độ tấn công thay vì để từ chối dịch vụ nhanh chóng, họ phải tạo ra

một luồng lưu lượng cao thực sự.

Thiết lập giới hạn trên hệ thống:

Ngoài việc vá lỗ hổng bảo mật, một trong những bước đầu tiên mà lỡ

xảy ra trường hợp bị DDoS tại dịch vụ hay hệ thống đầu cuối – nhưng cuối cùng

nó không “đủ mạnh” để làm sụp đổ hoàn toàn. Đó chính là giới hạn các tài

nguyên trên hệ thống tại “ranh giới” của lưu lượng ra vào. Những hệ thống này

phải tiếp nhận tất cả lưu lượng và thực hiện “sàn lọc” chỉ chấp nhận những kết nối

hợp lệ đi vào.

Tối ưu bộ xử lý CPU.

Quản lý khả năng thực thi của đĩa

Quản lý khả năng thực thi của mạng

Tối ưu bộ nhớ

Xử lý số lượng các kết nối vào server

2.7.1.3. Củng cố hệ thống mạng:

Ngoài vấn đề về bảo mật tại những host cục bộ, chúng ta cũng phải nghĩ

đến tính bảo mật trên mạng. Đó chính là tính dự phòng và nó được thiết kế và thực

thi như sao.

Dự phòng mạng:

Một giải pháp theo “hướng thẳng” để xử lý luồng lưu lượng cao đó

là mua nhiều tài nguyên, một cách thức được biết đến đó là overprovisioning.

Nhưng vấn đề đặt ra là chi phí, trong khi đó attacker tốn rất ít, thậm chí là không

tốn một xu để tuyển dụng nguồn tài nguyên phong phú trên internet.

Một hình thức của overprovisioning là nâng cấp tài nguyên máy chủ.

Nâng cấp máy chủ với bộ xử lý mới nhất, ổ đĩa lớn, bộ nhớ mạnh. Hoặc sử dụng

nhiều máy chủ dự phòng hay sử dụng nó như một bộ máy cân bằng tải.

Điều này cũng cải thiện phần nào các người dùng hợp lệ. Đối với các doanh

nghiệp lớn, họ phải mở rộng theo nhiều cách như vậy. Một cuộc tấn công

DoS/DDoS ở mức độ trung bình thì việc cung cấp các hệ thống dự phòng là điều

đáng quan tâm.

SVTH: Ngô Thành Long Page 56

Page 57: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Nếu như hệ thống của bạn quản lý và giao tiếp ra bên ngoài trên một

đường mạng chung, thì lúc này hãy nghĩ đến băng thông. Nếu bạn đang sử

dụng một đường dây diện thoại chia sẽ kết nối internet, bạn hãy cố gắng “nâng

cấp”, liên lạc với nhà cung cấp dịch vụ internet (ISP) để đặt mua một băng

thông khác, bởi vì mục tiêu của tấn công DoS vẫn là từ chối dịch vụ. Một băng

thông thấp càng làm cho bạn bị đình trệ trong kết nối.

Thiết kế:

Khi tấn công DDoS gửi số lượng lớn các yêu cầu từ dịch vụ của bạn, nhất

định hệ thống của bạn phải chịu ảnh hưởng về lỗi. Thiết kế, tổ chức mạng sao cho

nó cókhả năng chịu lỗi lâu hơn. Đôi khi việc dự trù trước về lỗi xảy ra cũng mang

nhiều lợi ích trong công cuộc phòng chống những sự kiện không mong muốn. Sau

đây là những công nghệ sử dụng để thiết kế:

Phân chia các dịch vụ. Bạn có thể cung cấp những đường mạng vật lý khác

nhau cho nhiều dịch vụ khác nhau, kết nối đến những nhà cung cấp dịch vụ

khác nhau hay phân chia thành nhiều mạng con. Cách tốt nhất là chia thành

nhiều nhóm tùy theo cấu trúc bên trong mạng của bạn, chẳng hạn: nhóm những

host làm máy chủ Web (server), những máy chủ ứng dụng, máy chủ CSDL,v.v…

Có thể thiết lặp ràng buộc các chính sách như đặt tường lửa ở mỗi nhóm này.

Phân tách các dịch vụ trên những host. Thay vì bạn tập trung nhiều dịch vụ

trên một host, bạn có thể tách từng dịch vụ riêng tđảm nhận rên từng host riêng.

Ví dụ bạn có thể chỉ mở một số port SMTP (25) và POP3 (110) chỉ trên máy chủ

chứa nhận e-mail, các port không cần thiết thì nên đóng lại. Khi đó nếu có một

hành vị lạ xảy ra trên các host này, bạn sẽ nhận biết một cách dễ dàng.

Phân chia đường mạng. Phân chia đường mạng trong tổ chức sao cho

hợp lý cũng là cách làm tốt để tránh ảnh hưởng đến các đường mạng khác. Chẳng

hạn, bạn có một Web server trên một đường mạng riêng kết nối với internet; bạn

có một mail server cũng riêng biệt; giả sử bạn bị tấn công DoS/DDoS trên

Webserver, khi đó các nhân viên vẫn trao đổi e-mail bình thường. Thời gian còn lại

là bạn xử lý cái Webserver đó mà thôi.

Giảm bớt “tầm nhìn” ra bên ngoài. Nếu attacker có thể “học” được cách tổ

chức bên trong mạng của bạn, họ có thể thu được nhiều lợi ích phục vụ cho việc

SVTH: Ngô Thành Long Page 57

Page 58: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

tấn công. Có một số công nghệ phụ giúp một cách tìm ẩn mạng của mình. Chẳng

hạn, khóa những gói ICMP ECHO_REPLY có thể ngăn chặn attacker học cách

thức định tuyến của mình. Hoặc “cắt” thành 2 vùng DNS riêng với cùng một tên

DNS. Một vùng sẽ chứa danh sách những dịch vụ có thể truy xuất ra ngoài

thông qua tường lửa (External DNS server). Vùng kia sẽ chứa những dịch vụ

cung cấp truyền thông bên trong giữa các nhân viên với nhau (Internal DNS

server).

2.7.1.4. Chuẩn bị ứng phó với tấn công:

Lập kế hoạch ứng phó khi bất ngờ có một cuộc tấn công DoS xảy ra. Để

đáp trả lại cuộc tấn công, yêu cầu phải nhanh chóng phát hiện và nhận dạng chính

xác lưu lượng nào là lưu lượng tấn công để mà lọc nó và giới hạn tốc độ của nó.

Phát hiện, nhận dạng và đáp trả có thể thực hiện bằng cách xấy dựng một hệ thống

phòng chống DoS/DDoS hay cũng có thể mua những sản phẩm thương mại sẵn có

trên thị trường.

Bạn sẽ chọn cho mình một kỹ thuật phòng chống và cấu hình sử dụng nó.

Ví dụ, nếu bạn chọn giải pháp là tự động hoàn toàn, một attacker có thể khai thác

tính không xác thực (không sử dụng IPsec hay Encapsulation) trong hầu hết

lưu lượng internet ngày nay. Giả sử, attacker biết được bạn đang sử dụng

một kỹ thuật phòng chống DoS/DDoS nào đó có thể không giữ trạng thái

những lưu lượng UDP, và bạn đã cấu hình nó để khóa tự động những gói tin

UDP vào. DNS, hoạt động dựa trên các gói UDP, giả sử như attacker “phát”

ra số lượng lớn các gói tin UDP không có thật, nó chứa một địa chỉ giả là địa

chỉ của các nhà cung cấp dịch vụ DNS. Khi bạn cấu hình tự động ngăn các gói

UDP này cũng đồng nghĩa với việc bạn đã ngăn cả những nhà cung cấp dịch vụ

DNS thật sự.

Giải pháp hoạt động dựa vào hoàn toàn cấu hình bằng tay cũng có những

vấn đề của nó.Thường thì vấn đề về thời gian đáp ứng nhận dạng tấn công chậm,

từ đó gây ra nguyên nhân phòng chống chậm.

Xây dựng cho mình một hệ thống phòng chống DoS/DDoS riêng thường

chỉ hỗ trợ đối với tổ chức mạng lớn với đội ngủ các chuyên gia bảo mật mạnh. Do

đó vấn đề chọn cho mình một giải pháp tốt cần phải thận trọng phân tích cơ

SVTH: Ngô Thành Long Page 58

Page 59: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

cấu tổ chức bên trong mạng, nên xây dựng một hệ thống riêng hay chỉ cần mua

các sản phẩm hiện có là vấn đề rất quan trọng.

Đi cùng với các hệ thống phòng chống, các công cụ phân tích lưu lượng mạng cũng không kém phần quan trọng. Nó đánh giá hệ thống hoạt động bên trong tổ chức cũng như làm “bằng chứng” nói lên một kẻ tấn công nào đó về mặt pháp lý.CHƯƠNG 3: MÔ PHỎNG TẤN CÔNG VÀ PHÒNG THỦ

3.1. Giới thiệu mô hình:

Hệ thống giả lập sẽ mô phỏng mạng nội bộ bên trong bao gồm 3 máy: 1 máy

cài hệ thống phát hiện và ngăn ngừa xâm nhập sử dụng công cụ là phần mềm

snort , 1 máy dùng để quản lý hệ thống snort, 1 máy dùng để mô phỏng tấn công,

dưới đây là mô hình giả lập:

Hình 3.1. Mô hình triển khai demoMô hình gồm:

Hệ điều hành:

o Server snort: CentOS release 5.5 ( Final)

o Attacker: Win 7

o Manage snort: Win XP Professional

Các gói phần mềm hỗ trợ:

SVTH: Ngô Thành Long Page 59

Page 60: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

o MySQL

o Libdnet-1.12

o Libpcap-1.2.1

o Base-1.4.4

o Snort-2.8.6.1

o Adodb480

o Daq-0.3

o Snortrules-snapshot-2.8

3.1.1. Các bước thực hiện

3.1.1.1. Cài các gói phụ thuộc

Lần lượt cài các gói phụ thuộc dùng lệnh yum install package để cài đặt,

trong đó package là tên các gói lần lượt dưới đây:

mysql

mysql-bench

mysql-server

mysql-devel

yum-utils

php-mysql

php-gd

gcc

pcre-devel

mod_ssl

glib2-devel

distcache-devel

php

php-pear

iptables

iptables-devel

SVTH: Ngô Thành Long Page 60

Page 61: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

- Biên dịch các gói từ nguồn

Một số gói cần thiết cho snort phải biên dịch từ nguồn như: libpcap, libdnet,

libnet, daq.

Cài libpcap-1.2.1:

o Tải libpcap về:

# wgethttp://www.tcpdump.org/release/libpcap-1.2.1.tar.gz

o Biên dịch gói libpcap:

# tar -zxvf libpcap-1.2.1.tar.gz ( giải nén libpcap)

# cd libpcap-1.2.1 ( di chuyển tới thư mục libpcap-1.2.1)

# ./configure && make && make install ( kiểm tra cấu hình và biên

dịch, dấu && có nghĩa là nếu câu lệnh trước thành công thì câu lệnh

sau mới được thực hiện)

Cài libnet-1.0.2a

o Tải libnet-1.0.2a về:

# wgethttp://ips-builder.googlecode.com/files/libnet-1.0.2a.tar.gz

o Biên dịch gói libnet:

# tar -zxvf libnet-1.0.2a.tar.gz

# cd Libnet-1.0.2a

# ./configure && make && make install

Cài libdnet-1.12

o Tải libdnet-1.12 về:

# wgethttp://libdnet.googlecode.com/files/libdnet-1.12.tgz

o Biên dịch gói libdnet:

# tar -zxvf libdnet-1.12.tgz

# cd libdnet-1.12

# ./configure && make && make install

Cài daq

SVTH: Ngô Thành Long Page 61

Page 62: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

o Tải daq-0.3 về:

# wgethttp://www.procyonlabs.com/mirrors/snort/daq-0.3.tar.gz

o Biên dịch gói daq:

# tar -zxvf daq-0.3.tar.gz

# cd daq-0.3

# ./configure && make && make install

- Cài đặt Snort

Giải nén Snort:

# tar -zxvf snort-2.8.6.1.tar.gz

Lần lượt thực hiện cài đặt Snort.

# ./configure --with-mysql --enable-dynamicplugin

Hình 3.2. Kiểm tra môi trường cài đặt Snort

# make

SVTH: Ngô Thành Long Page 62

Page 63: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Hình 3.3. Biên dịch Snort

# make install

Hình 3.4. Đưa cấu hình Snort vào các thư mục cần thiết cấu hình Snort

Tạo các thư mục hoạt động cho Snort

# mkdir /etc/snort

# mkdir /etc/snort/rules

# mkdir /var/log/snort

Chép các file cấu hình

SVTH: Ngô Thành Long Page 63

Page 64: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

# cd etc/

# cp * /etc/snort

Tạo nhóm và người dùng cho Snort

# groupadd snort

# useradd -g snort snort -s /sbin/nologin

Đặt quyền sở hữu và cho phép Snort ghi log vào thư mục chứa log

# chown snort:snort /var/log/snort/

Vào etc/snort và copy 2 file classification.config và reference.config vào

/etc/snort/rules.

- Cài đặt tập luật cho Snort

Tải rule cho snort

# wgethttp://205.196.121.62/y39ohh3t1f6g/ogxnjygyyzz/snortrules-

snapshot-2.8.tar.gz

Giải nén tập luật

# tar -zxvf snortrules-snapshot-2.8.tar.gz

# cd rules

# cp * /etc/snort/rules (copy tập luật vào thư mục rules )

Cấu hình file snort.conf

File cấu hình nằm ở : /etc/snort/snort.conf

Sửa dòng var RULE_PATH /etc/snort/drop-rules

Thành var RULE_PATH /etc/snort/rules

Dưới dòng ### Logging alerts of outbound attacks thêm:

Output database: Alert, mysql, user=snort password=123456dbname=snort

host=localhost

Sau đó lưu file snort.conf lại.

Tạo cơ sở dữ liệu snortvới mysql

# service mysqld start ( khởi động dịch vụ mysqld)

SVTH: Ngô Thành Long Page 64

Page 65: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

# mysqladmin -u root password 123456 (đặt password cho root là 123456

trong MySQL)

# mysql -p

Tạo password cho tài khoản snort:

mysql> use mysql;

mysql> CREATE USER ‘snort’@’localhost’ IDENTIFIED BY ‘123456’;

Tạo cơ sở dữ liệu cho Snort:

mysql> create database snort;

mysql> GRANT CREATE, INSERT, SELECT, DELETE, UPDATE ON

snort.* to snort@localhost;

mysql> flush privileges;

mysql> exit

Tạo các table từ /snort/snort-2.8.6.1/schemas/create_mysql cho database

của snort:

# mysql -u root -p < /root/snort-2.8.6.1/schemas/create_mysql snort

# mysql –p

mysql> show databases;

mysql> use snort;

mysql> show tables;

Quan sát các table:

SVTH: Ngô Thành Long Page 65

Page 66: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Hình 3.5. Bảng Tables trong mysql

Cài đặt Base và Adodb

Cài gói pear cho PHP:

# cd root/snort-2.8.6.1

# pear instal Image_Graph-alpha Image_Canvas-alpha Image_Color

Numbers_Roman;

Cài đặt ADODB:

Tải ADODB:

# wgethttp://pkgs.fedoraproject.org/repo/pkgs/php-adodb/adodb480.tgz/

942164adfc953173205231b9522304e0/adodb480.tgz

# cp adodb480.tgz /var/www/html/

# cd /var/www/html/

# tar -zxvf adodb480.tgz

Cài BASE

SVTH: Ngô Thành Long Page 66

Page 67: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Tải BASE:

# wgethttp://sourceforge.net/projects/secureideas/files/BASE/base-1.4.4/

base-1.4.4.tar.gz/download

# cp /root/base-1.4.4.tar.gz /var/www/html

# tar -zxvf base-1.4.4.tar.gz

# mv base-1.4.4/ base/

# cd base

# cp base_conf.php.dist base_conf.php

Cấu hình file base_conf.php:

# vi base_conf.php

Sửa dòng 57 thành:

$BASE_urlpath=’/base’;

$Dblib_path=’/var/www/html/adodb’;

$alert_dbname=’snort’;

$alert_password=’123456’;

$archive_exists=1;

$archive_dbname=’snort’;

$archive_user=’snort’;

$archive_password=’123456’;

$external_whois_link=’index.php’;

$external_dns_link=’index.php’;

$external_all_link=’index.php’;

Lưu file lại

Cài đặt web base

Bật web browser

Vào 192.168.1.10/base

Click vào Setup Page Create Base AG

SVTH: Ngô Thành Long Page 67

Page 68: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Vào 192.168.1.10/base/base_main.php

a. triển khai trong mạng lan:

Mô hình bài toán:

Thử nghiệm:

Hacker sử dụng phần mềm tấn công từ chối dịch vụ (Dos HTTP) máy chủ web với

port 80.

Hình 3.6: Tool tấn công DDoS

Hình 3.7: Tool tấn công DDoS

Vào giao diện Base sau khi bị DDoS

SVTH: Ngô Thành Long Page 68

Page 69: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Hình 3.8: Giao diện của base sau khi ping không thành công

3.2. Kiểm tra khi truy cập web

3.2.1. Thông báo khi có người truy cập web

Tạo rule để kiểm tra hệ thống

Vào etc/snort/rule/wedthanhlong.rules

Thêm vào cuối file thanhlong.rules:

alert tcp any any -> any 80 (msg: "phai hien co nguoi truy cap web ns ";

sid:10001;)

Rule vừa tạo có nghĩa là hệ thống sẽ cảnh báo khi có người truy cập web

thanhlong.html

Máy tấn công tiến hành vào địa chỉ 192.168.1.10/thanhlong.html, giao diện

web sau khi truy cập:

SVTH: Ngô Thành Long Page 69

Page 70: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Hình 3.9. Giao diện khi truy cập web

Giao diện web base sau khi có người truy cập web:

SVTH: Ngô Thành Long Page 70

Page 71: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Hình 3.10: Giao diện Base sau khi có người truy cập web

Kích vào 100% và thấy hiển thị ra thông báo là :”phat hien co nguoi truy cap web ns”

Hình 3.11: Thông báo khi phát hiện có người truy cập web

3.2.2. Ngăn chặn truy cập web và gửi thông báo

SVTH: Ngô Thành Long Page 71

Page 72: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Tạo rule để kiểm tra hệ thống

Vào etc/snort/rule/maiquoc.rules

Thêm vào cuối file maiquoc.rules:

drop tcp any any -> any $HTTP_PORTS (msg:"truy cap website

ngocsinhda bi chan "; nocase;flow: to_server,established;sid: 1784;rev:1;)

Rule vừa tạo có nghĩa là hệ thống sẽ chặn truy cập web ngocsinh.html và

thông báo cho người quản trị khi có người truy cập web ngocsinh.html

Máy tấn công tiến hành vào địa chỉ 192.168.1.10/thanhlong.html, máy

này lần này sẽ không thể vào được trang thanhlong.html vì đã bị drop bởi hệ

thống snort.

Web Base sau khi truy cập web thanhlong.html là :

Hình 3.12: Giao diện base thông báo truy cập web đã bị chặn

a. Triển khai trên mạng internet

SVTH: Ngô Thành Long Page 72

Page 73: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Chúng ta sẽ sử dụng chương trình MAD WEB FLOODER 1.1 để tấn công 1

website trên mạng bất kì, ở đây tôi chọn trang web www.cit.udn.vn

Một số hình ảnh:

Tool MAD WEB FLOODER

Nhập địa chỉ website cần tấn công

SVTH: Ngô Thành Long Page 73

Page 74: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

Số lượng người đang truy cập vào website

Sau 10 phút, số lượng người truy cập vào website tăng cao đột biến, dẫn đến tình

trạng server quá tải và không đáp ứng được yêu cầu từ các client khác.

SVTH: Ngô Thành Long Page 74

Page 75: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

KẾT LUẬN:

DDoS là một kiểu tấn công rất đặc biệt, điểm cực kỳ hiểm ác của DDoS làm cho nó

khắc phục là “DDos đánh vào nhân tố yếu nhất của hệ thống thông tin – con ngườ -

mà lại là dùng người chống người”. Từ đặc điểm này của DDoS làm phát sinh rất

nhiều các vần đề mà mọi người trong cộng đồng Internet phải cùng chung sứ mới

có thể giải quyết

Các yếu điểm:

1/ Thiếu trách nhiệm với cộng đồng:

Con người thông thường chỉ quan tâm đầu tư tiền bạc và công sức cho hệ thống thông tin của “chính mình”. DDoS khai thác điểm này rất mạnh ở phương thức giả mạo địa chỉ và Broadcast amplification.

2/ Sự im lặng:

Hầu hết các tổ chức đều không có phản ứng hay im lặng khi hệ thống của mình bị lợi dụng tấn công hay bị tấn công. Điều này làm cho việc ngăn chặn và loại trừ các cuộc tấn công trở nên khó khăn. Mọi việc trở nên khó khăn khi mọi người không chia sẻ kinh nghiệm từ các cuộc tấn công, trong khi giới hacker thì chia sẻ mã nguồn mở của các công cụ.

3/ Tầm nhìn hạn hẹp:

Nếu chỉ thực hiện các giải pháp trên thôi thì đưa chúng ta ra khỏi tình trạng cực kỳ yếu kém về bảo mật. Các giải pháp này không thực sự làm giảm các rủi ro của hệ thống thông tin mà chỉ là các giải pháp tình thế. Có những vấn đề đòi hỏi một cái nhìn và thái độ đúng đắn của cộng đồng Internet. Cần phải có những nghiên cứu thêm về mặt quy định bắt buộc và pháp lý nhằm hỗ trợ chúng tac giải quyết các vấn đề mà kỹ thuật không thực hiện nỗi. Một số vấn đề cần thực hiện thêm trong tương lai:

Do vậy để phòng chống các cuộc tấn công DoS và DDoS trong tương lai ta cần phải tiến hành:

- Giám sát chi tiết về luồng dữ liệu ở cấp ISP để cảnh cáo về cuộc tấn công.

- Xúc tiến đưa IPSec và Secure DNS vào sử dụng một cách rộng rãi

- Khẳng định tầm quan trọng của bảo mật trong quá trình nghiên cứu và phát triển của Internet II.

SVTH: Ngô Thành Long Page 75

Page 76: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

- Nghiên cứu phát triển công cụ tự động sinh ra ACL từ security policy và router và firewall.

- Ủng hộ việc phát triển các sản phẩm hướng bảo mật có các tính năng: bảo mật nặc định, tự động update.

- Tài trợ việc nghiên cứu các protocol và các hạ tầng mới hỗ trợ khả năng giám sát, phân tích và điều khiển dòng dữ liệu thời gian thực.

- Phát triển các router và switch có khả năng xử lý phức tạp hơn.

- Nghiên cứu phát triển các hệ thống tương tự như Intrusion Dectection, hoạt động so sánh trạng thái hiện tại với định nghĩa bình thường củ hệ thống từ đó đưa ra các cảnh báo.

- Góp ý kiến để xây dựng nội quy chung cho tất cả các thành phần có liên quan đến internet.

- Thiết lập mạng lưới thông tin thời gian thực giữa những người chịu trách nhiệm về hoạt động của hệ thống thông tin nhằm cộng tác-hỗ trợ-rút kinh nghiệm khi có một cuộc tấn công quy mô xảy ra.

- Phát triển hệ điều hành bảo mật hơn.

- Nghiên cứu các hệ thống tự động hồi phục có khả năng chống chọi, ghi nhận và hồi phục sau tấn công cho các hệ thống xung yếu.

- Nghiên cứu các biện pháp truy tìm, công cụ pháp lý phù hợp nhằm trừng trị thích đáng các attacker mà vẫn không xâm phạm quyền tự do riêng tư cá nhân.

- Đào tạo lực lượng tinh nhuệ về bảo mật làm nòng cốt cho tính an toàn của Internet.

- Nhấn mạnh yếu tố bảo mật và an toàn hơn là chỉ tính đến chi phí khi bỏ ra xây dựng một hệ thống thông tin.

SVTH: Ngô Thành Long Page 76

Page 77: DACN Final - Ngo Thanh Long D17TMTB

KHÓA LUẬN TỔT NGHIỆP: Tìm hiểu tấn công DDoS và cách phòng chống

TÀI LIỆU THAM KHẢO:

1. Intrusion Detection Systems (IDS) – WindowsSecurity.com

2. “The need for Intrusion Detection System”, “How IDS Addresses common

Threats, Attacks & Vulnerabilities”, Everything you need to know about IDS,

1999 AXENT Technologies, Inc.

3. Intrusion Detection with Snort - Jack Koziol. Sams Publishing 2003

4. Snort, Snort Inline, SnortSam, SnortCenter, Cerebus, B.A.S.E, Oinkmaster

official documents

5. Snort GUIs: A.C.I.D, Snort Center,and Beyond

- Mike Poor, [email protected]

6. Internet Denial of Service: Attack and Defense Mechanisms By Jelena Mirkovic, Sven Dietrich, David Dittrich, Peter Reiher - December 30, 2004 - ISBN: 0-13-147573-8.

7. Intrusion Detection Systems with Snort: Advanced IDS Techniques Using Snort, Apache, MySQL, PHP, and ACID - By R af e e q U r R e hm a n - May 08, 2003 - 0-13-140733-3.

8. Snort 2.1 Intrusion Detection Second Edition – Featuring Jay Beale and Snort Development Team Andrew R. Baker, Brian Caswell, Mike Poor – Copyright 2004 by Syngress Publishing – ISBN: 1-931836-04-3.

9. Snort User Manual 2.6.1, December 3, 2006, Copyright 1998-2003 Martin Roesch, Copyright 2001-2003 Chris Green, Copyright 2003-2006 Sourcefire, Inc.

10. TCP/IP Illudtrated Volume 1: The Protocols, W.Richard Stevens – Publisher: Addison Wesley – ISBN:0201633469.

11. Tài liệu tham khảo trên internet

http://snort.org/

http://winsnort.com

http://www.javaguicodexample.com/snortiisphpbaseperladodb.html

http://www.quantrimang.com/

http://searchsecurity.com/

SVTH: Ngô Thành Long Page 77