1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo cuối kỳ nhập môn bảo mật thông tin đề tài thảo luận về các phương pháp tấn công hmac

26 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 0,91 MB

Nội dung

Phương pháp này cũng chống lại các cuộc tấn công từ điển, trong đó kẻ tấn công sử dụng vũ lực để giải mã đường vào thiết bị được bảo vệ bằng mật khẩu bằng cách chạy qua các từ và cụm từ

Trang 1

TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM

TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CUỐI KỲ

NHẬP MÔN BẢO MẬT THÔNG TIN ĐỀ TÀI

PHƯƠNG PHÁP TẤN CÔNG HMAC

Người hướng dẫn: TS BÙI QUY ANH Người thực hiện: Hoàng Tuấn Long - 52000685

Khoá: 24

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2023

Trang 2

TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM

TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG

BÁO CÁO CUỐI KỲ

NHẬP MÔN BẢO MẬT THÔNG TIN ĐỀ TÀI

PHƯƠNG PHÁP TẤN CÔNG HMAC

Người hướng dẫn: TS BÙI QUY ANH Người thực hiện: Hoàng Tuấn Long - 52000685

Khoá: 24

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2023

Trang 3

LỜI CẢM ƠN

Nhóm em xin gửi lời chân thành cảm ơn đến khoa Công Nghệ Thông Tin và tổ bộ môn của Trường Đại học Tôn Đức Thắng đã tạo điều kiện cho chúng em có cơ hội được học tập xuyên suốt trong học kì vừa qua Đồng thời em cũng xin cảm ơn đến thầy Bùi Quy Anh đã quan tâm và cung cấp cho em những kiến thức quan trọng để hoàn thành bài báo cáo này

Đồ án này có thể có vài sai sót nào đó, em mong có được những lời nhận xét, đánh giá của thầy về bài báo cáo này để có thể cải thiện những đồ án tiếp theo trong tương lai

Trang 4

ĐỒ ÁN ĐƯỢC HOÀN THÀNH

Tôi xin cam đoan đây là sản phẩm đồ án của riêng chúng tôi và được sự hướng dẫn

của thầy Bùi Quy Anh Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và

chưa công bố dưới bất kỳ hình thức nào trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo

Ngoài ra, trong đồ án còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc

những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu có)

TP Hồ Chí Minh, ngày 17 tháng 8 năm 2023 Tác giả

(ký tên và ghi rõ họ tên)

Hoàng Tuấn Long

Trang 5

TÓM TẮT

Bài báo cáo này tập trung vào nghiên cứu và trình bày về các phương pháp tấn công HMAC và các phòng tránh Mục đích chính của bài báo cáo là tìm hiểu, phân tích và giải thích cách hoạt động của những sự tấn công, cùng với ứng dụng và quan trọng trong lĩnh vực bảo mật thông tin

Kết quả thực hiện của bài báo cáo đã đạt được sự hiểu biết sâu hơn về cơ chế hoạt động của HMAC và cách tấn công mà nó đem lại Chúng ta nhận thức được tính ứng dụng rộng rãi của phương pháp này trong việc bảo mật thông tin, cũng như những hạn chế của nó khi phải đối mặt với các kỹ thuật phá mã hiện đại

Tóm lại, bài báo cáo đã thành công trong việc nêu rõ tầm quan trọng và tính thực tế của các phương pháp tấn công HMAC Hiểu biết sâu hơn về cơ chế mã hóa này đã được thể hiện thông qua việc phân tích cách hoạt động, ứng dụng và thách thức của nó

Trang 6

PHẦN XÁC NHẬN VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN

Tp Hồ Chí Minh, ngày tháng năm 2023 (kí và ghi họ tên)

Tp Hồ Chí Minh, ngày tháng năm 2023 (kí và ghi họ tên)

Trang 7

Mục lục

TÓM TẮT iv

Danh mục hình ảnh vii

CHƯƠNG 1: MỞ ĐẦU 1

1.1 Giới thiệu về HMAC 1

1.2 Cách thức hoạt động của HMAC 1

1.3 Ứng dụng và lợi ích của HMAC 2

CHƯƠNG 2: CÁC PHƯƠNG PHÁP TẤN CÔNG HMAC 3

2.1 Tấn công theo đệ quy 3

CHƯƠNG 3: THIẾT KẾ DEMO 7

3.1 Sơ đồ thiết kế demo 7

3.1.1 Tấn công vét cạn khóa 7

