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

BÁO cáo bài tập lớn CHỨNG THỰC điện tử đề tài NGHIÊN cứu PHƯƠNG PHÁP tấn CÔNG CHẶN GIỮA TRONG GIAO THỨC SSL và PHƯƠNG PHÁP PHÒNG CHỐNG

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 (1.99 MB, 47 trang )

BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
*************

BÁO CÁO BÀI TẬP LỚN
CHỨNG THỰC ĐIỆN TỬ
ĐỀ TÀI: NGHIÊN CỨU PHƯƠNG PHÁP TẤN CÔNG CHẶN GIỮA TRONG
GIAO THỨC SSL VÀ PHƯƠNG PHÁP PHÒNG CHỐNG

Hà Nội, 2021
MỤC LỤC

DANH MỤC TỪ VIẾT TẮT..............................................................................4
DANH MỤC HÌNH ẢNH...................................................................................5
LỜI NĨI ĐẦU....................................................................................................7
Chương 1 TỔNG QUAN VỀ GIAO THỨC SSL...............................................8
1.1 Lịch sử phát triển của giao thức SSL........................................................8
1.1.1. Giao thức SSL là gì?.........................................................................8
1

download by :


1.1.2. Tầm quan trọng của giao thức SSL.................................................10
1.1.3. Các phiên bản của SSL....................................................................11
1.2 Các dịch vụ của SSL...............................................................................12
1.3 Cách thức hoạt động của giao thức SSL.................................................13
1.4 Các giao thức con của giao thức SSL......................................................15
1.4.1. Giao thức SSL Record.....................................................................16
1.4.2. Giao thức SSL Handshake..............................................................18
1.4.3. Giao thức SSL Change Cipher Spec...............................................21


1.4.4. Giao thức SSL Alert........................................................................21
1.5 Các thuật tốn mã hóa sử dụng trong SSL..............................................21
1.6 Tổng kết chương 1...................................................................................22
Chương 2 TÌM HIỂU PHƯƠNG PHÁP TẤN CƠNG CHẶN GIỮA TRONG
GIAO THỨC SSL VÀ CÁCH PHỊNG CHỐNG..................................................23
2.1 Tìm hiểu tấn cơng chặn giữa...................................................................23
2.1.1. Khái niệm........................................................................................23
2.1.2. Cách thức hoạt động........................................................................23
2.1.3. Các kiểu tấn cơng chặn giữa............................................................24
2.1.4. Ví dụ về tấn công chặn giữa............................................................26
2.2 Tấn công ARP Spoofing.........................................................................27
2.2.1. Giao thức ARP................................................................................27
2.2.2. Ngun lý tấn cơng ARP Spoofing.................................................27
2.3 Tìm hiểu tấn công chặn giữa chiếm quyền điều khiển SSL....................29
2.3.1. Mơ tả q trình truyền thơng...........................................................29
2.3.2. Q trình tấn cơng...........................................................................30
2.4 Biện pháp phòng chống...........................................................................32
2.5 Kết luận chương 2...................................................................................34
2

download by :


Chương 3 TRIỂN KHAI THỰC NGHIỆM......................................................35
3.1 Mơ hình triển khai...................................................................................35
3.1.1. Kịch bản..........................................................................................35
3.1.2. Mơ hình triển khai...........................................................................35
3.2 Thực nghiệm............................................................................................36
3.2.1. Cài đặt “SSLstrip”...........................................................................36
3.2.2. Tiến hành tấn công..........................................................................39

3.3 Kết luận chương 3...................................................................................43
KẾT LUẬN.......................................................................................................44
TÀI LIỆU THAM KHẢO.................................................................................45
BẢNG PHÂN CÔNG CÔNG VIỆC.................................................................46

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

Secure Sockets Layer

IETF

Internet Engineering Task Force

TLS

Transport Layer Security

HTTP

Hyper Text Transport Protocol

IMAP

Internet Messaging Access Protocol

FTP

File Transport Protocol


IPSec

IP Security Protocol

CA

Certificate Authority
3

download by :


MAC

Media Access Control

MITM

Man-in-the-Middle

DNS

Domain Name Server

DAI

Dynamic ARP Inspection

IDS


Intrusion Detection System 

DANH MỤC HÌNH ẢNH
Hình 1.1 Vị trí của giao thức SSL theo mơ hình TCP/IP..........................................8
Hình 1.2 Các cổng được gán cho các giao thức ứng dụng chạy trên SSL..............10
Hình 1.3 Cơ chế hoạt động của SSL.......................................................................14
Hình 1.4 Các bước của SSL Record Protocol.........................................................16
Hình 1.5 Quá trình bắt tay của client và server trong giao thức Handshake...........18
Hình 2.1 Mơ tả q trình tấn cơng chặn giữa MITM..............................................23
Hình 2.2 Ví dụ về tấn cơng MITM..........................................................................26
Hình 2.3 Ngun lý tấn cơng ARP Spoofing..........................................................28
Hình 2.4 Mơ tả q trình truyền thơng HTTPS.......................................................29
Hình 2.5 Mơ tả q trình chiếm quyền điều khiển truyền thơng HTTPS...............30
Hình 2.6 Mơ tả quá trình attacker can thiệp vào chuyển hướng HTTP sang HTTPS
.........................................................................................................................31
4

