CTF là viết tắt của cụm từ tiếng Anh Capture The Flag. Đây là tên gọi của một dạng cuộc thi kiến thức về bảo mật thông tin, thử thách các đội chơi tìm ra lời giải cho một vấn đề bất kỳ trong an ninh mạng.
Trong một cuộc thi CTF, nhiệm vụ của các đội chơi là phải chạy đua nhau để tìm ra một Mật (được gọi là Flag) mã đặc biệt được giấu bên trong server, hoặc phía sau một trang web. Đội nào hack vào hệ thống của đối thủ, vá các lỗ hổng trên máy chủ của đội nhà và tìm ra Flag nhanh hơn sẽ giành chiến thắng trong vòng thi đó. Dựa vào luật chơi này mà cuộc thi mới có tên là Capture The Flag – cướp cờ.
Cuộc thi CTF lần đầu tiên được tổ chức vào năm 1997, tại hội thảo bảo mật nổi tiếng DEFCON (Mỹ) lần thứ 5.
Hiện này, trên thế giới có rất nhiều cuộc thi CTF được tổ chức theo các quy mô khác nhau như: DEF CON CTF Qualifier, DEF CON CTF, Codegate YUT Preliminary, UCSB iCTF, RuCTFe…
Cách chơi CTF
Khi tham gia vào một cuộc thi dạng CTF, các đội sẽ được cấp một máy chủ (hoặc một mạng máy chủ) đã cài đặt sẵn nhiều chương trình có các lỗ hổng bảo mật. Các đội chơi sẽ phải vá các lỗ hổng trên máy chủ của đội nhà, tránh bị các đội khác tấn công đồng thời tìm ra các lỗ hổng và tấn công vào máy chủ của các đội khác để ghi điểm.
Các cuộc thi CTF lớn, uy tín thường được tổ chức thành 2 vòng thi khác nhau. Vòng 1 thi onl và vòng 2 thi offline dành cho các đội mạnh nhất.
Tùy vào quy định của ban tổ chức mà người có thể tham gia theo đội hoặc cá nhân. Bất kỳ ai cũng có thể tham gia thi CTF, từ sinh viên, các chuyên gia bảo mật cho đến các hacker.
Giải thưởng từ các cuộc thi CTF được đánh giá cao về chuyên môn và là một “thước đo” quan trọng về “kỹ năng nghề nghiệp” trong lĩnh vực ATTT.
Hình thức thi CTF
Cuộc thi CTF thường chia thành 3 hình thức chơi chính:
Trả lời thử thách theo từng chủ đề (Jeopardy-style)
Đây là hình thức thi CTF được tổ chức phổ biến nhất hiện nay. Cuộc thi sẽ diễn ra trong 1 đến 2 ngày (24- 48 tiếng).
Trong bài thi CTF sẽ xuất hiện nhiều chủ đề như Web, Forensic, Crypto, Binary, Stegano… được xếp theo độ khó tăng dần. Điểm cũng tương ứng với mức độ khó của chủ đề.
Mỗi đội chơi tìm được chính xác các “flag” được giấu sẽ nhận được điểm tương ứng với bài thi.
Đội giành chiến thắng là đội có điểm cao nhất. Thời gian gửi “flag” sẽ được xét đến nếu các đội bằng điểm nhau.
Tấn công và phòng thủ (attack & defence)
Đây là hình thức thi được đánh giá là có độ khó cao nhưng gần thực tế tình hình an toàn mạng nhất. Trong cuộc thi, nhiệm vụ của người chơi là tìm kiếm lỗ hổng bảo mật, khai thác các lỗ hổng đồng thời khắc phục các điểm yếu, lỗ hổng, bảo vệ hệ thống của mình trước các tấn công từ các đội khác.
Tùy vào tiêu chí mà ban tổ chức sẽ có cách thức tính điểm khác nhau.
Hình thức thi kết hợp
Hình thức thi này là sự phối hợp của 2 hình thức trên.
Cần học gì để thi CTF
Cuộc thi CTF dành cho mọi người đều nhưng để có thể tham gia người chơi ít nhất phải nắm rõ kiến thức cơ bản về an toàn thông tin mạng và một số công cụ hỗ trợ thích hợp.
Dưới đây là gợi ý về một số trang web mà bạn có thể học tập.
Trang web giới thiệu về các kỹ thuật CTF phổ biến như mật mã, steganography, khai thác web…
https://github.com/ctfs/resources
Trang web về mẹo và thủ thuật liên quan đến các thách thức, kịch bản điển hình của CTF
https://trailofbits.github.io/ctf/forensics/
Trang web tổng hợp những bài giải các thử thách CTF trước đây
https://ctftime.org/writeups
Một site phù hợp cho người mới bắt đầu
http://hackthis.co.uk
Một list các thử thách bao quát rất nhiều vấn đề, gồm cả các bài LFI/ RFI, các loại SQLi, các tài liệu hướng dẫn
http://www.root-me.org/en/Challenges/Web-Server/
Trình theo dõi sự kiện CTF
https://ctftime.org
Một số công giúp bạn nâng cao trình độ:
BurpSuite: Bộ công cụ cung cấp khá đầy đủ các tính năng kiểm tra xâm nhập web (pentest).
Binwalk: Phân tích và giải nén tập tin
Stegsolve: Vượt qua nhiều bộ lọc khác nhau qua hình ảnh để tìm văn bản ẩn
GDB: Binary Debugger
Những trang web giúp luyện tập kỹ năng thi đấu CTF
https://ctflearn.com
https://2018game.picoctf.com/
http://webhacking.kr
https://overthewire.org/wargames/natas/