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

XÂY DỰNG hệ THỐNG PHÒNG CHỐNG tấn CÔNG MẠNG máy TÍNH

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

ĐẠI HỌC QUỐC GIA TP HCM
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN


NGUYỄN THANH BÌNH

XÂY DỰNG HỆ THỐNG PHÒNG CHỐNG TẤN CÔNG
MẠNG MÁY TÍNH

KHÓA LUẬN CAO HỌC
NGÀNH KHOA HỌC MÁY TÍNH
Mã số: 60.48.01.01

NGƢỜI HƢỚNG DẪN KHOA HỌC:
TS. ĐÀM QUANG HỒNG HẢI

TP HỒ CHÍ MINH – NĂM 2015


LỜI CẢM ƠN
Em xin chân thành cảm ơn quý thầy cô trƣờng Đại học Công nghệ thông tin đã
tận tình chỉ dạy cho em nhiều kiến thức bổ ích trong suốt thời gian học tập tại
trƣờng. Em kính chúc quý thầy cô luôn dồi dào sức khoẻ và thành công trong công
việc.
Em xin bày tỏ lòng biết ơn chân thành và sâu sắc nhất đến thầy TS. Đàm
Quang Hồng Hải, ngƣời thầy đã tận tâm, nhiệt tình hƣớng dẫn và chỉ bảo cho em
trong suốt quá trình thực hiện khóa luận này.
Con gửi tất cả lòng biết ơn và sự kính trọng đến ông bà, cha mẹ đã nuôi dạy,
luôn bên cạnh động viên và ủng hộ con trên con đƣờng mà con đã yêu thích và lựa
chọn, đã cho con niềm tin và nghị lực vƣợt qua mọi khó khăn.
Xin cảm ơn tất cả bạn bè đã động viên, giúp đỡ và hỗ trợ tôi rất nhiều, cũng


nhƣ đóng góp cho tôi nhiều ý kiến quý báu giúp tôi hoàn thiện hơn cho khóa luận
này.
Khóa luận đã hoàn thành và đạt đƣợc một số kết quả nhất định tuy nhiên vẫn
không tránh khỏi thiếu sót. Kính mong sự cảm thông và đóng góp ý kiến từ quý
thầy cô và các bạn.
Một lần nữa tôi xin chân thành cảm ơn!
Tp. Hồ Chí Minh, ngày 10 tháng 11 năm 2015
Nguyễn Thanh Bình


LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi, các số liệu và kết
quả nghiên cứu nêu trong khóa luận là trung thực.Vì vậy tôi xin chịu trách nhiệm
hoàn toàn về công trình nghiên cứu của mình.
Tp. Hồ Chí Minh, ngày 10 tháng 11 năm 2015

Nguyễn Thanh Bình


Mục lục
DANH MỤC CÁC TỪ VIẾT TẮT ......................................................................... 3
DANH MỤC HÌNH VẼ .......................................................................................... 6
MỞ ĐẦU
8
Chƣơng 1: TỔNG QUAN ................................................................................... 9
1.1
1.2
1.3
1.4


TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU .............................................. 9
MỤC TIÊU VÀ PHẠM VI CỦA ĐỀ TÀI ................................................ 10
PHƢƠNG PHÁP NGHIÊN CỨU............................................................. 11
NỘI DUNG THỰC HIỆN ........................................................................ 11

Chƣơng 2:

CÁC LỖ HỔNG MẠNG MÁY TÍNH ............................................. 13

2.1 CÁC LỖ HỔNG MẠNG MÁY TÍNH ...................................................... 13
2.2 MỘT SỐ LỖ HỔNG CƠ BẢN ................................................................. 14
2.2.1 Lỗi mã nhúng (Injection) .................................................................. 14
2.2.2 Thực thi mã script độc (Cross Site Scripting - XSS) ......................... 15
2.2.3 Hƣ hỏng cơ chế chứng thực và quản lý phiên làm việc ..................... 15
2.2.4 Giả mạo yêu cầu (Cross Site Request Forgery - CSRF) .................... 15
2.2.5 Sai sót cấu hình an ninh.................................................................... 16
2.2.6 Lƣu trữ mật mã không an toàn ......................................................... 16
2.2.7 Sai sót hạn chế truy cập .................................................................... 16
2.2.8 Thiếu bảo vệ lớp vận chuyển ............................................................ 17
2.3 PHÁT HIỆN CÁC LỖ HỔNG MẠNG MÁY TÍNH ................................ 17
2.3.1 Nikto ................................................................................................ 18
2.3.2 Paros proxy ...................................................................................... 18
2.3.3 WebScarab ....................................................................................... 18
2.3.4 Acunetix Web Vulnerability Scanner ............................................... 19
2.3.5 Metasploit Framework ..................................................................... 19
2.3.6 Nessus.............................................................................................. 19
2.3.7 Arachni ............................................................................................ 20
2.3.8 W3AF .............................................................................................. 20
Chƣơng 3:


CÁC DẠNG TẤN CÔNG MẠNG MÁY TÍNH .............................. 21

3.1 GIỚI THIỆU VỀ TẤN CÔNG MẠNG MÁY TÍNH ................................ 21
3.2 TẤN CÔNG TỪ CHỐI DỊCH VỤ DOS ................................................... 23
3.2.1 Winnuke .......................................................................................... 24
3.2.2 Teardrop .......................................................................................... 24
3.2.3 SYN Attack...................................................................................... 24
3.2.4 Land Attack ..................................................................................... 25
3.2.5 Smurf Attack .................................................................................... 25
3.2.6 UDP Flooding .................................................................................. 25
3.2.7 Tấn công DNS ................................................................................. 26
1


3.2.8 DRDoS ............................................................................................ 26
3.3 TẤN CÔNG TỪ CHỐI DỊCH VỤ DDOS ................................................ 26
3.3.1 Giới Thiệu DDoS ........................................................................... 26
3.3.2 Các giai đoạn của DDoS ................................................................ 28
3.3.3 Kiến trúc tổng quan của DDoS ....................................................... 28
3.4
3.5
3.6
3.7
3.8

TẤN CÔNG SOCIAL ENGINEERING ................................................... 30
TẤN CÔNG NGHE TRỘM SNIFFER ..................................................... 30
TẤN CÔNG VIRUSES ............................................................................ 31
TẤN CÔNG TROJAN ............................................................................. 31
TẤN CÔNG BOTNET ............................................................................. 32


