Famous Methods: trong phương pháp tĩnh này, những kẻ tan công cố gắng thực hiện các phương pháp tan công nỗi tiếng đã được sử dụng dé tấn công một ứngdung web.. Hidden Web Tracks: trong
Trang 1HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIỄN THONG
KHOA CÔNG NGHỆ THÔNG TIN
Giảng viên hướng dẫn : TS Đặng Minh Tuấn Sinh viên thực hiện : Nguyễn Văn Cường
Mã sinh viên : B17DCAT030
: DI7CQAT02-B
: 2017-2022
: Dai học chính quy
Hà Nội 2021
Trang 2HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIỄN THONG
KHOA CÔNG NGHỆ THÔNG TIN
Giảng viên hướng dẫn : TS Đặng Minh Tuấn Sinh viên thực hiện : Nguyễn Văn Cường
Mã sinh viên : B17DCAT030
: DI7CQAT02-B
: 2017-2022
: Dai học chính quy
Hà Nội 2021
Trang 3LỜI CẢM ƠN
Lời đầu tiên em xin gửi lời cảm ơn sâu sắc tới Thầy giáo TS Đặng Minh Tuấn
đã tận tình chỉ bảo, hướng dẫn em trong quá trình em thực hiện đề tài đồ án này Nhờ sựgiúp đỡ và những chia sẻ vô cùng quý báu của Thầy mà em rút ra được nhiều bài học
cũng như định hướng sau này của bản thân.
Em xin chân thành cảm ơn các Thay, Cô trong Khoa Công Nghệ Thông Tin 1nói riêng và toàn thê các các bộ, giảng viên các bộ môn của Học viện Công nghệ Bưuchính Viễn thông nói chung đã tạo điều kiện để em có một môi trường học tập rất tốt déhoàn thiện và phát triển ban thân Cảm ơn các Thay, Cô đã chỉ cho em rất nhiều kiếnthức không chỉ về kiến thức chuyên môn mà cả những kinh nghiệm học tập, kỹ năngsống Đó là hành trang tuyệt vời dé ban thân em cũng như các bạn khác học tập dưới
mái trường có một hành trang vững chắc đề đi tiếp những chặng đường tiếp theo trong
tương lai.
Cuối cùng em xin cảm ơn gia đình, bạn bè, những người luôn ở bên cạnh em khi
gặp khó khăn nhất, giúp đỡ em về mọi mặt dé em có thé hoàn thành được dé tài đồ án
này.
Xin chân thành cảm on!
Hà Nội, ngày 12, tháng 01, năm 2022
Sinh viên thực hiện
Nguyễn Văn Cường
Trang 4NHAN XÉT, ĐÁNH GIA, CHO DIEM
(Của Người hướng dẫn)
Hà Nội, ngày tháng năm 20
CÁN BỘ - GIẢNG VIÊN HƯỚNG DẪN
(ky và ghi rõ họ tên)
Trang 5NHAN XÉT, ĐÁNH GIA, CHO DIEM
(Của Người phan biện)
Hà Nội, ngày tháng năm 20
CÁN BỘ - GIẢNG VIÊN PHẢN BIỆN
(ky và ghi rõ họ tên)
Trang 6MỤC LỤC
LOI CẢM ƠN 5 2221 E2 1221271211211 211T1111111 1111111211 1011110111 are 3
NHẬN XÉT, DANH GIA, CHO ĐIÊM 2-© 2 +¿+E2E£+EEE£EESEEtEEEerkeerkrrrree 4
(Của Người hướng dẫn)) ¿+ 2+ s9SE+E£EE2ESEEEE2EE2121211112111 2111171111111 11 1.1 cx0 4
NHẬN XÉT, ĐÁNH GIA, CHO ĐIỀM - 2-2-5 ©E£+E++EE+EEt2EEEEEEEEerErrrkrrkerreee 5
PHAT HIEN - 2 2% SE£+EE£EEEEE2E1221E7121121127171171121111117111111 1111.1111 12
1.1 Khái quát về van đề bảo mật ứng dụng web -¿ 2 s+cxetx+rezrxerxerxee 12
1.1.1 Khái niệm ứng dụng web - - cs s11 TH HH TH ng kg 12
1.1.2 Điểm yếu của ứng dụng web -¿- + 2++2+++Ex2EEEEEEEEEEEkrEEkrrkrerkrrrkee 131.1.3 Các loại tan công ứng dụng web ¿+ xeSx+EE2E2E2EEEEEEerkerkerkerree 141.1.4 Các phương thức tan công ứng dụng web phổ biến . - 15
1.2 Tổng quan phát hiện tấn công ứng dụng Web - 2 2 2+s+zx+zx+rxerszreee 20
1.2.1 Cơ sở phát hiện tan công ứng dụng web ¿- 2 + x+cxe+xczzxerxerxeee 211.2.2 Các kỹ thuật phát hiện tấn công ứng dụng web phổ biến - 231.3 Kết chương - :- +52 2222 2E EE215715111111121121111211111 1111111111111 11 1g 26
CHƯƠNG 2 PHÁT HIỆN TẤN CÔNG ỨNG DỤNG WEB SỬ DỤNG SNORT IDS
¬ 27
2.1 Tổng quan hệ thống phát hiện xâm nhập - 2-2 2 2+££+£+z++z++zx+zszxez 27
2.1.1 Giới thiỆU - 556522221 E2EE2112112217171121121111111211211 1171.111 xe 27
2.1.2 Các phương pháp phát hiện - - 2G 2223221122119 111 1 ng re 28
2.1.3 Phân loại hệ thống phát hiện xâm nhập - 5+ + +++sexsseeseeers 302.2 Sử dung Snort IDS dé phát hiện tấn công ứng dụng Web - 2-52 35
2.2.1 Giới thiệu SnOr -2¿- 2 E+SESE£2EE2EEEEEEEE2E12117171121121171711 211111 cxe 35
2.3 Phát hiện một số loại tan công sử dụng rule SMOTt -. - «<< s<++se+ssss 43
2.3.1 Phát hiện tan công SQL injectionn -¿- ¿5c sSE+SE‡EE+EE2EE2ErEerkerkerkereee 43
2.3.2 Phát hiện tan công DdoS - ¿2 +52 22EE+EE£EEEEEEEEE2E1E712E2221E1EEerkee 47
2.3.3 Phát hiện tan công XSS w.ececccccccsessesssessessessssssessessessusssessessussesssecsessessessseeseeses 49
Trang 72.3.4 Lợi thế của Snort so với các công cụ IDS khác -«++sxessses 492.4 KẾt chương - c-St E21 E21 2121111101111211 2111111111111 1111 1.11 1111 11c 50CHƯƠNG 3 CÀI ĐẶT VA THU NGHIỆM - 22 2©++x+£++E+z+rxerxezes 51
BL Cai n7 51
“SN N00 7n 51 3.1.2 Cài đặt, - ác c2 TT 1221211211 11 1 11111111111 51
3.2 Thử nghiệm phát hiện tan công - 2-2 2 £+E+EE+EE+EE£EE£EE£EEEEerEerkerxrrkrree 553.2.1 Phát hiện tan công SQL ccceccssesscssessessessessessessesesessessessessessesesesstssessesseaees 55
3.2.2 Phát hiện tan công DoS - ¿22 2+SE£+E£2EE+EEEEEEEEE2E127171212211 2121 xe 57
Trang 8DANH MỤC HINH VE
Hình 1.1 Các thành phan ứng dụng Web -:-©2¿©52+2E+EEt2E2EEEEEEEECrErrkrrkerkrres 13Hình 1.2 Mô hình tấn công sQÌi -2- 2 2 E+EE£+E£2EE+EE£EEtEEEEEEEEEEEEtEErEkrrkrrkrres 16
Hình 1.3 Các loại tấn công sQÌi 2- 2 2 E+EE+2E£2EE2EEEEEEEEEEEEEEEEEEEEEEEEErrkrrkrres 16
Hình 1.4 Mô hình tan công XSS -2- 2-52 2+S2+E2EEEEEEEEEEEEEEE12117121 71111 xe, 18
Hinh 1.5 Stored 0 S5 19
Hình 1.6 Điểm yếu bảo mật và mối đe dọa trong kiến trúc ứng dụng web nhiều lớp 22Hình 1.7 Ngăn chặn request nguy hiểm sử dụng WAE 2 ¿+cccccsersersereee 24Hình 2.1 Mô hình hệ thống phát hiện xâm nhập - 2 2 + +£+£+££+zx+zxzzzz 27
Hình 2.2 IDS dựa trên hOS( - - 5-5 555 2 3E E2SE 3E SE S99 199999555335 111v 1v nhe 32
Hình 2.3 Mô hình hệ thống phát hiện xâm nhập mạng - «+ ««++s+++ss++ 33
Hình 2.4 Hệ thống phát hiện dựa trên kết hợp - 2- + 2 +2 ++Ezxerxerxerxsrxee 33Hình 2.5 Các thành phan trong snOrt 2:22 +¿+++2E++E+++EE++ExetE+erxezrxezrxees 37Hình 2.6 Kiến trúc Snort IS ¿- 2 ©5£+S£+SE+EE£EE2EESEEEEEEEEEEEEEEEEEE2E2EEEEcrkrrer 39Hình 2.7 Cấu trúc một rule SNOF( ¿-++2©++++EE+++tEEEYtttEEvtrsrkrtrtrtrrrrrrrrrrrre 4I
Hình 2.8 Tân công DdoS ¿- 2 2SE9SE22EE9EEEEEE2E1221221717112117171711211 111.0.48
Hình 3.2 Ứng dụng web dVWa - 2 5s Ssc St E2 1E 1E2112112111111121111 11111111 re 52
Hình 3.3 Chỉnh sửa câu hình mạng trong và ngoài 2-2-2 z+s+xe£xerxerxsreee 54Hình 3.4 Chỉnh sửa đường dẫn đến các rule w cccccscscsssesssessssssessseessecssessesssecssecsessseessecs 54
Hình 3.5 Cấu hình snort thành côÔng - 2-2 ©£+ £+EE2EE+EE+2E£2EE+EEtEEEEEzEEerxrrxeres 54
Hình 3.6 File cau hình chạy đưới nền của Sn0rt cecceccessessesssessesseeseessesseeseeseesseeseeseess 55Hình 3.7 Kiểm tra trạng thái Snort khi chạy đưới nền - 2-2222 =s+zxz>sz 55Hình 3.8 Thực hiện quét lỗ hồng sqli ứng dụng web dVwa - ¿22 5-55: 55Hình 3.9 Cac request độc hại nhằm tan công sqli mà Snort phát hiện được 56Hình 3.10 Một alert ma Snort sinh ra khi phát hiện được tan công sq]i 57Hình 3.11 Sử dụng hping3 giả cuộc tan công ICMP flood ¿- 2 s52 57Hình 3.12 Alert phát hiện được tấn công ICMP food 2-2 2 z+s+£s+£x+zssceez 58Hình 3.13 Mô phỏng cuộc tan công SYN flood với hping3 ceccecsesseessecsesseeseeeeseees 58Hình 3.14 Alert phát hiện tan công SYN flood được snort sinh ra - 58
Trang 9DANH MỤC BANG BIEU
Bảng 1.1.So sánh các đặc điểm kỹ thuật phát hiện tan công ứng dụng web 26
Bang 2.1 Ưu và nhược điểm của các phương thức phát hiện xâm nhập 30
Bảng 2.2 So sánh các loại IDS c1 + 12113111911 91 HH ng 35 Bảng 2.3 Các module STOT - - c1 1331183111891 1 9111 91 18 11191 1H ng ng ve 40
Bang 2.4 Các thành phan trong trường header 2: 5 + s+£++E£+E££Eezxerxerssrxee 42Bảng 2.5 Các thành phan trong trường optiOn ¿2 5+ + s+£++E++E££Eerkerxerxsreee 43
Trang 10DANH MỤC CÁC TỪ VÀ THUẬT NGU VIET TAT
NIDS Network based intrusion detection Hệ thông phát hiện xâm
systems nhập dựa trên mang
NBA Network behavior analysis Hệ thống phân tích hành vi
mạng
HIDS Host based instrusion detection Hệ thong phát hiện xâm
nhập dựa trên máy chủ
PCRE Perl-compatible Regular Expressions | Thư viện PCRE là một tập
hợp các hàm triển khai đối
sánh mẫu biéu thức chính
quy bằng perlSQLIA SQL Injection Attack Tan công sqli
WAF Web application firewall Tường lửa ứng dung web
10
Trang 11LOI MỞ DAU
Các dich vụ internet va việc sử dung các ứng dụng web dang gia tang và phat
trién nhanh chóng trên toàn thế giới Khi mà số lượng người sử dung gia tăng nhanh nhưvậy nó sẽ đi kèm theo những van dé an toàn thông tin đối với người sử dụng Các lỗ
hồng ứng dụng web đã thu hút sự chú ý của các tin tặc dé khai thác và truy cập vào
thông tin nhạy cảm của người dùng Các ứng web đang trở thành thứ chủ đạo dé cungcấp quyền truy cập vào các dịch vụ trực tuyến và cũng là mục tiêu có giá trị cho các
cuộc tấn công bảo mật Dé bảo mật các ứng dụng web tránh khỏi các sự tan công cua
tin tặc vào người dùng cần được giải quyết bang cách thiết kế cần thận, chú trọng van
đề an toàn trong từng khâu phát triển Nhưng biện pháp này thường khó có thê thựchiện Vì lý do này, các phương pháp phát triển có ý thức về van dé bảo mật nên được bổ
sung bằng cơ sở hạ tầng phát hiện xâm nhập có khả năng phát hiện các cuộc cuộc tấn
công và đưa ra cảnh báo sớm về hoạt động đáng ngờ có nguy cơ tiềm ân xảy ra cuộc tấn
công ứng dụng web.
11
Trang 12CHUONG 1 TONG QUAN TAN CONG UNG DUNG WEB VÀ PHƯƠNG
PHAP PHAT HIEN
Chương I trình bày về các khái niệm tổng quan về ứng dung web, các phươngpháp tan cong ung dung web pho biến từ trước đến nay Phân tích một số nguyên nhân
dan đến một cuộc tan công ứng dung web, trình bày một số phương pháp phát hiện tan
công ứng dụng web hiện nay.
1.1 Khái quát về vấn đề bảo mật ứng dụng web
1.1.1 Khái niệm ứng dụng web
Ứng dụng web là một chương trình ứng dụng mà được lưu trữ trên một máy chủ
từ xa và được gửi qua internet thông qua trình duyệt Các ứng dụng web có thé đượcthiết kế cho nhiều mục đích sử dụng khác nhau và có thê được sử dụng bởi bất kỳ ai, từmột tổ chức đến một cá nhân vì nhiều lý do Các ứng dụng web thường được sử dụng
có thể bao gồm webmail, máy tính trực tuyến hoặc cửa hàng thương mại điện tử Một
số ứng dụng web chỉ có thể được truy cập bằng một trình duyệt cụ thể, tuy nhiên, hầuhết đều có sẵn bat kẻ trình duyệt
Các ứng dụng web không cần tải xuống vì chúng được truy cập qua mạng Ngườidùng có thê truy cập ứng dụng Web thông qua trình duyệt web như Google Chrome,
Mozilla Firefox hoặc Safari.
Dé một ứng dung web hoạt động, nó cần có máy chủ web, máy chủ ứng dụng va
cơ sở dữ liệu Máy chủ web quản lý các yêu cầu đến từ máy khách, trong khi máy chủứng dụng hoàn thành tác vụ được yêu cầu Một cơ sở dit liệu có thé được sử dụng đểlưu trữ bất kỳ thông tin cần thiết nào
Các ứng dụng web thường có chu kỳ phát triển ngắn và có thé được thực hiệnvới các nhóm phát triển nhỏ Hầu hết các ứng dụng web được viết bằng JavaScript,
HTMLS, CSS Lập trình phía máy khách thường sử dụng các ngôn ngữ này, giúp xây
dựng giao diện người dùng của ứng dụng Lập trình phía máy chủ được thực hiện để tạo
các tập lệnh mà một ứng dụng Web sẽ sử dụng Các ngôn ngữ như Python, Java và Ruby
thường được sử dụng trong lập trình phía máy chủ.
12
Trang 131.1.2 Diém yếu của ứng dụng web
Web Application
Server SideHình 1.1 Các thành phân ứng dụng web
Đề biết điểm yếu của môi trường web, chúng ta cũng nên biết các thành phần của
ứng dụng web Các ứng dụng web bao gồm ba phần chính như trong hình 1.1 ngôn ngữ
lập trình được sử dụng dé thiết kế phía máy khách và thiết lập các truy van của cơ sở dữ
liệu Giao thức truyền siêu văn ban (http), được sử dụng dé liên kết phía máy khách vớiphía máy chủ Ngoài ra, quy trình nghiệp vụ là phần phân biệt của bất kỳ ứng dụng webnào [1] Một mối de dọa chính khác trong bảo mật internet và các ứng dụng web mangười dùng duyệt qua công mặc định số 80bằng giao thức http và cổng 443 băng giao
thức lớp bảo mật https Kẻ tấn công bắt đầu sử dụng web như một khách hàng hoặc người dùng bình thường của trang web, sau đó các công này được sử dụng: dé tan công
trang web và truy cập vào dữ liệu va tệp của khách hang Quy mô cuộc tan công phụ
thuộc vào tầm quan trọng của đữ liệu và hoạt động kinh doanh của các công ty sở hữu
các trang web này.
Nhiéu nghiên cứu cho thay có nhiêu vân đê về quản lý hoặc lôi quan tri dan dén các môi
đe dọa vê bảo mật như:
1 Các mối đe doa bảo mật không được hiển thị rõ ràng trong các trang web
2 Các van dé bao mật thường được giải quyết thông qua khôi phục ngắn hạn nên
các vấn đề sẽ xuất hiện lại rất nhanh.
3 Bỏ qua thực tế rằng thông tin trên các trang web là tốn kém tiền bạc, ngoài việc
mat khả năng ước tính chi phí thông tin.
4 Họ không hiểu rang các mối de doa bảo mật thường xuyên đang làm giảm uy tín
của tô chức.
5 Chúng phụ thuộc vào công cụ bảo vệ san sàng như tường lửa hoặc hệ thống phát
hiện xâm nhập mà không giám sát chúng thường xuyên.
13
Trang 146 Mối quan hệ giữa van đề nghiệp vụ và an toàn thông tin không được hiểu toàn
bộ từ những người kỹ thuật.
7 Thông thường, các nhiệm vụ an toàn thông tin được yêu cầu từ những người
không phải là chuyên gia bao mat mà không cho họ dao tạo bài ban và đủ thời
gian để thực hiện nhiệm vụ và khắc phục các vấn đề có thể xảy ra Điều này chủ
yếu xảy ra vì hầu hết các tổ chức cần các giải pháp nhanh chóng để khởi chạy lại trang web của họ một lần nữa hoặc dé sửa các lỗi ứng dụng của nó.
1.L3 Các loại tấn công ứng dụng web
Cách thức thực hiện các cuộc tấn công được gọi là phương pháp luận tấn công.Thông thường, chúng ta có hai phương pháp luận tan công ứng dụng chính, đó là tan
công tinh và tan công động Kẻ tan công thường sử dụng các phương pháp tan công phốbiến đã biết dé thực hiện cuộc tan công của mình trong phương pháp luận tan công tĩnh
Trong khi, việc sử dụng các phương pháp tấn công phức tạp và khó mà khó có thể ngăn
chặn hoặc thậm chí phát hiện được gọi là phương pháp luận tấn công động [2].
1.1.3.1 Phương pháp tấn công tĩnh
Có rất nhiều phương pháp nổi tiếng được sử dụng trong phương pháp tan côngtĩnh chắng hạn như các phương pháp sau:
1 Famous Methods: trong phương pháp tĩnh này, những kẻ tan công cố gắng thực
hiện các phương pháp tan công nỗi tiếng đã được sử dụng dé tấn công một ứngdung web Những kẻ tan công cé gắng lấy những phương pháp này từ những kẻtấn công thành thạo hoặc từ các diễn đàn và công cụ tim kiếm
2 Directory Enumeration: những kẻ tan công cố gắng theo phương pháp này dé lay
ban đồ của ứng dụng web và cấu trúc của các thư mục web đề hiểu hệ thống phâncấp của ứng dụng web Trong phương pháp này, kẻ tấn công cố gắng sử dụng
một tệp và thư mục an phổ biến được sử dụng trong cau trúc web tương tự dé
truy cập thông tin quan trọng cua trang web.
3 Debugging the Web Application: Khám phá các cửa hậu và các lỗi mã được sử
dụng dé lay thông tin hữu ích nhằm tan công các ứng dụng web Hầu hết các nhà
phát triển ứng dụng web đều dé lại lỗi mã và cửa hậu trong ứng dụng của họ
1.1.3.2 Phương pháp tan công động
Các phương thức động phức tạp hơn phương pháp tĩnh và chúng có thể thay đổi từ ứng
dụng này sang ứng dụng khác Chang hạn như các phương pháp sau:
1 Link Traversal: kẻ tan công theo doi URL của trang web nhất định dé biết một số
liên kết và URL không còn hoặc tồn tại Các liên kết này có thể vẫn tiếp cận một
số thông tin có giá trị chưa được gỡ bỏ khỏi ứng dụng web
2 Path truncation: nó khác với phương thức truyền liên kết vì nó chỉ quan tâm đến
các thư mục của ứng dụng web và nội dung của các thư mục này Hầu hết cáctrang lỗi của trang web đều dẫn đến việc kẻ tan công biết cau trúc của các thư
mục trong ứng dụng web đó.
14
Trang 153 Session hijacking: kẻ tan công năm bắt thông tin và các tham số về giá trị của
phiên trong phương pháp này Sử dụng phương pháp này, những kẻ tắn công có
được quyên truy cập vào dữ liệu trái phép
4 Hidden Web Tracks: trong phương pháp động này, những kẻ tan công kiểm tra
mã nguồn của mã html của một số trang web nhất định dé biết một số đường dẫn
an trong ứng dụng web hoặc các đường dẫn thư mục được chú thích cũ
5 Java Applet Reverses Engineer: một số kẻ tấn công dịch ngược mã Java Applet
khi đăng nhập trang web khách hàng Kỹ thuật dịch ngược này lay thông tin trái
phép từ trang web cho phép kẻ tấn công truy cập trang web
6 Passing Parameters: hầu hết các ứng dụng Web đều cho phép khách hàng của
mình gửi các tham số đến hệ thống của họ thông qua các biểu mẫu web Những
kẻ tan công gửi các thông số không hợp lệ qua các biéu mẫu này dé sử dung sai
ứng dụng web.
7 Executing Scripts: kẻ tấn công buộc một máy chủ web nao đó thực thi một tập
lệnh, tập lệnh này không được thực thi trong ứng dụng web của nó Mục đích của
việc thực thi các tập lệnh ngoại lai này là dé lay cap một số thông tin và cookie
của người dùng.
8 SQL injection: phương thức động quan trọng nhất là SQL Injection, nơi kẻ
tấn công đưa vào máy chủ web các câu lệnh và lệnh SQL đề tấn công cơ sở
dit liệu và lay thông tin hữu ích
1.1.4 Các phương thức tấn công ứng dụng web phổ biễn
1.1.4.1 Tan công SQL injection
SQL Injection (SQLi) là một kiểu tan công tiêm giúp nó có thé thực thi các câulệnh SQL độc hại Các câu lệnh này kiểm soát một máy chủ cơ sở dir liệu đăng sau một
ứng dụng web Những kẻ tan công có thé sử dụng lỗ hồng SQL Injection dé vượt quacác biện pháp bảo mật ứng dụng Họ có thể tiến hành xác thực và ủy quyền một trangweb hoặc ứng dụng web và truy xuất nội dung của toàn bộ cơ sở dữ liệu SQL Kẻ tấn
công cũng có thé sử dụng SQL Injection để thêm, sửa đôi và xóa các bản ghi trong cơ
sở dữ liệu Lỗ hồng SQL Injection có thé ảnh hưởng đến bat kỳ trang web hoặc ứng
dụng web nào sử dụng cơ sở dữ liệu SQL như MySQL, Oracle, SQL Server hoặc các trang web khác.
Kẻ tấn công có thê sử dụng nó để truy cập trái phép vào dữ liệu nhạy cảm như:thông tin khách hàng, dữ liệu cá nhân, bí mật thương mại, sở hữu trí tuệ Các cuộc tấncông SQL Injection là một trong những lỗ hồng ứng dụng web lâu đời nhất, phô biếnnhất và nguy hiểm nhất Tổ chức OWASP liệt kê các tiêm trong tài liệu OWASP Top
10 của họ là mối đe dọa số một đối với bảo mật ứng dụng web [3]
15
Trang 16Malicious Request Modified Query
a
Hình 1.2 Mô hình tan công sqli
SQL Injection có thể được sử dụng theo nhiều cách đề gây ra các vấn đề nghiêm trọng.Bang cách sử dung SQL Injection, kẻ tan công có thê bỏ qua xác thực, truy cập, sửa đổi
và xóa dữ liệu trong cơ sở dữ liệu Trong một số trường hợp, SQL Injection thậm chí cóthể được sử dụng dé thực thi các lệnh trên hệ điều hành, có khả năng cho phép kẻ tấncông leo thang thành các cuộc tan công gây hại hơn bên trong mạng nằm sau tường lửa.SQL Injection có thé duoc phan loai thanh ba loai chinh: In-band SQLi, Inferential SQLi
Trang 17Đề thực hiện một cuộc tan công SQL Injection, trước tiên kẻ tấn công phải tìmthấy các đầu vào dé bị tan công của người dùng trong trang web hoặc ứng dụng web.Trang web hoặc ứng dụng web có lỗ hồng SQL Injection sử dụng đầu vào của người
dùng trực tiếp trong một truy van SQL Kẻ tan công có thé tạo nội dung đầu vào Nội
dung như vậy thường được gọi là payload độc hại và là phần quan trọng của cuộc tấncông Sau khi kẻ tan công gửi nội dung này, các lệnh SQL độc hai được thực thi trong
cơ sở đữ liệu SQL là một ngôn ngữ truy vấn được thiết kế để quản lý dữ liệu được lưutrữ trong cơ sở dữ liệu quan hệ Ta có thể sử dụng nó dé truy cap, sua đổi và xóa đữ liệu
Nhiều ứng dụng web và trang web lưu trữ tat cả dữ liệu trong cơ sở dữ liệu SQL Trongmột số trường hợp, chúng ta cũng có thể sử dụng các lệnh SQL dé chạy các lệnh của hệđiều hành Do đó, một cuộc tan công SQL Injection thành công có thé gây ra những hậu
quả rất nghiêm trọng
1.1.4.2 Tấn công Broken Authentication
Khai thác xác thực bị hỏng, một cuộc tan công thường được bat đầu bằng cách
lợi dụng thông tin đăng nhập và phiên đăng nhập được quản lý kém dé giả dạng người
dùng đã được xác thực Điều này thường liên quan đến một tình huống như sau:
Session là một chuỗi các sự kiện và giao dịch được liên kết với cùng một người
dùng trong một khung thời gian nhất định Khi người dùng đã đăng nhập vào hệ thống,
họ sẽ được cấp một ID phiên duy nhất (Cookie, Tham số URL, Mã xác thực ) chophép giao tiếp giữa người dùng và ứng dụng web cho một phiên hợp lệ Nhiều nhà pháttriển không phát triên được các thông số phù hợp cho các phiên, khiến hacker dễ dàngchiếm đoạt ID phiên và truy cập trái phép hệ thống Ngoài ra, một số nhà phát triểnkhông đặt được giới hạn thời gian và kế hoạch xoay vòng cho các phiên, cho phép những
kẻ tan công mạo danh người dùng đã đăng nhập vào hệ thống
Với việc các công ty chuyên nhiều dữ liệu nhạy cảm và có giá trị lên cloud, tintặc đang ngày càng nhắm mục tiêu vào các ứng dụng web dé tấn công Do đó, các lỗhồng xác thực và quan lý phiên bị hỏng được coi là hai lỗ héng hàng dau trong danh
sách OWASP vì sử dung thông tin đăng nhập của người dùng hợp lệ là cách dé nhất dé
kẻ tan công truy cập vào các hệ thống có giới hạn
Những tác nhân độc hại này dựa vào một số kỹ thuật dé lay cắp thông tin đăngnhập, dự đoán thông tin hoặc lừa người dùng tiết lộ chúng, bao gồm:
e Phishing
e Credential stuffing
e Password spraying
1.1.4.3 Tan cong Cross Site Scripting (XSS)
Các cuộc tan công XSS xảy ra khi kẻ tan công sử dung ứng dung web dé gửi mãđộc hại, thường ở dạng tập lệnh phía trình duyệt, tới một người dùng cuối khác Flaws
17
Trang 18cho phép các cuộc tắn công này thành công khá phổ biến và xảy ra ở bat kỳ đâu mà mộtứng dụng web sử dụng đầu vào từ người dùng trong đầu ra mà nó tạo ra mà không xác
nhận hoặc mã hóa nó Kẻ tan công có thé sử dụng XSS dé gửi một tập lệnh độc hại đến
một người dùng không nghỉ ngờ Trình duyệt của người dùng cuối không có cách nào
dé biết rằng tập lệnh không được tin cậy và sẽ thực thi tập lệnh Bởi vì nó cho rằng tập
lệnh đến từ một nguồn đáng tin cậy, tập lệnh độc hại có thể truy cập vào bất ky cookie,
mã thông báo phiên hoặc thông tin nhạy cảm nao khác được trình duyệt lưu giữ va sử
dụng với trang web đó Các đoạn mã này thậm chí có thể viết lại nội dung của trang
User Vulnerable Website
Hình 1.4 Mô hình tan công XSS
Tấn công XSS có ba loại chính: Reflected XSS, Stored XSS, DOM-based XSS
Reflected XSS: là một dạng cross-site script đơn giản nhất Nó phát sinh khi một
ứng dụng nhận dữ liệu trong một yêu cầu HTTP và bao gồm dit liệu đó trong phản hồitức thì theo cách không an toàn XSS cho phép kẻ tan công đưa tập lệnh vào nội dung
của trang web hoặc ứng dụng Khi người dùng truy cập trang bị nhiễm, tập lệnh sẽ thực
thi trong trình duyệt của nạn nhân Điều này cho phép những kẻ tan công lấy cắp thông
18
Trang 19tin cá nhân như cookie, thông tin tài khoản hoặc thực hiện các hoạt động tùy chỉnh trong
khi mạo danh danh tính của nạn nhân.
Stored XSS: được xem là nguy hiểm hon Reflected XSS, đó là Stored XSS Khácvới Reflected tấn công trực tiếp vào một số nạn nhân mà hacker nhắm đến, Stored XSS
hướng đến nhiều nạn nhân hơn Lỗi này xảy ra khi ứng dụng web không kiểm tra kỹcác dit liệu đầu vào trước khi lưu vào cơ sở dit liệu (ở đây tôi dùng khái niệm này dé chỉdatabase, file hay những khu vực khác nhằm lưu trữ dữ liệu của ứng dụng web) Ví dụ
như các form góp ý, các comment trên các trang web Với kỹ thuật Stored XSS ,
hacker không khai thác trực tiếp mà phải thực hiện tối thiêu qua 2 bước Đầu tiên hacker
sẽ thông qua các điểm đầu vào (form, input, textarea ) không được kiểm tra kỹ dé chèn
vào CSDL các đoạn mã nguy hiểm
Ghi chú
Hình 1.5 Stored XSS
DOM-base XSS: là một biến thé của reflected XSS Trong DOM-based XSSattack, chuỗi độc hai không thực sự được xử ly bởi trình duyệt nạn nhân cho đến khi
JavaScript hợp pháp của website được thực thi Trong các persistent và reflected XSS
attack, máy chủ sẽ chèn tập lệnh độc hại vào trang dé gửi phản hồi cho nạn nhân Khitrình duyệt nạn nhân nhận được phản hồi, nó nhận tập lệnh độc hại là một phần của nộidung của trang và tự động thực thi như với bất kỳ tập lệnh nào khác
Tuy nhiên, trong DOM-based XSS attack, không có tập lệnh độc hại nào được
chèn vào trang; tập lệnh duy nhất được tự động thực thi trong khi tải trang là một phầnhợp pháp của trang Van đề là tập lệnh hợp pháp này sử dung dữ liệu của người dùng dé
thêm HTML vào trang Vì chuỗi độc hại được chèn vào trang bằng cách sử dụnginnerHTML, nên nó được phân tích cú pháp dưới dạng HTML, khiến tập lệnh độc hạiđược thực thi Thường phát sinh khi JavaScript lay dữ liệu từ một nguồn có thé kiểmsoát được của kẻ tan công, chang hạn như URL và chuyền nó đến một phần mềm hỗ trợthực thi mã động, chang hạn như eval () hoặc innerHTML Điều này cho phép những kẻtan công thực thi JavaScript độc hại, thường cho phép chúng chiếm đoạt tài khoản của
người dùng khác.
19
Trang 201.1.4.4 Tan công Cross-Site Request Forgery (CSRF)
Tan công CSRF (Cross Site Request Forgery) là kỹ thuật tan công bằng cách sử
dụng quyền chứng thực của người dùng đối với một Website CSRF là kỹ thuật tấn côngvào người dùng, dựa vào đó hacker có thê thực thi những thao tác phải yêu cầu sự chứng
thực.
Các ứng dụng Web hoạt động theo cơ chế nhận các câu lệnh HTTP Request từ người sửdụng, sau đó thực thi các câu lệnh này Hacker sử dụng phương pháp CSRF dé lừa trìnhduyệt của người dùng gửi đi các câu lệnh HTTP đến các ứng dụng Web Điều đó có thểthực hiện băng cách chèn mã độc hay link đến trang web mà người dùng đã được chứngthực Trong trường hợp phiên làm việc của người dùng chưa hết hiệu lực thì các câulệnh trên sẽ được thực hiện với quyền chứng thực của người sử dụng Hình dưới mô tảkịch bản tấn công CSRF được thực hiện qua các bước
Tricked into clicking a link in the email
OOO
Ouse: Logs in My Bank
Victim User https:/www.mybank.com
Victim user opens the email
in the same browser
You have won
1000 USD HTML
2) |
Attacker Creates crafted, legitimate-looking
request and send the link by email
<img src="http://mybank.com/accountitransfer?
amount=5000&accountNumber=425654" width="
height="0">
Dựa trên nguyên tắc của CSRF "lừa trình duyệt của người dùng (hoặc người dùng) gửi
các câu lệnh HTTP", các kĩ thuật phòng tránh sẽ tập trung vào việc tìm cách phân biệt
và hạn chế các câu lệnh giả mạo
Đối với phía Server có thể sử dụng những kỹ thuật như sử dụng Captcha, các thông báo
xác nhận, sử dụng token cho riêng từng form.
Đối với người dùng, người dùng cần nâng cao kiến thức về an toàn Web Tránh việcclick vào các link lạ được gửi qua thư điện tử hay tin nhắn Bên cạnh đó người dùngcũng không nên lưu các thông tin về mật khâu tại trình duyệt của mình (không nên chọn
các phương thức "đăng nhập lần sau", "lưu mật khẩu" dé tránh hacker có thé dé dàngkhai thác và tan công
1.2 Tổng quan phát hiện tan công ứng dụng web
20
Trang 21Các cuộc tan công ứng dụng web là một lĩnh vực ngày càng quan trọng trong bảo mật thông tin và điều tra số Có thể thấy rằng những kẻ tan công dang phát triển khả
năng vượt qua các kiểm soát an ninh và thực hiện một số lượng lớn các cuộc tan congtinh vi Một số nỗ lực đã được thực hiện dé giải quyết các cuộc tan công nay bằng cách
sử dụng nhiều loại công nghệ và một trong những thách thức lớn nhất là ứng phó vớicác cuộc tấn công mới và chưa biết một cách hiệu quả Có nhiều giải pháp được sử dụng
để phát hiện các cuộc tấn công, chăng hạn như tường lửa, hệ thống phát hiện xâm nhập,honeypots và kỹ thuật điều tra số Các kỹ thuật khai thác dir liệu và học máy, cố gang
giải quyết các thiếu sót của công nghệ truyền thống và tạo ra các giải pháp hiệu quả hơn,
cũng được nghiên cứu Nó nhằm mục đích đóng góp vào lĩnh vực nghiên cứu đang phát triển này bằng cách khám phá các kỹ thuật thong minh và thuận tiện hơn dé phát hiện
tấn công ứng dụng web.
Các ứng dụng web rất cần thiết cho một loạt các ứng dụng, bao gồm chính phủđiện tử, thương mại điện tử, các trang mạng xã hội, blog, hệ thống quản lý nội dung và
web email Được truy cập bởi hàng triệu người dùng Internet hàng ngày Sự phong phú
của các ứng dụng web và nâng cao chức năng cũng như tính dễ truy cập và tính khả
dụng đã dẫn đến hầu hết các doanh nghiệp phụ thuộc nhiều hơn vào chúng Thật không
may, cho những lý do tương tự, các ứng dụng web đã trở thành mục tiêu của những kẻ
tấn công Các điểm yêu bảo mật chính đã làm cho web các ứng dụng dễ bị tấn công vànghiêm trọng các cuộc tấn công và có một số nghiên cứu trong tài liệu
Quá trình theo dõi và phát hiện các cuộc tan công web đã trở nên phức tap và các
phương pháp truyền thống không hiệu quả [4] Hơn nữa, pháp y tan công web phải đối
mặt với những thách thức do lượng đữ liệu không lồ được tạo ra bởi các mạng Các điềutra số rất khó dành thời gian dé phân tích lượng dữ liệu không 16 trong hệ thong phát
hiện xâm nhập và nhật ký tường lửa, cũng như nhật ký được tạo bởi các ứng dụng và dịch vụ mạng.
1.2.1 Cơ sở phát hiện tan công ứng dụng web
1.2.1.1 Các cuộc tan công ứng dung web
Thuật ngữ “tan công ứng dụng web” dùng dé chỉ một cuộc tan công mà điểm yếu
của mã ứng dụng web bị lợi dụng và đó như một lợi thé dé xâm pham tinh bao mat cua
hệ thong back-end Do đó, nhiều phân loại được su dung dé phân loại các cuộc tấn côngứng dung web, và các phân loại phô biến nhất là OWASP top 10 va Sans top 25 Sựphân loại các cuộc tấn công web đa dạng khác nhau gần như chắc chắn sẽ phát triển hơn
trong tương lai Do đó, có các khung chính xác sẽ đóng góp và hỗ trợ trong việc phát
triển các ứng dụng phát hiện Trong những năm gần đây, ngày càng có nhiều sự quantâm đến bảo mật ứng dụng web, nhưng các điểm yếu về bảo mật cũng ngày càng gia
tăng Các công nghệ tích hợp trong ứng dụng web, chang hạn như phía máy khách, mãphía máy chủ, logic ứng dụng và lưu trữ cơ sở đữ liệu, có thể là một yếu tố quan trọngdẫn đến điểm yếu bảo mật Hình 1.6 cho thấy có một điểm yếu rõ rệt trong máy chủ
web, kiểm soát bảo mật và máy chủ cơ sở dit liệu
21
Trang 22Security Controls Security Weakness
[|
|
r— internet “củi
-Client Firewall Web Server Application server Database Server
Errors in (client-side scripts, server-side codes, application
and business logic objects)
e Code kém và cấu hình sai
e = Thiết kế giao thức truyền siêu văn bản (HTTP), không theo kịp với cấu trúc phức
tạp ngày nay của các ứng dụng web.
Các phương pháp bảo mật hiện tại đã được chứng minh là không đáng tin cậy và
một ứng dụng web có thê truy cập ở giao diện người dùng có thể bị khai thác bởi nhiềukiểu tấn công khác nhau
1.2.1.2 Data mining
Khai phá dữ liệu đã được sử dung dé chi các phương pháp trong mô hình từ dữ liệu quy
mô lớn được trích xuất dé giúp đưa ra quyết định Do sự sẵn có của dữ liệu khong 16 vớinhu cầu cấp thiết đề phân tích và trích xuất thông tin hữu ích, các kỹ thuật phân tích dữliệu cổ điển là không đủ và cần phải tìm ra các giải pháp tốt hơn Do đó, khai thác dữliệu tích hợp các lĩnh vực khác nhau như thống kê, học máy, cơ sở dữ liệu và trí tuệ nhântạo Mục tiêu cụ thể của các kỹ thuật khai phá dữ liệu là tạo ra một mô hình mô tả hoặcmột mô hình dự đoán Mô hình mô tả thường được xây dựng dé mô tả các thuộc tính
mô tả chung của tập dữ liệu với sự trợ giúp của các kỹ thuật thống kê Ngược lại, mô
hình dự đoán phân tích tập dữ liệu để xây dựng mô hình nhằm dự đoán các hành độngtrong tương lai của dữ liệu mới sắp xuất hiện
Khai phá dữ liệu dự đoán bao gồm: quy tắc kết hợp, phân loại, phân tích hồi quy
và phân tích xu hướng Khai thác dữ liệu được chứng minh là hiệu quả và có giá tri trong
nhiều ứng dụng vì nó chứa các kỹ thuật xử lý tìm kiếm trên máy tính và trích xuất mộtmẫu từ quy mô lớn, đồng thời phân tích một lượng lớn dữ liệu để tìm ra mối quan hệlogic và chuyền đôi dữ liệu theo một cách mới dé được hiểu dé sử dụng thêm
22
Trang 231.2.1.3 Machine learning
Hoc máy là lập trình ngầm hiểu cho máy tinh bằng cách áp dụng lý thuyết về các
mô hình thống kê và toán học dé tối ưu hóa tốt hơn bang cách sử dung dữ liệu mẫu hoặc
kinh nghiệm trong quá khứ Một khía cạnh quan trọng của học máy là khả năng tự động
hóa việc giải quyết các vấn đề và nhiệm vụ Đề đạt được mục tiêu mong muốn này, haiphương pháp học được sử dụng: học có giám sát bao gồm (phân loại, máy vectơ hỗ trợ,mạng nơ-ron) và học không giám sát bao gồm (clustering, dimensionality reduction,recommender systems, distance and normalization) Mặc dù có sự giống nhau giữa các
phương pháp học trong thực tế, mặc dù sự khác biệt nam ở lý do sử dụng Ví dụ, trongtrường hợp không có kiến thức trước về tập dit liệu, học tập không giám sát được sử
dụng trong khi học tập có giám sát được sử dụng nếu kiến thức trước đó tồn tại
1.2.2 Các kỹ thuật phát hiện tấn công ứng dụng web phổ biến
Nhiều nhà nghiên cứu đang nỗ lực phát hiện và ngăn chặn các cuộc tan công ứng
dung web Cho đến nay, nhiều kỹ thuật đã được phát triển dé giải quyết van đề mới nổi
này Có hai phương pháp phát hiện cơ bản hiện đang được áp dụng trong nghiên cứu:
+ Dựa trên bat thường: Các kỹ thuật dựa trên dị thường có thê phát hiện các cuộctan công chưa biết do khả năng học hỏi Đáng tiếc, dựa trên bat thường hy sinh hiệu suất
và độ chính xác với tính gia cao.
* Dựa trên chữ ký: Các kỹ thuật dựa trên chữ ký dựa trên các quy tắc xác định
trước về chữ ký tấn công cho phép nó đạt được độ chính xác rất cao trong việc phát hiện
các cuộc tân công đã biết va ít bị đương tính giả Tuy nhiên, nó không thành công trongviệc phát hiện các cuộc tấn công mới và chưa biết Cả dựa trên sự bất thường và dựatrên chữ ký đều được áp dụng trên nhiều giải pháp bảo mật Nói chung, chúng diễn ratrong phân tích cuộc tan công trong lưu lượng HTTP từ hành vi bên ngoài của quanđiểm ứng dụng Những kỹ thuật đó có thể được chia thành ba công nghệ chính:
» Tường lửa ứng dụng web
+ Hệ thống phát hiện xâm nhập ứng dụng
¢ Honeypots ứng dụng web
23
Trang 241.2.2.1 Tường lửa ứng dụng web
Hình 1.7 Ngăn chặn request nguy hiểm sử dụng WAF
Tường lửa ứng dung web (WAF) là một trong những giải pháp được sử dụng
rộng rãi nhất dé phát hiện và ngăn chặn các cuộc tấn công ứng dụng web Bên cạnh đó,khả năng làm việc ở lớp cap ứng dụng có thé là một yếu tố quan trọng trong việc kiêmsoát lưu lượng truy cập trên máy chủ web và phát hiện một máy chủ độc hai [5] N hiều
ý kiến cho rằng WAF hiệu quả trong việc ngăn chặn vi phạm và giảm thiểu các cuộc tan
công Mặc dù vậy, nó vẫn mac phải một số điểm yếu nghiêm trọng Trong nhiều nămqua, đã có nhiều lời chỉ trích về tường lửa ứng dụng web Những chỉ trích này chống lại
cả VIỆC thực hiện cụ thé và các sản phẩm thương mại, cũng như khả năng né tránh WAF bằng một số cuộc tan công Thập kỷ vừa qua đã chứng kiến sự phát triển và nâng cao
nhanh chóng của WAF dưới dạng phần mềm và phần cứng Mặc dù vậy, vẫn còn những
thiếu sót do kỹ thuật quy tắc được xác định trước và không có khả năng nhận ra logic
ứng dụng cấp cao
Có nhiều hạn chế của tường lửa ứng dụng web khiến nó trở thành một giải pháp
không hiệu quả Độ chính xác thấp và không có khả năng phát hiện cuộc tan công khôngxác định, ngoài ra còn làm tăng chi phí vận hành và nỗ lực thủ công Gần đây, nhữnghạn chế của tường lửa ứng dụng web này đã được các nhà nghiên cứu giải quyết theonhiều cách Ví dụ, áp dụng các kỹ thuật tự động hóa, chăng hạn như học máy và cácthuật toán khai thác dữ liệu như trong Tuy nhiên, nó sẽ đặt ra câu hỏi về hiệu suất vì
các ứng dụng web hoạt động trong thời gian thực với lưu lượng truy cập cao Nghịch lý
thay, việc áp dụng các kỹ thuật để nâng cao hiệu suất của các thuật toán khai thác dữ
liệu và học máy cũng sẽ làm giảm độ chính xác Tương tự như vậy, việc triển khai tườnglửa ứng dụng web phan cứng dé chịu áp lực của hiệu suất có thé dẫn đến chi phí cao
1.2.2.2 Hệ thống phát hiện xâm nhập ung dụng
Các nhà nghiên cứu đã tìm ra loại hệ thống phát hiện mới được gọi là Hệ thống
phát hiện xâm nhập ứng dụng (AIDS) dé khắc phục những hạn chế của WAF Trên thực
24
Trang 25tế, AIDS đã khắc phục được các vấn đề về IDS dựa trên mang [6] Hơn nữa, AIDS cóthể hoạt động song song với các bức tường lửa dé tăng cường khả năng bảo vệ và thêmmột lớp bảo mật mới dé ngăn chan các cuộc tấn công web.
Nói chung, IDS sử dụng các kỹ thuật phát hiện dựa trên chữ ký hoặc dựa trên
điểm bất thường, đôi khi kết hợp giữa hai phương pháp đó Việc phân biệt "dựa trên chữký" với các phương pháp phát hiện "dựa trên điểm bất thường" đã trở nên phô biến.Tương tự như vậy, có một quan điểm rộng rãi rằng dựa trên chữ ký tốt hơn dựa trên bấtthường trong các cuộc tấn công đã biết Do đó, dựa trên chữ ký đã được áp dụng trongcác sản phẩm thương mại trong khi việc sử dụng dựa trên bất thường ít hơn trong thươngmại Dựa trên bất thường tập trung nhiều hơn vào nghiên cứu, vì khả năng chống lại các
cuộc tấn công không xác định
AIDS được xây dựng và cải tiến bằng một số kỹ thuật khác Mặt khác, phần lớncác tài liệu về AIDS bị chỉ trích bởi một số hạn chế nghiêm trọng Ví dụ, tấn công mã
hóa đa cấp và lưu lượng được mã hóa có thé trốn tránh và vượt qua hệ thống phát hiện
xâm nhập, cùng với hiệu suất thấp, chi phí cao và độ chính xác phát hiện thấp Gần đâyhơn, việc sử dụng khai thác dữ liệu và hoc máy dé giải quyết những thiếu sót của AIDS
Các thuật toán như cây quyết định, SVM, hồi quy logistic, trích xuất đặc trưng và nhận
dạng mẫu đã chứng minh tiềm năng của chúng trong việc đạt được độ chính xác pháthiện tấn công cao với hiệu suất tốt và tỷ lệ sai thấp
1.2.2.3 Honeypot
WAFE và IDS gan giống nhau va sử dụng các kỹ thuật tương tự như có thé thaytrong Bang 1 Ngược lại, honeypot sử dụng các kỹ thuật khác nhau về cơ bản Giá tricủa nó trở nên rõ ràng trong các cuộc tan công hoặc thăm đò Nó đóng vai trò mỗi nhử
và bay đối với lưu lượng độc hại nhằm cung cấp thông tin duy nhất mà các kỹ thuật khác
không thé lay được Honeypot được phân thành hai loại là nghiên cứu và sản phamhoneypot Mục tiêu của sản phẩm honeypot là bảo mật trực tiếp cho các công ty hoặc tôchức Honeypot nghiên cứu nhằm mục đích thu thập thông tin về những kẻ tan công và
các cuộc tan công dé cung cấp bảo mật gián tiếp Trong khi đó, honeypot có thé được
phân loại theo mức độ tương tác, tùy thuộc vào các dịch vụ mà nó mô phỏng và tài
nguyên, đến honeypot tương tác cao và honeypots tương tác thấp
Honeypot giải quyết van đề đương tính giả, vốn gặp phải với WAF và IDS, băng
cách giảm dương tính giả do thu thập lượng thông tin nhỏ nhưng có giá trị cao Tuy
nhiên, yếu tố rủi ro của những vết mật ong này khiến chúng không còn là giải pháp pháthiện tấn công trực tiếp 'Thập kỷ qua đã chứng kiến một số lượng đáng kề các dự án được
phát triển trên honeypots của ứng dụng web, tập trung vào việc tăng cường che giấu vàlừa dối Trong những năm gan đây, các nhà nghiên cứu đã tìm hiểu honeypot như mộtchất xúc tác trong việc phát hiện cuộc tấn công thông qua việc tạo tự động chữ ký choIDS, quan sát và phân tích các cuộc tấn công web, tìm hiểu về chiến thuật và động cơ
của kẻ tấn công Kết hợp với nhau, honeypot sẽ giúp chống tội phạm mạng, phát hiện
25
Trang 26các cuộc tấn công và theo dõi tội phạm, điều này sẽ cải thiện các kỹ thuật phát hiện tấn
WAF AIDS Honeypot
Dựa trên chữ ky,Phương pháp | phat ĐĐpSAP | pH hiện bat thường P hign bit | Du trên chữ ký, phat Giả lậ
thường
Kiêm tra lưu
lượng được mã Có Không Có
Các loại tân Các cuộc tan công
Chính xác Trung bình Trung bình Cao
Thách thức Dễ dàng bypass, | Cảnh báo sai cao, lưu | Rủi ro lớn nếu bị phát
chi phi, bảo trì lượng được mã hóa hiện
Bảng 1.1.So sánh các đặc điểm kỹ thuật phát hiện tan công ứng dụng web
1.3 Kết chương
Chương 1 đã giới thiệu tổng quan về khái niệm, kiến trúc của ứng dụng web
Cách thức hoạt động của ứng dụng web, phân tích các điểm yếu trong kiến trúc ứngdụng web Nêu một số cách thức tấn công phô biến vào ứng dụng web Tổng quan cơ
sở phát hiện xâm nhập ứng dụng web cũng như các cách thức phát hiện xâm nhập phố
biên.
Trong chương 2 của đồ án sẽ đi vào tìm hiểu cách thức phát hiện tan công ứng
dụng web sử dụng công cụ Snort IDS.
26
Trang 27CHƯƠNG 2 PHÁT HIEN TAN CONG UNG DUNG WEB SỬ DUNG SNORT
IDS
Chương 2 trình bày chi tiết về cách thức phát hiện tan công sử dung công cụ
snort dựa vào vào tập luật cua công cu snort.
2.1 Tổng quan hệ thống phát hiện xâm nhập
kẻ gian truy cập trái phép vào hệ thống thông qua internet, hoặc người dùng không được
cơ quan có thầm quyền cho phép hoặc tác giả cố gắng đạt được các đặc quyền khôngthuộc quyền của ho Mặc dù tat cả các sự cố này đều có hại, nhưng một số sự có khác
có thé dẫn đến sự trùng hợp ngẫu nhiên, fi gure-1 cho thấy khái niệm về IDS
Company
Network
lạP<-H[nf
-*-Hình 2.1 Mô hình hệ thống phát hiện xâm nhập
Hệ thong phát hiện xâm nhập (IDS) là một chương trình thực hiện hoạt động
giám sát Quá trình này là quét dữ liệu và so sánh nó với một cơ sở dữ liệu lớn chứa các
quy tac logic hoặc các dấu vết cho các cuộc tan công trước đó Nó kiểm tra traffi c độchại, và nếu kết quả trùng khớp, sẽ gửi cảnh báo đến quản trị viên mạng Hệ thống không
ngăn chặn hoặc ngăn chặn các cuộc tan công, nhưng chức năng duy nhất của nó là phát
hiện, ghi lại và cảnh báo khi nó xảy ra
27
Trang 28Hệ thống phát hiện xâm nhập (IDS) là một hệ thống giám sát lưu lượng mạng dé
tìm hoạt động đáng ngờ và đưa ra cảnh báo khi hoạt động đó được phát hiện Day là một
ứng dụng phần mềm quét mạng hoặc hệ thống để tìm hoạt động có hại hoặc vi phạm
chính sách Bat kỳ vi phạm độc hại nào thường được báo cáo cho quản trị viên hoặcđược thu thập tập trung băng cách sử dụng hệ thống quản lý sự kiện và thông tin bảomật (SIEM) Hệ thống SIEM tích hợp đầu ra từ nhiều nguồn và sử dụng kỹ thuật lọc
cảnh báo dé phân biệt hoạt động độc hại với cảnh báo giả
Phương pháp phát hiện xâm nhập vẫn còn mới trong lĩnh vực bảo mật ứng dụng
web IDS chủ yếu được thiết kế để quan sát và phát hiện các hoạt động xâm nhập trênmạng Tuy nhiên, đặc điểm của các cuộc tấn công dựa trên mạng có sự khác biệt đáng
kể so với các cuộc tấn công trên nền web Cái trước nhắm vào lớp mang trong khi cái
sau tập trung vào lớp ứng dụng Thứ hai, các ứng dụng web hiện tại rất phức tạp, dựa
trên cơ sở dữ liệu và thường được tạo bởi các nhà phát triển có kỹ năng bảo mật hạn
chế Các ứng dụng này được tùy chỉnh cao, cung cấp nội dung động, tạo điều kiện chocác phiên người dùng tương tác và tiến hành các hoạt động nghiệp vụ phức tạp Bề mặt
tấn công thay đôi theo logic nghiệp vụ và bộ kỹ năng tương ứng được sử dụng để thiết
kế các ứng dụng này Do đó, việc tạo IDS dé nhận biết các hoạt động đáng ngờ trên mộttrang web yêu cầu một cách tiếp cận khác đáng kê so với IDS được thiết kế dé giám sát
lưu lượng mạng.
Hệ thống Ngăn chặn Xam nhập (IPS) là một chương trình có tất cả các tính năngcủa Hệ thong Phát hiện Xâm nhập; nó cũng có khả năng ngăn chan sự xâm nhập Nó có
khả năng dừng hoặc chặn traffic mạng dựa trên logic hoặc dấu vết Tất cả trong thời
gian thực và có thê được kết hợp với các thiết bị và hồ sơ báo cáo và phân tích hiệu suất
khác.
2.1.2 Các phương pháp phát hiện
Các phương pháp luận phát hiện xâm nhập được phân thành ba loại chính: Phát
hiện dựa trên chữ ky (SD), Phát hiện dựa trên điểm bat thường (AD) và phân tích giaothức trạng thái (SPA) Bảng 2.1 cho thấy ưu và nhược điểm của ba phương pháp phát
Mô tả khái niệm của chúng như sau:
- Phát hiện dựa trên chữ ký (SD) là một mẫu hoặc chuỗi tương ứng với một cuộc tấn
công hoặc mối đe dọa đã biết SD là quá trình so sánh các mẫu với các sự kiện đã bắt
được dé nhận ra các hành vi xâm nhập có thể xảy ra Do sử dụng kiến thức tích lũy được
từ các cuộc tan công cụ thể và lỗ hồng hệ thống, SD còn được gọi là Phát hiện dựa trên
kiến thức
- Phát hiện dựa trên sự bất thường (AD) là sự sai lệch đối với một hành vi đã biết và cáccấu hình đại diện cho các hành vi bình thường hoặc được mong đợi bắt nguồn từ giám
sát các hoạt động thường xuyên, kết nối mạng, máy chủ hoặc người dùng trong một
khoảng thời gian Hồ sơ có thể là tĩnh hoặc động và được phát triển cho nhiều thuộc
28
Trang 29tính, ví dụ: các lần đăng nhập không thành công, số lượng e-mail đã gửi, Sau đó, AD
so sánh các hồ sơ bình thường với các sự kiện được quan sát dé nhận ra các cuộc tấn
công đáng kể AD cũng được gọi là phát hiện dựa trên hành vi Một số ví dụ của AD, vídụ: cố gắng đột nhập, giả mạo, thâm nhập bởi người dùng hợp pháp, từ chối dịch vụ
(DOS).
- Phân tích giao thức trạng thái (SPA) chỉ ra rằng IDS có thê biết và theo dõi các trạngthái giao thức (ví dụ: ghép nối các yêu cầu với các trả lời) Tưởng rằng quy trình SPAtrông giống như quảng cáo, nhưng về cơ bản chúng khác nhau AD sử dung mang đượctải trước hoặc cầu hình máy chủ lưu trữ cụ thể, trong khi SPA phụ thuộc vào cầu hìnhchung do nhà cung cấp phát triển cho các giao thức cụ thể Nói chung, các mô hình giaothức mạng trong SPA ban đầu dựa trên các tiêu chuẩn giao thức từ các tô chức tiêu
chuẩn quốc tế, ví dụ: IETF SPA còn được gọi là phát hiện dựa trên đặc điểm kỹ thuật.Hau hết các IDS kết hợp sử dụng nhiều phương pháp dé cung cấp khả năng phát hiện
rộng rãi và chính xác hơn Vi du: SD và AD là các phương pháp bổ sung, vì phương
pháp trước đây liên quan đến các cuộc tấn công nhất định
các cuộc tân công
- Tạo điều kiện
thuận lợi cho việc
phát hiện lạm dụng
đặc quyền
Phương pháp | Signature-based Anomaly-based Stateful protocol
(knowledge-based) | (behavior-based) analysis
(specification-based)
Uu diém - Phương pháp don | - Hiệu quả dé phat | - Biết và theo dõi các
giản và hiệu quả hiện các lỗ hồng trạng thái giao thức
nhất dé phát hiện | mới và không
- Phân biệt các chuỗi
lệnh không mong
muôn.
Nhược điềm - Không hiệu quả
dé phát hiện cáccuộc tan công
không xác định,
các cuộc tan công
trốn tránh và cácbiến thé của các
- Tiêu tôn tài nguyên détheo doi và kiểm tra
trạng thái giao thức.
- Không thể kiểm tracác cuộc tan công trônggiống như các hành vi
giao thức bình thường.
29
Trang 30cuộc tân công đã dựng lại hồ sơ hành
biết vi.
- Hiểu biết ít về các | - Khó kích hoạt
trạng thái và giao | cảnh báo đúng lúc
Bảng 2.1 Ưu và nhược điểm của các phương thức phát hiện xâm nhập
2.1.3 Phân loại hệ thống phát hiện xâm nhập
Ngày nay, có rất nhiều loại công nghệ IDS Có thê phân loại các công nghệ thành
bốn loại tùy theo nơi chúng được triển khai dé kiểm tra các hoạt động đáng ngờ và các
loại sự kiện nào mà chúng có thể nhận ra
2.1.3.1 HIDS
HIDS là loại phát hiện xâm nhập được phát triển đầu tiên HIDS giám sát và phântích hệ thong máy tính nội bộ hoặc các hoạt động cấp hệ thống của một máy chủ như:cấu hình hệ thống, hoạt động ứng dụng, lưu lượng mạng không dây (chỉ dành cho máychủ đó) hoặc giao diện mạng, nhật ký hệ thống hoặc nhật ký kiểm tra, chạy các quy trình
người dùng hoặc ứng dụng Hình 2.2 đại diện cho HIDS Các khả năng của HIDS bao
gồm kiểm tra tính toàn vẹn, tương quan sự kiện, phân tích nhật ký, thực thi chính sách,
phát hiện rootkit, bộ xử lý, bộ nhớ, đĩa cứng và sử dụng pin và cảnh báo HIDS có xu
hướng chính xác hơn và ít dương tính giả hơn IDS dựa trên mạng bởi vì nó phân tích
các tệp log và do đó, nó có thể xác định liệu một cuộc tấn công có xảy ra thành cônghay không Hệ thống phát hiện xâm nhập dựa trên máy chủ yêu cầu các chương trìnhhoặc agent được cài đặt trên hệ thống dé tạo báo cáo cho biết nếu có bat kỳ hoạt độngđộc hại nào xảy ra Sự cô với hệ thống dựa trên máy chủ là họ có xu hướng sử dụngnhiều tài nguyên vì họ sử dụng cùng một tai nguyên máy tính được cài đặt trên đó vàkhông có hệ điều hành độc lập như các loại IDS khác
Không giống như NIDS, kiểm tra tất cả lưu lượng mạng, HIDS kiểm tra và pháthiện các hành vi bất thường bên trong một máy chủ Nguyên tắc trung tâm đằng sau tínhhiệu quả của HIDS là những kẻ tan công thường dé lại dấu vết hoạt động của chúng Vi
dụ, họ có thể cài đặt phần mềm trên máy tính mà họ đã tiếp quản Nói chung, HIDS sẽduy trì cơ sở dữ liệu của các đối tượng hệ thống mà nó cần giám sát Cơ sở dữ liệu chứa
30
Trang 31thông tin quan trọng về các đối tượng hệ thống này bao gồm các thuộc tính, thời giansửa đổi, kích thước Ngoài ra, cơ sở dir liệu có thé chứa tong kiểm tra hoặc băm của các
đối tượng hệ thống Các đối tượng này sau này có thé được sử dụng dé so sánh với cácđối tượng hệ thống hiện tại Nếu tai một thời điểm nao đó, một đối tượng trở nên không
nhất quán, hệ thống có thé tạo ra một cảnh báo Tuy nhiên, bằng cách nào đó kẻ tan công
có thé giành được quyên truy cập vào cơ sở dữ liệu Do đó, chỉ cần khớp một hàm bămkhông đảm bảo rằng kẻ xâm nhập đã không can thiệp vào tệp được đề cập Đối với các
tệp rất động, kỹ thuật tổng kiểm tra này sẽ không hiệu quả
IDS là các sản pham được thiết kế dé phát hiện các truy cập hoặc thao tác khôngmong muốn của hệ thống Tuy nhiên, chúng thường không ngăn chặn hoặc bảo vệ khỏicác cuộc tấn công Hệ thống IDS cũng là hệ thống lâu đời nhất hiện có Ngược lại, mụcđích của hệ thống ngăn chặn xâm nhập (IPS) không chỉ là phát hiện một cuộc tấn công
đang xảy ra mà còn dé ngăn chặn no Dé làm được như vậy, nó có thé được coi là sự kếthợp nâng cao giữa tường lửa và IDS Dé minh họa điều này, trước tiên chúng ta xem xéttường lửa hoạt động như thế nào Ý tưởng đằng sau tường lửa xuất phát từ việc sử dụng
chúng trong việc xây dựng tòa nhà dé ngăn chặn sự lây lan của đám cháy Theo nghĩa
mạng, chúng thực hiện một chức năng tương tự Thay vì ngăn lửa lan từ tòa nhà này
sang tòa nhà khác, chúng ngăn chặn một số lưu lượng mạng nhất định đi từ phần mạngnày sang phần mạng khác Nó thường thực hiện điều này bằng cách kiêm tra các phầncủa gói IP và quyết định có cho phép gói đó đi qua hay không Tường lửa có thé hoạt
động theo cả hai hướng, ngăn chặn lưu lượng truy cập vào và ra khỏi mạng Tường lửa
có thê được coi là một loại IPS rất đơn giản trong đó nó hoạt động bằng cách sử dụngđịa chỉ IP và các công và thông tin tiêu đề khác, nhưng nó không xem xét nội dung củagói tin IPS tiên tiến hơn ở chỗ nó có thể sử dụng thông tin lớp ứng dụng dé cé gắng xác
định mục đích của gói tin Như đã đề cập, nó kết hợp sức mạnh lọc của tường lửa, với
sức mạnh phát hiện như IDS có, cùng với khả năng ngăn chặn các cuộc tấn công Vìnhững lý do này IPS được coi là một trong những công nghệ mang day hứa hẹn Tương
tự như IDS, IPS có thể được chia thành nhiều loại Cũng giống như IDS, chúng bao gồm
IPS dựa trên mạng (NIPS) và IPS dựa trên máy chủ (HIPS).
Xu hướng gần đây trong ngành cho thấy ngày càng có nhiều công ty lựa chọn cácgiải pháp dựa trên IPS thay vì các giải pháp dựa trên IDS, chủ yêu do nhu cầu chủ độngngăn chặn các cuộc tấn công của hacker, thay vì giám sát chúng một cách thụ động nhưmột hệ thong IDS van làm Mặc dù lưu lượng truy cập hợp pháp thường bị chặn cũng
giống như lưu lượng truy cập độc hại, hầu hết các quản trị viên hệ thống tin răng lợi ích
chắc chắn lớn hơn nhược điểm, đặc biệt là khi xem xét thiệt hại đáng ké mà một con sâu
thành công hoặc hacker có thể có trên một tổ chức Nó nên được lưu ý rằng việc chặn
lưu lượng truy cập hợp pháp không phải là duy nhất van dé trong hệ thống IPS Sự cónày xảy ra ở bất kỳ loại nào của hệ thống chặn lưu lượng truy cập, bao gồm cả tườnglửa Các khả năng xác định bản chất độc hại của một gói tin với chỉ đơn giản là độ chínhxác 100% là không thể Vì lý do này, bất kỳ triển khai bảo mật tương tự đều không tránh
khỏi dương tính giả.
31