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. 6 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 cho các nghiên cứu trong tương lai. 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. Tổng quan về Capture The Flag 2.
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.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. 9 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ếm quyề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ả. 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ền truy 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. 11 Chúng ta có thể thấy ngay khác biệt rõ rệt giữa Jeopardy và AD CTF là sự tương tác giữa các đội với nhau. Thực tế, VM của một đội có thể truy cập từ tất cả các VM của các đội khác thông qua proxy hoặc router đứng trước VM của đội đó vì tất cả các máy ảo đều nằm trong cùng một mạng.
Cuộc thi cần 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ạng riêng biệt, dia chỉ của nó phụ thuộc vào ID của đội, chang hạn như 10.0/24 cho 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.1 cho cổng của đội X và 10.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 đội khá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: 10.2 Gameserver 4 : Team 1 VM (ip 10.it Team N VM (ip 10.1) hs, No network access! Team 1 laptops (ip 10. [150-200]) Team N laptops (ip 10.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 12 ban tổ chức quy định trước. Trong mỗi vòng, một hoặc nhiều cd mới sẽ được chè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ểm tra 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ách hoặ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 13 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ếu cá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.