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

ứng dụng biểu thức chính quy trong bảo mật 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 (5.82 MB, 95 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

BÁO CÁO TỔNG KẾT
ĐỀ TÀI KH&CN CẤP TRƯỜNG

ỨNG DỤNG BIỂU THỨC CHÍNH QUY
TRONG BẢO MẬT WEB
S

K

C

0

0

3

9

5

9

MÃ SỐ: T2011 - 97

S KC 0 0 3 3 9 2


Tp. Hồ Chí Minh, 2011


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

BÁO CÁO TỔNG KẾT

ĐỀ TÀI KH&CN CẤP TRƢỜNG

ỨNG DỤNG BIỂU THỨC CHÍNH QUY
TRONG BẢO MẬT WEB
Mã số: T2011-97

Chủ nhiệm đề tài: GVC Ths. NGUYỄN MINH ĐẠO

TP. HCM, 11/2011


TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO TỔNG KẾT

ĐỀ TÀI KH&CN CẤP TRƢỜNG

ỨNG DỤNG BIỂU THỨC CHÍNH QUY
TRONG BẢO MẬT WEB

Mã số: T2011-97

Chủ nhiệm đề tài: GVC ThS. NGUYỄN MINH ĐẠO
Thành viên đề tài: GVC ThS. NGUYỄN MINH ĐẠO

TP. HCM, 11/2011


MỤC LỤC
PHẦN MỞ ĐẦU ................................................................................................................ 10
1.

Tính cấp thiết của đề tài ................................................................................................ 1

2.

Đặt vấn đề ...................................................................................................................... 2

3.

Giải quyết vấn đề ........................................................................................................... 2

4.

Mục Tiêu đề tài .............................................................................................................. 2

PHẦN THỨ 1: TÌM HIỂU VỀ CƠ SỞ LÝ THUYẾT BẢO MẬT .................................... 3
CHƢƠNG 1: TỔNG QUAN VỀ TÌNH HÌNH AN NINH MẠNG .................................... 3
1.1. NHỮNG ĐẶC ĐIỂM VÀ XU HƢỚNG AN NINH MẠNG .................................... 3
1.1.1. Đặc điểm tình hình an ninh mạng trong những năm gần đây ........................... 3

1.1.2. Những xu hƣớng và thách thức an toàn mạng ................................................... 4
1.1.3. Những vấn đề về các lỗ hổng của Website ........................................................ 6
1.2. VẤN ĐỀ BẢO MẬT WEBSITE ............................................................................... 8
CHƢƠNG 2: LÝ THUYẾT VỀ WEBSITE VÀ BẢO MẬT WEBSITE ................... 10
2.1. WEB SERVER ........................................................................................................ 10
2.1.1. Webserver là gì? ............................................................................................... 10
2.1.2. Cơ chế hoạt động của Webserver .................................................................... 11
2.2. WEB APPLICATION .............................................................................................. 17
2.2.1. Web application là gì?...................................................................................... 17
2.2.2. Cấu trúc Web Application? .............................................................................. 17
2.2.3. Các ứng dụng Web và lợi ích? ......................................................................... 18
2.3. CÁC LỖ HỔNG WEB ............................................................................................ 21
2.3.1. Cross-Site Scripting (XSS) .............................................................................. 21


2.3.1.1. Cross-Site Scripting là gì ? ........................................................................ 21
2.3.1.3. Khai thác lỗi XSS ...................................................................................... 24
2.3.1.4. Cách phát hiện XSS: .................................2Error! Bookmark not defined.
2.3.1.5. Các biện pháp ngăn ngừa XSS ................................................................. 27
2.3.2. Session hijacking (Bắt cóc phiên nối): ........................................................ 28
2.3.2.1. Session hijacking tại lớp mạng (TCP Session hijacking): ...................... 28
2.3.2.2. Session hijacking: ..................................................................................... 29
2.3.2.3. Session ID ................................................................................................. 29
2.3.2.4. Cookie? ...................................................................................................... 29
2.3.3. SQL Injection : ............................................................................................... 30
2.3.3.1. SQL Injection là gì? .................................................................................. 30
2.3.3.2 Hoạt động của SQL Injection ..................................................................... 31
2.3.3.3 Dò tìm lỗ hổng SQL injection trên Web..................................................... 32
2.3.3.4 Tại sao „or 1=1-- có thể by pass ................................................................. 32
2.3.3.5 Nhận data qua „database using ODBC error message‟ ............................. 33

2.3.3.6 Thu thập các dữ liệu quan trọng ................................................................ 34
2.3.3.7 Ngăn chặn lỗi SQL Injection ..................................................................... 35
2.3.4. Web Shell ......................................................................................................... 35
2.3.4.1. Giới thiệu về Shell ..................................................................................... 35
2.3.4.2. Cách hoạt động của Shell .......................................................................... 36
2.3.4.3. Chức năng của Shell .................................................................................. 36
2.3.4.4. Dùng shell để tấn công (Local Attack) ..................................................... 36
2.3.5. Path Traversal .................................................................................................. 40
2.3.5.1. Path Traversal là gì? .................................................................................. 40
2.3.5.2. Khai thác Path Traversal ............................................................................ 40
2.3.5.3 Phòng chống Path Traversal ........................................................................ 42
2.3.6. Tấn công từ chối dịch vụ (Dos &DDoS) ........................................................... 43
CHƢƠNG 3: TỔNG QUAN VỀ MODSECURITY ......................................................... 45


3.1. TỔNG QUAN TƢỜNG LỬA ỨNG DỤNG ........................................................... 45
3.1.1. Tổng quan về tƣờng lửa và ứng dụng của tƣờng lửa ......................................... 45
3.1.2.1. Công nghệ Proxy services .......................................................................... 46
3.1.2.2. Công nghệ máy chủ ủy quyền chuyên biệt ................................................. 47
3.1.2.3. Công nghệ hỗn hợp ..................................................................................... 47
3.2. MODSECURITY ..................................................................................................... 48
3.2.1. Giới thiệu chung về Modsecurity ...................................................................... 48
3.2.2.Các tính năng và vai trò của Modsecurity .......................................................... 49
3.2.2.1. Lọc (Filter), phân tích và ghi nhật ký (log) luồng dữ liệu HTTP ............... 49
3.2.2.2.Giám sát theo thời gian thực và phát hiện tấn công ..................................... 51
3.2.2.3.Phòng chống tấn công và vá lỗi ................................................................... 51
3.2.2.4. Tính linh hoạt của Ruler engine (lọc) ......................................................... 52
3.2.2.5. Phát triển các mẫu nhúng ........................................................................... 52
3.2.2.6.Triển khai mạng cơ bản ................................................................................ 52
3.2.3.Cách thức hoạt động của Modsecurity............................................................... 53

3.2.4.Kiến trúc thành phần của modsecurity .......................................................... 53
3.2.4.1. Modsecurity core rule ................................................................................ 53
3.2.4.1.1. Tổng quan về Core rule ...................................................................... 53
1.2.4.1.2. Nội dung Core rule .............................................................................. 53
1.2.4.1.3. Cấu trúc của Core rule ......................................................................... 53
3.2.4.2.1 Secrule Engine ...................................................................................... 54
3.2.4.2.2 SecAction .............................................................................................. 55
3.2.4.2.3. SecRule ................................................................................................ 55
3.2.4.2.4 Các biến trong Rules ............................................................................ 56
3.2.4.2.5 SecArgumentSeparator ........................................................................ 57
3.2.4.2.6 SecAuditEngine .................................................................................... 58
3.2.4.2.7 SecAuditLog ......................................................................................... 58
3.2.4.2.8 SecAuditLogParts ................................................................................. 58
3.2.4.2.9 SecAuditLogRelevantStatus ................................................................ 59


3.2.4.2.10 SecAuditLogStorageDir ..................................................................... 59
3.2.4.2.11 SecAuditLogType .............................................................................. 60
3.2.4.3. Các pha xử lý .............................................................................................. 60
3.2.4.3.1. Phase Request Headers ....................................................................... 60
3.2.4.3.2. Phase Request body ............................................................................. 61
3.2.4.3.3. Phase Response headers ...................................................................... 61
3.2.4.3.4. Phase Response body .......................................................................... 61
3.2.4.3.5. Phase Logging ..................................................................................... 61
3.2.4.4 Các biến (Variables) ................................................................................... 62
3.2.4.5 Các hàm chuyển đổi .................................................................................... 65
3.2.4.6. Hành động (Action) ................................................................................... 66
3.2.4.6.1. Primary Actions ................................................................................... 66
3.2.4.6.2. Secondary Actions............................................................................... 67
3.2.4.6.3. Flow Action ......................................................................................... 68

3.2.4.6.4. Default Action ...................................................................................... 69
3.2.4.7 Logging ........................................................................................................ 69
3.2.5. Xây dựng một số Rules phát hiện và phòng chống tấn công nguy hiểm .. 72
3.2.5.1. HTML Tags ................................................................................................ 72
3.2.5.2. SQL Injection ............................................................................................. 72
3.2.5.3. XSS Attack ................................................................................................. 73
3.2.5.4. Command Excution and file disclosure .................................................... 73
3.2.5.5. Bad User-Agent .......................................................................................... 73
PHẦN THỨ 2: CƠ SỞ THỰC HÀNH XÂY DỰNG MODSECURITY TRÊN WEB
SERVER APACHE ............................................................................................................. 75
CHƢƠNG 4: CÀI ĐẶT VÀ SỬ DỤNG MODSECURITY TRÊN WEBSERVER
APACHE ............................................................................................................................. 75
4.1. CÁC MÔ HÌNH BẢO MẬT ................................................................................... 75


4.1.1. NON – DMZ ................................................................................................... 75
4.1.2. DMZ ................................................................................................................ 78
4.1.3. Mô hình triển khai thực tế ............................................................................ 80
4.2. CÀI ĐẶT ................................................................................................................. 81
4.2.1. Cài đặt Apache2................................................................................................ 81
4.2.2. Cài đặt PHP5 .................................................................................................... 83
4.2.3. Cài đặt MySQL ................................................................................................. 86
4.2.4. Cài đặt Modsecurity ......................................................................................... 88
4.2.5. Cấu hình cho Modsecurity ............................................................................... 95
TỔNG KẾT VÀ ĐÁNH GIÁ .............................................................................................. 98
TÀI LIỆU THAM KHẢO ................................................................................................... 99


MỤC LỤC BẢNG
Bảng 1- Cấu hình các thành phần trong triển khai ............................................................ 80



MỤC LỤC HÌNH
Hình 1- Thống kê các cuộc tấn công Website từ nƣớc ngoài vào ViệtNam từ 2002 đến 2007 (trích
dẫn nguồn VNCERT, trang 11) ........................................................................................................ 7
Hình 2- Web Server ......................................................................................................................... 10
Hình 3- Công nghệ Webserver và Database ................................................................................... 13
Hình 4- Công nghệ Webserver tách Database ................................................................................ 14
Hình 5- Công nghệ giải pháp hệ thống lâu dài bền vững ................................................................ 15
Hình 6- Đồng bộ dữ liệu .................................................................................................................. 16
Hình 7- Cấu trúc Web Application.................................................................................................. 18
Hình 8- Cách thức hoạt động của XSS ........................................................................................... 23
Hình 9- Mô hình tấn công DDoS .................................................................................................... 44
Hình 10- Tƣờng lửa ......................................................................................................................... 45
Hình 11- Mô hình tổng quan Modsecurity ..................................................................................... 48
Hinh 12- Kiểm soát HTTP Traffic ................................................................................................. 49
Hình 13- Hoạt động của Modsecurity ............................................................................................. 53
Hình 14- Các pha xử lý.................................................................................................................... 60
Hình 15- Mô hình NON – DMZ ..................................................................................................... 75
Hình 16- Mô hình DMZ .................................................................................................................. 78
Hình 17- Mô hình Modsecurity trên local server ........................................................................... 80
Hình 18- Lệnh cài đặt Apache2 ....................................................................................................... 81
Hình 19- Chỉnh sửa file httpd.conf .................................................................................................. 82
Hình 20- Cài đặt Apache2 thành công ............................................................................................ 83
Hình 21- Cài đặt PHP5 .................................................................................................................... 83
Hình 22- Khởi động lại Apache ...................................................................................................... 84
Hình 23- Kiểm tra hoạt động PHP .................................................................................................. 85
Hình 24- PHP đã hoạt động ............................................................................................................. 86
Hình 25- Cài đặt MySQL ................................................................................................................ 68
Hình 26- Cài đặt phpmyadmin ........................................................................................................ 87

Hình 27- Phpmyadmin hoạt động.................................................................................................... 88


Hình 28- Cài đặt Modsecurity ......................................................................................................... 89
Hình 29- Tiến hành cài đặt .............................................................................................................. 90
Hình 30- Cài đặt Modsecurity thành công ...................................................................................... 94


TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc

KHOA CÔNG NGHỆ THÔNG TIN
Tp. HCM, ngày 18 tháng 11

năm 2011

THÔNG TIN KẾT QUẢ NGHIÊN CỨU
1. Thông tin chung:
- Tên đề tài: ỨNG DỤNG BIỂU THỨC CHÍNH QUY TRONG BẢO MẬT WEB
- Mã số:
- Chủ nhiệm: NGUYỄN MINH ĐẠO
- Cơ quan chủ trì: Đại học Sƣ phạm Kỹ thuật Thành phố Hồ Chí Minh
- Thời gian thực hiện: 12/2010-11/2011
2. Mục tiêu:
Các ứng dụng web hiện nay ngày một phát triển mạnh mẽ dẫn đến nguy cơ bị hacker tấn công rất
cao. Các hình thức tấn công vào các máy chủ chạy ứng dụng web rất đa dạng, gây mất các thông
tin quan trọng của các tổ chức, cá nhân, doanh nghiệp. Một số kiểu tấn công phổ biến đƣợc hacker

khai thác rất nhiều nhƣ: XSS, SQL injection, Directory Traversal, Webshell, DDOS, …
Để giải quyết vấn đề nêu trên, một trong những phƣơng pháp khá mới mẻ là tìm hiểu và áp dụng
sử dụng phần mềm ModSecurity. ModSecurity đƣợc xem là một phần mềm phát hiện và phòng
chống xâm nhập trái phép vào các ứng dụng web, dựa vào các so mẫu biểu thức chính quy
(Regular Expression). Hiện nay nó đƣợc áp dụng rất phổ biến trong lĩnh vực bảo mật Web Server,
nó có khả năng kiểm soát chặt chẽ lƣu lƣợng HTTP, HTTPS. Các cuộc tấn công nhằm vào ứng
dụng web hầu nhƣ đều bị chặn, kể cả các loại tấn công đã biết và chƣa biết.
Đề tài “Ứng dụng biểu thức chính quy trong bảo mật Web” sẽ đề cập đến một số vấn đề về biểu
thức chính quy, lỗ hổng bảo mật Website, cũng nhƣ các hình thức an toàn cho Website. Trong đề
tài này sẽ mô tả các nghiên cứu về những lỗ hổng bảo mật phổ biến và các giải pháp đảm bảo an
toàn cho hoạt động của Website.
3. Tính mới và sáng tạo:
-

Không có

4. Kết quả nghiên cứu:
Đề tài này chỉ giới hạn trong các giải pháp mềm. Trong đó nghiên cứu, khảo sát về các lỗ hổng
Website là phổ biến nhất, giải pháp bảo mật và mô hình bảo mật, giao thức bảo mật và các cơ chế
trên phƣơng diện phần mềm. Vì không có điều kiện thử nghiệm trên mô hình bảo mật thực tế nhƣ
trong doanh nghiệp hay các tổ chức, cho nên trong đề tài này chỉ đặt mục tiêu thử nghiệm giả lập
mô hình Website trên máy ảo, máy ảo dự kiến thử nghiệm là Linux, Webserver là Apache và hệ
quản trị cơ sở dữ liệu là MySQL và các cơ chế bảo mật bằng ModSecurity của Apache.
5. Sản phẩm:
-

Báo cáo đề tài (2 bản in bìa mềm + 2 bản in bìa cứng mạ vàng).

-


Đĩa chứa bản báo cáo, tài liệu tham khảo, các phần mềm cài đặt.


6. Hiệu quả, phƣơng thức chuyển giao kết quả nghiên cứu và khả năng áp dụng:
Có thể áp dụng thực tế trên các website hiện tại , và đƣa vào giảng dạy trong môn học Bảo mật
Web.
Trƣởng Đơn vị
(ký, họ và tên, đóng dấu)

Chủ nhiệm đề tài
(ký, họ và tên)


PHẦN MỞ ĐẦU
1. Tính cấp thiết của đề tài
Ngày nay công nghệ thông tin đã phát triển rất nhanh chóng với nhiều ứng dụng vào
các lĩnh vực khoa học, kinh tế, văn hóa và nghệ thuật… Từ các phần mềm ứng dụng
cho đến các phần cứng, đáp ứng nhu cầu từ ngƣời dùng cho đến doanh nghiệp, tổ chức,
chính phủ… công nghệ thông tin đã làm thay đổi bộ mặt của xã hội, khoa học kỹ thuật,
kinh tế làm cho các quốc gia và các cá nhân xích lại gần hơn.
Hiện nay nền kinh tế Việt Nam đang phát triển một cách mạnh mẽ, các hình thức
kinh doanh, quảng cáo và các giao dịch trực tuyến đã và đang thay thế các hình thức kinh
tế cũ trƣớc kia. Các doanh nghiệp, tổ chức hay cá nhân có thể giới thiệu sản phẩm của
mình, mua bán sản phẩm hay trao đổi thông tin với nhau t h ô n g q u a Internet nhƣ
Website, Email… các hình thức này đã giúp họ đẩy mạnh hoạt động kinh doanh và tiết
kiệm đƣợc chi phí rất nhiều.
Website giúp ích rất nhiều cho việc xây dựng và quảng bá hình ảnh công ty, giới
thiệu sản phẩm, sự kiện, học hành và các hoạt động khác. Mọi ngƣời có thể tìm kiếm
nhƣng thông tin cần thiết thông qua các Website để phục vụ cho nhu cầu của mình.
Từ những lợi ích thiết thực mà Website mang lại cho ngƣời dùng, bên cạnh đó nó

cũng mang lại nhiều nguy hại rất nghiêm trọng. Từ các lỗ hổng của hệ thống mạng
máy tính và Website đã tạo điều kiện cho hacker khai thác các điểm yếu đó với mục
đích trục lợi, phá hoại,… và tổn thất từ những lỗ hổng bảo mật của Website là rất
lớn.
Việc bảo mật Website hiện nay đƣợc các doanh nghiệp, tổ chức và cá nhân rất
quan tâm. Vì nó đảm bảo cho các hoạt động trong các lĩnh vực đƣợc an toàn và hoạt
động hiệu quả. Do đó đã có nhiều công trình nghiên cứu về bảo mật Website nói riêng
Trang 1


và bảo mật mạng nói chung đã đƣợc thực hiện và đƣa vào ứng dụng hiệu quả.

2. Đặt vấn đề
Các ứng dụng web hiện nay ngày một phát triển mạnh mẽ dẫn đến nguy cơ bị hacker tấn
công rất cao. Các hình thức tấn công vào các máy chủ chạy ứng dụng web rất đa dạng, gây
mất các thông tin quan trọng của các tổ chức, cá nhân, doanh nghiệp. Một số kiểu tấn công
phổ biến đƣợc hacker khai thác rất nhiều nhƣ: XSS, SQL injection, Directory Traversal,
Webshell, DDOS, …

3. Giải quyết vấn đề
Để giải quyết vấn đề nêu trên, một trong những phƣơng pháp khá mới mẻ là sử dụng
phần mềm Modsecurity. Modsecurity đƣợc xem là một phần mềm phát hiện và phòng
chống xâm nhập trái phép vào các ứng dụng web, dựa vào các mẫu biểu thức chính quy
(Regular Expression). Hiện nay nó đƣợc áp dụng rất phổ biến trong lĩnh vực bảo mật Web
Server, nó có khả năng kiểm soát chặt chẽ lƣu lƣợng HTTP, HTTPS. Các cuộc tấn công
nhằm vào ứng dụng web hầu nhƣ đều bị chặn, kể cả các loại tấn công đã biết và chƣa biết.
Trong báo cáo này sẽ mô tả các nghiên cứu về những lỗ hổng bảo mật phổ biến
và các giải pháp đảm bảo an toàn cho hoạt động của Website.

4. Mục Tiêu báo cáo

Mục tiêu của báo cáo là nghiên cứu các phƣơng pháp tấn công, các lỗ hổng và ứng
dụng của biểu thức chính quy trong bảo mật Website từ đó xây dựng thử nghiệm một
số các phƣơng pháp phổ biến nhất hiện nay.
Nghiên cứu, khảo sát về các lỗ hổng Website l à phổ biến nhất, giải pháp bảo mật
và mô hình bảo mật, giao thức bảo mật và các cơ chế trên phƣơng diện phần mềm. Vì
không có điều kiện thử nghiệm trên mô hình bảo mật thực tế nhƣ trong doanh nghiệp
hay các tổ chức, cho nên trong báo cáo này chỉ đặt mục tiêu thử nghiệm giả lập mô hình
Website trên máy ảo, máy ảo dự kiến thử nghiệm là Ubuntu, Webserver là Apache và hệ
quản trị cơ sở dữ liệu là MySQL và các cơ chế bảo mật bằng Modsecurity của Apache.
Trang 2


PHẦN THỨ 1: TÌM HIỂU VỀ CƠ SỞ LÝ
THUYẾT BẢO MẬT
CHƢƠNG 1: TỔNG QUAN VỀ TÌNH HÌNH AN
NINH MẠNG
1.1. NHỮNG ĐẶC ĐIỂM VÀ XU HƢỚNG AN NINH MẠNG
1.1.1. Đặc điểm tình hình an ninh mạng trong những năm gần đây
Các hành vi xâm phạm an ninh thông tin ngày càng đa dạng và phức tạp, mục tiêu
phổ biến là trục lợi về tài chính hoặc phá hoại các đối thủ cạnh tranh và đôi khi cũng
chỉ là sự thỏa mãn vui đùa của các Hacker. Các hành vi vi phạm phát triển với tốc độ
nhanh và qui mô rộng từ cá nhân đến các tổ chức hoặc chính phủ. Các cuộc tấn công sử
dụng công nghệ, kỹ thuật ngày càng tinh vi. Các cuộc tấn công, xâm nhập phục vụ
cho mục đích chính trị ngày càng tăng. Nhiều nƣớc đã và đang xây dựng và triển khai
chiến lƣợc đảm bảo an toàn cho không gian mạng quốc gia và thành lập các tổ chức đảm
bảo an toàn mạng.
 Sự cố tấn công trên mạng nhƣ: Virus, Web hacking, DoS & DdoS, Spam, XSS,
Directory Traversal, SQL injection…
 Tội phạm máy tính: đánh cấp thẻ tín dụng, ATM, trộm cắp tài khoản điện thoại di
động, tấn công các công ty cạnh tranh, bôi xấu, xúc phạm nhân phẩm ngƣời khác,

lừa đảo(phishing)…
Tại Việt Nam xu hƣớng về số lƣợng và hình thức sự cố an ninh mạng đều phù hợp
với các qui luật chung tại các nƣớc phát triển về CNTT.
1.1.2. Những xu hướng và thách thức an toàn mạng
Theo Trung tâm ứng cứu khẩn cấp máy tính VN-VNCERT thì an toàn mạng có những xu
Trang 3


hƣớng và thách thức sau:
10 xu hƣớng nổi bật tại Việt Nam
 Triển khai mạnh các giải pháp quản lý và chống thƣ rác.
 Hình thành kiến trúc an toàn thông tin cho các hoạt động ứng dụng CNTT trong các
cơ quan nhà nƣớc.
 Hiệp hội an toàn thông tin Việt Nam (VNISA) đi vào hoạt động nhằm phát huy vai
trò cầu nối giữa cá nhân và các doanh nghiệp.
 Phát triển mạng lƣới phối hợp xử lý sự cố an toàn mạng.
 Các hình thức tấn công truyền thống đƣợc phát triển tinh vi và có kỹ thuật cao hơn.
Tội phạm lợi dụng môi trƣờng Internet và mạng điện thoại di động tiếp tục phát
triển.
 Gia tăng sự tấn công vào các hệ thống thông tin thƣơng mại điện tử, tài chính,
chứng khoán…
 Nhu cầu đánh giá và kiểm soát an toàn, an ninh các hệ thống thông tin tăng vọt.
 Chữ ký điện tử vào cuộc sống CNTT ở Việt Nam đƣợc sử dụng rộng rãi và phát
triển mạnh.
 Các dịch vụ theo dõi cảnh báo sự cố an toàn thông tin phát triển.
 Công tác áp dụng chuẩn hóa từng bƣớc đi vào các lĩnh vực xây dựng hệ thống,
quản lý vận hành, đào tạo cán bộ về an toàn và an ninh thông tin.
Những thách thức chính trong an toàn mạng
 Thách thức 1: Môi trƣờng pháp lý chƣa hoàn thiện, chƣa đồng bộ và thiếu tính hệ
thống: bao gồm luật pháp, chính sách, chiến lƣợc, tiêu chuẩn, qui chuẩn, các văn

bản hƣớng dẫn… về an toàn an ninh thông tin. Việc cập nhật, thay đổi, bổ sung đã
đƣợc chú ý nhƣng tiến độ lại chậm và thiếu cơ quan chuyên trách.

Trang 4


 Thách thức 2: Khả năng công nghệ: CNTT phát triển rất nhanh nên phần mềm độc
hại và các kẽ hở hệ thống ngày càng nhiều. Các cuộc tấn công mạng ngày càng đa
dạng, tinh vi và chuyên nghiệp hơn. Trong khi đó cơ sở vật chất phục vụ cho hoạt
động đảm bảo an toàn thông tin còn thiếu và yếu. Cơ sở hạ tầng an toàn, an
ninh thông tin mạng quốc gia (các hệ thống PKI, theo dõi và cảnh báo sự cố,
trung tâm kỹ thuật an toàn mạng, trung tâm dữ liệu…) vẫn đang còn nằm trên
dự án. Đặc biệt sản phẩm đặc thù của Việt Nam còn rất ít.
 Thách thức 3: Nguồn nhân lực chƣa đáp ứng yêu cầu về chất lƣợng, thiếu
về số lƣợng, chƣơng trình đào tạo bất cập, chuyên môn cao mâu thuẫn với
thu nhập thấp.
 Thách thức 4: Mức độ đầu tƣ tài chính cho an toàn an ninh thông tin còn thấp
vì nhận thức về mức độ nguy hiểm của các chủ doanh nghiệp còn yếu. Mức
đầu tƣ cho an toàn an ninh thông tin tại các quốc gia khác thƣờng chiếm từ
8% - 10% tổng đầu tƣ cho công nghệ thông tin của doanh nghiệp.
 Thách thức 5: Tổ chức, chỉ đạo và điều hành cơ cấu tổ chức chƣa đầy đủ,
đặc biết thiếu ở cấp chỉ đạo quốc gia và quản lý nhà nƣớc.
Trong đó thách thức đầu tiên là rất quan trọng vì nó tạo tiền đề cho việc ngăn chặn
các cuộc tấn công có chủ ý. Tuy nhiên hệ thống pháp luật của Việt Nam còn nhiều hạn
chế, nhƣng gần đây cũng đã có nhiều thay đổi và bổ sung đáng kể nhƣ:
 Luật giao dịch điện tử đƣợc thông qua bởi Quốc Hội 29/11/2005. Luật điều
chỉnh các giao dịch điện tử của các cơ quan chính phủ, dân sự và các hoạt
động thƣơng mại.
 Luật công nghệ thông tin đƣợc thông qua trong phiên họp lần thứ 9 của
Quốc Hội khóa 11, ngày 29/06/2006. Luật có hiệu lực từ 01/01/2007.

 Nghị định 64/2007/ND-CP về ứng dụng CNTT trong các cơ quan nhà
nƣớc.

Trang 5


 Nghị định 65/2007/ND-CP về xử phạt hành chính trong lĩnh vực CNTT.
 Nhiều văn bản mới liên quan đến an toàn thông tin đang đƣợc xây dựng, thay
đổi bổ xung, xem xét ban hành nhƣ các văn bản pháp quy, tiêu chuẩn,
quy chuẩn kỹ thuật, hƣớng dẫn… Bên cạnh sự ban hành luật là các hoạt động
tƣ vấn, đào tạo… với mục đích giúp cho các cá nhân và tổ chức hiểu rõ thêm
về luật trong các hoạt động liên quan đến CNTT.
1.1.3. Những vấn đề về các lỗ hổng của Website
Những năm gần đây là những năm báo động đỏ của an ninh ngân hàng. Nhận định
trên đƣợc Thiếu tƣớng Nguyễn Viết Thế, Cục trƣởng Công nghệ tin học nghiệp vụ, Bộ
Công an, đƣa ra trong khuôn khổ sự kiện Banking và Security 2008 tại TP HCM. Để
có đƣợc khẳng định này, ông Thế đã đƣa ra khá nhiều bản báo cáo lẫn thông số cụ thể
cho bức tranh tổng thể của an ninh mạng nói chung và tài chính ngân hàng nói riêng.
Trong 72 Website về chứng khoán đang hoạt động trong cả nƣớc thì có đến 40% vẫn tồn
tại những lỗi nguy hiểm trong hệ thống và có nguy cơ bị tấn công bất cứ lúc nào.
Trong khi đó hiện tƣợng bắt tay giữa hacker và các ngƣờichơi chứng khoán đang ngấm
ngầm xuất hiện tại VN. Theo Bộ Công an, năm 2008 cũng là điểm mốc khi hầu hết các
hình thức lừa đảo trực tuyến phổ biến trên thế giới đều đã có mặt tại VN: lừa đảo qua
diễn đàn trên mạng, qua e-mail mà điển hình là dạng thức xổ số hoặc qua tin nhắn từ các
tổng đài tự động và nạn ăn cắp, làm giả thẻ tín dụng... Trong đó, những tiêu cực về đánh
cắp thẻ tín dụng đã biến đổi với nhiều mánh khóe công nghệ cao: thiết bị quay lén, ghi
hình bàn phím... Tài khoản thẻ ATM cũng dễ dàng bị mất nếu thiếu cảnh giác trƣớc
những kẻ lừa đảo theo dạng tổ chức, doanh nghiệp nƣớc ngoài chào mời mua bán,
vay tiền, trúng thƣởng... (nguồn www.vnexpress.net ). Dƣới đây là hình ảnh thống kê
về số lần tấn công vào Website ở Việt Nam, trong đó có thống kê riêng vào các

Website chính phủ từ các hacker nƣớc ngoài (hình 1.1)

Trang 6


Hình 1- Thống kê các cuộc tấn công Website từ nƣớc ngoài vào
ViệtNam từ 2002 đến 2007 (trích dẫn nguồn VNCERT, trang 11)
Năm 2007 các cuộc tấn công từ nƣớc ngoài vào Việt Nam đƣợc gia tăng gấp đôi so với
năm 2006. Và năm 2008 số lƣợt tấn công này là lớn hơn 500 lần, cho thấy Việt Nam là một
trong những đích nhắm của các hacker quốc tế. Nguyên nhân của vấn đề này là do nƣớc ta đã
hội nhập vào nền kinh tế thế giới và bắt đầu ứng dụng thƣơng mại điện tử rộng rãi.
Với việc nhắm vào những Website phát triển những hoạt động phi pháp nhƣ những
Website ngƣời lớn hoặc Website phần mềm vi phạm bản quyền và các trang Web có các
trò đánh bạc trực tuyến… Khi ngƣời dùng chƣa ý thức đƣợc các đặc điểm nguy hại từ
các trang này thì họ sẽ dễ dàng bị các hacker tấn công và khai thác những thông tin nhạy
cảm và quan trọng…
Những Website chính thống có một lƣợng cộng đồng ngƣời dùng lớn mà những
kẻ phát triển mã độc muốn nhắm tới, họ hoàn toàn không hoài nghi về việc có thể trở
thành nạn nhân của một cuộc tấn công bằng mã độc bởi vì họ tin tƣởng rằng nếu họ chỉ
truy nhập vào những Website lớn, chính thống thì họ sẽ đƣợc an toàn.
Có nhiều loại hình tấn công mạng khác nhau lợi dụng một số Website có lỗ hổng
bảo mật. Tấn công Web có các kiểu điển hình sau:

Trang 7


 Chạy lệnh hệ thống tùy chọn.
 Lỗi tràn bộ đệm.
 Tấn công kiểu SQL Injection.
 Từ chối dịch vụ (Dos & DDos).

 Lỗi Cross Site Scripting (XSS).
 Tấn công Format string.
 Cookie poisoning.
 Sửa đổi field ẩn.
 Lỗi liên quan đến quá trình quản lý xác thực và phiên truy cập.
 Lỗi kiểm soát truy cập nguồn tài nguyên (authorization).
 Những quảng cáo dẫn tới các đƣờng liên kết hoặc cài đặt mã độc.
 Tấn công vào những công ty hosting ảo nằm đằng sau.
 Những lỗ hổng bảo mật trên máy chủ Web.
 ……...

1.2. VẤN ĐỀ BẢO MẬT WEBSITE
Từ những cái nhìn tổng quan trên cho thấy mức độ tấn công và sự nguy hiểm thế
nào cho những nhà quản trị và ngƣời dùng khi những Website mắc những lỗi bảo mật
nghiêm trọng. Những ngƣời làm công việc bảo mật Website cần phải trang bị các mô
hình, các giải pháp phù hợp, kiến thức và kinh nghiệm để xác định các lỗ hổng, các hình
thức tấn công vào các lỗ hổng. Cần phải nghiên cứu kỹ các lỗi bảo mật, có thể tấn công
1 lỗ hổng bằng những hình thức nào, đặc điểm của lỗ hổng này nhƣ thế nào, nó xuất
phát từ đâu (có thể từ lỗi lập trình, phần mềm, phần cứng, các cơ chế hay các lỗi của các
mô hình bảo mật…), mức độ nguy hiểm, chi phí và thời gian đầu tƣ để khắc phục lỗ
Trang 8


hổng này nhƣ thế nào. Từ đó nghiên cứu các giải pháp khắc phục lỗ hổng, khi đã xác
định đƣợc những đặc điểm của lỗ hổng cần phải có cách giải quyết nhanh chóng, kịp
thời, chính xác và triệt để.
Tùy theo mức độ, quy mô và tầm quan trọng của tổ chức, doanh nghiệp hay cá
nhân. Để xác định mức độ đầu tƣ cho mô hình, giải pháp bảo mật, và nhân lực phù hợp.
Hiện nay có rất nhiều các mô hình, giải pháp phần mềm, phần cứng phù hợp cho từng
nhu cầu của tổ chức, doanh nghiệp và cá nhân… trong phần trọng tâm của báo cáo sẽ

đề cập đến các vấn đề này.

Trang 9


CHƢƠNG 2
ỨNG DỤNG BIỂU THỨC CHÍNH QUY TRONG
BẢO MẬT WEB
2.1. Tổng quan về biểu thức chính quy (Regular Expression)
2.1.1. Biểu thức chính quy là gì?
Biểu thức chính quy (Regular Expression) biểu thị cấu trúc dữ liệu, đặc biệt là các
chuỗi văn bản hoặc các thành phần của một trình biên dịch. Biểu thức chính quy còn đƣợc
xem là một mẫu (pattern) dùng để mô tả một lớp ký tự nào đó.
Biểu thức chính quy là dạng kĩ thuật nhỏ mà hữu ích trong 1 vùng rộng lớn của
chƣơng trình, nó có thể hiểu nhƣ là một ngôn ngữ nhỏ dùng cho mục đích : tìm chuỗi con
trong biểu thức chuỗi lớn. Xuất phát từ môi trƣờng UNIX, đuợc dùng với PERL. Microsoft
cho nó vào Windows, và cho đến giờ thì nó hầu nhƣ đƣợc sử dụng với những ngôn ngữ
kịch bản.
Ví dụ đơn giản:
Hệ điều hành nhƣ DOS hay Unix thƣờng sử dụng một lệnh liệt kê thƣ mục để tìm
kiếm một danh sách các file trong một thƣ mục.:
Ở DOS, lệnh này là:

dir *.txt

Ở Unix là:

ls *.txt

Ở đây “*.txt” là một tham số dòng lệnh dùng để hiển thị một danh sách các file có

phần mở rộng “txt” mà không quan tâm đến tên của file.
Bây giờ muốn liệt kê các file có tên khởi đầu là „a‟:
Ở DOS, ta dùng lệnh:

dir a*.*
Trang 10


Còn ở Unix:

ls a*.*

Ở đây, “a*.*” có nghĩa là tên file bắt đầu bằng „a‟, theo sau là bất số ký tự nào, tiếp
đó là „.‟, và sau đó là bất kỳ phần mở rộng nào.
Ví Dụ phức tạp hơn:
\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b Đây là mẫu mô tả một địa chỉ email.
Mẫu này có thể đƣợc dùng để tìm một địa chỉ email trong một đoạn văn bản, hoặc kiểm tra
xem một chuỗi có phải là địa chỉ email hợp lệ hay không.
Biểu thức chính quy có thể đƣợc sử dụng với bất kỳ dữ liệu nào mà ta có thể truy cập,
thông qua ứng dụng hoặc ngôn ngữ lập trình.
Những ví dụ trên là những cách sử dụng dễ hiểu của biểu thức chính quy.
2.1.2. Các luật ngữ pháp của biểu thức chính quy
Trong dạng đơn giản nhất, một biểu thức chính quy chỉ là một từ hay một cụm từ
dùng để tìm kiếm. Ví dụ, biểu thức chính quy „John‟ sẽ phù hợp với bất cứ chuỗi nào có
chứa chuỗi „John‟ trong nó. Ví dụ: „John‟, „Ajohn‟ và “Decker John”.
Trong các biểu thức chính quy, một vài kí tự đƣợc sử dụng cho các mục đích đặc biệt.
Các kí tự này đƣợc gọi là các kí tự định lượng. Ví dụ, „*‟ tƣơng ứng với bất cứ chuỗi kí tự
nào, và „.‟ tƣơng ứng với bất cứ ký tự đơn nào ngoại trừ ký tự xuống dòng.
Nhƣ vậy, biểu thức chính quy „.ine‟ sẽ phù hợp với bất cứ chuỗi bốn kí tự nào kết
thúc bằng „ine‟, ví dụ: „line‟ và „nine‟.

Nhƣng nếu muốn tìm một chuỗi có chứa dấu chấm, chẳng hạn kí hiệu toán học pi.
Biểu thức chính quy sau sẽ không đúng: 3.141592
Thực tế biểu thức này đúng với “3.141592” nhƣng nó cũng đúng với “3x141592” và
“38141592”. Để vƣợt qua vấn đề này ta sử dụng một metacharater, dấu chéo ngƣợc (\).

Trang 11


Dấu chéo ngƣợc có thể đƣợc sử dụng để chỉ rằng một kí tự ngay bên phải, nó đƣợc nắm
giữ theo đúng nghĩa đen. Nhƣ vậy, để tìm chuỗi “3.141592”, ta sử dụng: 3\.141592
2.1.3. Cơ bản về biểu thức chính quy
Biểu thức so mẫu (pattern) dùng để mô tả một cách tổng quát 1 đối tƣợng (chuỗi)
trong ngôn ngữ lập trình, ví dụ trong PHP:
preg_replace('/[^a-z0-9]+/i','',$str);
hàm này loại bỏ tất cả các ký tự không phải là chữ (a-z và A-Z) hoặc số (0-9) ra khỏi
chuỗi $str
Biểu thức so mẫu dùng rất hiệu quả và nhanh chóng. Trong phần này chỉ giới thiệu
một số kiến thức cơ bản và một vài ví dụ để dễ hiểu.
Cấu trúc nhƣ ví dụ trên thì /[^a-z0-9]+/i là 1 biểu thức so mẫu,
-

Giới hạn trong cặp dấu /<so mẫu>/x hoặc #<so mẫu>#x.

-

x có thể là 1 hoặc nhiều ký tự để mô tả dữ liệu đƣợc lấy và cũng có thể
không có trong biểu thức so mẫu. Một số giá trị có thể có của x:
i: không phân biệt chữ hoa, chữ thƣờng.
s: bao gồm cả các ký tự xuống dòng.


Ví dụ:
preg_replace('/[^a-z0-9]/','','phpBASIC$') -> php
preg_replace('/[^a-z0-9]/i','','phpBASIC$') -> phpBASIC
Ý nghĩa của các ký tự trong biểu thức so mẫu:
\ loại bỏ các ký tự đặc biệt của pattern
/(phpbasic)/ : chuỗi phpbasic
Trang 12


×