Tải bản đầy đủ (.pdf) (88 trang)

Nghiên cứu xây dựng hệ thống giám sát sự thay đổi nội dung website

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.17 MB, 88 trang )

..

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

VŨ MINH HUY

NGHIÊN CỨU XÂY DỰNG HỆ THỐNG
GIÁM SÁT SỰ THAY ĐỔI NỘI DUNG WEBSITE

LUẬN VĂN THẠC SĨ
CHUYÊN NGÀNH KHOA HỌC MÁY TÍNH

THÁI NGUYÊN - 2017


ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

VŨ MINH HUY

NGHIÊN CỨU XÂY DỰNG HỆ THỐNG GIÁM SÁT SỰ THAY ĐỔI NỘI
DUNG WEBSITE

LUẬN VĂN THẠC SĨ
CHUYÊN NGÀNH KHOA HỌC MÁY TÍNH

THÁI NGUYÊN - 2017


1



LỜI CẢM ƠN
Trước hết tôi xin gửi lời cảm ơn sâu sắc nhất đến thầy hướng dẫn khoa học
TS. Lê Quang Minh về những chỉ dẫn khoa học, định hướng nghiên cứu và tận
tình hướng dẫn tơi trong suốt q trình làm luận văn.
Tơi cũng xin cảm ơn các Thầy trong Viện Công nghệ thông tin và các Thầy
Cô trong trường Đại học Công nghệ thông tin và Truyền thông – Đại học Thái
Nguyên đã quan tâm chỉ bảo và trực tiếp giảng dạy, giúp đỡ trong suốt quá trình
học tập và nghiên cứu.
Tôi xin chân thành cảm ơn lãnh đạo các phịng ban, đồng nghiệp đơn vị
cơng tác cũ là Chi nhánh Viettel Thái Nguyên và đơn vị công tác mới là Công ty
cổ phần VETC đã tạo điều kiện cho tôi học tập và nghiên cứu đề tài này.
Cuối cùng tơi xin cảm ơn gia đình và bạn bè, những người đã luôn ủng hộ
và động viên tôi trong suốt quá trình học tập và nghiên cứu luận văn này.
Thái Nguyên, tháng 05 năm 2017
Học viên

Vũ Minh Huy


2

LỜI CAM ĐOAN
Tôi xin cam đoan:
Những kết quả nghiên cứu được trình bày trong luận văn là hồn tồn trung
thực của tơi, khơng vi phạm bất cứ điều gì trong luật sở hữu trí tuệ và pháp luật
Việt Nam. Nếu sai, tơi xin chịu hồn tồn trách nhiệm trước pháp luật.
Thái Nguyên, tháng 05 năm 2017
Học viên


Vũ Minh Huy


3

MỤC LỤC
LỜI CẢM ƠN .......................................................................................................... 1
LỜI CAM ĐOAN .................................................................................................... 2
MỤC LỤC ............................................................................................................... 3
DANH MỤC CÁC KÝ HIỆU ................................................................................. 6
DANH MỤC HÌNH VẼ .......................................................................................... 8
LỜI MỞ ĐẦU.......................................................................................................... 9
CHƯƠNG 1: TỔNG QUAN VỀ WEBSITE VÀ MỘT SỐ VẤN ĐỀ AN NINH
............................................................................................................................... 12
1.1. Một số khái niệm cơ bản về Website ............................................................. 12
1.1.1. Khái niệm Web ........................................................................................... 12
1.1.2. Hoạt động của Web ..................................................................................... 13
1.1.3. Trình duyệt Web ......................................................................................... 13
1.1.4. Địa chỉ URL ................................................................................................ 13
1.1.5. Tên miền...................................................................................................... 14
1.1.6. Giao thức HTTP và HTTPS ........................................................................ 15
1.1.7. Web Server .................................................................................................. 16
1.1.8. Database Server........................................................................................... 17
1.1.9. Các dịch vụ và ứng dụng trên nền Web ...................................................... 17
1.2. Thực trạng an ninh Web tại Việt Nam và trên thế giới .................................. 18
1.3. Vai trị và mục đích của việc theo dõi sự thay đổi nội dung trang web ......... 19
1.4. Một số lỗ hổng an ninh trên Website.............................................................. 20
1.5. Một số kỹ thuật tấn công Website .................................................................. 21
1.5.1. Tấn công SQL Injection .............................................................................. 21
1.5.2. Tấn công XSS (Cross Site Scripting).......................................................... 30

1.5.3. Tấn công từ chối dịch vụ DOS (Denial of Service) .................................... 34


4