3.1.2 Tấn công dò thăm 8

3.2 Code chương trình 8

3.2.1 Demo tấn công vét cạn khóa 8

3.2.2 Demo chương trình tấn công dò thăm 10

CHƯƠNG 4: DEMO CÁCH TẤN CÔNG VÀ PHÒNG TRÁNH 11

4.1 Giới thiệu 11

4.2 Trình bày cách tấn công 11

4.2 Trình bày cách phòng tránh 13

CHƯƠNG 4: KẾT LUẬN 17

Trang 8

TÀI LIỆU THAM KHẢO 18

Danh mục hình ảnh Hình 1: Hash table example 1

Hình 2: Cách thức hoạt động của HMAC 2

Hình 3: Sơ đồ mô phỏng về cách thức tấn công vét cạn khóa 7

Hình 4: Sơ đồ mô phỏng về cách thức tấn công dò thăm 8

Hình 5: Phần mềm Syn flood 11

Hình 6: Tiến hành thực hiện Ddos 12

Hình 7: Quá trình ddos một địa chỉ ip 13

Hình 8: Sử dụng Cloudflare 14

Hình 9: Thực hiện các bước điền thông tin (1) 14

Hình 10: Thực hiện các bước điền thông tin (2) 15

Hình 11: Thực hiện các bước điền thông tin (3) 16

Trang 9

CHƯƠNG 1: MỞ ĐẦU

- Mã xác thực tin nhắn dựa trên hàm băm (HMAC) là một phương pháp mã hóa tin nhắn sử dụng khóa mật mã kết hợp với hàm băm Nó cung cấp cho máy chủ và máy khách mỗi khóa riêng chỉ được biết đến với máy chủ và máy khách cụ thể đó, cung cấp một phương tiện mã hóa dữ liệu an toàn hơn so với Mã xác thực tin nhắn (MAC) đơn giản

- HMAC là một kỹ thuật xác thực mật mã Nó sử dụng cả hàm băm mật mã và khóa bí mật được chia sẻ để mã hóa thông tin và bảo vệ nó khỏi truy cập trái phép Hàm băm là một thuật toán hoặc hàm toán học chuyển đổi một tin nhắn có số lượng ký tự thay đổi thành một chuỗi có số lượng ký tự cố định Giá trị đầu ra được gọi là tin nhắn băm, giá trị băm hoặc đơn giản là băm Khóa mật mã bí mật là thứ cho phép người dùng đọc được tin nhắn được mã hóa sau khi nó đã được mã hóa bởi một thuật toán

- Trong một giao dịch HMAC, máy khách và máy chủ phải đồng ý về khóa bí mật Điều này cung cấp một cách giải mã các tin nhắn, phải giữ bí mật, để duy trì tính toàn vẹn của giao dịch Các bên cũng phải chọn và đồng ý về hàm băm cho các tin nhắn của họ

- HMAC có thể được sử dụng để kiểm tra tính toàn vẹn dữ liệu và xác thực các bên tham gia giao dịch Nhiều giao thức truyền thông và chuyển giao sử dụng HMAC, bao gồm HTTPS, SFTP và FTPS Hàm băm mật mã trong HMAC thường là 1, SHA-256, MD5 hoặc RIPEMD-128/160

Hình 1: Hash table example

1.2 Cách thức hoạt động của HMAC

- HMAC cung cấp một cách hợp lệ và đáng tin cậy để các bên giao dịch đảm bảo rằng tin nhắn của họ không bị thay đổi bởi bên thứ ba không được phép hoặc có hại, còn được gọi là tác nhân đe dọa Mã HMAC hoặc khóa bao gồm hai phần:

Trang 10

 Một bộ khóa mật mã được chia sẻ cho người gửi (khách hàng) và người nhận (máy chủ) Người gửi và người nhận sử dụng cùng một khóa để tạo và xác minh HMAC  Một hàm băm mật mã chung, như SHA-1 hoặc RIPEMD-128/60

Công thức cho HMAC được biểu thị như sau: HMAC = hashFunc (khóa bí mật + tin nhắn)

- Trong một giao dịch tin nhắn giữa khách hàng và máy chủ liên quan đến HMAC, khách hàng tạo một HMAC hoặc băm duy nhất bằng cách băm dữ liệu yêu cầu bằng các khóa riêng và gửi nó như một phần của yêu cầu Máy chủ nhận được yêu cầu và tái tạo HMAC duy nhất của riêng mình Sau đó, nó so sánh hai HMAC Nếu chúng bằng nhau, thì khách hàng được tin cậy và được coi là hợp pháp, và yêu cầu được thực thi Quá trình này thường được gọi là bắt tay bí mật

