You are on page 1of 43

TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH

KHOA CÔNG NGHỆ THÔNG TIN

Bài giảng môn học:


AN NINH MẠNG

Giảng viên: ThS. Phạm Đình Tài


Số tín chỉ: 3 Tel: 0985733939
Tổng số tiết: 60 tiết Email: pdtai@ntt.edu.vn
(30 LT + 30 TH)
Môn học: AN NINH MẠNG

Bài 1 Một số kỹ thuật tấn công mạng.


Bài 2 Các kỹ thuật mã hóa và xác thực
Bài 3 Triển khai hệ thống Firewall
Bài 4 Chứng thực trên Firewall
Bài 5 Thiết lập các chính sách truy cập
Bài 6 Bảo vệ Server công cộng
Bài 7 Bảo mật truy cập từ xa
-2-
Bài 1: Một số kỹ thuật tấn công mạng
Mục đích của tấn công mạng

Sơ lược một số kỹ thuật tấn công mạng

Kỹ thuật Man In the Middle

Kỹ thuật Trojan & Backdoor

Dò tìm Password

Vulnerability Exploit

Một số phương pháp phòng chống


Mục đích của tấn công mạng
• Mục đích của các cuộc tấn công mạng từ bên ngoài vào:
• Dò tìm thông tin và các yếu điểm của mục tiêu để lựa chọn công cụ
và lên kế hoạch tấn công.
• Khai thác các điểm yếu / lổ hỏng bảo mật để thực hiện tấn công
xâm nhập hoặc tấn công làm từ chối dịch vụ.
• Làm tê liệt các máy chủ cung cấp dịch vụ hoặc tê liệt đường truyền
mạng (gọi là tấn công từ chối dịch – DoS hoặc DDoS)
• Đánh cắp các luồng dữ liệu từ người dùng ra ngoài => Attacker
lọc dữ liệu đánh cắp để lấy thông tin, mật khẩu, mã PIN…
• Thực hiện các cuộc lừa đảo nhằm đánh cắp thông tin, tiền bạc
• Thực hiện các cuộc tống tiền bằng các ràng buộc: mã hóa dữ liệu
nạn nhân, khóa tài khoản nạn nhân…

4
Mục đích của tấn công mạng
• Mục đích của các cuộc tấn công mạng từ bên ngoài vào:
• Điều khiển máy tính nạn nhân từ xa => đánh cắp thông tin hoặc
biến máy nạn nhân thành zombie.
• Kiếm tiền bằng cách buộc máy tính nạn nhân tự động truy cập các
Web quảng cáo, chạy SEO, đào bit-coin…
• Mục đích của các cuộc tấn công mạng từ bên trong:
• Tấn công từ bên trong mạng nội bộ dễ thực hiện hơn và cũng có
mục đích tương tự như tấn công mạng từ ngoài.
• Dễ dàng cho lây nhiễm các mã độc tống tiền, quảng cáo, key-log…
• Gây tổn hại đến uy tín doanh nghiệp.
• Gây thất thoát thông tin kinh doanh cho đối thủ.

5
Mục đích của tấn công mạng
• Các dạng Attacker:
• Attacker muốn thể hiện bản thân.
• Attacker muốn tư lợi tiền bạc, kiến thức, dữ liệu…
• Attacker muốn thử nghiệm để nghiên cứu/ đánh giá các phương
án bảo mật mạng.
• Các dạng khác: được thuê, được tài trợ, làm từ thiện…
• …

-6-
Một số kỹ thuật tấn công mạng
• Kỹ thuật Sniffing
• Sniffing (nghe lén): đánh cắp các gói tin truyền giữa 02 (hai) máy
tính / thiết bị trên mạng.
• Thông tin đánh cắp thường là: user/password, nội dung văn bản,
hình ảnh…
• Sniffing đơn giản và hiệu quả trong mạng nội bộ.

7
Kỹ thuật Man In the Middle
• Nguyên lý: MAC Address Port
• Dựa vào điểm yếu của
00001234AAAA 1
“chuyển mạch Layer-2”.
2
00001234BBBB 3
00001234CCCC 4
5
00001234DDDD 6
To: 7
000012334EEEE 00001234EEEE 8

To:
0001234DDDD

8
Kỹ thuật Man In the Middle
• Mô hình OSI
• Nhắc lại mô hình OSI

Anh Phải Sống Theo Người Địa Phương


9
Kỹ thuật Man In the Middle
• Giao thức ARP trong chuyển mạch Layer-2:
• ARP: (viết tắt của cụm từ Address Resolution Protocol) là giao
thức mạng được dùng để tìm ra địa chỉ phần cứng (địa chỉ MAC)
của thiết bị từ một địa chỉ IP nguồn.

