chương 1 sẽ khảo sát tổng quan về công nghệ web, một số phương thức tấn công lỗ hổng bảo mật website, một số nguyên nhân gây ra lỗ hổng bảo mật website và các vấn đề khác liên quan. Tổng quan về công nghệ Web 1. Giới thiệu chung Trang web (web page) trên mạng Internet là nơi giới thiệu những thông tin, hình ảnh về doanh nghiệp và sản phẩm, dịch vụ của doanh nghiệp (hay giới thiệu bất cứ thông tin gì) để khách hàng có thể truy cập ở bất kỳ nơi đâu, bất cứ lúc nào. Website là tập hợp nhiều trang web.
Khi doanh nghiệp xây dựng website nghĩa là đang xây dựng nhiều trang thông tin, catalog sản phẩm, dịch vụ,. Để tạo nên một website cần phải có 3 yếu tố cơ bản [1]: Cần phải có tên miền (domain). Nội dung các trang thông tin (web page). Một số thuật ngữ cơ bản: Website động (Dynamic website) là website có cơ sở dữ liệu, được cung cấp công cụ quản lý website (Admin Tool).
Đặc điểm của website động là tính linh hoạt và có thể cập nhật thông tin thường xuyên, quản lý các thành phần trên website dễ dàng. Loại website này thường được viết bằng các ngôn ngữ lập trình như PHP, Asp.net, JSP, Perl,., quản trị Cơ sở dữ liệu bằng SQL hoặc MySQL. Website tĩnh do lập trình bằng ngôn ngữ HTML theo từng trang như brochure, không có cơ sở dữ liệu và không có công cụ quản lý thông tin trên website. Thông thường website tĩnh được thiết kế bằng các phần mềm như FrontPage, Dreamwaver,.
Đặc điểm của website tĩnh là ít thay đổi nội dung, sự Luan van 6 thay đổi nội dung này thường liên quan đến sự thay đổi các văn bản đi kèm thể hiện nội dung trên đó. 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. Có 2 loại tên miền: - Tên miền Quốc tế: là tên miền có dạng. - Tên miền Việt Nam: là tên miền có dạng.
- Lưu trữ website: Dữ liệu thông tin của website phải được lưu trữ trên một máy tính (máy chủ - server) luôn hoạt động và kết nối với mạng Internet. Một server có thể lưu trữ nhiều website, nếu server này bị sự cố chẳng hạn tắt trong một thời điểm nào đó thì không ai có thể truy cập được những website lưu trữ trên server tại thời điểm bị 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ở 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 dung lượng đường truyền: Là tổng số MB dữ liệu tải lên máy chủ hoặc tải về từ máy chủ (download, upload) nơi đặt website, đơn vị đo thông thường là MB/giây. Dịch vụ và cơ chế hoạt động Web Dịch vụ Web là sự kết hợp các máy tính cá nhân với các thiết bị khác, các cơ sở dữ liệu và các mạng máy tính để tạo thành một cơ cấu tính toán ảo mà người sử dụng có thể làm việc thông qua các trình duyệt mạng. Bản thân các dịch vụ này sẽ chạy trên các máy phục vụ trên nền Internet chứ không phải là các máy tính cá nhân, do vậy có thể chuyển các chức nǎng từ máy tính cá nhân lên Internet. Người sử dụng có thể làm việc với các dịch vụ thông qua bất kỳ loại máy nào có hỗ trợ Web service và có truy cập Internet, kể cả các thiết bị Luan van 7 cầm tay.
Do đó các Web service sẽ biến đổi Internet thành một môi trường làm việc chứ không chỉ là một phương tiện để xem và tải nội dung [10]. Web Service là một giao diện truy cập mạng đến các ứng dụng chức năng, được xây dựng từ việc sử dụng các công nghệ chuẩn Internet [10]. Được minh hoạ trong hình 1. Dịch vụ Web Service[10].
Web Service cho phép truy cập tới các code ứng dụng sử dụng chuẩn công nghệ Internet. Không giống như mô hình Client/Server truyền thống, chẳng hạn như hệ thống Web server/webpage, Web Service không cung cấp cho người dùng một giao diện đồ hoạ nào, Web Service đơn thuần chỉ là việc chia sẻ các dữ liệu logic và xử lý các dữ liệu đó thông qua một giao diện chương trình ứng dụng được cài đặt xuyên suốt trên mạng máy tính. Tuy nhiên nguời phát triển Web Service hoàn toàn có thể đưa Web Service vào một giao diện đồ hoạ người dùng (chẳng hạn như là một trang web hoặc một chương trình thực thi nào đó) để có thể cung cấp thêm các chức năng đặc biệt cho người dùng. Cơ chế hoạt động của Web Service yêu cầu phải có 3 thao tác đó là : Find, Public, Bind [10].
Cơ chế hoạt động của Web Service[10]. Luan van 8 Trong kiến trúc Web Service, Service Provider công bố các mô tả về các service thông qua Service Registry. Service Consumer tìm kiếm trong các Service Registry để tìm ra các service mà họ cần sử dụng. Service Consumer có thể là một người hoặc cũng có thể là một chương trình.
Kĩ thuật mô tả dịch vụ là một trong những thành phần chủ chốt của kiến trúc Web Service. Các thông tin mô tả đầy đủ nhất về kiến trúc Web Service được thể hiện trong hai tài liệu riêng biệt, đó là Network Accessible Service Specification Language (NASSL) và Web-Defined Service (WDS). Công nghệ web 2.0 Khái niệm Web 2.0 đầu tiên được Dale Dougherty, phó chủ tịch của Oreilly Media, đưa ra tại hội thảo Web 2.0 lần thứ nhất do OReilly Media và MediaLive International tổ chức vào tháng 10/2004. Dougherty không đưa ra định nghĩa mà chỉ dùng các ví dụ so sánh, phân biệt Web 1.0: "DoubleClick là Web 1.0; Google AdSense là Web 2.
Ofoto là Web 1.0; Flickr là Web 2. Britannica online là Web 1.0; Wikipedia là Web 2.0 là một cách tiếp cận mới để sử dụng web như là một nền tảng nơi mà người dùng cùng nhau tham gia vào việc tạo ra, chỉnh sửa, và xuất bản thông tin thông qua những công cụ hợp tác sáng tạo nội dung trên nền web.0 liên quan tới người dùng không phải chỉ ở chỗ người dùng tạo ra nội dung mà người dùng giúp thu thập, tổ chức, mô tả, cập nhật, chia sẻ, truyền bá, sắp xếp lại, bình luận, hiệu chỉnh, và đóng gói lại nội dung Hình 1. Các loại hình dịch vụ phổ biến trên nền web 2. Công nghệ web 3.0 còn có tên gọi là Semantic Web, được định nghĩa bởi Hiệp hội World Wide Web (W3C) nhằm xác định một thế hệ web mới với những tính năng độc đáo, hiện đại hơn, chú trọng vào việc sử dụng các định dạng dữ liệu và các giao thức chung để mọi trang web, mọi dịch vụ online đều có thể giao tiếp với nhau một cách nhanh chóng, tiện lợi và dễ dàng.
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à công nghệ web thuộc thế hệ thứ ba - web 3.0 có các tính năng đặc trưng sau: (1) Web có vai trò nền tảng, có khả năng chạy trên mọi ứng dụng. (2) Tập hợp trí tuệ thông qua internet. (3) Dữ liệu giữ vai trò then chốt. (4) Phần mềm được cung cấp bởi các dạng dịch vụ website và cập nhật liên tục.
(5) Phát triển web dễ dàng và nhanh chóng. (6) Phần mềm có thể chạy trên nhiều thiết bị. (7) Giao diện phong phú. Thực tế hiện nay, ứng dụng trên web là thành phần quan trọng của web 3.0, hàng loạt công nghệ mới phát triển nhằm giúp cho các ứng dụng của web hoạt động mạnh hơn, nhanh hơn, dễ dàng sử dụng, đây là yếu tố thực tế để làm nền tảng của web 3.
Công nghệ web 3.0 vẫn đang phát triển nhưng các thành phần cơ bản bao gồm: phần mềm máy chủ, cơ chế cung cấp nội dung, giao thức truyền thông, trình duyệt và ứng dụng. Tiến trình phát triển của công nghệ Web có thể mô tả trong Hình 1.4 dưới đây: bắt đầu bằng công nghệ Web 1.0, công nghệ Web 2.0 trong giai đoạn hiện tại và đang hướng tới công nghệ Web 3. Luan van 10 Hình 1. Tiến trình phát triển công nghệ web [13] 1.2 Một số phương thức tấn công lỗ hổng bảo mật website 1.1 Giới thiệu chung Các lỗ hổng bảo mật trên một hệ thống thông tin nói chung là các điểm yếu có thể tạo ra sự ngưng trệ của dịch vụ, thêm quyền đối với người sử dụng hoặc cho phép các truy cập không hợp pháp vào hệ thống.
Các lỗ hổng cũng có thể nằm ngay các dịch vụ cung cấp như sendmail, web, ftp … Ngoài ra các lỗ hổng còn tồn tại ngay chính tại hệ điều hành như trong Windows, UNIX; hoặc trong các ứng dụng mà người sử dụng thường xuyên sử dụng như Word processing, các hệ databases, …. Có thể được phân chia các dạng lỗ hổng bảo mật trên một hệ thống nói chung thành ba cấp độ nguy hiểm như sau [2]: Lỗ hổng loại C: các lỗ hổng loại này cho phép thực hiện các phương thức tấn công theo DoS (Dinal of Services – Từ chối dịch vụ). Mức độ nguy hiểm thấp, chỉ ảnh hưởng tới chất lượng dịch vụ, có thể làm ngưng trệ, gián đoạn hệ thống; không làm phá hỏng dữ liệu hoặc đạt được quyền truy nhập bất hợp pháp. Lỗ hổng loại B: Các lỗ hổng cho phép người sử dụng có thêm các quyền trên hệ thống mà không cần thực hiện kiểm tra tính hợp lệ.
Mức độ nguy hiểm trung Luan van 11 bình; Những lỗ hổng này thường có trong các ứng dụng trên hệ thống; có thể dẫn đến mất hoặc lộ thông tin yêu cầu bảo mật. Lỗ hổng loại A: Các lỗ hổng này cho phép người sử dụng ở ngoài có thể truy nhập vào hệ thống bất hợp pháp. Lỗ hổng rất nguy hiểm, có thể làm phá hủy toàn bộ hệ thống. Các lỗ hổng bảo mật Website là các điểm yếu của hệ thống cung cấp dịch vụ Web cho phép tin tặc tấn công đánh cắp dữ liệu người dùng, dữ liệu hệ thống, kiểm soát ứng dụng web, hoặc thậm chí kiểm soát cả hệ thống máy chủ chạy ứng dụng web.
Các lỗ hổng bảo mật Website rất đa dạng và bao gồm cả ba loại trên. Trong phần tiếp theo, luận văn sẽ trình bày một số phương thức tấn công lỗ hổng bảo mật Website.2 Các phương thức tấn công lỗ hổng bảo mật website Trong mục này, luận văn sẽ khảo sát các phương thức tấn công lỗ hổng bảo mật Website dựa trên khuyến nghị của OWASP [16].