Tuesday, October 18, 2016

Một số cuộc thi CTF tiêu biểu



Một số cuộc thi CTF tiêu biểu.

1. DEF CON CTF Qualifier

DEF CON CTF Qualifier được coi như cuộc thi Would Cup của các cuộc thi CTF cuộc thi gồm 2 vòng.
-  Vòng loại: Thi trực tuyến và không phải đóng phí tham gia. Các đội giỏi nhất sẽ được chọn để tham gia thi vòng chung kết
-  Vòng chung kết: Là cuộc thi của các Hacker hàng đầu, các đội chơi sẽ được mời đến Las Vegas để tham gia cuộc đấu Offline

2. RuCTF và RuCTFe

Đây là hai cuộc thi do một tổ chức nước Nga tổ chức:
-  RuCTF: Là cuộc thi dành cho các trường đại học trong biên giới nước Nga được bắt đầu vào năm 2007 đến nay
-  RuCTFe: Là cuộc thi mở rộng của RuCTF, với sự góp mặt của các nước trên thế giới. Bắt đầu từ năm 2009 đến nay

3. iCTF

Được tổ chức bởi Giáo sư Giovanni Vigna của Sở Khoa học Máy tính tại  Đại học California, Santa Barbara. Tổ chức lần đều tiên vào năm 2002, mới đầu cuộc thi chỉ là một bài tập lớn mà Giáo sư, ông chia lớp thành hai đội và cho hai đội cùng chơi trò tìm kho báu với nhau. Đến năm 2003 mới chính thức có sự tham gia của các trường đại học khác. Đến nay cuộc thi đã có sự góp mặt của nhiều đội đến từ nhiều quốc gia, thời điểm cao nhất có tới 93 đội tham gia cuộc thi.

4. CTF ở nước ta.

Tại Việt Nam cũng đã có các đội CTF tham gia các cuộc thi quốc tế từ nhiều năm trở lại đây, tuy nhiên phong trào này chỉ thực sự bắt đầu phát triển trong khoảng  năm 2012 với những dấu ấn quan trọng như: Nhóm Cửa Long Giáng Thế 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ế và đặ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
Ngoài ra trong thống kê của Ctftime, thì Việt Nam cũng nằm trong top 10 các nước có nhiều đội tham gia CTF nhất với các nhóm CTF đã để lại một số tên tuổi nhất định trong cộng đồng thế giới như: Cửu Long Giáng Thế (CLGT, Bamb00-vn) , PiggyBird, Botbie, rm -rf [enter] , HacKaTron…
Nước ta trong những năm trở lại đây cũng đã tổ chức một cuộc thi dành cho các sinh viên của các trường đại học đó là Cuộc thi “Sinh viên với An toàn Thông tin (ATTT)”.

a.  Cuộc thi “Sinh viên với An toàn Thông tin (ATTT)”

Ra đời bắt đầu từ năm 2008, Cuộc thi “Sinh viên với An toàn Thông tin (ATTT)” được tổ chức với sự tham gia của sinh viên các trường Đại Học, Học viện trên cả nước và từ đó nó đã trở thành một hoạt động quan trọng trong chuỗi các hoạt động thuộc khuôn khổ sự kiện thường niên “Ngày An toàn Thông tin Việt Nam”. Đến nay có thể nói đây đã trở thành một trong những cuộc thi uy tín, được hưởng ứng lớn trên cả nước trong giới sinh viên dưới sự chỉ đạo trực tiếp từ Bộ Giáo Dục Đào Tạo và được Hiệp hội An toàn thông tin (ATTT) Việt Nam đứng ra tổ chức.
Bước ngoặt lớn của cuộc thi “Sinh viên với An toàn Thông tin (ATTT)” bắt đầu từ năm 2013 khi Ban tổ chức cuộc thi đã có nhiều thay đổi mới nhằm tăng tính hấp dẫn, nâng tầm từng bước cuộc thi tiếp cận với các hình thức thi của thế giới – thi theo hình thức CTF (Capture the Flag) ngay từ vòng sơ khảo. Đây có thể nói là một quyết định dũng cảm và khó khăn của Ban tổ chức vì hình thức thi được thay đổi khác nhiều so với các năm trước và 100% các bài thi được thực hiện trên hệ thống mạng máy tính. Ngoài công tác tổ việc chức cần chuẩn bị kỹ lưỡng từ khâu tổ chức ra đề thi, chuẩn bị hệ thống mạng, giám sát quá trình thi, các thủ tục hành chính…thì một vấn đề được đưa ra nhiều trước khi tổ chức hình thức mới này có thể khiến các đội thi bỡ ngỡ, công tác ôn luyện của các đội cũng khó khăn hơn…
Cuộc thi “Sinh viên với ATTT” là một sân chơi lành mạnh, bổ ích giúp nâng cao nhận thức về ATTT cho học viên, sinh viên của các trường Đại học, Học viện trên cả nước. Cuộc thi cũng khuyến khích, đẩy mạnh hoạt động ứng dụng CNTT và đảm bảo ATTT trong đổi mới phương pháp dạy và học. Hoạt động này giúp phát hiện, bồi dưỡng nguồn nhân lực về ATTT đáp ứng nhu cầu ngày càng lớn của đất nước. Cuộc thi cũng sẽ tạo cơ hội cho học viên, sinh viên tiếp cận những tri thức khoa học – công nghệ mới nhất trong lĩnh vực ATTT.

b. WhiteHat Grand Prix

Đây là cuộc thi được Bkav tổ chức lần đầu tiên vào năm 2014 ở cấp quốc gia. Đến năm 2015 Bkav đã mở rộng cuộc thi an ninh mạng theo quý ra phạm vi toàn cầu và thu hút sự tham gia của gần 467 đội đến từ các nước Mỹ, Nga, Nhật Bản…
Với chủ đề “Hello, Vietnam!”, WhiteHat Grand Prix 2015  được đánh giá là sân chơi lớn, chuyên nghiệp khi thu hút sự tham gia của các đội thi đến từ 67 quốc gia. Cuộc thi được chia thành hai vòng thi: Vòng loại và vòng chung kết.
-  Vòng loại: Có 26 bài thi thuộc các chủ đề Web Exploit (lỗ hổng web), Reverse (dịch ngược), Pwnable (khai thác lỗ hổng phần mềm), Forensics (điều tra số) và Crypto (phá mã). Mỗi câu trả lời đúng sẽ mở ra một bức ảnh đẹp về một địa danh của Việt Nam, trong đó chứa gợi ý đã được mã hóa. Giải mã thành công và ghép nối các gợi ý này, các đội thi sẽ tìm được chìa khóa cho bài thi đặc biệt mang tên Việt Nam.
-  Vòng chung kết: 10 đội thi xếp hạng cao nhất vòng loại sẽ lọt vào vòng chung kết, hình thức thi của vòng này là tấn công và phòng thủ, cuộc thi diễn ra trong vòng 8 tiếng với phần thắng chung cuộc thuộc về đội 217 của Đài Loan.
WhiteHat Grand Prix là cuộc thi an ninh an toàn thông tin quy mô toàn cầu đầu tiên do Việt Nam tổ chức. Với vai trò chủ nhà, cuộc thi là cơ hội để mở rộng hoạt động an ninh mạng của Việt Nam ra toàn thế giới, đặc biệt trong bối cảnh Việt Nam đang rất cần thúc đẩy và phát triển nguồn lực trong lĩnh vực an ninh an toàn thông tin

Cơ bản về CTF



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.

Hình 1.2: Mật khẩu được đặt ẩn và được gửi đến Email sam@hackthissite.org.
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.