|
||||||||
|
||||||||
|
|
Công Cụ | Xếp Bài |
26-08-2009, 03:48 PM | #1 |
Guest
Trả Lời: n/a
|
Hacking Techniques for Attacks (Các kỹ thuật Hacker hay sử dụng)
Hacking Techniques for Attacks (Những kỹ thuật hacker thường dùng với mục đích tấn công) Các hacker hoàn toàn có thể trút hết cơn tàn phá mà không cần thiết phải chui vào trong hệ thống của bạn. Ví dụ, một hacker có thể đánh sụm máy chủ của bạn bằng cách cho máy bạn tràn ngập các tín hiệu khó chịu (obnoxious signal) hoặc tràn ngập các đoạn mã có hại (malicious code). Kỹ thuật này được gọi là tấn công từ chối dịch vụ (DoS – Denial of Service). Các hacker sẽ tiến hành một cuộc tấn công DoS theo một trong hai phương pháp, cả hai phương pháp này đều khả thi. Phương pháp thứ nhất là làm tràn ngập máy tính mục tiêu bằng luồng thông tin áp đảo. Phương pháp thứ hai là gửi lệnh lừa đảo tuyệt khéo (well-crafted command) hoặc gửi dữ liệu sai (erroneous data) có thể làm sụm máy tính mục tiêu. Một vài kỹ thuật hacker thường dùng với mục đích tấn công mà tôi giới thiệu trong bài viết này : - Làm tràn ngập bằng SYN (SYN Flooding) - Xì trum tấn công (Smurf Attacks) - Làm quá tải hệ thống (System Overloads) - Lừa đảo DNS (DNS Spoofing) Phần I : Làm tràn ngập bằng SYN (SYN Flooding) Kiểu tấn công DoS thứ nhất là làm tràn ngập bằng tín hiệu SYN. Một vụ tấn công SYN sẽ bắt buộc các tài nguyên của máy tính mục tiêu ngừng hoạt động, bằng cách ép chúng phải đáp ứng một cơn lũ các lệnh. Để có thể hiểu được điều này, hãy tưởng tượng bạn đang làm thư ký trong một công ty, nhiệm vụ của bạn là trả lời và chuyển các cuộc gọi điện thoại. Cái gì sẽ xảy ra nếu cùng lúc có hai trăm người gọi đến và đều cúp máy khi bạn bắt máy trả lời? Bạn sẽ rất bận rộn để bắt cho hết các cuộc điện thoại tào lao này (làm sao dám bỏ một cuộc gọi nào), và chắc chắn bạn sẽ không thể làm xong bất kỳ công việc nào khác. Cuối cùng bạn sẽ khóc rưng rức, sẽ khùng luôn và chắc chắn phải “say goodbye” với cái ghế thư ký khốn khổ đó. Hacker sẽ dùng một kỹ thuật giống như vậy khi họ triển khai một vụ tấn công DoS. Ảnh 1 : Ví dụ minh họa tấn công từ chối dịch vụ (DoS) bằng điện thoại. Để tiến hành một vụ tấn công DoS, đầu tiên hacker phải xác định được địa chỉ IP của mục tiêu. Sau đó, hacker sẽ dùng địa chỉ IP này để kết nối vào mục tiêu bằng một máy tính client. Để khuếch đại uy lực của cuộc tấn công, hacker sẽ thường setup rất nhiều máy tính client cùng lúc tấn công mục tiêu. Để làm được việc này, thường thì trước đó hacker đã phải thực hiện vài cú hack mở màn để lấy được quyền điều khiển trên một loạt máy tính có băng thông kết nối rộng. Nguồn phổ biến nhất để cung cấp những máy tính “nô lệ” này chính là hệ thống mạng máy tính của các trường đại học hoặc là hacker sẽ dùng những credit card “chùa” để thuê các server và dùng nó làm công cụ phục vụ ý đồ của mình. Khi hacker setup xong các máy tính nô lệ của mình, anh ta sẽ ngồi ở trung tâm điều khiển bà bắt đầu phát động cuộc tấn công. Quy trình kết nối liên lạc của máy tính gồm 3 bước bắt tay. Một cú tấn công theo kiểu SYN sẽ cải biên quá trình bắt tay này, nhằm hạ gục bằng cách làm cho máy tính bị quá tải. Như bạn đã biết, đầu tiên máy tính client sẽ gửi gói tin SYN đến máy tính server để bắt đầu kết nối. khi máy tính server nhận được gọi tin này, nó sẽ xử lý tím địa chỉ trả về và gửi ngược lại một gọi tin SYN ACK. Đây chính là điểm mà cuộc tấn công DoS tìm kiếm. Một server bao giờ cũng chỉ có một số hạn chế các tài nguyên để dành cho các kết nối của client. Khi một server nhận được gói tin SYN khởi tạo từ client, server mới bắt đầu định vị các tài nguyên này. Điều này cũng có nghĩa là số kết nối client cùng lúc sẽ bị giới hạn. nếu cùng lúc có quá nhiều client kết nối, server sẽ bị tràn và sẽ “bức sô” do quá trình xử lý bị quá tải. Yếu điểm của hệ thống lúc này sẽ hiện ra khi hacker cố tính đưa vào một địa chỉ trả về giả mạo trong gói SYN ban đầu. Như vậy, khi server gửi ngược gói tin SYN ACL cho client giả mạo, nó sẽ không bao giờ nhận được gói tin ACK kết thúc. Như vậy là đối với từng gói SYN giả mạo, các tài nguyên càng ngày càng bị buộc phải ngưng hoạt động cho đến khi mà server từ chối không nhận thêm kết nối nào nữa. Để tấn công được, cần phải có vô số các gói tin giả mạo, nhưng nếu hacker có nhiều máy tính nô lệ để cùng gửi các gói tin, anh ta có thể làm quá tải hệ thống một cách nhanh chóng. Ảnh 2 : Tấn công kiểu SYN Một ví dụ nổi tiếng của kiểu tấn công này đã xảy ra vào cuối năm 1999. Rất nhiều Web xịn đã bị sụm trước một cơn lũ các tín hiệu cùng lúc đến từ hàng trăm máy tính khác nhau. Các trang Web sẽ không hề hấn gì nếu cuộc tấn công chỉ xảy ra từ một máy; tuy nhiên, bằng việc dùng các chương trình điều khiển từ xa, một hoặc một số hacker sẽ phát động một cuộc tấn công phối hợp dùng cùng lúc hàng trăm-hàng ngàn máy tính, như vậy mục tiêu của họ sẽ bị quá tải một cách nhanh chóng. --------- Tài liệu tham khảo : Windows Internet Security-Protecting Your Critical Data (Seth Fogie & Dr. Cyrus Peikari) Phần 2 : Xì trum tấn công (Smurf Attacks) Một biến thể của tấn công DoS gây tràn ngập là tấn công kiểu Smurf (*). Bạn hãy tưởng tượng một công ty nọ có năm mươi nhân viên chuyên giải đáp thắc mắc của khách hàng bằng email. Mỗi nhân viên này dùng một chương trình trả lời tự động không giới hạn, chương trình này sẽ tự động gửi các mail trả lời lịch sự khi nhận được câu hỏi. Điều gì sẽ xảy ra, nếu có một khách hàng vì bực bội đã gửi một trăm bản email copy cho mỗi người trong số năm mươi nhân viên nói trên, với địa chỉ email trả về (return address) giả mạo? Lúc đó một trăm email đến sẽ làm phát sinh… năm ngàn email đi, mà lại đi tới chỉ… một mailbox duy nhất. Vô phúc cho ai sở hữu địa chỉ bị ông khách hàng quý hóa kia lấy làm địa chỉ giả mạo, mailbox của anh ta sẽ tràn ngập những mail là mail! Điều đau khổ của khổ chủ là phải ngồi duyệt hết đống xà bần đó, để bảo đảm là không bỏ sót một email quan trọng nào do xếp hoặc bạn bè mình gửi đến, hix hix. Tấn công kiểu Smurf cũng tương tự như ví dụ vừa nêu. Kẻ tấn công sẽ gửi một tín hiệu yêu cầu đến một mạng nhiều máy tính, và tất nhiên là mỗi máy tính trong mạng đều sẽ trả lời cho một địa chỉ giả mạo. Các chương trình đặc biệt kết hợp một số kỹ thuật khác sẽ khuếch đại chuyện này cho đến khi một cơn lũ thông tin ập đổ xuống đầu một máy tính tội nghiệp. Ảnh 3: Các tấn công DoS có thể phá hủy ảo cả một hệ thống máy tính. Như bạn đã biết, một máy tính sẽ bỏ qua tất cả các gói tin không có địa chỉ rõ ràng chính xác. Có một ngoại lệ cho chuyện này nếu máy tính dùng loại card mạng chạy ở mode ngẫu nhiên (promiscuous). Tuy nhiên, có một ngoại lệ khác nữa mà chúng ta vẫn chưa bàn tới. Công ty của bạn sẽ làm gì nếu muốn chuyển một thông báo quan trọng tới tất cả mọi người trong công ty? Nếu email là một trong các khả năng, công ty sẽ gửi một spam mail nội bộ tới mọi thành viên có địa chỉ email. Mặt khác, công ty có thể thông báo trên hệ thống loa. Hoặc họ có thể đặt một bảng thông báo gần máy bán cà phê tự động. Tất cả những kỹ thuật vừa nêu chỉ nhằm đảm bảo cho hầu hết nhân viên đều có thể nhận được thông tin. Cũng tương tự như vậy trong một mạng máy tính, có rất nhiều lúc server cần gửi thông tin đến từng máy tính thành viên trong mạng. Điều này được hoàn tất bằng cách sử dụng địa chỉ broadcast. Do cách xây dựng địa chỉ IP bên trong một mạng, luôn luôn có một địa chỉ mà mỗi máy tính đều sẽ trả lời. Địa chỉ này được gọi là địa chỉ broadcast và thường được dùng để cập nhật các danh sách tên và những mục cần thiết khác mà các máy tính đều cần để giữ cho mạng tồn tại và hoạt động được. Mặc dù địa chỉ broadcast là cần thiết trong một số trường hợp, nhưng nó cũng có thể đưa tới cái gọi là cơn bão broadcast. Một cơn bão broadcast cũng tương tự như một tiếng vọng không bao giờ mất. Còn đặc biệt hơn nữa, nó giống như một tiếng vọng nhưng lại mạnh dần lên cho đến khi bạn không còn có thể nghe thấy gì nữa vì quá ồn. Nếu một máy tính gửi đi một yêu cầu đến hệ thống mạng nhưng lại dùng địa chỉ broadcast và địa chỉ trả về cũng là địa chỉ broadcast thì từng máy tính trong mạng sẽ đáp ứng đến từng lời đáp ứng của máy tính khác; chuyện này tiếp tục diễn ra theo hiệu ứng quả cầu tuyết (**) cho đến khi toàn mạng đầy những gói tin echo khiến cho chẳng còn gì có thể gửi qua được nữa. Bây giờ bạn đã hiểu cách thức làm việc của broadcast, hãy tưởng tượng cái gì xảy ra nếu một hacker gửi một ngàn gói tin broadcast đến mạng của chúng ta và hắn lại dùng địa chỉ IP trả về giả mạo (Spoofed Return IP Address). Mạng chắc chắn sẽ khuếch đại các gói tin ban đầu lên thành mười ngàn hoặc trăm ngàn gói tin và tống tất tần tật đến một máy tính vô tội bị giả địa chỉ. Trong trường hợp này, không giống như kiểu tấn công SYN, máy tính mục tiêu vẫn có thể xây dựng một chầu kết nối với máy tính phát yêu cầu. Tuy nhiên, sự tăng quá mức của các yêu cầu kết nối sẽ làm cho server ngập đầu ngập cổ, và như thế là server trở nên vô dụng. Những kiểu tấn công này không chỉ quất sụm server một cách nhanh chóng và hiệu quả, mà còn giữ cho hacker trở nên vô hình. Với bản chất của cuộc tấn công như vậy, sẽ không thể lần ra được gói tin nguyên thủy do hacker gửi. Trong trường hợp tấn công bằng SYN, địa chỉ phải là địa chỉ bịp. Như thế, điểm xuất phát nguyên thủy của gói tin cũng coi như không thể biết được. Trong trường hợp tấn công kiểu smurf, hacker sẽ không trực tiếp tấn công mục tiêu, mà thay vào đó là dùng hiệu ứng phụ của việc gửi tín hiệu broadcast đến mạng để thực hiện âm mưu một cách gián tiếp. Như thế cuộc tấn công xuất hiện như đến từ hệ thống mạng khác hoặc máy tính khác. ---------- (*) Smurf là tên software lần đầu tiên áp dụng thành công kỹ thuật gây tràn ngập bằng các gói tin broadcast và ping. Tên này lấy theo các nhân vật truyện tranh của họa sĩ người Bỉ Peyo, bản dịch ở Việt Nam gọi là xì trum, gồm 101 chú nhóc bé tí da màu xanh. Bạn có thể xem chi tiết tại: - http://en.wikipedia.org/wiki/Smurf - http://en.wikipedia.org/wiki/Smurf_attack - http://searchsecurity.techtarget.com...213012,00.html (**) Chắc bạn không lạ gì hiệu ứng này, khi lăn theo sườn dốc phủ đầy tuyết thì đầu tiên chỉ là một nắm tuyết, nhưng đến chân dốc lại là một quả cầu tuyết khổng lồ. Phần 3 : Làm quá tải hệ thống (System Overloads) Một kiểu tấn công DoS khác là tấn công các phần mềm đang chạy trên máy tính mục tiêu. Trong các chương trình máy tính, cứ trung bình khoảng 1000 dòng lệnh sẽ có một lỗi (glitch, bug), mà một chương trình thì có thể dài đến cả tỉ dòng, như vậy số lỗi có thể sẽ lên đến cả trăm, cả ngàn. Nếu một hacker biết cách khai thác các lỗi đặc biệt này, anh ta có thể đánh gục được máy tính mục tiêu. Ví dụ, trong một chương trình mua hàng trực tuyến nổi tiếng, người ta đã phát hiện được một lỗi về lập trình có thể làm cho tải của bộ xử lý trung tâm tăng vọt lên đến 100%, như thế cũng có nghĩa là không chương trình nào khác có thể chạy được nữa. Lúc đó chỉ cần gửi đến một yêu cầu đơn giản có dạng chính thức “http://” là có thể cho server mục tiêu sụm bà chè. Kiểu tấn công này cũng giống như tháo nắp lọ muối. Bình thường, lọ muối hoạt động rất tốt. Nhưng nếu có ai đó hiểu rõ cấu tạo của lọ muối và bí mật tháo lỏng nắp của nó ra. Thế là ô la la, dĩa của bạn ngập đầy muối mặn đắng. Kiểu tấn công DoS này thường được dùng để khai thác cùng với một vụ làm tràn bộ nhớ đệm. Những kỹ thuật hacker thường dùng để truy cập trái phép (Hacking Techniques for Unauthorized Access), hacker có thể làm tràn bộ nhớ đệm như là một mánh khóe để ép máy tính phải chạy một chương trình bất hảo. Tuy nhiên, kiểu truy xuất này nói chung là khó dùng, bởi vì làm tràn bộ nhớ đệm thường sẽ làm cho máy tính sụm luôn. Như đã giải thích ở phía trước, đoạn chương trình làm tràn sẽ nạp đầy vào một đoạn bộ nhớ đã được xác định trước, sau đó sẽ làm tràn vùng nhớ bên trên, như thế sẽ ghi đè lên dữ liệu của các biến bộ nhớ khác. Lúc đó, nếu có một chương trình nào cần lấy dữ liệu, sẽ đi truy xuất đúng vào các biến bộ nhớ đã bị ghi đè, thế là chương trình “tưng” luôn, và thường là sẽ kéo theo cả máy tính “tưng” luôn cùng với nó. Các vụ tấn công DoS là mối đe dọa không chỉ đối với các công ty, doanh nghiệp lớn, mà cả đối với các văn phòng nhỏ và người dùng tại nhà. Hiện có sẵn hằng hà sa số các chương trình có thể cho bất kỳ ai khả năng làm tràn một mục tiêu. Chỉ một cái click chuột đơn giản là có thể đổ ầm ầm hàng trăm gói tin SYN xuống thẳng đầu nạn nhân. Nếu bạn nghi là bị tấn công bằng kiểu từ chối dịch vụ, bạn có thể dùng tool NETSTAT để xác định có bị tấn công hay không. Dùng tool này sẽ thấy hiện lên rõ ràng vụ tấn công nếu có. Trong hình dưới trình bày một kết quả của tool NETSTAT cho thấy có một cuộc tấn công SYN. Các dòng ở cột State cho thấy rất rõ hiện đang có một vụ tấn công SYN diễn ra ngầm bên dưới. Ảnh 4 : Các kết nối Internet hiện có (kể cả các server) Như bạn cũng có thể thấy, các cuộc tấn công DoS cũng không đến nỗi phức tạp lắm. Vì rằng, một hacker có thể dễ dàng tìm được các chương trình tấn công có sẵn, cho nên các cuộc tấn công này cũng đâm ra rất phổ biến. Đến đây có thể bạn sẽ hỏi, “Làm sao để ta có thể ngăn chận các cuộc tấn công DoS?”. Thật đáng tiếc là đến nay cũng chưa thể ngăn chận triệt để các cuộc tấn công như thế. Vì rằng các cuộc tấn công này dựa trên nguyên lý cơ sở để các máy tính xây dựng nên các liên lạc với nhau, cho nên cách duy nhất để chấm dứt những chuyện bậy bạ này là đi sáng chế ra lại một Internet mới. Đến nay cách thức thực tế duy nhất để làm giảm bớt các cuộc tấn công như vậy là chặn (block) tất cả các traffic đến từ một số vùng đặc biệt của Internet. Dù sao, như chúng tôi đã giải thích, các hacker thường có rất nhiều máy tính nô lệ, thường nằm trong các mạng của các trường đại học hay của các công ty. Nếu một server cấm cửa đối với một địa chỉ rõ ràng đã gây ra vụ tấn công, cũng đồng nghĩa là server này cấm mọi người ở hướng đó truy cập mình. Điều này sẽ giống như đặt một chế độ kiểm dịch lên toàn thành phố chỉ vì một người duy nhất trong thành phố bị bệnh thủy đậu. Phần 4 : Lừa đảo DNS (DNS Spoofing) Có những kiểu tấn công DoS khác lại hoạt động gián tiếp. Những kiểu tấn công này thường không tập trung vào server mà thay vào đó, mục tiêu sẽ là client. Trong trường hợp này, máy tính client sẽ bị đánh lừa về nơi mà nó muốn đi lấy thông tin. Ví dụ, nếu bạn nghĩ rằng máy tính của bạn sẽ đi đến www.yahoo.com, nhưng hóa ra lại đi đến trang na ná như Yahoo! của hacker, thì có thể vô tình bạn đã cung cấp cho hacker password và những thông tin cá nhân của mình. Bình thường, một máy tính client sẽ dùng query để hỏi DNS server, khi nó muốn đổi một tên domain hay một địa chỉ trang Web ra thành một địa chỉ IP. Có chuyện này, bởi vì máy tính client cần địa chỉ IP để định vị Web server hay email server dùng tên domain nó đang quan tâm. Quá trình này được tiến hành qua ba bước như sau : 1.Client hỏi DNS server địa chỉ IP ứng với tên domain là bao nhiêu. 2. DNS server sẽ dùng các query để tên domain đã được hỏi. 3. Client kết nối với Web server theo địa chỉ IP đã được DNS server cung cấp. Ảnh 5 : Hệ thống Domain Name (Domain Name System) Tuy vậy, quá trình này có thể dễ dàng bị lợi dụng để đẩy các user cả tin đến những trang Web tầm bậy, hoặc hướng dẫn email đi (outgoing email) phải đi qua những máy tính bất lương. Việc này được thực hiện bằng cách ghi các địa chỉ IP sai vào database của DNS server . Khi điều này xảy ra, hầu như client không thể nhận ra được là đang có vấn đề. Khả năng bại lộ duy nhất chỉ có khi các entry của DNS sever được kiểm tra một cách đặc biệt, hoặc server của hacker bị down. Ảnh 6 : DNS giả mạo Trong trường hợp một entry của DNS server bị hack, chỉ có những email đi mới bị gửi đến khu vực lừa đảo, trừ phi mail server sử dụng cùng một DNS server với client. Trong trường hợp tệ hại như thế, cả email đi lẫn email đến (incoming email) đều bị hướng dẫn phải đi qua một máy tính bất lương. Tuy nhiên, trong ví dụ của chúng ta, giả định rằng mail server đang dùng một DNS server rất an ninh để phân giải tên các domain. Trong trườnghợp DNS server bị hack thì : 1. Client B hỏi địa chỉ IP của “youremail.com” 2. DNS server đã bị hack sẽ trả lời lại một địa chỉ IP đã bị giả mạo là 192.168.0.10 3. Client B kết nối với mail server giả mạo và gửi mail đi. 4. Server giả mạo sẽ tạo bản email copy rồi gửi đến mail server thật. 5. Mail server thật-dùng một DNS server an ninh-sẽ gửi mail đến client như bình thường. Kịch bản như trên có thể sẽ cung cấp cho hacker một số thông tin có giá trị. Ví dụ như, nếu client B là một bác sĩ hay một luật sư, hacker sẽ có thể truy xuất các hồ sơ nhạy cảm. Nếu client B đang làm việc trong một dự án tối mật, hacker có thể bán các thông tin cho một công ty cạnh tranh. Hoặc nếu như client đang được dùng như một trang Web bán hàng trực tuyến, hacker có thể chộp được từng email xác nhận (confirmation email), trong đó có đầy đủ địa chỉ khách hàng hoặc/và số của thẻ tín dụng. Như bạn cũng thấy, một màn lừa đảo DNS có khả năng phá hoại rất rộng lớn. Khi hacker muốn biến mất một trang Web hay muốn chộp các email, hắn ta chỉ việc từ chối dịch vụ những ai dùng trúng DNS server đã bị hack. Tuy nhiên cũng có một cách giải quyết vấn đề này. Các DNS server có thể được cấu hình sao cho an ninh hơn. Thực tế đánh giá cho thấy có khoảng một nửa đến ba phần tư số DNS server là chẳng có an ninh gì cả. Đây là vấn đề đã biết, vì vậy nếu bạn quan ngại rằng có khả năng các DNS server của bạn cũng chẳng an ninh, hãy tiếp xúc với ISP (Internet Service Provider : nhà cung cấp dịch vụ Internet) của mình và phỏng vấn họ về những software họ đã dùng; cũng như có an toàn không nếu bị tấn công theo kiểu lừa đảo. Hy vọng rằng, họ sẽ biết bạn đang nói về cái gì và sẽ cho bạn các câu trả lời xác đáng. Qua 4 phần của bài viết này tại DaoDuyHieu's Blog, tôi vừa giải thích một số cách hacker dùng để vô hiệu hoá hoặc làm sụp đổ các hệ thống tiêu mà không cần phải xâm nhập. Với các kỹ thuật làm tràn ngập kết nối giả mạo, làm sụp đổ do tràn bộ nhớ đệm hay lừa đảo DNS, các hacker có thể làm cho cuộc sống của bạn trở nên khốn đốn. Hơn nữa, mặc dù trong những kiểu tấn công này, hacker không thể xâm nhập được, nhưng nếu chúng được dùng kết hợp với những kiểu tấn công khác, các hacker có thể chiếm được quyền truy cập trái phép. Ví dụ, một hacker có thể sẽ nã dồn dập (hammer) firewall của bạn, đảm bảo giữ cho firewall của bạn trở nên quá bận bịu với việc sắp xếp các dữ liệu để trả lời vô ích. Điều này về lý thuyết đã cho phép hacker truy cập thoải mái hệ thống của bạn. Về mặt thống kê mà nói, có nhiều khả năng tấn công những máy khác, hơn là tấn công máy tính của bạn như một mục tiêu. Tuy vậy, cũng có điều an ủi nho nhỏ. Nhiều user thích trực diện chiến đấu với các cuộc tấn công hơn là trở thành một nô lệ. May thay, bây giờ bạn đã có đủ kiến thức để hiểu cái gì xảy ra ở sau sân khấu. Các bài tiếp theo của mình sẽ được xây dựng từ những hiểu biết này sẽ cho phép bạn tự phòng thủ hiệu quả hơn và sẽ cập nhật tại DaoDuyHieu's Blog, các bạn đón theo dõi nha. Theo: DaoDuyHieu's Blog |
|
|