1. Trang chủ
  2. » Giáo án - Bài giảng

PHÒNG CHỐNG VÀ ĐIỀU TRA TỘI PHẠM MẠNG MÁY TÍNH: điều tra tấn công WEB

103 10 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 103
Dung lượng 4,45 MB

Cấu trúc

  • MỤC LỤC

  • DANH MỤC KÍ HIỆU VÀ VIẾT TẮT

  • DANH MỤC HÌNH V

  • DANH MỤC BẢNG BIỂU

  • LỜI NÓI ĐẦU

  • CHƯƠNG 1. TỔNG QUAN VỀ WEB

    • 1.1.World Wide Web

      • 1.1.1. Khái niệm

      • 1.1.2. Lịch sử ra đời

    • 1.2. Trang Web (Webpage)

    • 1.3. Website

    • 1.4. Trình duyệt web

    • 1.5. Ứng dụng web

    • 1.6. Web chìm (Deep web)

      • 1.6.1. Nguồn gốc

      • 1.6.2. Tài nguyên

      • 1.6.3. Vấn đề truy cập

      • 1.6.4. Nội dung

      • 1.6.5. Các tầng trên Web chìm

    • 1.7. Dark web

      • 1.7.1. Khái niệm

      • 1.7.2. Nội dung

    • 1.8. Kết luận chương 1

    • 2.1. Tấn công Bruteforce

      • 2.1.1. Khái niệm

      • 2.1.2. Đặc điểm

      • 2.1.3. Biện pháp phòng chống

    • 2.2. Lỗi chứng thực yếu (Insufficient Authentication)

      • 2.2.1. Khái niệm

      • 2.2.2. Biện pháp phòng chống

    • 2.3. Dự đoán, chèn phiên (Credentical/Session Prediction)

      • 2.3.1. Khái niệm

      • 2.3.2. Biện pháp phòng chống

    • 2.4. XSS – Cross-Site Scripting

      • 2.4.1. Khái niệm

      • 2.4.2. Đặc điểm và cách thức hoạt động

      • 2.4.3. Phân loại

      • 2.4.4. Một số ví dụ

      • 2.4.5. Biện pháp phòng chống

    • 2.5. SQL Injection

      • 2.5.1. Khái niệm

      • 2.5.2. Các dạng lỗi

      • 2.5.3. Một số dạng tấn công

      • 2.5.4. Biện pháp phòng chống

    • 2.6. Liệt kê thư mục (Directory indexing)

      • 2.6.1. Khái niệm

      • 2.6.2. Biện pháp phòng chống

    • 2.7. Path Traversal

      • 2.7.1. Khái niệm

      • 2.7.2. Biện pháp phòng chống

    • 2.8. Tấn công từ chối dịch vụ DoS và DDoS

      • 2.8.1. Khái niệm

        • 2.8.1.1. DoS

        • 2.8.1.2. DDoS

      • 2.8.2. Sự khác biệt giữa tấn công DoS và DDoS

      • 2.8.3. Tác hại

      • 2.8.4. Các dạng tấn công phổ biến

      • 2.8.5. Biện pháp phòng chống

    • 2.9. Kết luận chương 2

  • CHƯƠNG 3. THỰC HÀNH TẤN CÔNG WEBSITE VÀ SỬ DỤNG ACUNETIX WEB VULNERABILITY SCANNER DÒ QUÉT LỖ HỔNG ỨNG DỤNG WEB, WIRESHARK ĐỂ GIÁM SÁT VÀ PHÂN TÍCH TẤN CÔNG DOS

    • 3.1. Thực hành tấn công SQL INJECTION trên DVWA và sử dụng Acunetix Web Vulnerability Scanner dò quét lỗ hổng ứng dụng web

      • 3.1.1. Giới thiệu

      • 3.1.2. Chuẩn bị

      • 3.1.3. Các bước thực hiện

        • 3.1.3.1 Cài đặt DVWA

        • 3.1.3.2. Thử nghiệm tấn công SQL Injection trên DVWA

        • 3.1.3.3. Triển khai sử dụng Acunetix Web Vulnerability Scanner dò quét lỗ hổng ứng dụng Web

    • 3.4. Thực hành tấn công DoS trang Web tự dựng và sử dụng Wireshark để phân tích

    • 3.5. Kết luận chương 3

  • TÀI LIỆU THAM KHẢO

Nội dung

TỔNG QUAN VỀ WEB

W ORLD W IDE W EB

Hình 1 1 Logo của World Wide Web

World Wide Web (WWW) là một không gian thông tin toàn cầu cho phép người dùng truy cập, đọc và viết thông tin thông qua các thiết bị kết nối Internet Nó hoạt động như một hệ thống thông tin trên Internet, nơi các tài liệu được liên kết với nhau qua các liên kết siêu văn bản, giúp người dùng dễ dàng tìm kiếm thông tin Thường bị nhầm lẫn với Internet, nhưng Web chỉ là một trong nhiều dịch vụ trên Internet, bên cạnh các dịch vụ khác như thư điện tử và FTP.

Hình 1 2 Chân dung Berners-Lee, London, 2014, cha đẻ WWW

Tim Berners-Lee, nhà khoa học người Anh, được xem là người phát minh ra World Wide Web khi làm việc tại CERN vào tháng 3 năm 1989 Ông đã gửi đề xuất về quản lý thông tin và phát triển trình duyệt web đầu tiên vào năm 1990.

World Wide Web, được phát hành bên ngoài CERN vào tháng 1 năm 1991 cho các tổ chức nghiên cứu và công chúng vào tháng 8 năm 1991, đã trở thành trung tâm của Thời đại Thông tin Đây là công cụ chính mà hàng tỷ người sử dụng để tương tác trên Internet.

Tài nguyên web bao gồm các phương tiện có thể tải xuống, trong đó trang web được định dạng bằng Ngôn ngữ đánh dấu siêu văn bản (HTML) Định dạng này cho phép nhúng các siêu liên kết chứa URL, giúp người dùng dễ dàng điều hướng đến các tài nguyên khác Ngoài văn bản, trang web còn có thể tích hợp hình ảnh, video, âm thanh và phần mềm, hiển thị dưới dạng các trang nội dung đa phương tiện trong trình duyệt.

Một trang web bao gồm nhiều tài nguyên trực tuyến có chủ đề hoặc tên miền chung, được lưu trữ trên các máy chủ web Những máy chủ này phản hồi các yêu cầu từ trình duyệt web của người dùng qua Internet Nội dung trang web có thể do nhà xuất bản cung cấp hoặc do người dùng tương tác và đóng góp Các trang web phục vụ nhiều mục đích khác nhau, bao gồm thông tin, giải trí, thương mại, và các hoạt động của chính phủ hoặc phi chính phủ.

1.1.2 Lịch sử ra đời Đến năm 1985, Internet toàn cầu bắt đầu phổ biến ở châu Âu và Hệ thống tên miền (trên đó Bộ định vị tài nguyên thống nhất được xây dựng) ra đời Năm

Năm 1988, kết nối IP trực tiếp đầu tiên giữa châu Âu và Bắc Mỹ được thiết lập, đánh dấu một bước tiến quan trọng trong công nghệ thông tin Cùng thời điểm này, Tim Berners-Lee bắt đầu thảo luận cởi mở về khả năng phát triển một hệ thống tương tự như web tại CERN, mở ra những cơ hội mới cho việc chia sẻ thông tin toàn cầu.

Hình 1 3 Hành lang nơi WWW ra đời CERN, tầng trệt tòa nhà số 1

Vào ngày 12 tháng 3 năm 1989, ông đã gửi một bản ghi nhớ, có tiêu đề

The article "Information Management: A Proposal" presents a system called "Grid" to the management at CERN, referencing the ENQUIRE project, a database and software initiative developed in 1980 that introduced the term "web."

Vào ngày 12 tháng 11 năm, nhờ sự hỗ trợ từ đồng nghiệp và đam mê của Robert Cailliau với siêu văn bản, ông đã công bố một đề xuất chính thức hơn.

1990 để xây dựng một "dự án siêu văn bản" có tên là "WorldWideWeb" (một từ) dưới dạng "web" của "tài liệu siêu văn bản" để xem "Trình duyệt".

Máy tính NeXT là thiết bị được Tim Berners-Lee sử dụng để thiết lập máy chủ web đầu tiên trên thế giới, đồng thời cũng là nền tảng để phát triển trình duyệt web đầu tiên mang tên WorldWideWeb vào năm 1990.

Vào Giáng sinh năm 1990, Tim Berners-Lee đã tạo ra các công cụ cần thiết cho một Web hoạt động, bao gồm trình duyệt web đầu tiên và máy chủ web đầu tiên Trang web đầu tiên, mô tả dự án của ông, được xuất bản vào ngày 20 tháng 12 năm 1990 Ông đã phát triển ba công nghệ thiết yếu cho sự ra đời của Internet như chúng ta biết hôm nay.