Chƣơng 4:

HỆ THỐNG IDS/IPS....................................................................... 34

4.1 GIỚI THIỆU VỀ IDS ............................................................................... 34
4.2 GIỚI THIỆU VỀ IPS ............................................................................... 35
4.3 GIỚI THIỆU VỀ SNORT ........................................................................ 36
4.3.1 Snort là gì ...................................................................................... 36
4.3.2 Kiến trúc của Snort ........................................................................ 37
4.3.3 Bộ luật của Snort ............................................................................ 39
4.4 HỆ THỐNG MONITOR ELK .................................................................. 43
4.5 GIỚI THIỆU CÁC THÀNH PHẦN BNORT ............................................ 45
4.5.1 Giới thiệu Framework ...................................................................... 45
4.5.2 Giới thiệu CakePHP ......................................................................... 45
Chƣơng 5: HỆ THỐNG BNORT PHÁ T HIỆN VÀ PHÒNG CHỐNG TẤN
CÔNG MẠNG ................................................................................ 47
5.1 THIẾT KẾ HỆ THỐNG ........................................................................... 47
5.1.1 Mục tiêu hê ̣ thố ng BNort ................................................................ 47
5.1.2 Yêu cầu và chức năng của hệ thống................................................ 47
5.1.3 Thiế t kế hê ̣ thố ng ........................................................................... 49
5.2 KẾT QUẢ THỬ NGHIỆM VỚI SNORT IDS .......................................... 63
5.2.1 Tấn công ICMP .............................................................................. 63
5.2.2 Tấn công UDP ............................................................................... 65
5.2.3 Tấn công TCP ................................................................................ 67
5.3 KẾT QUẢ THỬ NGHIỆM VỚI HỆ THỐNG BNORT ............................ 70
Chƣơng 6:

KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ........................................ 83


6.1 KẾT LUẬN .............................................................................................. 83
6.2 HẠN CHẾ ................................................................................................ 84
6.3 HƢỚNG PHÁT TRIỂN ........................................................................... 84
TÀI LIỆU THAM KHẢO ..................................................................................... 85

2


DANH MỤC CÁC TỪ VIẾT TẮT

Từ viết tắt
ACID

Cụm từ đầy đủ tiếng Anh

Dịch sang tiếng Việt

Atomicity Consistency Isolation
Durability

API

Giao diê ̣n lâ ̣p trình ƣ́ng du ̣ng

Application Programming
Interface

ARP

Address Resolution Protocol


Giao thƣ́c phân giải điạ chỉ

ASCII

American Standard Code for

Chuẩn mã trao đổi thông tin

Information Interchange

Hoa Kỳ

Basic Analysis and Security

Bộ phận phân tích gói tin

BASE

Engine
Công nghê ̣ thông tin

CNTT

Bô ̣ xƣ̉ lý trung tâm

CPU

Central Processing Unit


CSS

Cascading Style Sheets

DDoS

Distributed Deny of Service

Tấn công từ chối dịch vụ
phân tán

DHCP

Dynamic Host Configuration

Giao thức DHCP

Protocol
Truy xuấ t bô ̣ nhớ trƣ̣c tiế p

DMA

Direct Memory Access

DMZ

Demilitarized Zone

DNS


Domain Name System

Giao thức DNS

DoS

Deny of Service

Tấn công từ chối dịch vụ

DOS

Disk Operating System/Microsoft

Hê ̣ điề u hành DOS/MS-DOS

Disk Operating System
DRDoS

Distributed Reflection DoS

ELK

Elasticsearch Logstash Kibana

Hệ thống quan sát log

FTP

File Transfer Protocol


Giao thức truyền file FTP

3


xóa các luật của

Flush Firewall

iptables/ipset
IDP

Intrusion Detection and
Prevention

IDS

Intrusion Detection System

Hệ thống phát hiện xâm nhập

IPS

Intrusion Prevention System

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

HIDS


Host Intrusion Detection System

HTTP

HyperText Transfer Protocol

ICMP

Internet Control Message Protocol

IP

Internet Protocol

Địa chỉ mạng

IRC

Internet Relay Chat

Chat chuyển tiếp Internet

JDBC

Java DataBase Connectivity

JSON

JavaScript Object Notatio


LAN

Local Area Network

MITM

Man-in-the-Middle

MTU

Maximum Transfer Units

NetBiOS

Network Basic Input/Output

Chia sẽ tài nguyên các máy

System

trong ma ̣ng LAN

NIC

Network Interface Card

Card giao tiế p ma ̣ng

NIDS


Network Intrusion Detection

Giao thức HTTP

Mạng máy tính cục bộ

System
ODBC

Open Database Connectivity

Kế t nố i cơ sở dƣ̃ liê ̣u

OS

Operating System

Hê ̣ điề u hành

OSI

Open Systems Interconnection

Mô hình 7 tầng OSI

OWASP

Open Web Application Security

Tổ chức bảo mật OWASP


Project
PHP

Hypertext Preprocessor
Giao thức

Protocol
R2L

Remote to Local

RAM

Random Acess Memory

Bô ̣ nhớ truy xuấ t ngẫu nhiên
4


ROM

RFC

Read Only Memory

Bô ̣ nhớ chỉ đo ̣c

Resources


Tài nguyên

Request for Comments

Đề nghị duyệt thảo và bình
luận

RPC

Remote procedure call

POST

Power On Self Test

Tự kiểm tra khi khởi động

Sensor

Bộ phần cảm biến của IDS

SMB

Server Message Block

Giao thức chia sẽ file SMB

SNMP

Simple Network Management

Protocol

SOM

Seft-Organizing Map

SQL

Structured Query Language

SSH

Secure Shell

SSL

Secure Sockets Layer

SSN

Social Security Number

TCP

Transmission Control Protocol

TCP/IP

Transmission Control Protocol/


Ngôn ngƣ̃ truy vấ n cấ u trúc

Internet Protocol
TSL

Transport Layer Security

Bảo mật tầng truyền tải

TSR

Terminate and Stay Resident

Chƣơng trình thƣờng trú

U2R

User to Root

UDP

User Datagram Protocol

XML

Extensible Markup Language

