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

Nghiên cứu một số phương pháp phát hiện thay đổi nội dung trang web

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 (1.62 MB, 58 trang )

i

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

ĐẶNG HÙNG THẮNG

NGHIÊN CỨU MỘT SỐ PHƯƠNG PHÁP
PHÁT HIỆN THAY ĐỔI NỘI DUNG TRANG WEB

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

THÁI NGUYÊN, NĂM 2015


ii

LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn sâu sắc đến Thầy TS. Vũ Duy Linh người đã giúp
đỡ tôi trong suốt thời gian tôi thực hiện đề tài. Thầy đã định hướng, tạo những
điều kiện thuận lợi và đã tận tình hướng dẫn để tôi hoàn thành đề tài này.
Tôi xin gửi lời cảm ơn chân thành đến gia đình, bạn bè đã luôn là nguồn
động viên to lớn, giúp đỡ tôi trong suốt quá trình tôi thực hiện đề tài.
TÁC GIẢ LUẬN VĂN

Đặng Hùng Thắng


iii


LỜI CAM ĐOAN
Những kết quả nghiên cứu được trình bày trong luận văn là hoàn
toà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 hoàn toàn trách nhiệm
trước pháp luật.
TÁC GIẢ LUẬN VĂN

Đặng Hùng Thắng


iv

MỤC LỤC
LỜI CAM ĐOAN ....................................................................................................... i
DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT ......................................................... vi
DANH MỤC HÌNH VẼ .......................................................................................... viii
PHẦN MỞ ĐẦU: GIỚI THIỆU BÀI TOÁN THEO DÕI SỰ THAY ĐỔI NỘI DUNG
TRANG WEB ............................................................................................................. 1
Chương 1. TỔNG QUAN VỀ AN TOÀN NỘI DUNG SỐ VÀ WEBSITE .............. 2
1.1. Vấn đề đảm bảo tính an toàn của các nội dung trên internet ............................... 2
1.2. Những nguy cơ tiềm ẩn và việc bảo mật nội dung số trên internet ..................... 2
1.3. Giải pháp đảm bảo tính toàn vẹn của văn bản điện tử ......................................... 3
1.3.1. Khái niệm chữ ký số ................................................................................. 3
1.3.2. Tính lợi điểm của chữ ký sô ..................................................................... 4
1.3.3. Cách thức hoạt động của chữ ký số. ......................................................... 5
1.4. Việc đảm bảo an toàn nội dung Website trên Internet ......................................... 9
1.4.1. Mục đích tấn công trang Web .................................................................. 9
1.4.2. Các kiểu tấn công thường gặp và cách phòng chống ............................... 9
1.5. Vai trò và mục đích của việc theo dõi sự thay đổi nội dung trang web ............. 16
1.6. Kết luận chương 1 .............................................................................................. 17

Chương 2. NHỮNG PHƯƠNG PHÁP PHÁT HIỆN THAY ĐỔI NỘI DUNG ...... 18
2.1. Những vẫn đề cơ bản về Web ............................................................................ 18
2.1.1. Khái niệm cơ bản.................................................................................... 18
2.1.2. Một số mô hình kiến trúc web ................................................................ 23
2.1.3. Mô tả Website và cách hoạt động .......................................................... 27
2.1.4. Các dịch vụ và ứng dụng trên nền web .................................................. 28
2.2. Một số phương pháp đảm bảo an ninh Web ...................................................... 29
2.2.1. Đảm bảo an ninh hệ điều hành Webserver ............................................. 29
2.2.2. Bảo đảm an ninh nội dung Web ............................................................. 30
2.2.3. Sử dụng kỹ thuật xác thực và mã hóa .................................................... 31
2.2.4. Triển khai cơ sở hạ tầng mạng an ninh .................................................. 33


v

2.2.5. Quản trị Webserver ................................................................................ 34
2.3. Sử dụng dấu vân của tài liệu (Document Fingerprint) trong việc theo dõi sự thay
đổi nội dung trang Web ............................................................................................. 35
2.4. Thuật toán kiểm tra dấu vân tay tài liệu - Rabin Fingerprint ............................. 36
2.5 Kết luận chương 2 ............................................................................................... 37
Chương 3. XÂY DỰNG HỆ THỐNG PHÁT HIỆN THAY ĐỔI NỘI DUNG TRANG
WEB .......................................................................................................................... 38
3.1. Đề xuất cải tiến giải thuật Rabin Fingerprint ..................................................... 38
3.2. Hệ thống phát hiện thay đổi nội dung trang Web .............................................. 39
3.2.1. Hệ thống Builder .................................................................................... 41
3.2.2. Hoạt động Multi-checker........................................................................ 41
3.2.3. Hệ thống Self-watcher ............................................................................ 43
3.2.4. Hệ thống Admin ..................................................................................... 44
3.3. Cài đặt và thử nghiệm chương trình................................................................... 44
3.3.1. Cài đặt chương trình ............................................................................... 44

