1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp An toàn thông tin: Bộ khung tấn công và phòng thủ cho cuộc thi CTF

70 4 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Bộ Khung Tấn Công Và Phòng Thủ Cho Cuộc Thi Capture The Flag
Tác giả Tô Đỉnh Nguyên, Nguyễn Đăng Nguyên
Người hướng dẫn ThS. Nghi Hoàng Khoa, TS. Phạm Văn Hậu
Trường học Đại học Công nghệ Thông tin - ĐHQG TP.HCM
Chuyên ngành Cử nhân ngành An toàn thông tin
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2024
Thành phố TP.Hồ Chí Minh
Định dạng
Số trang 70
Dung lượng 61,39 MB

Nội dung

Tổng quan Capture the Flag [1] là một cuộc thi về an toàn thông tin trong đó các đội thi cạnh tranh với nhau để tìm ra những cờ bản chất chỉ là một chuỗi nhưng thường được đặc trưng bởi

Trang 1

TO DINH NGUYEN - 20521683

NGUYEN DANG NGUYEN - 20520256

KHOA LUAN TOT NGHIEP

BO KHUNG TAN CONG VA PHONG THU CHO

CUOC THI CAPTURE THE FLAG

AN ATTACK AND DEFENSE FRAMEWORK FOR CAPTURE

THE FLAG COMPETITION

CU NHAN NGANH AN TOAN THONG TIN

GIANG VIEN HUGNG DAN:

ThS Nghi Hoàng Khoa

TS Phạm Văn Hậu

TP.Hồ Chí Minh - 2024

Trang 2

LỜI CẢM ƠN

Trong quá trình thực hiện đồ án chuyên ngành, nhóm đã đón nhận sự hỗ trợ

và hướng dẫn đắc lực từ phía các giảng viên Nhóm chân thành biết ơn sự chia

sẻ về mặt kinh nghiệm cũng như sự tận tâm giúp đỡ của các thầy, đặt biệt là thầy Nghi Hoàng Khoa và thầy Phạm Văn Hậu Điều này thực sự là nguồn động

viên quan trọng, giúp nhóm vượt qua những thách thức và khó khăn trong quá

trình nghiên cứu, góp phần làm cho đề tài không ngừng hoàn thiện và đạt được kết quả tốt nhất.

Nhóm xin gửi lời cảm ơn đến gia đình và bạn bè đã động viên, đóng góp ý kiến trong quá trình làm khóa luận

Nhóm cũng chân thành cảm ơn các quý thầy cô trường Đại học Công nghệ Thông tin - ĐHQG TP.HCM, đặc biệt là các thầy cô khoa Mạng máy tính và Truyền thông, các thầy cô thuộc bộ môn An toàn Thông tin đã giúp đỡ nhóm.

Tô Đỉnh Nguyên Nguyễn Đăng Nguyên

Trang 3

1.2 Phương pháp nghiên đứu

1.3 Mục tiêu nghiên ctu CS 202022220200 0000.

1.4 Pham vi và Đối tượng nghiên cđứu

1.5 Cấu tric Khóa luận tốt nghiệp

CHƯƠNG 2 CƠ SỞ LÝ THUYET

Trang 4

3.2.1 Tổng quan 2 Q2 24

3.2.2 Phuong pháp thết kế 25

3.23 Modduntaoshell 0 00000 26 3.3 Trường hợp st dung .2.20000 31 3.4 Dánh giá mô hình mạng và kinh nghiệm trong việc triển khai bộ lì vn HH Đ aỤỪặẶÝ 33 3.41 Đánh gia 2 va 33 3.4.2 Kinh nghiệm trong việc triển khai - 34

CHƯƠNG 4 HIEN THUC VÀ DANH GIÁ, THẢO LUẬN 36 41 Hiện thực v.v v vV 36 4.1.1 Xây dựng mấy chủ trò chơi 36

4.12 Xây dựng bộ khung phòng thủ 41

4.1.3 Xây dựng bộ khung tấn công - 46

4.1.4 Môi trường thực nghiệm 49

4.2 Kết quả thực nghiệm và thảo luận 50

4.2.1 Kịch bản thực nghiệm 50

4.2.2 Cac kết quả thực nghiệm 51

CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIEN 54

5.2 Hướng phat triỂn ee 55

TÀI LIỆU THAM KHẢO 56

PHU LUC A.Mã nguồn Pl

Trang 5

DANH MỤC CÁC KY HIỆU, CÁC CHU VIET TAT

CTF Capture The Flag

AD Attack - Defense

SLA Service Level Agreement

VM Virtual Machine

Trang 6

DANH MỤC CÁC HÌNH VE

Hình 21 RealWorldCEF2018 8Hình 2.2 Góc nhìn tổng quan về AD CTF 10

Hình 2.3 Mô hình mang AD CTF từ một bài lab của trường đại học

Foscari Ca’ Ven@Zla LH HQ Ha 11

Hình 2.4 Mô hình mạng của cuộc thi Sinh viên với an toàn thông tin

2022 ‹- cam- đN 15

Hình 2.5 Mô hình mang trong RuCTF 2023 16

Hình 2.6 Mô hình mạng trong ACS Hacking Contest 2023 17

Hình 3.1 Hình ảnh mô tả kiến trúc tổng quát của bộ khung phòng thủ 20

Hình 3.2 Hình ảnh mô tả kiến trúc tổng quát của bộ khung tấn công 24

Hình 33 Websockethandshake 28 Hình 34 Webshell mô dun Ặ Ặ 29

Trang 7

DANH MỤC CÁC BANG BIEU

Bảng 4.1 Bảng thông tin cấu hình máy ảo team VM_

Bảng 4.2 Bảng danh sách dịch vụ chứa lỗ hong trên môi trường thực

nghiệm kiểm thử SẺ s

Bảng 4.3 Bảng thông tin cấu hình máy ảo publicVPS Bảng 4.4 Bảng thông tin cấu hình máy ảo của đội viên Bảng 4.5 Bảng kết quả thử nghiệm của bộ khung phòng thủ với 4