download by :


Hình 3.1 Mơ hình triển khai thực nghiệm...............................................................35
Hình 3.2 Giao diện trang tải bộ cài SSLstrip...........................................................36
Hình 3.3 Tải bộ cài SSLstrip về máy kali...............................................................36
Hình 3.4 Tiến hành cài đặt tool SSLstrip................................................................37
Hình 3.5 Cài đặt python-pip....................................................................................37
Hình 3.6 Cài đặt file Twisted..................................................................................38
Hình 3.7 Cài đặt server_identity..............................................................................38
Hình 3.8 Lệnh kiểm tra version SSLstrip................................................................39
Hình 3.9 Lệnh chạy SSLstrip và cho lắng nghe ở công 8080.................................39
Hình 3.10 Cấu hình các cổng lắng nghe cho SSLstrip............................................39

Hình 3.11 Giao diện Ettercap..................................................................................40
Hình 3.12 Sau quá trình scan các host trong mạng.................................................40
Hình 3.13 Quá trình add target và lựa chọn tấn cơng..............................................41
Hình 3.14 Thơng tin của máy bị hại trước khi bị tấn cơng......................................42
Hình 3.15 Thơng tin của máy bị hại sau khi bị tấn cơng.........................................42
Hình 3.16 Người dùng truy cập web DVWA..........................................................43
Hình 3.17 Ettercap ghi lại được các thông tin về user, pass của người dùng..........43

5

download by :


LỜI NÓI ĐẦU
Kể từ khi Internet ra đời, cùng theo đó lĩnh vực cơng nghệ tin khơng ngừng
phát triển, kèm theo Mạng Internet mang lại rất nhiều tiện ích hữu dụng cho người
sử dụng, một trong các tiện ích phổ thơng của Internet là hệ thống thư điện tử
(Email), trị chuyện trực tuyến (Chat), mạng xã hội, các dịch vụ thương mại và
ngân hàng,… Chúng cung cấp một khối lượng thông tin và dịch vụ khổng lồ trên
Internet. Nguồn thông tin khổng lồ kèm theo các dịch vụ tương ứng chính là hệ
thống các trang Web liên kết với nhau - World Wide Web. Đó là một kênh trao đổi
thơng tin rất hữu ích và nhanh chóng. Song tất cả khơng phải là hồn mỹ, nghĩa là
mọi thơng tin khi bạn trao đổi thơng qua Internet có thể bị bên thứ ba tác động vào
hay là lộ mất mát thông tin… Để khắc phục những hạn chế đó người ta đã phát
triển nên các giao thức giúp phần nào hạn chế điều đó. Trong đó biết tới một giao
thức góp phần tối ưu công việc bảo mật thông tin trên nền WWW, đó là giao thức
6

download by :



SSL. Trong bài báo cáo này, chúng em xin phép trình bày hiểu biết về giao thức
SSL và tìm hiểu tấn công chặn giữa trong giao thức SSL và cách phịng chống.
Bài báo cáo gồm có 3 phần chính:
Chương I: Tổng quan về giao thức SSL: ở phần này chúng em sẽ trình bày
tổng quan về lịch sử ra đời của giao thức SSL bao gồm khái niệm, tầm quan trọng
và các phiên bản SSL hiện hành; cách thức hoạt động, các giao thức con và các
thuật toán mã hoá sử dụng trong SSL.
Chương II: Tìm hiểu về tấn cơng chặn giữa trong giao thức SSL và cách
phòng chống: trong chương này chúng em sẽ trình bày chi tiết và cụ thể về tấn
công chặn giữa chiếm quyền điều khiển SSL và cách ngăn chặn tấn công này.
Chương III: Triển khai thực nghiệm
Vì thời gian làm bài có hạn nên bài báo cáo của chúng em sẽ không tránh khỏi
những sai sót. Chúng em rất mong nhận được sự góp ý từ cô và các bạn.
Chúng em xin cảm ơn cô!

Chương 1 TỔNG QUAN VỀ GIAO THỨC SSL
1.1 Lịch sử phát triển của giao thức SSL
1.1.1. Giao thức SSL là gì?
SSL (Secure Sockets Layer) là giao thức bảo mật thơng tin mạng được sử
dụng rộng rãi nhất hiện nay nhằm mã hóa và cung cấp một kênh an tồn giữa
các máy tính trên Internet hoặc mạng nội bộ. SSL thường được sử dụng khi một
trình duyệt web cần kết nối bảo mật đến một máy chủ web.
Được phát triển bởi Netscape, ngày nay giao thức Secure Socket Layer
(SSL) đã được sử dụng rộng rãi trên World Wide Web trong việc xác thực và
mã hố thơng tin giữa client và server. Tổ chức IETF (Internet Engineering Task
Force) đã chuẩn hoá SSL và đặt lại tên là TLS (Transport Layer Security). Mặc dù
là có sự thay đổi về tên nhưng TLS chỉ là một phiên bản mới của SSL. Phiên bản
7


download by :


TLS 1.0 tương đương với phiên bản SSL 3.1. Tuy nhiên SSL là thuật ngữ được sử
dụng rộng rãi hơn.
Vị trí của giao thức SSL theo mơ hình TCP/IP được minh họa trên sơ đồ
sau:

Hình 1.1 Vị trí của giao thức SSL theo mơ hình TCP/IP
SSL được thiết kế như là một giao thức riêng cho vấn đề bảo mật có thể hỗ
trợ cho rất nhiều ứng dụng. Giao thức SSL hoạt động bên trên TCP/IP và bên
dưới các giao thức ứng dụng tầng cao hơn như là HTTP (Hyper Text
Transport Protocol), IMAP (Internet Messaging Access Protocol) và FTP
(File Transport Protocol),... Như các sơ đồ trên cho thấy, SSL được tìm thấy
trong lớp ứng dụng của mơ hình TCP/IP. Với đặc điểm này, SSL có thể được
triển khai trên hầu hết mọi hệ điều hành hỗ trợ TCP/IP mà không cần phải
sửa đổi hạt nhân hệ thống hoặc ngăn xếp TCP/IP. Điều này mang lại cho SSL
một lợi thế rất lớn so với các giao thức khác như

IPSec (IP Security

8

download by :


Protocol). SSL cũng có thể dễ dàng vượt qua tường lửa và proxy, cũng như thông
qua NAT (Dịch địa chỉ mạng) mà khơng gặp vấn đề gì.
Để bảo vệ những thơng tin mật trên mạng Internet hay bất kỳ giao thức
TCP/IP nào. SSL đã kết hợp những yếu tố sau để thiết lập được một giao dịch an

toàn:
 Xác thực: đảm bảo tính xác thực của trang mà bạn sẽ làm việc ở đầu kia
của kết nối. Cũng như vậy, các trang Web cũng cần phải kiểm tra tính
xác thực của người sử dụng.
 Mã hố: đảm bảo thơng tin khơng thể bị truy cập bởi đối tượng thứ ba.
Để loại trừ việc nghe trộm những thông tin “ nhạy cảm” khi nó được
truyền qua Internet. Dữ liệu phải được mã hố để khơng thể bị đọc được
bởi những người khác ngoài người gửi và người nhận.
 Toàn vẹn dữ liệu: đảm bảo thông tin không bị sai lệch. Thể hiện chính
xác thơng tin gốc gửi đến.
Với việc sử dụng SSL, các Website có thể cung cấp khả năng bảo mật thơng
tin. Xác thực và tồn vẹn dữ liệu đến người dùng. SSL được tích hợp sẵn vào các
trình duyệt và Web Server. Cho phép người sử dụng làm việc với các trang Web ở
chế độ an toàn.
Các cổng được gán cho các giao thức ứng dụng chạy trên SSL:

9

download by :


Hình 1.2 Các cổng được gán cho các giao thức ứng dụng chạy trên SSL
1.1.2. Tầm quan trọng của giao thức SSL
Công nghệ thông tin ngày càng phát triển và thay đổi hàng ngày hàng giờ.
Cùng với sự ra đời của Internet, thì đã góp phần tăng thêm một kênh truyền tải
thông tin.
Ngày nay việc bảo mật thông tin là yếu tố quan trọng để quyết định sự sống
còn của một tổ chức, một công ty hay doanh nghiệp. Với sự phát triển nhanh chóng
của cơng nghệ đã mang lại nhiều tiện ích cho người dùng nhưng đồng thời cũng
đặt ra một nhu cầu hết sức cấp thiết về sự an tồn và bảo mật. Và SSL chính là giải

pháp tốt nhất hiện nay đáp ứng những nhu cầu đó và nó được coi như là “lá chắn
cuối cùng” trong bảo mật thương mại điện tử. Việc truyền các thông tin nhạy cảm
trên mạng rất khơng an tồn vì những vấn đề sau:
10

download by :


 Người dùng khơng thể chắc rằng mình đang trao đổi thông tin với đúng
đối tượng cần trao đổi.
 Dữ liệu mạng có thể bị chặn, vì vậy dữ liệu có thể bị một đối tượng thứ
ba khác đọc trộm, thường được biết đến như attacker.
 Nếu attacker có thể chặn dữ liệu, attacker có thể sửa đổi dữ liệu trước khi
gửi nó đến người nhận.
Chính vì vậy giao thức SSL được đã được phát triển nhằm giải quyết triệt để
các vấn đề trên.
1.1.3. Các phiên bản của SSL
Giao thức SSL ban đầu được phát triển bởi Netscape. Ngày nay Visa,
MasterCard, American Express cũng như nhiều công ty giải pháp tài chính hàng
đầu khác trên thế giới đã và đang ứng dụng SSL trong thương mại điện tử. Cho đến
bây giờ, có ba phiên bản của SSL:
SSL 1.0: được sử dụng nội bộ chỉ bởi Netscape Communications. Nó
chứa một số khiếm khuyết nghiêm trọng và không bao giờ được tung ra bên ngoài.
SSL 2.0: được kết nhập vào Netscape Communications 1.0 đến 2.x. Nó
có một số điểm yếu liên quan đến sự hiện thân cụ thể của cuộc tấn công của
đối tượng trung gian. Trong một nỗ lực nhằm dùng sự không chắc chắn của công
chúng về bảo mật của SSL, Microsoft cũng đã giới thiệu giao thức PCT cạnh tranh
trong lần tung ra Internet Explorer đầu tiên của nó vào năm 1996.
SSL 3.0: Netscape Communications đã phản ứng lại sự thách thức PCT của
Microsoft bằng cách giới thiệu SSL 3.0 vốn giải quyết các vấn đề trong SSL 2.0 và