Hình 2: Cách thức hoạt động của HMAC

- HMAC được coi là một phương pháp an toàn để xác thực thư vì rất khó giả mạo nếu người giả mạo tiềm năng không biết khóa chia sẻ bí mật Phương pháp này cũng chống lại các cuộc tấn công từ điển, trong đó kẻ tấn công sử dụng vũ lực để giải mã đường vào thiết bị được bảo vệ bằng mật khẩu bằng cách chạy qua các từ và cụm từ phổ biến trong từ điển Điều đó nói rằng, điều quan trọng là sử dụng khóa bí mật mạnh và duy nhất để tối đa hóa lợi ích bảo mật của HMAC

Trang 11

- Vì HMAC cung cấp hai cấp độ bảo vệ nên nó lý tưởng cho các ứng dụng liên quan đến dữ liệu nhạy cảm, như thông tin nhận dạng cá nhân hoặc số thẻ tín dụng Nó cung cấp bảo mật rộng hơn so với các biện pháp truyền thống, làm cho nó phù hợp để sử dụng trong các ngành được quản lý, như chăm sóc sức khỏe hoặc tài chính

- Mã hóa HMAC cũng phù hợp với môi trường internet vạn vật, hệ thống hiệu suất cao như bộ định tuyến và xác minh địa chỉ email của người dùng HMAC cũng có thể được sử dụng trong các ứng dụng quan trọng về bảo mật khi các hệ thống khóa công khai không đầy đủ hoặc bị cấm

Các ứng dụng có thể bao gồm:

 Xác thực dữ liệu biểu mẫu được gửi tới trình duyệt máy khách và gửi lại  Tạo hàm băm an toàn để lưu trữ mật khẩu

 Tạo mã thông báo quản lý phiên duy nhất

CHƯƠNG 2: CÁC PHƯƠNG PHÁP TẤN CÔNG HMAC

2.1.1 Định nghĩa

- Tấn công theo đệ quy là một kỹ thuật tấn công mạng nhằm khai thác lỗ hổng trong các hàm đệ quy Các hàm đệ quy là các hàm gọi chính mình, và chúng có thể được sử dụng để tạo ra các vòng lặp vô hạn Điều này có thể dẫn đến việc hệ thống bị quá tải và không thể phục vụ các yêu cầu khác, hoặc thậm chí bị sập

- Để hiểu dễ hơn, ta có một ví dụ về tấn công theo đệ quy là tấn công đệ quy đệ quy Tấn công này hoạt động bằng cách gửi một chuỗi các yêu cầu đến một máy chủ, mỗi yêu cầu đều gọi một hàm đệ quy Điều này sẽ dẫn đến việc máy chủ tạo ra một vòng lặp vô hạn và cuối cùng bị sập

- Để bảo vệ máy chủ khỏi các cuộc tấn công theo đệ quy, điều quan trọng là phải kiểm tra các hàm đệ quy để đảm bảo rằng chúng không bị khai thác Điều này có thể được thực hiện bằng cách giới hạn số lần mà một hàm đệ quy có thể được gọi, hoặc bằng cách sử dụng các kỹ thuật khác để ngăn chặn việc tạo ra các vòng lặp vô hạn

2.1.2 Ví dụ về tấn công theo đệ quy

- Dưới đây là một số ví dụ về các cuộc tấn công theo đệ quy:

+ Tấn công từ chối dịch vụ (Dos): Đây là một loại tấn công theo đệ quy được sử

dụng để làm cho một hệ thống không thể truy cập được bằng cách gửi một loạt các yêu cầu đến hệ thống đó

Trang 12

+ Tấn công từ chối dịch vụ phân tán (DDoS): Đây là một loại tấn công theo đệ

quy được sử dụng để làm cho một hệ thống không thể truy cập được bằng cách gửi một loạt các yêu cầu đến hệ thống đó từ nhiều máy tính khác nhau

+ Tấn công brute force: Đây là một loại tấn công theo đệ quy được sử dụng để

phá vỡ một mật khẩu bằng cách thử tất cả các khả năng có thể

2.1.3 Cách phòng tránh