Hệ thống mã định danh duy nhất toàn cầu cho tài nguyên trên Web và các địa điểm khác được gọi là định danh tài liệu chung (UDI), sau này được biết đến với tên gọi định vị tài nguyên thống nhất (URL) và định danh tài nguyên thống nhất (URI).

 Ngôn ngữ xuất bản HyperText Markup Language (HTML);

Giao thức truyền siêu văn bản (HTTP) đã kết nối các trang web trên toàn cầu, thúc đẩy sự phát triển của các tiêu chuẩn quốc tế cho giao thức và định dạng Tim Berners-Lee, người sáng lập World Wide Web, đã đóng vai trò quan trọng trong việc hướng dẫn phát triển các tiêu chuẩn web, bao gồm các ngôn ngữ đánh dấu và tầm nhìn về Semantic Web World Wide Web cho phép truyền tải thông tin qua Internet thông qua định dạng linh hoạt và dễ sử dụng, góp phần quan trọng vào việc phổ biến Internet Mặc dù thường bị nhầm lẫn, World Wide Web không đồng nghĩa với Internet; nó là một không gian thông tin chứa tài liệu siêu liên kết và các tài nguyên khác, xác định bởi các URI và được triển khai qua phần mềm máy khách và máy chủ sử dụng các giao thức như TCP/IP và HTTP.

Ông được phong tước hiệp sĩ vào năm 2004 vì những đóng góp cho sự phát triển toàn cầu của Internet, nhưng không bao giờ xin cấp bằng sáng chế cho phát minh của mình.

World Wide Web hoạt động như một giao thức lớp ứng dụng trên nền tảng Internet, nâng cao khả năng sử dụng của nó Sự xuất hiện của trình duyệt web Mosaic đã cải thiện đáng kể trải nghiệm người dùng, cho phép hiển thị hình ảnh và hình ảnh động (GIF).

Các thuật ngữ Internet và World Wide Web thường được sử dụng mà không có nhiều sự khác biệt Tuy nhiên, hai thuật ngữ không có nghĩa giống

T RANG W EB (W EBPAGE )

Hình 1 5 Giao diện trang web chủ của Youtube

Trang web (webpage) là một tập hợp các văn bản, hình ảnh và tài liệu phù hợp với World Wide Web, được hiển thị qua trình duyệt web trên máy tính hoặc thiết bị di động Thông thường, một trang web được xem như một tập tin được viết bằng mã HTML hoặc các ngôn ngữ đánh dấu tương tự Các trình duyệt web tích hợp nhiều yếu tố tài nguyên như CSS, kịch bản phía máy khách và hình ảnh để thể hiện nội dung của trang web.

Một trang web có thể được hiển thị qua trình duyệt web, nơi các liên kết siêu văn bản thường được làm nổi bật và gạch chân Ngoài ra, các trang web còn có thể chứa hình ảnh.

Trang web là công cụ hữu ích để cung cấp thông tin cho người dùng, bao gồm hình ảnh và video minh họa cho các chủ đề quan trọng Ngoài ra, trang web còn được sử dụng để bán sản phẩm và dịch vụ, tạo nên một nền tảng thương mại hiệu quả cho doanh nghiệp.

Khi nhấp vào liên kết từ công cụ tìm kiếm, bạn đang truy cập vào một trang web Internet có hàng triệu trang web và hàng ngày có nhiều trang mới được thêm vào.

Lưu ý: Trang web thường được hiểu nhầm với website, nhưng trên thực tế, webpage chỉ là một tập con của website.

T RÌNH DUYỆT WEB

Trong kỷ nguyên 4.0, nơi khoa học kỹ thuật và công nghệ phát triển mạnh mẽ, "WEB" đã trở thành một phần không thể thiếu trong cuộc sống con người Mặc dù tính cách con người phức tạp, "WEB" cũng phản ánh điều đó qua sự đa dạng và phong phú của nó Tuy nhiên, nhiều người vẫn đặt ra câu hỏi về sự tồn tại của "WEB", bản chất của nó và tác động của nó đến đời sống hàng ngày Mỗi cá nhân lại có những quan điểm và cách nhìn nhận khác nhau về "WEB", tạo nên một bức tranh đa chiều về vai trò của nó trong xã hội hiện đại.

“WEB” giống như con người, cần được chăm sóc cẩn thận để tránh bị tổn thương từ môi trường xung quanh, đặc biệt là từ con người đã tạo ra nó Khái niệm “WEB” rất đa dạng, bao gồm Website, trình duyệt Web, và ứng dụng Web, nhưng cũng tiềm ẩn nhiều lỗ hổng mà các hacker luôn tìm cách khai thác với mục đích xấu.

Chuyên đề này cung cấp cái nhìn tổng quan về "WEB", bao gồm cách hoạt động, các kỹ thuật tấn công trên WEB, đặc biệt là trong ứng dụng WEB, và các biện pháp phòng chống tấn công, được trình bày qua 3 chương.

-Chương 1: Tổng quan về WEB

-Chương 2: Một số kỹ thuật tấn công trên ứng dụng WEB và biện pháp phòng chống

Chương 3 trình bày thực hành tấn công website, sử dụng Acunetix Web Vulnerability Scanner để phát hiện lỗ hổng trong ứng dụng web, cùng với Wireshark để giám sát và phân tích các cuộc tấn công từ chối dịch vụ (DoS).

Mặc dù đã dành nhiều thời gian để nghiên cứu, chúng tôi vẫn không thể tránh khỏi một số sai sót trong việc biên soạn chuyên đề này Chúng tôi rất mong nhận được những ý kiến đóng góp chân thành từ thầy và các bạn để hoàn thiện chuyên đề của mình hơn nữa.

XIN CHÂN THÀNH CẢM ƠN!

CÁC SINH VIÊN THỰC HIỆN Đỗ Như Thưởng – AT140744 Hoàng Minh Thành – AT141048 Nguyễn Đức Thắng - AT140439 Đinh Văn Hoan - AT141022 Nguyễn Trung Anh – AT140401

CHƯƠNG 1 TỔNG QUAN VỀ WEB 1.1.World Wide Web

Hình 1 1 Logo của World Wide Web

Mạng lưới toàn cầu, hay còn gọi là WWW, là một không gian thông tin mà người dùng có thể truy cập và chia sẻ thông tin thông qua các thiết bị kết nối Internet Nó cho phép kết nối các tài liệu với nhau thông qua các liên kết siêu văn bản, giúp người dùng dễ dàng tìm kiếm thông tin Nhiều người thường nhầm lẫn WWW với Internet, nhưng thực tế, Web chỉ là một trong nhiều dịch vụ hoạt động trên Internet, bên cạnh các dịch vụ khác như thư điện tử và FTP.

Hình 1 2 Chân dung Berners-Lee, London, 2014, cha đẻ WWW

Nhà khoa học người Anh Tim Berners-Lee được công nhận là người phát minh ra World Wide Web khi làm việc tại CERN vào tháng 3 năm 1989 Ông đã đề xuất quản lý thông tin và viết trình duyệt web đầu tiên vào năm 1990.

World Wide Web được phát hành bên ngoài CERN vào năm 1991, bắt đầu cho các tổ chức nghiên cứu vào tháng 1 và cho công chúng trên Internet vào tháng 8 cùng năm Đây là nền tảng quan trọng cho sự phát triển của Thời đại Thông tin, trở thành công cụ chính mà hàng tỷ người sử dụng để tương tác trên Internet.

Tài nguyên web bao gồm mọi loại phương tiện có thể tải xuống, với các trang web là hình thức siêu văn bản được định dạng bằng Ngôn ngữ đánh dấu siêu văn bản (HTML) Định dạng này cho phép tích hợp các siêu liên kết chứa URL, giúp người dùng dễ dàng điều hướng đến các tài nguyên web khác Ngoài văn bản, các trang web còn có thể chứa hình ảnh, video, âm thanh và phần mềm, được trình bày trong trình duyệt web dưới dạng các trang với nội dung đa phương tiện phong phú.

Một trang web bao gồm nhiều tài nguyên với chủ đề và tên miền chung, được lưu trữ trên các máy chủ web Các máy chủ này đáp ứng các yêu cầu từ trình duyệt web của người dùng qua Internet Nội dung của trang web có thể được cung cấp bởi nhà xuất bản hoặc do người dùng tương tác đóng góp Các trang web phục vụ nhiều mục đích khác nhau, bao gồm thông tin, giải trí, thương mại, và các hoạt động của chính phủ hoặc phi chính phủ.

1.1.2 Lịch sử ra đời Đến năm 1985, Internet toàn cầu bắt đầu phổ biến ở châu Âu và Hệ thống tên miền (trên đó Bộ định vị tài nguyên thống nhất được xây dựng) ra đời Năm