thêm một số tính năng mới. Vào thời điểm này, Microsoft nhượng bộ và đồng ý hỗ
trợ SSL trong tất cả các phiên bản phần mềm dựa vào TCP/IP của nó (mặc dù
phiên bản riêng của nó vẫn hỗ trợ PCT cho sự tương thích ngược).

11

download by :


1.2 Các dịch vụ của SSL
Xác thực thực thể (1 chiều hoặc 2 chiều): cho phép xác thực client và
server.
 Xác thực server: cho phép người dùng xác thực được server muốn kết
nối. Lúc này, phía browser sử dụng các kỹ thuật mã hóa cơng khai để
chắc chắn rằng certificate và public ID của server là có giá trị và được
cấp phát bởi một CA (certificate authority) trong danh sách các CA đáng
tin cậy của client. Điều này rất quan trọng đối với một người dùng. Ví dụ,
như khi gửi mã số credit card qua mạng thì người dùng thực sự muốn
kiểm tra liệu server sẽ nhận thông tin này có đúng là server mà họ định
gửi đến khơng.
 Xác thực client: cho phép phía server xác thực được người dùng muốn
kết nối. Phía server cũng sử dụng các kỹ thuật mã hóa cơng khai để kiểm
tra xem certificate và public ID của server có giá trị hay khơng và được
cấp phát bởi một CA đáng tin cậy của server không. Điều này rất quan
trọng đối với nhà cung cấp. Ví dụ, như khi một ngân hàng định gửi các
thơng tin tài chính mang tính bảo mật tới khách hàng thì họ rất muốn
kiểm tra định danh của người nhận.
Thỏa thuận bộ tham số mật mã: Hỗ trợ client, server thỏa thuận bộ tham
số mật mã bao gồm các thuật tốn mã hóa, thuật tốn băm xác thực cũng như các
thuật tốn nén dữ liệu,…

Trao đổi khóa phiên: Sau khi thực hiện quá trình bắt tay, client và server
thực hiện q trình trao đổi khóa phiên được sử dụng trong q trình mã hóa thơng
điệp được trao đổi giữa hai bên.
Nén dữ liệu: Hai bên sẽ đưa ra các thuật toán nén, tiến hành lựa chọn và
thống nhất thuật toán phù hợp.
12

download by :


Bí mật dữ liệu: Tất cả các thơng tin trao đổi giữa client và server được mã
hóa trên đường truyền nhằm nâng cao khả năng bảo mật. Điều này rất quan trọng
đối với cả hai bên khi có các giao dịch mang tính riêng tư.
Xác thực (và tồn vẹn dữ liệu): Ngoài việc tất cả các dữ liệu được gửi đi
trên một kết nối SSL đã được mã hóa cịn được bảo vệ nhờ cơ chế tự động phát
hiện các xáo trộn, thay đổi trong dữ liệu nhờ vào các thuật toán băm – hash
algorithm) cũng như xác thực nguồn gốc dữ liệu đến từ đâu.
1.3 Cách thức hoạt động của giao thức SSL
Toàn bộ cơ chế hoạt động và hệ thống thuật toán mã hoá sử dụng trong SSL
được cơng khai, trừ khố chia sẻ tạm thời (session key) được sinh ra tại thời điểm
trao đổi giữa hai ứng dụng là tạo ngẫu nhiên và bí mật đối với người quan sát trên
mạng máy tính. Ngồi ra, giao thức SSL còn đòi hỏi ứng dụng chủ phải được
chứng thực bởi một bên thứ ba (CA) thông qua chứng thực điện tử (digital
certificate) dựa trên mật mã cơng khai (ví dụ RSA).
Sau đây xem xét một cách khái quát cơ chế hoạt động của SSL để phân tích
cấp độ an tồn của nó và các khả năng áp dụng trong các ứng dụng nhạy cảm, đặc
biệt là các ứng dụng về thương mại và thanh toán điện tử.

13


download by :


Hình 1.3 Cơ chế hoạt động của SSL
Từng bước thiết lập một kết nối SSL mới giữa máy khách (thường là trình
duyệt Web) và máy chủ (thường là máy chủ Web SSL):
Giao thức SSL dựa trên hai nhóm giao thức con chính là giao thức “bắt tay”
(Handshake protocol) và giao thức “bản ghi” (Record protocol). Giao thức bắt tay
xác định các tham số giao dịch giữa hai đối tượng có nhu cầu trao đổi thơng tin
hoặc dữ liệu, cịn giao thức bản ghi xác định khuôn dạng cho tiến hành mã hoá và
truyền tin hai chiều giữa hai đối tượng đó.
14

download by :