3.3.2. Thử nghiệm chương trình ....................................................................... 46
3.3.3. Nhận xét kết quả ..................................................................................... 48
3.4. Kết luận chương 3 .............................................................................................. 48
KẾT LUẬN VÀ KHUYẾN NGHỊ ........................................................................... 49
1. Kết luận ................................................................................................................. 49
2. Khuyến nghị .......................................................................................................... 49
TÀI LIỆU THAM KHẢO ......................................................................................... 50


vi

DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT
STT

Kí hiệu

01

CERT

02

PKI

03

CA

04


SQL

Tiếng việt

Tiếng anh
Computer Emegancy
Response Team

Thuật toán mã hóa
công khai
Nhà cung cấp dịch vụ
chứng thực chữ ký số

Certification Aithority

Ngôn ngữ truy vấn

Structured Query

mang tính cấu trúc

Language

Là một kiểu tấn công
05

XSS

cho phép kẻ tấn công
chèn những đoạn script


Cross Site Scripting

độc hại vào website
06

DOS

Từ chối dịch vụ

Dinal of Services

07

VPN

Mạng riêng ảo

Virtual Private Network

08

Firewall

Tường lửa

09

HTML


Ngôn ngữ đánh dấu

Hypertext Markup

siêu văn bản

Language

Kết hợp giữa giao thức
10

HTTPS

HTTP và giao thức bảo
mật SSL hay TLS

11

SSL

Giao thức bảo mật

Secure Sockets Layer

12

TLS

Giao thức bảo mật


Transport Layer Security

13

OSI

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

Open Systems
Interconnection


vii

Định vị tài nguyên

Uniform Resource

thống nhất

Locator

Ngôn ngữ đánh dấu

Xtensible Markup

mở rộng

Language


IP

Địa chỉ IP

Internet protocol

17

DNS

Hệ thống tên miền

Domain name System

18

CSDL

Cơ sở dữ liệu

14

URL

15

XML

16



viii

DANH MỤC HÌNH VẼ
Hình 1.1. Mô tả hoạt động gửi văn bản đã được ký số ..................................... 6
Hình 1.2. Mô tả hoạt động giải mã và xác minh văn bản điện tử ..................... 7
Hình 1.3. Mô hình tấn công SQL Injection .................................................... 10
Hình 1.4. Một mô hình tấn công từ chối dịch vụ DOS ................................... 14
Hình 2.1. Một số Web Server thông dụng ...................................................... 22
Hình 2.2. Mô hình kiến trúc web 1 lớp ........................................................... 23
Hình 2.3. Mô hình kiến trúc web 2 lớp ........................................................... 24
Hình 2.4. Mô hình kiến trúc web 3 lớp ........................................................... 25
Hình 2.5. Mô hình kiến trúc web N lớp .......................................................... 26
Hình 2.6. Minh hoạ giải thuật Rabin Fingerprint............................................ 37
Hình 3.1. Minh hoạ cải tiến giải thuật Rabin Fingerprint ............................... 39
Hình 3.2. Sơ đồ kiến trúc hệ thống giám sát website...................................... 41
Hình 3.3. Các thuộc tính cơ bản của tập tin .................................................... 42
Hình 3.4. Giao diện chính của hệ thông theo dõi thay đổi nội dung trang web .......45
Hình 3.5. Chương trình theo dõi 4 website đồng thời .................................... 47
Hình 3.6. Hoạt động của chức năng Advanced Mode .................................... 47


1

PHẦN MỞ ĐẦU: GIỚI THIỆU BÀI TOÁN THEO DÕI
SỰ THAY ĐỔI NỘI DUNG TRANG WEB
1. Đặt vấn đề
Cùng với sự phát triển của công nghệ thông tin, công nghệ máy tính và mạng
Internet ngày nay các dịch vụ mạng đã có mặt trong hầu hết các lĩnh vực đời
sống xã hội. Các thông tin trên Internet cũng đa dạng và phong phú, có rất nhiều

thông tin đòi hỏi yêu cầu cao về bảo mật bởi tính kinh tế, chính xác và tin cậy
của thông tin đó. Bên cạnh đó các hình thức phá hoại trên Internet cũng ngày
càng trở nên tinh vi và phức tạp hơn nhiệm vụ đặt ra cho người quản trị mạng
là hết sức quan trọng và cần thiết.
Với sự phát triển nhanh của Web và các ứng dụng trên nền Web hiện nay,
việc bảo mật an ninh thông tin cho các trang Web là hết sức quan trọng thế
nhưng không phải nhà quản trị hay nhà phát triển nào cũng chú tâm tới việc
bảo mật an ninh cho các sản phẩm của mình, chính vì vậy rất nhiều Website
hiện tại tồn tại lỗ hổng về bảo mật an ninh cao gây nguy cơ bị tấn công, thiệt
hại rất nhiều khi bị tấn công. Việc phát hiện các nguy cơ thủ công là khó, việc
người quản trị hay người phát triển muốn kiểm tra mức độ an toàn của sản phẩm
gặp phải nhiều khó khăn.
Đề tài nghiên cứu nghiên cứu xây dựng một hệ thống với công cụ phát hiện
sự thay đổi nội dung trang Web và đưa ra những cảnh bảo cho người quản trị
để có biện pháp xử lý kịp thời.


