Bàn về CTF

Pham Van Toan
tradahacking
Published in
6 min readMar 4, 2019

Những năm gần đây, CTF được biết đến như một hình thức thi đấu diễn ra giữa các hacker,chuyên gia và những bạn trẻ có đam mê lĩnh vực an ninh mạng trên khắp thế giới.

Ở VN hằng năm sinh viên ở các trường đại học tham gia kì thi quốc gia về sinh viên và an toàn thông tin bằng hình thức CTF, các công ty lớn như Viettel,BKAV cũng luân phiên tổ chức các kì CTF dành cho sinh viên để nâng cao hiểu biết cả cộng đồng.

Bài viết này của mình đưa ra góc nhìn cá nhân về CTF, những vấn đề đang gặp phải của cộng đồng,với hi vọng tìm ra một cách thức để nâng cao hiệu quả của CTF thông qua việc nhận thức đúng đắn về vai trò và vị trí của các bên liên quan.

1. CTF là gì?

CTF ( Capture The Flag ) là kì thi về bảo mật/an ninh mạng nơi các đội thi đấu với nhau theo thời gian thực để giải quyết một số vấn đề trong ngành được đưa ra dưới hình thực bài tập nhỏ bao gồm Binary Exploitation, Binary Reversing, Web Hacking, Cryptography….

2. Thành phần liên quan :

2.1 Nhà tài trợ:
Những công ty có nhu cầu về nhân lực trong lĩnh vực an ninh mạng, các cá nhân muốn đóng góp cho cộng đồng.
Việc tài trợ cho một kì thi CTF sẽ mang lại một số lợi ích:

  • Ngắn hạn:
    Tuyển được những kĩ sư có tiềm năng và thực lực.
    Có cái nhìn khái quát về trình độ hiện tại của cộng đồng.
    Định hướng cộng đồng thông qua việc đưa vào đề thi các vấn đề cần giải quyết trong ngành.
  • Về lâu dài:
    Xây dựng cộng đồng lớn và có kĩ năng đáp toàn diện phù hợp với nhu cầu của ngành.

2.2 Ban tổ chức:
Những cá nhân, tập thể có khả năng, trình độ, có định hướng về an ninh mạng.

  • Tổ chức là một cách để chia sẻ lại cho cộng đồng những thứ mình có, kiến thức, kinh nghiệm, cách đánh giá chủ quan về an ninh mạng tại thời điểm hiện tại.
  • Tổ chức để tuyển thêm thành viên vào team.
  • Định ra được những thứ còn thiếu sót trong cộng đồng từ đó vì sự phát triển chung.

2.3 Người tham gia:
Tập trung phần lớn vào sinh viên, những người muốn tìm hiểu và rèn luyện kĩ năng để đáp ứng cho công việc.

Ngoài ra còn có những người mong muốn tìm kiếm môi trường để rèn luyện kĩ năng, tham gia giao lưu và tìm hiểu về an ninh mạng.

  • CTF là cơ hội lớn để học về an ninh mạng từ những gì đang diễn ra trong thực tế từ đó biết được những kĩ năng nào cần thiết, tạo ra cái nhìn rõ ràng về định hướng nghề nghiệp cũng như công việc trong tương lai
  • Đánh giá được nghiêm túc năng lực, trình độ của bản thân so với mặt bằng chung của cộng đồng.
  • Áp lực về thời gian trong các kì thi CTF rèn luyện kĩ năng suy nghĩ “out of the box”, tập trung cao độ, khả năng giải quyết vấn đề trong hoàn cảnh khó khăn, tư duy sáng tạo, đồng thời nhìn ra điểm mạnh yếu của bản thân một cách rõ nét.
  • Là cơ hội để thử xem mình có phù hợp với ngành nghề và những điều kiện cần để làm việc, ứng cử vào vị trí tương đương trong ngành an ninh mạng mà không phải tổn thời gian thực sự đi xin việc và làm việc thực tế.
  • Cuối cùng, viết writeup là một cách chia sẻ về cách nhìn nhận giải quyết vấn đề, đánh giá của bản thân đối với các bài thi, đối với ban tổ chức để học hỏi trao đổi với những người tham gia khác.

Theo mình:

Một CTF là thành công nếu nó mang lại toàn bộ các giá trị trên cho tất cả bên liên quan.