Trang 8

TÓM TẮT KHÓA LUẬN

Tính cắp thiết của đề tài nghiên cứu:

Trong bối cảnh ngày càng phát triển của công nghệ thông tin, an ninh mạng

trở thành một yếu tố đón nhận được nhiều sự quan tâm từ cộng đồng Hiện nay, những cuộc tấn công mạng ngày càng tinh vi và phức tạp, gây ra sự đe dọa

nghiêm trọng đến các cá nhân và tổ chức Bên cạnh đó, Capture The Flag nổilên như một sân chơi thú vị cho các kỹ sư an ninh mạng để họ nâng cao kỹ năng

và chuẩn bị cho các tình huống thực tế Trong các loại hình của Capture The

Flag, Attack Defense mang đến cho người chơi một trải nghiệm thực tế nhất Tuy nhiên theo chúng tôi được biết, mô hình ứng dụng trong cuộc thi từng được công bố vào năm 2019 và cũng không có nhiều nghiên cứu công khai về nó tại

thời điểm hiện tại Do vậy, việc xây dựng, cải tiến lại mô hình để áp dụng cho

cuộc thi Attack Defense là cần thiết.

Trong nghiên cứu này, chúng tôi đề xuất hai bộ khung tấn công và phòng thủ, nhằm cung cấp một giải pháp toàn diện và hiệu quả khi tham gia các giải

đấu Capture The Flag ở thể thức này

Trang 9

CHƯƠNG 1 TONG QUAN

Tóm tắt chương

Trong chương này, chúng tôi xin trình bày tóm tắt về bài toán xây dựng một

bộ khung tấn công và phòng thủ dùng trong các cuộc thi Capture The Flag Đồng thời đưa ra mục tiêu, phạm vi nghiên cứu, cũng như cấu trúc của khóa

luận.

1.1 Lý do chọn đề tài

Trong bối cảnh ngày nay, không gian mạng đang phải đối mặt với những thách thức ngày càng phức tạp do sự gia tăng về cả quy mô và mức độ của các cuộc tấn công mạng Các cuộc tấn công này không chỉ xuất phát từ các hacker

đơn lẻ mà còn từ các tổ chức tội phạm mạng có tổ chức và thậm chí là từ các

quốc gia Những vụ tấn công mạng thực tế không chỉ đe dọa tính toàn vẹn và

bảo mật của dữ liệu mà còn gây ra những hậu quả nghiêm trong cho doanh

nghiệp và tổ chức Những hậu quả này có thể bao gồm mất mát tài chính, tổnhại uy tín, và thậm chí là ảnh hưởng đến an ninh quốc gia Sự phổ biến củaInternet đã mở ra không gian rộng lớn cho các hacker và kẻ xấu khác để triển

khai các chiến lược tấn công tỉnh vi, từ các cuộc tấn công mạng có chọn lọc như

phishing [5], ransomware [6] một vài cuộc tấn công gần điển hình đây nhắm vào

các tổ chức như VNDirect, Vietnam Post), đến những cuộc tấn công trên diện

rộng như Distributed Denial of Service (DDoS) [7].

Trong hoàn cảnh đó, Capture The Flag (CTF) nói chung hay Attack-Defense CTF (AD CTF) nói riêng đã trở thành một phương tiện quan trọng trong việc

nghiên cứu, kiểm thử, và đào tạo về an toàn thông tin CTF là các cuộc thi

Trang 10

ma người tham gia phải vượt qua các thử thách về an ninh mạng, tim va khai

thác các lỗ hồng bảo mật để chiếm được "lá cờ" (flag) của đối phương AD CTF

không chỉ là một sân chơi cho giới trẻ có niềm đam mê về an toàn thông tin,

mà còn là một bước tiến quan trọng trong việc hiểu rõ về cách thức tấn công và

phòng thủ trong môi trường thực tế Các cuộc thi này tạo ra một môi trường

mô phỏng các tình huống tấn công và phòng thủ thực tế, giúp người tham gia

phát triển các kỹ năng thực tiễn và hiểu rõ hơn về các phương pháp bảo vệ hệ

thống.

Qua những nghiên cứu và thử nghiệm từ các cuộc thi CTF, chúng ta không chi

chứng kiến sự đa dạng của các kỹ thuật tấn công mà còn nhận thức được tầm quan trọng của việc xây dựng những hệ thống giám sát, phòng thủ linh hoạt và hiệu quả Các cuộc tấn công thực tế ngày càng tinh vi, phức tạp và khó dự đoán.

Do đó, các cuộc thi AD CTF tạo ra môi trường lý tưởng để tập huấn, nhằmtrang bị thêm kiến thức và các kỹ năng cần thiết để ứng phó với các tình huống

như vậy Những cuộc thi này cung cấp một cơ hội tuyệt vời để thử nghiệm các

chiến lược phòng thủ mới, đánh giá tính hiệu quả của các biện pháp bảo mật

hiện có, và tìm ra những lỗ hổng tiềm an trước khi chúng bị khai thác trong

thực tế Bằng cách liên tục học hỏi và cập nhật các phương pháp tấn công và

phòng thủ mới nhất, các chuyên gia an ninh mạng có thể duy trì một vị thế

vững chắc trước các mối đe dọa ngày càng gia tăng trong thế giới kỹ thuật số.

Tw những điều trên, chúng tôi nhận thấy việc xây dựng nên mô hình tấn công

và phòng thủ để áp dụng trong các cuộc AD CTF là cần thiết Nó sẽ đòng vaitrò như một bước đệm quan trọng trong việc tiếp cận với thế giới bảo mật.

1.2 Phương pháp nghiên cứu

Chúng tôi tập trung vào việc tìm hiểu các thành phần cơ bản trong môi

trường AD CTF Quá trình này bao gồm dựng lại gần giống môi trường của

cuộc thi AD CTF va mô phỏng các tình huống tấn công, phòng thủ phổ biến

Trang 11

4Tiếp đó tìm kiếm và tích hợp một số công cụ hỗ trợ để tối ưu hóa trong hai tình