Khi hai ứng dụng máy tính, ví dụ giữa một trình duyệt Web và Web Server,
làm việc với nhau, server và máy khách sẽ trao đổi “lời chào” (Hello) dưới dạng
các thông điệp cho nhau với xuất phát đầu tiên chủ động từ server, đồng thời xác
định các chuẩn về thuật tốn mã hố và nén số liệu có thể được áp dụng giữa hai
ứng dụng.
Ngoài ra, các ứng dụng cịn trao đổi “số nhận dạng/khố theo phiên”
(session ID, session key) duy nhất cho lần làm việc đó. Sau đó ứng dụng khách
(trình duyệt) u cầu có chứng thực điện tử (digital certificate) xác thực của ứng
dụng chủ (web server). Chứng thực điện tử thường được xác nhận rộng rãi bởi một
cơ quan trung gian (là CA - Certificate Authority) như RSA Data Security hay
VeriSign Inc, một dạng tổ chức độc lập, trung lập và có uy tín. Các tổ chức này
cung cấp dịch vụ “xác nhận” số nhận dạng của một công ty và phát hành chứng chỉ
duy nhất cho cơng ty đó như là bằng chứng nhận dạng (identity) cho các giao dịch
trên mạng, ở đây là các Web Server.

Sau khi kiểm tra chứng chỉ điện tử của server (sử dụng thuật tốn mật mã
cơng khai, như RSA tại trình máy trạm), ứng dụng máy trạm sử dụng các thơng tin
trong chứng chỉ điện tử để mã hố thơng điệp gửi lại server mà chỉ có server đó có
thể giải mã. Trên cơ sở đó, hai ứng dụng trao đổi khóa chính (master key) - khố bí
mật hay khoá đối xứng - để làm cơ sở cho việc mã hóa luồng thơng tin/dữ liệu qua
lại giữa hai ứng dụng chủ khách. Toàn bộ cấp độ bảo mật và an tồn của thơng
tin/dữ liệu phụ thuộc vào một số tham số:
(i) Số nhận dạng theo phiên làm việc ngẫu nhiên
(ii) Cấp độ bảo mật của các thuật toán bảo mật áp dụng cho SSL
(iii) Độ dài của khố chính (key length) sử dụng cho lược đồ mã hố
thơng tin.

15

download by :


1.4 Các giao thức con của giao thức SSL
Giao thức SSL gồm bốn giao thức con với các chức năng sau:
 SSL Record Protocol: thực hiện chức năng phân mảnh, nén, tính giá trị
MAC và mã hóa dữ liệu.
 SSL Handshake Protocol (giao thức bắt tay): thực hiện chức năng thỏa
thuận các thuật toán, tham số mật mã, trao đổi khóa, xác thực Server và
Client (nếu có lựa chọn).
 SSL Alert Protocol: thực hiện chức năng thông báo lỗi.
 SSL Change Cipher Spec Protocol: thực hiện chức năng thông báo xác
nhận kết thúc giai đoạn Handshake Protocol.
1.4.1. Giao thức SSL Record
SSL Record Protocol nhâ ̣n dữ liê ̣u từ các giao thức con SSL lớp cao hơn và
xử lý viê ̣c phân đoạn, nén, xác thực và mã hóa dữ liê ̣u. Chính xác hơn, giao thức

này lấy mơ ̣t khới dữ liê ̣u có kích cỡ tùy ý làm dữ liê ̣u nhâ ̣p và tạo mô ̣t loạt các
đoạn dữ liê ̣u SSL làm dữ liê ̣u xuất (hoă ̣c còn được gọi là các bản ghi) nhỏ hơn
hoă ̣c bằng 16383 byte.
Các bước khác nhau của SSL Record Protocol vốn đi từ mô ̣t đoạn dữ liê ̣u
thô đến mô ̣t bản ghi SSL Plaintext (bước phân mảnh), SSL Compressed (bước nén)
và SSL Ciphertext (bước mã hóa).

Hình 1.4 Các bước của SSL Record Protocol
16

download by :


Phân mảnh: Mỗi message của lớp bên trên được phân mảnh thành các
block, mỗi block là 214 byte (16384 byte) hoặc ít hơn.
Nén: Nén phải là khơng mất mát thơng tin và có thể khơng làm tăng chiều
dài nội dung nhiều hơn 1024 byte (Dĩ nhiên, người ta mong muốn nén làm co lại
dữ liệu hơn là nới rộng dữ liệu. Tuy nhiên, với những block ngắn, có thể, do định
dạng quy ước, thuật toán nén thực sự làm cho output dài hơn input). Trong SSLv3
(cũng như phiên bản hiện tại của TLS), khơng có thuật tốn nén nào được chỉ rõ, vì
vậy thuật tốn nén mặc định là null.
Tính tốn MAC (mã xác thực thơng điệp) trên dữ liệu đã được nén. Để thực
hiện cần dùng đến một khóa bí mật được chia sẻ, phép tính được định nghĩa như
sau:
hash(MAC_write_secret || pad_2 || hash(MAC_write_secret || pad_1 || seq_num ||
SSLCompressed.type || SSLCompressed.length || SSLCompressed.fragment))
Trong đó:
 || : phép nối/hoặc.
 MAC_write_secret: khóa bí mật được chia sẻ.
 hash: thuật tốn băm mã hóa, MD5 hoặc SHA-1.

 pad_1: byte 0x36 (0011 0110) được lặp lại 48 lần (384 bit) cho MD5 và
