Những điều cần biết về CTF trước khi bắt đầu cuộc chơi

CTF ngày càng trở nên quen thuộc và gần gũi với các bạn học sinh, sinh viên có niềm đam mê học hỏi trên lĩnh vực an toàn thông tin. CTF dần trở thành một sân chơi bổ ích nhằm trau dồi, nâng cao khả năng và hiểu biết về an toàn thông tin.

1. CTF (Cature the Flag) là gì?

Có nhiều định nghĩa khá phổ biến về CTF nhưng nhìn chung lại, đó là “ Capture the Flag (CTF) is a computer security competition ” . Đó là một cuộc thi kiến thức chuyên sâu về bảo mật máy tính, được tổ chức theo mô hình trò chơi chiến tranh mạng, tập trung vào hai kỹ năng tấn công và phòng thủ mạng máy tính của người chơi.

CTF là viết tắt của Capture the Flag nghĩa là cướp cờ, là tập hợp một loạt các các bài thi khác nhau được phân ra thành nhiều chủ đề khác nhau liên quan đến an toàn thông tin như: Web, Forensic, Crypto, Binary, Stegano … Trong các bài thi có chứa Flag, tìm và submit flag lên hệ thống sẽ được điểm. Người chơi có thể lập nhóm và chơi theo nhóm hoặc tham gia với tư cách cá nhân tùy quy định của từng giải CTF.

Cuộc thi CTF lần đầu tiên được tổ chức tại hội thảo bảo mật nổi tiếng DefCon (Mỹ) lần thứ 5 năm 1997. Ngày nay hàng năm có rất nhiều các cuộc thi CTF được tổ chức trên toàn thế giới theo các quy mô khác nhau. Đơn vị tổ chức thường là các tổ chức, các trường đại học- học viện, viện nghiên cứu…và rất nhiều các cuộc thi CTF được tổ chức bên lề các hội thảo về Security và Hacking. Chúng ta có thể điểm qua một số cuộc thi CTF như: DEF CON CTF Qualifier, DEF CON CTF, Codegate YUT Preliminary, UCSB iCTF, RuCTFe … Các cuộc thi này có thể tổ chức dưới hình thức online (chơi qua internet) hoặc offline (chơi trực tiếp).

CTF có 3 kiểu chơi Jeopardy (tìm flag trong cách thử thách được ban tổ chức đưa ra), Attack-Defence (Tấn công và phòng thủ) và tổng hợp của 2 dạng trên.

  • Attack-Defence

Trong một cuộc thi CTF dạng tấn công – phòng thủ, các đội tham gia CTF 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 chứa các lỗ hổng bảo mật. Nhiệm vụ của đội chơi là tìm ra các lỗ hổng đó, tấn công các máy chủ của các đội khác để ghi điểm, đồng thời phải nhanh chóng vá các lỗ hổng trên máy chủ của đội nhà, để tránh bị tấn công bởi các đội khác.

  • Jeopardy:

Ở hình thức chơi này, đề bài sẽ là một tập hợp các bài thi ở nhiều chủ đề khác nhau: Web, network, forensic, crypto, binary,… Các bài thi sẽ có độ khó khác nhau mà cũng có điểm số khác nhau. Mục tiêu của mỗi người chơi (hoặc đội chơi) là sử dụng tất cả các kỹ năng, kinh nghiệm của mình để tìm kiếm flag được giấu. Khi tìm được flag thì sẽ ghi điểm, và chiến thằng sẽ dành cho đội nào có điểm cao nhất. Ngoài ra, một số cuộc thi CTF cho điểm thưởng rất cao cho người chơi có thể tìm được flag trong khoảng thời gian ngắn.

Ngoài ra, trong mỗi chủ đề này sẽ có nhiều bài thi khác nhau được sắp theo theo độ khó tăng dần và điểm số của các bài thi đó cũng được sắp sắp tăng dần theo độ khó. Các bài này hầu hết là các lỗi, các vấn đề do các chuyên gia về lĩnh vực an toàn thông tin tổng hợp lại trong quá trình làm việc như Pentest, dịch ngược, Maintain hệ thống; từ những lỗi thường gặp, dễ phát hiện đến đến các lỗi hiếm khi thấy.

Hình – Quang cảnh một đội chơi đang tham gia cuộc thi CTF

Nhiều bài toán CTF giúp rèn luyện kỹ năng giải quyết vấn đề, để đưa ra được lời giải điều cần thiết là cần có kinh nghiệm và kiến thức chuyên sâu về vấn đề đó. Các lĩnh vực về an toàn thông tin rất rộng, một người không thể một mình bao quát hết các lĩnh vực, đây là lý do vì sao CTF thường là giải thi đấu tập thể. Và mỗi người nên chọn cho mình một số lĩnh vực để chơi và là những kỹ năng hỗ trợ cho công việc sau này.

Hình – Hoạt động chơi CTF của Sinh viên UIT

2. Những lợi ích mà CTF mang lại cho người chơi

CTF hấp dẫn giới hacker và người làm bảo mật bởi nó phản ánh chân thật công việc hàng ngày đòi hỏi người chơi các kĩ năng cần thiết. CTF mang lại nhiều lợi ích, trong đó có:

  • Được học hỏi các kiến thức cần thiết, cập nhật về security và hacking, biết được các kiết thức còn thiếu, là cơ hội giao lưu chia sẻ kinh nghiệm.
  • Được thực hành các kiến thức lý thuyết được học để hiểu rõ hơn bản chất của chúng
  • Sự yêu cầu rộng bao gồm không chỉ security mà có cả lập trình, mạng nên đây là cơ hội bổ sung kiến thức tốt
  • Rèn luyện tính sáng tạo, tăng cường khả năng tư duy, giải quyết vấn đề

3. Chơi CTF, bạn cần những gì?

Chơi CTF yêu cầu các kiến thức về các mảng trong lĩnh vực an toàn thông tin, vì vậy:

  • Cần nắm vững các kiếm thức cơ bản về an toàn thông tin nếu không biết có thể vừa làm vừa tìm hiểu từ nhiều nguồn
  • Chuẩn bị cho mình các công cụ hỗ trợ thích hợp: ngôn ngữ lập trình, các tool và học cách sử dụng thành thạo nó.
  • Để luyện tập khả năng hacking của mình, hiện nay có rất nhiều trang web chứa các thử thách bảo mật mô phỏng lại các nhiệm vụ trên thực tế để các bạn có thể rèn luyện khả năng tấn công của mình, chẳng hạn như:
    • https://www.wechall.net/
    • https://www.root-me.org/en/
    • pwnable.kr/
    • www.reversing.kr
    • http://overthewire.org/wargames/
    • https://www.hackthis.co.uk/
    • https://www.hackthissite.org/

Với các trang web này bạn có thể search thông tin một cách dễ dàng trên mạng và tham gia luyện tập được. Ngoài ra hàng năm, hàng tháng cũng có rất nhiều các cuộc thi được tổ chức rộng rãi trên thế giới, dành cho những người nghiên cứu về bảo mật tham gia và giải các thử thách trong các cuộc thi đó. Nó cũng khá là sát thực với các bài toán mà chúng ta phải đối mặt trên thực tế. Sau đó hãy sẵn sàng để vượt qua các thử thách của CTF, các giải mới nhất cùng write-up luôn được cập nhật trên thoisu.com.vn/ .