huống trên Các công cụ được lựa chọn nhằm tăng cường hiệu quả trong việc tấn công các đội đối thủ đồng thời cung cấp khả năng quan sát các gói tin độc hại một cách trực quan nhất Điều này không chỉ giúp đội viên nhanh chóng phát

hiện và vá các lỗ hổng bảo mật mà còn nâng cao khả năng phòng thủ trước cáccuộc tấn công từ đội địch Bên cạnh đó, chúng tôi tiến hành triển khai, đánh

giá công cụ và đưa ra hướng mở rộng phù hợp trong tương lai.

1.3 Mục tiêu nghiên cứu

Khóa luận này bao gồm các mục tiêu chính như sau:

1 Tìm hiểu các thành phan cơ bản trong môi trường AD CTF: Nghiên cứu

về các yếu tố cấu thành nên một cuộc thi Attack-Defense CTF, bao gồm

máy chủ trò chơi, các máy ảo, mô hình mạng và cách thức tổ chức

2 Xây dựng hai mô hình tấn công và phòng thủ: Tìm kiếm, tích hợp và đánh

giá hiệu quả của các công cụ hỗ trợ quá trình tấn công và phòng thủ trong

môi trường AD CTF.

1.4 Pham vi và Đối tượng nghiên cứu

Chúng tôi thực hiện tìm hiểu và xây dựng mô hình dựa trên ý tưởng từ các

mô hình của những đội thi mà chúng tôi đã gặp trong các giải đấu AD CTF

trên CTFtime cũng như các giải đấu được tổ chức trực tiếp như "Sinh viên với

An toàn thông tin ASEAN" Mô hình của chúng tôi sẽ là một trợ thủ đắc lực cho hai giai đoạn: tấn công và phòng thủ.

Trong giai đoạn tấn công, mô hình của chúng tôi sẽ tự động hóa việc chạy các

script để tấn công hàng loạt dịch vụ của đội đối thủ Các script này sẽ đượcthiết kế để tận dụng các lỗ hồng bảo mật đã được phát hiện, từ đó thực hiện

Trang 12

các cuộc tấn công nhằm cướp cờ (flags) Những cờ này sau khi bị cướp sẽ được

tự động nộp lên máy chủ trò chơi để ghi điểm Quá trình này không chỉ giúp

tiết kiệm thời gian mà còn nâng cao hiệu quả tấn công, giúp đội thi có thể tập

trung vào việc phát hiện và khai thác các lỗ hồng mới

Về giai đoạn phòng thủ, mô hình đề xuất sẽ cung cấp khả năng quan sát lưu lượng mạng một cách trực quan nhất Các gói tin đi đến các dịch vụ của đội nhà sẽ được giám sát và đánh tag phân loại theo loại hình tấn công Nhờ vào

việc phân loại này, đội thi có thể nhanh chóng nhận diện và phản ứng với các

cuộc tấn công đang diễn ra.

1.5 Cau trúc Khóa luận tốt nghiệp

Khóa luận được tổ chức trong 6 chương như sau:

e Chương 1: TONG QUAN ĐỀ TÀI

Trình bày khái quát định hướng nghiên cứu của khóa luận mà chúng tôi

muốn hướng tới.

e Chương 2: CƠ SỞ LÝ THUYET

Trình bày các định nghĩa, khái niệm cũng như những kiến thức nền tảng

để có thể thực hiện được nghiên cứu Đồng thời trình bày sơ lược một sốcông trình liên quan có cùng hướng nghiên cứu.

e Chương 3: PHƯƠNG PHÁP THỰC HIỆN

Là phần trọng tâm của khoá luận, trình bày những nội dung chính về

phương pháp thực hiện và mô hình được sử dụng.

e Chương 4: HIỆN THỰC, DÁNH GIÁ VÀ THẢO LUẬN

Đề cập đến quá trình hiện thực hóa phương pháp đề cập ở Chương 3 Sau đó trình bày phương pháp thực nghiệm, đánh giá kết quả và thảo luận chung.

Trang 13

e Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIEN

Dưa ra kết luận về đề tài, đề xuất một số hướng phát triển mở rộng chocác nghiên cứu trong tương lai.

Trang 14

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Tóm tắt chương

Trong chương này, chúng tôi sẽ trình bày cơ sở lý thuyết cần thiết của khóa

luận Nội dung sẽ bao gồm cái nhìn tổng quan về các khái niệm liên quan đến

Capture The Flag (CTF) và đặc biệt là Attack-Defense Capture The Flag (AD

CTF) Phần nay sẽ tập trung vào các thành phan chính cấu tao nên môi trường của cuộc thi, vai trò của từng thành phần và nhiệm vụ của đội thi Đồng thời,

chúng tôi sẽ giới thiệu một số mô hình phổ biến được áp dụng tại các cuộc thi

CTF trong nước và trên thé giới, và đưa ra vài lời nhận xét về các mô hình này.

2.1 Tổng quan về Capture The Flag

2.1.1 Tổng quan

Capture the Flag [1] là một cuộc thi về an toàn thông tin trong đó các đội

thi cạnh tranh với nhau để tìm ra những cờ (bản chất chỉ là một chuỗi nhưng

thường được đặc trưng bởi một định dạng cụ thể) được giấu trong các tệp hoặc

dịch vụ, có thể lấy được thông qua việc khai thác các lỗ hồng Tùy thuộc vào

hình thức của cuộc thi, các đội cũng phải vá lỗ hong trong dich vụ của mình để

ngăn chặn đội khác tấn công và đánh cắp cờ.

CTF mang lại những trải nghiệm giáo dục quý báu, nhờ vào độ phức tap va

đa dạng của các thử thách, qua đó giúp các đội thi trau đồi khả năng làm việc

nhóm cũng như kĩ năng cá nhân của từng thành viên Việc chia sẻ công việc

yêu cầu mỗi thành viên của đội phải có những kỹ năng khác nhau, cố gắng tận

dụng những kỹ năng thế mạnh của từng cá nhân để đưa ra lời giải cho các thử