- Sử dụng các hàm đệ quy một cách hợp lý: Chỉ nên sử dụng các hàm đệ quy khi cần thiết và đảm bảo rằng chúng được viết một cách hợp lý để tránh tạo ra các vòng lặp vô hạn

- Giới hạn số lần mà một hàm đệ quy có thể được gọi: Nhiều hệ điều hành cho phép bạn đặt giới hạn về số lần một hàm đệ quy có thể được gọi Điều này có thể giúp ngăn chặn các cuộc tấn công đệ quy tiêu thụ quá nhiều tài nguyên của máy chủ

- Sử dụng các kỹ thuật khác để ngăn chặn việc tạo ra các vòng lặp vô hạn Ví dụ, bạn có thể sử dụng một hàm lặp thay vì một hàm đệ quy

- Giám sát hệ thống để phát hiện bất kỳ hoạt động đáng ngờ nào: Giám sát hệ thống có thể giúp phát hiện các cuộc tấn công đệ quy đang diễn ra và thực hiện các hành động khắc phục

2.2 Tấn công thăm dò

2.2.1 Định nghĩa

- Là một kỹ thuật tấn công mạng nhằm thu thập thông tin về hệ thống hoặc mạng mục tiêu Nó cung cấp thông tin về các hệ thống, dịch vụ và tài nguyên có thể truy cập trên một hệ thống đích Một số người có thể gọi kiểu quét này là quét tích cực vì nó có khả năng làm gián đoạn các dịch vụ trên những máy chủ dễ bị tấn công Quá trình quét

thường được sử dụng trong quá trình Đánh giá lỗ hổng khi thăm dò các điểm yếu trong

hệ thống phòng thủ hiện có

- Có thể gọi kiểu quét này là quét tích cực vì nó có khả năng làm gián đoạn các dịch vụ trên những máy chủ dễ bị tấn công Quá trình quét thường được sử dụng trong quá trình Đánh giá lỗ hổng khi thăm dò các điểm yếu trong hệ thống phòng thủ hiện có

2.2.2 Ví dụ về tấn công thăm dò

- Dưới đây là một số ví dụ về các cuộc tấn công thăm dò:

+ Ping sweep: Một cuộc tấn công ping sweep là một cuộc tấn công thăm dò đơn

giản được sử dụng để xác định các máy chủ có thể truy cập được trên mạng Trong một cuộc tấn công ping sweep, kẻ tấn công sẽ gửi một loạt các gói tin ping đến một

Trang 13

phạm vi địa chỉ IP cụ thể Nếu một máy chủ trả lời gói tin ping, kẻ tấn công sẽ biết rằng máy chủ đó có thể truy cập được trên mạng

+ Port scan: Một cuộc tấn công port scan là một cuộc tấn công thăm dò phức tạp

hơn được sử dụng để xác định các cổng mở trên một máy chủ Trong một cuộc tấn công port scan, kẻ tấn công sẽ gửi một loạt các gói tin đến một máy chủ cụ thể Mỗi gói tin sẽ được gửi đến một cổng cụ thể Nếu máy chủ trả lời gói tin, kẻ tấn công sẽ biết rằng cổng đó đang mở

+ Vulnerability scan: Một cuộc tấn công vulnerability scan là một cuộc tấn công

thăm dò được sử dụng để tìm kiếm các lỗ hổng bảo mật trong một hệ thống Trong một cuộc tấn công vulnerability scan, kẻ tấn công sẽ sử dụng một công cụ đặc biệt để quét hệ thống để tìm kiếm các lỗ hổng bảo mật

2.2.3 Cách phòng tránh

- Sử dụng tường lửa để chặn các gói tin ping không mong muốn: Bằng cách sử dụng tường lửa để chặn các gói tin ping không mong muốn, bạn có thể giúp bảo vệ hệ thống hoặc mạng của mình khỏi các cuộc tấn công thăm dò Tuy nhiên, tường lửa không phải là một giải pháp bảo mật duy nhất

- Sử dụng mật khẩu mạnh: Mật khẩu mạnh là mật khẩu dài và khó đoán Chúng nên chứa ít nhất 8 ký tự và bao gồm cả chữ hoa, chữ thường, số và ký hiệu đặc biệt Bạn cũng nên tránh sử dụng mật khẩu giống nhau cho nhiều tài khoản