40 lần (320 bit) cho SHA-1.
 pad_2: byte 0x5c (0101 1100) được lặp lại 48 lần cho MD5 và 40 lần
cho SHA-1.
 seq_num: sequence number cho thông điệp này
 SSL Compressed.type: giao thức ở lớp trên được dùng để xử lí phân
mảnh này.
 SSL Compressed.length: chiều dài của phân mảnh đã được nén.

17

download by :


 SSL Compressed.fragment: phân mảnh đã được nén (nếu nén khơng
được dùng, phân mảnh ở dạng plaintext).
Mã hóa theo phương pháp mã hóa đối xứng: Mã hóa có thể làm tăng
chiều dài nội dung hơn 1024 byte, vì vậy chiều dài tổng cộng khơng vượt q 214
+2048. Các thuật tốn mã hóa sau được cho phép: AES, DES, RC2, 3DES,…
1.4.2. Giao thức SSL Handshake
SSL Handshake Protocol là giao thức con chính của SSL được xếp lớp trên
SSL Record Protocol. Mục đích của SSL Handshake Protocol là u cầu mơ ̣t client
và server thiết lâ ̣p và duy trì thông tin trạng thái vốn được sử dụng để bảo vê ̣ các
cuô ̣c liên lạc. Cụ thể hơn, giao thức phải yêu cầu client và server chấp thuâ ̣n mô ̣t
phiên bản giao thức SSL chung, chọn phương thức nén và thông số mâ ̣t mã, tùy ý
xác thực nhau và tạo mơ ̣t khóa mâ ̣t chính mà từ đó các khóa session khác nhau
dành cho viê ̣c xác thực và mã hóa thông báo có thể được dẫn xuất từ đó.
Quá trình bắt tay của client và server trong giao thức Handshake:

Hình 1.5 Quá trình bắt tay của client và server trong giao thức Handshake

18

download by :


Giai đoạn 1: Thiết lập protocol version, ID phiên, thuật tốn mã hóa,
phương pháp nén.
Bước 1: Client gửi một thơng điệp ClientHello tới server. Các thành phần
quan trọng của một thông điệp ClientHello:
 Version: phiên bản SSL cao nhất mà client hỗ trợ.
 Session ID: định danh phiên
 CipherSuite: danh sách thuật tốn mã hóa và băm mà client hỗ trợ
(SSL_RSA_WITH_AES_128_CBC_SHA)
 Compression Method: danh sách thuật toán nén dữ liệu mà client hỗ
trợ.
Bước 2: Server gửi SeverHello tới client để trả lời cho gói ClientHello, nội
dung tương tự như ClientHello, tuy nhiên có một số điểm khác biệt:
 Version: Server chọn ra phiên bản SSL cao nhất mà cả client và server
cùng hỗ trợ.
 CipherSuite: lựa chọn ciphersuite tốt nhất trong danh sách các
ciphersuite mà nó và client hỗ trợ.
 Compression Method: lựa chọn một phương pháp nén trong các
phương pháp nén mà nó nhận được từ client.
 Sau hai bước này, client và server đã thương lượng xong các thuật toán
mã, nén dữ liệu và thuật toán băm.
Giai đoạn 2: Server gửi certificate, dữ liệu trao đổi khóa và yêu cầu client
gửi lại certificate nếu được thiết lập xác thực client.
Bước 3: Server gửi chứng thư (SSL certificate) của nó cho client, và trong
certificate này có chứa public key của server. Client nhận được certificate
của server sẽ sử dụng public key của CA để kiểm tra chữ kỹ số đó. Nếu

certificate của server hợp lệ thì client chấp nhận public key của server trong
certificate đó.
19

download by :


Bước 4: Server gửi ServerHelloDone tới client để cho biết server đã gửi hết
tất cả các thơng tin mà nó có cho client.
Giai đoạn 3: Client gửi certificate nếu được yêu cầu, kết quả kiểm tra chứng
chỉ server và dữ liệu trao đổi khóa.
Bước 5: ClientKeyExchange do client gửi đến server và chứa thông tin để
tạo ra masterkey
 Client sinh một Pre_master secret
 Mã hóa nó bằng public key lấy từ certificate của server
 Thuật tốn mã hóa đã thương lượng (ví dụ RSA)
Server :
 Giải mã private key của mình.
 Bây giờ cả client và server sẽ sử dụng Pre_master secret cùng với hai
số ngẫu nhiên đã sinh trước đó để tạo ra master key
 Từ master key sẽ tạo ra session key dùng để mã hóa dữ liệu
Giai đoạn 4: ChangeCipherSuite và kết thúc giai đoạn HandShake
Bước 6: ChangCipherSpec: Client gửi thông báo đến server để cho biết tất
cả các gói tin trao đổi giữa client và server đều sẽ được mã hóa bằng các
thuật tốn và session key đã thương lượng trước đó.
Bước 7: Finished: Do client gửi đến server để cho biết client đã hoàn tất việc
thiết lập kết nối.
Bước 8: ChangeCipherSpec: Server gửi thông báo này đến client để cho biết
tất cả các gói tin trao đổi giữa server và client đều sẽ được mã hóa bằng các
thuật tốn và session key đã thương lượng trước đó

Bước 9: Finished : Do server gửi đến client để cho biết server đã hoàn tất
việc thiết lập kết nối.