thách cũng như học hỏi thêm từ cuộc thi những kiến thức mới.

Trang 15

8Hình 2.1 là một bức tranh tổng thể về địa điểm diễn ra vòng chung kết cuộc

thi RealWorldCTF tại Trung Quốc - một sự kiện lớn mang tầm quốc tế, với

những thử thách được lấy ý tưởng dựa trên các lỗ hổng thực tế

CTF có ba hình thức chính: Jeopardy, Attack-Defense, và King of the Hill.

Jeopardy CTF không có su tương tac giữa các đội với nhau; trong cuộc thi sẽ có

nhiều mảng và trong mỗi mảng lại có các thử thách khác nhau về độ phức tạp.

Các đội phải tìm ra cờ ẩn phía sau các thử thách này để nhận số điểm tươngứng Số điểm nhận được phụ thuộc vào độ phức tạp của chúng

Các mảng chính của Jeopardy CTF bao gồm:

e Forensics: Hữu dụng trong việc đào tạo kỹ năng liên quan đến điều tra số,

phân tích dấu vết của một hệ thống để trích xuất thông tin cần thiết cho

việc điều tra.

e Network: Người tham gia phải thực hiện điều tra trên lưu lượng, dịch vụ

mạng và thực hiện phân tích gói tin, các dịch vụ liên quan.

Trang 16

e Reverse Engineering: Bao gồm phân tích các chương trình được cung

cấp để hiểu cách chúng hoạt động và từ đó đi sâu hơn

e Web Exploitation: Người tham gia khai thác các lỗ hong trong ứng dụng

web.

e Crypto: Người chơi mảng này có nhiệm vụ khai thác các thuật toán được

ứng dụng trong mật mã, thường là các thuật toán được triển khai không

đúng, hoặc lỗi khi sử dụng các thư viện cũ, lỗi thời.

e Binary Exploitation: Thường liên quan đến việc tìm kiếm lỗ hồng trên

các tệp nhị phân hoặc tệp thực thi (thường là tệp ELF Linux).

Cuối cùng, đội có số điểm cao nhất sau cuộc thi sẽ là đội chiến thắng trong hình

thức Jeopardy CTF.

Attack-Defense CTF là một biến thể đặc biệt của CTF, nơi các đội không chi

phải bảo vệ hệ thống của mình mà còn phải tấn công hệ thống của đối thủ Mỗi

đội được cung cấp một hệ thống với các lỗ hong bảo mật và phải vừa vá lỗi đểbảo vệ hệ thống của mình, vừa khai thác các lỗ hổng của đối thủ để lấy điểm

Đây là một hình thức thi đấu mang tính tương tác cao, đòi hỏi sự kết hợp nhuần nhuyễn giữa kỹ năng phòng thủ và tấn công.

King of the Hill là một hình thức CTF khác, trong đó các đội thi đấu để chiếmquyền kiểm soát một hệ thống mục tiêu trong một khoảng thời gian nhất định.Đội nào giữ được quyền kiểm soát hệ thống lâu nhất sẽ giành được điểm cao

nhất Quá trình chiếm quyền kiểm soát bao gồm việc tấn công, khai thác lỗ

hồng và sau đó củng cố hệ thống để bảo vệ trước các cuộc tấn công của các đội

khác King of the Hill đòi hỏi các đội phải có khả năng tấn công và phòng thủ nhanh nhạy, cũng như kỹ năng quản lý hệ thống hiệu quả.

Trang 17

2.1.2 Attack-Defense Capture The Flag

Đối với AD CTF [1], tất cả các đội đều được cấp một máy ảo (VM) được cấu

hình trước bởi ban tổ chức và có thể truy cập trực tiếp và hoặc chỉ có quyềntruy cập vào proxy server nằm trước máy ảo đó tùy thuộc vào thể lệ của cuộc

thi Tất cả VMs của các đội đều chứa các dịch vụ giống nhau, và đặc trưng bởi

các 16 hong giống nhau Mỗi đội phải tìm ra các lỗ hong này và sau đó sẽ có hai

nhiệm vụ chính:

e Tan dụng 16 hong và khai thác các dịch vụ bên đội đối thủ để đánh cắp tất

cả cờ được lưu bên trong chúng.

e Vá các lỗ hồng ở dịch vụ của mình để không để ngăn các đội khác đánh cắp

Nhờ vào đó, các thí sinh có thé học được cách ứng biến khi dịch vụ bị tấn

công, cách phản ứng với những cuộc tấn công này cũng như cách giám sát, vá

lỗi cho hệ thống.

Trang 18

có một mạng riêng và VMs của các đội không thể được truy cập từ bên ngoài.

Để làm cho việc tương tác giữa các đội dễ dàng hơn, mỗi đội thường có một mạngriêng biệt, dia chỉ của nó phụ thuộc vào ID của đội, chang hạn như 10.0.X.0/24cho mạng của đội số X Tất cả các đội đều có một cổng ra và các dịch vụ có lỗ

hồng được gan địa chi IP xác định, chẳng hạn như 10.0.X.1 cho cổng của đội X

và 10.0.X.3 cho tất cả các dịch vụ có lỗ hồng của đội X Mỗi dịch vụ này có thểtruy cập thông qua một cổng khác nhau và các dịch vụ giống nhau của các độikhác nhau có thể truy cập thông qua cùng một cổng

Tham khảo hình sau để có cái nhìn rõ nét hơn về mạng (network) của cuộc thi:

Team 1 laptops (ip 10 0 1 [150-200]) Team N laptops (ip 10 0.N [150-200])

Hành 2.3: Mô hành mang AD CTF từ một bài lab của trường dai hoc Foscari

Ca’ Venezia

Một cuộc thi AD CTF được chia thành các vòng, thời lượng của mỗi vòng do

Trang 19

12ban tổ chức quy định trước Trong mỗi vòng, một hoặc nhiều cd mới sẽ đượcchèn vào tất cả các dịch vụ có lỗ hổng của tất cả các đội (tất nhiên, các cờ khác

nhau được gửi đến các đội khác nhau) Tất cả các cờ sẽ có một thời hạn xác