10
Kỹ thuật Man In the Middle
• Giao thức ARP trong chuyển mạch Layer-2:
• ARP request: yêu cầu máy có Destination IP address (muốn giao
tiếp với máy này) cung cấp MAC address (yêu cầu của chuyển
mạch Layer-2)
• ARP reply: máy Destination cung cấp MAC address theo yêu cầu

ARP R
eque
st IP: 192.
1
? : MA 68.1.20
4 C Add
EEEE
0 0001 2 3 ress
MA C :
6 8 . 1.20
92.1
IP: 192.168.1.10 I P : 1
ly ep
MAC: 00001234AAAA ARP R

11
IP: 192.168.1.20
MAC: 00001234EEE
Kỹ thuật Man In the Middle
• Giao thức ARP trong chuyển mạch Layer-2:
• ARP request: yêu cầu máy có Destination IP address (muốn giao
tiếp với máy này) cung cấp MAC address (yêu cầu của chuyển
mạch Layer-2)
• ARP reply: máy Destination cung cấp MAC address theo yêu cầu

ARP R
eque
st IP: 192.
1
? : MA 68.1.20
4 C Add
EEEE
0 0001 2 3 ress
MA C :
6 8 . 1.20
92.1
IP: 192.168.1.10 I P : 1
ly ep
MAC: 00001234AAAA ARP R

12
IP: 192.168.1.20
MAC: 00001234EEE
Kỹ thuật Man In the Middle
• Hoạt động của kỹ thuật “Man in the middle”
• Còn gọi là “ARP Spoofing” – tiêm độc giao thức ARP.
• Dùng ARP reply để đánh lừa 2 đối tác trao đổi thông tin.

IP : 192.168.1.10 IP : 192.168.1.20
MAC: 00001234AAAA MAC: 00001234EEEE

y
CC
epl 0
.1 CCC
C 1
3 4C 0
2 1.2 P
R
6 8. 4C
1 3
AR 92. 012
1 .
0 00 68
: 1 000
1
C : 0 92. p ly
IP C:
A 1
M : Re
I P P A
AR M

IP : 192.168.1.30
MAC: 00001234CCCC

13
Một số kỹ thuật tấn công mạng
• Kỹ thuật Key-logger
• Keylogger: phần mềm ghi lại (log) các thao tác trên keyboard,
mouse, màn hình…
• Thông tin ghi nhận sẽ được gởi qua mail cho người tạo keylog.

14
Một số kỹ thuật tấn công mạng
• Kỹ thuật Trojan & Backdoor
• Trojan: phần mềm thực thi các lệnh của Attacker từ bên ngoài gởi vào.
• Để nhận lệnh từ Attacker, Trojan sẽ mở 1 cổng (port) trên máy người
dùng – gọi là Backdoor.

15
Kỹ thuật dùng Trojan
• Giới thiệu:
• Trojan là phần mềm nhiễm vào máy nạn nhân
• Trojan mở Port trên máy nạn nhân để tiếp nhận các lệnh từ
Hacker đưa vào (gọi là Backdoor)

16
Kỹ thuật dùng Trojan
• Quy trình tấn công bằng Trojan:
• Dùng công cụ để tạo mới Trojan Server
• Bao bọc, che dấu Trojan Server bên trong một phần mềm / công
cụ… nào đó
• Cho Victim thực thi phần mềm đã nhiễm Trojan Server.
• Thông báo thông tin Victim đã bị nhiễm về cho Attacker.
• Attacker dùng Trojan Client để thực hiện các lệnh điều khiển
Trojan Server.
• Điều kiện điều khiển:
• Do Firewall ngăn mở Backdoor port => máy nạn nhân phải tắt
Local Firewall hoặc cho phép Backdoor port hoạt động.

17
Kỹ thuật dùng Trojan
• Điều kiện điều khiển:
• Trong trường hợp máy nạn nhân (Victim) đặt dưới NAT Router:
• Phương án 1: dùng NAT Port TCP - mở Backdoor port trên NAT Router
của nạn nhân chuyển tiếp về máy nhiễm Trojan Server.
• Phương án 2: dùng Reverse TCP - mở Backdoor port trên NAT Router
của Attacker, chuyển tiếp dữ liệu của Trojan Server vào máy Trojan
Client.
• Với phương án 1:
• Dễ thực hiện.
• Attacker phải dò tìm user/pass truy cập NAT Router của nạn nhân
• Với phương án 2:
• Khó thực hiện.
• Không cần can thiệp vào NAT Router của nạn nhân