1.6. Kết luận chương 1........................................................................................... 41
CHƯƠNG 2: CÁC THUẬT TOÁN GIÁM SÁT VÀ MỘT SỐ PHƯƠNG
PHÁP ĐẢM BẢO AN NINH WEBSITE .......................................................... 42
2.1. Một số phương pháp đảm bảo an ninh Website ............................................. 42
2.1.1. Đảm bảo an ninh hệ điều hành Webserver ................................................. 42
2.1.2. Đảm bảo an ninh Webserver ....................................................................... 43
2.1.3. Quản trị Webserver ..................................................................................... 47
2.1.3.1. Logging ................................................................................................... 47
2.1.3.2. Thủ tục sao lưu Webserver ..................................................................... 47
2.1.3.3. Phục hồi từ một sự làm hại an ninh ........................................................ 48
2.1.3.4. Kiểm tra bảo mật Webserver .................................................................. 48
2.1.4. Bảo đảm an ninh nội dung Web .................................................................. 49
2.1.5. Sử dụng kỹ thuật xác thực và mã hóa ......................................................... 51
2.1.5.1. Xác định các yêu cầu xác thực và mã hóa ............................................... 51
2.1.5.2. Xác thực dựa trên địa chỉ ......................................................................... 52
2.1.5.3. Xác thực cơ bản........................................................................................ 52
2.1.5.4. Xác thực Digest ........................................................................................ 53
2.1.5.5. SSL/TLS................................................................................................... 53
2.1.6. Triển khai cơ sở hạ tầng mạng an ninh ....................................................... 55
2.1.6.1. Thành phần và cấu trúc mạng .................................................................. 55
2.1.6.2. Cấu hình phần tử mạng ............................................................................ 55
2.2. Các thuật toán giám sát ................................................................................... 56
2.2.1. Hàm băm mật mã ........................................................................................ 56
2.2.1.1. Giới thiệu hàm băm mật mã ..................................................................... 56
2.2.1.2. Tính một chiều của hàm băm ................................................................... 57

2.2.1.3. Cấu trúc hàm băm .................................................................................... 58
2.2.2. Thuật toán đối sánh chuỗi ........................................................................... 60


5

2.2.3.1. Khái niệm đối sánh chuỗi ....................................................................... 60
2.2.2.2. Phân loại thuật toán đối sánh chuỗi ......................................................... 61
2.2.3. Dấu vân tay tài liệu ..................................................................................... 61
2.2.4. Thuật toán Rabin Fingerprint ...................................................................... 62
2.2.5. Thuật toán Rabin Fingerprint cải tiến ......................................................... 64
2.3 Kết luận chương 2............................................................................................ 66
CHƯƠNG 3: ỨNG DỤNG THUẬT TOÁN RABIN FINGERPRINT CẢI
TIẾN XÂY DỰNG HỆ THỐNG GIÁM SÁT SỰ THAY ĐỔI NỘI DUNG
WEBSITE ............................................................................................................. 67
3.1 Giới thiệu ......................................................................................................... 67
3.2. Hệ thống giám sát nội dung Website .............................................................. 68
3.2.1. Hệ thống Builder ......................................................................................... 70
3.2.2. Hoạt động Multi-checker ............................................................................ 70
3.2.3. Hệ thống Recover........................................................................................ 72
3.2.4. Hệ thống Self-watcher ................................................................................ 73
3.2.5. Hệ thống Admin .......................................................................................... 74
3.3. Hoạt động hệ thống dựa trên các phát hiện thay đổi bất thường.................... 74
3.3.1. Tổng quan hệ thống..................................................................................... 74
3.3.2. Kiến trúc hệ thống ....................................................................................... 75
3.4. Phân tích hoạt động của hệ thống ................................................................... 76
3.5 Cài đặt và thử nghiệm chương trình ................................................................ 79
3.5.1. Cài đặt chương trình.................................................................................... 79
3.5.2. Thử nghiệm chương trình ........................................................................... 80
3.5.3. Nhận xét kết quả .......................................................................................... 82

3.6. Kết luận chương 3........................................................................................... 83
KẾT LUẬN........................................................................................................... 84
TÀI LIỆU THAM KHẢO................................................................................... 85


6

DANH MỤC CÁC KÝ HIỆU
STT

Kí hiệu

Tiếng việt

Tiếng anh

1

ACK

Là một báo nhận

2

CNTT

Công nghệ thông tin

3


CSDL

4

CSS

5

DNS

Cơ sở dữ liệu
Database
Ngôn ngữ quy định cách
trình bày của các thẻ html Cascading Style Sheet
trên trang web
Hệ thống tên miền
Domain name System

6

DOS

Từ chối dịch vụ

Dinal of Services

7

Firewall


8

Hosting

9

HTML

10

HTTP

Hypertext Markup
Language
Hypertext Transfer
Protocol

11

HTTPS

12

Hyperlink

Tường lửa
Nơi cung cấp dịch vụ và lưu
trữ website
Ngôn ngữ đánh dấu siêu văn
bản