định (thường là số vòng xác định bởi tổ chức), sau đó chúng không còn giá trị

vì vậy các đội sẽ không nhận điểm dù có nộp.

Việc chèn các cờ được thực hiện bởi máy chủ trò chơi (Gameserver), đó là VM

của ban tổ chức và là lõi của cuộc thi AD No nằm trong cùng mạng của tất cảcác đội và có ba vai trò chính:

e Như đã nói ở trên, nó chèn một hoặc nhiều cờ vào tất cả dịch vụ của tất cả

các đội trong mỗi vòng.

e Nó kiểm soát xem tất cả các dịch vụ của tất cả các đội có hoạt động hay

không bằng cách gửi một số yêu cầu đến mỗi dịch vụ của mỗi đội và kiểmtra xem các cờ an trong các dịch vụ có thể lấy được hay không bằng cách sử

dụng một số thông tin đặc biệt mà các đội không có Nếu một hoặc nhiều

cờ của một dịch vụ không thể lấy được, điều đó có nghĩa là có ít nhất một

cờ đã bị xóa hoặc dịch vụ không hoạt động đúng (do vá lỗ hồng sai cáchhoặc đơn giản là do dịch vụ bị tắt) Trong cả hai trường hợp, điểm SLA

(xem bên dưới) liên quan đến dịch vụ của đội đó bị giảm.

e Nó nhận tất cả các cờ được gửi, kiểm tra tính hợp lệ của chúng, tính điểm

và cập nhật lại bảng xếp hạng.

Tất cả các địa chỉ IP nguồn của các gói tin được gửi bởi các đội và máy chủ trò

chơi đến dịch vụ các đội khác đều được an danh, theo cách này, mỗi đội sẽ nhận

được gói tin đặc trưng bởi cùng một địa chi IP nguồn (thông qua một router

hoặc proxy server).

Như vậy, các đội không thể phân biệt được gói tin nào bắt nguồn từ máy chủtrò chơi, kiểu thiết kế hệ thống này nhằm mục đích ngăn chặn người chơi cấu

Trang 20

hình chi cho phép những gói tin của máy chủ trò chơi di qua và chặn hết những

gói tin từ các nguồn khác Khi muốn kiểm tra trạng thái của các dịch vụ, máy

chủ trò chơi sẽ gửi các yêu cầu như một người dùng bình thường đến dịch vụ

của các đội, sau đó dựa vào phản hồi để quyết định trạng thái tương ứng Nếucác đội triển khai chặn hoặc vá hệ thống sai cách đối với dịch vụ của đội mình,

sẽ dẫn đến bị trừ điểm ở phần này

Tương tự như Jeopardy CTF, đội cần có số điểm cao nhất để giành chiến thắng,nhưng tổng điểm của đội sẽ được tính theo cách khác Các tiêu chí tính điểm

được sử dụng bởi hầu hết tất cả các cuộc thi AD như sau:

e Diểm tấn công: Diễm này đạt được bằng cách gửi tất cả các cờ hợp lệ mà

đội đã đánh cắp bằng cách khai thác lỗ hong từ dịch vụ của đội đối thủ.

e Diểm SLA: Điểm được gan cho các đội ứng với việc duy trì dịch vụ của họ,

nếu không có điểm này, tất cả các đội sẽ tắt dịch vụ của họ để ngăn không

bị đánh cắp cờ.

Các tiêu chí ít được sử dụng khác bao gồm:

e Diểm phòng thủ: Điểm này bị giảm khi cờ bị đánh cắp từ dịch vụ của chính

đội đó, hoặc được cộng thêm khi một đội có thể bảo vệ cờ của mình trong

một khoảng thời gian nhất định.

e Diểm King of the Hill: Điểm được gan cho các đội khi đưa ra được giải pháp

tốt nhất cho một số thử thách định kì của ban tổ chức

Thường trong cuộc thi AD CTE, các đội thường sử dụng các công cụ riêng chẳng

hạn như Destructive Farm [3], giúp tự động hóa việc tấn công và nộp cờ, và các

công cụ được xây dựng cho việc phân tích lưu lượng mạng như Caronte [2] hoặc

Flower [4], chúng cho phép các đội viên có thể phân tích những yêu cầu từ cácđội khác, hiểu rõ loại tấn công và lỗ hổng nào đã bị khai thác, từ đó sử dụng

Trang 21

thông tin này để tấn công lại dịch vụ của đội đối thủ cũng như củng cố lại hệ

thống của họ.

AD khó hơn so với Jeopardy, cả về cách chơi lin cách triển khai hệ thống vi

kiến trúc phức tạp của nó Cần phải bao gồm nhiều đội (đôi khi là hơn 100 đội),

chúng khó thiết kế, triển khai và vận hành Thực sự là như vậy, vào năm 2021,

dưới 10% tổng số các cuộc thi CTF được tổ chức ở dạng này

Trong một số cuộc thi CTF như DEF CON, thường sẽ kết hợp cả hai dang

Jeopardy và AD Bởi vì để tham dự vào vòng chung kết, thường được tổ chức

dưới hình thức AD, các đội thi phải tham gia và vượt qua vòng loại, thường

được diễn ra dưới dang Jeopardy.

2.1.3 Một số mô hành mang phổ biến

Dưới đây là một số mô hình mạng phổ biến trong các cuộc thi Attack-Defense

(AD), phần lớn được chia thành hai dạng tạm gọi là proxy-based AD và

VM-based AD.

2.1.8.1 Proxy-based Attack Defense

Mô hình này khá phổ biến trong các cuộc thi AD CTF tai Việt Nam, hay điển

hình là cuộc thi Sinh viên với An toàn thông tin ASEAN Trong mô hình này,

các đội chỉ có quyền kiểm soát trên proxy server, thành phần được đặt trước

dịch vụ của mỗi đội Tất cả lưu lượng mạng đến dịch vụ sẽ được điều hướng qua

proxy server này, vì vậy, các biện pháp phòng thủ chủ yếu sẽ được triển khaitập trung tại đây Điều này tạo ra một điểm kiểm soát quan trong để giấm sát

