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 Tel: 0985733939 Email: pdtai@ntt.edu.vn

Số tín chỉ: 3 Tổng số tiết: 60 tiết (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

“chuyển mạch Layer-2”.

00001234BBBB 00001234CCCC

00001234DDDD

To: 000012334EEEE

00001234EEEE

1 2 3 4 5 6 7 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.

MAC: 00001234EEE

10 IP: 192.168.1.20

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 Request

IP: 192.168.1.10 MAC: 00001234AAAA

IP: 192.168.1.20 ? : MAC Address MAC: 00001234EEEE ARP Reply IP : 192.168.1.20

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 Request

IP: 192.168.1.10 MAC: 00001234AAAA

IP: 192.168.1.20 ? : MAC Address MAC: 00001234EEEE ARP Reply IP : 192.168.1.20

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 MAC: 00001234AAAA

IP : 192.168.1.20 MAC: 00001234EEEE

C

C

C

C

4

0

3

2

1

R

0

8.1.2

A

0

6

0

2.1

9

ply

A

M

e P R

R

P R e ply IP : 1 9 2.1 6 8.1.1 0 M A C: 0 0 0 0 1 2 3 4 C C C C

C: 0 IP : 1

A

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.

• Với phương án 1:

• 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 2:

• Dễ thực hiện. • Attacker phải dò tìm user/pass truy cập NAT Router của nạn nhân

• 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

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

• DDoS (Distribution Deny of Service): tấn công DoS vào một máy chủ

20

Một số kỹ thuật tấn công mạng

• Kỹ thuật Exploit Vulnerability

Website, Hệ điều hành, phần mềm…

• Exploit Vulnerability: tấn công vào lỗ hổng bảo mật (điểm yếu) của

• 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,

• Phương thức tấn công:

spoofing,…

• 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.

• Các đặc tính của Bug (hay Module)

• Module thường viết bằng ngôn ngữ C, Python hoặc Perl.

• 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.

• Các Payload thường dùng:

• Payload tạo kênh liên lạc giữa máy Metasploit với các máy Victim.

• 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

• Điều chỉnh các Options của module:

• Lệnh: use <đường dẫn nơi chứa module>

• Lựa chọn payload

• Lệnh: show options (xem các options của module) • Lệnh: set RHOST • …

• Thực hiện tấn công

• Lệnh: set PAYLOAD

• 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

nhập được vào hệ thống máy nạn nhân.

• Các tác vụ:

• System Hacking: các kỹ thuật đánh cắp thông tin khi attacker xâm

• Đá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

Client vào Server:

• Session Hijacking là kiểu tấn công cướp phiên truy cập hợp lệ của

• 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ị:

• Kiểm soát truy cập 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.

• 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:

• Với người quản trị:

• 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.

• 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).

• Với người quản trị:

• Thông báo người quản trị khi có sự bất thường.

• 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,..

• Với nhà lập trình:

• Mã hóa các kênh truyền dữ liệu như: IPSec, SSL…

• 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

• Người quản trị:

phần mềm crack.

• 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

• Với người quản trị:

liên kết (URL) không tin cậy.

• 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…

• Với người quản trị mạng:

• Thường xuyên update cho các anti-virus. • Không sử dụng các chương trình Crack, Keygen…

• 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

• Với người quản trị

hoặc chạy các ứng dụng riêng của nơi làm việc.

• 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