Năm 1988, kết nối IP trực tiếp đầu tiên giữa châu Âu và Bắc Mỹ đã được thiết lập, đánh dấu bước tiến quan trọng trong lĩnh vực công nghệ thông tin Cùng thời điểm này, Tim Berners-Lee đã bắt đầu thảo luận công khai về khả năng phát triển một hệ thống tương tự như web tại CERN, mở ra hướng đi mới cho việc chia sẻ thông tin toàn cầu.

Hình 1 3 Hành lang nơi WWW ra đời CERN, tầng trệt tòa nhà số 1

Vào ngày 12 tháng 3 năm 1989, ông đã gửi một bản ghi nhớ, có tiêu đề

"Information Management: A Proposal" outlines a system called "Grid" for CERN, referencing the ENQUIRE project, a database and software initiative developed in 1980 that introduced the term "web."

Với sự hỗ trợ từ đồng nghiệp và niềm đam mê của Robert Cailliau đối với siêu văn bản, ông đã chính thức công bố một đề xuất vào ngày 12 tháng 11 năm.

1990 để xây dựng một "dự án siêu văn bản" có tên là "WorldWideWeb" (một từ) dưới dạng "web" của "tài liệu siêu văn bản" để xem "Trình duyệt".

Máy tính NeXT đã được Tim Berners-Lee sử dụng để thiết lập máy chủ web đầu tiên trên thế giới và phát triển trình duyệt web đầu tiên mang tên WorldWideWeb vào năm 1990.

Ứ NG DỤNG WEB

Ứng dụng web, hay webapp, là một trình ứng dụng có thể truy cập qua Internet hoặc intranet Sự phổ biến của ứng dụng web đến từ khả năng tiếp cận mọi lúc mọi nơi và việc cập nhật, bảo trì dễ dàng mà không cần cài đặt phần mềm trên nhiều máy tính Ứng dụng web được sử dụng cho nhiều mục đích như Webmail, bán hàng trực tuyến, đấu giá trực tuyến, wiki, diễn đàn thảo luận, Weblog, MMORPG, hệ quản trị nội dung, và phần mềm quản lý nguồn nhân lực.

Một ứng dụng Web thông thường thường được cấu trúc theo mô hình ba lớp Trong cấu trúc này, lớp đầu tiên là trình duyệt Web, trong khi lớp thứ hai là máy chủ sử dụng các công nghệ nội dung Web động như ASP.

ASP.NET, CGI, ColdFusion, JSP/Java, PHP, Python, và Ruby On Rails đóng vai trò là lớp giữa trong kiến trúc web, trong khi cơ sở dữ liệu là lớp thứ ba Khi trình duyệt gửi yêu cầu, lớp giữa sẽ xử lý bằng cách tạo truy vấn, cập nhật cơ sở dữ liệu và tạo ra giao diện người dùng.

Việc áp dụng mô hình ứng dụng Web giúp giảm thiểu lỗi trong chương trình bằng cách đơn giản hóa mã nguồn và cho phép nhóm phát triển tập trung vào một mô hình duy nhất Trong bối cảnh các ứng dụng dễ bị tấn công trên Internet, vấn đề bảo mật do lỗi lập trình trở thành một thách thức lớn Mô hình cũng khuyến nghị thực hiện các phương pháp tốt nhất, chẳng hạn như sử dụng GET sau POST.

Hình 1 9 Các tầng của internet được hình tượng thành một ngọn núi băng, web chìm nằm ở giữa núi băng.

Web chìm, hay còn gọi là mạng chìm (deep web) hoặc web ẩn (invisible web, undernet, hidden web), đề cập đến các trang và nội dung trên Internet không nằm trong Web nổi (Surface Web) Những trang này không được đánh dấu hay chỉ mục, do đó không thể tìm kiếm bằng các công cụ tìm kiếm thông thường Nội dung của web chìm ẩn dưới các bản mẫu HTML và thường yêu cầu mật khẩu hoặc các hình thức truy cập bảo mật khác để vào được.

Web chìm bao gồm nhiều ứng dụng phổ biến như web mail và ngân hàng trực tuyến, đồng thời cũng bao gồm các dịch vụ mà người dùng phải trả phí.

W EB CHÌM (D EEP WEB )

Năm 2011, lượng thông tin trên web chìm đã vượt hơn hẳn web nổi.

Trong bài báo chuyên đề về web chìm trên tạp chí Electronic Publishing, Michael Bergman đã nhắc đến việc Jill Ellsworth sử dụng thuật ngữ "Invisible Web" vào năm 1994 để chỉ những website không được đăng ký với bất kỳ máy tìm kiếm nào Bergman đã trích dẫn một bài viết của Frank Garcia vào tháng 1 năm 1996, trong đó ông mô tả một trang web được thiết kế hợp lý nhưng không được đăng ký, dẫn đến việc nó trở nên ẩn và không ai tìm thấy Garcia gọi hiện tượng này là "web ẩn" (Invisible Web).

The term "Invisible Web" was first introduced by Bruce Mount and Matthew B Koll in their description of Deep Web tools, published in Personal Library Software in December 1996.

Việc sử dụng lần đầu thuật ngữ Deep Web, hiện nay đã được mọi người công nhận, đó là vào năm 2001 trong một nghiên cứu của Bergman.

Deep Web là khái niệm chỉ những trang web mà các công cụ tìm kiếm như Google, Bing và Yahoo không thể truy cập Nó bao gồm các cơ sở dữ liệu, thông tin đăng nhập và dịch vụ Webmail, tạo nên một phần lớn của internet mà người dùng không thể dễ dàng tìm thấy.

Tài nguyên trên web chìm được phân loại theo một hoặc nhiều loại có trong danh mục sau:

Nội dung web động là các trang web cung cấp kết quả dựa trên truy vấn hoặc xử lý thông qua biểu mẫu, đặc biệt khi sử dụng các thành phần nhập liệu như ô văn bản Việc xử lý các miền này trở nên khó khăn nếu không có kiến thức đầy đủ về tên miền.

Các trang không có liên kết hyperlink sẽ ngăn cản các chương trình dò truy cập vào nội dung của chúng Những trang này chỉ có thể được truy cập trực tiếp thông qua thanh địa chỉ trình duyệt, do không có đường dẫn từ bất kỳ trang web nào khác.

Các trang web cần xác thực truy cập yêu cầu người dùng đăng ký và đăng nhập để xem thông tin, với các tài nguyên được bảo vệ bằng mật khẩu.

Các trang web có nội dung thay đổi theo ngữ cảnh sẽ hiển thị thông tin khác nhau dựa trên các điều kiện nhất định Chẳng hạn, khi người dùng truy cập từ các dải IP của châu Á, họ sẽ nhận được nội dung phù hợp với khu vực này.

Nhiều trang web áp dụng các biện pháp kỹ thuật để giới hạn truy cập đến nội dung của mình, bao gồm việc sử dụng file Robots.txt, CAPTCHAs và các tham số HTTP headers Những phương pháp này nhằm ngăn chặn các công cụ tìm kiếm truy cập nội dung và tạo phiên bản cache của nó.

Nội dung trên một số trang web chỉ có thể truy cập thông qua các đoạn mã sinh từ JavaScript, như trong trường hợp của hva, hoặc được nhúng trong Flash, hoặc chỉ có thể tải xuống qua Ajax.

Nội dung không theo kiểu HTML/text bao gồm các thông tin được mã hóa trong các file đa phương tiện như hình ảnh hoặc video, cũng như các định dạng file đặc biệt mà các công cụ tìm kiếm không thể xử lý.

Nội dung văn bản chỉ có thể truy cập qua giao thức Gopher hoặc file trên máy chủ FTP thường không được lập chỉ mục bởi các máy tìm kiếm phổ biến hiện nay Cụ thể, Google và nhiều công cụ tìm kiếm khác không lập chỉ mục các trang không sử dụng giao thức HTTP hoặc HTTPS.

1.6.3 Vấn đề truy cập Để khám phá nội dung trên các trang web, các máy tìm kiếm sử dụng các máy dò để lần theo các hyperlink thông qua các số đã biết của cổng giao thức ảo Kỹ thuật này lý tưởng để khám phá các nguồn tài nguyên trên web nổi, nhưng không có tác dụng mấy đối với web chìm Ví dụ, những máy dò này không thử tìm các trang liên kết động mà kết quả truy vấn database dựa trên số vô định các truy vấn có thể xảy ra Chú ý là điều này có thể (một phần) được vượt qua bởi cách cung cấp các đường dẫn tới các kết quả truy vấn, nhưng điều này lại vô tình làm thôi phồng sự nổi tiếng cho một trang deep web.

Hình 1 10 Biểu tượng trình duyệt Tor

Từ khi trình duyệt Tor ra đời, người dùng đã có thể truy cập an toàn vào một số tầng của deep web, tránh xa các trang dark web và nội dung phi pháp Tuy nhiên, deep web vẫn chứa nhiều thông tin không được kiểm soát, có thể ảnh hưởng đến sự bảo mật của người truy cập Để duyệt web trong môi trường này, người dùng cần có thư viện đường dẫn và kiến thức vững về phần mềm lẫn phần cứng để truy cập vào các trang web bảo mật hơn.