và đáp ứng lại các cuộc tấn công.

Trang 22

4004 Defense Senarios.

>| >| —— Team1: Only see source IP from Gateway

- iptables

- reverse proxy (nginx, mod_security)

>| >| - Custom proxy (python)

NBN ~ — sì vì

>) a! | ——>~ XN >! oJ

Hành 2.4: Mô hình mang cua cuộc thi Sinh vién vdi an toàn thông tin 2022

Mỗi thành viên sé được cung cấp thông tin để kết nối SSH vào proxy servercủa đội mình, và chỉ sau khi kết nối thành công mới có thể giao tiếp với các đội

khác trong cùng mạng của cuộc thi Ở mô hình 2.4, có thể thấy ban tổ chức đã

đặt ra quy định chung về cách truy cập vào một dịch vụ cụ thể của một đội nào

đó Ví dụ, để truy cập dịch vụ số 1 của đội 1, người dùng sẽ gửi yêu cầu đến địa

chỉ IP của gateway (trong hình là 10.254.0.254) và chỉ định cổng là 4011 (trong

đó, số 01 tương ứng với đội 1 và số 1 cuối cùng là số thứ tự của dịch vụ đó) Các thành phần như Checker, Flag Updater, và Scoreboard chính là các thành phần của Gameserver đã nêu ở trên.

Một điểm quan trọng khác là với thiết kế này, các đội sẽ chỉ thấy được IP nguồncủa các lưu lượng mạng chính là IP gateway mà không thể xác định được nguồngốc cụ thể là từ đội nào hay từ gameserver, điều này đồng thời đáp ứng các yêu

cầu đã được mô tả tại 2.1.2.

Trang 23

2.1.8.2 Virtual Machine-based Attack Defense

Day là mô hình phổ biến thường được sử dung tại các giải đấu CTF quốc

tế như saarCTF, RuCTF, và nhiều cuộc thi khác Trong kiến trúc này, người

chơi có toàn quyền kiểm soát trên một máy ảo, nơi đặt các dịch vụ của họ Cácthành viên cũng được cấp quyền để vá lỗ hổng trực tiếp trên các dịch vụ của

Trang 24

17chính là IP router, không thể xác định được chính xác nguồn gốc ban đầu của

chúng.

Bên cạnh đó, nhóm còn gặp phải một mô hình khá độc đáo trong cuộc thi

ASEAN Cyber Shield Hacking Contest 2023.

Hành 2.6: Mô hành mang trong ACS Hacking Contest 2023

O mô hình này, các đội chơi không tấn công lẫn nhau Thay vào đó, mỗi đội

đều có hai vai trò chính là tự khai thác dịch vụ của đội mình, nộp cờ lên attack

server tương ứng với từng thử thách, và sau đó thực hiện vá lỗi trên chính dịch

vụ của mình Gameserver sẽ có thêm một vai trò, đó là tấn công dịch vụ của mỗi đội để đánh giá độ hiệu quả của bản vá và tiến hành cộng điểm.

Trang 25

2.1.4 Tính ứng dựng thực tiễn

Cuộc thi CTF được tổ chức đầu tiên vào năm 1996 tại DEF CON, một trong

những hội nghị lớn dành cho hacker và đón nhận được nhiều sự chú ý nhất.

Cuộc thi này được biết đến với tên gọi DEF CON CTF và kể từ đó, nó đã trởthành một trong những giải đấu nổi tiếng và thách thức nhất trong cộng đồng

an ninh mạng, thu hút các đội hàng đầu từ khắp nơi trên thế giới Đến nay, số lượng các cuộc thi và số đội đăng ký tham gia ở bộ môn CTF đã tăng lên đáng

kể (nguồn CTFtime)

Mọi người thường nghĩ CTF chỉ là nơi để các bạn sinh viên có những bước dau

vững chắc trong kiến thức chuyên ngành, nhưng hiện nay, chúng tôi tin rằng

quan điểm ay đã không còn như trước Bên cạnh cuộc thi Pwn2Own, một cuộc

thi lớn đành cho các chuyên viên nghiên cứu lỗ hồng bảo mật, các cuộc thi như

v8CTF hay kernelCTF cũng là nơi để họ "trình bày" thành quả của mình Các

kỹ thuật mới, các 16 hong bảo mat 0-day hay các attack vector độc đáo thườngđược cập nhật qua những bài blog và được chuyển thể thành dạng dé CTF để

người chơi thực hành, từ đó cùng làm rõ với nhau những vướng mắc cũng như

chia sẻ kinh nghiệm.

Hơn thế nữa, các công ty và tổ chức an ninh mạng cũng nhận ra giá trị của CTFtrong việc tuyển dụng và đào tạo nhân sự Tham gia các cuộc thi CTF giúp ứng

viên chứng minh được khả năng tư duy sáng tạo, kỹ năng giải quyết vấn đề và khả năng làm việc dưới áp lực Nhiều công ty như Viettel Cyber Security hay

VN Security thậm chí còn tổ chức các cuộc thi CTF nội bộ để đào tạo nhân

viên.

Trang 26

Bộ khung phòng thủ nhằm mục tiêu bảo vệ cờ của đội nhà, giữ vững điểm số

defense và ngăn chặn các cuộc tấn công không mong muốn từ các đội đối thủ Một mô hình phòng thủ tốt không chỉ giúp bảo vệ cờ mà còn hỗ trợ người chơi

trong việc phát hiện nguyên nhân gây ra lỗ hồng, từ đó thực hiện ngăn chặn kịp

thời và còn làm cho quá trình tấn công lại các đội khác trở nên hiệu quả.

3.1.1 Tổng quan

Công cụ mà chúng tôi tiến hành xây dựng có kiến trúc như sau

Trang 27

Máy ảo của đội

Hình 3.1: Hình ảnh mô tả kiến trúc tổng quát của bộ khung phòng thủ

Trong hệ thống nay, gateway là nơi mà moi traffic từ các đội đều phải di