XSS

Cross Site Scripting


5


DANH MỤC HÌNH VẼ

Hình 3.1 Mô hình tấn công mạng từ một máy .................................................................. 22
Hình 3.2 Mô hình tấn công mạng từ nhiều máy ............................................................... 22
Hình 3.3 Các bƣớc tấn công ............................................................................................ 23
Hình 3.4 Biểu đồ tấn công DDoS..................................................................................... 27
Hình 4.1 Mô hình NIDS cơ bản ....................................................................................... 34
Hình 4.2 Mô hình HIDS cơ bản ....................................................................................... 35
Hình 4.3 Mô hình kiến trúc Snort .................................................................................... 38
Hình 4.4 Cấu trúc của Snort............................................................................................. 40
Hình 4.5 Header luật của Snort ........................................................................................ 40
Hình 4.6 Kiến trúc hệ thống trong ELK ........................................................................... 44
Hình 5.1 Mô hình xử lý gói tin của Snort IDS.................................................................. 49
Hình 5.2 Mô hình của Hệ thống quan sát ELK................................................................. 52
Hình 5.3 Cơ chế xử lý gói tin của Snort IPS – Ngăn chặn địa chỉ IP của kẻ tấn công ....... 58
Hình 5.4 Cơ chế xử lý gói tin của Snort IPS – Ngăn chặn Quốc gia tấn công .................. 59
Hình 5.5 Tấn công bằng giao thức ICMP với địa chỉ IP bất kỳ ........................................ 64
Hình 5.6 Thống kê các giáo thức tấn công ....................................................................... 65
Hình 5.7 Chỉ ra các quốc gia tấn công trên bản đồ ........................................................... 65
Hình 5.8 Tấn công UDP với địa chỉ IP bất kỳ .................................................................. 66
Hình 5.9 Tấn công bằng giao thức UDP với địa chỉ IP đƣợc chỉ định ............................... 67
Hình 5.10 Thống kê các giao thức tấn công ..................................................................... 67
Hình 5.11 Tấ n công bằng giao thức TCP với địa chỉ IP bất kỳ ......................................... 69
Hình 5.12 Tấ n công bằng giao thức TCP với địa chỉ IP đƣợc chỉ định............................. 69
Hình 5.13 Thống kê các giao thức tấn công ..................................................................... 70


6


Hình 5.14 Hê ̣ thố ng BNort phát hiê ̣n và phòng chố ng tấ n công ma ̣ng .............................. 71
Hình 5.15 Hê ̣ thố ng BNort với triể n khai IPS .................................................................. 75
Hình 5.16 Hê ̣ thố ng BNort – Bắt đầu triển khai ngăn chặn IP .......................................... 75
Hình 5.17 Hê ̣ thố ng BNort – Hoàn thành Bắt đầu ngăn chặn địa chỉ IP ........................... 76
Hình 5.18 Sơ đồ logic khi thực thi IPS ngăn chặn IP hay quốc gia tấn công ..................... 79
Hình 5.19 Trang Bảo trì hệ thống của Hệ thống BNort .................................................... 80
Hình 5.20 Giao diện trang Terminal Linux của BNort ...................................................... 80

7


MỞ ĐẦU

Ngày nay, ngày càng phát triển của internet, và sự phổ biến của các thiết bị
di động, smartphone, máy tính, v.v. Từ đó internet trở thành môi trƣờng quan trọng
của các cá nhân, doanh nghiệp, công ty, của các tổ chức thƣơng mại, chính phủ, v.v.
Bên cạnh những thành tựu to lớn của mạng Internet mang lại cho nhân loại mà
chúng ta đang đạt đƣợc, nỗi lo về an toàn thông tin ngày càng đƣợc quan tâm hơn.
Gần đây các cuộc tấn công mạng máy tính có tính chất phức tạp hơn, quy mô
lớn hơn, gây thiệt hại nhiều hơn không những cho các doanh nghiệp, thiệt hại về
kinh tế, an ninh quốc phòng, v.v. Do đó vấn đề bảo mật mạng máy tính trở nên cần
thiết hiện nay, cũng vì những lí do trên, tác giả chọn đề tài “Xây dựng hệ thống
phòng chống tấn công mạng máy tính” cho khóa luận tốt nghiệp của mình.
Đề tài sẽ xây dựng một hệ thống phòng chống tấn công mạng máy tính
IDS(Intrusion Detection System)/ IPS(Intrusion Prevention System) trên nền
Snort và monitor log cảnh báo trên Hệ thống quan sát ELK – Elasticsearch Logstash
Kibana. Giới hạn của đề tài là cảnh báo các dạng log dựa trên lớp 4 của mô hình

OSI (Open Systems Interconnection).

8


Chương 1. Tổng quan

Chƣơng 1: TỔNG QUAN

1.1 TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU
Với sự phát triển của internet ngày nay, cùng với sự phát triển nhƣ vũ bảo
của các mạng xã hội, điện toán đám mấy, thƣơng mại điện tử, v.v. Từ đó internet trở
thành môi trƣờng quan trọng của các cá nhân, doanh nghiệp, công ty, của các tổ
chức thƣơng mại, chính phủ, v.v.
Bên cạnh những thành tựu to lớn của mạng internet mang lại cho nhân loại
mà chúng ta đang đạt đƣợc, nỗi lo về an toàn thông tin ngày càng đƣợc quan tâm
hơn. Gần đây các cuộc tấn công mạng máy tính có tính chất phức tạp hơn, quy mô
lớn hơn, gây thiệt hại nhiều hơn không những cho các doanh nghiệp, thiệt hại về
kinh tế, an ninh quốc phòng, v.v.
Với khả năng kết nối nhiều máy tính và mạng, bảo mật trở thành vấn đề lớn
và khó khăn hơn bao giờ hết trong môi trƣờng doanh nghiệp, kinh tế, an quốc
phòng, v.v.
Hacker và những kẻ xâm nhập đã dễ dàng đạt đƣợc nhiều mục đích trong
việc phá hủy hệ thống mạng và dịch vụ web. Rất nhiều hãng có uy tín về bảo mật đã
có nhiều giải pháp để hạn chế sự tấn công trên mạng và những phƣơng thức đã đƣợc
triển khai trong nỗ lực bảo vệ hạ tầng mạng và truyền thông qua mạng internet bao
gồm firewall, các phƣơng thức mã hóa, và các mạng riêng ảo, v.v.
Hệ thống phát hiện xâm nhập IDS - Intrusion Detection System, đƣợc sử
dụng để tạo sự bảo mật đối với các gói tin vào và ra trong mạng. IDS thƣờng đƣợc
sử dụng để phát hiện, đƣa ra những cảnh báo khi có truy cập bất thƣờng xảy ra.