Tor là phần mềm giúp xóa dấu vết và ẩn địa chỉ IP của người dùng khi truy cập Internet, bằng cách mã hóa thông tin và truyền qua nhiều máy chủ trung gian Điều này đảm bảo rằng ngay cả khi một máy chủ Tor bị xâm nhập, kẻ tấn công cũng không thể đọc được dữ liệu của người sử dụng Ngoài ra, Tor còn được sử dụng để truy cập vào các trang web chìm (Deep Web), cho phép người dùng lướt web mà không tiết lộ thông tin cá nhân.

Tor là một công cụ hữu ích cho những người sống ở những khu vực bị kiểm soát thông tin, cho phép họ vượt qua tường lửa để tiếp cận thông tin tự do và khách quan Với tính năng tự động và liên tục thay đổi proxy, Tor đảm bảo bảo mật dữ liệu người dùng một cách hiệu quả.

Nói chung, nội dung trên deep web (bao gồm cả dark web) chứa đựng các nội dung sau:

 Bán vũ khí không có giấy phép

 Hình ảnh khiêu dâm trẻ em

 Bán phần mềm độc hại, phần mềm lậu và hướng dẫn về hacking

 Bán thuốc bất hợp pháp

 Bán thông tin thẻ tín dụng bị đánh cắp và tài khoản người dùng

 Bán các tài liệu giả mạo và tiền tệ

D ARK WEB

Hình 1 11 Dark web - tầng dưới cùng của không gian mạng

Dark web (web tối) là phần của mạng World Wide Web nằm trong darknet, bao gồm các trang web không thể truy cập từ các công cụ tìm kiếm như Google Những trang web này thường được bảo vệ bằng robots.txt để ngăn chặn việc lập chỉ mục Để truy cập vào dark web, người dùng cần sử dụng phần mềm chuyên biệt như Tor Dark web chỉ là một phần nhỏ của deep web, không được hiển thị bởi các công cụ tìm kiếm thông thường Sự nhầm lẫn giữa deep web và dark web bắt đầu từ năm 2009, đặc biệt sau khi vụ triệt phá chợ đen ảo Silk Road vào năm 2013, dẫn đến việc các hãng thông tấn cần phải phân biệt rõ ràng hai khái niệm này.

Nghiên cứu của Gareth Owen từ Đại học Portsmouth vào tháng 12 năm 2014 cho thấy nội dung phổ biến nhất trên Tor là khiêu dâm trẻ em, tiếp theo là chợ đen, với lưu lượng truy cập cao nhất tập trung vào hoạt động mạng botnet Ngoài ra, nhiều trang web duy trì sự hiện diện và có các diễn đàn thảo luận chính trị Các trang web liên quan đến Bitcoin, dịch vụ gian lận và dịch vụ đặt hàng qua thư cũng là những nguồn lợi nhuận lớn Nội dung chủ yếu trên các trang này tập trung vào các lĩnh vực này.

Botnet là một mạng lưới các thiết bị bị kiểm soát từ xa, thường được cấu trúc với các máy chủ điều khiển và ra lệnh thông qua dịch vụ ẩn chống kiểm duyệt Chúng tạo ra một lượng lớn lưu lượng truy cập liên quan đến bot, gây ra nhiều vấn đề về an ninh mạng.

 Dịch vụ bitcoin: Một nghiên cứu được thực hiện bởi Jean-Loup

Richet, một nhà nghiên cứu tại ESSEC, đã hợp tác với Văn phòng Liên Hợp Quốc về chống Ma túy và Tội phạm để chỉ ra những xu hướng mới trong việc sử dụng Bitcoin cho hoạt động rửa tiền Việc sử dụng Bitcoin cho phép người dùng ẩn giấu cả ý định và danh tính của mình, tạo ra những thách thức trong công tác phòng chống tội phạm tài chính.

 Thị trường Darknet: Các thị trường darknet thương mại, nơi làm trung gian cho các giao dịch mua bán ma túy bất hợp pháp [33] và các hàng hóa khác.

Nhiều tin tặc cung cấp dịch vụ hack riêng lẻ hoặc trong các nhóm như xDedic, hackforum, Trojanforge, Mazafaka, dark0de và thị trường darknet TheRealDeal, một số trong đó đã theo dõi và tống tiền những kẻ ấu dâm Tội phạm mạng nhắm vào các tổ chức tài chính và ngân hàng cũng được cung cấp trên Dark web Các nỗ lực giám sát hoạt động này được thực hiện bởi các tổ chức chính phủ và tư nhân, với thông tin về các công cụ được sử dụng có thể tìm thấy trong tạp chí Khoa học Máy tính Các cuộc tấn công từ chối dịch vụ phản ánh phân tán (DRDoS) trên quy mô Internet cũng đã được thực hiện thông qua Dark Web, cùng với sự xuất hiện của nhiều trang web onion lừa đảo, cung cấp các công cụ tải xuống chứa trojan hoặc backdoor.

Dịch vụ gian lận đang gia tăng với sự xuất hiện của nhiều diễn đàn tội phạm liên quan đến thẻ tín dụng, PayPal và Bitcoin, được sử dụng trong các trang web thương mại cũng như các hoạt động lừa đảo và làm giả Nhiều trang web này thực chất là các trang lừa đảo, gây thiệt hại cho người tiêu dùng.

 Tin đồn và nội dung chưa được xác minh

 Phishing và scam: Lừa đảo qua các trang web nhân bản và các trang lừa đảo khác

 Khiêu dâm trái phép: Thường xuyên có hành động thực thi pháp luật chống lại các trang web phân phối nội dung khiêu dâm trẻ em

Chợ đen trên Dark web là nơi diễn ra nhiều hoạt động thương mại bất hợp pháp, bao gồm buôn bán tiền giả, thẻ ngân hàng, tài khoản mạng bị đánh cắp, súng, ma túy và các chất kích thích, cùng với nhiều sản phẩm không rõ nguồn gốc khác.

Khủng bố: Có nhiều trang web thật và giả mạo được ISIL (ISIS) sử dụng, trong đó có một trang giả đã bị thu giữ trong Chiến dịch Onymous Sự phát triển của công nghệ đã tạo điều kiện cho các hoạt động này.

20 kẻ khủng bố mạng đang phát triển mạnh mẽ bằng cách khai thác những điểm yếu trong công nghệ Sau các cuộc tấn công ở Paris vào tháng 11 năm 2015, nhóm hacker Anonymous và GhostSec đã tấn công một trang web thực tế, thay thế nó bằng quảng cáo cho Prozac Ngoài ra, nhóm Hồi giáo Rawti Shax cũng đã được phát hiện hoạt động trên dark web.

Trong dark web, có sự xuất hiện của các nền tảng truyền thông xã hội mới, tương tự như trên World Wide Web Facebook và các mạng xã hội truyền thống khác đang phát triển các phiên bản dark web để giải quyết những vấn đề mà họ gặp phải và duy trì dịch vụ trên toàn bộ World Wide Web Các tổ chức như Nhà thờ Thiên chúa giáo cũng đã khai thác deep web để chia sẻ nội dung hạn chế.

MỘT SỐ KỸ THUẬT TẤN CÔNG TRÊN ỨNG DỤNG WEB VÀ BIỆN PHÁP PHÒNG CHỐNG

T ẤN CÔNG B RUTEFORCE

Bruteforce là phương pháp tấn công mà tin tặc thử tất cả các khả năng để đoán thông tin đăng nhập như tài khoản, mật khẩu và số thẻ tín dụng Nhiều hệ thống sử dụng mật khẩu yếu hoặc thuật toán mã hóa không an toàn, tạo điều kiện cho việc áp dụng kỹ thuật này Khi thành công, tin tặc có thể truy cập vào tài nguyên hệ thống bằng cách sử dụng thông tin đã đoán được.

Tấn công Brute Force có thể được coi là tốt hay xấu tùy thuộc vào mục đích sử dụng Trong khi tội phạm mạng có thể sử dụng phương pháp này để xâm nhập vào máy chủ, các quản trị viên mạng lại áp dụng nó để kiểm tra mức độ bảo mật của hệ thống Ngoài ra, một số người dùng máy tính còn tận dụng các ứng dụng brute force để khôi phục mật khẩu đã quên.

Tấn công brute force là phương pháp tấn công phổ biến đối với mọi loại mã hóa, hoạt động bằng cách thử tất cả các chuỗi mật khẩu khả thi để xác định mật khẩu chính xác Thời gian để thực hiện kiểu tấn công này có thể rất lâu, phụ thuộc vào độ dài của mật khẩu, nhưng khả năng tìm ra mật khẩu là luôn có nếu không giới hạn thời gian Phương pháp brute force thường được áp dụng khi các biện pháp tấn công khác không mang lại hiệu quả.