Giao thức truyền siêu văn
bản
Kết hợp giữa giao thức
HTTP và giao thức bảo mật
SSL hay TLS
Liên kết siêu văn bản

13

Hypertext

14

ICMP

15

Internet

16

IP

Địa chỉ IP

17

IPS

Hệ thống chống xâm nhập


18

OSI

Mơ hình hệ thống mở

Acknowledgment

Hệ thống siêu văn bản
Giao thức thơng điệp vận Internet Control Message
chuyển Internet
Protocol
Mạng tồn cầu
Internet protocol
Intrusion Prevention
System
Open Systems
Interconnection


7

19

SQL

20

SSL


21

SYN

22

TLS

23

UDP

24

URL

25
26
27

28

Ngơn ngữ truy vấn mang tính
Structured Query Language
cấu trúc
Giao thức bảo mật
Secure Sockets Layer
The Synchronous Idle
Ký tự đồng bộ hoá

Character
Giao thức bảo mật
Transport Layer Security
Giao thức dữ liệu người
User Datagram Protocol
dùng
Định vị tài nguyên thống
Uniform Resource Locator
nhất

Web
Trình duyệt web
browser
Web server Máy chủ phục vụ web
XML

Ngôn ngữ Đánh dấu Mở rộng

XSS

Là một kiểu tấn công cho
phép kẻ tấn công chèn những
đoạn script độc hại (thông
thường là javascript hoặc
HTML) vào website (Cross
Site Scripting)

Xtensible Markup
Language



8

DANH MỤC HÌNH VẼ
Hình 1.1. Một số Webserver thơng dụng .............................................................. 17
Hình 1.2. Mơ hình tấn cơng SQL Injection ........................................................... 21
Hình 1.3. Mơ hình tấn cơng XXS (Cross-Site Scripting)...................................... 33
Hình 1.4. Một mơ hình tấn cơng từ chối dịch vụ DOS .......................................... 37
Hình 1.5. Mơ hình tấn cơng SYNFlood Attack ..................................................... 39
Hình 2.1. SSL/TLS đặt trong Internet Protocol Stack ........................................... 55
Hình 3.1. Sơ đồ Merkel-Damgard ......................................................................... 60
Hình 3.2. Mơ tả thuật tốn Rabin Fingerprint ....................................................... 65
Hình 3.3. Minh hoạ cải tiến giải thuật ................................................................... 67
Hình 3.4. Sơ đồ kiến trúc hệ thống giám sát website ............................................ 71
Hình 3.5. Các thuộc tính cơ bản của tập tin .......................................................... 73
Hình 3.6. Kiến trúc hệ thống phát hiện thay đổi bất thường ................................. 77
Hình 3.7. Sơ đồ phương pháp phát hiện sự thay đổi nội dung trang web ............. 79
Hình 3.8. Giao diện chính của chương trình giám sát website ............................. 82
Hình 3.9. Chương trình giám sát website theo dõi 4 website đồng thời ............... 84
Hình 3.10. Hoạt động của chức năng Advanced Mode......................................... 82


9

LỜI MỞ ĐẦU
Cùng với sự phát triển của công nghệ thơng tin, cơng nghệ mạng máy tính
và sự phát triển của mạng Internet ngày càng phát triển đa dạng và phong phú. Các
dịch vụ trên mạng đã thâm nhập vào hầu hết các lĩnh vực trong đời sống xã hội.
Các thông tin trên Internet cũng đa dạng về nội dung và hình thức, trong đó có rất
nhiều thơng tin cần được bảo mật cao hơn bởi tính kinh tế, tính chính xác và tính

tin cậy của nó.
Bên cạnh đó, các hình thức phá hoại mạng cũng trở nên tinh vi và phức tạp
hơn. Do đó đối với mỗi hệ thống, nhiệm vụ bảo mật được đặt ra cho người quản
trị mạng là hết sức quan trọng và cần thiết. Xuất phát từ những thực tế đó, đề tài sẽ
tìm hiểu về một số kiểu tấn công phổ biến hiện nay và cách phịng chống các loại
tấn cơng này.
Thơng qua việc nghiên cứu một số phương pháp tấn công và cách bảo mật
các lọai tấn cơng này, mong muốn góp một phần nhỏ vào việc nghiên cứu và tìm
hiểu về các vấn đề phát hiện tấn công làm thay đổi nội dung các trang web đưa ra
cảnh báo sớm có ý nghĩa giúp cho việc duy trì các trang web trên hệ thống máy
chủ được ổn định.
1. Lý do chọn đề tài
Với sự phát triể n rấ t nhanh của các ứng du ̣ng trên nề n Web, việc bảo mật an
ninh an toàn cho các trang Web là một lĩnh vực đặc biệt quan trọng vì nó được truy
cập mọi lúc mọi nơi và bất kỳ ai. Tuy vâ ̣y không phải bấ t kỳ nhà phát triể n phầ n
mề m Web nào cũng chú tâm đế n viê ̣c bảo mật anh ninh, vì vậy nhiều ứng du ̣ng
Web vẫn tồ n ta ̣i với các nguy cơ mất an ninh, an toàn, bảo mật và gây ra nhiề u thiêṭ
ha ̣i khi bị tấn công. Tuy nhiên viê ̣c tìm kiế m và phát hiện ra các nguy cơ an ninh thủ
cơng khá khó khăn trong khi đó có nhiều nguy cơ an ninh có thể phát hiện được