Hệ thống ngăn ngừa xâm nhập IPS - Intrusion Prevention System, là một hệ
thống chống xâm nhập (ngăn chặn xâm nhập) có thể là một phần mềm hoặc một
thiết bị chuyên dụng có khả năng phát hiện xâm nhập và có thể ngăn chặn các nguy
cơ gây mất an ninh. IDS và IPS có rất nhiều điểm chung, do đó hệ thống IDS và IPS
có thể đƣợc gọi chung là IDP- Intrusion Detection and Prevention. IDS chỉ có chức
9


Chương 1. Tổng quan

năng phát hiện xâm nhập dựa vào các mẫu có sẵn. IPS có chức năng ngăn chặn
những xâm nhập đƣợc nghi ngờ ở IDS.
Trong nƣớc đã có tác giả Nguyễn Mạnh Hùng với đề tài “Phát hiện và phòng
chống xâm nhập trái phép mạng máy tính” năm 2013, tác giả đã xây dựng một hệ
thống giả lập tấn công mạng và hệ thống phòng chống, điểm hạn chế là tác giả chƣa
đi sâu nghiên cứu về hệ thống phòng chống xâm nhập. Còn có tác giả Nguyễn
Phƣơng Chính với đề tài “ Giải pháp phát hiện và ngăn chặn truy cập trái phép vào
mạng” năm 2009. Tác giả đã dùng các thuật toán phát hiện bất thƣờng trong khai
phá dữ liệu, hệ thống phát hiện dựa trên dấu hiệu mẫu và dò dựa trên phát hiện bất
thƣờng. Điểm hạn chế của hệ thống này là thuật toán chƣa tối ƣu, chƣa qua thử
nghiệm, vẫn còn cảnh báo sai, v.v.
Có nhiều tác giả nƣớc ngoài nghiên cứu về phòng chống xâm nhập mạng
máy tính nhƣ Mit Hteshbhai Dave ở Ấn Độ năm 2013, “Hệ thống phòng chống xâm
nhập mạng máy tính sử dụng thuật toán di truyền – Intrusion Detection System
Using Genetic Algorithm”. Bài báo đã ứng dụng thuật toán di truyền vào Snort để
phân loại các rules của Snort dựa trên chức năng của rules. Hạn chế của bài báo này
là mất nhiều thời gian cho việc kiểm tra những rules.
Với mục tiêu tìm hiểu và xây dựng hệ quản lý luật nhằm phát hiện và ngăn
chặn tấn công mạng máy tính, tác giả chọn đề tài “Xây dựng hệ thống phòng chống
tấn công mạng máy tính” cho cho khóa luận tốt nghiệp của mình.


1.2 MỤC TIÊU VÀ PHẠM VI CỦA ĐỀ TÀI
Mục tiêu của khóa luận là thiết kế hệ thống phòng chống, ngăn chặn tấn công
mạng – Hệ thống IDS/IPS. Hệ thống phát hiện và phòng chống tấn công mạng, sẽ
phát hiện và phòng chống tấn công một cách tự động, phát hiện các dạng tấn công
và đƣa ra những cảnh báo cho ngƣời quản trị, phát hiện các dạng tấn công và ngăn
chặn tấn công một cách tự động.
Từ đó, khóa luận sẽ xây dựng, triển khai Hệ thống BNort phát hiện và phòng
chống tấn công mạng. Hệ thống BNort đƣợc viết trên ngôn ngữ PHP, framework
CakePHP, ngôn ngữ Javascript, ngôn ngữ Shell script, ngôn ngữ JSON, ngôn ngữ
10


Chương 1. Tổng quan

Grok, v.v. Hệ thống BNort gồm các thành phần nhƣ, Hệ thống quan sát ELK –
Elasticsearch Logstash Kibana, triển khai ngăn chặn tấn công – IPS, bảo trì hệ
thống, giao diện terminal linux tƣơng tác với server.
Hệ thống BNort sẽ tự động phát hiện các dạng tấn công dựa trên các luật của
Snort IDS và đƣa ra log cảnh báo tấn công tới ngƣời quản trị. Trên giao diện quan
sát ELK, ngƣời quản trị có thể quan sát, theo dõi, log cảnh báo, thống kê đƣợc các
dạng tấn công, theo dõi thành phố, quốc gia của kẻ tấn công, xem đƣơ ̣c chi tiế t bản
đồ các dấ u hiê ̣u tấ n công.
Ngƣời quản trị có thể triển khai ngăn chă ̣n địa chỉ IP của kẻ tấn công, hoặc
quốc gia của kẻ tấn công, hay bảo trì các dịch vụ hệ thống nhƣ khởi động lại Snort,
Logstash, Elasticsearch, Firewall. Ngƣời quản trị có thể tƣơng tác với server , qua
giao diện Terminal Linux , thƣ̣c hiê ̣n mô ̣t số lê ̣nh cơ bản trên trên giao diê ̣n dòng
lê ̣nh.

1.3 PHƢƠNG PHÁP NGHIÊN CỨU

Đề tài nghiên cứu các phƣơng pháp phát hiện tấn công từ chối dịch vụ phân
tán của các tác giả trƣớc đó. Ứng dụng những phƣơng pháp phù hợp nhất cho hệ
thống của mình, đề xuất các cải tiến trong quá trình nghiên cứu. Một số phƣơng
pháp đƣợc khóa luận sử dụng bao gồm:
Phƣơng pháp theo dõi địa chỉ nguồn: Lƣu trữ những địa chỉ đã truy cập để
phân tích và phân loại nhằm quyết định xem địa chỉ truy cập đó có phải là địa chỉ
hợp lệ hay không.
Phƣơng pháp dựa vào thời gian và bất thƣờng để xác định địa chỉ nguồn tấn
công và cô lập nó.
Phƣơng pháp phân tích ngữ đoạn áp dụng vào việc phân tích log cảnh báo.

