Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 49 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
49
Dung lượng
1,26 MB
Nội dung
TRƯỜNG ………………….
KHOA……………………….
[\[\
Báo cáo tốt nghiệp
Đề tài:
BIÊN DỊCHCÀIĐẶTVÀTRIỂNKHAIHỆTHỐNGD-WARD
LỜI CẢM ƠN
Đầu tiên, em xin gửi lời cảm ơn chân thành tới thày Đoàn Minh Phương đã hướng
dẫn và tạo mọi điều kiện cho em hoàn thành khóa luận này.
Em cũng xin gửi lời cảm ơn tới thày Phùng Chí Dũng, cô Bùi Thị Lan Hương đã
nhiệt tình giúp đỡ em để em có thể hoàn thành tốt khóa luận này.
Em xin cảm ơn các thày cô trong bộ môn Mạng và Truyền Thông máy tính nói riêng
và các thày cô trong trường Đại học Công Nghệ- Đại học Quốc Gia Hà Nội nói chung,
những người đã truyền đạt cho chúng em những kiến thức quý báu trong suốt 4 năm học
vừa qua.
Mặc dù khóa luận đã được hoàn thành với tất cả sự cố gắng của bản thân, nhưng vẫn
không tránh khỏi những sai sót, hạn chế. Vì vậy, em rất mong nhận được những nhận xét,
góp ý của các thày cô giáo và các bạn để đề tài này có thể được hoàn thiện hơn.
Hà Nội, tháng 05/2010
Sinh viên
Trần Tuấn Linh
Tóm tắt khóa luận
Các hệthống máy tính hiện nay đòi hỏi khả năng bảo mật và khả năng chống đỡ lại
các cuộc tấn công rất cao. Tấn công từ chối dịch vụ là ưu tiên hàng đầu của các cơ quan
doanh nghiệp hoạt động trong lĩnh vực thương mại điện tử. Các cuộc tấn công từ chối
dịch vụ hiện tại trở nên vô cùng phức tạp và khó đoán định từ việc các nguồn tấn công
phân tán.
Đã có nhiều giải pháp được triểnkhai để ngăn chặn vấn đề này nhưng chưa đạt hiệu
quả cao. Khóa luận này đưa ra ý tưởng về một giải pháp triểnkhai hiệu quả và chi phí
thấp hơn so với những giải pháp trước đây. Đó là D-WARD nó có thể phát hiện và ngăn
chặn các luồng tấn công bằng cách điều khiển lưu lượng mạng ra ngoài từ mạng nguồn.
Đầu tiên, khóa luận đã biên dịch, càiđặtvàtriểnkhaihệthốngD-WARD trên mô hình
thử nghiệm. Sau đó, cải tiến khả năng phân tích luồng và kết nối của các gói tin đi qua
mạng bằng việc càiđặt mở rộng thêm module cập nhật và truy vấn server quản trị cơ sở
dữ liệu.
MỤC LỤC
Chương 1.Mở đầu 1
1.1. Các cuộc tấn công DOS và DdoS 1
1.1.1. Cuộc tấn công DoS là gì? 1
1.1.2. Tấn công DDoS là gì? 1
1.2. Quá trình diễn ra một cuộc tấn công và những thách thức trong phòng chống 2
1.2.1. Kịch bản của một cuộc tấn công DDoS: 2
1.2.2. Những thách thức trong phòng chống tấn công DDoS 3
1.3. Những vị trí triểnkhaihệthống phòng chống 5
1.3.1. Hệthống phòng chống độc lập: 5
1.3.2. Hệthống phòng chống phân tán: 8
1.4. Tổng kết: 9
Chương 2.D-WARD 10
2.1. Tổng quan về D-WARD 10
2.2. Các thuật ngữ và giả thiết 10
2.3. Kiến trúc hệthốngD-WARD 11
2.3.1. Thành phần giám sát 12
2.3.2. Thành phần giới hạn băng thông 20
2.3.3. Thành phần chính sách lưu lượng 22
2.4. Các phiên bản D-WARD 22
2.4.1. D-WARD 1. 0 22
2.4.2. D-WARD 2.0 23
2.4.3. D-WARD 3.0 24
2.5. Tổng kết: 25
Chương 3.Cơ sở lý thuyết của kiến trúc triểnkhaivà mở rộng DWARD 26
3.1. Triểnkhai thành phần giám sát 26
3.1.1. Bảng băm luồng 26
3.1.2. Bảng băm kết nối: 26
3.1.3. Lấy thông tin gói tin 28
3.1.4. Phân loại luồng và kết nối 28
3.2. Triểnkhai thành phần giới hạn băng thông 29
3.3. Triểnkhai thành phần chính sách lưu lượng 30
3.3.1. Tiến trình điều khiển chính sách lưu lượng 30
3.4. Mở rộng D-WARD 31
3.4.1. Mục đích của việc mở rộng 31
3.4.2. Kết nối D-WARD với mô hình client-server 31
3.5. Tổng kết 32
Chương 4.Cài đặtvà các kết quả 32
4.1. CàiđặthệthốngD-WARD 32
4.1.1. Mô hình triểnkhai 32
4.1.2. Biêndịchvà chạy D-WARD 34
4.1.3. Kết quả và đánh giá 36
4.2. Càiđặthệthống mở rộng 38
4.2.1. Mô hình triểnkhai 38
4.2.2. Mở rộng của hệ thống: 38
Chương 5.Tổng kết 41
Danh sách các hình ảnh
Hình 1: Mô hình tấn công DDoS 1
Hình 2: Các điểm phòng chống 5
Hình 3: Hệthống phòng chống tại mạng đích 6
Hình 4: Hệthống phòng chống tại mạng trung gian 7
Hình 5 : Phòng chống tại nguồn 7
Hình 6: Kiến trúc hệthốngD-WARD 11
Hình 7: Máy hữu hạn trạng thái DNS 15
Hình 8 : Máy hữu hạn trạng thái streaming dữ liệu 17
Hình 9 : Ví dụ về vấn đề phân loại gói tin đầu tiên 18
Hình 10 : Bảng băm luồng 26
Hình 11: Bảng băm kết nối 27
Hình 12: : Topo hệthốngD-WARD 33
Hình 13: File debug/class.txt 36
Hình 14: File rlstats.txt 36
Hình 15: File conn.txt 37
Hình 16: Topo thử nghiệm 38
Bảng các từ viết tắt
COI
Connection Observation Interval
D-WARD
Ddos- network Attack and Recognition Defense
DDOS
Distributed Denial Of Service
DOS
Denial of Service
FOI
Flow Observation Interval
ICMP
Internet Control Message Protocol
IP
Internet Protocol
RTP
Real-time Transport Protocol
RSTP
Real-time Streaming Protocol
TCP
Transmission Control Protocol
1
Chương 1. Mở đầu
Tấn công từ chối dịch vụ là một lĩnh vực thú vị để nghiên cứu. Cho tới nay đã có
nhiều người tham gia vào nghiên cứu lĩnh vực này. Tuy nhiên, đến hiện tại vẫn chưa có
một cách thật sự hữu hiệu để phát hiện và ngăn chặn kẻ tấn công. Chương này sẽ giới
thiệu về định nghĩa của DoS và DDoS, quá trình diễn ra một cuộc tấn công và tổng quan
về một số thách thức trong phòng chống tấn công DDoS.
1.1. Các cuộc tấn công DOS và DDoS
1.1.1. Cuộc tấn công DoS là gì?
Tấn công từ chối dịch vụ (DoS): là quá trình các yêu cầu được gửi tràn ngập từ một
điểm tấn công riêng lẻ tới một hay nhiều server đích. Và các yêu cầu này thường giả mạo
địa chỉ IP nguồn. Với nhiều yêu cầu được gửi đến như vậy, những yêu cầu hợp lệ không
được đáp ứng và dẫn tới hiện tượng từ chối dịch vụ.
1.1.2. Tấn công DDoS là gì?
Tấn công từ chối dịch vụ phân tán (DDoS): là một cuộc tấn công từ chối dịch vụ
thông thường nhưng nó được thực hiện tại nhiều máy bị kẻ tấn công chiếm quyền điều
khiển (agents/zombie) và các agents này có thể ở các khu vực địa lý khác nhau. Một kẻ
tấn công có thể điều khiển các agents, vàthống nhất tất cả các máy agents cùng lúc sinh
ra nhiều gói tin yêu cầu gửi tới đích. Với số lượng lớn các agents, tài nguyên hệthống của
nạn nhân sẽ nhanh chóng bị cạn kiệt và quá tải. Hình vẽ dưới đây thể hiện mô hình của
cuộc tấn công:
Hình 1: Mô hình tấn công DDoS
2
Đầu tiên attacker sẽ sử dụng một số máy bị chiếm quyền điều khiển làm “handler”
dùng để truyền các thông điệp của cuộc tấn công tới các zombie (agents). Sau đó, đồng
loạt các zombie sẽ gửi truy vấn tới nạn nhân và làm cho tài nguyên hệthống bị cạn kiệt và
quá tải.
Trong các cuộc tấn công DDoS, các agents thường sử dụng địa chỉ IP nguồn giả
mạo. Attacker giả mạo trường địa chỉ IP nguồn trong tiêu đề của gói tin tấn công. Điều
này sẽ làm cho nạn nhân khó có thể dò ngược ra các máy agent. Bên cạnh đó, việc làm
giả địa chỉ của các máy agent cho phép attacker sử dụng lại chúng trong các cuộc tấn
công trong tương lai. Các gói tin tấn công có nội dung không khác mấy so với các gói tin
hợp lệ cho nên cần phải xây dựng những chính sách lọc chính xác.
1.2. Quá trình diễn ra một cuộc tấn công và những thách thức
trong phòng chống
DDoS xuất hiện như một vấn đề nghiêm trọng trên mạng Internet vào giữa năm
1999. Nó đã trải qua sự phát triển mạnh mẽ về kỹ thuật để chuẩn bị và thực hiện một cuộc
tấn công mà không bị phát hiện. Công nghệ tấn công phân tán không phải là mới, nó quen
thuộc đến mức những attacker bình thường nhất cũng có thể gây ra những hậu quả
nghiêm trọng.
1.2.1. Kịch bản của một cuộc tấn công DDoS:
Có vài bước cần được thực hiện để chuẩn bị và thực hiện một cuộc tấn công DDoS.
Đó là:
Tuyển quân: Attacker chọn một hoặc nhiều máy trên mạng Internet để thực hiện
tấn công. Các máy này thường được gọi là các agents. Thông thường các agents
này:
o Nằm ngoài mạng của nạn nhân để không bị nạn nhân kiểm soát.
o Nằm ngoài mạng của attacker để tránh trách nhiệm pháp lý nếu cuộc tấn
công bị dò ngược.
Các máy agents thường có những lỗ hổng được attacker lợi dụng để truy cập chúng.
Các attacker thích những agents có nhiều tài nguyên để có thể sinh ra luồng tấn công với
3
số lượng lớn. Lúc đầu, công việc lựa chọn các agents này được thực hiện một cách thủ
công nhưng nó đã được nhanh chóng tự động hóa nhờ những công cụ quét cung cấp danh
sách các host có lỗ hổng.
Dàn trận:
Các attacker cướp được quyền truy cập (thường là root) bằng cách thâm nhập các lỗ
hồng bảo mật hoặc là gieo rắc các mã độc. Chúng có thể thực hiện một số bước để đảm
bảo mã độc không bị phát hiện (bằng cách thay đổi tên file, đặt ẩn hoặc là đưa vào thư
mục system) hoặc là vô hiệu hóa (bằng cách thực hiện lập lịch vào hệthống ví dụ như
trong linux cron để restart lại đoạn mã một cách định kỳ). Các công cụ quét khai thác
những lỗ hổng để cướp quyền truy cập vàtriểnkhai mã tấn công, sau đó chúng sẽ đưa ra
một danh sách các host đã được triểnkhai mã tấn công. Hiện tại, hầu như các công việc
đã được thực hiện tự động bằng việc sử dụng các công cụ tích hợp quét, khai thác, triển
khai và truyền các pha làm cho việc triểnkhai nhanh của các đoạn mã độc.
Liên lạc:
Các agents báo cáo sự sẵn sàng của nó cho các handlers – các máy được dàn xếp để
điều khiển cuộc tấn công. Những ngày đầu thì địa chỉ IP của các handlers được mã hóa
cứng trong mã tấn công, và các handlers lưu trữ các thông tin được mã hóa của các agent
sẵn sang trong một file. Cho nên việc phát hiện ra một máy đơn trong mạng DDoS đã tiết
lộ tất cả các thành phần khác. Sau đó các kênh truyền Internet Relay Chat (IRC) đã bắt
đầu được sử dụng. Một attacker điều khiển các agents sử dụng các kênh truyền IRC. Cho
nên phát hiện ra một agent không thể đưa ra được kết luận gì về mạng DDoS mà chỉ nhận
ra được một kênh truyền thông qua IRC server được sử dụng trong mạng này mà thôi. Do
vậy, sự phát hiện mạng DDoS phụ thuộc vào khả năng giám sát các agents đang kết nối
tới IRC server. Để tránh bị phát hiện, attacker sử dụng kỹ thuật nhảy kênh truyền trong
một khoảng thời gian ngắn làm cho các IRC server không kịp nhận ra các agents.
Tấn công:
Các attacker thường gia lệnh tấn công thông qua các handlers và các kênh truyền
thông tới các agents. Đích, thời lượng, và đặc điểm của các gói tin tấn công như kiểu, độ
dài, TTL, port number … có thể được tùy chỉnh.
1.2.2. Những thách thức trong phòng chống tấn công DDoS
[...]... triểnkhai với mô hình lớn hơn… 4 1.3 Những vị trí triển khaihệthống phòng chống Một hệthống phòng chống DDoS có thể được triểnkhai như là một hệthống độc lập hoặc là một hệthống phân tán Các hệthống độc lập bao gồm một node giám sát tấn công và phản ứng lại các cuộc tấn công Các hệthống phân tán bao gồm nhiều node (có chức năng giống nhau) được triểnkhai tại những khu vực khác nhau và nằm... của D-WARD Qua đó chúng ta có thể thấy mối quan hệ của chúng làm nền tảng cho việc triểnkhaivà mở rộng hệthống phòng thủ 25 Chương 3 Cơ sở lý thuyết của kiến trúc triểnkhaivà mở rộng DWARD Như đã giới thiệu ở chương trước, phiên bản mới nhất của D-WARD hiện nay là DWARD 3.1 Chương này sẽ mô tả chi tiết về kiến trúc triểnkhai của hệthốngD-WARDvà hướng mở rộng của hệthống này 3.1 Triển khai. .. được triển khaihệthống phòng chống sẽ có tác dụng tới ngăn chặn được một lượng lớn các cuộc tấn công DDoS Các hệthống phòng chống phân tán được triểnkhai tại các mạng rìa có ưu thế là dễ dàng phát hiện tấn công Vì, hệthống phòng chống được triểnkhai tại mạng đích là nơi phát hiện ra tấn công đáng tin cậy nhất và sẽ sinh ra cảnh báo tấn công với các hệthống được triểnkhai ở vị trí khác Các hệ thống. .. 2.0 là khó càiđặtD-WARD 2.0 thêm những lệnh hệthống mới vào Linux kernel, nó yêu cầu chỉnh sửa kernel để càiđặt sẽ rất phức tạp và mất thời gian Hơn nữa, việc thêm những lệnh hệthống mới hoặc sửa những cái cũ có thể gây ra một lỗ hổng bảo mật trong trong Linux kernel 2.4.3 D-WARD 3.0 Hệthống được triểnkhai với thành phần chính sách lưu lượng nằm ở mức kernel và các thành phần giám sát và giới hạn... cuộc tấn công DDoS và ngăn chặn chúng bằng cách điều khiển traffic ra ngoài Cung cấp dịch vụ tốt đối với traffic hợp lệ giữa mạng triển khaihệthống và đích trong quá trình xảy ra cuộc tấn công D-WARD có thể đóng vai trò như một hệthống độc lập hoặc như là một thành phần trong một hệthống phòng chống phân tán Với vai trò là hệthống độc lập, D-WARD phát hiện các cuộc tấn công và phản ứng lại cuộc... khả năng phát hiện chính xác của hệthống DWARD lên 8 1.4 Tổng kết: Trong chương này, khóa luận đề cập tới những kiến thức cơ bản về DoS và DDoS, những thách thức trong phòng chống tấn công từ chối dịch vụ qua đó cũng trình bày về những vị trí triển khaihệthống phòng chống 9 Chương 2 D-WARD 2.1 Tổng quan về D-WARDD-WARD là một hệthống phòng chống DDoS được triểnkhai tại nguồn Nó có 2 nhiệm vụ chính... Ngoài ra, đặc điểm này còn có thể khiến router càiđặtD-WARD là mục tiêu của các cuộc tấn công 2.2 Các thuật ngữ và giả thiết Chúng ta biết rằng hệthốngD-WARD được càiđặt tại router nguồn – là router đóng vai trò như một gateway giữa mạng triểnkhai (mạng nguồn) và mạng Internet D-WARD được cấu hình cho một tập các địa chỉ nguồn nội bộ của một mạng và thực hiện giám sát đối với tập địa chỉ này Tập... công, và hiệu năng của chúng phụ thuộc trực tiếp vào tần số của việc khởi tạo kết nối và độ dài kết nối Để khắc phục vấn đề này, kỹ thuật khởi tạo chuỗi số dự đoán đã được phát triểnvàtriểnkhai trên D-WARD 3.1 24 Các mô hình kết nối UDP hợp lệ: Các mô hình kết nối UDP hợp lệ chỉ được triểnkhai trên D-WARD 3.1 2.5 Tổng kết: Chương 3 của khóa luận đưa ra cách nhìn tổng quan về D-WARD, kiến trúc, và. .. của các cuộc tấn công DDoS cho nên cần có nhiều bộ lọc phân tán, có thể kết hợp với nhau và được triểnkhai tại nhiều điểm trên Internet Và do Internet thì không trực tiếp nằm dưới sự vận hành của riêng một tổ chức, cá nhân nào Cho nên làm cho việc triển khaihệthống gặp phải nhiều khó khăn để triểnkhai một hệthống phòng chống hoàn chỉnh Tiếp đến, đó là sự thiếu thông tin cụ thể về các cuộc tấn công... công Nếu tất cả các host trên mạng đều triểnkhai TCP SYN cookie thì D-WARD sẽ không chặn bất kỳ gói tin SYN nào Nhưng thực tế, có rất nhiều host không triểnkhaidịch vụ này, vàD-WARD sẽ không thể bảo vệ những host đó khỏi các cuộc tấn công tràn TCP SYN Hai là, chúng ta có thể sử dụng các kết nối proxy TCP tức là D-WARD sẽ triểnkhai TCP SYN cookie trên chính nó và thực hiện quá trình bắt tay 3 bước .
4.1. Cài đặt hệ thống D-WARD 32
4.1.1. Mô hình triển khai 32
4.1.2. Biên dịch và chạy D-WARD 34
4.1.3. Kết quả và đánh giá 36
4.2. Cài đặt hệ thống. triển khai hệ thống phòng chống
Một hệ thống phòng chống DDoS có thể được triển khai như là một hệ thống độc
lập hoặc là một hệ thống phân tán. Các hệ