Snort là một hệ thống phát hiện xâm nhập mạng (NIDS) mã nguồn mở miễn phí.NIDS là một kiểu của hệ thống phát hiện xâm nhập (IDS), được sử dụng để quét dữ liệu di chuyển trên mạng. Cũng có các hệ thống phát hiện xâm nhập hostbased, được cài đặt trên một host cụ thể và chỉ để phát hiện các sự tấn công nhắm đến host đó.
Trang 1MỤC LỤ
LỜI NÓI ĐẦU 1
Chương 1 TỔNG QUAN VỀ HỆ THỐNG PHÁT HIỆN XÂM NHẬP 1.1 Tổng quan về các nguy cơ an ninh 2
1.1.1 Những kiểu tấn công nhằm vào điểm yếu của hệ thống 2
1.1.2 Vấn đề bảo mật hệ thống mạng 7
1.2 Tổng quan về hệ thống phát hiện và phòng chống xâm nhập 11
1.2.1 Định nghĩa 11
1.2.2 Vai trò của hệ thống phát hiện xâm nhập IDPS 12
1.2.3 Những ưu điểm và hạn chế của hệ thống 12
1.2.4 Kiếm trúc chung của hệ thống phát hiện xâm nhập 13
Chương 2 CẤU TRÚC, CHỨC NĂNG VÀ TẬP LUẬT CỦA SNORT 2.1 Tổng quan về Snort 21
2.2.1 Khái niệm 21
2.2.2 Các đặc tính 21
2.2 Các thành phần của Snort 22
2.2.1 Bộ phận giải mã gói 23
2.2.2 Bộ phận tiền xử lý 24
2.2.3 Bộ phận phát hiện 25
2.2.4 Hệ thống ghi và cảnh báo 31
2.2.5 Bộ phận đầu ra 31
2.3 Các chế độ làm việc của Snort 32
2.3.1 Chế độ “lắng nghe” mạng 32
2.3.2 Chế độ phát hiện xâm nhập mạng 34
2.4 Làm việc với tập luật của Snort 34
2.4.1 Luật dở đầu tiên: 35
2.4.2 Cấu trúc chung của luật trong Snort 35
Chương 3 TRIỂN KHAI SNORT BẢO VỆ HỆ THỐNG MẠNG 3.1 Tiêu chí triển khai 43
3.2 Xây dựng snort bảo vệ hệ thống mạng 43
3.2.1 Tham khảo một số mô hình thực tế 43
Trang 23.2.2 Xây dựng mô hình 47
3.3 Triển khai cơ sở hạ tầng 48
3.3.1 Cấu hình 48
3.3.2 Cài đặt snort trong hệ thống ubuntu 48
3.3.3 Cấu hình với file Snort.conf 48
3.4 Phân tích snort bảo vệ hệ thống trước các cuộc tấn công 53
3.4.1 Mô hình tấn công 53
3.4.2 Tấn công SQL injection 53
KẾT LUẬN 1 Những vấn đề gặp phải khi sử dụng IDS 56
2 IPS là giải pháp: 56
3 Đánh giá và xu hướng phát triển của IDS 57
TÀI LIỆU THAM KHẢO 59
Trang 3DANH MỤC CÁC KÝ HIỆU
IDS Intrusion Detection System Hệ thống phát hiện xâm nhập IPS Intrusion Prevention System IPS Hệ thống phòng chống xâm
nhập HIDS Host-based Instrusion Detection System
Hệ thống phát hiện và phát hiện
và phòng chống xâm nhập trên máy trạm.
NIDS Network–based Instrusion
Detection System
Hệ thống phát hiện xâm nhập trên mạng.
VPN Virtual Private Network Mạng riêng ảo
SSL Secure Sockets Layer
SQL Structure query language Ngôn ngữ truy vấn có cấu trúc DNS Domain Name System Hệ thống tên miền
CGI Common Gateway Interface Giao diện cổng thông thường TCP Transfer Control Protocol Giao thức điều khiển truyền thông. CSS Cross Site Scripting
URL Uniform Resource location Định vị tài nguyên web
HTTP Hyper Text Transfer protocol thức truyền siêu văn bản
Dos Denial of service Từ chối dịch vụ
DDos Distributed Denial of service Từ chối dịch vụ phân tán
IIS Internet Infomation Server Dịch vụ thông tin mạng
LAN Local Area Network Mạng máy tính cục bộ
Trang 4DANH MỤC CÁC BẢNG
Bảng 1.1: So sánh HIDS và NIDS 14Bảng 2.1: Rule header 35Bảng 3.1: Cơ sở hạ tầng 48
Trang 5DANH MỤC CÁC HÌNH
Hình 1.1 Tấn công thăm dò 2
Hình 1.2 Tấn công DDoS 3
Hình 1.3 Số liệu tấn công ứng dụng web 5
Hình 1.4 Tấn công XSS 5
Hình 1.5 Tấn công SQL Injection 7
Hình 1.6 Tổng quan về một sơ đồ hình cây của tấn công DDoS 10
Hình 1.7 Hệ thống phát hiện xâm nhập dựa máy trạm 13
Hình 1.8 Hệ thống phát hiện xâm nhập trên mạng 14
Hình 1.9 Mô hình IDPS mức vật lý 15
Hình 1.10 Hệ thống phát hiện xâm nhập IDS 16
Hình 1.11 Mô hình thu thập dữ liệu ngoài luồng 16
Hình 1.12 Mô hình thu thập dữ liệu trong luồng 17
Hình 1.13 Các phương thức cảnh báo 19
Hình 2.1 Sơ đồ khối của hệ thống cài đặt Snort 22
Hình 2.2 Sơ đồ khối của hệ thống cài đặt Snort 23
Hình 2.3 Mô hình xử lý gói tin Ethernet 23
Hình 2.4 Bộ phận tiền xử lý 25
Hình 2.5 Bộ phận phát hiện 25
Hình 2.6 Logging và Alerting System của Snort 31
Hình 2.7 Tính năng sniffer 32
Hình 2.8 Sơ đồ luật hình cây của snort 34
Hình 3.1 Hoạt động của hệ thống 44
Hình 3.2 Hệ thống Snort trên solaris 45
Hình 3.3 Mô hình dự kiến 47
Hình 3.4 Mô hình thực tế 47
Hình 3.5 Mô hình tấn công 53
Hình 3.6 Giao diện trang web 54
Hình 3.8 Thông báo trên snort 55
Trang 6LỜI NÓI ĐẦU
Trong sự phát triển thông tin mạnh mẽ như hiện nay, đặt ra yêu cầu tất yếu bắt buộc các cơ quan, tổ chức phải hòa mình vào mạng toàn cầu Internet Khi thực hiện kết nối mạng nội bộ của các cơ quan, doanh nghiệp, tổ chức với Internet thì việc bảo vệ an toàn và bảo mật thông tin là một trong những vấn đề quan trọng được đặt lên hàng đầu Hàng giờ, hàng ngày có hàng trăm thậm chí hàng nghìn dữ liệu bị đánh cắp, gây ra những hư hại, thiệt hại rất lớn Nhiều dự
án, chương trình nghiên cứu về các biện pháp an toàn thông tin được triển khai nhằm ngăn chặn, giảm bớt các cuộc tấn công, nhằm tạo ra một hệ thống bảo vệ tối ưu nhất.
Đa số tấn công này nhằm vào tất cả các máy tính có mặt trên Internet, các máy tính của các công ty lớn như: Microsoft, IBM, các trường đại học và các cơ quan nhà nước, các tổ chức quân sự, nhà băng….một sô vụ án tấn công với quy
mô khổng lồ ( có tới 100.000 máy tính bị tấn công) đánh cắp dữ liệu Hơn nữa đây chỉ là những con số nhỏ mà ta có thể thống kê được Một phần rất lớn các
vụ tấn công không được thông báo vì nhiều lý do, trong đó có thể kể đến nỗi lo mất uy tín hoặc chỉ đơn giản những người quản trị dự án không hề hay biết những vụ tấn công nhằm vào hệ thống của họ.
Không chỉ các vụ tấn công tăng lên nhanh chóng mà các phương pháp tấn công cũng liên tục được hoàn thiện, công nghệ cao, hiện đại, tinh vi Đặt ra yêu cầu việc quản trị hệ thống thông ti, dữ liệu ngày càng phải đề cao cảnh giác, nâng cao trình độ, khả năng chuyên môn.
Xuất phát từ đáp ứng nhu cầu hòa nhập vào mạng toàn cầu, mạng Internet song vẫn đảm bảo an toàn thông tin trong quá trình kết nối Bởi vậy, chúng em
đã quyết định chọn đề tài: “ Nghiên cứu phương pháp ngăn chặn tấn công SQLI bằng Snort”, nhằm giám sát luồng thông tin ra vào và bảo vệ các hệ thống mạng thoát khỏi sự tấn công từ Internet Nội dung đề tài này sẽ trình bày một cách khái quát về hệ thống phát hiện và phòng chống xâm nhập ( IDS & IPS), cách bảo vệ mạng bằng Snort, cách xây dựng Snort trên hệ thống mã nguồn mở sao cho hệ thống vừa an toàn, vừa tiết kiệm một cách tối đa.
Qua phân tích các công trình và đề tài có thể thấy việc ngăn chặn các cuộc tấn công, xâm nhập đã đạt được nhiều hiệu quả trong thực tiễn Các đề tài đã đưa ra các phương pháp chống sự tấn công nhằm bảo mật dữ liệu, bảo vệ thông tin
Trang 7cố định Với kiểu phòng thủ này, các hệ thống an ninh sẽ bất lực trước kỹ thuật tấncông mới, đặc biệt là các cuộc tấn công nhằm vào điểm yếu của hệ thống.
1.1.1 Những kiểu tấn công nhằm vào điểm yếu của hệ thống
Có bốn kiểu tấn công đặc biệt là:
+ Thăm dò
+ Truy cập
+ Từ chối dịch vụ (DoS)
+ Ứng dụng web
1.1.1.1 Kiểu tấn công thăm dò
Thăm dò là việc thu thập dữ liệu trái phép về tài nguyên, các lỗ hổng hoặcdịch vụ của hệ thống Các cách tấn công truy cập hay DoS thường được tiến hànhbởi kiểu tấn công thăm dò Hiển nhiên, các hacker phải biết có thể tấn công cái gìtrước khi xâm nhập Thăm dò giống như một kẻ trộm nhà băng muốn biết có baonhiêu bảo vệ đang làm nhiệm vụ, bao nhiêu camera, vị trí của chúng và đường thoáthiểm Thăm dò là một kiểu tấn công, nó cũng là một giai đoạn tấn công
Chương 1 Tấn công thăm dò.
Trang 81.1.1.2 Kiểu tấn công truy cập
Truy cập là một thuật ngữ rộng miêu tả bất kỳ kiểu tấn công nào đòi hỏi ngườixâm nhập lấy được quyền truy cập trái phép của một hệ thống bảo mật với mục đíchthao túng dữ liệu, nâng cao đặc quyền, hay đơn giản chỉ là truy cập vào hệ thống[3]:
a Tấn công truy cập hệ thống
Truy cập hệ thống là hành động nhằm đạt được quyền truy cập bất hợp phápđến một hệ thống mà ở đó hacker không có tài khoản sử dụng Hacker thường tìmkiếm quyền truy cập đến một thiết bị bằng cách chạy một đoạn mã hay bằng nhữngcông cụ hack (hacking tool), hay là khai thác một yếu điểm của ứng dụng hoặc mộtdịch vụ đang chạy trên máy chủ
b Tấn công truy cập thao túng dữ liệu
Thao túng dữ liệu xuất hiện khi kẻ xâm nhập đọc, viết, xóa, sao chép hay thayđổi dữ liệu Nó có thể đơn giản như việc tìm phần mềm chia sẻ (share) trên máytính Window 9x hay NT, hay khó hơn như việc cố gắng xâm nhập một hệ thống tíndụng của cục thông tin (credit bureau’s information)
c Tấn công truy cập nâng cao đặc quyền
Nâng cao đặc quyền là một dạng tấn công phổ biến Bằng cách nâng cao đặcquyền, kẻ xâm nhập có thể truy cập vào các files hay folder dữ liệu mà tài khoảnngười sử dụng ban đầu không được cho phép truy cập Khi hacker đạt được mức độquyền truy cập đủ cao, họ có thể cài đặt phần mềm như là backdoors và Trojanhorses, cũng như cho phép truy cập sâu hơn và thăm dò Mục đích chung của hacker
là chiếm được quyền truy cập ở mức độ quản trị Khi đã đạt được mục đích đó, họ
có toàn quyền điều khiển hệ thống mạng
1.1.1.3 Kiểu tấn công từ chối dịch vụ
Kiểu tấn công DoS được thực hiện nhằm làm vô hiệu hóa, làm hư hỏng , hay gây tổn hại đến tài nguyên mạng với mục đích cản trở việc sử dụng những hệ thống này của người dùng Dạng phạm tội điện tử này là dạng tấn công tồi tệ nhất mà các công ty thương mại điện tử phải đối mặt bởi vì mục đích duy nhất của hacker là ngăn chặn người dùng sử dụng các dịch vụ điện tử của các công ty Ý định của dạngtấn công này chỉ đơn giản nhằm gây tổn hại và chống lại một công ty trong việc buôn bán
Chương 2 Tấn công DDoS.
Trang 9Một hacker với một PC ở nhà phải mất một lượng lớn thời gian tạo ra đủ lưulượng mạng để làm quá tải một nhóm máy chủ Internet Để tấn công DoS hiệu quả,hacker sử dụng nhiều hệ thống máy tính khác nhau nhằm lấn át máy chủ (đích Sửdụng nhiều hệ thống máy tính để tấn công máy chủ hay mạng được gọi là tấn công
từ chối dịch vụ phân phối (DdoS) Dạng tấn công này đã từng thành công khi tấncông web site của Yahoo!, ebay và CNN.com Một hacker liên quan sau đó bị bắt và
bị truy tố
Tấn công DDoS gồm các giai đoạn sau:
a Giai đoạn đầu tiên – Mục tiêu:
Là giai đoạn định nghĩa đối tượng Điều đầu tiên cần làm rõ trong mọi hoạtđộng cũng như việc hacking là xác định được mục tiêu Kết quả của việc xác lậpmục tiêu của kiểu tấn công dẫn đến việc hình thành, chọn lựa những những công cụ
và phương pháp phù hợp Mục tiêu đơn giản là toàn bộ mục đích của người xâmnhập Nếu kẻ xâm nhập có động cơ trả thù thì kiểu tấn công DoS phù hợp với nhucầu đó Nếu kẻ tấn công là một đối thủ thì, xâm nhập hệ thống và thao túng dữ liệumới là mục tiêu Khi kẻ xâm nhập tiến hành những bước của một kiểu tấn công, thìmục tiêu có thể và thường thay đổi Một yếu tố quan trọng khác nữa trong việc xácđịnh mục tiêu là động cơ đằng sau sự xâm nhập Hầu hết những script kiddies(hacker mới vào nghề) bị thúc đẩy bởi sự hồi hộp, gay cấn trong khi đó nhữnghacker cao cấp bị thúc đẩy bởi những động cơ như thử thách trí tuệ, trả thù, kiếmtiền bất hợp pháp
b Giai đoạn hai thăm dò:
Giai đoạn thăm dò, như chính tựa đề của nó, là giai đoạn mà hacker sử dụngnhiều nguồn tài nguyên để thu thập thông tin về hệ thống đối tượng Thông thườngnhững hacker có kinh nghiệm thường thu thập những thông tin về công ty đốitượng, như là vị trí của công ty, số điện thoại, tên của những nhân viên, địa chỉ e-mail, tất cả đều hữu dụng với người xâm nhập có kinh nghiệm
c Giai đoạn thứ ba giai đoạn tấn công:
Giai đoạn cuối cùng là giai đoạn tấn công Trong giai đoạn tấn công kẻ xâmnhập bắt đầu cố gắng xâm nhập mạng và tài nguyên hệ thống trên mạng Bằng cách
sử dụng các thông tin đã thu thập được, một vài hacker có thể thực hiện việc tấncông nhiều lần cho đến khi phát hiện được lỗi bảo mật để có thể khai thác
1.1.1.4 Kiểu tấn công qua ứng dụng web
Theo số liệu thống kê từ các công ty bảo mật hàng đầu hiện nay, thời gian gầnđây số lượng các cuộc tấn công vào ứng dụng web đã tăng lên nhanh chóng (75%các cuộc tấn công được thực hiện là ở lớp ứng dụng web Trong đó hai kĩ thuật tấncông được các hacker sử dụng phổ biến là cross-site scripting và sql injection vàhình sau đây:
Trang 10Chương 3 Số liệu tấn công ứng dụng web.
a Kiểu tấn công cross-site scripting (hay còn gọi là xss):
XSS là một trong những kĩ thuật tấn công phổ biến nhất hiện nay, đồng thời nócũng là một trong những vấn đề bảo mật quan trọng đối với các nhà phát triển web
và cả những người sử dụng web Bất kì một website nào cho phép người sử dụngđăng thông tin mà không có sự kiểm tra chặt chẽ các đoạn mã nguy hiểm thì đều cóthể tiềm ẩn các lỗi XSS
Tin tặc tấn công bằng cách chèn vào các website động (ASP, PHP, CGI, JSP
…) những thẻ HTML hay những đoạn mã script nguy hiểm có thể gây nguy hại chonhững người sử dụng khác Trong đó, những đoạn mã nguy hiểm đựơc chèn vàohầ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, hacker sẽ lợi dụng sự tin cậy giữa người dùng vàserver cùng với việc không kiểm tra kĩ lưỡng dữ liệu vào ra
Ví dụ: Sử dụng XSS chèn mã java script trực tiếp trên URL
http://www.demo.com/search.cgi?query=<script>alert(‘XSS was found !’);</script>
Khi wesite http://www.demo.com bị lỗi XSS trình duyệt sẽ hiện lên một thôngbáo “XSS was found !”
Nếu như các kĩ thuật tấn công khác có thể làm thay đổi được dữ liệu nguồncủa web server (mã nguồn, cấu trúc, cơ sở dữ liệu) thì XSS chỉ gây tổn hại đối vớiwebsite ở phía client mà nạn nhân trực tiếp là những người khách duyệt site đó
Chương 4 Tấn công XSS.
Trang 11b SQL Injection:
Tấn công SQL Injection được thực thi bằng cách chèn các câu truy vấn SQLvào dữ liệu tương tác giữa máy khách và trình ứng dụng Quá trình khai thác lỗiSQL Injection thành công có thể giúp tin tặc lấy được các dữ liệu nhạy cảm trong cở
sở dữ liệu, thay đổi cơ sở dữ liệu (Insert/Update/Delete), thực thi các hành động vớiquyền của người quản trị và cao hơn có thể điều khiển được hệ điều hành máy chủ
Ví dụ: Xét đoạn mã truy vấn SQL sau:
Select * From Users Where Username=’$username’ and
Password=’$password’
Đây là một câu truy vấn thường hay được dùng trong các trình ứng dụng nhằmxác thực người dùng Nếu câu truy vấn trả về một giá trị nói rằng thông tin về ngườidùng đang đăng nhập là đúng và được lưu trong cơ sở dữ liệu, thì người dùng đượcphép đăng nhập vào hệ thống, ngược lại thì không đăng nhập được Người dùngnhập thông tin đó vào các trường gọi là web form
Thay vì nhập đúng tên đăng nhập và mật khẩu, thử nhập vào các ký tự đặc biệtnhư:
$username = 1′ or ‘1’ = ‘1
$password = 1′ or ‘1’ = ‘1
Khi đó câu truy vấn sẽ là:
SELECT * FROM Users WHERE Username=’1′ OR ‘1’ = ‘1’ AND
Trang 12Chương 5 Tấn công SQL Injection.
1.1.2 Vấn đề bảo mật hệ thống mạng
1.1.2.1 Các vấn dề chung về bảo mật hệ thống mạng
Đặc điểm chung của một hệ thống mạng là có nhiều người sử dụng chung vàhân tán về mặt địa lý nên việc bảo vệ tài nguyên (mất mát hoặc sử dụng không hợplệ) phức tạp hơn nhiều so với việc môi trường một máy tính đơn lẻ, hoặc một người
sử dụng
Hoạt động của người quản trị hệ thống mạng phải đảm bảo các thông tin trênmạng là tin cậy và sử dụng đúng mục đích, đối tượng đồng thời đảm bảo mạng hoạtđộng ổn định không bị tấn công bởi những kẻ phá hoại
Nhưng trên thực tế là không một mạng nào đảm bảo là an toàn tuyệt đối, một
hệ thống dù được bảo vệ chắc chắn đến mức nào thì cũng có lúc bị vô hiệu hóa bởinhững kẻ có ý đồ xấu
Trong nội dung đề tài của em là “Tìm hiểu và triển khai hệ thống phát hiện vàphòng chống xâm nhập” Trong nội dung về lý thuyết của đề tài em xin trình bày vềmột số khái niệm sau:
1.1.2.2 Khái niệm bảo mật hệ thống mạng máy tính
a Đối tượng tấn công mạng (intruder):
Đối tượng là những cá nhân hoặc tổ chức sử dụng những kiến thức về mạng vàcác công cụ phá hoại (gồm phần cứng hoặc phần mềm) để dò tìm các điểm yếu vàcác lỗ hổng bảo mật trên hệ thống, thực hiện các hoạt động xâm nhập và chiếm đoạttài nguyên trái phép Một số đối tượng tấn công mạng như:
Trang 13Hacker: là những kẻ xâm nhập vào mạng trái phép bằng cách sử dụng cáccông cụ phá mật khẩu hoặc khai thác các điểm yếu của thành phần truy nhập trên hệthống
Masquerader: Là những kẻ giả mạo thông tin trên mạng như giả mạo địa chỉ
IP, tên miền, định danh người dùng…
Eavesdropping: Là những đối tượng nghe trộm thông tin trên mạng, sử dụngcác công cụ Sniffer, sau đó dùng các công cụ phân tích và debug để lấy được cácthông tin có giá trị
Những đối tượng tấn công mạng có thể nhằm nhiều mục đích khác nhau như
ăn cắp các thông tin có giá trị về kinh tế, phá hoại hệ thống mạng có chủ định, hoặc
có thể đó là những hành động vô ý thức…
b Các lỗ hổng bảo mật:
Các lỗ hổng bảo mật là những điểm yếu trên hệ thống hoặc ẩn chứa trong mộtdịch vụ mà dựa vào đó kẻ tấn công có thể xâm nhập trái phép vào hệ thống để thựchiện những hành động phá hoại chiếm đoạt tài nguyên bất hợp pháp
c Chính sách bảo mật:
Chính sách bảo mật là tập hợp các quy tắc áp dụng cho những người tham giaquản trị mạng, có sử dụng các tài nguyên và các dịch vụ mạng Đối với từng trườnghợp phải có chính sách bảo mật khác nhau Chính sách bảo mật giúp người sử dụngbiết trách nhiệm của mình trong việc bảo vệ các tài nguyên trên mạng, đồng thờicòn giúp cho nhà quản trị mạng thiết lập các biên pháp đảm bảo hữu hiệu trong quátrình trang bị, cấu hình và kiểm soát hoạt động của hệ thống và mạng
1.1.2.3 Lỗ hổng bảo mật và phương thức tấn công mạng
a Các loại lỗ hổng:
Có nhiều các tổ chức đã tiến hành phân loại các dạng lỗ hổng đặc biệt Theo
bộ quốc phòng Mỹ các loại lỗ hổng được phân làm ba loại như sau:
Lỗ hổng loại C: Cho phép thực hiện các hình thức tấn công theo DoS (Denial
of Services- Từ chối dịch vụ) Mức độ nguy hiểm thấp chỉ ảnh hưởng tới chất lượngdịch vụ, làm ngưng trệ gián đoạn hệ thống, không làm phá hỏng dữ liệu hoặc đạtđược quyền truy cập bất hợp pháp Hiện nay chưa có một biện pháp hữu hiệu nào đểkhắc phục tình trạng tấn công kiểu này vì bản thân thiết kế ở tầng Internet (IP) nóiriêng và bộ giao thức TCP/IP nói chung đã ẩn chứa những nguy cơ tiềm tang củacác lỗ hổng loại này
Lỗ hổng loại B: Cho phép người sử dụng có thêm các quyền trên hệ thống màkhông cần kiểm tra tính hợp lệ dẫn đến mất mát thông tin yêu cầu cần bảo mật Lỗhổng này thường có trong các ứng dụng trên hệ thống Có mức độ nguy hiểm trungbình Lỗ hổng loại B này có mức độ nguy hiểm hơn lỗ hổng loại C Cho phép người
sử dụng nội bộ có thể chiếm được quyền cao hơn hoặc truy nhập không hợp pháp.Những lỗ hổng loại này thường xuất hiện trong các dịch vụ trên hệ thống Người sửdụng local được hiểu là người đã có quyền truy nhập vào hệ thống với một số quyềnhạn nhất định Một dạng khác của lỗ hổng loại B xảy ra với các chương trình viếtbằng mã nguồn C Những chương trình viết bằng mã nguồn C thường sử dụng mộtvùng đệm, một vùng trong bộ nhớ sử dụng để lưu trữ dữ liệu trước khi xử lý Người
Trang 14lập trình thường sử dụng vùng đệm trong bộ nhớ trước khi gán một khoảng khônggian bộ nhớ cho từng khối dữ liệu Để hạn chế được các lỗ hổng loại B phải kiêmsoát chặt chẽ cấu hình hệ thống và các chương trình [3].
Lỗ hổng loại A: Cho phép người ngoài hệ thống có thể truy cập bất hợp phápvào hệ thống Có thể làm phá huỷ toàn bộ hệ thống Loại lỗ hổng này có mức độ rấtnguy hiểm đe dọa tính toàn vẹn và bảo mật của hệ thống Các lỗ hổng này thườngxuất hiện ở những hệ thống quản trị yếu kém hoặc không kiểm soát được cấu hìnhmạng Những lỗ hổng loại này hết sức nguy hiểm vì nó đã tồn tại sẵn có trên phầnmềm sử dụng, người quản trị nếu không hiểu sâu về dịch vụ và phần mềm sử dụng
có thể bỏ qua điểm yếu này Vì vậy thường xuyên phải kiểm tra các thông báo củacác nhóm tin về bảo mật trên mạng để phát hiện những lỗ hổng loại này [3] Mộtloạt các chương trình phiên bản cũ thường sử dụng có những lỗ hổng loại A như:FTP, Gopher, Telnet, Sendmail, ARP, finger
b Các hình thức tấn công mạng phổ biến:
* Tấn công chủ động:
Bao gồm các phương pháp tấn công từ chối dịch vụ (DoS), tấn công từ chốidịch vụ phân tán (DDoS), Tấn công tràn bộ đệm, tấn công qua ký tự điều khiểnđồng bộ SYN, giả mạo, người trung gian (MITM), giả mạo giao thức điều khiểntruyền tin qua Internet, tự động kết nối đường truyền Hình thức này có nghĩa là lụclại thông tin từ các vùng rác và đệm thông tin, để có được những thông tin quantrọng và tấn công nhờ các công cụ của các mạng xã hội.Tấn công bị động: Bao gồmquét, bắt trộm và nghe trộm các gói tin.Tấn công mật khẩu: Bao gồm việc dự đoán,
so sánh và tra mật khẩu thông qua một bộ từ điển mật khẩu.Tấn công mã nguồn và
mã mật: Bao gồm các phương pháp cửa sau (BackDoor), Vi rút, Trojans, Worms,các khóa mật mã yếu và thuật toán Tấn công chủ động
Một vài phương pháp tấn công chủ động khá nổi tiếng hiện nay như: Tấn công
từ chối dịch vụ, tràn bộ đệm, tấn công ký tự điều khiển đồng bộ SYN, và giả mạo
IP Trong hầu hết các cuộc tấn công DoS, hacker tìm cách tận dụng sự thiếu trongtích hợp cấu trúc bảo mậtcủa giao thức Internet phiên bản 4 (IPv4 IPv6 6 đã khắcphục được rất nhiều lỗ hổng về bảo mật, như đã chứng thực được nguồn gốc của góitin và tính toàn vẹn của nó bằng cách sử dụng một header chứng thực Mặc dù vậythì nó vẫn chưa thể giải quyết được vấn đề hiện nay do IPv6 chưa được sử dụngrộng rãi
Lợi dụng điều này, cách tốt nhất mà một hacker muốn gây tổn hại cho hệthống thương mại điện tử chính là truy cập vào một đích từ nhiều nguồn khác nhau.Các cuộc tấn công DoS thường gồm 2 loại :Tấn công theo kiểu Tiêu thụ tài nguyên(như tạo lũ ký tự điều khiển SYN)Tấn công theo kiểu Gói tin không hợp lệ
Các cấu trúc lệnh hỗ trợ một cuộc tấn công DDoS khá phức tạp và khó có thểđưa ra một thuật ngữ để mô tả chính xác Dưới đây là những cái tên quy ước cho dễhiểu hơn của cấu trúc và các thành phần tham gia trong cuộc tấn công DDoS:
Trang 15Chương 6 Tổng quan về một sơ đồ hình cây của tấn công DDoS.
Client: Phần mềm khách được Hacker sử dụng để bắt đầu cuộc tấn công Phầnmềm khách sẽ gửi các chuỗi lệnh đến các máy chủ dưới quyền
Daemon: Các chương trình đang chạy trên một Zombie sẽ nhận chuỗi lệnh đến
từ Client và thực thi các lệnh đó Daemon sẽ chịu trách nhiệm thực thi chi tiết cuộctấn công từ các dòng lệnh
Các máy chủ tham gia vào cuộc tấn công DDoS bao gồm:
Master: Một máy tính chạy các phần mềm khách.Zombie: Một máy tính cấpdưới chạy quá trình Daemon.Target: Mục tiêu của cuộc tấn công Khi kẻ tấn công
đã chuẩn bị được đầy đủ những gì cần thiết số Zombie, cũng như đã xác định đượcnạn nhân của mình, kẻ tấn công có thể liên hệ với các master (hoặc thông qua cácphương pháp riêng hoặc với một chương trình đặc biệt giành riêng cho DDoS) vàchỉ thị chúng để khởi động cuộc tấn công Các Zombie sẽ bắt đầu tấn công sau khinhận lệnh từ master Chỉ mất vài giây để khởi động và phân tán rộng cuộc tấn công với tốc độ như vậy, thì hacker có thể ngưng cuộc tấn công.Việc sử dụng và pháttriển các phương pháp ttân công DoS và DDoS đã tạo được sự quan tâm của chínhphủ, các doanh nghiệp, và các chuyên gia bảo mật, do nó đưa ra một phương thứctấn công mới cực kỳ hiệu quả , trong khi rất khó trong việc tìm kiếm thông tin kẻtấn công thực sự
1.1.2.4 Vấn đề bảo mật cho hệ thống mạng doanh nghiệp.
Khi nói đến vấn đề bảo mật cho mạng LAN ta thường quan tâm tới những vấn
đề chính là bảo mật thông tin dữ liệu trao đổi bên trong mạng nội bộ, bảo mật thôngtin dữ liệu trao đổi từ trong mạng ra bên ngoài và từ bên ngoài vào trong mạng Việckiểm soát được những truy cập bất hợp pháp từ bên ngoài vào cũng như kiểm soátnhững truy cập không cho phép từ trong nội bộ mạng ra bên ngoài Cùng với sựphát triển mạnh mẽ của Internet và sự kết nối mạng nội bộ với Internet thì vấn đềđảm bảo an toàn, an ninh mạng càng trở nên khó khăn và cần thiết Hiện nay để bảo
Trang 16mật cho mạng LAN có nhiều phương pháp trong đó có một số phương pháp phổbiến và đáng tin cậy đó là:
Mạng riêng ảo (Virtual Private Network- VPN): Là sự mở rộng mạng riêngcủa các công ty, tổ chức thông qua sử dụng các kết nối mạng công cộng hoặc mạngchia sẻ như Internet VPN cung cấp cho khách hàng đầy đủ các tính năng mà mộtkênh thuê riêng có được nhưng với giá thành rẻ hơn do sử dụng hạ tầng cơ sở mạngcông cộng VPN sử dụng giao thức để tạo đường hầm truyền tin riêng và các biệnpháp an ninh để bảo vệ dữ liệu trên đường truyền như mã hoá, xác thực…
IDS & IPS: Thuật ngữ IDS & IPS ( phát hiện và ngăn chặn) thiết kế trong xâydựng để phát hiện và ngăn chặn xâm nhập máy tính trái phép Cũng có thể hiểu rằngIDS & IPS là một cơ chế để bảo vệ mạng tin tưởng (Trusted network) khỏi cácmạng không tin tưởng (Untrusted network)
Qua quá trình tìm hiểu em thấy rằng IDS & IPS là phương pháp hữu hiệu vàphổ biến nhất hiện nay do nó có nhiều ưu điểm, cung cấp những tính năng bảo mậttốt cho vấn đề bảo vệ an ninh mạng hiện nay Trong khuôn khổ bài báo cáo này emxin trình bày về phương pháp bảo mật mạng LAN bằng IDS & IPS
1.2 Tổng quan về hệ thống phát hiện và phòng chống xâm nhập
1.2.1 Định nghĩa
1.2.1.1 Hệ thống phát hiện xâm nhập (Intrusion Detection System-IDS)
Kiểm soát tài nguyên và hoạt động của hệ thống hay mạng, sử dụng thông tinthu thập được từ những nguồn này, thông báo cho những người có trách nhiệm khi
nó xác định được khả năng có sự xâm nhập Nếu tường lửa đóng vai trò như nhânviên bảo vệ cơ quan, kiểm tra mọi người đến và đi thì hệ thống kiểm tra xâm nhậpgiống như có một mạng lưới cảm biến để thông báo cho bạn biết khi có ai đó xâmnhập, họ đang ở đâu và làm gì? Tường lửa "án ngữ" ở ngõ vào của mạng và chỉ làmviệc với những gói tin khi chúng đi vào và đi ra khỏi mạng Một khi kẻ xâm nhập đãvượt qua được tường lửa, người đó có thể tung hoành tuỳ trên mạng Ðó là lý do tạisao hệ thống phát hiện xâm nhập có vai trò quan trọng [3]
Hệ thống phát hiện xâm nhập IDS là hệ thống phần mềm hay phần cứng tựđộng thực hiện quy trình giám sát các sự kiện diễn ra trong hệ thống máy tính haymạng máy tính, phân tích để phát hiện ra những vấn đề an ninh cho hệ thống
1.2.1.2 Hệ thống phòng chống xâm nhập (Intrusion Prevention System- IPS)
Là một tiến trình giám sát các sự kiện xẩy ra trong một hệ thống hoặc mạngmáy tính và phân tích chúng để có thể tìm ra các dấu hiệu của sự việc bất thường,
đó là những sự vi phạm hay những đe dọa sắp xẩy ra vi phạm tới chính sách an ninhmáy tính, chính sách truy cập, hay hoạt động trái chính sách chuẩn
Những sự việc bất thường đó do nhiều nguyên nhân như là: Malware (worms,spyware ), kẻ tấn công đạt được sự truy cập trái phép vào hệ thống thông quaInternet, và những người dùng hợp pháp lạm dụng quyền hay cố gắng thêm vào cácquyền mà họ không được phép Mặc dù nhiều sự kiện là do bản chất, một số khác làkhông phải; ví dụ: một người trong khi đánh sai địa chỉ của một máy tính và tình cờthử kết nối đến một hệ thống không được phép
Hệ thống phòng chống xâm nhập IPS là một kỹ thuật an ninh mới, kết hợp các
ưu điểm của kỹ thuật tường lửa với hệ thống phát hiện xâm nhập IDS, có khả nǎng
Trang 17phát hiện các cuộc tấn công và tự động ngăn chặn các cuộc tấn công công nhằm vàođiểm yếu của hệ thống
1.2.2 Vai trò của hệ thống phát hiện xâm nhập IDPS
1.2.2.1 Phát hiện các nguy cơ tấn công và truy nhập an ninh trái phép
Đây là vai trò chính của một hệ thống phát hiện xâm nhập IDPS, nó có nhiệm
vụ xác định những tấn công và truy nhập an ninh trái phép vào hệ thống mạng bêntrong Hệ thống IDPS có khả năng hỗ trợ phát hiện các nguy cơ an ninh đe dọamạng mà các hệ thống khác(như bức tường lửa) không có khả năng phát hiện, kếthợp với hệ thống ngăn chặn xâm nhập IDPS giúp cho hệ thống chặn đứng, hạn chếcác cuộc tấn công, xâm nhập từ bên ngoài
1.2.2.2 Tăng khả năng hiểu biết về những gì đang hoạt động trên mạng
IDPS cung cấp khả năng giám sát xâm nhập và khả năng mô tả an ninh đểcung cấp kiến thức tổng hợp về những gì đang chạy trên mạng từ góc độ ứng dụngcũng như góc độ mạng cùng với khả năng liên kết với phân tích, điều tra an ninhnhằm đưa ra các thông tin về hệ thống nhờ đó giúp người quản trị nắm bắt và hiểu
rõ những gì đang diễn ra trên mạng
1.2.2.3 Khả năng cảnh báo và hỗ trợ ngăn chặn tấn công
IDPS có thể hoạt động trong các chế độ làm việc của một thiết bị giám sát thụđộng (sniffer mode) hỗ trợ cho các thiết bị giám sát chủ động hay như là một thiết
bị ngăn chặn chủ động (khả năng loại bỏ lưu lượng khả nghi IDPS sẽ hỗ trợ chocác hệ thống an ninh đưa ra các quyết định về lưu lượng dựa trên địa chỉ IP hoặccổng của nguồn thông tin cũng như là đặc tính của tấn công ví dụ như mẫu tấn cônghoặc bất thường về giao thức hoặc lưu lượng tương tác đến từ những máy chủkhông hợp lệ IDS còn có thể cảnh báo và ghi chép các biến cố cũng như thực hiệnbắt giữ gói lưu lượng khi phát hiện tấn công để cung cấp cho nhà quản trị mạng cácthông tin để phân tích và điều tra các biến cố Ngay sau khi các phép phân tích vàđiều tra được thực hiện, một quy tắc loại bỏ lưu lượng sẽ được đưa ra dựa trên kếtquả phân tích, điều tra đó Chính tổ hợp của những thuộc tính và khả năng này cungcấp cho nhà quản trị mạng khả năng tích hợp IDPS vào mạng và tăng cường an ninhđến một mức độ mà trước đây không thể đạt đến bằng các biện pháp đơn lẻ như bứctường lửa
1.2.3 Những ưu điểm và hạn chế của hệ thống
1.2.3.2 Hạn chế
Bên cạnh những ưu điểm, hệ thống phát hiện xâm nhập IDS vẫn còn tồn tạinhững mặt hạn chế: Hệ thống IDPS là một hệ thống giám sát thụ động, cơ chế ngănchặn các cuộc tấn công, xâm nhập trái phép rất hạn chế như gửi tin báo cho tườnglửa để chặn các gói lưu lượng kế tiếp xuất phát từ địa chỉ IP của nguồn tấn công Dovậy, hệ thống IDPS thường đi kèm với hệ thống bức tường lửa Phần lớn, hệ thống
Trang 18IDPS sẽ đưa ra các cảnh báo khi các cuộc tấn công, xâm nhập đã ảnh hưởng tới hệthống do đó sẽ không hiệu quả trong việc ngăn chặn các cuộc tấn công
1.2.4 Kiếm trúc chung của hệ thống phát hiện xâm nhập
1.2.4.1 Phân loại hệ thống phát hiện xâm nhập IDPS
Hệ thống phát hiện xâm nhập có thể được chia làm hai loại chính sau đây:Hệthống phát hiện xâm nhập trên máy trạm, hệ thống phát hiện xâm nhập trên mạng
a Hệ thống phát hiện và phát hiện và phòng chống xâm nhập trên máy based Instrusion Detection System-HIDS):
trạm(Host-Chương 7 Hệ thống phát hiện xâm nhập dựa máy trạm.
Hệ thống HIDS thực hiện thu thập các thông tin từ một hệ thống máy tínhriêng biệt, từ đó thực hiện phân tích các hoạt động diễn ra trên máy trạm
Ưu điểm của HIDS là có khả năng giám sát các tiến trình của hệ điều hànhchạy trên máy trạm và bảo vệ các nguồn tài nguyên quan trọng của hệ thống nhưmột số tệp dữ liệu cực kỳ quan trọng chỉ lưu trên một số máy trạm
b Hệ thống phát hiện xâm nhập trên mạng (Network–based Instrusion Detection System–NIDS):
NIDS sử dụng, triển khai các thiết bị theo dõi được gọi là bộ cảm ứng (Sensor)
để giám sát các lưu lượng và hoạt động trong một khu vực mạng Các bộ cảm ứngnày sẽ kiểm tra các gói tin và nội dung bên trong nó để xác định sự tấn công
Trang 19Chương 8 Hệ thống phát hiện xâm nhập trên mạng.
c So sánh giữa hệ thống HIDS và NIDS:
Bảng 1.1: So sánh HIDS và NIDS.
Áp dụng trong phạm vi rộng (theo dõi
toàn bộ hoạt động của mạng)
Phát hiện dựa trên các dữ liệu, thông
tin thu thập trong toàn bộ mạng Phát hiện dựa trên thông tin, dữ liệu trên máy trạmĐộc lập với hệ điều hành Phụ thuộc vào hệ điều hành trên máy
trạmTiết kiệm kinh phí khi triển khai Yêu cầu chi phí cao
Dễ dàng cài đặt, triển khai Phức tạp khi cài đặt, triển khai
1.2.4.2 Mô hình, cấu trúc và hoạt động của hệ thống.
Một hệ thống phát hiện xâm nhập IDPS được xem là thành công nếu chúnghội tụ được các yếu tố: thực hiện nhanh, chính xác, phân tích được toàn bộ lưulượng và đưa ra các cảnh báo chuẩn xác về các cuộc tấn công và xâm nhập vào bêntrong hệ thống
Trang 20a Mô hình hệ thống phát hiện xâm nhập IDPS mức vật lý:
Chương 9 Mô hình IDPS mức vật lý.
Hệ thống phát hiện xâm nhập mức vật lý bao gồm ba thành phần chính sauđây:
- Bộ cảm ứng (Sensor): các sensor và agent sẽ theo dõi và hoạt động ghi lại.Thuật ngữ sensor là tiêu biểu cho IDPS trong việc theo dõi mạng, bao gồmnetwork-base, wireless, và công nghệ NBA Thuật ngữ agent sử dụng cho côngnghệ IDPS host-base
- Máy chủ lưu trữ dữ liệu trung tâm (Centralize database server): là thiết bịtrung tâm thu nhận thông tin từ Sensor hoặc Agent và quản lý chúng Một sốManagement Server thực hiện phân tích thông tin do Sensor hoặc Agent cung cấp
và có thể xác định các sự kiện mà Sensor và Agent không phát hiện được Làm chophù hợp các thông tin về sự kiện từ nhiều Sensor hoặc Agent, như là tìm ra sự nhiềukiện gây ra bởi cùng một địa chỉ IP, biết đến như là sự tương quan Managementservers có thể hoạt động cho cả thiết bị chuyên dụng cũng như các phần mềm Một
số IDPS nhỏ không triển khai Management servers nhưng hầu hết các hệ thốngIDPS đều có Trong các IDPS lớn thường triển khai nhiều Management servers,trong một số trường hợp còn có 2 lớp Management servers
- Giao diện người dùng (User Interface): là một chương trình cung cấp giaodiện cho người dùng hoặc người quản trị IDPS Phần mềm console tiêu biểu đượccài đặt trên Desktop hoặc Laptop Một số console chỉ dành riêng cho người quản trị,như là cấu hình sensor hoặc agent, ứng dụng update các phần mềm, trong khi cácconsole khác hoàn toàn dành cho giám sát và phân tích Một số console cung cấp cảkhả năng quản trị và giám sát
Mô hình trên còn gọi là mô hình 3 lớp, mô hình này cung cấp cho nhà quản trịmạng sự linh hoạt để truy cập vào hệ thống từ bất cứ đâu để thực hiện quản lý từ xa.Máy chủ quản lý tập trung lưu giữ tất cả các bản ghi và thông tin trong một cơ sở dữliệu thuận tiện cho việc truy cập, quản lý Các bản ghi, dữ liệu được thu thập từnhững bộ cảm biến độc lập được tập hợp lại nhằm phân tích, đánh giá để phát hiệncác nguy cơ đe dọa hệ thống từ bên ngoài
Trang 21b Cấu trúc và hoạt động bên trong hệ thống phát hiện xâm nhập IDS:
Chương 10 Hệ thống phát hiện xâm nhập IDS.
Hệ thống phát hiện xâm nhập bao gồm 3 modul chính:
- Modul thu thập thông tin, dữ liệu: Modul này có nhiệm vụ thu thập cácgói tin trên mạng để đem phân tích Một vấn đề đặt ra trong thực tế là chúng tacần triển khai hệ thống phát hiện xâm nhập IDS ở vị trí nào trong mô hình mạngcủa chúng ta Thông thường chúng ta sẽ đặt IDS ở những nơi mà chúng ta cầngiám sát Có hai mô hình chính để thu thập dữ liệu đó là: mô hình ngoài luồng và
mô hình trong luồng Phần tiếp theo dưới đây, chúng ta sẽ tìm hiểu chi tiết hai môhình triển khai hệ thống IDS trong hệ thống mạng
- Mô hình thu thập dữ liệu ngoài luồng Trong mô hình ngoài luồng khôngcan thiệp trực tiếp vào luồng dữ liệu Luồng dữ liệu vào ra hệ thống mạng sẽđược sao thành một bản và được chuyển tới modul thu thập dữ liệu Với vị trínày, hệ thống phát hiện xâm nhập IDS không làm ảnh hưởng tới tốc độ lưu thôngcủa mạng
Chương 11 Mô hình thu thập dữ liệu ngoài luồng.
Trang 22Mô hình thu thập dữ liệu trong luồng: Trong mô hình này, hệ thống phát hiệnxâm nhập IDS được đặt trực tiếp vào luồng dữ liệu vào ra trong hệ thống mạng,luồng dữ liệu phải đi qua hệ thống phát hiện xâm nhập IDS trước khi đi vào trongmạng
Chương 12 Mô hình thu thập dữ liệu trong luồng.
Ưu điểm của mô hình này, hệ thống phát hiện xâm nhập IDS nằm trên luồng
dữ liệu, nó trực tiếp kiểm soát luồng dữ liệu, đáp ứng được thời gian thực (realtime.Tuy nhiên nó có nhược điểm là ảnh hưởng đáng kể đến tốc độ lưu thông của mạng.Modul phân tích, phát hiện tấn công: Đây là modul quan trọng nhất trong hệthống có nhiệm vụ phát hiện các cuộc tấn công Hệ thống phát hiện xâm nhập thựchiện quá trình phân tích dữ liệu trong modul này được chia thành các giai đoạn:
+ Tiền xử lý – Preprocessing
+ Phân tích – Analysis
+ Cảnh báo – Alter manager
Tiền xử lý – Preprocessing: Tiền xử lý là một chức năng quan trọng, một khi
dữ liệu được thu thập từ modul thu thập thông tin, dữ liệu Trong bước này, dữ liệuđược sắp xếp theo từng phân loại, phân lớp Giai đoạn này sẽ xác định định dạngcủa của dữ liệu đưa vào Khi dữ liệu được định dạng, chúng sẽ được chia nhỏ theotừng phân loại Ngoài ra, nó có thể tái định dạng gói tin (defragment), sắp xếp theochuỗi
Phân tích – Analysis: Ngay sau khi quá trình tiền xử lý kết thúc, quá trìnhphân tích sẽ bắt đầu diễn ra Hiện nay, hệ thống phát hiện xâm nhập IDS dựa trênhai phương pháp chính để phát hiện các cuộc tấn công, xâm nhập đó là:Phát hiệndựa trên luật và phát hiện dựa trên bất thường
Phát hiện dựa trên luật (Rule – Based Detection): Phát hiện dựa trên luật haycòn gọi là phát hiện trên chữ ký, xét phù hợp mẫu hay phát hiện vi phạm, là phươngpháp đầu tiên sớm được sử dụng trong các hệ thống phát hiện xâm nhập Phát hiệndựa trên luật sử dụng so sánh mẫu để phát hiện các mẫu tấn công đã biết
Ví dụ: để xác định xem có phải ai đó đang cố gắng đăng nhập vào một máychủ dưới danh nghĩa của một người sử dụng gốc (Root User), một hệ thống pháthiện xâm nhập dựa trên luật sẽ phát cảnh báo bất cứ khi nào từ khóa “root” xuấthiện trong luồng lưu lượng Tuy nhiên nó có thể là một cảnh báo nhầm, để hạn chế
sự nhầm lẫn hệ thống sẽ chỉ tìm kiếm chuỗi ký tự “root” trong chuỗi ký tự đăngnhập, và đó là một phương pháp phát hiện tấn công có độ chính xác cao Một ví dụkhác, chúng ta xem xét một kiểu tấn công Sendmail Wiz, đó là một dạng tấn công
cố gắng chiếm quyền truy nhập gốc đến máy chủ SMTP Để thực hiện tấn công, kẻ
Trang 23tấn công thiết lập một kết nối SMTP và gửi mẫu “wiz” trong kết nối điều khiển.Một hệ thống phát hiện tấn công cần phải nhận dạng mẫu “wiz” để đưa ra cảnh báo.Kiểu phát hiện này có ưu điểm là phát hiện các cuộc tấn công nhanh, chínhxác, không đưa ra các cảnh báo sai làm giảm khả năng hoạt động của hệ thốngmạng và giúp người quản trị xác định các lỗ hổng bảo mật trong hệ thống của mình.Tuy nhiên, phương pháp này có nhược điểm là không phát hiện được các cuộc tấncông, xâm nhập không có trong mẫu, các kiểu tấn công va xâm nhập mới do vậy hệthống luôn luôn phải cập nhật các mẫu mới.
Phát hiện dựa trên bất thường (Anomaly Detection): Đây là kỹ thuật phát hiệnthông minh, kỹ thuật này giúp nhận dạng các hoạt động không bình thường củamạng Ban đầu, chúng lưu giữ các mô tả sơ lược các hoạt động bình thường của hệthống mạng Các cuộc tấn công, xâm nhập sẽ gây ra các hoạt động bất thường và kỹthuật này sẽ nhận ra các bất thường đó Một số kỹ thuật giúp thực hiện xác định sựbất bình thường của hệ thống:
Phát hiện mức ngưỡng – (Threshold detection): Kỹ thuật này nhấn mạnh vàoviệc đo đếm các hoạt động bình thường trên mạng Các mức ngưỡng về các hoạtđộng bình thường được thiết lập, khi có sự bất thường xảy ra như: đăng nhập vượtquá số lần quy định, số lượng các tiến trình hoạt động trên máy chủ, số lượng mộtloại gói tin vượt quá mức cho phép … thì hệ thống có dấu hiệu bị tấn công hay bịxâm nhập
Phát hiện nhờ quá trình tự học – (Self Learning Detection): Kỹ thuật này baogồm hai bước, khi bắt đầu thiết lập, hệ thống phát hiện tấn công sẽ hoạt động ở chế
độ tự học và tạo ra một hồ sơ về cách cư xử của mạng với các hoạt động bìnhthường Sau thời gian khởi tạo, hệ thống sẽ hoạt động ở chế độ làm việc, tiến hànhtheo dõi, phát hiện các hoạt động bất thường của mạng bằng cách so sánh với hồ sơ
đã thiết lập Chế độ tự học có thể chạy song song với chế độ làm việc để cập nhật
hồ sơ của mình nhưng nếu dò ra có tín hiệu tấn công thì chế độ tự học phải dừng lạicho tới khi cuộc tấn công kết thúc
Phát hiện sự bất bình thường của các giao thức-(Anomaly Protocol Detection):
Kỹ thuật này căn cứ vào hoạt động của các giao thức, các dịch vụ của hệ thống đểphát hiện ra các gói tin không hợp lệ, tìm ra các giao thức mạng vi phạm hay khôngđúng so với các giao thức chuẩn trong RFC, các hoạt động bất thường vốn là dấuhiệu của sự xâm nhập hay tấn công Kỹ thuật này rất hiệu quả trong việc ngăn chặncác hình thức quét mạng, quét cổng để thu thập thông tin của tin tặc Phương phápphát hiện dựa trên bất thường của hệ thống rất hữu hiệu trong việc phát hiện cáccuộc tấn công kiểu từ chối dịch vụ (Denial of Service – DoS Ưu điểm của phươngpháp này là có thể phát hiện ra các kiểu tấn công mới, cung cấp các thông tin hữuích bổ sung cho phương pháp phát hiện dựa trên luật Tuy nhiên, phương pháp pháthiện dựa trên bất thường có nhược điểm thường tạo ra một số lượng cảnh báo sailàm giảm hiệu suất hoạt động của mạng Phương pháp này sẽ là hướng được nghiêncứu nhiều hơn trong tương lai nhằm khắc phục các nhược điểm mắc phải, giảm sốlần cảnh báo sai để hệ thống chạy chuẩn xác hơn
Cảnh báo – (Manager Alter): Quá trình này thực hiện sinh ra các cảnh báo tùytheo đặc điểm và loại tấn công, xâm nhập mà hệ thống phát hiện được
Trang 24Chương 13 Các phương thức cảnh báo.
Modul phản ứng: Đây là một điểm khác biệt giữa hệ thống phát hiện xâmnhập IDS và một hệ thống ngăn chặn xâm nhập IPS Đối với hệ thống IDS, chúngthường chỉ có khả năng ngăn chặn rất hạn chế bởi vì chúng dựa trên cơ chế phảnứng thụ động (passive response Cơ chế phản ứng thụ động không thể ngăn chặnđược tổn thất vì nó chỉ được đưa ra sau khi mà tấn công đã ảnh hưởng tới hệ thống.Khi có dấu hiệu của sự tấn công hoặc thâm nhập, modul phát hiện tấn công sẽ gửitín hiệu báo hiệu có sự tấn công hoặc thâm nhập đến modul phản ứng Lúc đómodul phản ứng gửi tín hiệu kích hoạt tường lửa thực hiện chức nǎng ngǎn chặncuộc tấn công hay cảnh báo tới người quản trị Tại modul này, nếu chỉ đưa ra cáccảnh báo tới các người quản trị và dừng lại ở đó thì hệ thống này được gọi là hệthống phòng thủ bị động Modul phản ứng này tùy theo hệ thống mà có các chứcnǎng và phương pháp ngǎn chặn khác nhau Dưới đây là một số kỹ thuật ngǎn chặn:Kết thúc tiến trình: Cơ chế của kỹ thuật này là hệ thống IDS gửi các gói tinnhằm phá huỷ tiến trình bị nghi ngờ Tuy nhiên phương pháp này có một số nhượcđiểm Thời gian gửi gói tin can thiệp chậm hơn so với thời điểm tin tặc bắt đầu tấncông, dẫn đến tình trạng tấn công xong rồi mới bắt đầu can thiệp Phương pháp nàykhông hiệu quả với các giao thức hoạt động trên UDP như DNS, ngoài ra các gói tincan thiệp phải có trường thứ tự đúng như các gói tin trong phiên làm việc của tiếntrình tấn công Nếu tiến trình tấn công xảy ra nhanh thì rất khó thực hiện đượcphương pháp này
Huỷ bỏ tấn công: Kỹ thuật này dùng tường lửa để hủy bỏ gói tin hoặc chặnđường một gói tin đơn, một phiên làm việc hoặc một luồng thông tin tấn công Kiểuphản ứng này là an toàn nhất nhưng lại có nhược điểm là dễ nhầm với các gói tinhợp lệ
Thay đổi các chính sách của tường lửa: Kỹ thuật này cho phép người quản trịcấu hình lại chính sách bảo mật khi cuộc tấn công xảy ra Sự cấu hình lại là tạm thờithay đổi các chính sách điều khiển truy nhập bởi người dùng đặc biệt trong khi cảnhbáo tới người quản trị
Trang 25Cảnh báo thời gian thực: Gửi các cảnh báo thời gian thực đến người quản trị
để họ nắm được chi tiết các cuộc tấn công, các đặc điểm và thông tin về chúng.Ghi lại vào tệp tin: Các dữ liệu của các gói tin sẽ được lưu trữ trong hệ thốngcác tệp tin log Mục đích để các người quản trị có thể theo dõi các luồng thông tin
và là nguồn thông tin giúp cho modul phát hiện tấn công hoạt động
Chương 14 Một số phương pháp ngăn chặn tấn công.
Trang 26Chương 15 CẤU TRÚC, CHỨC NĂNG VÀ TẬP LUẬT CỦA SNORT 2.1 Tổng quan về Snort
Snort được miêu tả như một bình chân không, lưu giữ tất cả các gói tin và chophép bạn thực hiện nhiều tác vụ một khi đã tóm giữ được gói tin đó Ta có thể dùngSnort như một chương trình bắt gói tin (Packet sniffer), lưu giữ và kiểm tra về sau(packet logger) hoặc sắp xếp chúng (sort), từ đó, so sánh với các đặc thù của hiểmhọa để biết được đó là hiểm họa nào nhằm phát hiện xâm nhập
Snort sử dụng các luật được lưu trữ trong các file text, có thể được chỉnh sửabởi người quản trị Các luật được nhóm thành các kiểu Các luật thuộc về mỗi loạiđược lưu trong các file khác nhau File cấu hình chính của Snort là Snort.conf Snortđọc những luật này vào lúc khởi tạo và xây dựng cấu trúc dữ liệu để cung cấp cácluật nhằm bắt giữ dữ liệu Snort có một tập hợp các luật được định nghĩa trước đểphát hiện các hành động xâm nhập Các luật của Snort có thể thay đổi (xóa, tạo, sửa.Mặc dù tất cả các phương pháp phát hiện xâm nhập vẫn còn mới nhưng Snortđược đánh giá là hệ thống tốt nhất hiện nay
2.2.2 Các đặc tính
Snort hỗ trợ cho nhiều nhiều nền tảng hệ điều hành khác nhau như: Linux,OpenBSD, Solaris, Window… Snort cung cấp một số đặc tính như:
Có khả năng phát hiện một số lượng lớn các kiểu thăm dò, xâm nhập khác
nhau như: buffer oveflow, CGIAtack, Scan, ICMP, Virus…
Phát hiện nhanh các xâm nhập theo thời gian thực
Cung cấp cho nhà quản trị các thông tin cần thiết để xử lý các sự cố khi bị xâmnhập
Giúp người quản trị tự đặt ra các dấu hiệu xâm nhập mới một cách dễ dàng
Là phần mềm Open source và không tốn kém chi phí đầu tư
Snort được xây dựng với mục đích thỏa mãn các tính năng cơ bản: Có hiệunăng cao hơn, đơn giản và có tính uyển chuyển cao
Trang 27Hình 15.1 Sơ đồ khối của hệ thống cài đặt Snort.
Sơ đồ khối của một hệ thống phát hiện xâm nhập bao gồm Snort, MySQL,Apache, ACID, BASE, PHP, thư viện GD và PHPLOT Theo hình trên, dữ liệu đượcthu thập và phân tích bởi Snort Sau đó, Snort lưu trữ dữ liệu trong cơ sở dữ liệuMySQL bằng cách dùng output plugin Web server Apache với ACID, PHP, thưviện GD và PHPLOT sẽ biểu diễn dữ liệu này trên trình duyệt khi một người dùngkết nối đến server Người dùng có tạo nhiều kiểu truy vấn khác nhau để phân tích
dữ liệu
Snort chủ yếu là một IDS dựa trên luật, tuy nhiên các input plugin cũng tồn tại
để phát hiện sự bất thường trong các header của giao thức
Snort sử dụng các luật được lưu trữ trong các file text, có thể được chỉnh sửabởi người quản trị Các luật được nhóm thành các kiểu Các luật thuộc về mỗi loạiđược lưu trong các file khác nhau File cấu hình chính của Snort là Snort.conf Snortđọc những luật này vào lúc khởi tạo và xây dựng cấu trúc dữ liệu để cung cấp cácluật để bắt giữ dữ liệu Tìm ra các dấu hiệu và sử dụng chúng trong các luật là mộtvấn đề đòi hỏi sự tinh tế, vì ta càng sử dụng nhiều luật thì năng lực xử lý càng đượcđòi hỏi để thu thập dữ liệu trong thực tế Snort có một tập hợp các luật được địnhnghĩa trước để phát hiện các hành động xâm nhập và ta cũng có thể thêm vào cácluật của chính ta Ta cũng có thể xóa một vài luật đã được tạo trước để tránh việcbáo động sai
2.2 Các thành phần của Snort
Snort được chia thành nhiều thành phần Những thành phần này làm việc vớinhau để phát hiện các cách tấn công cụ thể và tạo ra output theo một định dạngđược đòi hỏi Một IDS dựa trên Snort bao gồm các thành phần chính sau đây:
Trang 28- Bộ phận giải mã gói (Packet Decoder.
- Bộ phận tiền xử lí (Preprocessor
- Bộ phận phát hiện (Dectection Engine
- Hệ thống ghi log và cảnh báo (Logging and Alerting System
- Bộ phận đầu ra (Output Modules
Chương 16 Sơ đồ khối của hệ thống cài đặt Snort.
Khi Snort hoạt động nó sẽ thực hiện việc lắng nghe và thu bắt tất cả các gói tinnào di chuyển qua nó Các gói tin sau khi bắt được đưa vào bộ phận giải mã gói tin.Tiếp theo gói tin sẽ được đưa vào bộ phận tiền xử lý, rồi bộ phận phát hiện Tại đâytùy theo việc có phát hiện được xâm nhập hay không mà gói tin có thể được bỏ qua
để lưu thông tiếp hoặc được đưa vào bộ phận ghi log và cảnh báo để xử lý Khi cáccảnh báo được xác định bộ phận đầu ra sẽ thực hiện việc đưa cảnh báo ra theo đúngđịnh dạng mong muốn Sau đây ta sẽ đi sâu vào chi tiết hơn về cơ chế hoạt động vàchức năng của từng thành phần
Trang 29Ba nhiệm vụ chính của bộ phận tiền xử lý:
- Kết hợp lại các gói tin: Khi một lượng dữ liệu lớn được gửi đi, thông tin sẽkhông đóng gói toàn bộ vào một gói tin mà phải thực hiện việc phân mảnh, chia góitin ban đầu thành nhiều gói tin rồi mới gửi đi Khi Snort nhận được các gói tin này
nó phải thực hiện việc ghép nối lại để có được dữ liệu nguyên dạng ban đầu, từ đómới thực hiện được các công việc xử lý tiếp Như ta đã biết khi một phiên làm việccủa hệ thống diễn ra, sẽ có rất nhiều gói tin được trao đổi trong phiên đó Một góitin riêng lẻ sẽ không có trạng thái và nếu công việc phát hiện xâm nhập chỉ dựahoàn toàn vào gói tin đó sẽ không đem lại hiệu quả cao Module tiền xử lý streamgiúp Snort có thể hiểu được các phiên làm việc khác nhau (nói cách khác đem lạitính có trạng thái cho các gói tin) từ đó giúp đạt được hiệu quả cao hơn trong việcphát hiện xâm nhập
- Giải mã và chuẩn hóa giao thức (decode/normalize): công việc phát hiện xâmnhập dựa trên dấu hiệu nhận dạng nhiều khi bị thất bại khi kiểm tra các giao thức có
dữ liệu có thể được thể hiện dưới nhiều dạng khác nhau Ví dụ: một web server cóthể chấp nhận nhiều dạng URL như URL được viết dưới dạng mã hexa/Unicode,URL chấp nhận cả dấu \ hay / hoặc nhiều ký tự này liên tiếp cùng lúc Chẳng hạn ta
có dấu hiệu nhận dạng “scripts/iisadmin”, kẻ tấn công có thể vượt qua được bằngcách tùy biến các yêu cấu gửi đến web server như sau:
bộ phận phát hiện có thể phát hiện được mà không bỏ sót
Hiện nay Snort đã hỗ trợ việc giải mã và chuẩn hóa cho các giao thức: telnet,http, rpc, arp
- Phát hiện các xâm nhập bất thường (nonrule /anormal): các plugin tiền xử lýdạng này thường dùng để đối phó với các xâm nhập không thể hoặc rất khó pháthiện được bằng các luật thông thường hoặc các dấu hiệu bất thường trong giao thức.Các bộ phận tiền xử lý dạng này có thể thực hiện việc phát hiện xâm nhập theo bất
cứ cách nào mà ta nghĩ ra từ đó tăng cường thêm tính năng cho Snort
Trang 30+ Ví dụ, một plugin tiền xử lý có nhiệm vụ thống kê thông lượng mạng tạithời điểm bình thường để rồi khi có thông lượng mạng bất thường xảy ra nó có thểtính toán, phát hiện và đưa ra cảnh báo (phát hiện xâm nhập theo mô hình thống kê.Phiên bản hiện tại của Snort có đi kèm hai plugin giúp phát hiện các xâm nhập bấtthường đó là portscan và bo (backoffice Portcan dùng để đưa ra cảnh báo khi kẻ tấncông thực hiện việc quét các cổng của hệ thống để tìm lỗ hổng Bo dùng để đưa racảnh báo khi hệ thống đã bị nhiễm trojan backoffice và kẻ tấn công từ xa kết nối tớibackoffice thực hiện các lệnh từ xa.
Chương 18 Bộ phận tiền xử lý
2.2.3 Bộ phận phát hiện
Chương 19 Bộ phận phát hiện
Trang 31Đây là phần quan trọng nhất của Snort Trách nhiệm của nó là phát hiện có sựxâm nhập tồn tại trong gói tin hay không Bộ phận phát hiện sử dụng các luật đượcđịnh nghĩa trước để so sánh với dữ liệu thu thập được từ đó xác định xem có xâmnhập xảy ra hay không Rồi tiếp theo mới có thể thực hiện một số công việc như ghilog, tạo thông báo và kết xuất thông tin Nếu một gói tin không giống với bất kì góitin bình thường nào thì một hành động tương ứng sẽ được thực hiện Những gói tin
có dấu hiện bất thường bị phát hiện, hành động phát hiện được mô tả bằng nhữngbiểu thức bao gồm các toán tử và các toán hạng hay so sánh dùng để nhận dạng raxâm nhập
Một vấn đề rất quan trọng trong bộ phận phát hiện là vấn đề thời gian xử lýcác gói tin: một IDS thường nhận được rất nhiều gói tin và bản thân nó cũng có rấtnhiều các luật xử lý Có thể mất những khoảng thời gian khác nhau cho việc xử lýcác gói tin khác nhau Và khi thông lượng mạng quá lớn có thể xảy ra việc bỏ sóthoặc không phản hồi được đúng lúc Khả năng xử lý của bộ phận phát hiện dựa trênmột số yếu tố như: số lượng các luật, tốc độ của hệ thống đang chạy Snort, tải trênmạng Một số thử nghiệm cho biết, phiên bản hiện tại của Snort khi được tối ưu hóachạy trên hệ thống có nhiều bộ vi xử lý và cấu hình máy tính tương đối mạnh thì cóthể hoạt động tốt trên cả các mạng cỡ Giga Một bộ phận phát hiện cũng có khảnăng tách các phần của gói tin ra và áp dụng các luật lên từng phần nào của gói tin
đó Các phần đó có thể là:
+ IP header + Header ởtầng giao vận: TCP, UDP + Header ởtầng ứng dụng: DNS header, HTTP header, FTP header, …+ Phần tải của gói tin (bạn cũng có thể áp dụng các luật lên các phần
dữ liệu được truyền đi của gói tin)
Một vấn đề nữa trong Bộ phận phát hiện đó là việc xử lý thế nào khi một góitin bị phát hiện bởi nhiều luật Do các luật trong Snort cũng được đánh thứ tự ưutiên, nên một gói tin khi bị phát hiện bởi nhiều luật khác nhau, cảnh báo được đưa
ra sẽ là cảnh báo ứng với luật có mức ưu tiên lớn nhất
Phần dưới đây chúng em đưa ra ví dụ với những biểu thức thông thường choSQL injection và CSS để thấy được bộ phận phát hiện đã làm việc hiệu quả như sau
2.2.3.1 Những biểu thức thông thường cho SQL injection.
Một điểm quan trọng cần phải lưu ý khi chọn sự biểu diễn chung cho các tấncông SQL Injection là kẻ tấn công có thể đưa đầu vào từ một form, cũng như làthông qua các trường của một cookie Giá trị đầu vào thường quan tâm tới mỗi loại
dữ liệu đầu vào xuất phát từ người dùng Nó tạo nên các trường hoặc các thông tincookie Cũng như vậy, nếu bạn phát hiện ra quá nhiều cảnh bảo đi vào từ một dấuhiệu mà để ý một dấu ngoặc đơn, thì đó chỉ có thể là một hoặc nhiều các ký tự làcác đầu vào hợp lệ trong cookie được tạo bởi ứng dụng Web Do đó, ta sẽ cần phảiđánh giá mỗi dấu hiệu đối với ứng dụng Web cụ thể
Một sự biểu diễn chung để tìm các tấn công SQL injection là theo dõi các ký
tự biến đổi cụ thể SQL như là dấu ngoặc đơn (‘) hoặc dấu gạch kép ( Để tìm ra các
ký tự này và mã hex tương ứng của nó, thì sự diễn đạt sau có thể được sử dụng
a Minh họa để tìm các ký tự biến đổi (ký tự tiền tố hoặc hậu tố) SQL.
Trang 32Đầu tiên chúng ta tìm mã hex tương ứng của dấu ngoặc đơn hoặc sự xuất hiệncủa dấu gạch kép Đây là các ký tự SQL trong MS SQL server và Oracle, những dấunày biểu thị sự khởi đầu của một lời comment và mọi thứ sau đó sẽ bị bỏ qua Hơnnữa, nếu đang sử dụng MySQL, ta cần kiểm tra sự xuất hiện của dấu “#” hoặc mãhex của nó Chú ý rằng không cần kiểm tra mã hex tương ứng của dấu gạch kép, bởi
vì nó không phải là ký tự biến đổi của TML và sẽ không được mã hoá bởi trìnhduyệt Cũng như vậy, nếu một kẻ tấn công cố gắng chỉnh sửa thủ công dấu () thànhgiá trị mã hex của %2D thì tấn công SQL injection sẽ bị lỗi
Sự biểu diễn chung sẽ được thêm vào một quy tắc Snort mới như sau:
alert tcp $EXTERNAL_NET any > $HTTP_SERVERS $HTTP_PORTS
(msg:"SQL Injection Paranoid"; flow:to_server, established; uricontent:".pl"; pcre:"/(\%27)|(\')|(\\)|(%23)|(#)/i";
classtype:Webapplicationattack; sid:9099; rev:5;)
Trong trường hợp này, từ khoá uricontent có giá trị “.pl” bởi vì trong môitrường kiểm tra, đoạn script CGI được viết bằng Perl Phụ thuộc vào ứng dụng cụthể của bạn, gía trị này có thể là “.php” hoặc “.asp” hoặc “.jsp” Từ trước điểm này,
ta không thể hiện luật Snort tương ứng nhưng chỉ thay thế sự biểu diễn chung làđược sử dụng để tạo ra các luật này Từ sự biểu diễn chung này bạn có thể dễ dàngtạo ra nhiều luật Snort
Trong sự diễn đạt chung trước, ta tìm ra dấu () bởi vì đó có thể là các tìnhhuống mà vị trí SQL injection có thể thậm chí không cần dấu ngoặc đơn
Ví dụ, truy vấn SQL mà có vị trí mà phía chứa các giá trị số:
select value1, value2, num_value3 from database where
num_value3 = some_user_supplied_number
Trong trường hợp này, kẻ tấn công có thể thực hiện truy vấn SQL bằng cáchcung cấp một đầu vào như sau:
3; insert values into some_other_table
Cuối cùng, sự bổ sung pcre ‘i’và ’x’ được sử dụng sao cho tương ứng màkhông có trường
Dấu hiệu ở trên có thể được mở rộng hơn nữa để phát hiện ra sự xuất hiện củadấu ngoặc đơn Tuy nhiên dấu ngoặc đơn có xu hướng xuất hiện như là một phầncủa lưu lượng HTTP thông thường Để giảm lược được vị trí lỗi từ điều này và cũng
từ bất kỳ sự xuất hiện thông thường của dấu ngoặc đơn và dấu gạch kép, thì dấuhiệu ở trên có thể được chỉnh sửa khi lần đầu tiên phát hiện ra sự xuất hiện của dấu
= Dữ liệu đầu vào của người dùng thông thường là các request dạng thức GET hoặcPOST, nơi mà các trường của đầu vào sẽ được phản xạ là:
username=some_user_supplied_value&password=some_user_supplied_ value
Do đó, nỗ lực SQL inject sẽ thể hiện dữ liệu đầu vào người dùng được ưu tiênbởi dấu = hoặc mã hex tương ứng
b Minh họa chỉnh sửa để phát hiện các ký tự biến đổi SQL.
/((\%3D)|(=))[^\n]*((\%27)|(\')|(\\)|(\%3B)|(;))/i
Trang 33Đầu tiên xem xét dấu = hoặc mã hex tương ứng của nó (%3D) Sau đó chophép số 0 hoặc các ký tự không phải dòng mới và sau đó nó sẽ kiểm tra dấu ngoặcđơn, dấu gạch kép.
SQL injection giải quyết xung quanh vấn để sử dụng dấu ngoặc đơn để thựchiện truy vấn ban đầu sao cho nó luôn luôn mang tới giá trị đúng Hầu hết các ví dụthảo luận về kiểu tấn công này sử dụng chuỗi 1 or 1=1 Tuy nhiên, phát hiện rachuỗi này có thể dễ dàng tránh khỏi bằng cách áp dụng chuỗi như 1 or 2>1 Do đóchỉ phần mà là hằng số mới là giái trị số alpha ban đầu, được theo sau bởi dấu ngoặcđơn và sau đó là từ or Logic Boolean xuất hiện sau đó có thể được biến đổi thànhmột phạm vi mà vị trí mẫu chung là hoặc là rất phức tạp hoặc không bao quát toàn
bộ các biến Do đó, các tấn công này có thể được phát hiện ở mức độ chính xác
c Minh họa tấn công SQL injection điển hình.
“insert” “update” và “detect”
d Minh họa dò tìm SQL Injection với từ khoá Union.
/((\%27)|(\'))union/ix
(\%27)|(\'): Dấu ngoặc đơn và mã hex tương ứng union.
Sự biểu diễn có thể được viết cho các truy vấn SQL khác như >select, insert,update, delete drop và vv
Kẻ tấn công thấy rằng ứng dụng Web là vùng dễ bị tổn thương trong SQLinjection thì sẽ cố gắng khai thác Nếu nhận ra rằng cơ sở dữ liệu trước, sau trong
MS SQL server, thì thực hiện một hoặc nhiều các thủ tục lưu trữ và mở rộng nguyhiểm Thủ tục này bắt đầu với các chữ “sp” hoặc “xp” Điển hình thực hiện thủ tục
mở rộng “xp_cmdshell”, cho phép thực hiện dòng lệnh shell Window thông quaSQL server Quyền truy cập với những dòng lệnh sẽ được thực hiện là các tài khoản
mà SQL đang hoạt động, thông thường là hệ thống cục bộ Tiếp đó điều chỉnhregistry bằng các thủ tục như xp_regread, xp_regwrite vv
e Mô phỏng các tấn công SQL Injection trên MS SQL server.
/exec(\s|\+)+(s|x)p\w+/ix
exec: Từ khoá được yêu cầu để chạy các thủ tục mở rộng hoặc lư trữ.
(\s|\+)+: Một hoặc nhiều khoảng trắng được mã hoá tương đương.
(s|x)p: Chữ cái “sp” hoặc “xp” để định danh các thủ tục được mở rộng hoặclưu trữ riêng biệt