10

bằng các công cu ̣ tự đô ̣ng. Bên ca ̣nh đó, các loa ̣i nguy cơ an ninh khơng ít, và cũng
có rất nhiều cơng cu ̣ tự động phát hiện nguy cơ bảo mật nên người phát triển phần
mềm khi muốn kiểm tra mức độ an ninh an tồn của trang web của mình cũng gặp
phải nhiều khó khăn. Chính vì vậy đề tài này nghiên cứu một số kiể u tấ n công đang
phổ biến hiện nay và từ đó xây dựng một hệ thống với cơng cu ̣ phát hiê ̣n các nguy
cơ mất an ninh an toàn các trang web đồ ng thời đưa ra các cảnh báo với các nhà
quản trị web để có biện pháp xử lý kịp thời.

Ngày nay việc kiểm soát an ninh mạng như tường lửa (Firewall), Mạng
riêng ảo (VPN - Virtual Private Network) là những công cụ quan trọng để giữ cho
các trang web được an toàn hơn, nhưng những cơng cụ này khơng đủ để đảm bảo
an tồn an ninh cho các trang web hiện nay. Như chúng ta biết, mơi trường web là
mơi trường mở, có nguy cơ lúc nào cũng có thể bị tấn cơng xẩy ra mất an toàn an
ninh cho trang web là rất cao. Chính vì vậy phải xây dựng một hệ thống với công
cụ phát hiện sớm những thay đổi bất thường không như mong muốn đồng thời đưa
ra những cảnh báo cho các nhà quản trị web để họ kịp thời có những giải pháp phù
hợp là rất cần thiết.
2. Mục tiêu
Mục tiêu của luận văn nghiên cứu tìm hiểu tổng quan về website, các mối
đe dọa về vấn đề an tồn thơng tin khi chúng ta làm việc trên ứng dụng web hàng
ngày, hiểu rõ hơn về các kỹ thuật tấn cơng và bảo mật website. Từ đó có sự đánh
giá một cách tổng quan, để áp dụng các chính sách về bảo mật trang web an toàn
dữ liệu cho hệ thống. Đồng thời phát triển xây dựng phần mềm phát hiện sớm các
tấn công làm thay đổi nội dung trang web từ đó đưa ra các cảnh báo giúp cho
người quản trị web biết được có sự thay đổi bất thường và đưa ra các biện pháp
làm cho hệ thống bảo mật được tốt hơn.


11

3. Bố cục luận văn gồm
Chương 1: Tổng quan về Website và một số vấn đề an ninh.
Trong chương 1 luận văn đã nêu một số các khái niệm cơ bản về Website,
đánh giá tổng quan tình hình mất an ninh, an toàn trên nền Web. Nêu lên một số lỗ
hổng an ninh trên Web và các kỹ thuật tấn cơng Web.
Chương 2: Các thuật tốn giám sát và một số phương pháp đảm bảo an ninh
Website.
Trong chương 2 luận văn nghiên cứu các thuật toán giám sát và phân tích

sâu một số phương pháp đảm bảo an ninh Web: đảm bảo an ninh hệ điều hành
Webserver, đảm bảo an ninh Webserver, đảm bảo an ninh nội dung Web, các cơ
chế xác thực và mã hóa, triển khai cơ sở hạ tầng mạng an ninh, quản trị
Webserver.
Chương 3: Ứng dụng thuật toán Rabin fingerprint cải tiến xây dựng hệ
thống giám sát sự thay đổi nội dung Website.
Trong chương này, dựa trên nghiên cứu lý thuyết hàm băm mật mã và thuật
tốn đối sánh chuỗi, cũng như phân tích thuật tốn Rabin Fingerprint và cải tiến
thuật toán Rabin Fingerprint và xây dựng hệ thống giám sát website dựa trên các
thay đổi bất thường nội dung trang web, đưa ra cảnh báo kịp thời có ý nghĩa.


12