1.4 NỘI DUNG THỰC HIỆN
Tìm hiểu tổng quan về đề tài nghiên cứu, tìm hiểu các đề tài, bài báo có liên
quan. Tìm hiểu các lỗ hổng mạng máy tính, các dạng tấn công mạng máy tính. Thu
thập đƣợc các kiến thức về lỗ hổng, bảo mật mạng máy tính.
11


Chương 1. Tổng quan

Đƣa ra mô hình phòng chống tấn công mạng máy tính IDS/IPS. Snort IDS sẽ
đƣa ra log cảnh báo khi có attacker/hacker tấn công. Dùng log cảnh báo của Snort
kết hợp với Iptables/Ipset cho thiết kế mô hình IDS/IPS.
Xây dựng mô hình monitor log bằng Hệ thống quan sát ELK. Log cảnh báo
của Snort sẽ dùng Grok để phân tích cấu trúc log, sau đó sẽ monitor trên giao diện
của kibana của Hệ thống quan sát ELK. Trên Hệ thống quan sát ELK này, chúng ta
có thể phân tích, tổng hợp các kết quả so với lý thuyết.
Hê ̣ thố ng BNort sẽ tích hợp Hệ thống quan sát ELK, triển khai IPS, bảo trì
các dịch vụ hệ thống nhƣ khởi động, dừng dịch vụ Snort, ELK, Firewall.


12


Chương 2. Các lỗ hổng mạng máy tính

Chƣơng 2: CÁC LỖ HỔNG MẠNG MÁY TÍNH

2.1 CÁC LỖ HỔNG MẠNG MÁY TÍNH
Trong bảo mật máy tính, thuật ngữ lỗ hổng đƣợc dùng cho một hệ thống yếu
mà cho phép một kẻ tấn công xâm phạm vào sự toàn vẹn của hệ thống. Lỗ hổng có
thể là kết quả của mật khẩu yếu, các lỗi phần mềm, một virus máy tính hoặc phần
mềm độc hại khác, một đoạn mã lỗi, một lệnh SQL lỗi hoặc cấu hình sai, v.v.
Các lỗ hổng bảo mật trên một hệ thống là các điểm yếu có thể tạo ra sự ngƣng
trệ của dịch vụ, thêm quyền đối với ngƣời sử dụng hoặc cho phép các truy nhập
không hợp pháp vào hệ thống. Các lỗ hổng cũng có thể nằm ngay các dịch vụ cung
cấp nhƣ sendmail, web, ftp, v.v. Ngoài ra các lỗ hổng còn tồn tại ngay chính tại hệ
điều hành nhƣ trong Windows, Unix, Linux, v.v
The OWASP – The Open Web Application Security Project (dự án mở về bảo
mật ứng dụng Web), dự án là một sự cố gắng chung của cộng đồng, giúp các tổ
chức có thể phát triển, mua hoặc bảo trì các ứng dụng an toàn. OWASP là công cụ
và các tiêu chuẩn về an toàn thông tin, sách về kiểm tra bảo mật ứng dụng, lập trình
an toàn và các bài viết về kiểm định mã nguồn, v.v. OWASP đã công bố danh sách
10 lỗi an ninh ứng dụng web nguy hại nhất gọi là OWASP top 10 nhƣ:
o A1 – Lỗi mã nhúng (Injection)
o A2 – Thực thi mã script độc (XSS)
o A3 – Hƣ hỏng cơ chế chứng thực và quản lý phiên làm việc
o A4 – Đối tƣợng tham chiếu thiếu an toàn
o A5 – Giả mạo yêu cầu (CSRF)
o A6 – Sai sót cấu hình an ninh
o A7 – Lƣu trữ mật mã không an toàn

o A8 – Sai sót hạn chế truy cập
13


Chương 2. Các lỗ hổng mạng máy tính

o A9 – Thiếu bảo vệ lớp vận chuyển
o A10 – Chuyển hƣớng và chuyển tiếp thiếu thẩm tra
Một số nguyên nhân lỗ hổng mạng
Quản lý mật khẩu sai sót: Ngƣời dùng máy tính sử dụng các mật khẩu yếu có
thể bị kẻ tấn công khai thác bằng vét cạn – brute force attack, hoặc lƣu trữ các mật
khẩu trên máy tính dễ dàng truy xuất nhƣ, lƣu trên file, màn hình desktop, v.v.
Thiết kế hệ điều hành cơ bản sai sót: Hệ điều hành không cập nhật (updated)
thƣờng xuyên để vá các lỗ hổng bảo mật, cập nhật các hotfix, hoặc dùng tài khoản
quản trị administrator/root để cấu hình hệ thống, v.v. Kẻ tấn công có thể khai thác
các lỗ hổng bảo mật để tấn công server, hoặc brute force để dò mật khẩu của tài
khoản quản trị.
Lỗi phần mềm: Cấu trúc phần mềm đƣợc viết bởi con ngƣời, những dòng code
đó cũng viết bởi con ngƣời, vì vậy xuất hiện lỗi là không thể tránh khỏi. Kẻ tấn
công có thể khai thác lỗ hổng này để chèn thêm đoạn mã và phần mềm, hoặc kẻ tấn
công có thể upload Trojan/Viruses tới phần mềm này và thực hiện tấn công.
Không kiểm tra dữ liệu vào của ngƣời dùng. Một chƣơng trình giả định rằng
tất cả dữ liệu nhập vào của ngƣời dùng là an toàn. Các chƣơng trình sẽ không thực
hiện việc kiểm tra nhập vào của ngƣời dùng có thể cho phép sự thực thi trực tiếp mà
không đƣợc định trƣớc của các câu lệnh hoặc các câu lệnh SQL nhƣ tràn bộ đệm,
SQL Injection.

2.2 MỘT SỐ LỖ HỔNG CƠ BẢN
2.2.1 Lỗi mã nhúng (Injection)
Trong các ứng dụng nhƣ SQL, khi những dữ liệu không xác thực đƣợc gửi tới