2

Chương 1. TỔNG QUAN VỀ AN TOÀN NỘI DUNG SỐ VÀ WEBSITE
1.1. Vấn đề đảm bảo tính an toàn của các nội dung trên internet
Ngày nay, cùng với sự phát triển mạnh mẽ của công nghệ thông tin là sự
ra đời hàng loạt của các dịch vụ trên internet điều đó đã mang lại cho cá nhân,
các tổ chức, các đơn vị, các doanh nghiệp rất nhiều tiện ích, thuận lợi.
Mọi người sử dụng internet như một công cụ bắt buộc trong hoạt động của
cá nhân. Các đơn vị, tổ chức, doanh nghiệp sử dụng internet trong mọi hoạt
động của đơn vị mình. Những gì internet mạng lại là rất lớn, nó là một phần
không thể thiếu trong cuộc sống hiện địa ngày nay.
Ở bất kỳ đâu, khi một máy tính có nối mạng Internet, con người có thể
thực hiện các chia sẻ, đăng tải các thông tin, mua bán, thanh toán... một cách

thuận tiện và nhanh chóng. Mọi thông tin của người dùng đều được lưu trư trên
internet. Mục tiêu chính của nối mạng là để con người có thể lưu trữ, sử dụng
tài nguyên từ nhiều vị trí địa lý khác nhau. Tài nguyên bị phân tán dẫn tới nó
dễ bị xâm phạm, gây mất mát dữ liệu cũng như các thông tin có giá trị. Điều đó
vô hình chung khiến cho internet trở thành một thứ tốt nhưng rất nguy hiểm.
Nếu như các tài nguyên đó không được bảo vệ tốt nó có thể gây nên những thiệt
hại lớn cho cá nhân cũng như tập thể. Những hiểm họa và thiệt hại phải gánh
chịu là không lường trước được.
1.2. Những nguy cơ tiềm ẩn và việc bảo mật nội dung số trên internet
Mọi nguy cơ trên mạng đều là những nguy cơ tiềm tàng, từ một lỗ hổng
bảo mật nhỏ của hệ thống nếu bị khai thác và lợi dụng có thể trở thành một tai
họa khôn lường.
Theo thống kê của CERT (Computer Emegancy Response Team) – Tổ
chức bảo mật nổi tiếng thế giới, thì số vụ tấn công ngày càng tăng và sẽ còn
tăng mạnh trong thời gian tới, thiết hại gây ra ngày càng nghiêm trọng. Điều
này là dễ hiểu vì một thực thể luôn tồ tại hai mặt đối lập, công nghệ và kỹ thuật


3

càng phát triển, sự tiện lợi mang lại lớn thì nguy cơ tấn công, phá hoại, mất cắp
thông tin ngày càng cao.
Bảo mật thông tin là vấn đề sống còn trên internet hiện nay. Vấn đề quan
tâm là:
- Tính bảo mật: Chỉ cho phép người có quyền hạn truy cập tới nó
- Tính toàn vẹn: Dữ liệu không được sửa đổi, bị xóa một cách bất hợp pháp.
- Tính sẵn sàng: Bất cứ khi nào cần dữ liệu luôn sẵn sàng
- Tính định danh: Dữ liệu chia sẻ của đúng người mà không bị giả mạo
bởi người khác.
Rất nhiều phương án bảo mật đã được đưa ra nhằm bảo vệ các nội dung

số trên internet. Hướng tới một môi trường internet an toàn, lành mạnh.
1.3. Giải pháp đảm bảo tính toàn vẹn của văn bản điện tử
1.3.1. Khái niệm chữ ký số
Trên môi trường mạng, bất cứ dạng thông tin nào được sử dụng để nhận
biết một con người đều được coi là chữ ký điện tử. Ví dụ, 1 đoạn âm thanh hoặc
hình ảnh được chèn vào cuối e-mail, đó cũng là chữ ký điện tử.
Chữ ký số là một dạng chữ ký điện tử, an toàn nhất và cũng được sử dụng
rộng rãi nhất. Chữ ký này hình thành dựa trên kỹ thuật mã khoá công khai
(PKI), theo đó mỗi người sử dụng cần có một cặp khóa bao gồm khóa bí mật
và công khai. Người chủ chữ ký sử dụng khoá bí mật để tạo chữ ký số (trên cơ
sở kết hợp với nội dung thông điệp dữ liệu), ghép nó với thông điệp dữ liệu và
gửi đi. Người nhận dùng mã công khai giải mã chữ ký số để biết được người
đó là ai. Tất cả quy trình ký và giải mã chữ ký số đều được thực hiện bằng phần
mềm. Điểm quan trọng là các cặp khóa trên do những nhà cung cấp dịch vụ
chứng thực chữ ký số (Certification Aithority - CA) cấp (hoặc xác minh là đủ
điều kiện an toàn) sau khi đã kiểm tra, xác minh chủ của nó (cá nhân, tổ chức)
là có thực. Đồng thời, nhà cung cấp dịch vụ cũng giao cho cá nhân, tổ chức đó