CHƯƠNG 1
TỔNG QUAN VỀ WEBSITE VÀ MỘT SỐ VẤN ĐỀ AN NINH
1.1. Một số khái niệm cơ bản về Website
1.1.1. Khái niệm Web
World Wide Web, gọi tắt là Web hoặc WWW, mạng lưới tồn cầu là một
khơng gian thơng tin tồn cầu mà mọi người có thể truy nhập (đọc và viết) qua các
máy tính nối với mạng Internet. Thuật ngữ này thường được hiểu nhầm là từ đồng
nghĩa với chính thuật ngữ Internet. Nhưng Web thực ra chỉ là một trong các dịch
vụ chạy trên Internet, chẳng hạn như dịch vụ thư điện tử. Web được phát minh và
đưa vào sử dụng vào khoảng năm 1990, 1991 bởi viện sĩ Viện Hàn lâm Anh Tim
Berners-Lee và Robert Cailliau (Bỉ) tại CERN, Geneva, Switzerland.
Các tài liệu trên World Wide Web được lưu trữ trong một hệ thống siêu văn
bản (hypertext), đặt tại các máy tính trong mạng Internet. Người dùng phải sử dụng
một chương trình được gọi là trình duyệt web (web browser) để xem siêu văn bản.
Chương trình này sẽ nhận thông tin (documents) tại ô địa chỉ (address) do người sử
dụng yêu cầu (thông tin trong ô địa chỉ được gọi là tên miền (domain name)), rồi

sau đó chương trình sẽ tự động gửi thơng tin đến máy chủ (web server) và hiển thị
trên màn hình máy tính của người xem. Người dùng có thể theo các liên kết siêu
văn bản (hyperlink) trên mỗi trang web để nối với các tài liệu khác hoặc gửi thông
tin phản hồi theo máy chủ trong một quá trình tương tác. Hoạt động truy tìm theo
các siêu liên kết thường được gọi là duyệt Web.
Q trình này cho phép người dùng có thể lướt các trang web để lấy thông
tin. Tuy nhiên độ chính xác và chứng thực của thơng tin khơng được đảm bảo.


13

1.1.2. Hoạt động của Web
Thơng qua trình duyệt, người dùng cuối sẽ kết nối đến máy chủ phục vụ
web bằng địa chỉ URL. Tại đây, máy chủ phục vụ web sẽ xử lý kết nối và gửi yêu
cầu đến ứng dụng web. Tùy theo yêu cầu, ứng dụng web sẽ truy vấn đến cơ sở dữ
liệu và nhận kết quả trả về, sau đó sẽ gửi phản hồi về máy chủ phục vụ web. Cuối
cùng máy chủ phục vụ web sẽ gửi dữ liệu về trình duyệt dưới dạng siêu văn bản
và người dùng cuối sẽ nhận thông tin hiển thị trên trình duyệt.
1.1.3. Trình duyệt Web
Trình duyệt web là một phần mềm ứng dụng cho phép người sử dụng xem
và tương tác với các văn bản, hình ảnh, đoạn phim, nhạc, trị chơi và các thơng tin
khác ở trên một trang web của một địa chỉ web trên mạng tồn cầu hoặc mạng nội
bộ. Văn bản và hình ảnh trên một trang web có thể chứa siêu liên kết tới các trang
web khác của cùng một địa chỉ web hoặc địa chỉ web khác. Trình duyệt web cho
phép người sử dụng truy cập các thông tin trên các trang web một cách nhanh
chóng và dễ dàng thơng qua các liên kết đó. Trình duyệt web đọc định dạng
HTML, CSS, XML,… để hiển thị, do vậy một trang web có thể hiển thị khác nhau
trên các trình duyệt khác nhau.
Một số trình duyệt web hiện nay cho máy tính cá nhân bao gồm Internet
Explorer, Mozilla Firefox, Safari, Opera, Avant Browser, Konqueror, Lynx,

Google Chrome, Flock, Arachne, Epiphany, K-Meleon và AOL Explorer.
1.1.4. Địa chỉ URL
Địa chỉ URL (Uniform Resource Locator) [21] được dùng để tham chiếu tới
tài nguyên trên Internet. URL mang lại khả năng siêu liên kết cho các trang mạng,
các tài nguyên khác nhau.


14

Một URL gồm các thành phần sau:
 Giao thức (ví dụ: http, ftp) nhưng cũng có thể là một cái tên khác (ví dụ:
news, mailto).
 Tên miền (ví dụ: example.com.vn, abc.vn).
 Cổng (ví dụ: 80, 8080), tuy nhiên thành phần này có thế khơng bắt buộc.
 Đường dẫn tuyệt đối trên máy phục vụ của tài nguyên (ví dụ:
thumuc/trang).
1.1.5. Tên miền
Mục đích chính của tên miền là để cung cấp một hình thức đại diện, hay nói
cách khác, dùng những tên dễ nhận biết, thay cho những tài nguyên Internet mà đa
số được đánh số bằng địa chỉ IP rất khó nhớ. Việc dịch từ tên miền sang địa chỉ IP
và ngược lại do hệ thống DNS trên toàn cầu thực hiện [21].
Tên miền có chiều dài tối đa 67 ký tự và chỉ bao gồm các ký tự chữ cái thông
thường và các ký tự số.
Tên miền gồm hai dạng là tên miền Quốc gia và tên miền Quốc tế.
 Tên miền Quốc gia quy định theo Quốc gia của bạn, ví dụ: Việt Nam là