hệ thống biên dịch nhƣ một phần của mã lệnh. Lỗi Injection có thể sảy ra khi một
ứng dụng gửi những đoạn mã độc đến trình biên dịch. Lỗi này rất phổ biến, đặc biệt
ở những đoạn mã nguồn đƣợc sử dụng nhiều, nhƣ trong truy vấn SQL.
Để ngăn chặn cần phải phân biệt đƣợc mã độc và câu lệnh hay truy vấn.
14


Chương 2. Các lỗ hổng mạng máy tính

Thƣờng đƣợc dùng là một thƣ viên API an toàn, kiểm tra dữ liệu đầu vào hợp lệ
bằng các từ điển tiêu chuẩn phù hợp. Đây vẫn chƣa phải là cách phòng thủ an toàn
nhất vì nhiều ứng dụng sử dụng những ký tự đặc biệt trong các thông tin đầu vào.

2.2.2 Thực thi mã script độc (Cross Site Scripting - XSS)
Khi một ứng dụng tiếp nhận những dữ liệu không đáng tin cậy và gửi chúng
đến cho trình duyệt web mà không qua xử lý và kiểm duyệt. XSS cho phép kẻ tấn
công thực hiện mã độc trên trình duyệt của ngƣời bị tấn công và lợi dụng ăn cắp
phiên truy cập để mạo danh hoặc hủy hoại trang web hoặc lừa ngƣời sử dụng đến
những trang web chứa mã độc khác, v.v. Kẻ tấn công có thể gửi những mã script tấn
công dạng văn bản, mà có thể khai thác trình biên dịch của trình duyệt web.
Để ngăn chặn XSS đòi hỏi phân biệt đƣợc giữa mã độc và nội dung web.
Khuyến khích loại bỏ những ký tự đặc biệt một cách cẩn thận dựa trên nội dung của
HTML (phần thân, các thuộc tính, Javascript, CSS, URL) mà dữ liệu sẽ xuất hiện.
Xác thực dữ liệu đầu vào hợp lệ.

2.2.3 Hƣ hỏng cơ chế chứng thực và quản lý phiên làm việc
Những đoạn chƣơng trình kiểm tra danh tính và quản lý phiên làm việc của
ngƣời sử dụng thƣờng hay đƣợc làm qua loa không đúng cách. Điều này giúp kẻ
thâm nhập có thể ăn cắp mật mã, khóa, mã của các phiên làm việc hoặc tận dụng
những lỗi khác để giả mạo danh tính các ngƣời dùng khác. Kẻ tấn công lợi dụng

những sơ hở trong các đoạn mã kiểm tra định danh (ví dụ: xem tài khoản, password,
ID phân làm việc) để giả mạo ngƣời dùng.danh

2.2.4 Giả mạo yêu cầu (Cross Site Request Forgery - CSRF)
Kiểu tấn công này ép buộc trình duyệt web của một ngƣời dùng đã đăng
nhập gửi những yêu cầu giao thức web, tới một trang web bị lỗi, bao gồm cookie
của phiên truy cập và những thông tin tự động khác nhƣ thông tin đăng nhập. Cách
thức này cho phép kẻ tấn công buộc trình duyệt web tạo ra những yêu cầu cho ứng

15


Chương 2. Các lỗ hổng mạng máy tính

dụng lỗi mà ứng dụng này không thể biết đây là những yêu cầu giả mạo của kẻ tấn
công, v.v.
Ngăn chặn CSRF yêu cầu những giá trị không đoán đƣợc trong thân của
URL hoặc yêu cầu HTTP. Những giá trị đó nên ở mức tối thiểu là riêng biệt cho
từng phiên làm việc của ngƣời dùng, nhƣng cũng có thể riêng biệt từng yêu cầu.

2.2.5 Sai sót cấu hình an ninh
Một cơ chế an ninh tốt cần phải định nghĩa những hiệu chỉnh về an ninh và
triển khai nó cho các ứng dụng, máy chủ web, máy chủ dữ liệu và các ứng dụng nền
tảng. Những công cụ quét tự động cũng có thể hữu ích trong việc phát hiện những
bản vá lỗi bị thiếu, sai sót trong cấu hình, v.v.
Một tiến trình bảo mật có thể dễ dàng lặp lại giúp cho việc triển khai trên môi
trƣờng khác nhanh chóng và dễ dàng, nên đƣợc thiết lập giống nhau, nên đƣợc tự
động để giảm thiểu công sức thiết lập một môi trƣờng mới an toàn. Hãy thƣờng
xuyên chác các chƣơng trình quét lỗ hổng mạng, để kiểm tra hệ thống mạng của
chúng ta đã sẵn sàng.


2.2.6 Lƣu trữ mật mã không an toàn
Nhiều ứng dụng web không bảo vệ dữ liệu nhạy cảm nhƣ thẻ tín dụng, SSN –
Social Security Number, v.v. Kẻ tấn công có thể ăn cắp hay thay đổi những dữ liệu
nhạy cảm này và tiến hành hành vi trộm cắp, gian lận thẻ tín dụng, v.v.
Sai lầm phổ biến là không mã hóa các dữ liệu cần đƣợc mã hóa, mật khẩu dễ
đoán, v.v. Vì vậy để an toàn cho tất cả các dữ liệu quan trọng cần đƣợc mã hóa, xem
xét các nguy cơ đe dọa tới sự bảo mật của các dữ, dùng các thuật toán mạnh, v.v.

2.2.7 Sai sót hạn chế truy cập
Nhiều ứng dụng web kiểm tra quyền thực thi địa chỉ truy cập trƣớc khi dựng
các liên kết và nút nhấn đƣợc bảo vệ. Tuy nhiên ứng dụng cũng phải thực hiện
những kiểm tra tƣơng tự mỗi khi những trang thông tin đƣợc truy cập trực tiếp nếu
không kẻ tấn công có thể giả mạo URL để truy cập vào những trang thông tin này.
16


Chương 2. Các lỗ hổng mạng máy tính

Các lập trình viên cũng đôi khi quên tích hợp những mã kiểm tra. Phát hiện những
lỗi nhƣ vậy không khó. Phần khó nhất là xác định những trang (URL) tồn tại để tấn
công.
Ngăn chặn truy cập trái phép đòi hỏi việc chọn lựa một cách cẩn thận để yêu
cầu xác thực và xác minh một cách phù hợp cho mỗi trang. Quy định nên có khả
năng cấu hình cao, để giảm thiểu bất kỳ thiết lập cứng nào trong quy định. Nếu
trang là một phần của một quy trình công việc, đảm bảo các điều kiện đang ở trạng
thái thích hợp để cho phép truy cập.