4

một chứng thư số - tương đương như chứng minh thư nhân dân hay giấy xác
nhận sự tồn tại của cơ quan, tổ chức trên môi trường mạng. Chứng thư đó có
chứa khóa công khai của tổ chức, cá nhân và được duy trì tin cậy trên cơ sở dữ
liệu của nhà cung cấp dịch vụ chứng thực, do vậy người nhận có thể truy cập
vào cơ sở dữ liệu đó để xác minh xem đúng là có người đó hay không.
1.3.2. Tính lợi điểm của chữ ký sô
1.3.2.1. Tính bí mật
Tính bí mật có nghĩa là sự bí mật, riêng tư của dữ liệu được đảm bảo bằng
các biện pháp mật mã hoá. Các thông tin cá nhân của khách hàng, các dữ liệu

về hợp đồng, luật pháp là những ví dụ cơ bản về những dữ liệu cần phải được
giữ bí mật sử dụng mật mã hoá. Việc mã hoá dữ liệu có thể được thực hiện
bằng mã hoá đối xứng hoặc phi đối xứng. Vì mật mã phi đối xứng không hiệu
quả bằng mã hoá đối xứng để mã hoá lượng dữ liệu lớn, nó thường được dùng
để mã hoá các đối tượng nhỏ như khoá bí mật của hệ thống mã hoá đối xứng.
Các hệ thống mã hoá đối xứng thường được sử tích hợp với PKI để mã hoá dữ
liệu lớn.
1.3.2.2. Tính toàn vẹn
Tính toàn vẹn có nghĩa là dữ liệu không bị sửa đổi hay nội dung giao dịch
không bị thay đổi trên đường truyền. Các chứng thư số và các phong bì chữ ký
số là những ví dụ cho những dữ liệu phải được đảm bảo tính toàn vẹn. Thông
thường, nội dung của các thông điệp, email, các giao dịch mua bán và các thông
tin mà các bên khác phải dựa vào phải được đảm bảo tính toàn vẹn. Tính toàn
vẹn có thể được cung cấp bởi PKI sử dụng mã hoá phi đối xứng hoặc đối xứng.
Chú ý rằng, giải pháp sử dụng mật mã đối xứng để đảm bảo tính toàn vẹn không
dễ dàng mở rộng. Thuật toán mã hoá công khai thường được sử dụng cùng với
một thuật toán băm như SHA-1 hoặc MD5 để cung cấp khả năng toàn vẹn. Một
hệ thống PKI được thiết kế tốt sẽ phải sử dụng các giao thức bắt buộc có sử


5

dụng các thuật toán này để cung cấp một phương pháp đảm bảo tính toàn vẹn
một cách hiệu quả.
1.3.2.3. Tính xác thực
Xác thực có nghĩa là kiểm tra xem danh tính của các thực thể bằng cách
sử dụng các chứng thư số và chữ ký số. Việc xác thực trong môi trường thương
mại điện tử được thực hiện rất tốt bởi các hệ thống mã hoá khoá công khai.
Thực tế, mục đích chính của việc chứng thực trong một hệ thống PKI là để hỗ
trợ việc xác thực từ xa giữa các thực thể không biết nhau, sử dụng chứng thư

số và cây tin tưởng CA. Chứng thực trong một môi trường PKI dựa trên mối
quan hệ toán học giữa khoá bí mật và khoá công khai. Các thông điệp được ký
bởi một thực thể này có thể kiểm tra bởi bất kỳ một bên tin tưởng nào. Bên tin
tưởng có thể chắc chắn rằng chỉ có người chủ của khoá bí mật là người tạo ra
thông điệp đó, bởi vì chỉ có người đó bởi có quyền truy xuất đến khoá bí mật.
1.3.2.4. Tính chống chối bỏ
Chống chối bỏ đảm bảo rằng dữ liệu hoặc một giao dịch không thể bị chối
bỏ. Điều này được thực hiện thông qua mật mã hoá công khai bằng ký số.
Chống chối bỏ là một tính chất bảo mật cực kì quan trọng trong bất kì một ứng
dụng thương mại điện tử nào mà tiền được trao đổi, các điều khoản về hợp
đồng, pháp luật, được thương lượng. Chống chối bỏ là một sản phẩm của việc
sử dụng mã hoá khoá công khai. Khi dữ liệu được ký số bằng cách sử dụng
khoá bí mật, bất kì ai có khoá công khai tương ứng với khoá bí mật đó đều có
thể xác định được chủ nhân của cặp khoá có ký dữ liệu đó không. Chủ nhân
của thông điệp dữ liệu không thể chối bỏ thông điệp đó một khi anh ta ký vào
thông điệp đó.
1.3.3. Cách thức hoạt động của chữ ký số.
Dưới đây một ví dụ điển hình về nguyên lý hoạt động của chữ ký số và
mã hóa trong việc đảm bảo tính toàn vẹn, bí mật của văn bản điện tử.