.vn; Nhật Bản là .jp; Anh là .uk; Mỹ là .us ….
 Tên miền Quốc tế: được dùng khắp trên thế giới như: .com; .net; .org; .edu.
Ý nghĩa một số tên miền mở rộng thông dụng:
 .com: Dành cho các công ty thương mại.
 .net: Dành cho các công ty về mạng (network) hay cung cấp dịch vụ mạng.

 .org: Dành cho các tổ chức, nhóm.
 .gov: Dành cho các tổ chức chính phủ.


15

 .edu: Dành cho các tổ chức giáo dục, trường học.
 .biz: Dành cho các công ty thương mại trực tuyến.
1.1.6. Giao thức HTTP và HTTPS
- HTTP (Hypertext Transfer Protocol) [21], là giao thức thuộc lớp ứng dụng
trong mơ hình tham chiếu OSI. Hoạt động thông thường ở cổng (port) 80 và là
giao thức hướng kết nối.
GET /page/index.php HTTP/1.1
Phương thức: GET
Tên miền: securitydaily.net
Đường dẫn: /page/index.php
Phiên bản: HTTP/1.1
- Các phương thức hoạt động của HTTP:
 GET: Phương thức lấy một đối tượng hoặc tài nguyên nào đó trên máy
chủ (server).
 POST: Phương thức mà máy trạm (Client) sử dụng để gửi thông tin đến
các Server.
 PUT: Phương thức dùng để máy trạm (Client) tải dữ liệu lên (upload)
Server.
 DELETE: Phương thức giúp Client xoá các đối tượng, tài nguyên từ các
máy chủ (server).
 HEAD: Phương thức xác minh rằng một đối tượng có tồn tại hay khơng.
 TRACE: Phương thức được sử dụng để gọi từ xa một lớp ứng dụng trở lại.
- HTTPS (HTTP over SSL/TLS).



16

Là một sự kết hợp giữa giao thức HTTP và giao thức bảo mật SSL hay TLS
cho phép trao đổi thông tin một cách bảo mật trên Internet. Các kết nối HTTPS
thường được sử dụng cho các giao dịch thanh toán trên Web và cho các giao dịch
nhạy cảm trong các hệ thống thông tin, khi dữ liệu cần phải được bảo vệ an toàn.
Khi một HTTPS được thiết lập nó sẽ giúp bảo mật thơng tin truyền giữa
hai máy tính. Vậy, cứ thơng tin nào cần bảo mật trên nền web thì có thể sử
dụng nó. Nhưng đi kèm với q trình bảo mật có nghĩa là hệ thống phải xử lý
nhiều hơn.
1.1.7. Web Server
Web Server [22] là máy chủ cài đặt các chương trình phục vụ các ứng dụng
web. Web Server có khả năng tiếp nhận yêu cầu từ các trình duyệt web và gửi
phản hồi đến máy khách những trang web thông qua môi trường mạng Internet
qua giao thức HTTP hoặc các giao thức khác.
Một số Web Server thơng dụng hiện nay:

Hình 1.1. Một số Web Server thông dụng


17

Web Application là nơi các kịch bản hay mã nguồn phát triển ra ứng dụng
web được thực thi. Lớp này sẽ biên dịch các mã nguồn tương ứng và thực hiện các
truy vấn đến cơ sở dữ liệu dựa vào mã nguồn ứng dụng.
Trong giai đoạn khởi đầu của website, có rất nhiều ngơn ngữ lập trình được
sử dụng như: JSP, ASP, PHP, ASP.NET,… Nhưng hiện tại có hai ngơn ngữ được
dùng phổ biến là PHP và ASP.NET.
1.1.8. Database Server