20

download by :


1.4.3. Giao thức SSL Change Cipher Spec
Giao thức SSL Change Cipher Spec là giao thức đơn giản nhất trong bốn
giao thức đặc trưng của SSL. Giao thức này bao gồm một message đơn 1 byte.
Mục đích chính của message này là sinh ra trạng thái tiếp theo để gán vào trạng
thái hiện tại, và trạng thái hiện tại cập nhật lại bộ mã hóa để sử dụng trên kết nối
này.
1.4.4. Giao thức SSL Alert
Giao thức SSL Alert được dùng để truyền cảnh báo liên kết SSL với đầu
cuối bên kia. Như với những ứng dụng khác sử dụng SSL, alert messages được nén
và mã hóa, được chỉ định bởi trạng thái hiện tại.
Mỗi message trong giao thức này gồm 2 bytes. Byte đầu tiên giữ giá trị cảnh
báo (1) hoặc nguy hiểm (2) để thông báo độ nghiêm trọng của message. Nếu mức
độ là nguy hiểm, SSL lập tức chấm dứt kết nối. Những kết nối cùng phiên khác vẫn
có thể tiếp tục nhưng sẽ không kết nối nào khác trên phiên này được khởi tạo thêm.
Byte thứ hai chứa một mã chỉ ra cảnh báo đặc trưng. Liệt kê những cảnh báo mà
luôn ở mức nguy hiểm (được định nghĩa từ những thơng số SSL):
unexpected_message: message khơng thích hợp
bad_record_mac: MAC khơng chính xác
decompression_failure: việc giải nén nhận input khơng thích hợp (ví dụ
như khơng thể giải nén hoặc giải nén lớn hơn độ dài tối đa cho phép).
handshake_failure: bên gửi không thể thương lượng các tham số bảo mật
được đưa ra từ những lựa chọn có sẵn.

1.5 Các thuật tốn mã hóa sử dụng trong SSL
Các thuật tốn mã hố (Cryptographic algorithm hay cịn gọi là cipher) là
các hàm toán học được sử dụng để mã hoá và giải mã thông tin. Giao thức SSL hỗ
trợ rất nhiều các thuật toán mã hoá, được sử dụng để thực hiện các cơng việc trong
q trình xác thực server và client, truyền tải các certificates và thiết lập các khoá
21

download by :


của từng phiên giao dịch (session key). Client và server có thể hỗ trợ các bộ mật
mã (cipher suite) khác nhau tùy thuộc vào nhiều yếu tố như phiên bản SSL đang
dùng,…
Các thuật toán mã hoá và xác thực của SSL được sử dụng bao gồm:
 DES (Data Encryption Standard): là một thuật tốn mã hố có chiều dài
khố là 56 bit.
 3-DES (Triple-DES): là thuật tốn mã hố có độ dài khố gấp 3 lần độ
dài khóa trong mã hoá DES.
 DSA (Digital Signature Algorithm): là một phần trong chuẩn về xác thực
số đang được được chính phủ Mỹ sử dụng.
 KEA (Key Exchange Algorithm) là một thuật toán trao đổi khố đang
được chính phủ Mỹ sử dụng.
 MD5 (Message Digest algorithm) được phát triển bởi Rivest.
 RSA: là thuật tốn mã hố cơng khai dùng cho cả q trình xác thực và
mã hố dữ liệu được Rivest, Shamir, and Adleman phát triển.
 RC2 and RC4: là các thuật toán mã hoá được phát triển bởi Rivest dung
cho RSA Data Security.
 SHA-1 (Secure Hash Algorithm): là một thuật toán băm đang được chính
phủ Mỹ sử dụng.
1.6 Tổng kết chương 1

Trong chương này, báo cáo đã giới thiệu một cách sơ lược về định nghĩa,
lịch sử hình thành và phát triển của giao thức SSL, từ đó phần nào đã hiểu được
tầm quan trọng của SSL trong việc bảo mật thơng tin. Ngồi ra, nhóm chúng em
cịn trình bày các dịch vụ cũng như cách thức hoạt động của SSL như thế nào,
cấu trúc giao thức SSL, các giao thức con và để bảo vệ thơng tin an tồn SSL
được hỗ trợ bởi thuật tốn mã hóa nào.
22

download by :


Chương 2 TÌM HIỂU PHƯƠNG PHÁP TẤN CƠNG CHẶN GIỮA TRONG
GIAO THỨC SSL VÀ CÁCH PHỊNG CHỐNG
2.1 Tìm hiểu tấn công chặn giữa
2.1.1. Khái niệm
Tấn công chặn giữa (Man-in-the-Middle Attack) là kiểu tấn cơng bí mật xảy
ra khi kẻ tấn công xen giữa vào phiên giao tiếp giữa người hoặc hệ thống (Thường
là trình duyệt web và máy chủ web). Người tấn cơng phải có khả năng đánh chặn
tất cả các thông tin liên quan qua lại giữa hai nạn nhân và tiêm vào những thơng tin
mới.

