TỔNG QUAN VỀ AN NINH MẠNG
GIỚI THIỆU VỀ AN NINH MẠNG
An ninh mạng ngày càng được chú trọng trong lĩnh vực công nghệ thông tin do sự phát triển của internet và nhu cầu trao đổi thông tin Kết nối mạng cho phép người dùng từ các vị trí khác nhau chia sẻ tài nguyên, nhưng cũng làm gia tăng nguy cơ xâm phạm và mất mát dữ liệu quan trọng Sự mở rộng của kết nối đồng nghĩa với việc dễ bị tấn công, dẫn đến sự cần thiết phải bảo vệ thông tin Do đó, an ninh mạng ra đời như một giải pháp thiết yếu để đảm bảo an toàn cho dữ liệu và thông tin.
Khi User A gửi một tập tin cho User B trong nước Việt Nam, nguy cơ mất mát dữ liệu chỉ xảy ra trong phạm vi nhỏ Ngược lại, nếu User A gửi tập tin cho User C ở Mỹ, rủi ro mất mát dữ liệu sẽ lớn hơn, ảnh hưởng đến phạm vi toàn cầu.
Lỗ hổng bảo mật trên mạng là mối nguy hiểm tiềm tàng, có thể dẫn đến những hậu quả nghiêm trọng Ngay cả những lỗ hổng nhỏ trong hệ thống cũng có thể bị khai thác bởi các kỹ thuật hack chuyên nghiệp, biến chúng thành mối đe dọa lớn.
Tóm lại, internet và các loại mạng khác như mạng LAN đều tiềm ẩn nguy cơ không an toàn, bao gồm cả mạng điện thoại và di động Điều này cho thấy rằng phạm vi bảo mật không chỉ giới hạn trong một máy tính hay một tổ chức, mà là một vấn đề toàn cầu.
Hàn 1.1.1 Tình hình an ninh mạng trên thế giới
Vào ngày 06/03/2013, tại triển lãm CeBIT ở Hanover, Đức, Deutsche Telekom đã giới thiệu cổng thông tin “Sicherheitstacho.eu”, cung cấp dịch vụ thống kê dữ liệu thời gian thực về các vụ tấn công mạng toàn cầu.
Theo đó, các dữ liệu về những vụ tấn công mạng được tổng hợp và ghi nhận bởi
Deutsche Telekom đã triển khai 97 bộ thu thập thông tin hệ thống "honeypot" (bẫy tin tặc) tại các chi nhánh toàn cầu Những dữ liệu thu thập được sẽ được hiển thị trên bản đồ, cung cấp thông tin chi tiết về thời gian tấn công, kiểu tấn công, nguồn gốc, và mục tiêu bị nhắm đến.
Hình 1.1 Thông tin các cuộc tấn công trên thế giới
Dịch vụ này nhằm cung cấp cái nhìn tổng quan về hoạt động tội phạm mạng toàn cầu, giúp Deutsche Telekom bảo vệ hệ thống nội bộ và cảnh báo kịp thời về các mối đe dọa đối với khách hàng Đồng thời, Deutsche Telekom cũng cam kết chia sẻ dữ liệu thu thập được với cơ quan chức năng và các công ty bảo mật.
Theo thống kê tháng 02/2013, toàn cầu ghi nhận hơn 27,3 triệu cuộc tấn công mạng, trong đó Nga dẫn đầu với 2,4 triệu vụ, tiếp theo là Đài Loan với 907.102 vụ, Đức với hơn 780.425 vụ và Mỹ xếp thứ 6 với 355.341 vụ Bản đồ tấn công trực tuyến theo thời gian thực tại trang web “http://www.Sicherheitstacho.eu” không phải là dịch vụ đầu tiên cung cấp cái nhìn về tình hình tấn công mạng toàn cầu; dự án Honeynet Projet đã được triển khai vào tháng 09/2012 nhưng quy mô thu thập thông tin không lớn như của Deutsche Telekom.
1.1.2 Tình hình an ninh mạng tại Việt Nam
Trong năm 2009, ở nước ta có hơn 1000 (1.037) website bị hacker tấn công, tăng hơn gấp đôi so với năm 2008 (461 website) và gấp 3 lần năm 2007 (342 website).
Trong 3 tháng đầu năm 2010 đã có hơn 300 website của các cá nhân tổ chức có tên miền vn bị hacker nước ngoài thăm dò và tấn công.
Lỗ hổng an ninh của các hệ thống ngày càng được phát hiện nhiều hơn
Số lượng các điểm yếu an ninh trong năm 2009 là 4300 (năm 2008 là 3500) có tới 30% lỗ hổng có mức độ nguy hiểm cao.
Gần một nửa (49%) số lỗ hổng an ninh vẫn chưa có các bản vá do nhà cung cấp dịch vụ phát hành.
Ở nước ta vấn đề lỗ hổng của hệ thống vẫn chưa được quản trị hệ thống cập nhật các bản vá kịp thời
Mạng Internet là môi trường có vô số các vụ tấn công Nhìn chung có thể chia các mối đe dọa an ninh đó thành 4 loại:
Mất dữ liệu tích hợp: dữ liệu bị sửa chữa, thay thế khi truyền trên mạng.
Mất dữ liệu bảo mật: những người không có quyền cũng có thể đọc được dữ liệu.
Từ chối dịch vụ: dịch vụ bị ngưng trệ bởi sự tấn công của Hacker.
Mất khả năng điều khiển: những người có quyền sử dụng dịch vụ không thể tương tác được với dịch vụ.
Người dùng thường tìm kiếm lỗ hổng trong phần mềm hoặc cấu hình hệ thống để đảm bảo an toàn thông tin Trong một số trường hợp, hacker có thể ngăn chặn truy cập vào hệ thống bằng cách thiết lập các thủ tục nhằm tạo ra thông báo "từ chối dịch vụ".
SVTH: Phạm Thành Luân – CCMM04B Trang 5
Tấn công từ chối dịch vụ (DoS) xảy ra khi hệ thống bị quá tải bởi một lượng lớn yêu cầu, khiến phần mềm dịch vụ không thể xử lý kịp Kết quả là, hệ thống trở nên bận rộn và không còn thời gian để thực hiện các tác vụ khác, dẫn đến việc phải từ chối truy cập vào dịch vụ.
Một trong những phương pháp xâm nhập mạng đơn giản nhất là chặn dòng dữ liệu giữa các thành viên Vì thông tin trong mạng được truyền dưới dạng văn bản thuần túy, việc rình bắt dữ liệu sẽ giúp hacker dễ dàng lấy được mật khẩu của mạng.
Một kiểu tấn công mạng phổ biến là giả dạng người dùng có thẩm quyền thông qua việc giả lập địa chỉ IP Thường thì, độ tin cậy chỉ dựa vào một phía, như password hoặc PIN, mà dễ bị sao chép Để nâng cao độ tin cậy, cần thiết lập sự xác thực từ hai phía bằng cách sử dụng thẻ thông minh kết hợp với PIN, nhằm tăng cường mức độ an toàn cho mạng.
Một phương pháp khác để truy cập vào mạng đích là phát triển phần mềm thông minh, cho phép thu thập thông tin từ các dữ liệu thải loại trong thùng rác hoặc đĩa mềm bỏ đi của quản trị mạng Tuy nhiên, phương pháp này thường chỉ hiệu quả khi Hacker có mối liên hệ chặt chẽ với người điều hành mạng, điều này cũng làm tăng khả năng bị phát hiện khi mạng gặp sự cố tấn công.
Một trong những cách mà hacker có thể xâm nhập vào mạng là thông qua việc sử dụng các tên miền dễ nhớ như System01.Domain.Org Bằng cách truy cập vào máy chủ quản lý hệ thống tên miền (DNS), hacker có thể dễ dàng chuyển hướng yêu cầu của người dùng đến một máy chủ khác để đánh cắp thông tin Để đảm bảo người dùng truy cập đúng máy chủ, cần phải kiểm tra độ tin cậy của máy chủ thông qua việc sử dụng chứng chỉ số Ngoài ra, để ngăn chặn việc gói tin bị thay thế trong quá trình truyền tải, các gói tin cần được tích hợp và mã hóa trước khi gửi, đảm bảo tính chính xác của thông điệp.
Trong nhiều trường hợp, các cuộc tấn công mạng thành công chủ yếu do yếu tố con người thay vì kỹ thuật Thay vì sử dụng công nghệ để xâm nhập, hacker thường liên hệ trực tiếp với những người nắm giữ thông tin cần thiết, lợi dụng thói quen và tâm lý của họ để khiến họ không báo cáo về những thông tin bị rò rỉ.
TỔNG QUAN VỀ ỨNG DỤNG WEB
1.2.1 Mô tả về Website và cách thức hoạt động
Website là một trang web trên Internet, cung cấp thông tin và hình ảnh về doanh nghiệp, sản phẩm và dịch vụ Nó cho phép khách hàng truy cập thông tin bất cứ lúc nào và từ bất kỳ đâu.
Website là một tập hợp các trang web, và khi doanh nghiệp xây dựng website, họ đang tạo ra nhiều trang thông tin, danh mục sản phẩm và dịch vụ Để xây dựng một website hiệu quả, cần có ba yếu tố cơ bản.
Cần phải có tên miền (domain).
Nơi lưu trữ website (hosting).
Nội dung các trang thông tin (web page)
Một số thuật ngữ cơ bản:
Website động là loại website sử dụng cơ sở dữ liệu và công cụ quản lý (Admin Tool), cho phép cập nhật thông tin thường xuyên và quản lý các thành phần dễ dàng Đặc điểm nổi bật của website động là tính linh hoạt, thường được phát triển bằng các ngôn ngữ lập trình như PHP, Asp.net, JSP, Perl, và quản trị cơ sở dữ liệu bằng SQL hoặc MySQL.
Website tĩnh được lập trình bằng ngôn ngữ HTML, thường được thiết kế như một brochure, không sử dụng cơ sở dữ liệu hay công cụ quản lý thông tin Các phần mềm phổ biến cho việc thiết kế website tĩnh bao gồm FrontPage và Dreamweaver Đặc điểm nổi bật của website tĩnh là nội dung ít thay đổi, và sự thay đổi này chủ yếu liên quan đến các văn bản mô tả nội dung trên trang.
Hiện nay, hầu hết các doanh nghiệp đều sử dụng website động, thế hệ công nghệ website được mọi người biết đến là web 2.0.
Tên miền là địa chỉ duy nhất của một website trên internet, đảm bảo rằng mỗi tên miền chỉ tồn tại một lần Có hai loại tên miền chính mà người dùng có thể lựa chọn.
Tên miền Quốc tế: là tên miền có dạng com; net; org; biz; name
Tên miền Việt Nam: là tên miền có dạng vn; com.vn; net.vn; org.vn;
Lưu trữ website là quá trình bảo quản dữ liệu thông tin của trang web trên một máy chủ (server) luôn hoạt động và kết nối với Internet Một máy chủ có khả năng lưu trữ nhiều website, nhưng nếu xảy ra sự cố như mất điện, tất cả các website trên máy chủ đó sẽ không thể truy cập được trong thời gian gặp sự cố.
Tùy theo nhu cầu lưu trữ thông tin mà doanh nghiệp có thể thuê dung lượng thích hợp cho website [thuê dung lượng host].
Dung lượng host: Là nơi để lưu cơ sở trữ dữ liệu của website (hình ảnh, thông tin …), đơn vị đo dung lượng thường là Mb hoặc Gb.
Băng thông, hay còn gọi là dung lượng đường truyền, là tổng số megabyte (Mb) dữ liệu được tải lên hoặc tải về từ máy chủ nơi lưu trữ website Đơn vị đo băng thông thường được sử dụng là Mb/tháng.
1.2.2 Các dịch vụ và ứng dụng trên nền Web
Với sự phát triển của công nghệ hiện đại, website không còn chỉ là một trang tin tức đơn giản Các ứng dụng được phát triển trên nền tảng web giờ đây được xem như phần mềm thực thụ, mang lại nhiều chức năng và tiện ích cho người dùng.
Có rất nhiều phần mềm chạy trên nền web như Google word (xử lý văn bản), Google spreadsheets (xử lý bảng tính), Email ,…
Một số ưu điểm của phần mềm hay ứng dụng chạy trên nền web:
Mọi người đều có trình duyệt và bạn chỉ cần trình duyệt để chạy phần mềm.
Phần mềm luôn luôn được cập nhật vì chúng chạy trên server
Dễ dàng backup dữ liệu thường xuyên
Có thể truy cập mọi lúc, mọi nơi, miễn là bạn có mạng
Chi phí triển khai cực rẻ so với phần mềm chạy trên desktop
SVTH: Phạm Thành Luân – CCMM04B Trang 8
Hãy tưởng tượng bạn sở hữu một phần mềm quản lý bán hàng hoặc quản lý công việc tại công ty Với phần mềm dựa trên nền tảng web, bạn có thể dễ dàng kiểm tra và điều hành công việc từ bất kỳ đâu, ngay cả khi không có mặt tại văn phòng Chỉ cần một chiếc điện thoại thông minh như iPhone có trình duyệt, bạn hoàn toàn có thể truy cập mà không cần đến máy tính.
Hình 1.2 Hình ảnh ví dụ về các ứng dụng Web
TÌM HIỂU CÁC PHƯƠNG PHÁP ĐÁNH GIÁ ĐỘ BẢO MẬT CỦA WEBSITE
IN DẤU CHÂN (FOOTPRINTING)
Để tấn công hệ thống hiệu quả, bạn cần thực hiện ba bước cơ bản: in dấu chân, quét và liệt kê Trước khi tiến hành các bước này, điều quan trọng là bạn phải nắm rõ từng công việc Trong bài viết này, chúng ta sẽ tập trung vào kỹ thuật in dấu chân (footprint) để hiểu rõ hơn về quy trình tấn công.
Khi một tên cướp lên kế hoạch để cướp ngân hàng, hắn không thể đơn giản bước vào và yêu cầu tiền Thay vào đó, hắn sẽ dành thời gian thu thập thông tin quan trọng từ ngân hàng, như lộ trình xe bọc thép, thời gian phát tiền và số lượng thủ quỹ Những thông tin này là yếu tố quyết định giúp cho phi vụ cướp thành công.
Kẻ tấn công mạng cần thu thập thông tin chi tiết về các khía cạnh bảo mật của tổ chức để đảm bảo cuộc tấn công diễn ra suôn sẻ Bằng cách theo dõi dấu chân số, các bộ lưu trữ trên internet, và truy cập từ xa, họ có thể hệ thống hóa thông tin từ nhiều nguồn khác nhau về tổ chức mục tiêu.
Footprinting là giai đoạn chuẩn bị trong tấn công mạng, bao gồm việc thu thập thông tin về môi trường và kiến trúc của mục tiêu Mục đích chính của quá trình này là xác định các lỗ hổng để xâm nhập vào hệ thống.
Footprinting là quá trình thu thập thông tin về hệ thống máy tính và các công ty, giúp phát hiện các lỗ hổng và thông tin có thể bị khai thác Đây là phương pháp đơn giản nhất cho hacker để tìm hiểu về hệ thống, khả năng truy cập từ xa, cổng và dịch vụ, cũng như các khía cạnh bảo mật cụ thể Mục tiêu của giai đoạn này là nắm bắt càng nhiều thông tin càng tốt về hệ thống mục tiêu.
Footprinting là quá trình lập kế hoạch chi tiết hoặc bản đồ hệ thống mạng của một tổ chức Nó liên quan đến việc thu thập thông tin về tổ chức, bắt đầu từ việc xác định mục tiêu hệ thống, ứng dụng hoặc vị trí vật lý Thông tin cụ thể về tổ chức được thu thập thông qua các phương pháp không xâm nhập.
Trang web của tổ chức có thể chứa thư mục nhân viên hoặc danh sách tiểu sử nhân viên, điều này có thể trở thành nguồn thông tin hữu ích cho hacker nếu họ thực hiện các cuộc tấn công kỹ thuật xã hội để đạt được mục tiêu.
Một hacker có thể dùng Google search hoặc Yahoo! People tìm kiếm để xác định vị trí thông tin về những người nhân viên.
Google search engine là công cụ mạnh mẽ cho việc tổng hợp thông tin một cách sáng tạo Hành động khai thác thông tin từ Google search engine được gọi là Google hacking Ngoài ra, bạn có thể sử dụng http://groups.google.com để tìm kiếm các newsgroup của Google.
Blog, nhóm mới và báo chí là những nguồn thông tin hữu ích để tìm hiểu về công ty và nhân viên Các công ty tuyển dụng thường chia sẻ thông tin về các loại máy chủ và thiết bị hạ tầng mà họ đang sử dụng.
Thông tin bổ sung có thể bao gồm việc xác định các công nghệ Internet hiện đang sử dụng, hệ điều hành và phần cứng, hoạt động của địa chỉ IP, địa chỉ email, số điện thoại, cũng như các chính sách và thủ tục của tổ chức.
2.1.2.1 Phương pháp thu thập thông tin
Quá trình Footprinting bao gồm bảy bước, như được minh họa trong hình 2.1 Hai bước đầu tiên tập trung vào việc thu thập thông tin ban đầu và xác định phạm vi mạng.
Một số nguồn thông thường được sử dụng để thu thập thông tin bao gồm sau đây: Domain name lookup
Trước khi thảo luận về các công cụ, cần lưu ý rằng thông tin nguồn mở cung cấp một lượng lớn dữ liệu về một mục tiêu, chẳng hạn như số điện thoại và địa chỉ Việc thực hiện yêu cầu Whois và tìm kiếm trong bảng Domain Name System (DNS) cho phép truy cập vào hầu hết thông tin này một cách dễ dàng và hợp pháp.
Bài viết này không đi sâu vào chi tiết về cách hoạt động của DNS và quy trình dịch DNS, nhưng nhấn mạnh rằng ứng cử viên CEH cần có hiểu biết cơ bản về DNS và cách phân giải tên miền trên Internet.
Sam Spade (http://www.samspade.org) là một trang web cung cấp bộ công cụ hữu ích như Whois, nslookup và traceroute Những công cụ này hoạt động trên nhiều hệ điều hành và giúp người dùng xác định vị trí cũng như thu thập thông tin về một tổ chức mục tiêu.
2.1.2.2 Phương pháp liệt kê DNS
NSlookup, DNSstuff, the American Registry for Internet Numbers (ARIN), and Whois can all be utilized to gather information that is subsequently used for DNS enumeration.
QUÉT THĂM DÒ MẠNG (SCANNING NETWORK)
Quét (Scanning) là bước quan trọng trong tiến trình tấn công hệ thống, giúp xác định thông tin cần thiết về mục tiêu Sau khi thu thập thông tin qua Footprinting và Social Engineering, chúng ta chuyển sang giai đoạn Scanning, nơi tập trung vào máy móc Tại đây, hacker sẽ thu thập các thông tin như tên máy, địa chỉ IP, cấu hình, hệ điều hành, dịch vụ đang chạy và port mở Những thông tin này hỗ trợ hacker lập kế hoạch tấn công hiệu quả và chọn kỹ thuật phù hợp Quét cũng giúp xác định xem hệ thống mục tiêu còn hoạt động trên mạng hay không, là phương pháp thiết yếu cho hacker trong việc tìm kiếm thông tin về hệ thống đích.
Sau khi hoàn tất các giai đoạn thăm dò chủ động và bị động, bước tiếp theo là quét hệ thống Quét giúp xác định xem một hệ thống có tồn tại trên mạng và có sẵn sàng hoạt động hay không Công cụ quét thu thập thông tin quan trọng về hệ thống, bao gồm địa chỉ IP, hệ điều hành và các dịch vụ đang chạy trên máy tính mục tiêu Dưới đây là ba loại quét chính mà chúng ta sẽ tập trung vào.
Hình 2.5 Các kiểu Scanning 2.2.2.1 Port Scanning
Port scanning là quá trình xác định các cổng TCP/IP mở trên hệ thống, giúp hacker nhận diện các dịch vụ đang hoạt động Công cụ này cho phép tìm hiểu về các ứng dụng máy tính thông qua các cổng phổ biến, chẳng hạn như cổng 80 cho web server Việc nắm rõ các cổng thông dụng là điều cần thiết cho hacker trong quá trình quét hệ thống.
Network scanning là quy trình xác định các máy chủ đang hoạt động trên mạng nhằm tấn công hoặc đánh giá an ninh mạng Các máy chủ được nhận diện thông qua địa chỉ IP cá nhân Các công cụ network scanning nỗ lực phát hiện tất cả các máy chủ trực tiếp hoặc phản hồi trên mạng cùng với địa chỉ IP tương ứng của chúng.
Quá trình quét lỗ hổng (vulnerability scanning) là một phương pháp chủ động nhằm xác định các lỗ hổng trong hệ thống máy tính trên mạng Đầu tiên, máy quét sẽ nhận diện các hệ điều hành và phiên bản của chúng, cùng với các gói dịch vụ đã được cài đặt Tiếp theo, nó sẽ phát hiện các điểm yếu và lỗ hổng trong hệ điều hành Trong giai đoạn tấn công, hacker có thể lợi dụng những điểm yếu này để xâm nhập vào hệ thống.
Hệ thống phát hiện xâm nhập (IDS) và mạng an ninh chuyên nghiệp với công cụ phù hợp có khả năng phát hiện hoạt động quét cổng Các công cụ quét cổng TCP/IP tìm kiếm các cổng mở và địa chỉ IP, đồng thời phát hiện các lỗ hổng, vì chúng cần tương tác với hệ thống đích trên mạng.
Bản chất của quá trình này là gửi một gói ICMP Echo Request đến máy chủ đang muốn tấn công
Việc quét này rất hữu ích để định vị các thiết bị hoạt động hoặc xác định hệ thống có tường lửa hay không
Ping Sweep là kỹ thuật được áp dụng để xác định các máy chủ đang hoạt động từ một dải địa chỉ IP bằng cách gửi gói ICMP Echo Request đến từng IP Nếu máy chủ vẫn còn hoạt động, nó sẽ phản hồi bằng một gói ICMP Reply.
2.2.3.2 Kiểm tra các cổng mở
Kiểm tra các cổng đang mở là bước quan trọng trong quá trình quét bảo mật Port scanning là phương pháp hiệu quả để xác định tình trạng của các cổng trên máy chủ Quá trình này bao gồm việc thăm dò từng cổng nhằm phát hiện các cổng đang mở, từ đó đánh giá mức độ bảo mật của hệ thống So với quét ping, port scanning cung cấp thông tin chi tiết hơn về các lỗ hổng có thể tồn tại Để thực hiện quét port, máy khách cần thiết lập kết nối với máy bị tấn công thông qua giao thức TCP, sử dụng cơ chế bắt tay 3 bước.
Hình 2.6 Cơ chế bắt tay ba bước
1 Máy tính A khởi tạo một kết nối đến máy bị tấn công bằng một gói tin với cờ SYN
2 Máy bị tấn công sẽ trả lời bằng một gói tin với cờ SYN và ACK
3 Cuối cùng, máy khách sẽ gởi lại cho máy chủ một gói tin ACK
Nếu 3 bước trên được hoàn thành mà không có biến chứng thì sau đó một kết nối TCP sẽ được thiết lập
TCP là một giao thức hướng kết nối, bao gồm quy trình thiết lập kết nối thông qua ba bước (three-way handshake), khởi động lại các kết nối không thành công và kết thúc kết nối Các giao thức này được sử dụng để thông báo và quản lý kết nối hiệu quả.
Flags TCP chứa các flasg như ACK, RST, SYN, URG, PSH và FIN Danh sách dưới đây xác định các chức năng của các cờ TCP:
SYN (Synchronize): Khởi tạo kết nối giữa các máy
ACK (Acknowledge): Thiết lập kết nối giữa các máy
PSH (Push): Hệ thống chuyển tiếp dữ liệu đệm.
URG (Urgent): Dữ liệu trong các gói phải được sử lý nhanh chóng.
FIN (Finish): Hoàn tất giao tiếp, không truyền thêm.
RST (Reset): Thiết lập lại kết nối.
XMAS: XMAS scans gửi một gói với cờ FIN,URG, và PSH được thiết lập.
Nếu cổng mở mà không có phản hồi, thì cổng đó không đáp lại; ngược lại, nếu cổng đóng, mục tiêu sẽ gửi lại gói RST/ACK Phương pháp XMAS scan chỉ hoạt động trên hệ thống máy đích theo tiêu chuẩn RFC 793 của TCP/IP và không hiệu quả trên bất kỳ phiên bản nào của Windows.
FIN scan tương tự như XMAS scan, nhưng chỉ gửi gói dữ liệu với cờ FIN được thiết lập Phương pháp này nhận phản hồi và có giới hạn tương tự như XMAS scan.
NULL: NULL scan cũng tương tự như XMAS và FIN trong giới hạn và trả lời, nhưng nó chỉ gửi một packet mà không có flag set.
Quét IDLE sử dụng địa chỉ IP giả mạo để gửi gói SYN đến mục tiêu, từ đó xác định trạng thái cổng là mở hay đóng dựa vào phản hồi nhận được Phương pháp này theo dõi số thứ tự trong header IP để đánh giá phản ứng của quét cổng.
SVTH: Phạm Thành Luân – CCMM04B Trang 20
Các biện pháp phòng chống
Biện pháp phòng chống port-scanning là một quy trình quan trọng mà các quản trị viên an ninh mạng sử dụng để phát hiện và ngăn chặn hành vi quét cổng trên các máy chủ Để bảo vệ mạng lưới khỏi hacker, cần thực hiện một danh sách các biện pháp đối phó nhằm ngăn chặn việc thu thập thông tin từ quá trình này.
Kiến trúc an ninh thích hợp, chẳng hạn như thực hiện các IDS và tường lửa nên được đi chung.
Hacker chân chính sử dụng các công cụ của mình để kiểm tra và thực hiện các biện pháp đối phó với việc quét mạng Khi tường lửa được thiết lập, việc chạy công cụ quét cổng cho các máy chủ trong mạng là cần thiết để tường lửa có thể phát hiện và ngăn chặn chính xác các hoạt động quét cổng.
Tường lửa có khả năng phát hiện hoạt động thăm dò từ các công cụ quét cổng (port-scanning) Để đảm bảo an toàn, tường lửa nên thực hiện kiểm tra trạng thái (stateful inspections), tức là nó sẽ xem xét không chỉ tiêu đề TCP mà còn cả dữ liệu trong gói tin nhằm xác định xem liệu gói tin có được phép đi qua hay không.
ỨNG DỤNG WEB (WEB APPLICATION)
2.3.1 Tràn bộ nhớ đệm (Buffer Overflow)
Khi một khối lượng dữ liệu gửi vào ứng dụng vượt quá mức cho phép, ứng dụng sẽ không thể thực hiện câu lệnh tiếp theo và thay vào đó phải chạy mã độc do Hacker chèn vào Tình huống này trở nên nghiêm trọng hơn nếu ứng dụng có quyền root, cho phép Hacker chiếm quyền kiểm soát toàn bộ hệ thống máy chủ web Hầu hết các vấn đề này xuất phát từ kỹ năng lập trình kém hoặc thiếu kinh nghiệm của lập trình viên.
Ví dụ: Xét đoạn mã lệnh sau:
Trong đoạn mã sau nếu chúng ta nhập vào hơn 256 ký tự thì sẽ bị tràn bộ đệm.
2.3.1.2 Một số biện pháp bảo mật khắc phục
Người thiết kệ website hay lập trình cần phải kiểm tra kỹ kích thước dữ liệu khi sử dụng Nghĩa là có xử lý ngoại lệ.
Trong trường hợp nhập vào hơn 256 ký tự, sẽ xảy ra tình trạng tràn bộ đệm Để xử lý ngoại lệ này, cần thêm đoạn mã để thông báo cho người dùng về việc nhập sai Nếu người dùng nhập quá số ký tự quy định, hệ thống sẽ yêu cầu họ nhập lại chính xác.
2.3.2 Vượt đường dẫn (Directory Traversal)
2.3.2.1 Kỹ thuật tấn công Ứng dụng sử dụng tập tin hệ thống của máy chủ trong lớp “ứng dụng” để hiện thị thông tin lưu trữ tạm thời Những tập tin nào bao gồm tập tin hình ảnh, tập tin HTML Thư mục www/root là một thư mục gốc chứa trang web, nơi mà được truy xuất từ trình duyệt Ứng dụng web có thể lưu bên trong hoặc bên ngoài www/root.
Nếu ứng dụng không kiểm tra các ký tự đặc biệt thường xuất hiện trong đường dẫn như "/", có thể tồn tại lỗ hổng cho kiểu tấn công vượt đường dẫn Điều này cho phép hacker yêu cầu máy chủ trả về nội dung của các tệp nằm ngoài thư mục www/root, chẳng hạn như /etc/password.
Hacker có thể truy cập trang web để đọc thông tin tại địa chỉ http://www.juggyboy.com/ / /index.html, nhưng nếu họ thay đổi tệp tin cần truy xuất, ví dụ như http://www.juggyboy.com/get/process.php./ / / /etc/password, thì có thể dẫn đến việc lấy cắp dữ liệu nhạy cảm.
Hacker đã có khả năng truy cập vào thư mục chứa toàn bộ mật khẩu của hệ thống máy chủ, điều này cho phép họ nắm giữ thông tin quan trọng mà họ cần.
Hình 2.8 Ví dụ kỹ thuật tấn công vượt đường dẫn
2.3.2.2 Một số biện pháp bảo mật khắc phục
Người quản trị viên cần phải phân quyền hợp lý cho các thành viên.
Phòng chống hiệu quả nhất là sử dụng các ứng dụng kiểm tra việc truy xuất tập tin trước khi gửi kết quả về trình duyệt của máy khách.
Cập nhập và vá lỗi thường xuyên hệ điều hành của máy chủ WEB hay các ứng dụng WEB.
Nhiều ứng dụng web sử dụng ngôn ngữ lập trình như C và Java để phát triển các mô-đun xử lý dữ liệu người dùng Tuy nhiên, hacker có thể lợi dụng ký tự kết thúc chuỗi để chèn vào đoạn mã, từ đó đánh lừa các ứng dụng và gây ra lỗ hổng bảo mật.
Khi sử dụng chuỗi như “123\0456” trong lập trình C, chuỗi này có thể bị cắt ngắn thành “123” do C coi \0 là ký hiệu kết thúc chuỗi Đây là một lỗ hổng mà Hacker có thể khai thác để vượt qua các bước kiểm tra nội dung chuỗi.
Hàn 2.3.3.2 Một số biện pháp bảo mật khắc phục
Kiểm tra và chấp nhận dữ liệu hợp lệ là rất quan trọng Cần loại bỏ các ký tự có thể gây cắt chuỗi hoặc tự động xuống dòng, đặc biệt là ký tự ‘\’ trong ngôn ngữ lập trình C và trong lập trình nói chung.
Khi gửi một form HTML, dữ liệu sẽ được truyền đến máy chủ qua hai phương thức: GET hoặc POST Nếu sử dụng phương thức GET, tất cả tên biến và giá trị của chúng sẽ hiển thị trong chuỗi URL.
Ví dụ : Trang web cho phép thành viên đăng nhập và thanh URL http://www.nganhangtructuyen.com/example?user=thanhluan&pass3
User: tên tài khoản người dùng.
Pass: mật khẩu của người dùng.
Ví dụ 2: Giả sử muốn thay đổi mật khẩu của người quản trị http://www.nganhangtructuyen.com/example?usermin&newpass3456 User: tên tài khoản người dùng.
Newpass: thay đổi mật khẩu của người dùng.
Hình 2.9 Ví dụ kỹ thuật tấn công thay đổi tham số URL
Hacker có thể khai thác lỗ hổng bảo mật để thay đổi mật khẩu của bất kỳ người dùng nào, bao gồm cả quản trị viên Do đó, trong các form đăng nhập, phương thức truyền dữ liệu thường được sử dụng là POST Khác với GET, phương thức POST gửi thông tin ngầm đến máy chủ web mà không hiển thị trên URL, làm cho thông tin khó bị phát hiện bằng mắt thường Tuy nhiên, hacker vẫn có thể sử dụng phần mềm quét để tìm kiếm dữ liệu Mặc dù GET có mức độ bảo mật kém hơn và được sử dụng rộng rãi, nhưng POST chỉ được áp dụng khi cần đăng nhập hoặc gửi thông tin quan trọng.
2.3.4.2 Một số biện pháp bảo mật khắc phục Ứng dụng sử dụng cơ chế hàm băm Sau khi người dùng chứng thực thành công với một tài khoản, ứng dụng sẽ sinh ra một khoá tương ứng Khoá này sẽ được lưu trên máy chủ cùng với biến tài khoản trong đối tượng hàm băm Mỗi khi người dùng kết nối đến ứng dụng, khoá và tài khoản này sẽ được gửi đi và được so sánh với khoá và tài khoản trong hàm băm Nếu tương ứng với bản ghi trong dữ liệu thì hợp lệ Còn nếu không thì máy chủ biết rằng người dùng đã thay đổi URL.
Để bảo vệ thông tin có giá trị, cần mã hóa dữ liệu trước khi hiển thị trên trình duyệt, nhằm ngăn chặn việc hacker có thể can thiệp và sửa đổi tùy ý.
2.3.5 Thao tác với biến ẩn trong Form
Thông tin có thể được chuyển đổi qua một biến ẩn trong form, được gọi là Hidden Form Field Mặc dù biến ẩn này không hiển thị trên màn hình trình duyệt, người dùng vẫn có thể tìm thấy nội dung của nó trong phần “view source” Điều này tạo ra một điểm yếu mà hacker có thể lợi dụng bằng cách lưu trang web xuống trình duyệt, thay đổi nội dung trang và gửi đến máy chủ.