Máy bẻ khóa của EFF, trị giá 250.000 đô la, có khả năng bẻ khóa thuật toán DES chỉ trong vài ngày Hình ảnh minh họa cho thấy một phần bản mạch của máy, bao gồm 64 con chip sử dụng phương pháp brute force để thực hiện việc bẻ khóa.

Ngày nay, hai kỹ thuật tấn công mã hóa kiểu brute force đã được chứng minh là hiệu quả, đó là GPU (đơn vị xử lý đồ họa) và FPGA (mạch tích hợp có thể lập trình) GPU phổ biến và tiết kiệm chi phí hơn, trong khi FPGA có hiệu suất năng lượng kém hơn nhưng lại mạnh mẽ trong xử lý Cả hai đều áp dụng nguyên tắc xử lý song song, với GPU sử dụng hàng trăm đơn vị xử lý và FPGA có thể lên tới hàng ngàn Nhiều nghiên cứu cho thấy FPGA rất hiệu quả về năng suất; ví dụ, máy tính COPACOBANA FPGA Cluster chỉ tiêu thụ khoảng 600 W nhưng có khả năng tính toán tương đương với 2.500 máy PC trong một số thuật toán.

Các board PCI Express gắn FPGA đã được chế tạo, cho phép tấn công WPA và WPA2 một cách hiệu quả Việc sử dụng FPGA có thể giảm thiểu khối lượng công việc từ 50 đến vài trăm lần so với các CPU cổ điển.

Để ngăn chặn các cuộc tấn công Brute Force, việc áp dụng các biện pháp bảo mật cơ bản là rất cần thiết Các cuộc tấn công này không dựa trên logic phức tạp, mà chỉ đơn giản là thử nghiệm các kết hợp khác nhau của ký tự trong mật khẩu Do đó, để tăng cường an ninh, người dùng cần thực hiện một số biện pháp phòng ngừa hiệu quả.

Để tăng cường độ mạnh cho mật khẩu, cần đảm bảo mật khẩu có độ dài tối thiểu 6 ký tự, không chứa chuỗi username, và bao gồm ít nhất 1 ký tự số cùng 1 ký tự đặc biệt Ngoài ra, không cho phép sử dụng lại mật khẩu đã thay đổi và cần quản lý, điều khiển thông báo lỗi một cách hiệu quả.

 Sử dụng cơ chế chứng thực (Basic hoặc Digest Authentication)

 Hạn chế số lần đăng nhập hoặc khóa tài khoản đăng nhập sai

 Sử dụng module Mod_Dosevasive để xác định dấu hiệu của kiểu tấn công này.

Mật khẩu dài giúp tăng cường bảo mật, vì thời gian để bẻ khóa sẽ lâu hơn Ví dụ, mật khẩu như 'PA$$w0rd' có thể mất hơn 100 năm để bị crack bằng các ứng dụng tấn công brute force hiện có Tuy nhiên, người dùng nên tránh sử dụng mật khẩu dễ đoán, vì các phần mềm thông minh có thể dễ dàng tổng hợp và bẻ khóa những mật khẩu này thông qua các cuộc tấn công brute force.

Nếu bạn đang sử dụng WordPress, có nhiều plugin bảo mật giúp tự động chặn các cuộc tấn công brute force Bạn có thể xem xét sử dụng tường lửa web như Sucuri hoặc Cloudflare Một biện pháp hiệu quả khác là khóa tài khoản sau một số lần nhập mật khẩu không chính xác Plugin Limit Logins WordPress là một lựa chọn tuyệt vời để ngăn chặn các cuộc tấn công này Ngoài ra, bạn cũng nên giới hạn đăng nhập từ các địa chỉ IP cụ thể để tăng cường bảo mật.

Để tăng cường bảo mật cho blog WordPress, người dùng nên thay đổi URL đăng nhập mặc định, sử dụng Captcha và chọn 24 địa chỉ IP khác nhau.

L ỖI CHỨNG THỰC YẾU (I NSUFFICIENT A UTHENTICATION )

Lỗi chứng thực yếu xảy ra khi website cho phép tài khoản không đủ quyền truy cập vào nội dung nhạy cảm, thường gặp ở các trang quản trị Nếu doanh nghiệp không phân quyền rõ ràng cho từng vai trò quản trị, tin tặc có thể dễ dàng vượt qua cơ chế đăng nhập và chiếm quyền điều khiển website.

Thiết lập cơ chế điều khiển truy cập thông quan htaccess hoặc tập tin cấu hình httpd.conf

Ví dụ: Điều khiển truy cập thông qua httpd.conf

AuthDigestfile /usr/local/apache/conf/passwd_digest

D Ự ĐOÁN , CHÈN PHIÊN (C REDENTICAL /S ESSION P REDICTION )

Dự đoán và chèn phiên là phương thức chiếm phiên (hijacking) nguy hiểm Khi một tài khoản thực hiện xác thực với server bằng tài khoản và mật khẩu, server sẽ tạo ra một session ID duy nhất để duy trì kết nối Nếu tin tặc có thể đoán được session ID tiếp theo, họ có khả năng chiếm quyền truy cập vào tài khoản của người dùng hợp lệ khác.

 Sử dụng SSL (mod_ssl) trong quá trình chứng thực để chống lại việc nghe lén dữ liệu quan trọng.

 Sử dụng cơ chế tạo session ID ngẫu nhiên, thuật toán mã hóa mạnh.

 Session ID phải đủ lớn để làm khó quá trình tấn công brute-fore.

 Giới hạn thời gian tồn tại của session ID.

XSS – C ROSS -S ITE S CRIPTING

Cross-site scripting (XSS) là một loại tấn công bảo mật, trong đó kẻ tấn công chèn mã độc vào nội dung của các trang web đáng tin cậy Tấn công XSS xảy ra khi một nguồn không đáng tin cậy có quyền đưa mã vào ứng dụng web, và mã độc này sau đó được gửi đến trình duyệt của nạn nhân.

XSS là một lỗ hổng ứng dụng web phổ biến, xảy ra khi ứng dụng không xác thực hoặc mã hóa đầu vào từ người dùng trước khi hiển thị trong đầu ra.

2.4.2 Đặc điểm và cách thức hoạt động

Kẻ tấn công sử dụng lỗ hổng XSS để không tấn công trực tiếp vào nạn nhân, mà thay vào đó, khai thác các lỗ hổng trong trang web hoặc ứng dụng web mà nạn nhân truy cập.

Mặc dù XSS có thể khai thác VBScript, ActiveX và Flash, nhưng JavaScript vẫn là nền tảng phổ biến nhất do vai trò của nó trong trải nghiệm duyệt web Để thực hiện một cuộc tấn công XSS, kẻ tấn công cần truyền tải mã độc vào trang web mà nạn nhân truy cập, thường thông qua các kỹ thuật social engineering để thuyết phục người dùng Cuộc tấn công chỉ có thể xảy ra khi trang web bị tấn công trực tiếp bao gồm đầu vào của người dùng, cho phép kẻ tấn công chèn mã mà trình duyệt của nạn nhân sẽ xử lý như mã thực thi.

Mã giả phía máy chủ (server-side pseudo-code) này được sử dụng để hiển thị bình luận gần đây nhất trên trang web: print ""

26 print "Most recent comment" print database.latestComment print ""

Tập lệnh sẽ truy xuất và hiển thị bình luận mới nhất từ cơ sở dữ liệu, với nội dung được in ra trên trang HTML, giả định rằng chỉ phần văn bản của bình luận được hiển thị.

Trang trên dễ bị tấn công bởi XSS vì kẻ tấn công có thể gửi nhận xét có chứa payload độc hại, chẳng hạn như doSomethingEvil();.

Người dùng truy cập trang web sẽ được hiển thị trang HTML sau.

Khi trang web tải trong trình duyệt của người dùng, mã độc hại từ kẻ tấn công sẽ được thực thi mà nạn nhân không hề hay biết và không thể ngăn chặn cuộc tấn công này.

Lỗ hổng XSS chỉ xuất hiện khi payload (tập lệnh độc hại) mà kẻ tấn công chèn vào được trình duyệt của nạn nhân phân tích thành HTML.

Hậu quả của việc kẻ tấn công khai thác khả năng thực thi JavaScript trên trang web có thể không rõ ràng ngay lập tức Điều này đặc biệt đúng khi các trình duyệt thực thi JavaScript trong môi trường được kiểm soát nghiêm ngặt, đồng thời hạn chế quyền truy cập vào hệ điều hành và các tệp tin của người dùng.

Tuy nhiên, khi xem xét các phần JavaScript có quyền truy cập, những điều kẻ tấn công có thể làm với JavaScript sẽ trở nên rõ ràng hơn:

JavaScript độc hại có khả năng truy cập tất cả các đối tượng trên trang web, bao gồm cả cookie, thường được sử dụng để lưu trữ mã token phiên Nếu kẻ tấn công chiếm đoạt được cookie phiên của người dùng, chúng có thể dễ dàng mạo danh người dùng đó.

 JavaScript có thể đọc và thực hiện các sửa đổi tùy ý đối với DOM của trình duyệt (trong trang mà JavaScript đang chạy).

 JavaScript có thể sử dụng XMLHttpRequest để gửi các yêu cầu HTTP có nội dung tùy ý đến các đích khác nhau.