2.2.8 Thiếu bảo vệ lớp vận chuyển
Các ứng dụng thƣờng xuyên mắc sai lầm trong việc kiểm tra định danh, mã

hóa và bảo vệ sự tuyệt mật và tính toàn vẹn của những thông tin nhạy cảm. Nó
thƣờng đƣợc bảo vệ bởi những thuật toán yếu, sử dụng những chứng nhận đã hết
hiệu lực hoặc không sử dụng đúng cách. Phần lớn các ứng dụng chỉ sử dụng
SSL/TLS trong qúa trình xác thực và do đó không bảo vệ dữ liệu và định danh
phiên làm việc.
Yêu cầu SSL cho tất cả trang web chứa dữ liệu quan trọng. Đảm bảo chứng
chỉ SSL hợp lệ, chƣa quá hạn, không bị thu hồi và phù hợp với tên miền của trang
web.

2.3 PHÁT HIỆN CÁC LỖ HỔNG MẠNG MÁY TÍNH
Scanning network là quá trình thu thập thông tin về lỗ hổng bảo mật, trong đó
có thể bao gồm giám sát lƣu lƣợng dữ liệu cũng nhƣ giám sát hoạt động của các
thiết bị mạng. Scanning network thúc đẩy cả sự an toàn và hiệu suất của một mạng,
cũng có thể đƣợc sử dụng từ bên ngoài một mạng, để xác định các lỗ hổng mạng.
Phát hiện các lỗ hổng an ninh mạng máy tính là một việc quan trọng trong quá trình
xây dựng mạng bảo mật, an toàn, vá lỗi các lỗ hổng,..v.v. Dò tìm lỗ hổng ứng dụng
web là công cụ tự động quét các ứng dụng web để tìm các lỗ hổng bảo mật đƣợc
biết đến nhƣ cross-site scripting, SQL injection, v.v. Một số lƣợng lớn công cụ dò

17


Chương 2. Các lỗ hổng mạng máy tính

tìm lỗ hổng, là mã nguồn mở và thƣơng mại và và tất cả những công cụ này có điểm
mạnh và điểm yếu của nó.
Vulnerability scanner có thể giúp chúng ta, tự động kiểm toán an ninh và có
thể đóng một phần quan trọng trong an ninh CNTT. Các công cụ này có thể quét
mạng và các trang web cho đến hàng ngàn những rủi ro bảo mật khác nhau, tạo ra
một danh sách ƣu tiên của những cho ngƣời quản trị, nên vá, mô tả các lỗ hổng, và

cung cấp cho các bƣớc trên làm thế nào để khắc phục chúng. Một số thậm chí có thể
tự động hóa quá trình vá lỗ hổng. Hiện nay có rất nhiều tools scanning vulnerability
network nhƣ: Nikto, Paros proxy, Nessus, Arachni, Acunetix WVS, Retina, v.v.

2.3.1 Nikto
Nikto - Là một phần mềm mã nguồn mở với tính năng Web Server Scanner,
tính năng kiểm tra các máy chủ Web. Bao gồm hơn 3200 phƣơng thức nhận diện
các file, lỗi logic nguy hiểm, hỗ trợ hơn 625 phiên bản Web Server, bao gồm những
lỗi trên 230 Web Server khác nhau. Tính năng Scan kết hợp với các Plugins luôn
đƣợc cập nhật tự động, đảm bảo đƣa ra kết quả đầy đủ và chính xác nhất. Là một
công cụ rất hữu hiệu nhƣng không đƣợc cập nhật thƣờng xuyên. Các lỗi mới nhất
thƣờng đƣợc cập nhật chậm và không thể tìm thấy.

2.3.2 Paros proxy
Một ứng dụng kiểm tra các lỗ hổng bảo mật trên cá ứng dụng web trên Proxy.
Một trang web trên nền Java thƣờng kết hợp dạng proxy điều đó dẫn tới có nhiều lỗ
hổng bảo mật. Phần mềm này hỗ trợ cho phép thay đổi, xem các gói tin
HTTP/HTTPS và thay đổi chúng ở cookies. Bao gồm một tính năng Web Recorder,
web spider, và công cụ Scanner cho phép kiểm tra các ứng dụng có khả năng bị tấn
công nhƣ lỗi SQL Injection và Cross-site Scripting.

2.3.3 WebScarab
Một khung hoạt động cho phép phân tích các ứng dụng giao tiếp sử dụng giao
thức HTTP và HTTPS. Một dạng rất đơn giản, WebScarab lƣu các Request và
18


Chương 2. Các lỗ hổng mạng máy tính

Response cho phép tái sử dụng trong các phiên làm việc khác. WebScarab đƣợc

thiết kế cho mọi ngƣời muốn xem hoạt động của các ứng dụng sử dụng giao thức
HTTP(S), tuy nhiên công cụ này cũng cho phép phát triển và sửa những lỗi khó,
hoặc cho phép nhận biết những lỗ hổng bảo mật trên các ứng dụng đƣợc thiết kế và
triển khai.

2.3.4 Acunetix Web Vulnerability Scanner
Một phiên bản thƣơng mại của chƣơng trình tìm kiếm các lỗ hổng bảo mật
trên các ứng dụng Web. Acunetix WVS tự động kiểm tra các ứng dụng Web để tìm
kiếm các lỗ hổng bảo mật nhƣ SQL Injection, hay Cross-Site Scripting, tìm kiếm
những chính sách đối với mật khẩu đăng nhập cũng nhƣ các phƣơng thức xác thực
vào Web Site. Với giao diện đồ họa thân thiện, những Report đầy đủ cho phép
chúng ta, kiểm tra những vấn đề trên máy chủ và ứng dụng Web.