Cơ sở dữ liệu máy chủ (Database Server) lưu trữ tất cả các dữ liệu liên quan
đến website. Bất kỳ người sử dụng nào trên mạng máy tính, tại các thiết bị đầu
cuối, về nguyên tắc có quyền truy nhập khai thác toàn bộ hay một phần dữ liệu
theo quyền hạn hay tương tác mà khơng phụ thuộc vào vị trí địa lý [22].
1.1.9. Các dịch vụ và ứng dụng trên nền Web
Với công nghệ hiện nay, website không chỉ đơn giản là một trang tin
cung cấp các tin bài đơn giản. Những ứng dụng viết trên nền web không chỉ
được gọi là một phần của website nữa, giờ đây chúng được gọi là phần mềm
viết trên nền web. Có rất nhiều phần mềm chạy trên nền web như chương trình
xử lý văn bản Google word, chương trình xử lý bảng tính Google spreadsheets,
thư điện tử (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 máy chủ (server)
- Ln sẵn sàng 24/7
- Dễ dàng sao lưu (backup) dữ liệu thường xuyên


18

- 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 máy tính bàn
(desktop).
Hãy hình dung bạn có một phần mềm quản lý bán hàng hay quản lý công
việc ở công ty. Không phải lúc nào bạn cũng ở công ty, với phần mềm viết trên
nền web, bạn có thể vào kiểm tra, điều hành ở bất cứ đâu, thậm chí bạn chỉ cần
một chiếc điện thoại chạy được trình duyệt như iPhone mà khơng cần đến một
chiếc máy tính.
1.2. Thực trạng an ninh Web tại Việt Nam và trên thế giới
Năm 2016 chứng kiến nhiều cuộc tấn công mạng nghiêm trọng trên thế giới

nhằm vào các tổ chức như Sony Pictures, Nhà Trắng, trang web Ashley Madison
và thậm chí cả FBI. Các sự cố an ninh mạng đã tăng 38% so với năm 2015, trong
khi gần một triệu các mối đe dọa từ các phần mềm độc hại mới được phát hành
mỗi ngày. Chi phí cho các cuộc tấn cơng mạng sử dụng mã độc tốn khoảng 300 tỷ
đến 1 nghìn tỷ đơ la mỗi năm, các vụ xâm phạm dữ liệu trung bình mất 154 đô la
Mỹ cho mỗi vụ, trong khi chi phí trung bình cho một vụ xâm phạm dữ liệu mất
gần 4 triệu đô la. Những con số này cho thấy một thực trạng đáng báo động về
việc người dùng máy tính ngày càng gặp khó khăn trong việc đảm bảo an toàn khi
trực tuyến.
Điều này cũng tương tự đối với Việt Nam - thị trường an tồn thơng tin
quốc gia trong năm 2016 diễn biến khá phức tạp. Tại Việt Nam, cùng với sự phát
triển mạnh mẽ ứng dụng công nghệ thông tin, các cuộc tấn công, xâm nhập trái
phép vào hệ thống mạng của các cơ quan nhà nước, các tổ chức, doanh nghiệp để
phá hoại hoặc thu thập lấy cắp thông tin ngày càng gia tăng. Theo VNCERT


19

(Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam), theo Trung tâm ứng cứu khẩn
cấp máy tính Việt Nam (VNCERT) trong năm 2016, VNCERT đã ghi nhận tổng
cộng 134.375 sự cố tấn cơng mạng của cả 3 loại hình Phishing (lừa đảo), Malware
(mã độc) và Deface (thay đổi giao diện), tăng hơn 4,2 lần so với năm 2015. Trong
năm 2016, tại Việt Nam đã có 8935 website bị tấn công, 27937 website bị nhiễm
mã độc, 19189 website bị cài đặt phishing. Đặc biệt ngày 29/07/2016 xảy ra vụ tấn
công mạng vào hệ thống máy chủ của Vietnam Airline thay đổi nội dung và giao
diện trang chủ Vietnam Airline và lấy đi dữ liệu của hơn 400.000 tài khoản của
những hội viên Vietnam Airlines, trong đó có đầy đủ thơng tin như: ngày gia
nhập, điểm tích lũy, ngày hết hạn... Trước những con số đáng báo động trên, việc
giám sát an ninh cũng như triển khai các giải pháp bảo mật đang trở nên cấp thiết
hơn bao giờ hết.

1.3. Vai trị và mục đích của việc theo dõi sự thay đổi nội dung trang web
Ngày nay việc kiểm soát an ninh mạng như tường lửa (Firewall), Mạng
riêng ảo (VPN - Virtual Private Network) là những công cụ quan trọng để giữ cho
các trang web được an toàn hơn, nhưng những cơng cụ này khơng đủ để đảm bảo
an tồn an ninh cho các trang web hiện nay. Như chúng ta biết, môi trường web là
môi trường mở, nguy cơ lúc nào cũng có thể bị tấn cơng xẩy ra mất an tồn an
ninh cho trang web là rất cao. Chính vì vậy phải xây dựng một hệ thống với cơng
cụ phát hiện sớm những thay đổi bất thường không như mong muốn đồng thời đưa
ra những cảnh báo cho các nhà quản trị web để họ kịp thời có những giải pháp phù
hợp là rất cần thiết.
Hầu hết các cuộc tấn công phổ biến gần đây nhất là các cuộc tấn công nhằm
phá huỷ các trang web. Những kẻ tấn công thường sử dụng các loại mã độc (virus,


20

worm, trojan, và các mã độc hại khác…) để xóa, sửa đổi hoặc thay thế các trang
web trên các máy chủ (Web Server) với nhiều mục đích khác nhau như muốn thể
hiện khả năng của bản thân, bôi nhọ huỷ hoại uy tín của cá nhân cũng như các tổ
chức, lấy cắp các thông tin của người sử dụng khi truy cập vào Website giả mạo…
Các lỗ hổng trang web là một mục tiêu mà kẻ tấn công (hacker) thường
nhắm đến. Kẻ tấn công thường sử dụng một số công cụ tìm kiếm rộng và nhanh,
tìm ra các lỗ hổng điểm yếu của trang web (các điểm yếu cụ thể) và nhanh chóng
khai thác những điểm yếu đó.
Các cuộc tấn cơng vào các trang web chủ yếu là để:
• Thay đổi nội dung của một trang web.
• Thay đổi bất kỳ phần nào của nội dung của một trang web.
• Thay thế hồn tồn một trang web.
• Thay đổi bề ngồi của một trang web.
• Chuyển hướng một trang web.

• Phá hủy hoặc xóa một trang web.
Mục đích chính của việc theo dõi sự thay đổi nội dung trang web là phát
hiện các cuộc tấn công dựa trên biện pháp đa kiểm tra nội dung trên các trang
web. Hệ thống sẽ kiểm tra giám sát đưa ra các cảnh báo nếu như có bất kì các cuộc
tấn cơng nào làm thay đổi nội dung bất thường của các trang web.
1.4. Một số lỗ hổng an ninh trên Website
Các lỗ hổng bảo mật trên một hệ thống 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
nhậ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


21

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 NT, Windows 95, 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ó nhiều tổ chức khác nhau tiến hành phân loại các dạng lỗ hổng đặc biệt.
Theo cách phân loại của Bộ quốc phòng Mỹ, các loại lỗ hổng bảo mật trên một hệ
thống được chia như sau:
- 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 từ chối dịch vụ theo (DoS - Dinal of Services). 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 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 ở ngồi có thể
truy nhập vào hệ thống bất hợp pháp, có thể làm phá hủy tồn bộ hệ thống.

1.5. Một số kỹ thuật tấn công Website
1.5.1. Tấn cơng SQL Injection
1.5.1.1. SQL Injection là gì?
SQL injection là một kỹ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng
của việc kiểm tra dữ liệu đầu vào trong các ứng dụng web và các thông báo lỗi của
hệ quản trị cơ sở dữ liệu trả về để inject (tiêm vào) và thi hành các câu lệnh SQL
bất hợp pháp. SQL injection có thể cho phép những kẻ tấn công thực hiện các thao


22

tác, delete, insert, update,… trên cơ sở dữ liệu của ứng dụng, thậm chí là server
mà ứng dụng đó đang chạy, lỗi này thường xảy ra trên các ứng dụng web có dữ
liệu được quản lý bằng các hệ quản trị cơ sở dữ liệu như SQL Server, MySQL,
Oracle, DB2, Sysbase...

Hình 1.2. Mơ hình tấn cơng SQL Injection
1.5.1.2. Cách thức tấn cơng bằng SQL Injection
Có bốn dạng thơng thường bao gồm: Vượt qua kiểm tra lúc đăng nhập
(authorization bypass), sử dụng câu lệnh SELECT, sử dụng câu lệnh INSERT, sử
dụng các stored-procedures.
+ Dạng tấn công vượt qua kiểm tra đăng nhập (authorization bypass):
Với dạng tấn cơng này, tin tặc có thể dễ dàng vượt qua các trang đăng
nhập nhờ vào lỗi khi dùng các câu lệnh SQL thao tác trên cơ sở dữ liệu của ứng
dụng web.
Một ví dụ điển hình, thơng thường để cho phép người dùng truy cập vào các
trang web được bảo mật, hệ thống thường xây dựng trang đăng nhập để yêu cầu
người dùng nhập thông tin về tên đăng nhập và mật khẩu. Sau khi người dùng



23

nhập thông tin vào, hệ thống sẽ kiểm tra tên đăng nhập và mật khẩu có hợp lệ hay
khơng để quyết định cho phép hay từ chối thực hiện tiếp. Trong trường hợp này,
người ta có thể dùng hai trang, một trang HTML để hiển thị form nhập liệu và một
trang ASP dùng để xử lí thơng tin nhập từ phía người dùng.
Ví dụ:
CODE
<form action="ExecLogin.asp" method="post">
Username: <input type="text" name="fUSRNAME">

Password: <input type="password" name="fPASSWORD">

<input type="submit">
</form>
CODE
<%
Dim vUsrName, vPassword, objRS, strSQL
vUsrName = Request.Form("fUSRNAME")
vPassword = Request.Form("fPASSWORD")
strSQL = "SELECT * FROM T_USERS " & _
"WHERE USR_NAME=' " & vUsrName & _
" ' and USR_PASSWORD=' " & vPassword & " ' "
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN=..."
If (objRS.EOF) Then
Response.Write "Invalid login."


×