JavaScript trong trình duyệt hiện đại có khả năng sử dụng các API HTML5 để truy cập vị trí địa lý, webcam, micro và các tệp từ hệ thống của người dùng Mặc dù nhiều API yêu cầu sự chấp thuận từ người dùng, nhưng kẻ tấn công có thể lợi dụng XSS kết hợp với các kỹ thuật social engineering tinh vi để đạt được lợi thế.

XSS, khi kết hợp với kỹ thuật kỹ thuật xã hội, tạo điều kiện cho kẻ tấn công thực hiện các hành vi nguy hiểm như đánh cắp cookie, ghi lại phím bấm, lừa đảo trực tuyến và đánh cắp danh tính.

Nếu kẻ tấn công khai thác lỗ hổng XSS trên trang web, họ có thể thực thi JavaScript tùy ý trong trình duyệt của người dùng, từ đó đe dọa bảo mật của trang web và ứng dụng web cũng như người dùng của nó XSS không chỉ là vấn đề của người dùng mà còn ảnh hưởng trực tiếp đến an toàn của chính trang web.

Hình 2 2 Các loại lỗ hổng Cross-site scripting

Có ba loại lỗ hổng Cross-site scripting: Stored XSS, Reflected XSS và DOM-based XSS.

Stored XSS là một dạng tấn công cross-site scripting nguy hiểm nhất, trong đó kẻ tấn công gửi một đoạn mã độc (payload) được lưu trữ vĩnh viễn trên ứng dụng mục tiêu, như cơ sở dữ liệu Chẳng hạn, kẻ tấn công có thể chèn mã độc vào blog hoặc bài viết trên diễn đàn, gây ra thiệt hại nghiêm trọng cho người dùng và hệ thống.

Khi nạn nhân truy cập vào trang web bị ảnh hưởng, Payload XSS sẽ hoạt động như một phần của trang, dẫn đến việc thực thi tập lệnh độc hại trong trình duyệt của họ.

Reflected XSS là loại lỗ hổng cross-site scripting phổ biến nhất, trong đó kẻ tấn công cần chuyển payload cho nạn nhân Payload này phải được gửi trong yêu cầu đến máy chủ web và được phản chiếu trong phản hồi HTTP Kẻ tấn công thường sử dụng email phishing và các phương pháp social engineering khác để dụ nạn nhân gửi yêu cầu chứa payload XSS Khi nạn nhân thực hiện yêu cầu, tập lệnh độc hại sẽ được thực thi trong trình duyệt của họ Vì Reflected XSS không phải là một cuộc tấn công liên tục, kẻ tấn công cần cung cấp payload cho mỗi nạn nhân.

SQL I NJECTION

SQL Injection là một kỹ thuật tấn công mà kẻ xấu lợi dụng lỗ hổng trong việc kiểm tra dữ liệu đầu vào của ứng dụng web, cho phép họ tiêm và thực thi các câu lệnh SQL bất hợp pháp Kỹ thuật này có thể dẫn đến việc kẻ tấn công thực hiện các thao tác như xóa, chèn hoặc cập nhật dữ liệu trong cơ sở dữ liệu của ứng dụng, thậm chí ảnh hưởng đến máy chủ nơi ứng dụng đang hoạt động SQL Injection thường xảy ra trên các ứng dụng web sử dụng các hệ quản trị cơ sở dữ liệu như SQL Server, MySQL, Oracle, DB2 và Sybase.

Lỗi SQL injection xảy ra khi không kiểm tra ký tự thoát trong dữ liệu đầu vào của câu truy vấn SQL, cho phép người dùng thực hiện các truy vấn không mong muốn trên cơ sở dữ liệu Ví dụ, đoạn mã sau thể hiện lỗi này: statement = "SELECT * FROM users WHERE name = '" + userName +.

Câu lệnh này nhằm mục đích lấy thông tin về tên người dùng từ bảng người dùng Tuy nhiên, nếu biến "userName" bị nhập một cách độc hại, nó có thể biến thành một câu truy vấn SQL không đúng với ý định ban đầu của tác giả Ví dụ, khi nhập giá trị cho biến userName là: a' or 't'='t.

Khiến câu truy vấn có thể được hiểu như sau:

SELECT * FROM users WHERE name = 'a' or 't'='t';

Trong một thủ tục xác thực, đoạn mã trên có thể buộc người dùng chọn một tên hợp lệ, vì 't'='t' luôn đúng Mặc dù nhiều SQL server cho phép thực hiện nhiều truy vấn cùng lúc, một số API SQL như mysql_query của PHP lại không hỗ trợ điều này vì lý do bảo mật Điều này chỉ ngăn chặn tin tặc tấn công bằng cách sử dụng các câu lệnh riêng lẻ, nhưng không ngăn được việc thay đổi từ ngữ trong cú pháp truy vấn Ví dụ, giá trị biến "userName" có thể dẫn đến việc xóa người dùng từ bảng, tương tự như việc lấy tất cả dữ liệu từ bảng, do đó tiết lộ thông tin của mọi người dùng Cú pháp cuối cùng của câu truy vấn có thể là: a';DROP TABLE users; SELECT * FROM data WHERE 't' = 't'.

SELECT * FROM users WHERE name = 'a';DROP TABLE users; SELECT * FROM data WHERE 't' = 't';

Xử lý không đúng kiểu

Lỗi SQL injection thường phát sinh khi lập trình viên hoặc người dùng không định nghĩa rõ ràng đầu vào dữ liệu, dẫn đến thiếu sót trong việc kiểm tra và lọc kiểu dữ liệu Tình trạng này thường xảy ra khi một trường số được sử dụng trong truy vấn SQL, nhưng lập trình viên không thực hiện kiểm tra để xác minh rằng dữ liệu người dùng nhập vào thực sự là số.

Ví dụ như sau: statement:= "SELECT * FROM data WHERE id = " + a_variable + ";"

Tác giả đoạn mã trên có ý định nhập vào một số cho trường id - trường số Tuy nhiên, người dùng cuối có thể nhập chuỗi ký tự thay vì số, dẫn đến việc tạo ra một câu truy vấn SQL mới mà không cần ký tự thoát Ví dụ, giá trị của biến a_variable được thiết lập như sau:

Khi đó, hệ thống sẽ tiến hành xóa người dùng có ID tương ứng khỏi cơ sở dữ liệu, vì câu truy vấn đã được hiểu rõ.

SELECT * FROM data WHERE id=1;DROP TABLE users;

Lỗi bảo mật trong máy chủ cơ sở dữ liệu có thể xuất phát từ chính phần mềm, như hàm mysql_real_escape_string() của MySQL Lỗ hổng này cho phép kẻ tấn công thực hiện cuộc tấn công SQL injection thành công, ngay cả khi đầu vào đã được thoát, thông qua các ký tự Unicode không thông thường.

Lỗi SQL injection là một loại lỗ hổng bảo mật trong ứng dụng web, nhưng hậu quả của nó thường không hiển thị rõ ràng cho những kẻ tấn công.

Lỗi bảo mật SQL injection có thể làm sai lệch nội dung trang web, gây khó khăn cho lập trình viên và người dùng trong việc khôi phục dữ liệu Những kẻ tấn công có khả năng sử dụng các công cụ để phát hiện lỗ hổng này và thực hiện tấn công với thông tin đã được chuẩn bị trước.

Thay đổi giá trị điều kiện truy vấn

Lỗi này cho phép kẻ tấn công thay đổi giá trị điều kiện trong câu truy vấn, dẫn đến việc sai lệch thông tin hiển thị của ứng dụng.

SELECT booktitle from booklist where bookId = 'OOk14cd' AND 1=1;

Sẽ hiển thị một trang một cách bình thường, trong khi:

Lỗi SQL injection có thể xảy ra khi câu lệnh như "SELECT booktitle from booklist where bookId = 'OOk14cd' AND 1=2;" được sử dụng, dẫn đến việc không hiển thị nội dung hoặc hiển thị nội dung không mong muốn Lỗ hổng này không chỉ ảnh hưởng đến bảng dữ liệu hiện tại mà còn có thể tác động đến các bảng hoặc dữ liệu khác liên quan, gây ra rủi ro nghiêm trọng cho hệ thống.

Lỗi SQL injection này khiến cơ sở dữ liệu chỉ cho phép thực hiện các truy vấn khi điều kiện trong câu lệnh WHERE được thỏa mãn.

SELECT 1/0 from users where username='Ralph';

Phép chia cho 0 chỉ được đánh giá là lỗi khi mà người dùng có tên

"Ralph" tồn tại trong cơ sở dữ liệu.