18
Một số kỹ thuật tấn công mạng
• Kỹ thuật DoS / DDoS
• DoS (Deny of Service): tấn công vào một máy chủ là tê liệt (hoặc
hạn chế) hoạt động cung cấp dịch vụ của máy chủ này.
• DoS tấn công từ một (hoặc nhóm nhỏ) máy tính vào một Server.

19
Một số kỹ thuật tấn công mạng
• Kỹ thuật DoS / DDoS
• DDoS (Distribution Deny of Service): tấn công DoS vào một máy chủ
từ nhiều (hoặc rất nhiều) máy tính của người dùng mạng.
• Máy tính bị lợi dụng để tấn công DDoS được gọi là Zombie.
• Attacker tạo zombies từ các phần mềm, crack, keygen, risk
code… trên internet

20
Một số kỹ thuật tấn công mạng
• Kỹ thuật Exploit Vulnerability
• Exploit Vulnerability: tấn công vào lỗ hổng bảo mật (điểm yếu) của
Website, Hệ điều hành, phần mềm…
• Exploit: Tấn công xâm nhập vào máy nạn nhân
• Axiliary: các hình thức phụ trợ khác như: DoS, crash, scanning,
spoofing,…
• Phương thức tấn công:
• Dò tìm các điểm yếu (vulnerabilities) của Hệ Điều hành, phần mềm,
website, driver,…
• Viết các đoạn code khai thác các vulnerabilities tìm được (gọi là bugs
hay module).
• Sử dụng công cụ (Metasploit) đẩy các bugs vào các máy tính có
vulnerabilities tương ứng.

21
Kỹ thuật Exploit Vulnerability
• Exploit Vulnerability: tấn công vào lỗ hổng bảo mật (điểm
yếu) của Website, Hệ điều hành, phần mềm, trình duyệt
web…
• Exploit: Tấn công xâm nhập vào máy nạn nhân
• Axiliary: các hình thức phụ trợ khác như: DoS, crash, scanning,
spoofing,…
• Nếu Exploit thành công:
• Thực thi trên máy nạn nhân một ứng dụng tạo kết nối với máy
Attacker (ứng dụng này gọi là Payload).
• Thông qua payload, attacker có thể tải lên máy Victim các chương
trình: điều khiển máy, đánh cắp / sửa đổi thông tin, cài Trojan,
backdoor, keylogger…

22
Tấn công Vulnerability Exploit
• Giới thiệu Metasploit
• Là công cụ “Exploit Vulnerabilities”: Khai thác (Exploit) các điểm
yếu, lỗ hỏng bảo mật (vulnerability) của Hệ Điều hành, phần mềm,
driver,… để tấn công.
• Mục đích:
• Exploit: Tấn công xâm nhập vào máy nạn nhân
• Auxiliary: các hình thức phụ trợ khác như: DoS, crash, scanning,
spoofing,…
• Phương thức tấn công
• Dò tìm các vulnerabilities của Hệ Điều hành, phần mềm, driver,…
• Viết các đoạn code khai thác các vulnerabilities tìm được (gọi là
bugs hay modle).
• Sử dụng Metasploit đẩy các bugs vào máy tính có vulnerabilities
tương ứng.

23
Tấn công Vulnerability Exploit
• Các thành phần của Metasploit
• Module (còn gọi là Bugs)
• Là đoạn chương trình khai thác (tấn công) vào một lỗi nào đó của Hệ
điều hành hay phần mềm ứng dụng.
• Module thường viết bằng ngôn ngữ C, Python hoặc Perl.
• Các đặc tính của Bug (hay Module)
• Mỗi Module chỉ dùng khai thác lỗi của Hệ điều hành / phần mềm với
phiên bản có bug tương ứng.
• Nếu Hệ điều hành / phần mềm đã vá lỗi (patch) thì bug cũ không còn
sử dụng dược.
• (Ghi chú: Service Pack là tập hợp nhiều bản vá lỗi của một Hề điều
hành hoặc phần mềm).

24
Tấn công Vulnerability Exploit
• Các thành phần của Metasploit
• Payload:
• Một dạng ứng dụng sẽ được đẩy vào máy nạn nhân để thực thi ngay sau
khi cuộc tấn công điểm yếu thành công.
• Payload tạo kênh liên lạc giữa máy Metasploit với các máy Victim.
• Các Payload thường dùng:
• shell_reverse tcp: giao tiếp với máy Victim bằng dòng lệnh (shell)
• VNC_reverse_tcp: giao tiếp với máy Victim bằng trình điều khiển từ xa
VNC.
• Meterpreter: (phát triển từ Metasploit v4) giao tiếp với máy Victim
bằng các công cụ của Metasploit.