qua để đến các đội đối thủ, hay nói cách khác, nó là cổng chính Proxy Server

là thành phần nằm trước dịch vụ của mỗi đội, đóng vai trò chuyển hướng các

lưu lượng đến dịch vụ đích và là nơi người chơi có quyền truy cập vào Custom Python Proxy là một proxy được người chơi viết bằng Python, đóng vai trò tương tự như Proxy Server trong việc điều hướng gói tin, tuy nhiên nó cung cấp

thêm các tính năng như chặn các traffic độc hại Tepdump có tác dụng dumpcác lưu lượng mạng tại interface kết nối với gateway và sau đó chuyển hướng

các lưu lượng này tới Separate Team VM - một máy ảo khác của đội nhà dành

Trang 28

riêng cho việc quan sát các gói tin.

3.1.2 Phương pháp thiết kế

Bộ khung phòng thủ sẽ có hai chức năng chính: trực quan hoá các gói tin và

thực hiện chặn lọc các gói tin độc hại.

Về phần trực quan hoá, như đã đề cập tại 2.1.2, lưu lượng mạng đóng vai trò rất quan trọng trong quá trình phân tích các yêu cầu đến tất cả các dịch vụ của đội nhà cũng như các phản hồi từ chúng Phân tích này giúp các đội xác định

được nguyên nhân gây ra lỗ hồng, từ đó tạo ra chiến lược tấn công phù hợp đối

với đội đối thủ, đồng thời giúp củng cố và vá lỗi trên hệ thống của chính họ.

Mô hình này sẽ có một số khác biệt nhỏ khi được triển khai trên hai dạng

proxy-based và VM-based AD Nhưng trước tiên đều sẽ sử dụng các công cụ

như tcpdump để ghi lại lưu lượng mạng từ gateway (đối với mô hình proxy-based

AD) hoặc từ team router (đối với mô hình VM-based AD) và các bản ghi này

sẽ được vận chuyển đến một máy ảo khác, chỉ dành riêng cho việc quan sát lưu

lượng mạng (máy này sẽ phải kết nối vào mạng của cuộc thi), mục dich của việc

làm này là để tiện cho các đội viên trong việc truy cập cũng như phòng trườnghợp các máy mà ban tổ chức cung cấp không đủ tài nguyên

Tiếp theo sử dụng tulip [9], một công cụ được tạo ra dành riêng cho các cuộc thi AD CTF và được cải tiến từ Flower, nó đóng vai trò quan trong trong việc

trực quan hóa các dit liệu được dump, bên cạnh đó hỗ trợ thêm các tính năng

như IPv6, http decoding, tấn công phát lại Suricata [8] cũng được cài đặt và

đóng vai trò như một Intrusion Detection System trong mô hình.

Về chức năng chặn lọc các gói tin độc hại, chúng tôi sẽ đề xuất mô hình đối với dạng proxy-based AD, bởi vì đối với VM-based AD CTF người chơi đã có

toàn quyền kiểm soát trên VM từ đó thực hiện vá lỗi trực tiếp trên mã nguồn

của dịch vụ.

Trang 29

Ỏ proxy-based AD, các đội sẽ khiển khai cơ chế phòng thủ hay cụ thể hơn là

chặn hoặc lọc đi các từ khóa được cho là độc hại đối với hệ thống, trước khi

chuyển hướng yêu cầu đến dịch vụ đích

Trong mô hình 2.4 của cuộc thi sinh viên với an toàn thông tin diễn ra năm

2022, ban tổ chức có đề xuất một số biện pháp cho việc phòng thủ chang han

như: iptables, reverse proxy (nginx, mod_security), custom proxy (python) Và

nhóm chúng tôi lựa chon custom proxy dựa trên tiêu chi dé cấu hình, sử dung cũng như cải tiến.

Custom proxy này có hai nhiệm vụ chính:

e Chuyển hướng traffic đến dịch vụ đích tương ứng ban dau.

e Chặn hoặc lọc các yêu cầu chứa những từ khóa độc hại đối với hệ thống.

3.1.2.1 Luôồng hoạt động

Nói một cách tổng quát, mô hình này hoạt động như sau:

1 Các gói tin từ bên ngoài (bắt nguồn là máy chủ trò chơi hoặc các đội khác)

sau khi đến Proxy Server sẽ được lưu ở dạng file bởi tepdump và được

chuyển đến một máy khác để thực hiện phân tích

2 Python proxy tại Proxy Server thực hiện kiểm tra các gói tin này lần thứ

nhất, nếu hợp lệ thực hiện chuyển tiếp đến dịch vụ đích ban đầu ngược lạidrop gói tin.

3 Dịch vụ đích ở Team VM thực hiện xử lí các gói tin sau đó trả về phản hồi.

4 Các gói tin phản hồi từ dịch vụ tiếp tục được xử lí bởi python proxy server,

nếu hợp lệ thực hiện chuyển tiếp về ip nguồn ngược lại drop gói tin.

3.1.2.2 Các bước cay dựng

Các bước để xây dựng bộ khung này như sau:

Trang 30

e Bước 1: Cài đặt tcpdump trên proxy server (đối với proxy-based AD) hoặc

trên virtual machine (đối với VM-based AD) và thực hiện lắng nghe trên interface nằm chung mạng với gateway (đối với proxy-based AD) hoặc lắng nghe trên toàn interface (đối với VM-based AD).

e Bước 2: Cài đặt tulip và suricata trên máy ảo dùng riêng cho việc quan

sát (máy ảo tạo trên các nền tang như gcloud, azure ).

Vai trò của từng công cụ:

— Tulip: Cung cấp cho người chơi một giao diện dé dé dàng quan sát các

gói tin, thực hiện việc đánh tag cơ bản các gói tin đặc biệt như "Flag

In" (gói tin yêu cầu gửi đến dịch vụ có chứa cờ trong nội dung), "Flag

Out" (gói tin trả về từ dịch vụ có chứa cờ trong nội dung).

— Suricata: Thực hiện đánh tag các gói tin dựa trên một vài rule được