Lỗi SQL injection xảy ra khi thời gian xử lý của các truy vấn SQL phụ thuộc vào dữ liệu đầu vào, cho phép tin tặc xác định thời gian tải trang khi giá trị nhập vào là chính xác.

2.5.3 Một số dạng tấn công

Dạng tấn công vượt qua kiểm tra lúc đăng nhập

Tin tặc có thể dễ dàng tấn công các trang đăng nhập thông qua lỗi SQL trong cơ sở dữ liệu của ứng dụng web Hệ thống thường yêu cầu người dùng nhập tên đăng nhập và mật khẩu để truy cập vào các trang web bảo mật Sau khi thông tin được nhập, hệ thống sẽ kiểm tra tính hợp lệ của tên đăng nhập và mật khẩu để quyết định cho phép hoặc từ chối truy cập Ví dụ, trong ASP, có thể sử dụng một trang HTML để hiển thị form nhập liệu và một trang ASP để xử lý thông tin từ người dùng.

 Trang nhập liệu: login.html

Username:

Password:

 Trang xử lý nhập liệu: execlogin.asp

Dim vUsrName, vPassword, objRS, strSQL vUsrName = Request.Form("fUSRNAME") vPassword = Request.Form("fPASSWORD") strSQL = "SELECT * FROM T_USERS " & _

Set objRS = Server.CreateObject("ADODB.Recordset") objRS.Open strSQL, "DSN= "

Response.Write "You are logged in as " & objRS("USR_NAME")

L IỆT KÊ THƯ MỤC (D IRECTORY INDEXING )

2.6.1 Khái niệm Đây là chức năng web server cho phép liệt kê tất cả nội dung bên trong một thư mục mà không có tập tin cơ sở (index.html/home.html/ default.html). Trong các thư mục đó có thể chứa nội dung quan trọng: tập tin cơ sở dữ liệu dự phòng, tập tin cấu hình, tập tin lưu trữ tạm thời, các kịch bản…

 Thiết lập quyền hợp lý trên các thư mục chứa nội dung web.

 Sử dụng mod_security để lọc dữ liệu đầu vào Ví dụ như sau:

SecFilterSelective OUTPUT “\Index of /”

P ATH T RAVERSAL

Path Traversal hay còn được biết với một số tên khác như “dot-dot-slash”,

Tấn công "directory traversal", "directory climbing" và "backtracking" cho phép kẻ tấn công truy cập vào các file và thư mục nằm ngoài webroot mà không cần sử dụng công cụ phức tạp, chỉ cần thao tác với biến / (dot-dot-slash) Hình thức tấn công này có thể dẫn đến việc truy xuất các file nhạy cảm như mã nguồn và các file hệ thống.

 Sử dụng mod_security để lọc dữ liệu đầu vào:

SecFilterSelective SCRIPT_FILENAME “/scripts/foo.cgi” chain

SecFilterSelective ARG_home “!^[a-zA-Z].{15,}\.txt”

T ẤN CÔNG TỪ CHỐI DỊCH VỤ D O S VÀ DD O S

Tấn công từ chối dịch vụ (DoS) là một phương thức tấn công nhằm làm gián đoạn hoặc tê liệt một máy chủ hoặc mạng, khiến người dùng không thể truy cập vào dịch vụ Kẻ tấn công thực hiện điều này bằng cách gửi một lượng lớn traffic hoặc thông tin gây sự cố đến hệ thống mục tiêu, dẫn đến việc người dùng hợp pháp như nhân viên, thành viên hay chủ tài khoản không thể sử dụng các tài nguyên và dịch vụ mà họ cần.

Các cuộc tấn công DoS thường nhắm đến các máy chủ web của những tổ chức lớn như ngân hàng, doanh nghiệp thương mại, công ty truyền thông, trang báo và mạng xã hội.

Khi người dùng nhập URL vào trình duyệt, họ gửi yêu cầu đến máy chủ của website để xem nội dung Tuy nhiên, máy chủ chỉ có khả năng xử lý một số lượng yêu cầu nhất định trong thời gian nhất định Nếu kẻ tấn công gửi quá nhiều yêu cầu cùng lúc, máy chủ sẽ bị quá tải, dẫn đến việc yêu cầu của người dùng không được xử lý Đây là hình thức tấn công "từ chối dịch vụ", khiến người dùng không thể truy cập trang web.

DDoS (Distributed Denial of Service) hay còn gọi là tấn công từ chối dịch vụ phân tán, là một hình thức tấn công nhằm làm gián đoạn hoạt động của dịch vụ trực tuyến Tấn công DDoS thực hiện bằng cách gửi một lượng lớn traffic từ nhiều nguồn khác nhau, khiến dịch vụ không thể hoạt động bình thường.

Khi xảy ra tấn công DDoS, kẻ tấn công có thể lợi dụng máy tính của người dùng để tấn công các hệ thống khác Bằng cách khai thác lỗ hổng bảo mật và sự thiếu hiểu biết, chúng chiếm quyền điều khiển máy tính của người dùng Sau đó, kẻ tấn công sử dụng những máy tính này để gửi lượng lớn dữ liệu đến một website hoặc phát tán thư rác đến các địa chỉ email Đây là hình thức tấn công phân tán, trong đó kẻ tấn công sử dụng nhiều máy tính, bao gồm cả máy tính cá nhân của người dùng, để thực hiện cuộc tấn công từ chối dịch vụ (DoS).

DDoS, mặc dù là một hình thức tấn công mạng đơn giản hơn so với nhiều loại khác, nhưng đang trở nên mạnh mẽ và tinh vi hơn theo thời gian Có ba loại tấn công DDoS cơ bản mà người dùng cần lưu ý.

 Volume-based: Sử dụng lưu lượng truy cập cao để làm tràn ngập băng thông mạng

 Protocol: Tập trung vào việc khai thác các tài nguyên máy chủ

 Application: Tập trung vào các ứng dụng web và được xem là loại tấn công tinh vi và nghiêm trọng nhất

2.8.2 Sự khác biệt giữa tấn công DoS và DDoS

Tấn công DoS là một phương thức tấn công trực tuyến, trong đó một máy tính gửi một lượng lớn lưu lượng truy cập đến máy chủ của nạn nhân, khiến cho trang web trở nên không khả dụng với người dùng Mục tiêu của cuộc tấn công này là làm "sập" máy chủ, làm gián đoạn dịch vụ và gây khó khăn cho việc truy cập vào trang web.

Còn trong cuộc tấn công DDoS, các cuộc tấn công được thực hiện từ nhiều địa điểm khác nhau bằng cách sử dụng nhiều hệ thống.

Hình 2 3 Sự khác biệt giữa tấn công DoS và DDoS

Có một số sự khác biệt giữa tấn công DoS và DdoS, 2 kiểu tấn công này có những điểm khác biệt như sau:

Bảng 2 1 So sánh giữa tấn công DoS và DDoS

DoS là viết tắt của Denial of service.

DDoS là viết tắt của Distributed Denial of service.

Trong cuộc tấn công DoS, chỉ một hệ thống nhắm mục tiêu vào hệ thống nạn nhân.

Trong DDos, nhiều hệ thống tấn công hệ thống nạn nhân.

PC bị nhắm mục tiêu được load từ gói dữ liệu gửi từ một vị trí duy nhất.

PC bị nhắm mục tiêu được load từ gói dữ liệu gửi từ nhiều vị trí.

Tấn công DoS chậm hơn so với

DDoS Tấn công DDoS nhanh hơn tấn công DoS.

Có thể bị chặn dễ dàng vì chỉ sử dụng một hệ thống.

Rất khó để ngăn chặn cuộc tấn công này vì nhiều thiết bị đang gửi gói tin và tấn công từ nhiều vị trí.

Trong cuộc tấn công DoS, chỉ một thiết bị duy nhất được sử dụng với các công cụ tấn công

Trong cuộc tấn công DDoS, nhiều bot được sử dụng để tấn công cùng một lúc.

Các cuộc tấn công DoS rất dễ theo dõi Các cuộc tấn công DDoS rất khó theo dõi.

Lưu lượng truy cập trong cuộc tấn công DoS ít hơn so với

Các cuộc tấn công DDoS cho phép kẻ tấn công gửi một lượng lớn lưu lượng truy cập đến mạng nạn nhân.

Các loại tấn công DoS là:

1 Tấn công tràn bộ đệm

2 Tấn công Ping of Death hoặc

Các loại tấn công DDoS là:

1 Tấn công Volumetric (tấn công băng thông)

2 Tấn công Fragmentation Attack (phân mảnh dữ liệu)

3 Application Layer Attack (khai thác lỗ hổng trong các ứng dụng)

2.8.3 Tác hại Đây là những hậu quả điển hình mà DDoS và DoS gây ra:

 Hệ thống, máy chủ bị DoS sẽ sập khiến người dùng không truy cập được

 Doanh nghiệp sở hữu máy chủ, hệ thống sẽ bị mất doanh thu, chưa kể đến khoản chi phí cần phải bỏ ra để khắc phục sự cố.

 Khi mạng sập, mọi công việc yêu cầu mạng đều không thể thực hiện, làm gián đoạn công việc, ảnh hưởng đến hiệu suất công việc.

