Tổng quan về CTF
1 Khái niệm :
CTF (Capture the Flag) 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.
Trong một cuộc thi CTF, 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.
Khác với các cuộc thi về lập trình khác như: Samsung Smart
App Contest, Microsoft Imagine Cup, Hakathon,… những cuộc thi CTF đòi hỏi người
tham gia phải có kiến thức chuyên sâu về an ninh mạng bảo mật. Tính chiến thuật
và kỹ năng về tìm kiếm lỗ hổng, vá lỗ hổng của người chơi cũng là một yếu tố hết
sức quan trọng.
2 Lịch sử phát triển:
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). Một số
cuộc thi có uy tín thường tổ chức 2 vòng thi khác nhau: Vòng 1 thi online để lựa
chọn các đội mạnh nhất tham gia vòng chung kết (thi offline).
Thành phần tham gia thi CTF rất đa dạng, có thể là cá nhân
hoặc tập thể: các hacker, các chuyên gia bảo mật, các nhóm nghiên cứu về an
toàn thông tin, sinh viên.… Giải thưởng từ các cuộc thi CTF tuy không lớn về vật
chất nhưng đượ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. Một số nhóm chuyên gia bảo mật ở Việt
Nam đã tham gia các cuộc thi CTF quốc tế trong thời gian gần đây. Tuy nhiên,
phong trào này chỉ thực sự bắt đầu phát triển trong khoảng 2 năm vừa qua với dấu
ấn quan trọng là nhóm Bamboo (CLGT) của Việt Nam liên tục lọt vào top 10 nhóm
CTF tốt nhất của năm, với nhiều thành tích cao tại các giải CTF quốc tế. Đặc biệt,
trong năm 2013 lần đầu tiên có một nhóm CTF của Việt Nam đã vượt qua vòng loại
DEF CON CTF Qualifier để được tham gia vào DEF CON CTF (được xem như là “World
Cup” của các cuộc thi CTF).
Ngoài ra, theo thống kê của tổ chức CTFTIME.org, Việt Nam nằm
trong top 10 các nước có nhiều đội tham gia thi CTF nhất (Mỹ, Nga, Ấn Độ, Hàn
Quốc, Pháp, Iran, Việt Nam, Nhật, Canada, Trung Quốc), với các nhóm CTF đã có một
số thành tích nhất định, được cộng đồng ATTT thế giới biết đến như: Bamboo-vn
(CLGT), PiggyBird, Botbie, rm -rf [enter], HacKaTron…
3. Các hình thức cuộc thi
Hiện nay, các cuộc thi CTF thường chia thành 3 hình thức
chơi chính:
a. Trả lời thử thách theo từng chủ đề (Jeopardy-style)
Hình thức này 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ủ đề như: Web, Forensic, Crypto, Binary, Stegano…
Trong mỗi chủ đề sẽ có nhiều bài thi khác nhau được sắp theo độ khó tăng dần cùng với điểm số cũng tăng dần. Mục tiêu của
các đội thi là sử dụng kỹ năng, kinh nghiệm để thực hiện tìm kiếm các “flag” được
giấu. Với mỗi “flag” tìm được chính xác, đội chơi sẽ được điểm tương ứng của
bài thi.
Trong quá trình thi, kết quả các đội sẽ liên tục được cập nhật
trên các bảng điểm (sau khi gửi flag mới được tính điểm) và kết thúc vòng thi đội
nào có số điểm cao nhất sẽ giành chiến thắng. Trong trường hợp các đội bằng điểm
nhau, kết quả sẽ được tính dựa trên thời gian gửi “flag”. Đây là hình thức thi
được tổ chức phổ biến nhất hiện nay, thực hiện trong 1 đến 2 ngày (24- 48 tiếng).
Ví dụ: Đây là một bài thi của trang web https://www.hackthissite.org/
một trang web đào tạo miễn phí, an toàn và hợp pháp cho các Hacker thử nghiệm
và nâng cao kỹ năng Hack của mình.
Hình 1.1:Bài thi đơn giản này yêu cầu chúng ta nhập đúng mật
khẩu để hoàn thành.
Mật khẩu sẽ được gửi vào Email của Sam khi ta nhấn vào Send password to Sam. Nhưng vì đó là
Email của Sam nên ta không thể biết mật khẩu. Giải pháp ở đây là: Phải thay đổi
sao cho thay vì mật khẩu được gửi cho Sam, mật khẩu sẽ được gửi vào một Email
mà ta có thể xem được.
Để làm được như vậy ta dùng kỹ năng View Source thay đổi
Email của Sam bằng Email của ta.
Thay đổi Email sam@hackthissite.org
thành nhanlq@gmail.com, mật khẩu sẽ được gửi vào Email nhanlq@gmail.com
là Email có chủ đích của ta.
Mật khẩu là de753e74
phần còn lại là nhập mật khẩu để hoàn thành bài thi.
Trên đây chỉ là một ví dụ đơn giản về hình thức thi
Jeopardy-style, trong các cuộc thi CTF độ khó của bài thi còn đòi hỏi người
tham gia phải nắm vững nhiều kỹ năng Công nghệ thông tin, như phân tích gói
tin, các thuật toán Băm, kỹ năng Crack mật khẩu…
b. Tấn công và phòng thủ (Attack & defence)
Hình thức thi này theo đúng luật thi CTF cổ điển ban đầu và
khó hơn so với các hình thức khác do yêu cầu cao hơn. Ngoài các kỹ năng tìm kiếm
lỗ hổng bảo mật và khai thác các lỗ hổng đó thì người chơi cần có khả năng 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. Điểm khác biệt nữa là cách thức tính điểm cho các đội thi. Điểm thi
trong hình thức này được thực hiện theo các tiêu chí khác nhau như: Điểm tấn
công, điểm phòng thủ, điểm thưởng,…
Sau khi kết thúc cuộc thi, đội nào có số điểm cao nhất sẽ
dành chiến thắng. Đây là hình thức thi gần với thực tế tình hình an toàn mạng
nhất. Các hacker thực hiện tấn công vào hệ thống còn các quản trị mạng chuyên
viên bảo mật có nhiệm vụ chống lại tấn công từ bên ngoài, trong khi vẫn phải bảo
đảm duy trì hoạt động của hệ thống…. Cuộc thi nổi tiếng nhất về dạng này là DEF
CON CTF.
Hình thức thi này có thể là trực tuyến hoặc các đội thi đấu
trực tiếp với nhau trong cùng mạng LAN. Đúng như tên Attack & Defence, mỗi
đội tham gia cuộc thi sẽ được giao cho một máy chủ được gọi là các Team Box,
máy chủ này cung cấp một số Services, và mỗi máy chủ đều có các lỗ hổng bảo mật
không được công bố giống nhau.
Mục tiêu của mỗi đội là duy trì bộ Services sẵn có trong suốt
quá trình thi.Nhiệm vụ của mỗi đội là tìm và vá lại các lỗ hổng của máy chủ, đồng
thời tận dụng kiến thức của mình về những lỗ hổng mà họ tìm thấy để tấn công
làm ảnh hưởng Services của đội khác, lọt qua các cơ chế bảo mật Services để chụp
cờ của mỗi Services.
c. Hình thức thi kết hợp
Là sự phối hợp của 2 hình thức trên, chẳng hạn như kết hợp
giữa hình thức chỉ có tấn công (Attack only) với các dạng thử thách khác nhau.
Với hình thức thi này các đội thi không có các máy chủ của
mình, mà thay vào đó các đội thi sẽ tấn công những máy chủ có sẵn trong hệ thống,
những máy chủ này cũng có những lỗ hổng, các đội dùng kỹ năng của mình để tìm
những lỗ hổng đó và nhờ chúng để hoàn thành những nhiệm vụ, thử thách mà người
tổ chức đề ra.
No comments:
Post a Comment