Xem mẫu

  1. Báo cáo: Kỹ năng bảo mật Tấn công mạng và phòng thủ Chương 18: Tấn công mạng và cách phòng chống Page 1
  2. MỤC LỤC C H A P T E R ................................................................................................................................................. 3 Network Attack and Defense .................................................................................................................. 3 18.1 Introduction(Giới Thiệu) .................................................................................................................... 3 18.1.1 The Most Common Attacks(Các vụ tấn công thường gặp) ............................................................... 3 18.2 Vulnerabilities in Network Protocols ....................................................................................................... 6 18.2.2 Attacks Using Internet Protocols and Mechanisms ........................................................................ 7 18.2.2.1 SYN Flooding(Tấn công từ chối dich vụ SYN) ............................................................................ 8 Figure 18.1 TCP/IP handshake. ................................................................................................................... 8 18.2.2.2 Smurfing ........................................................................................................................................ 8 18.2.2.4 Spam and Address Forgery ........................................................................................................ 10 18.2.2.5 Spoofing Attacks ......................................................................................................................... 10 18.2.2.6 Routing Attacks ........................................................................................................................... 11 18.3 Defense against Network Attack: (Bảo vệ chống lại tấn công mạng) .............................................. 11 18.3.1 Configuration Management : (Quản trị cấu hình) .......................................................................... 11 18.3.2.1 Packet Filtering ........................................................................................................................... 13 18.3.2.2 Circuit Gateways: ........................................................................................................................ 14 18.3.2.4 Ingress versus Egress Filtering: (Xâm nhập cổng ra của bộ lọc) ............................................. 15 18.3.3 Strengths and Limitations of Firewalls: (Ưu điểm và nhược điểm của firewall) ............................ 15 Figure 18.2 Multiple firewalls. .................................................................................................................... 16 18.4.1 Early History of Malicious Code ................................................................................................... 20 18.4.3 Recent History:.............................................................................................................................. 21 Virus lây nhiễm theo cách cổ điển............................................................................................................ 23 Virus lây nhiễm qua thư điện tử .............................................................................................................. 23 Phương thực lây nhiễm qua thư điển tử bao gồm: .................................................................................. 23 Virus lây nhiễm qua mạng Internet ......................................................................................................... 24 18.4.5 Cách phòng chống Virus, Worm và ngăn chặn các tác hại của nó. ............................................. 24 Sử dụng phần mềm diệt virus .................................................................................................................. 24 Sử dụng tường lửa .................................................................................................................................... 25 Cập nhật các bản sửa lỗi của hệ điều hành.............................................................................................. 25 Vận dụng kinh nghiệm sử dụng máy tính................................................................................................ 25 Bảo vệ dữ liệu máy tính ............................................................................................................................ 26 Research Problems: .................................................................................................................................. 28 Further Reading: ...................................................................................................................................... 28 Chương 18: Tấn công mạng và cách phòng chống Page 2
  3. C H AP TE R 18 Network Attack and Defense (Tấn Công Mạng Và Cách Phòng Chống) Mọi người đều nghĩ rằng vấn đề bảo mật hệ thống mạng có thể được giải quyết bằng cách sử dụng mật mã học mà không hiểu vấn đề chính trong việc mã hóa là gì! 18.1 Introduction(Giới Thiệu) Bảo mật mạng Internet đang là một lĩnh vực phát triển nhanh chóng , các cuộc tấn công được bắt trên các đường truyền có thể thay đổi ý nghĩa . Bất kể kẻ tấn công đang trực tiếp liên quan đến công việc hay không thì các cuộc tấn công trên mạng như vậy đang trở nên đa dạng nó có thể có để lại một số tác động ngay cả khi kẻ tấn công chỉ sử dụng đánh cắp để lưu giữ những nạn nhân cũng làm gia tăng nghiêm trọng về mối đe dọa về an toàn thông tin. Vấn đề là, một số kiến thức về chủ đề này đang rất cần thiết cho các kỹ sư bảo mật. Một số lĩnh vực mới chẳng hạn như một hệ thống mạng có thể được bảo vệ bởi việc mã hóa và hệ thống tường lửa.Nơi an toàn để bắt đầu những khái niệm có thể được xem xét từ các cuộc tấn công phổ biến nhất.(Tuy nhiên có rất nhiều cuộc tấn công được trình bày trên các phương tiện truyền thông như việc tấn công mạng khi mà kẻ tấn công đang thực sự thực hiện bằng nhiều cách tấn công truyền thống. Một ví dụ như là : bị rò rỉ thông tin của các email từ các văn phòng của thủ tướng Anh, và bước đầu đổ lỗi cho tin tặc. Khi các thông tin đó bị lộ ra, các email đã được tìm ra trong của cuộc thăm dò dư luận bởi một thám tử tư được gọi là Benji the Binman, người đã đạt được nhiều thành tựu nổi tiếng.) 18.1.1 The Most Common Attacks(Các vụ tấn công thường gặp) Nhiều cuộc tấn công thực tế liên quan đến các lỗ hổng của hệ thống mạng .Ví dụ chúng ta có thể nhìn thấy từ đề tài bao gồm các cuộc tấn công tràn bộ nhớ đệm và đoán mật khẩu,cả hai đều được thực hiện bởi các loại virus phát tán trên mạng internet. Một chiến lược phổ biến là để có được một tài khoản của bất kỳ đối tượng nào trên mạng thì kẻ tấn công phải cài đặt một phần mềm password sniffer để có được một tài Chương 18: Tấn công mạng và cách phòng chống Page 3
  4. khoản trên máy tính nạn nhân, sau đó kẻ tấn công sử dụng phương pháp tấn công tràn bộ đệm vào máy nạn nhân và lấy cắp tài khoản gốc. Dưới đây là danh sách 10 lỗ hổng bảo mật hàng đầu: Một tấn công tràn bộ đệm trên chương trình BIND, kẻ tấn công sử 1. dụng nhiều Hệ Điều Hành Unix và Linux làm máy chủ DNS và cho phép truy cập tài khoản máy chủ. 2. Các chương trình CGI trên các máy chủ Web, thường được cung cấp bởi các nhà cung cấp như các chương trình mẫu và không loại bỏ. Lỗ hổng của chương trình CGI đang được tin tặc dễ dàng vượt qua và không đươc bảo vệ cho các máy chủ. 3. Cuộc tấn công tràn bộ đệm sử dụng cơ chế điều khiển từ xa (RPC), kẻ tấn công sử dụng nhiều hệ điều hành Unix a nd Lin ux để làm máy chủ và nó cho phép những kẻ xâm nhập truy cập tài khoản ngay lập tức(Các cuộc tấn công này đã được sử dụng bởi hầu hết các tấn công từ chối dịch vụ được đưa ra trong năm 1999 và đầu năm2000). 4. Lỗi Internet Information Server (IIS) của hãng Microsoft trên máy chủ Webserver đã cho phép truy cập tới một tài khoản administrator trên máy chủ. 5. Lỗi trong sendmail, các chương trình mail phổ biến nhất trên hệ điều hành Unix và Linux. Rất nhiều lỗi đã được tìm thấy trong sendmail trong những năm qua, và đã có nhiều công bố do CERT năm 1988. Một trong những lỗ hổng gần đây có thể được sử dụng bị sử dụng để làm máy tính nạn nhân gửi tập tin mật khẩu của mình cho những kẻ tấn công, sau đó những kẻ tấn công có thể cố gắng để giai mã nó. 6. Một tấn công tràn bộ đệm vào hệ điều hành Sun’s Solaris đã cho phép những kẻ xâm nhập truy cập vào tài khoản admin ngay lập tức. 7. Tấn công trên NFS và tương tự trên các hệ thống máy chủ UNIX và MACINTOSH,và sử dụng các cơ chế để share dữ liệu trong mạng cục bộ. 8. Đoán các use rna mes a nd passwor ds,đặc biệt ở đây các password root v à admin không đảm bảo an toàn ho ặc là hệ thống đang gửi p ass wo r ds mặc định mà các máy nạn nhân không bận tâm thay đổi nó. 9. Các giao thức IMAP a nd POP cho phép điều khiển từ xa đến email nhưng nó thường được cấu hình sai cho phép kẻ đột nhập có thể truy cập vào. 10. Sự yếu kém của viec chứng thực trong giao thức SNTP do các nhà quản trị mạng để quản lí tất cả các thiêt bị kết nối đến thiết bị.Giao thức SNTP sử dụng password mặc định và đã bị các tin tặc đánh cắp và thay đổi password. Chú ý rằng các cuộc tấn công không bị dừng lại ở cấp độ mã hóa và không phải tất cả các máy đều sử dụng tường lửa.Ví dụ các lỗ hỗng của máy chủ Web Server có thể được đặt cách xa các hệ thống kinh doanh bằng cách đặt chúng bên ngoài tường lửa Chương 18: Tấn công mạng và cách phòng chống Page 4
  5. nhưng chúng vẫn có thể bị mở để phá hoại và nếu hệ thống tường lửa chạy trên hệ điều hành đã bị lỗ hỗng thì sau đó các kẻ tấn công có thể tìm cách để vượt qua nó. Mặc dù một số các cuộc tấn công có thể đã được sữa lỗi lỗ hổng theo thời gian trong quyển sách Network Attack and Defense này đang được xuất bản , các mô hình cơ bản tương đối ổn định.Hầu hết đều khai thác lỗi trong các chương trình ,trong đó phần lớn là lỗ hổng tràn bộ nhớ đệm .Viêc khai thác lỗ hổng trong các giao thức(giống như NFS) với mật khẩu yếu là nơi thuận lợi cho các tin tặc. Trong thực tế thì lỗ hổng đang là cuộc đua của những cuộc tấn công ,kẻ tấn công thử để tìm thấy sự sơ hở từ lỗ hổng và các nhà cung cấp sẽ phát triển các bản vá lỗi của những tin tặc.Những kẻ tấn công có khả năng có thể tìm thấy những lỗi từ lỗ hổng cho mình và giữ im lặng về chúng,nhưng nhiều bản báo cáo xoáy xung quanh việc khai thác lỗ hổng của tin tặc rằng chùng không chỉ có kiến thức tốt am hiểu về mạng mà còn sử dụng rất nhiều công cụ có sẵn trên mạng. 18.1.2 Skill Issues: Script Kiddies and Packaged Defense Một trong những thay đổi của nền văn minh được truyền tải trên mạng cho đến gần đây các cuộc tấn công tinh vi trên thông tin liên lạc đã cơ bản được chính phủ vệ.Ngày nay chngs ta tìm thấy không phải là các cuộc tấn công đánh hơi password mà còn những cuộc tấn công để tìm thấy sự thích thú trong thiếu niên thời nay .Sự ccaanf thiết ở đây là mọi người nếu khai thác được lỗi trong các phần mềm thì sau đó gửi các lỗi đó vào các trang web như www.rootshell.com, từ đó mọi nguwoowif có thể tải về và sử dụng nó. Những điều khoản này chủ yếu đề cập đến giới trẻ ,những người sử dụng các cuộc tấn công đã chỉnh sửa từ những tin tặc khác,nó cũng có nghĩa là bất kì người nào cũng có thể tải và sử dụng các công cụ tấn công dù không hiểu gì về tấn công.Khi hệ thống càng bảo mật phức tạp thì ngay cả những kẻ tấn công tinh vi hay cá nhân nào cũng theo kịp với sự khai thác các lỗ hổng tù các hệ điều hành và các giao thức mạng.Trong thực tế thì những tin tặc đang bị đào tạo tay nghề cao trong khi việc bảo vệ đang ngày khó khăn cho các nhà quản trị mạng. Kĩ năng cũng là 1 yếu tố quan trọng trong việc bảo vệ.Một số tổ chức như công ty máy tính, trường đại học lớn, và các cơ quan tình báo quân sự, họ có những người biết làm thế nào để theo dõi những gì đang xảy ra và điều chỉnh việc bảo vệ hệ thống một cách thích hợp. Nhưng hầu hết các công ty đều dựa trên sự kết hợp của các tiêu chuẩn sản phẩm và dịch vụ. Các sản phẩm bao gồm tường lửa, quét virus, và các hệ thống phát hiện xâm nhập, các dịch vụ thường được cung cấp dưới dạng tập tin cấu hình mới cho các sản phẩm này. Theo những cách này, lỗ hổng sẽ trở nên tập trung. Một kẻ tấn công có thể làm việc trong một hệ thống bị đánh sụp được bán rộng rãi, có một loạt các mục tiêu để hướng đến hệ thống Bây giờ chúng ta sẽ xem xét một số cuộc tấn công cụ thể và cơ chế bảo vệ. Hãy nhớ rằng đây là cuộc tấn công quan trọng nhất là tấn công ghi đè lên bộ nhớ đệm và quan Chương 18: Tấn công mạng và cách phòng chống Page 5
  6. trọng thứ hai là đoán mật khẩu, nhưng vì đã được giới thiệu trong chương 4 và trong các chương 2-3 nên sẽ giới thiệu tiếp theo: lỗ hổng trong giao thức mạng. 18.2 Vulnerabilities in Network Protocols (Lỗ hổng trong giao thức mạng) Các điều hành thường được sử dụng như Unix và NT được vận hành với phạm vi rất lớn của các dịch vụ mạng, nhiều hệ điều hành trong số đó đang cho phép kích hoạt mặc định, hoặc vận hành với các cấu hình sẵn làm cho "plug and play" dễ dàng cho những kẻ tấn công giống như người dùng hượp pháp. Chúng ta sẽ xem xét ở cả hai mạng cục bộ và các vấn đề Internet; một chủ đề chung đó là các phương pháp ánh xạ (giữa các địa chỉ IP, tên tập tin, vv) cung cấp rất nhiều các điểm yếu. Cuốn sách này không phải là một nơi thích hợp để giải thích các giao thức mạng, vì vậy chúng tôi cung cấp một bản tóm tắt điện tín, như sau: các giao thức mạng Internet (IP) là một giao thức truyền dữ liệu không điều kiện mà nó vận chuyển gói tin từ một máy khác, nó sử dụng địa chỉ IP gồm 32-bit ,nó thường được viết giống bốn số thập phân trong khoảng từ 0-255 , như 172.16.8.93. Hầu hết các dịch vụ mạng đều sử dụng một giao thức được gọi là giao thức TCP, nằm trên phân lớp trên IP, và cung cấp đường giao thông trên mạng bằng cách phân chia luồng dữ liệu vào các gói IP và ghép nó vào cuối gói dữ liệu, yêu cầu này lặp đi lặp lại của bất kỳ các gói dữ liệu bị mất.Địa chỉ IP phục được chuyển đổi thành địa chỉ quen thuộc bằng cách sử dụng các hệ thống tên miền(DNS), dich vụ DNS phân phối tên miền cho các server cao cấp đến các server cục bộ của hệ thống tên miền đặc biệt.Mạng cục bộ chủ yếu là sử dụng chuẩn Ethernet, trong đó thiết bị của mạng cục bộ có địa chỉ mạng duy nhất, nó ánh xạ tới các địa chỉ IP sử dụng giao thức phân giải địa chỉ (ARP). Có nhiều thành phần khác trong bộ giao thức sử dụng để quản lý thông tin liên lạc và cung cấp dịch vụ cao cấp hơn. Hầu hết trong số các bộ giao thức đã được phát triển trong những ngày trước thì chỉ tin cậy vào hệ thống máy chủ, và mối quan tâm không phải là vấn đề về an ninh. Vì vậy, có rất ít các hệ thống chứng thực được xây dựng và nỗ lực để khắc phục lỗi này với việc giới thiệu thế hệ tiếp theo của IP (IPv6) có thể sẽ mất nhiều năm. 18.2.1 Attacks on Local Networks(Tấn Công Trên mạng cục bộ) Hãy giả sử rằng kẻ tấn công là một trong những nhân viên của bạn, kẻ tấn công đã có một máy thuộc mạng LAN của bạn, và muốn vượt qua một tài khoản bằng tên của người khác để lấy cắp thông tin. Sau khi thu thập dữ liệu cần thiết để truy cập vào mạng, kẻ tấn công có thể cài đặt gói phần mềm đánh hơi (sniffer) để thu thập mật khẩu , nhận được mật khẩu admin, và tạo mới một tài khoản hợp lệ. Tuy nhiên, nếu nhân viên của bạn sử dụng chương trình tạo mật khẩu hay cẩn thận chỉ sử dụng một Chương 18: Tấn công mạng và cách phòng chống Page 6
  7. mật khẩu root tại bàn phím của máy đó được phép áp dụng ,thì sau đó nó sẽ dễ bị tin tặc tấn công. Một cách để tin tặc tiếp cận mạng cục bộ là cố gắng thử giả mạo như là một người dùng máy tính hợp lệ mà đối tượng người sử dụng dùng để đăng nhập. Hệ thống ARP là một trong những mục tiêu tốt bằng cách tin tặc sẽ chạy những đoạn mã lệnh phù hợp, những kẻ tấn công có thể đưa ra câu trả lời sai cho thông báo của hệ thống ARP và xin thông tin yêu cầu từ phía các máy nạn nhân. Các máy tính người dùng có thể nhận thấy nếu cảnh báo trước ,nhưng các kẻ tấn công luôn có thể chờ đợi cho đến khi là tải dữ liệu hoặc lấy nó xuống bằng cách sử dụng một cuộc tấn công khác. Một khả năng là các kẻ tấn công sẽ sử dụng mặt nạ mạng con. Ban đầu, địa chỉ IP đã sử dụng 3 byte đầu tiên để xác định phân chia giữa các địa chỉ mạng và địa chỉ máy chủ . Bây giờ IP được hiểu là địa chỉ mạng,mạng con, và địa chỉ máy chủ , với địa chỉ mạng con là 1 hằng số. Máy cục bộ khi khởi động sẽ gửi một yêu cầu nhận subnet mask,và nó sẽ nhận bất kỳ địa chỉ subnet mask nhận được .Vì vậy bằng cách gửi một subnet mask phù hợp thì máy cục bộ có thể bị kẻ tấn công triệt tiêu. Một phương pháp khác, nếu một công ty sử dụng hệ thống Unix,thì hệ thống tệp tin mạng (NFS) sẽ là các chuẩn phổ biến để chia sẻ tập tin trên hệ thống Unix. Điều này cho phép một số máy cục bộ sử dụng một ổ đĩa mạng như là một ổ đĩa cục bộ,vì vậy nó sẽ có một số lỗ hổng bảo mật để tin tăc tấn công những máy cục bộ đang trên cùng một mạng LAN. Khi một ổ đĩa đang được xác lập, thì các máy client gửi một file yêu cầu đến máy chủ xử lí, trong đó client đề cập đến đường dẫn các thư mục gốc của hệ thống tập tin đang xác lập. Yêu cầu này không phụ thuộc vào thời gian, hoặc số lượng máy chủ và không thể bị hủy bỏ. Nó không có cơ chế cho mỗi người dùng truy cập hay chứng thực do vậy các máy chủ phải tin tưởng một máy client hoàn toàn hoặc không tin tất cả. Ngoài ra,máy chủ NFS thường trả lời yêu cầu từ một card mạng khác để một card mạng trong chúng có nhiệm vụ trả lời các yêu cầu đến tiếp theo. Vì vậy nó có thể đợi cho đến khi một quản trị mạng có đăng nhập vào một tập tin của máy chủ, sau đó sẽ ghi đè lên các tập tin password. Vì lý do này, nhiều trang web sử dụng phương án thay thế hệ thống tập tin , chẳng hạn như NFS. 18.2.2 Attacks Using Internet Protocols and Mechanisms (Tấn công sử dụng giao thức mạng và các cơ chế) Vấn đề cơ bản chuyển giao thức đến trang web là giống nhau ,chúng không có việc chứng thực hay bảo vệ bí mật trong hầu hết các cơ chế. Điều này thể hiện đặc biệt ở giao thức TCP / IP. Xét ví dụ : Cách bắt tay ba bước được sử dụng bởi Alice để bắt đầu một kết nối TCP đến Bob và để thiết lập các số thứ tự thể hiện trong hình 18.1. Chương 18: Tấn công mạng và cách phòng chống Page 7
  8. Giao thức này có thể bị khai thác trong một số ngẫu nhiên bằng nhiều cách khác nhau. Bây giờ việc tấn công chối dịch vụ(DOS) ngày càng trở nên thực sự quan trọng, chúng ta hãy bắt đầu với các cuộc tấn công từ chối dịch vụ đơn giản: SYN Flooding 18.2.2.1 SYN Flooding(Tấn công từ chối dich vụ SYN) Các cuộc tấn công từ chối dịch vụ SYN chỉ đơn giản là sẽ gửi một số lượng lớn các gói tin SYN và không bao giờ thừa biết bất kỳ câu trả lời nào . Điều này dẫn đến người nhận (Bob, trong hình 18,1) sẽ nhận nhiều gói tin SYN hơn phần mềm của mình có thể xử lý các gói tin đó. Kiểu tấn công này đã được biết đến là về mặt lý thuyết có thể từ những năm 1980, nhưng tấn công này được sự chú ý của công chúng rất nhiều vào năm 1996. Figure 18.1 TCP/IP handshake. B1. The client requests a connection by sending a SYN ( synchronize ) message to the server.. (Client yêu cầu kết nối bằng cách gửi 1 gói SYN đến server) B2. The server acknowledges this request by sending SYN ACK back to the client. (Server gởi lại gói SYN ACK chấp nhận cho client) B3. The client responds with an ACK , and the connection is established. (client trả lời gói ACK và kết nối) 18.2.2.2 Smurfing Một kiểu tấn công khác được biết đến đó là tấn công từ chối dịch vụ Smurfing. Phương pháp tấn công này được khai thác tù giao thức mạng ICMP cho phép người dùng gửi một gói tin ICMP echo request đến một máy chủ từ xa để kiểm tra xem nó còn sống hay không Vấn đề phát sinh với các địa chỉ phát sóng được chia sẻ bởi một số máy. Một số triển khai của các giao thức Internet trả lời ping đến địa chỉcủa cả hai và phát địa chỉ địa phương của họ (ý tưởng là để thử nghiệm một mạng LAN để xem những gì còn sống). Vì vậy, cácgiao thức cho phép cả hai loại havior- được trong các bộ định tuyến. Một bộ sưu tập của chủ nhà ở một địa chỉ phát sóng phản ứng theo cách này được gọi là bộ khuếch đại smurf.. Chương 18: Tấn công mạng và cách phòng chống Page 8
  9. Kẻ tấn công đang xây dựng một gói tin với địa chỉ IP nguồn giả mạo là địa chỉ IP của máy nạn nhân , và gửi đến một số các bộ khuếch đại smurf. Các máy nạn nhân sẽ trả lời lại (nếu còn sống) bằng cách gửi một gói tin cho kẻ tấn công và máy nạn nhân có thể bị sụp bẫy của kẻ tấn công bằng các gói dữ liệu hơn là nó có thể tự bảo vệ . Smurfing thường được sử dụng bởi một số kẻ tấn công muốn vượt qua hệ thống máy chủ Internet relay chat(IRC) ,vì vậy kẻ tấn công có thể nắm quyền kiểm soát trong phòng chat. Việc đổi mới đã được tự động khai thác một số lượng lớn từ các máy "vô haị " trên mạng để tấn công đến các nạn nhân Một phần của biện pháp đối phó là kỹ thuật: Thay đổi các tiêu chuẩn giao thức trong Tháng 8 năm 1999 để các gói tin ping được gửi đến một địa chỉ quảng bá trong toàn mạng mà không cần trả lời [691]. Cách thực hiện như vậy làm cho số lượng các bộ khuếch đại smurf trên mạng Internet là liên tục giảm xuống. Phần khác là kinh tế xã hội: các trang web như www.netscan.org sản xuất một danh mục các bộ khuếch đại smurf. Các nhà quản trị mạng giỏi sẽ đưa thiết bị mạng của họ vào đó và sửa chữa chúng trong khic đó các nhà quản trị yếu kém biếng sẽ thấy rằng những kẻ xấu đã chiếm sử dụng băng thông của mình quá nhiều vì vậy họ sẽ bị ép vào các vấn đề phải sửa chữa 18.2.2.3 Distributed Denial-of-service Attacks: Tấn Công Từ Chối dich vụ Một sự phát triển cùng với sự xuất hiện của nó vào tháng 10 năm 1999.Đây là 1 cuộc tấn công từ chối dịch vụ (DDOS).Thay vì ket tấn công khai thác lỗi cấu hình ở các chương trình giống Smurfing thì kẻ tấn công đồng loạt tấn công từ nhiều nơi trên mạng kẻ tấn công đã cài đặt sẵn các phần mềm tấn công và tại 1 thời điểm hứa hẹn trước đồng loạt cùng tấn công vào trang web bằng cách gửi liên tục các tin nhắn đến máy chủ nên rất khó chống đỡ.Do vậy hệ thống bị tấn công sẽ qua tải và không thể hoạt động được nữa. Cho đến nay, các cuộc tấn công DDoS đã được triển khai tấn công tại một số các trang web cao cấp bao gồm trang Amazon và Yahoo. Kẻ tấn công có thể làm gây gián đoạn nhiều hơn là chúng ăn cắp thông tin vì kẻ tấn công có thể nhắm vào mục tiêu là dịch vụ như DNS do đó làm hệ thống mạng Internet tại các web này không thể hoạt động được nữa.Giống như một cuộc chiến tranh thông tin có thể được dự kiến từ trước và nó cũng có thể là một hành động phá hoại của một cá nhân nào đó.Các máy thường được sử dụng phần mềm như là máy chủ cho các cuộc tấn công vào đầu năm 2000 đã được đưa lên các trang website của Mỹ. Mỗi tran web có các lỗ hổng bảo mật nhất định vì FDA đã nhấn mạnh rằng hệ thống Unix được chứng thực cho các mục đích nhất định và cấu hình sẵn bên trong. Một khi lỗi đã được phát hiện tại hệ thống thì hệ thống sẽ tự động gửi đến máy chủ phần mềm đang tấn công này. Tại thời điểm này thì các ý tưởng chống lại cuộc tấn công DDOS đang được tiến hành bằng cách thêm giao thức thông báo điều khiển mạng internet (ICMP)vào thông điệp trong kiến trúc hạ tầng mạng Chương 18: Tấn công mạng và cách phòng chống Page 9
  10. Ý tưởng là bất cứ khi nào một router gửi một gói tin IP thì hệ thống cũng sẽ gửi một gói tin ICMP đến đích với một khả năng xác suất trong khoảng 1 trong 20.000 gói tin. Các gói tin sẽ bao gồm chi tiết của các đường truyền trước đây,các đường truyền kế tiếp, và càng nhiều các gói dữ liệu sẽ khớp nhau. Nhà quản trị hệ thống mạng sau đó sẽ có trách nhiệm theo dõi các cuộc tấn công từ chối dịch vụ trở lại . Ngay cả khi những kẻ tấn công sử dụng địa chỉ IP nguồn giả mạo để bao phủ máy tính của kẻ tấn công [93]. Hệ thống cũng có thể giúp bắt giữ kẻ tấn công gửi thư rác với quy mô lớn ,thông điệp không phải được gửi từ địa chỉ email và do giao thức SMTP được thiết kế để cung cấp dịch vụ. 18.2.2.4 Spam and Address Forgery (Tấn công bằn thư rác và giả mạo địa chỉ) Các dịch vụ như email và Web (SMTP và HTTP) thường kém độ an toàn về bảo mật. Cách tốt nhất để tìm tên máy với một địa chỉ IP thì sử dung dịch vụ phân giải tên miền DNS Vì vậy kẻ tấn công có thể lạm dụng lỗ hổng này để giả mạo địa chỉ IP . Ví dụ phổ biến nhất là thư giả mạo bằng cách gửi thư rác còn có nhiều cách khác. Ví dụ: nếu 1 kẻ tấn có thể cung cấp thông tin không chính xác về dich vụ DNS cho trang website của công ty bạn thì trang web này có thể bị chuyển hướng đến 1 trang web khác mà bạn không thể làm gì đượcVì vậy kẻ tấn công thường cung cấp các thông tin sai lệch trong bảng bộ nhớ DNS sau đó kẻ tấn công sẽ làm dich vụ DNS bị nhiễm độc. 18.2.2.5 Spoofing Attacks ( Tấn công giả mạo) Chúng ta có thể kết hợp một số ý tưởng trước vào các cuộc tấn công giả mạo hoạt động ở phạm vi lớn (có nghĩa bảo là từ bên ngoài mạng cục bộ hoặc miền) Charlie nói rằng Alice và Bob đang là một mục tiêu trên mạng LAN và Charlie muốn Nói chuyện như Alice với Bob. Charlie có thể làm Alice rớt khỏi mạng với một cuộc tấn công từ chối dịch vụ của một số loại phần mềm tấn công, sau đó bắt đầu một kết nối mới với Bob [559, 90]. Điều này đòi hỏi phải đoán một dãy số Y, mà Bob sẽ chỉ định trong phiên giao dịch theo giao thức thể hiện trong hình 18.1. Một cách đơn giản để đoán dãy số Y là phải làm việc trong một thời gian dài, sau đó Charlie kết nối thưc sự đến Alice ngay trước khi sử dụng và trong thực tế lthì giá trị của dãy số Y thay đổi một cách có thể dự đoán được từ một kết nối tiếp theo. Ngăn xếp sử dụng hệ thống các dãy số ngẫu nhiên và các kỹ thuật khác để tránh kẻ tấn công dự đoán đươc dãy số, nhưng hệ thống cấp số ngẫu nhiên thường cấp ít các dãy số ngẫu nhiên hơn so với với dự kiến để chờ đợi một dãy số lớn từ các lỗi bảo mật [774]. Nếu số thứ tự dự đoán là khả thi thì sau đó Charlie sẽ có thể gửi tin nhắn cho Bob, mà Bob sẽ tin tưởng tin nhắn đó đến từ Alice (mặc dù Charlie sẽ không thể đọc được trả lời của Bob ). Trong một số trường hợp, Charlie sẽ không có thể tấn công được Alice Chương 18: Tấn công mạng và cách phòng chống Page 10
  11. khi Alice bỏ qua câu trả lời ngẫu nhiên từ Charlie. Đây là một cuộc tấn công phức tạp nhưng không có vấn đề gì vì đã có những kịch bản có sẵn trên mạng để làm điều đó. 18.2.2.6 Routing Attacks Tấn công định tuyến là các cuộc tấn công đa dạng. Vụ tấn công cơ bản liên quan đến Charlie nói với Alice và Bob bằng một đường truyền đã định tuyến thuận tiện cho sự trao đổi tín hiệu qua lại giữa hai người. Tấn công định tuyến đã được sắp xếp vào giao thức TCP để làm hệ thống nhận được các bộ định tuyến sẵn từ môi trường xung quanh không tốt. Các hạ tầng cơ sở giả định rằng" server đang trung thực" và đây là đường đinh tuyến trở lại tốt nhất và chỉ có một giải pháp ngăn chặn định tuyến là khóa bảng định tuyến. Tuy nhiên,giải pháp vẫn tiếp tục được sử dụng cho chẩn đoán mạng. Một phương pháp khác liên quan đến việc chuyển hướng thông điệp là dựa trên cùng một tiền đề. Những ứng dụng nói rằng, "Bạn đã gửi thông điệp này thay vì đến các cổng khác " và thường phương pháp này không được áp dụng để kiểm tra. Chúng có thể được sử dụng để làm các việc lật đổ tương tự như cấp bảng định tuyến. Việc gửi thư rác đã làm cho gần như tất cả kẻ tấn công giả mạo thư đang bị coi thường. Việc định tuyến lại là rất khó khăn hơn, vì việc định tuyến hoàn toàn dựa trên nhà cung cấp dịch vụ . Nhiễm độc bộ nhớ cache DNS chỉ là một trong những thủ thuật mà có thể được sử dụng. 18.3 Defense against Network Attack: (Bảo vệ chống lại tấn công mạng) Việc chống lại tấn công có vẻ hợp lý để hy vọng rằng hầu hết các cuộc tấn công được những người đưa ra kịch bản có thể bị cản trở bởi một quản trị hệ thống cần cù theo dõi bản thông tin bảo mật và áp dụng tất cả các bản vá lỗi phần mềm của mình kịp thời cho nhà cung cấp . Đây là một phần của các chủ đề rộng hơn về quản lý cấu hình 18.3.1 Configuration Management : (Quản trị cấu hình) Quản trị chặt chẽ cấu hình là khía cạnh quan trọng nhất của một mô hình an toàn mạng . Nếu bạn có thể chắc chắn rằng tất cả các máy trong hệ thống của bạn đang chạy để cập nhật bản sao của hệ điều hành và đã cập nhật tất cả các bản vá lỗi được áp dụng cho các tập tin cấu hình dịch vụ mà không có bất kỳ lỗ hổng nghiêm trọng (chẳng hạn như các tập tin mật khẩu có thể bị ghi lại), các mật khẩu mặc định từ các sản phẩm đang được cài đặt mới và được hỗ trợ bởi tổ chức bảo vệ hệ thống mạng uy tín thì khi đó bạn có thể đối phó với hơn một nửa các cuộc tấn công mạng. (Bạn vẫn sẽ phải kiểm tra với các lỗ hổng từ những ứng dụng như kịch bản CGI, nhưng không chạy kich bản đó với quyền admins để bạn có thể hạn chế những thiệt hại mà kẻ tấn công có thể khai thác lỗ hổng) Chương 18: Tấn công mạng và cách phòng chống Page 11
  12. Quản trị cấu hình hợp lí cũng quan trọng như có một bức tường lửa , trong thực tế với sự lựa chọn của một trong hai thiết bị thì bạn nên quên các bức tường lửa. Tuy nhiên đó cũng là sự lựa chọn khó khăn hơn cho nhiều công ty bởi vì đó là nỗ lực thực sự của các nhà quản trị mạng chứ không phải mua và cài đặt một sản phẩm . Việc quản trị cấu hình bằng con số thậm chí có thể làm mọi điều trở nên điều tồi tệ hơn. Như đã lưu ý tại mục 18.2.2.3, bệnh viện Hoa Kỳ đã phải sử dụng một cấu hình được biết đến và quản tri hệ thống mạng yếu kém đã làm cho những kẻ tấn công lấy được những thông tin quan trọng trong nội bộ). Một số công cụ có sẵn để giúp các nhà quản trị hệ thống mạng bảo vệ mọi thứ chặt chẽ. Một số hệ thống mạng cho phép người quản trị thực hiện việc điều khiển các phiên bản tập trung do đó các bản vá lỗi có thể được áp dụng bất cứ lúc nào và tất cả mọi thứ có thể được bảo vệ một cách đồng bộ.Những kẻ tấn công sẽ cố gắng đột nhập vào các máy tính trong hệ thống mạng của nhà quản trị viên bằng cách sử dụng một tập hợp các lỗ hổng thông thường [320 ]. Kẻ tấn công sử dụng một số công cụ quen thuộc để thâm nhập là một ý tưởng rất tốt, vì các công cụ này cũng có thể bị sử dụng bởi các tin tặc để cố gắng tấn công hệ thống mạng Các bảng chi tiết sẵn có của các sản phẩm và những gì họ làm thay đổi từ một năm đến kế tiếp, vì vậy nó là không thích hợp để đi vào chi tiết ở đây. Điều thích hợp cho một nhà quản trị hệ thống là việc quản trị để ngăn chặn tất cả các lỗ hổng bằng những kỹ năng và lòng nhiệt huyết của mình.Các tổ chức cá nhân có thể thấy rằng quá tốn kém chi phí để sửa chữa tất cả các lỗ hổng bảo mật trên hệ thống chấp nhận được trên một mạng nội bộ nhưng không có kết nối Internet. Một vấn đề khác là một tổ chức thường xuyên chạy hầu hết các ứng dụng quan trọng trên hệ thống trên máy được bảo mật nhất trong khi đó các quản trị viên hệ thống mạng lại không dám áp dụng để nâng cấp hệ thống điều hành và các bản vá lỗi vì sợ mất dịch vụ.Điều này dẫn chúng ta đến việc sử dụng tường lửa. 18.3.2 Firewalls(Tường lửa) Thuật ngữ Firewall có nguồn gốc từ một kỹ thuật thiết kế trong xây dựng để ngăn chặn, hạn chế hoả hoạn. Trong công nghệ mạng thông tin, Firewall là một kỹ thuật được tích hợp vào hệ thống mạng để chống sự truy cập trái phép nhằm bảo vệ các nguồn thông tin nội bộ cũng như hạn chế sự xâm nhập vào hệ thống của một số thông tin khác không mong muốn. Cũng có thể hiểu rằng Firewall là một cơ chế để bảo vệ mạng tin tưởng (trusted network) khỏi các mạng không tin tưởng (untrusted network). Internet Firewall là một thiết bị (phần cứng+phần mềm) giữa mạng của một tổ chức, một công ty, hay một quốc gia (Intranet) và Internet. Nó thực hiện vai trò bảo mật các thông tin Intranet từ thế giới Internet bên ngoài Chương 18: Tấn công mạng và cách phòng chống Page 12
  13. Cấu trúc của Firewall bao gồm: Một hoặc nhiều hệ thống máy chủ kết nối với các bộ định tuyến (router) hoặc có chức năng router. Các phần mềm quản lý an ninh chạy trên hệ thống máy chủ. Thông thường là các hệ quản trị xác thực (Authentication), cấp quyền (Authorization) và kế toán (Accounting). Một Firewall chuẩn bao gồm một hay nhiều các thành phần sau đây: 1.Bộ lọc packet ( packet-filtering router ) 2.Cổng ứng dụng (application-level gateway hay proxy server ) 3.Cổng mạch (circuite level gateway) 18.3.2.1 Packet Filtering Khi nói đến việc lưu thông dữ liệu giữa các mạng với nhau thông qua Firewall thì điều đó có nghĩa rằng Firewall hoạt động chặt chẽ với giao thức liên mạng TCP/IP. Vì giao thức này làm việc theo thuật toán chia nhỏ các dữ liệu nhận được từ các ứng dụng trên mạng, hay nói chính xác hơn là các dịch vụ chạy trên các giao thức (Telnet, SMTP, DNS, SMNP, NFS...) thành các gói dữ liệu (data packets) rồi gán cho các packet này những địa chỉ để có thể nhận dạng, tái lập lại ở đích cần gửi đến, do đó các loại Firewall cũng liên quan rất nhiều đến các packet và những con số địa chỉ của chúng. Bộ lọc packet cho phép hay từ chối mỗi packet mà nó nhận được. Nó kiểm tra toàn bộ đoạn dữ liệu để quyết định xem đoạn dữ liệu đó có thoả mãn một trong số các luật lệ của lọc packet hay không. Các luật lệ lọc packet này là dựa trên các thông tin ở đầu mỗi packet (packet header), dùng để cho phép truyền các packet đó ở trên mạng. Đó là: Địa chỉ IP nơi xuất phát ( IP Source address) Địa chỉ IP nơi nhận (IP Destination address) Những thủ tục truyền tin (TCP, UDP, ICMP, IP tunnel) Cổng TCP/UDP nơi xuất phát (TCP/UDP source port) Cổng TCP/UDP nơi nhận (TCP/UDP destination port) Dạng thông báo ICMP ( ICMP message type) giao diện packet đến ( incomming interface of packet) giao diện packet đi ( outcomming interface of packet) Nếu luật lọc packet được thoả mãn thì packet được chuyển qua firewall. Nếu không packet sẽ bị bỏ đi. Nhờ vậy mà Firewall có thể ngăn cản được các kết nối vào các máy chủ hoặc mạng nào đó được xác định, hoặc khoá việc truy cập vào hệ thống mạng nội bộ từ những địa chỉ không cho phép. Hơn nữa, việc kiểm soát các cổng làm cho Firewall có khả năng chỉ cho phép một số loại kết nối nhất định vào các loại máy chủ nào đó, hoặc chỉ có những dịch vụ nào đó (Telnet, SMTP, FTP...) được phép mới chạy được trên hệ thống mạng cục bộ. Chương 18: Tấn công mạng và cách phòng chống Page 13
  14. 18.3.2.2 Circuit Gateways: Cổng vòng là một chức năng đặc biệt có thể thực hiện đươc bởi một cổng ứng dụng. Cổng vòng đơn giản chỉ chuyển tiếp (relay) các kết nối TCP mà không thực hiện bất kỳ một hành động xử lý hay lọc packet nào. Cổng vòng đơn giản chuyển tiếp kết nối telnet qua firewall mà không thực hiện một sự kiểm tra, lọc hay điều khiển các thủ tục Telnet nào.Cổng vòng làm việc như một sợi dây,sao chép các byte giữa kết nối bên trong (inside connection) và các kết nối bên ngoài (outside connection). Tuy nhiên, vì s ự kết nối này xuất hiện từ hệ thống firewall, nó che dấu thông tin về mạng nội bộ. Cổng vòng thường được sử dụng cho những kết nối ra ngoài, nơi mà các quản trị mạng thật sự tin tưởng những người dùng bên trong. Ưu điểm lớn nhất là một bastion host có thể được cấu hình như là một hỗn hợp cung cấp Cổng ứng dụng cho những kết nối đến, và cổng vòng cho các kết nối đi. Điều này làm cho hệ thống bức tường lửa dễ dàng sử dụng cho những người trong mạng nội bộ muốn trực tiếp truy nhập tới các dịch vụ Internet, trong khi vẫn cung cấp chức năng bức tường lửa để bảo vệ mạng nội bộ từ những sự tấn công bên ngoài. 18.3.2.3 Application Relays: Đây là một loại Firewall được thiết kế để tăng cường chức năng kiểm soát các loại dịch vụ, giao thức được cho phép truy cập vào hệ thống mạng. Cơ chế hoạt động của nó dựa trên cách thức gọi là Proxy service (dịch vụ đại diện). Proxy service là các bộ chương trình đặc biệt cài đặt trên gateway cho từng ứng dụng. Nếu người quản trị mạng không cài đặt chương trình proxy cho một ứng dụng nào đó, dịch vụ tương ứng sẽ không được cung cấp và do đó không thể chuyển thông tin qua firewall. Ngoài ra, proxy code có thể được định cấu hình để hỗ trợ chỉ một số đặc điểm trong ứng dụng mà ngưòi quản trị mạng cho là chấp nhận được trong khi từ chối những đặc điểm khác. Một cổng ứng dụng thường được coi như là một pháo đài (bastion host), bởi vì nó được thiết kế đặt biệt để chống lại sự tấn công từ bên ngoài. Những biện pháp đảm bảo an ninh của một bastion host là: Bastion host luôn chạy các version an toàn (secure version) của các phần mềm hệ thống (Operating system). Các version an toàn này được thiết kế chuyên cho mục đích chống lại sự tấn công vào Operating System, cũng như là đảm bảo sự tích hợp firewall. Chỉ những dịch vụ mà người quản trị mạng cho là cần thiết mới được cài đặt trên bastion host, đơn giản chỉ vì nếu một dịch vụ không được cài đặt, nó không thể bị tấn công. Thông thường, chỉ một số giới hạn các ứng dụng cho các dịch vụ Telnet, DNS, FTP, SMTP và xác thực user là được cài đặt trên bastion host. Bastion host có thể yêu cầu nhiều mức độ xác thực khác nhau, ví dụ như user password hay smart card. Mỗi proxy được đặt cấu hình để cho phép truy nhập chỉ một sồ các máy chủ nhất định. Điều này có nghĩa rằng bộ lệnh và đặc điểm thiết lập cho mỗi proxy chỉ đúng với một số máy chủ trên toàn hệ thống. Mỗi proxy duy trì một quyển nhật ký ghi Chương 18: Tấn công mạng và cách phòng chống Page 14
  15. chép lại toàn bộ chi tiết của giao thông qua nó, mỗi sự kết nối, khoảng thời gian kết nối. Nhật ký này rất có ích trong việc tìm theo dấu vết hay ngăn chặn kẻ phá hoại. Mỗi proxy đều độc lập với các proxies khác trên bastion host. Điều này cho phép dễ dàng quá trình cài đặt một proxy mới, hay tháo gỡ môt proxy đang có vấn để. 18.3.2.4 Ingress versus Egress Filtering: (Xâm nhập cổng ra của bộ lọc) Hiện nay hầu hết tất cả hệ thống tường lửa đều đượ bảo vệ từ phía bên ngoài và bảo vệ hệ thống khỏi những kẻ tấn công,hệ thống giám sát đảm bảo khô ng có bất cứ thông tin dữ liệu nào bị ăn cắp ra bên ngoài. Điều đó nói rằng, một số tổ chức thương mại đang bắt đầu theo dõi lưu lượng các gói tin gửi đi trong hệ thống. Nếu công ty có các máy được sử dụng trong các cuộc tấn công từ chối dịch vụ (như đã được đề xuất trong [771]) thì bộ lọc gói về nguyên tắc có thể được sử dụng để phát hiện và ngăn chặn các cuộc tấn công như vậy. Ngoài ra một xu hướng ngày càng đó là công nghệ thu thập dữ liệu và chuyển tiếp các thông tin về một thuê bao trực tuyến mà không cần uỷ quyền của họ. Phần mềm cho điện thoại trong nhà có thể tiết lộ những tài liệu nhạy cảm cao như các thư mục dữ liệutrong ổ cứng. Hy vọng rằng mọi người sẽ ngày càng thận trọng trong việc tổ chức theo dõi và kiểm soát loại lưu lượng. 18.3.2.5 Combinations (Kết Hợp) Tại các trang web có nhiều bức tường lửa có thể được sử dụng bộ lọc gói tin sau đó kết nối thế giới bên ngoài .Một mạng con cũng được biết đến như một khu phi quân sự (DMZ), trong đó có một số máy chủ ứng dụng hoặc proxy để lọc mail và các dịch vụ khác. Các DMZ sau đó có thể được kết nối với mạng nội bộ thông qua một bộ lọc địa chỉ mạng. Trong tổ chức hệ thống có thể có thêm các thiết bị quản lí kiểm soát hoạt động của hệ thống mạng để đảm bảo rằng thông tin phân loại không thể bị ăn cắp ra bên ngoài (hình 18,2). Việc cài đặt ,xây dựng hệ thống như vậy sẽ có thể mất chi phí lắp đặt rất cao như nhiều thông điệp cần phải thường được kiểm tra và thông qua bằng tay. Điều này có thể có được thực hiện bằng nhiều cách mà nhà quản tri mạng cài đặt cấp phép ra vào mạng, chẳng hạn như thiết bị quay số (dial -up) có thể thực hiện được công việc bảo mật thực hiện nếu nhà quản trị mạng cài đặt là nhằm ngăn chặn thông tin bị rò rỉ ra bên ngoài thì có thể dùng để ngăn chặn một số loại virus từ bên trong.Chúng ta sẽ thảo luận về vấn đề này tại Mục 18.4.6 18.3.3 Strengths and Limitations of Firewalls: (Ưu điểm và nhược điểm của firewall)  Ưu Điểm: 1. Firewall quyết định những dịch vụ nào từ bên trong được phép truy cập từ bên ngoài, những người nào từ bên ngoài được phép truy cập đến các dịch vụ bên trong, và cả những dịch vụ nào bên ngoài được phép truy cập bởi những người bên trong. Chương 18: Tấn công mạng và cách phòng chống Page 15
  16. 2. Để firewall làm việc hiệu quả, tất cả trao đổi thông tin từ trong ra ngoài và ngược lại đều phải thực hiện thông qua Firewall. 3. Chỉ có những trao đổi nào được phép bởi chế độ an ninh của hệ thống mạng nội bộ mới được quyền lưu thông qua Firewall.  Nhược Điểm: 1. Firewall không đủ thông minh như con người để có thể đọc hiểu từng loại thông tin và phân tích nội dung tốt hay xấu của nó. 2. Firewall chỉ có thể ngăn chặn sự xâm nhập của những nguồn thông tin không mong muốn nhưng phải xác định rõ các thông số địa chỉ. 3. Firewall không thể ngăn chặn một cuộc tấn công nếu cuộc tấn công này không "đi qua" nó. Một cách cụ thể, firewall không thể chống lại một cuộc tấn công từ một đường dial-up, hoặc sự dò rỉ thông tin do dữ liệu bị sao chép bất hợp pháp lên đĩa mềm. 4. Firewall cũng không thể chống lại các cuộc tấn công bằng dữ liệu (data- driven attack). Khi có một số chương trình được chuyển theo thư điện tử, vượt qua firewall vào trong mạng được bảo vệ và bắt đầu hoạt động ở đây. Một ví dụ là các virus máy tính 5. Firewall không thể làm nhiệm vụ rà quét virus trên các dữ liệu được chuyển qua nó, do tốc độ làm việc, sự xuất hiện liên tục của các virus mới và do có rất nhiều cách để mã hóa dữ liệu, thoát khỏi khả năng kiểm soát của firewall. Figure 18.2 Multiple firewalls. 18.3.4 Encryption Thuật toán Cryptography đề cập tới nghành khoa học nghiên cứu về mã hoá và giải mã thông tin. Cụ thể hơn là nghiên cứu các cách thức chuyển đổi thông tin từ dạng rõ (clear text) sang dạng mờ (cipher text) và ngược lại. Đây là một phương pháp hỗ trợ Chương 18: Tấn công mạng và cách phòng chống Page 16
  17. rất tốt cho trong việc chống lại những truy cập bất hợp pháp tới dữ liệu được truyền đi trên mạng, áp dụng mã hoá sẽ khiến cho nội dung thông tin được truyền đi dưới dạng mờ và không thể đọc được đối với bất kỳ ai cố tình muốn lấy thông tin đó. Không phải ai hay bất kỳ ứng dụng nào cũng phải sử dụng mã hoá. Nhu cầu về sử dụng mã hoá xuất hiện khi các bên tham gia trao đổi thông tin muốn bảo vệ các tài liệu quan trọng hay gửi chúng đi một cách an toàn. Các tài liệu quan trọng có thể là: tài liệu quân sự, tài chính, kinh doanh hoặc đơn giản là một thông tin nào đó mang tính riêng tư. Như chúng ta đã biết, Internet hình thành và phát triển từ yêu cầu của chính phủ Mỹ nhằm phục vụ cho mục đích quân sự. Khi chúng ta tham gia trao đổi thông tin, thì Internet là môi trường không an toàn, đầy rủi ro và nguy hiểm, không có gì đảm bảo rằng thông tin mà chúng ta truyền đi không bị đọc trộm trên đường truyền. Do đó, mã hoá được áp dụng như một biện pháp nhằm giúp chúng ta tự bảo vệ chính mình cũng như những thông tin mà chúng ta gửi đi. Bên cạnh đó, mã hoá còn có những ứng dụng khác như là bảo đảm tính toàn vẹn của dữ liệu. Theo một số tài liệu thì trước đây tính an toàn, bí mật của một thuật toán phụ thuộc vào phương thức làm việc của thuật toán đó. Nếu như tính an toàn của một thuật toán chỉ dựa vào sự bí mật của thuật toán đó thì thuật toán đó là một thuật toán hạn chế (Restricted Algrorithm). Restricted Algrorithm có tầm quan trọng trong lịch sử nhưng không còn phù hợp trong thời đại ngày nay. Giờ đây, nó không còn được mọi người sử dụng do mặt hạn chế của nó: mỗi khi một user rời khỏi một nhóm thì toàn bộ nhóm đó phải chuyển sang sử dụng thuật toán khác hoặc nếu người đó người trong nhóm đó tiết lộ thông tin về thuật toán hay có kẻ phát hiện ra tính bí mật của thuật toán thì coi như thuật toán đó đã bị phá vỡ, tất cả những user còn lại trong nhóm buộc phải thay đổi lại thuật toán dẫn đến mất thời gian và công sức. Hệ thống mã hoá hiện nay đã giải quyết vấn đề trên thông qua khoá (Key) là một yếu tố có liên quan nhưng tách rời ra khỏi thuật toán mã hoá. Do các thuật toán hầu như được công khai cho nên tính an toàn của mã hoá giờ đây phụ thuộc vào khoá. Khoá này có thể là bất kì một giá trị chữ hoặc số nào. Phạm vi không gian các giá trị có thể có của khoá được gọi là Keyspace . Hai quá trình mã hoá và giải mã đều dùng đến khoá. Hiện nay, người ta phân loại thuật toán dựa trên số lượng và đặc tính của khoá được sử dụng. Bên cạnh việc làm thế nào để che dấu nội dung thông tin thì mã hoá phải đảm bảo các mục tiêu sau: a.Confidentiality (Tính bí mật): Đảm bảo dữ liệu được truyền đi một cách an toàn và không thể bị lộ thông tin nếu như có ai đó cố tình muốn có được nội dung của dữ liệu gốc ban đầu. Chỉ những người được phép mới có khả năng đọc được nội dung thông tin ban đầu. Chương 18: Tấn công mạng và cách phòng chống Page 17
  18. b.Authentication (Tính xác thực): Giúp cho người nhận dữ liệu xác định được chắc chắn dữ liệu mà họ nhận là dữ liệu gốc ban đầu. Kẻ giả mạo không thể có khả năng để giả dạng một người khác hay nói cách khác không thể mạo danh để gửi dữ liệu. Người nhận có khả năng kiểm tra nguồn gốc thông tin mà họ nhận được. c.Integrity (Tính toàn vẹn): Giúp cho người nhận dữ liệu kiểm tra được rằng dữ liệu không bị thay đổi trong quá trình truyền đi. Kẻ giả mạo không thể có khả năng thay thế dữ liệu ban đầu băng dữ liệu giả mạo d.Non-repudation (Tính không thể chối bỏ): Người gửi hay người nhận không thể chối bỏ sau khi đã gửi hoặc nhận thông tin. Nguyên tắc đầu tiên trong mã hoá là “Thuật toán nào cũng có thể bị phá vỡ”. Các thuật toán khác nhau cung cấp mức độ an toàn khác nhau, phụ thuộc vào độ phức tạp để phá vỡ chúng. Tại một thời điểm, độ an toàn của một thuật toán phụ thuộc: - Nếu chi phí hay phí tổn cần thiết để phá vỡ một thuật toán lớn hơn giá trị của thông tin đã mã hóa thuật toán thì thuật toán đó tạm thời được coi là an toàn. - Nếu thời gian cần thiết dùng để phá vỡ một thuật toán là quá lâu thì thuật toán đó tạm thời được coi là an toàn. - Nếu lượng dữ liệu cần thiết để phá vỡ một thuật toán quá lơn so với lượng dữ liệu đã được mã hoá thì thuật toán đó tạm thời được coi là an toàn Từ tạm thời ở đây có nghĩa là độ an toàn của thuật toán đó chỉ đúng trong một thời điểm nhất định nào đó, luôn luôn có khả năng cho phép những người phá mã tìm ra cách để phá vỡ thuật toán. Điều này chỉ phụ thuộc vào thời gian, công sức, lòng đam mê cũng như tính kiên trì bên bỉ. Càng ngày tốc độ xử lý của CPU càng cao, tốc độ tính toán của máy tính ngày càng nhanh, cho nên không ai dám khẳng định chắc chắn một điều rằng thuật toán mà mình xây dựng sẽ an toàn mãi mãi. Trong lĩnh vực mạng máy tính và truyền thông luôn luôn tồn tại hai phe đối lập với nhau những người chuyên đi tấn công, khai thác lỗ hổng của hệ thống và những người chuyên phòng thủ, xây dựng các qui trình bảo vệ hệ thống. Cuộc chiến giữa hai bên chẳng khác gì một cuộc chơi trên bàn cờ, từng bước đi, nước bước sẽ quyết định số phận của mối bên. Trong cuộc chiến này, ai giỏi hơn sẽ dành được phần thắng. Trong thế giới mã hoá cũng vậy, tất cả phụ thuộc vào trình độ và thời gian…sẽ không ai có thể nói trước được điều gì. Đó là điểm thú vị của trò chơi. Có rất nhiều các thuật toán mã hoá khác nhau. Từ những thuật toán được công khai để mọi người cùng sử dụng và áp dụng như là một chuẩn chung cho việc mã hoá dữ liệu; đến những thuật toán mã hoá không được công bố. Có thể phân loại các thuật toán mã hoá như sau: Phân loại theo các phương pháp: - Mã hoá cổ điển (Classical cryptography) - Mã hoá đối xứng (Symetric cryptography) - Mã hoá bất đối xứng(Asymetric cryptography) - Hàm băm (Hash function) Chương 18: Tấn công mạng và cách phòng chống Page 18
  19. Phân loại theo số lượng khoá: - Mã hoá khoá bí mật (Private-key Cryptography) - Mã hoá khoá công khai (Public-key Cryptography) 18..4 Trojans, Viruses, and Worms Trojan Horse được lấy tên từ một câu chuyện thần thoại cổ “ Con ngựa thành Trojan“. Người ta định nghĩa :”Trojan horse là một chương trình không chính thức chứa trong khoảng thời gian một chương trình hợp pháp”. Như vậy, Trojans có thể chạy được là do các chương trình hợp pháp đã bị thay đổi mã của nó bằng những mã bất hợp pháp. Những chương trình virus là một loại điển hình của các chương trình Trojans. Vì những chương trình virus che dấu các đoạn mã trong những chương trình sử dụng hợp pháp. Khi những chương trình này hoạt động thì những đoạn mã ẩn dấu thực thi để thực hiện một số chức năng mà người sử dụng không biết (ăn cắp mật khẩu hay sao chép files v.v…). Xét về khía cạnh bảo mật và giám sát trên Internet thì một chương trình Trojan sẽ thực hiện các vấn đề sau: -Giúp người lập trình phát hiện ra các lỗi hoặc thông tin cá nhân của máy người dùng trên hệ thống mạng. -Giúp người lập trình phát hiện kiểm soát và khống chế các hoạt động trên máy được kết nối vào mạng Một vài chương trình trojan có thể thực hiện cả 2 chức năng này; ngoài ra, một số chương trình trojans còn có thể phá hủy hệ thống bằng cách phá hoại các thông tin trên ổ cứng (ví dụ các trường hợp là virus Melisa lây lan qua đường thư điện tử). Các chương trình trojan có thể lây lan qua nhiều phương thức; hoạt động trên nhiều môi trường hệ điều hành khác nhau (từ Unix tới Windows, DOS); đặc biệt thường lây lan qua một số dịch vụ phổ biến như Mail, FTP... hoặc qua các tiện ích, chương trình miễn phí trên mạng Internet. Việc đánh giá mức độ ảnh hưởng của các chương trình trojans hết sức khó khăn. Trong một vài trường hợp, nó chỉ đơn giản là ảnh hưởng đến các truy nhập của khách hàng; ví dụ như các chương trình trojans lấy được nội dung của file password và gửi mail tới kẻ phá hoại; cách thức sửa đơn giản nhất là thay thế toàn bộ nội dung của các chương trình đã bị ảnh hưởng bởi các đoạn mã trojans và thay thế các passwords của người sử dụng hệ thống. Tuy nhiên với những trường hợp nghiêm trọng hơn, là những kẻ tấn công tạo ra những lỗ hổng bảo mật thông qua các chương trình trojans; ví dụ những kẻ tấn công lấy được quyền root trên hệ thống, lợi dụng nó để phá huỷ toàn bộ hoặc một phần của hệ thống; chúng dùng các quyền root để thay đổi logfile; cài đặt các chương trình trojans khác mà người quản trị không thể phát hiện. Trong trường hợp này, mức độ ảnh hưởng là Chương 18: Tấn công mạng và cách phòng chống Page 19
  20. nghiêm trọng và người quản trị hệ thống đó chỉ còn cách là cài đặt lại toàn bộ hệ thống. Để có thêm nhiều thông tin hơn về chương tình trojan xem : http://www.cert.org/advisories/CA-1999-02.html Ngoài những nguy cơ được liên quan đến khi nối máy tính (của) các bạn tới Internet, ở đó là một số nguy cơ mà áp dụng dù máy tính không có những kết nối mạng chút nào. Đó là những nguy cơ khá điển hình như : Lỗi đĩa cứng (Disk failure), Gián đoạn trong việc cấp năng lượng và sóng (Power failure and surges), ăn trộm vật lý (Physical Theft) v.v… Ngoài ra còn có các virus và sâu, được tự tuyên truyền chương trình độc hại và để mà chúng ta đã đề cập nhiều lần trong các chương trước đó. Có cuộc tranh luận về các định nghĩa chính xác bằng ba điều kiện: sử dụng phổ biến là đoạn mã độc một chương trình mà không gây cái gì đó độc hại (như chụp mật khẩu) khi chạy bởi một người dùng không nghi ngờ; sâu một lần nhắc lại là cái gì đó và virus là một loại virus là loại lây lan nhanh bằng cách gắn nó với các chương trình khác. 18.4.1 Early History of Malicious Code Malware dường như có khả năng xuất hiện bất cứ khi nào số lượng người dùng chia sẻ một nền tảng dữ liệu kha lớn. Mã độc ra đời vào đến đầu thập niên 1960. Các máy móc của thời đại đó đã bị làm chậm và chu kỳ của CPU đã được cẩn thận hạn chế giữa các nhóm khác nhau của người dùng. Bởi vì sinh viên của các trường đại học thường phát minh ra những thủ thuật như viết trò chơi máy tính với đoạn mã độc bên trong để kiểm tra xem các chương trình đã được chạy như là người chủ và nếu như vậy để tạo một tài khoản bổ sung đặc biệt với một mật khẩu được biết trước. Đến năm 1970, các hệ thống lớn ở trường đại học là mục tiêu của trò đùa nhiều hơn và nhiều hơn nữa liên quan đến Trojan horses. Tất cả các loại thủ thuật được phát triển. 18.4.2 The Internet Worm Worm là sâu máy tính là một loại phần mềm có sức lây lan nhanh, rộng và phổ biến nhất hiện nay. Không giống với virus thời "nguyên thủy", worm không cần đến các tập tin "mồi" để lây nhiễm. Chúng tự nhân bản và phát tán qua môi trường Internet, mạng ngang hàng, dịch vụ chia sẻ... Worm làm việc đó một cách tự động bằng cách nắm quyền kiểm soát các tính năng trong máy tính, mà các tính năng này có thể truyền tải các tệp hoặc thông tin. Khi bạn có sâu trong hệ thống của mình nó có thể tự di chuyển. Một nguy hiểm lớn của sâu là nó có khả năng tái tạo ở lượng lớn. Chương 18: Tấn công mạng và cách phòng chống Page 20
nguon tai.lieu . vn