Hình 2.6 Mơ tả q trình tấn cơng chặn giữa MITM
Các nạn nhân khơng biết dữ liệu của họ đã bị giả mạo cho đến khi q
muộn. Do đó, nếu MITM thành cơng, có thể gây ra những thiệt hại nặng nề.
2.1.2. Cách thức hoạt động
Một kịch bản MITM có ba đối tượng tham gia: nạn nhân, đối tượng mà nạn
nhân đang cố gắng kết nối, và kẻ tấn công ở giữa, kẻ tấn công đã chặn kết nối của
nạn nhân và nạn nhân không hề biết đến sự tồn tại của kẻ tấn công. Chi tiết hơn, kẻ
tấn công sẽ mạo danh cả hai bên và có được quyền truy cập vào thơng tin mà hai


23

download by :


bên đang cố gắng gửi cho nhau. Kẻ tấn công có thể chặn, gửi và nhận dữ liệu dành
cho cả hai bên, mà khơng có bên nào biết đến khi q muộn.
Ngồi các website, các cuộc tấn cơng này có thể chuyển mục tiêu đến liên
lạc qua email, DNS lookups và mạng wifi công cộng. Các đối tượng tiêu biểu của
MITM bao gồm: các doanh nghiệp thương mại điện tử và người dùng các ứng
dụng tài chính.
Những kẻ tấn cơng MITM cũng sẽ sử dụng phần mềm độc hại với hy vọng
tạo ra cỗ máy zombie hoặc xây dựng mạng lưới rộng lớn. MITM có thể được sử
dụng như một cách để thực hiện advanced persistent threat (APT).
Một cuộc tấn công MITM gồm hai giai đoạn: đánh chặn và giải mã.
 Đánh chặn: Bước đầu tiên là chặn lưu lượng truy cập của người dùng qua
mạng trước khi nó đến đích. Kẻ tấn cơng có thể áp dụng hai dạng đánh
chặn chủ động và thụ động.
 Giải mã: Sau khi bị chặn, mọi lưu lượng SSL hai chiều đều cần được giải
mã, q trình này sẽ khơng thơng báo đến người dùng hay ứng dụng. Một
số phương pháp giải mã phổ biến: HTTP spoofing, SSL hijacking, SSL
Stripping.
2.1.3. Các kiểu tấn cơng chặn giữa
Kẻ tấn cơng có thể sử dụng các cuộc tấn cơng MITM để giành quyền kiểm
sốt các thiết bị theo nhiều cách khác nhau:
 IP spoofing – giả mạo IP: Với IP spoofing, kẻ tấn cơng có thể thay thế
người dùng hoặc đối tượng tương tác với người dùng và lừa rằng họ đang
liên hệ trực tiếp với bên kia, kẻ tấn cơng có thể truy cập vào thông tin mà
người dùng đang trao đổi.
 DNS spoofing – giả mạo DNS: Domain Name Server spoofing là một kỹ

thuật buộc người dùng vào một website giả thay vì trang mà người dùng
dự định truy cập. Mục tiêu của kẻ tấn công là tăng lượng truy cập website
24

download by :


giả mạo hoặc đánh cắp thông tin đăng nhập của người dùng. Kẻ tấn công
giả mạo DNS bằng cách thay đổi địa chỉ của website trong máy chủ
DNS, sau đó nạn nhân vơ tình truy cập website giả mạo này.
 HTTPS spoofing – giả mạo HTTPS: Kẻ tấn cơng có thể đánh lừa trình
duyệt của nạn nhân rằng đang truy cập một website đáng tin cậy bằng
cách chuyển hướng trình duyệt của nạn nhân đến một website khơng an
tồn sau khi truy cập, kẻ tấn cơng có thể theo dõi các tương tác của nạn
nhân với website đó và có thể đánh cắp thông tin cá nhân đang chia sẻ.

 SSL hijacking – đánh cắp SSL: Kẻ tấn công sử dụng một máy tính và
máy chủ bảo mật khác và chặn tất cả thông tin truyền qua giữa máy chủ
và máy tính của người dùng.

 Email hijacking – đánh cắp email: Kẻ tấn công nhắm vào email khách
hàng của các ngân hàng và các tổ chức tài chính khác. Khi họ có quyền
truy cập, họ có thể giám sát các giao dịch giữa tổ chức và khách hàng của
mình. Những kẻ tấn cơng sau đó có thể giả mạo địa chỉ email của ngân
hàng và gửi email có chứa một vài hướng dẫn cho khách hàng. Chúng lừa
khách hàng làm theo hướng dẫn và có thể lấy đi thơng tin đăng nhập
cũng như gây thiệt hại về mặt tài sản.

 Wifi eavesdropping – nghe lén wifi: Với MITM truyền thống, kẻ tấn
cơng cần có quyền truy cập vào bộ định tuyến wifi. Các loại kết nối này

thường là các kết nối cơng cộng hoặc cũng có thể là wifi cá nhân nếu
người dùng không bảo vệ tốt cho chúng. Khi kẻ tấn cơng tìm thấy bộ
định tuyến dễ bị tấn cơng, chúng có thể triển khai các cơng cụ để chặn và
đọc dữ liệu truyền của nạn nhân. Kẻ tấn cơng sau đó cũng có thể chèn các
cơng cụ của chúng vào giữa máy tính của nạn nhân và các website mà
nạn nhân truy cập để ghi lại thông tin đăng nhập và các thông tin cá nhân
khác.
25

download by :


×