Khi người dùng truy cập vào website bị sập, điều này có thể gây tổn hại đến danh tiếng của công ty Nếu tình trạng sập diễn ra trong thời gian dài, người dùng có thể sẽ tìm kiếm và lựa chọn dịch vụ thay thế.

 Đối với những vụ tấn công DDoS kỹ thuật cao có thể dẫn đến việc lấy trộm tiền bạc, dữ liệu khách hàng của công ty.

2.8.4 Các dạng tấn công phổ biến

SYN Flood khai thác lỗ hổng trong quy trình bắt tay ba chiều của giao thức TCP Khi một máy chủ nhận được thông điệp đồng bộ (SYN), nó sẽ bắt đầu thiết lập kết nối, tạo cơ hội cho kẻ tấn công làm quá tải tài nguyên của máy chủ.

Trong một cuộc tấn công SYN Flood, máy chủ nhận tin nhắn bằng cách gửi cờ báo nhận (ACK) tới máy lưu trữ ban đầu nhưng không thể đóng kết nối do nhận tin nhắn giả mạo Hậu quả là dịch vụ bị sập do quá tải kết nối.

Giao thức Datagram Người dùng (UDP) là một giao thức mạng không có phiên Tấn công UDP Flood nhằm vào các cổng ngẫu nhiên trên máy tính hoặc mạng bằng cách gửi các gói tin UDP Khi máy chủ kiểm tra ứng dụng tại những cổng này, nó không phát hiện thấy ứng dụng nào đang hoạt động.

HTTP Flood là một dạng tấn công mạng, trong đó hacker khai thác các yêu cầu GET hoặc POST hợp pháp Mặc dù tiêu tốn ít băng thông hơn các kiểu tấn công khác, nhưng HTTP Flood có khả năng khiến máy chủ sử dụng tối đa tài nguyên của mình.

Ping of Death là một phương thức tấn công DDoS bằng cách gửi mã độc đến hệ thống thông qua các giao thức IP Mặc dù từng rất phổ biến cách đây hai thập kỷ, nhưng hiện nay phương pháp này đã trở nên kém hiệu quả.

Smurf Attack khai thác giao thức Internet (IP) và ICMP (Internet Control Message Protocol) sử dụng một chương trình phần mềm độc hại gọi là smurf.

Nó giả mạo một địa chỉ IP và sử dụng ICMP, sau đó ping các địa chỉ IP trên một mạng nhất định.

Fraggle Attack là một dạng tấn công mạng sử dụng lưu lượng UDP lớn để làm quá tải mạng phát sóng của router, tương tự như cuộc tấn công Smurf nhưng tập trung vào giao thức UDP thay vì ICMP.

Slowloris là một công cụ tấn công cho phép kẻ tấn công sử dụng ít tài nguyên để tấn công máy chủ web Khi đã kết nối với mục tiêu, Slowloris duy trì liên kết đó trong thời gian dài bằng cách gửi các yêu cầu HTTP liên tục Kiểu tấn công này đã được áp dụng trong nhiều vụ DDoS mang tính hacktivist, đặc biệt là trong cuộc bầu cử tổng thống Iran.

2009 Việc giảm thiểu ảnh hưởng với loại hình tấn công này là rất khó khăn.

THỰC HÀNH TẤN CÔNG WEBSITE VÀ SỬ DỤNG

Ngày đăng: 06/02/2022, 13:11

HÌNH ẢNH LIÊN QUAN

Hình 1. 3. Hành lang nơi WWW ra đời. CERN, tầng trệt tòa nhà số 1 - PHÒNG CHỐNG VÀ ĐIỀU TRA TỘI PHẠM MẠNG MÁY TÍNH: điều tra tấn công WEB
Hình 1. 3. Hành lang nơi WWW ra đời. CERN, tầng trệt tòa nhà số 1 (Trang 14)
Hình 1. 5. Giao diện trang web chủ của Youtube - PHÒNG CHỐNG VÀ ĐIỀU TRA TỘI PHẠM MẠNG MÁY TÍNH: điều tra tấn công WEB
Hình 1. 5. Giao diện trang web chủ của Youtube (Trang 17)
Hình 1. 6. Trang đầu của Website Wikipedia tiếng Anh, xem bởi trình duyệt - PHÒNG CHỐNG VÀ ĐIỀU TRA TỘI PHẠM MẠNG MÁY TÍNH: điều tra tấn công WEB
Hình 1. 6. Trang đầu của Website Wikipedia tiếng Anh, xem bởi trình duyệt (Trang 19)
Hình 1. 7. Thị phần trình duyệt theo StatCounter - PHÒNG CHỐNG VÀ ĐIỀU TRA TỘI PHẠM MẠNG MÁY TÍNH: điều tra tấn công WEB
Hình 1. 7. Thị phần trình duyệt theo StatCounter (Trang 20)
Hình 1. 8. WorldWideWeb, trình duyệt web đầu tiên - PHÒNG CHỐNG VÀ ĐIỀU TRA TỘI PHẠM MẠNG MÁY TÍNH: điều tra tấn công WEB
Hình 1. 8. WorldWideWeb, trình duyệt web đầu tiên (Trang 21)
Hình 1. 9. Các tầng của internet được hình tượng thành một ngọn núi băng, web - PHÒNG CHỐNG VÀ ĐIỀU TRA TỘI PHẠM MẠNG MÁY TÍNH: điều tra tấn công WEB
Hình 1. 9. Các tầng của internet được hình tượng thành một ngọn núi băng, web (Trang 23)
Hình 1. 11. Dark web - tầng dưới cùng của không gian mạng - PHÒNG CHỐNG VÀ ĐIỀU TRA TỘI PHẠM MẠNG MÁY TÍNH: điều tra tấn công WEB
Hình 1. 11. Dark web - tầng dưới cùng của không gian mạng (Trang 30)
Hình 2. 2. Các loại lỗ hổng Cross-site scripting - PHÒNG CHỐNG VÀ ĐIỀU TRA TỘI PHẠM MẠNG MÁY TÍNH: điều tra tấn công WEB
Hình 2. 2. Các loại lỗ hổng Cross-site scripting (Trang 39)
Hình 3. 1. Trình giao diện điều khiển của XAMPP Bước 2: Cài đặt DVWA - PHÒNG CHỐNG VÀ ĐIỀU TRA TỘI PHẠM MẠNG MÁY TÍNH: điều tra tấn công WEB
Hình 3. 1. Trình giao diện điều khiển của XAMPP Bước 2: Cài đặt DVWA (Trang 62)
Hình 3. 2. Copy bộ source code DVWA và thư mục phpMyAdmin đã tải về máy - PHÒNG CHỐNG VÀ ĐIỀU TRA TỘI PHẠM MẠNG MÁY TÍNH: điều tra tấn công WEB
Hình 3. 2. Copy bộ source code DVWA và thư mục phpMyAdmin đã tải về máy (Trang 63)
Hình 3. 3. Tạo CSDL có tên là “dvwa” trên trang quản trị phpMyAdmin - PHÒNG CHỐNG VÀ ĐIỀU TRA TỘI PHẠM MẠNG MÁY TÍNH: điều tra tấn công WEB
Hình 3. 3. Tạo CSDL có tên là “dvwa” trên trang quản trị phpMyAdmin (Trang 64)
Hình 3. 4. Tạo tài khoản người dùng cho CSDL dvwa - PHÒNG CHỐNG VÀ ĐIỀU TRA TỘI PHẠM MẠNG MÁY TÍNH: điều tra tấn công WEB
Hình 3. 4. Tạo tài khoản người dùng cho CSDL dvwa (Trang 64)
Hình 3. 5. Sửa một số đoạn code trong file config.php trong thư mục config của - PHÒNG CHỐNG VÀ ĐIỀU TRA TỘI PHẠM MẠNG MÁY TÍNH: điều tra tấn công WEB
Hình 3. 5. Sửa một số đoạn code trong file config.php trong thư mục config của (Trang 65)
Hình 3. 9. Kết quả sau khi nhập: “1” vào trường User ID và nhấn Submit - PHÒNG CHỐNG VÀ ĐIỀU TRA TỘI PHẠM MẠNG MÁY TÍNH: điều tra tấn công WEB
Hình 3. 9. Kết quả sau khi nhập: “1” vào trường User ID và nhấn Submit (Trang 67)
Hình 3. 10. Kết quả sau khi nhập: “ ‘or 1=1-- - ” vào trường User ID và nhấn - PHÒNG CHỐNG VÀ ĐIỀU TRA TỘI PHẠM MẠNG MÁY TÍNH: điều tra tấn công WEB
Hình 3. 10. Kết quả sau khi nhập: “ ‘or 1=1-- - ” vào trường User ID và nhấn (Trang 68)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w