6

1.3.3.1. Các bước để ký số và mã hóa một văn bản điện tử
Hình bên dưới cho ta thấy các hoạt động xảy ra trong quá trình mà Alice
muốn gửi một văn bản đã được ký số và mã hóa cho Bob

Hình 1.1. Mô tả hoạt động gửi văn bản đã được ký số
1) Ký số lên văn bản điện tử: Việc ký số lên văn bản điện tử bao gồm các bước
sau:

a) Đánh giá giá trị hàm băm của văn bản điện tử: Mục đích chính của việc
đánh giá giá trị hàm băm của văn bản điện tủ đó là bảo đảm rằng văn bản điện
tử không bị thay đổi bằng bất kỳ hình thức nào, hay còn gọi là bảo đảm tính
toàn vẹn của văn bản điện tử.
b) Giá trị hàm băm chữ ký số: Một chữ ký số thực chất là một quá trình
mã hóa sử dụng khóa bí mật của người ký. Quá trình ký số thực chất là sử dụng
một thuật toán mã hóa. Trong quá trình này khóa công khai của người ký cũng
được gửi kèm theo để người nhận có thể giải mã và xác minh chữ ký số và thuật
toán hàm băm. Những thuộc tính của sự mã hóa khóa công khai và thuật toán
hàm băm cho phép người nhận văn bản điện tử biết:
+ Khóa bí mật của người gửi đã mã hóa giá trị hàm băm.
+ Văn bản điện tử được bảo vệ khỏi mọi sự thay đổi.


7

2) Sự mã hóa văn bản điện tử: mã hóa bao gồm 3 bước:
a) Tạo ra một sự mã hóa đối xứng sử dụng một lần. Chúng ta cần lưu ý
rằng việc sử dụng thuật toán mã hóa và giải mã phi đối xứng mất rất nhiều thời
gian cho các văn bản điện tử với dung lượng lớn; chính vì vậy thuật toán mã
hóa đối xứng được sử dụng trong trường hợp này.
b) Mã hóa văn bản điện tử: Toàn bộ văn bản điện tử (bao gồm bản thân
văn bản điện tử và chữ ký số) được mã hóa sử dụng SymK, thuật toán mã hóa
đối xứng.
c) Sự mã hóa đối xứng: SymK cũng được sử dụng bởi người nhận văn bản
điện tử để giải mã văn bản. Chính vì vậy SymK phải được gửi kèm cho người
nhận, trong trường hợp này là Bob. Cách để giấu SymK, mà chỉ Bob mới biết
được đó chính là mã hóa nó sử dụng khóa công khai của người nhận, là khóa
công khai của Bob.
1.3.3.2. Các bước cho việc giải mã và xác minh chữ ký số của văn bản điện tử

Hình bên dưới cho thấy các hoạt động khi Bob muốn giải mã và xác minh
văn bản điện tử được gửi bởi Alice.

Hình 1.2. Mô tả hoạt động giải mã và xác minh văn bản điện tử


8

1) Giải mã văn bản điện tử: Việc giải mã văn bản điện tử bao gồm các
bước sau:
a) Giải mã khóa đối xứng: Khóa đối xứng sử dụng một lần được sử dụng
để mã hóa văn bản điện tử. Khóa này (SymK) đã được mã hóa sử dụng khóa
công khai của Bob. Chỉ có Bob mới có thể giải mã SymK và sử dụng nó để giải
mã văn bản.
b) Giải mã văn bản điện tử: Văn bản điện tử (bao gồm bản thân văn bản
điện tử và chữ ký số) được giải mã sử dụng SymK
2) Xác thực chữ ký số: Quá trình xác thực chữ ký số bao gồm 3 bước sau:
a) Giải mã giá trị hàm băm của văn bản điện tử: giá trị hàm băm đã được
mã hóa sử dụng khóa bí mật của Alice. Giá trị hàm băm sẽ được giải mã sử
dụng khóa công khai gửi kèm với văn bản điện tử.
b) Đánh giá giá trị hàm băm: Do quá trình băm chỉ là quá trình xử lý một
chiều nghĩa là văn bản điện tử không thể xem được từ giá trị hàm băm của nó,
người nhận phải đánh giá lại giá trị hàm băm sử dụng cùng thuật toán băm mà
người gửi đã sử dụng.
c) So sánh giá trị hàm băm: Giá trị hàm băm đã được giải mã ở bước a) và
giá trị hàm băm đã được đánh giá ở bước b) được mang ra so sánh. Nếu giống
nhau, chữ ký số đã được xác minh, và người nhận có thể chấp nhận văn bản
điện tử đó và chắc chắn rằng nó chưa bị thay đổi từ khi người gửi gửi nó đi.
Nếu hai giá trị trên mà không giống nhau, điều đó có nghĩa:
+ Văn bản điện tử chưa được ký số bởi người gửi