- Sử dụng các công cụ bảo mật: Có một số công cụ bảo mật có thể giúp bạn bảo vệ hệ - thống của mình khỏi các cuộc tấn công thăm dò Những công cụ này có thể giúp bạn phát hiện và ngăn chặn các cuộc tấn công thăm dò

- Tiến hành giám sát và theo dõi các hoạt động trên hệ thống: Bạn có thể theo dõi các hoạt động trên hệ thống của mình để tìm các hoạt động bất thường, chẳng hạn như các nỗ lực truy cập trái phép vào các tài nguyên bị hạn chế hoặc các nỗ lực xác thực thất bại

2.3 Tấn công vét cạn khóa

2.3.1 Định nghĩa

- Tấn công vét cạn khóa là một loại tấn công mật mã trong đó kẻ tấn công cố gắng tìm khóa để giải mã dữ liệu được mã hóa bằng cách thử tất cả các khóa có thể Tấn công này có thể được thực hiện nếu kích thước khóa đủ nhỏ hoặc nếu kẻ tấn công có quyền truy cập vào nhiều tài nguyên tính toán

- Để thực hiện một cuộc tấn công vét cạn khóa, kẻ tấn công cần có danh sách tất cả các khóa có thể Sau đó, kẻ tấn công sẽ thử từng khóa cho đến khi tìm thấy khóa phù hợp

Trang 14

để giải mã dữ liệu Nếu kích thước khóa đủ nhỏ, kẻ tấn công có thể thực hiện cuộc tấn công này trong thời gian thực tế Tuy nhiên, nếu kích thước khóa đủ lớn, cuộc tấn công có thể mất nhiều thời gian hoặc thậm chí không thể thực hiện được

2.3.2 Ví dụ về tấn công vét cạn khóa

- Dưới đây là một số ví dụ về các cuộc tấn công vét cạn khóa:

+ Brute-force attack:Đây là một loại key-exhaustion attack phổ biến nhất Trong một cuộc tấn công brute-force, kẻ tấn công sẽ cố gắng thử tất cả các khóa có thể có cho đến khi họ tìm thấy khóa phù hợp Điều này có thể được thực hiện bằng cách sử dụng một máy tính mạnh hoặc bằng cách sử dụng một tập hợp các công cụ đặc biệt

+ Dictionary attack:Đây là một loại key-exhaustion attack khác cũng phổ biến Trong một cuộc tấn công dictionary, kẻ tấn công sẽ cố gắng thử một danh sách các từ hoặc cụm từ phổ biến làm khóa Điều này có thể hiệu quả hơn một cuộc tấn công brute-force nếu kẻ tấn công biết rằng khóa có thể là một từ hoặc cụm từ phổ biến

+ Rainbow table attack: Đây là một loại key-exhaustion attack hiệu quả hơn so với brute-force hoặc dictionary attack Trong một cuộc tấn công rainbow table, kẻ tấn công sẽ tính toán trước một bảng các khóa và giá trị giải mã Sau đó, kẻ tấn công có thể sử dụng bảng này để giải mã văn bản đã mã hóa mà không cần phải thử tất cả các khóa có thể có

2.3.3 Cách phòng tránh

- Sử dụng khóa có kích thước lớn Kích thước khóa càng lớn thì kẻ tấn công càng cần nhiều thời gian để thử tất cả các khóa có thể Nếu mật khẩu là một từ hoặc cụm từ đơn giản, chẳng hạn như “password” hoặc “123456”, thì tấn công Brute Force có thể tìm ra mật khẩu đó rất nhanh chóng

- Sử dụng thuật toán mã hóa khó bị tấn công vét cạn khóa Một số thuật toán mã hóa, chẳng hạn như AES, khó bị tấn công vét cạn khóa hơn các thuật toán khác

- Sử dụng các phương pháp bảo mật khác, chẳng hạn như xác thực hai yếu tố, để ngăn kẻ tấn công truy cập vào dữ liệu ngay cả khi họ tìm thấy khóa Xác thực hai yếu tố yêu cầu người dùng cung cấp cả tên người dùng, mật khẩu và một yếu tố thứ hai, chẳng hạn như mã xác minh được gửi đến điện thoại của họ, trước khi họ có thể đăng nhập

- Sử dụng các phương pháp tạo khóa ngẫu nhiên: Khóa ngẫu nhiên là một khóa được tạo ra bằng cách sử dụng một phương pháp ngẫu nhiên, chẳng hạn như sử dụng máy tính

Ngày đăng: 14/04/2024, 22:43

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w