2.3.5 Metasploit Framework
Không thể bàn cãi đây là một công cụ khai thác lỗ hổng rất hiệu quả. Đƣợc
phát triển và đƣa ra phiên bản đầu tiên năm 2004, đã vƣợt qua hầu hết các phần
mềm khác và đứng hàng đầu tiên và đƣợc nhiều ngƣời biết đến nhất khi sử dụng để
khai thác các lỗ hổng bảo mật trên máy tính. Nhiều tính năng mở rộng nhƣ hỗ trợ
thêm các Payloads, Encoders, hay no-op generator, có thể sử dụng Metasploit
Framework cho các nghiên cứu khai thác các lỗ hổng bảo mật trên các Server.
Chƣơng trình thân thiện với những ngƣời mới sử dụng và bắt đầu nghiên cứu
Security, những tính năng cao cấp cho phép mọi ngƣời tự động viết những module
Exploit và tích hợp thêm vào Metasploit làm hài lòng các nhà bảo mật chuyên
nghiệp.

2.3.6 Nessus
Một công cụ Scan lỗ hổng bảo mật trên Unix hiệu quả nhất. Nessus là một
công cụ miễn phí scan lỗ hổng bảo mật hiệu quả nhất từng có, và tốt nhất là chạy
trên hệ thống Unix, Linux. Tính năng tự động cập nhật và hơn 11.000 plugin miễn
19



Chương 2. Các lỗ hổng mạng máy tính

phí. Tính năng bao gồm cho phép thực hiện từ xa hay tại local, cho phép thực hiện
quá trình kiểm tra bảo mật, đặc biệt hỗ trợ mô hình Client/Server với giao diện đồ
họa, tích hợp ngôn ngữ scripting cho phép chúng ta tự ghi những plugin. Nessus
đƣợc biết đến nhƣ một phần mềm Closed Source, nhƣng vẫn có bản miễn phí và
không hỗ trợ những Plugin mới nhất.

2.3.7 Arachni
Là một mã nguồn mở, đầy đủ tính năng, miễn phí, thực hiện cao, nhằm giúp
thử nghiệm thâm nhập và quản trị, đánh giá sự an toàn của các ứng dụng web. Nó
có thể thực hiện phân tích đánh giá một cách chính xác. Nó rất linh hoạt, có thể sử
dụng trong rất nhiều trƣờng hợp khác nhau, từ một tiện tích quét dòng lệnh đơn
giản, tới quét lƣới có thực thi cao, cũng nhƣ hổ trợ đa ngƣời ngƣời dùng multiscanner.

2.3.8 W3AF
Là một công cụ dùng để rà soát lỗi bảo mật và kiểm định mức độ an toàn của
hệ thống. W3AF cung cấp một máy quét lỗ hổng và công cụ khai thác các ứng dụng
web, nó cung cấp thông tin về lỗ hổng bảo mật và hổ trợ trong nổ lực thử nghiệm
thâm nhập, và khi có kết quả kiếm định thì chúng ta có thể vá các các lỗ hổng này.
W3AF xác định các lỗ hổng ứng dụng web sử dụng hơn 130 plug-in. Sau khi
xác định các lỗ hổng nhƣ SQL Injection, hệ điều hành chỉ huy, XSS, và tải lên tập
tin không an toàn, có thể khai thác để đạt đƣợc các loại khác nhau của quyền truy
cập vào hệ thống từ xa.

20



Chương 3. Các dạng tấn công mạng máy tinh

Chƣơng 3: CÁC DẠNG TẤN CÔNG MẠNG MÁY TÍNH

3.1 GIỚI THIỆU VỀ TẤN CÔNG MẠNG MÁY TÍNH
Tấn công (attack, intrusion) mạng là các tác động hoặc là trình tự liên kết giữa
các tác động với nhau để phá hủy, dẫn đến việc thực hóa các nguy cơ bằng cách lợi
dụng đặc tính dễ bị tổn thƣơng của các hệ thống thông tin này.
Các hình thức tấn công mạng máy tính: Tấn công chủ động, tấn công thụ
động; tấn công password, tấn công code.
Tấn công chủ động là các cuộc tấn công mà ngƣời tấn công hoàn toàn công
khai và chủ động trong tổ chức và thực hiện cuộc tấn công với mục đích làm giảm
hiệu năng hoặc làm tê liệt hoạt động của hệ thố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ối dịch vụ phân tán - DDoS, tấn công tràn
bộ đệm (Buffer Overflow), giả mạo (Spoofing), ngƣời trung gian (MITM), giả mạo
giao thức điều khiển truyền tin qua Internet, v.v
Tấn công bị động bao gồm qué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 (Brute force)
Tấn công mã nguồn là bao gồm tấn công từ bên trong (Backdoor), Viruses,
Trojans, Worms, lỗ hổng phần mềm, khóa hoặc giải thuật yếu.
Tấn công bên trong mạng gồm có, tấn công không chủ ý là nhiều hƣ hại của
mạng do ngƣời dùng trong mạng vô ý gây nên. Những ngƣời này có thể vô ý để
hacker bên ngoài hệ thống lấy đƣợc password hoặc các tài nguyên của mạng. Tấn
công có chủ ý là kẻ tấn công có chủ ý chống lại các qui tắc, các qui định do các
chính sách an ninh mạng đƣa ra.
Tấn công từ ngoài mạng gồm có, kẻ tấn công nghiệp dƣ thƣờng dùng các kịch
bản đã tạo sẵn và có thể tạo nên các thiệt hại đối với mạng. Kẻ tấn công đích thực,
mục đích chính của nhóm ngƣời này khi thực hiện các tấn công mạng là để mọi
ngƣời thừa nhận khả năng của họ và để đƣợc nổi tiếng. Kẻ tấn công chuyên nghiệp,

thực hiện các tấn công mạng để thu lợi bất chính.
21


Chương 3. Các dạng tấn công mạng máy tinh

Các mô hình tấn công mạng gồm, mô hình tấn công truyền thống đƣợc tạo
dụng theo nguyên tắc “một đến một” hoặc “một đến nhiều”, có nghĩa là cuộc tấn
công xảy ra từ một nguôn gốc.

Hình 3.1 Mô hình tấn công mạng từ một máy

Mô hình tấn công phân tán, sử dụng quan hệ “nhiều đến một” và “nhiều đến
nhiều”. Tấn công này dựa vào Flood hay Storm.

Hình 3.2 Mô hình tấn công mạng từ nhiều máy

Các bước tấn công và thâm nhập hệ thống
Thâm nhập vào một hệ thống không phải là một công việc đơn giản nhƣng
cũng không quá khó khăn cho những ngƣời có kiến thức về công nghệ thông tin nói
22


×