+ Văn bản điện tử đã bị thay đổi.
+ Trong cả hai trường hợp, thì văn bản điện tử nên bị từ chối.
Việc sử dụng chữ ký số để có thể đảm bảo tính toàn vẹn của văn bản điện
tử cũng như xác minh được người gửi văn bản đã thực sự giải quyết được bài


9

toán mà bấy lâu nay chúng ta vẫn còn băn khoăn và e ngại khi chuyển từ văn
bản giấy sang sử dụng văn bản điện tử.
Các cơ quan, tổ chức, cá nhân có thể yên tâm và áp dụng chữ ký số để có
thể gửi và nhận văn bản điện tử, tạo nên một môi trường làm việc hiện đại,
minh bạch, giảm giấy tờ, góp phần cải cách thủ tục hành chính, tăng năng suất
lao động.
1.4. Việc đảm bảo an toàn nội dung Website trên Internet
1.4.1. Mục đích tấn công trang Web
Bên cạnh việc bảo vệ tính toàn vẹn, xác thực cho các tài liệu trên Internet.
Việc bảo mật, đảm bảo toàn vẹn nội dung của các Website trên Internet đã và
đang là vấn đề cấp thiết trong môi trường mạng hiện nay.
Với sự phát triển vũ bão của Internet, gần như tất cả các đơn vị, cơ quan,
tổ chức, hay một phần nào đó là các cá nhân hiện nay đều có Website. Nội dung
trên Website đó được định danh cho các tổ chức, cá nhân là bộ mặt, tiếng nói
của các tổ chức cá nhân đó.
Khi kẻ xấu tấn công trang Web thường với mục đích
+ Đánh cắp các thông tin trên Web
+ Phá hoại, làm hỏng hệ thống
+ Thay đổi các nội dung trên Web
Dù với mục đích nào thì hậu quả, thiệt hại cũng là rất lớn. Việc đảm bảo
tính bảo mật của một Website, đảm bảo sự hoạt động, bảo toàn nội dung
Website là vấn đề đặt ra với mọi người quản trị.

1.4.2. Các kiểu tấn công thường gặp và cách phòng chống
1.4.2.1. Tấn công SQL Injection
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
trong việc kiểm tra dữ liệu nhập 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 để "tiêm vào" (inject) và thi hành các câu lệnh


10