định nghĩa trước, góp phần tối ưu hóa thời gian phát hiện lỗ hồng

e Bước 3: Thực hiện vận chuyển các traffic dump được đến máy ảo cài đặt

tulip và suricata.

e Bước 4: Xóa các routing ban đầu trên hệ thống máy ảo được cung cấp (ví

dụ như trong kì thi Sinh viên với An toàn thông tin, nhóm chúng tôi đã

thực hiện backup sau đó xóa hết tất cả các rule ban đầu của iptables).

e Bước 5: Khởi chạy python proxy server tại vị trí các port ban đầu được

chỉ định trong rule của iptables.

Trang 31

Hình 3.2: Hình ảnh mô tả kiến trúc tổng quát của bộ khung tấn công

Trong mô hình trên, Neo client được các đội viên cài đặt trên mấy cá nhân

của mình và đóng vai trò quan trọng trong việc tải các script tấn công lên Neo server Neo server sau đó sử dụng các script này để tiến hành tấn công hàng loạt vào các đội đối thủ, với mục tiêu thu thập càng nhiều cờ càng tốt Các cờ

Trang 32

nay sau đó được gửi tới Farm Server.

Farm server không chỉ thực hiện lưu trữ các cờ thu thập được vào cơ sở dit liệu

mà còn đảm nhận nhiệm vụ nộp các cờ này lên máy chủ trò chơi để ghi điểm

3.2.2 Phương pháp thiết kế

Trong quá trình phòng thủ cũng như giải bài, khi các đội đã có được mã khai

thác sẽ tiến hành chuyển qua giai đoạn tấn công nhằm ghi điểm Tuy nhiên việc

Để tối ưu hoá trong việc tấn công và nộp cờ

3.2.2.1 Cac bước ray dung

Các bước để xây dựng bộ khung này như sau:

e Bước 1: Cai đặt Neo server và Farm server trên cùng may ảo chạy tulip.

e Bước 2: Cai dat Neo client ở máy người chơi.

e Bước 3: Cau hình các file config của Neo server, Neo client và Farm server

cho tương ứng với nhau và tương ứng với máy chủ trò chơi.

e Bước 4: Cuối cùng, thao tác với script dùng cho việc khai thác dịch vụ và

lay cờ ở phía Neo client.

3.2.2.2 Luong hoạt động

Tổng quan về luồng hoạt động của mô hình tấn công:

1 Đội viên viết script tấn công sau đó chạy lệnh để tải script lên phía neo

server thông qua neo client.

2 Neo erver nhận và lưu các script, chờ lệnh run từ phía Neo client để thực

hiện tấn công dịch vụ các đội đối thủ.

Trang 33

3 Sau khi hoàn thành tan công, Neo server trích xuất ra cờ và sau đó gửi đến

Farm server

4 Earm server trước tiên thực hiện lưu các cờ flag cơ sở dữ liệu, và sẽ thực

hiện nộp các cờ này đến GameServer trong khoản thời gian được cấu hình.

3.2.3 Mô dun tao shell

Ngoài bộ khung tấn công đã được trình bày, chúng tôi tiến hành phát triểnmột mô đun tạo shell để sử dụng trong giai đoạn Persistence, đặc biệt trong

tình huống có khả năng thực thi mã từ xa trên dịch vụ của đối thủ Mục tiêu của mô đun này là tạo ra một backdoor, cho phép trực tiếp cướp cờ trên các

dịch vụ của đội bạn dù cho những dịch vụ đó đã được vá lỗi.

Dưới đây là một số tiêu chí chúng tôi ưu tiên khi triển khai mô dun này:

e Khó bị phát hiện bởi công cu tulip, suricata.

e Khó bị dịch ngược.

e Dễ triển khai nhưng vẫn giữ được độ hiệu quả.

Dựa theo các loại dich vụ thường gặp ở các giải đấu ADCTF, chúng tôi chia ra

thành hai dạng shell: web và tệp thực thi.

3.2.8.1 Shell dạng web

Để triển khai shell ở dang này, chúng tôi lợi dung giao thức websocket Sơ

qua về Websocket, nó là một giao thức cung cấp các kênh giao tiếp full-duplex

qua một kết nối TCP! duy nhất Giao thức WebSocket đã được chuẩn hóa bởi

Thttps://wiki-wireshark.org/TCP/

Trang 34

IETF? như là RFC 6455? vào năm 2011, và API WebSocket trong Web IDL

đang được chuẩn hóa bởi W3C

WebSocket được thiết kế để triển khai trên trình duyệt web và máy chủ web,nhưng có thể được sử dụng bởi bất kỳ ứng dụng client hoặc server nào Giao

thức WebSocket là một giao thức độc lập dựa trên TCP Mối quan hệ duy nhất

của nó với HTTP là bắt đầu bằng cách giao tiếp bắt đầu (handshake) được hiểu

bởi các máy chủ HTTP như một yêu cầu nâng cấp.

“https: //en.wikipedia.org/wiki/Internet pngineeringraskrorce/

3https://tools.ietf.org/html/rfc6455/

Trang 35

Handshake (HTTP Upgrade)

Connection opened

Bidirectional Messages open and persistent connection

One side closes channel

eo ee —ễ

connection closed

Hinh 3.3: Websocket handshake

Nguồn: https://www.researchgate.net/figure/Web-socket-architecture_ fig3_ 338553959

Chúng tôi tận dụng việc giao thức HTTP được sử dụng trong giai đoạn

hand-shake để tạo ra một webshell (php) và thực hiện việc obfuscate trên shell này

Shell này chỉ có một nhiệm vụ duy nhất, đó là cướp flag, sau đó mã hoá nó bằng AES và gửi về cho người tấn công Sau đó, chúng tôi tải shell lên phía

dịch vụ của đối thủ thông qua lỗ hổng thực thi mã từ xa hoặc các lỗ hồng có

ảnh hưởng tương tự Cuối cùng, ở bên phía của người chơi, chúng tôi viết một

Ngày đăng: 24/11/2024, 15:58

TỪ KHÓA LIÊN QUAN