3. Vấn đề hiện tại của CTF:

Nhìn chung CTF là một công cụ giáo dục low-cost, dễ thực hiện, dễ tham gia mang lại nhiều lợi ích cho các bên , tuy nhiên có một số điểm hạn chế sau:

  • CTF có thực sự dạy an ninh mạng: Câu trả lời là không rõ ràng, một người cần học rất nhiều về OS, về Network, về Low Level Programming và một số các kĩ năng khác ( như Reverse/Debug Assembly, Đọc hiểu và Debug các kiến trúc khác như Mips, Arm…) mới có đủ khả năng để chơi CTF.
  • CTF có thực sự đánh gía đúng năng lực của một kĩ sư: Một người có sẵn kiến thức về Heap sẽ có lợi thế lớn hơn khi CTF ra đề bài về Heap Corruption/Exploitation, một người thường xuyên làm malware obfuscation sẽ có lợi thế hơn hẳn nếu đề bài bị obfuscate nặng nề.
    Ngoài ra những ngừoi chơi CTF nhiều sẽ có nhiều kinh nghiệm hơn từ đó khả năng chiến thắng sẽ cao hơn nhưng không đánh giá được trình độ thực sự của người chơi qua kết quả CTF
  • CTF liệu có thực tế và thực tế tới bao nhiêu: Với định nghĩa rằng CTF hiện thực hoá những vấn đề trong realworld, bằng cách đưa một malware-tương đương vào CTF, obfuscate như thế nào và tới đâu thì hợp lí, một bài exploit trên một platform cũ, lạc hậu hoặc không có ai sử dụng trong nhiều năm liệu có mang lại giá trị về giáo dục?

Với Ban Tổ chức:

  • Mỗi CTF được tổ chức mang tính riêng lẻ, rời rạc, không theo một chuẩn chung nhất định.
  • Ban tổ chức CTF không đưa ra thông báo cụ thể về đối tượng tham gia, mục tiêu hướng đến là gì.
  • Các bài thi mang tính chủ quan, nhất thời của người ra đề, không nhất quan giữa cả ban ra đề.
  • Luật chơi không rõ ràng, mang nhiều lỗ hổng, thông báo luật chơi trễ, không tính toán đến tất cả các khả năng…
  • Kết thúc CTF không viết writeup để những lần tiếp theo tốt hơn, không có dữ liệu rõ ràng để xem xét kết quả của CTF cũng như người chơi.

Với người chơi:

  • Góc nhìn rời rạc nhỏ lẻ về an ninh mạng.
  • Không liên hệ được với thực tế của nghề nghiệp.
  • Tốn thời gian đi sâu vào các vấn đề cũ, độ hữu dụng không lớn.
  • Mất dần cảm hứng với ngành và bỏ ngành ở một thởi điểm nào đó.

Để giải quyết được các vấn đề trên không phải là điều dễ thực hiện vì nó liên quan đến nhiều bên tham gia, về ý thức cộng đồng, về sự đóng góp của mỗi cá nhân. Chính vì vậy mình viết loạt bài này với hi vọng sẽ có được một số tiếng nói chung từ tất cả các bạn, vì một môi trường học tập và thi đấu lành mạnh, biến CTF là một sân chơi bổ ích cho các bạn trẻ cũng như những người yêu thích bảo mật/an ninh mạng.

Ở những phần tiếp theo mình sẽ đi vào cụ thể góc nhìn của mình về cách tiếp cận một cách hệ thống từ các bên liên quan, các bước để thiết kế CTF hiêụ quả, chuẩn bị kế hoạch ra sao, thu thập dữ liệu, đưa ra thông báo, đánh giá hậu CTF như thế nào. Đối với người chơi: lựa chọn CTF nào để chơi, chuẩn bị cho 1 kì CTF như thế nào,xây dựng team như thế nào và cần chuẩn bị những kĩ năng gì.

Vì những điều trên là thông qua góc nhìn và cách đánh giá cá nhân chủ quan nên không tránh khỏi thiếu sót, hi vọng nhận được sự hồi đáp của các bạn để những bài tiếp theo sẽ tốt hơn.

Cám ơn mọi người.

Tham khảo:

https://pdfs.semanticscholar.org/5e48/1ce8c32e6b1680d391ebed7bd2032cc5f158.pdf

--

--