SQL bất hợp pháp (không được người phát triển ứng dụng lường trước). Hậu
quả của nó rất tai hại vì nó cho phép những kẻ tấn công có thể thực hiện các
thao tác xóa, hiệu chỉnh, … do có toàn quyền trên cơ sở dữ liệu của ứng dụng,
thậm chí là máy chủ (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.3. Mô hình tấn công SQL Injection
Các dạng 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.
+ Dạng tấn công sử dụng câu lệnh SELECT:


11


Dạng tấn công này phức tạp hơn. Để thực hiện được kiểu tấn công này, kẻ
tấn công phải có khả năng hiểu và lợi dụng các sơ hở trong các thông báo lỗi
từ hệ thống để dò tìm các điểm yếu khởi đầu cho việc tấn công.
+ Dạng tấn công sử dụng câu lệnh INSERT
Thông thường các ứng dụng web cho phép người dùng đăng kí một tài
khoản để tham gia. Chức năng không thể thiếu là sau khi đăng kí thành công,
người dùng có thể xem và hiệu chỉnh thông tin của mình. SQL injection có thể
được dùng khi hệ thống không kiểm tra tính hợp lệ của thông tin nhập vào.
+ Dạng tấn công sử dụng stored-procedures
Việc tấn công bằng stored-procedures sẽ gây tác hại rất lớn nếu ứng dụng
được thực thi với quyền quản trị hệ thống 'sa'. Ví dụ, nếu ta thay đoạn mã tiêm
vào dạng: ' ; EXEC xp_cmdshell „cmd.exe dir C: '. Lúc này hệ thống sẽ thực
hiện lệnh liệt kê thư mục trên ổ đĩa C:\ cài đặt server. Việc phá hoại kiểu nào
tuỳ thuộc vào câu lệnh đằng sau Command Prompt.


12

Cách phòng chống tấn công SQL
- Kiểm soát chặt chẽ dữ liệu nhập vào
Để phòng tránh các nguy cơ có thể xảy ra, hãy bảo vệ các câu lệnh SQL
là bằng cách kiểm soát chặt chẽ tất cả các dữ liệu nhập nhận được từ đối tượng
Request.
- Thiết lập cấu hình an toàn cho hệ quản trị cơ sở dữ liệu
Cần có cơ chế kiểm soát chặt chẽ và giới hạn quyền xử lí dữ liệu đến tài
khoản người dùng mà ứng dụng web đang sử dụng.
1.4.2.2. Tấn công XSS (Cross Site Scripting)
Cross-Site Scripting hay còn được gọi tắt là XSS là một kĩ thuật tấn công
bằng cách chèn vào các website động (ASP, PHP, CGI, JSP ...) những đoạn mã
script nguy hiểm để thực thi 1 câu lệnh nào đó. Trong đó, những đoạn mã nguy

hiểm đựơc chèn vào hầu hết được viết bằng các Client-Site Script như
JavaScript, JScript, DHTML và cũng có thể là cả các thẻ HTML.
Về cơ bản XSS cũng như SQL Injection hay Source Injection, nó cũng là
các yêu cầu (request) được gửi từ các máy trạm (client) tới máy chủ (server)
nhằm chèn vào đó các thông tin vượt quá tầm kiểm soát của máy chủ.
Phòng chống tấn công bằng XSS
Người ta không lường hết được mức độ nguy hiểm của XSS nhưng cũng
không quá khó khăn để ngăn ngừa XSS. Có rất nhiều cách để có thể giải quyết
vấn đề này như:
+ Chỉ chấp nhận những dữ liệu hợp lệ.
+ Từ chối nhận các dữ liệu hỏng.
+ Liên tục kiểm tra và thanh lọc dữ liệu.
Tuy nhiên trên thực tế, một số trường hợp bạn phải chấp nhận mọi loại dữ
liệu hay không có một bộ lọc phù hợp. Chính vì vậy phải có những cách riêng
để giải quyết. Một trong những cách hay sử dụng là bạn mã hoá các kí tự đặc


13

biệt trước khi in ra website, nhất là những gì có thể gây nguy hiểm cho người
sử dụng.
Với phương pháp này cũng có thể áp dụng đối với các ngôn ngữ Web
Application khác (ASP, PHP...). Để kiểm tra việc lọc và mã hoá dữ liệu trước
khi in ra, các bạn có thể dùng một chương trình được viết bằng ngôn nhữ PHP,
đặc biệt nó được thiết kế để phòng chống các lỗi XSS.
1.4.2.3. Tấn công từ chối dịch vụ DOS (Denial of Service)
- Tấn công DOS là một kiểu tấn công mà một người làm cho một hệ
thống không thể sử dụng, hoặc làm cho hệ thống đó chậm đi một cách đáng kể
với người dùng bình thường, bằng cách làm quá tải tài nguyên của hệ thống.
- Nếu kẻ tấn công không có khả năng thâm nhập được vào hệ thống, thì

chúng cố gắng tìm cách làm cho hệ thống đó sụp đổ và không có khả năng
phục vụ người dùng bình thường đó là tấn công từ chối dịch vụ (Denial of
Service-DOS). Mặc dù tấn công DOS không có khả năng truy cập vào dữ
liệu thực của hệ thống nhưng nó có thể làm gián đoạn các dịch vụ mà hệ
thống đó cung cấp. Như định nghĩa trên DOS khi tấn công vào một hệ thống
sẽ khai thác những điểm yếu nhất của hệ thống để tấn công.
Mục đích của tấn công DOS
- Mục đích của tấn công DOS cố gắng chiếm băng thông mạng và làm hệ
thống mạng bị ngập (flood), khi đó hệ thống mạng sẽ không có khả năng đáp
ứng những dịch vụ khác cho người dùng bình thường.
- Cố gắng làm ngắt kết nối giữa hai máy, và ngăn chặn quá trình truy cập
vào dịch vụ.
- Cố gắng ngăn chặn những người dùng cụ thể vào một dịch vụ nào đó
- Cố gắng ngăn chặn các dịch vụ không cho người khác có khả năng truy
cập vào. Khi tấn công DOS xảy ra người dùng có cảm giác khi truy cập vào
dịch vụ đó như bị:


14

+

Tắt mạng (Disable Network )

+

Tổ chức không hoạt động (Disable Organization)

+


Tài chính bị mất (Financial Loss)

Như chúng ta biết tấn công DOS xảy ra khi kẻ tấn công sử dụng hết tài
nguyên của hệ thống và hệ thống không thể đáp ứng cho người dùng bình
thường được, mục đích kẻ tấn công là:
- Tạo ra sự khan hiếm, những giới hạn và không đổi mới tài nguyên.
- Băng thông của hệ thống mạng (Network Bandwidth), bộ nhớ, ổ đĩa, và
cấu trúc dữ liệu đều là mục tiêu của tấn công DOS.
- Tấn công vào hệ thống khác phục vụ cho mạng máy tính như: hệ
thống điều hoà, hệ thống điện, hệt thống làm mát và nhiều tài nguyên khác
của doanh nghiệp.
- Phá hoại hoặc thay đổi các thông tin cấu hình.
- Phá hoại tầng vật lý hoặc các thiết bị mạng như nguồn điện, điều hoà…

Hình 1.4. Một mô hình tấn công từ chối dịch vụ DOS
Phòng chống tấn công DOS
Có ba giai đoạn chính trong quá trình phòng chống tấn công DOS:
- Giai đoạn ngăn ngừa: tối thiểu hóa lượng Agent, tìm và vô hiệu hóa các
Handler


15

- Giai đoạn đối đầu với cuộc tấn công: Phát hiện và ngăn chặn cuộc tấn
công, làm suy giảm và dừng cuộc tấn công, chuyển hướng cuộc tấn công.
- Giai đoạn sau khi cuộc tấn công xảy ra: thu thập chứng cứ và rút kinh nghiệm.
Các giai đoạn chi tiết trong phòng chống DOS:
Tối thiểu hóa số lượng Agent:
- Từ phía người dùng (user): một phương pháp rất tốt để năng ngừa tấn
công DOS là từng người dùng mạng sẽ tự đề phòng không để bị lợi dụng tấn

công hệ thống khác. Muốn đạt được điều này thì ý thức và kỹ thuật phòng
chống phải được phổ biến rộng rãi cho các người dùng mạng. Các người dùng
mạng phải liên tục thực hiện các quá trình bảo mật trên máy vi tính của mình.
Một số giải pháp tích hợp sẵn khả năng ngăn ngừa việc cài đặt đoạn mã (code)
nguy hiểm v ào p h ầ n c ứ n g ( hardware) và phần mềm ( software) của từng
hệ thống. Về phía người dùng mạng họ nên cài đặt và cập nhật liên tục các
phần mềm phòng chống virus, các bản sửa lỗi của hệ điều hành.
Tìm và vô hiệu hóa các bộ xử lý (handler):
Một nhân tố vô cùng quan trọng trong t ấ n c ô n g m ạ n g ( attacknetwork) là bộ xử lý ( h andler), nếu có thể phát hiện và vô hiệu hóa bộ xử lý
thì khả năng phòng chống tấn công DOS thành công là rất cao.
Làm suy giảm hay dừng cuộc tấn công:
Dùng các kỹ thuật sau:
- Thiết lập kiến trúc cân bằng tải trọng điểm cho các máy chủ (Load
balancing): sẽ làm gia tăng thời gian chống chọi của hệ thống với cuộc tấn
công DOS. Tuy nhiên, điều này không có ý nghĩa lắm về mặt thực tiễn vì quy
mô của cuộc tấn công là không có giới hạn.
- Thiết lập cơ chế điều tiết trên bộ định tuyến (Throttling): quy định một
khoảng tải hợp lý mà máy chủ bên trong có thể xử lý được. Phương pháp này
cũng có thể được dùng để ngăn chặn khả năng DOS không cho người dùng truy


16

cập dịch vụ.
- Thiết lập cơ chế huỷ yêu cầu (drop request): nếu nó vi phạm một số
quy định như: thời gian trễ (delay) kéo dài, tốn nhiều tài nguyên để xử lý,
gây ra sự tắc nghẽn (deadlock). Kỹ thuật này triệt tiêu khả năng làm cạn kiệt
năng lực hệ thống, tuy nhiên nó cũng giới hạn một số hoạt động thông thường
của hệ thống, cần cân nhắc khi sử dụng.
Chuyển hướng của cuộc tấn công:

Honeypots: Một kỹ thuật đang được nghiên cứu là Honeypots. Honeypots
là một hệ thống được thiết kế nhằm đánh lừa kẻ tấn công (attacker) tấn công
vào khi xâm nhập hệ thống mà không chú ý đến hệ thống quan trọng thực sự.
Honeypots rất hiệu quả trong việc phát hiện và xử lý xâm nhập, vì trên
Honeypots đã thiết lập sẵn các cơ chế giám sát và báo động.
Ngoài ra Honeypots còn có giá trị trong việc học hỏi và rút kinh nghiệm
từ kẻ tấn công, do Honeypots ghi nhận khá chi tiết mọi động thái của kẻ
tấn công trên hệ thống. Nếu kẻ tấn công bị đánh lừa và cài đặt Agent hay
Handler lên Honeypots thì khả năng bị triệt tiêu toàn bộ sự tấn công là rất cao.
1.5. 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 toà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 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.


17

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, 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ế hoàn toàn một trang web.
• Thay đổi bề ngoà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.6. Kết luận chương 1
Trong chương 1 luận văn đã đánh giá tổng quan tình hình mất an ninh, an
toàn trên nền web. Phương thức được sử dụng nhằm đảm bảo tính toàn vẹn của
các tài liệu trên Internet. Trong chương tiếp theo, tác giả sẽ tiếp tục tìm hiểu
một số khái niệm cơ bản, mô hình kiến trúc Web, thuật toán theo dõi sử sự bảo
toàn thông tin tài liệu trên Web.


×