25
Tấn công Vulnerability Exploit
• Thực thi tấn công Exploit
• Dò tìm điểm yếu (Vulnerability) của Victim
• Nạp module khai thác Vulnerability
• Lệnh: use <đường dẫn nơi chứa module>
• Điều chỉnh các Options của module:
• Lệnh: show options (xem các options của module)
• Lệnh: set RHOST <IP của Victim>
• …
• Lựa chọn payload
• Lệnh: set PAYLOAD <tên payload>
• Thực hiện tấn công
• Lệnh: run hoặc exploit

26
Dò tìm password
• Các kiểu dò tìm mật khẩu:

27
Dò tìm password
• Công cụ LCP:
• Dò tìm mật khẩu theo kiểu Brute Force.
(https://www.grc.com/haystack.htm)
• Hỗ trợ dò tìm theo kiểu Dictionary (từ điển) và Hybrid
• Công dụng của LCP:
• Tìm lại password bị mất.
• Kiểm tra độ mạnh (an toàn) của mật khẩu
• Dữ liệu sử dụng:
• Tại máy nội bộ (local machine)
• Tại máy ở xa (remote machine).
• Từ file SAM, PwDump, sniff file…

28
Dò tìm password
• Công cụ PwDump7:
• Dùng dump (bóc ra) thông tin tài khoản từ các tập tin được bảo
vệ (Protected files).
• PwDump7 dùng dump thông tin mật khẩu dạng MD5 (mã băm –
hash) từ file SAM đang chạy trong Windows.
• Cách dùng:
• PwDump7 chạy từ Command Prompt quyền Administrator
• Lệnh: Pwdump7.exe sẽ xuất kết quả dump password trên màn
hình
• Lệnh: Pwdump7.exe > file_name sẽ xuất kết quả dump password
ra file_name
(http://www.tarasco.org/security/pwdump_7/)

29
Một số kỹ thuật tấn công mạng
• Kỹ thuật System Hacking
• System Hacking: các kỹ thuật đánh cắp thông tin khi attacker xâm
nhập được vào hệ thống máy nạn nhân.
• Các tác vụ:
• Đánh cắp thông tin tài khoản
(user / password).
• Dò tìm mật khẩu (password).
• Cài đặt Keylog, Trojan,
Spyware…
• Đánh cắp dữ liệu.
• Tạo tài khoản riêng, thăng
quyền để truy cập lần sau.

30
Một số kỹ thuật tấn công mạng
• Kỹ thuật Session Hijacking
• Session Hijacking là kiểu tấn công cướp phiên truy cập hợp lệ của
Client vào Server:
• Theo dõi phiên kết nối từ Client đến Server.
• Người dùng client khai báo thông tin kết nối server.
• Ngay khi việc chứng thực hoàn thành, attacker sẽ gây nhiễu loạn các
gói tin giữa client và server.
• Server yêu càu client gởi lại các gói tin 🡪 attacker sẽ thay client gởi
các gói tin đến server => kết nối với servrer

31
Một số kỹ thuật tấn công mạng
• Kỹ thuật SQL injection
• SQL injection: tấn công vào điểm yếu (vulnerability) của ứng dụng
Web có dùng cơ sở dữ liệu (database) để truy xuất thông tin từ
database một các trái phép.

32
Tổng kết
• Thấy được sự đa dạng của các phương thức tấn công trên mạng.
• Có một số kỹ thuật không yêu cầu trình độ CNTT của kẻ tấn công.
• Tấn công trong mạng nội bộ đơn giản hơn.

33
Một số phương pháp phòng chống
• Bảo mật vật lý.
• Phân quyền, kiểm soát truy cập.
• Phòng chống malware.
• Phòng chống Sniffing.
• Phòng chống DoS / DDoS.
• Phòng chống Session Hijacking.
• Phòng chống Exploit vulnerability.
• Phòng chống System Hacking.

34
Một số phương pháp phòng chống
• Bảo mật vật lý

- 35 -
Một số phương pháp phòng chống
• Phân quyền, kiểm soát truy cập
• Tài khoản truy cập và phân quyền tài khoản trên thiết bị:
• Mỗi người dùng – một tài khoản duy nhất.
• Phân quyền ở mức tối thiểu cho tài khoản.
• Kiểm soát truy cập thiết bị:
• Thủ tục, qui trình.
• Ghi nhận nhật ký truy cập (log)
• Dùng cơ chế xác thực 2 yếu tố (RSA SecurID).
• Mã hóa các kênh truy cập: IPSec-VPN, SSL-VPN
• Triển khai “cổng truy cập đa nhiệm” (Unified Access Gateway - UAG).

36
Một số phương pháp phòng chống
• Phòng chống System Hacking
• Với người dùng:
• Tuân thủ các chính sách mật khẩu phức tạp.
• Từ bỏ thói quen dùng chung mật khẩu.
• Tắt chế độ Autorun trên thiết bị USB.
• Với người quản trị:
• Bảo vệ vật lý các Server quan trọng.
• Không để người khác sử dụng máy tính
cá nhân.
• Thường xuyên thay đổi mật khẩu
• Triển khai hệ thống xác thực 2 yếu tố
(RSA securID)

37
Một số phương pháp phòng chống
• Phòng chống Sniffing
• Với người dùng:
• Không cố gắng truy cập khi trình duyệt web / mail xuất hiện cảnh báo
CA không tin cậy (untrusted).
• Thông báo người quản trị khi có sự bất thường.
• Với người quản trị:
• Tách rời các mạng bằng công nghệ VLAN. (Smart Switch)
• Sử dụng các thiết bị Switch có hỗ trợ các công nghệ chống nghe lén
như: Anti ARP spoofing, Anti DHCP spoofing, Port Security,..
• Mã hóa các kênh truyền dữ liệu như: IPSec, SSL…
• Với nhà lập trình:
• Sử dụng các giao thức có mã hóa như: HTTPs, SMTPs, POP3s,
• Băm (hash) mật khẩu trước khi truyền.

38
Một số phương pháp phòng chống
• Phòng chống DoS / DDoS
• Người dùng:
• Không để máy tính trở thành zoombie.
• Không cài đặt, thực thi các ứng dụng không rõ nguồn gốc hoặc các
phần mềm crack.
• Người quản trị:
• Triển khai hệ thống nhận dạng và phòng chống xâm nhập (IDS/IPS)
cho mạng nội bộ.
• Triển khai các cơ chế cân bằng tải, khả năng dự phòng
• Hỗ trợ người dùng cài đặt các phần mềm an toàn.
• Dò tìm, phát hiện rootkit trong các máy tính người dùng.

39
Một số phương pháp phòng chống
• Phòng chống Exploit Vulnerability
• Với người dùng:
• Thường xuyên cập nhật các bản vá lỗi cho Hệ điều hành như: Windows
Auto Update
• Khi online (web / chat / mail / mạng xã hội…) không click vào các
liên kết (URL) không tin cậy.
• Với người quản trị:
• Phân vùng DMZ chứa các Server cung cấp dịch vụ cho bên ngoài truy
cập.
• Triển khai dịch vụ cập nhật tự động cho toàn hệ thống (ví dụ như:
Windows Server Update Service – WSUS)
• Cập nhật các bản vá lỗi (patch), các bộ vá lỗi (Service pack) cho các
Web Service, Hệ điều hành,
• Sử dụng các công cụ dò tìm điểm yếu để phát hiện và vá lỗi kịp thời.

40
Một số phương pháp phòng chống
• Phòng chống các loại malware
• Với người dùng:
• Các phần mềm Anti-virus rất hữu hiệu trong việc nhận dạng và loại bỏ
các loại malware như: Keylogger, Trojan, Backdoor, Rootkit…
• Thường xuyên update cho các anti-virus.
• Không sử dụng các chương trình Crack, Keygen…
• Với người quản trị mạng:
• Xây dựng Firewall để ngăn chặn Backdoor, kiểm soát và hạn chế các
luồng dữ liệu ra /vào mạng nội bộ.
• Hỗ trợ người dùng các công cụ nhận dạng dò tìm keylog, Trojan,
rootkit…
• Triển khai anti-virus dạng Server – Client để update tự động cho người
dùng nội bộ.

41
Một số phương pháp phòng chống
• Phòng chống Session Hijacking
• Với người dùng:
• Ngưng kết nối với Server khi nhận thấy sự bất thường.
• Không sử dụng mạng công cộng để truy cập các dịch vụ quan trọng
hoặc chạy các ứng dụng riêng của nơi làm việc.
• Với người quản trị
• Sử dụng “mạng riêng ảo” (Virtual Private Network - VPN) mỗi khi truy
cập từ xa vào hệ thống.
• Xây dựng “cổng truy cập đa năng” (Unified Access Gateway - UAG) cho
mạng nội bộ.

42
Thảo Luận

Cấu trúc MT – ThS. Vương Xuân Chí Trang 43

You might also like