摘要: 最近各种CTF比赛如火如荼,这究竟是个什么赛事,为什么吸引了那么多院校参加,那么多媒体关注?小编问了一些白帽子,很多人对CTF比赛并不十分了解。 AFSRC特别邀请了上海交通大学网络信息中心信息安全主管,0ops安全技术战队领队姜开达老师,给大家详解CTF比...
最近各种CTF比赛如火如荼,这究竟是个什么赛事,为什么吸引了那么多院校参加,那么多媒体关注?小编问了一些白帽子,很多人对CTF比赛并不十分了解。
AFSRC特别邀请了上海交通大学网络信息中心信息安全主管,0ops安全技术战队领队姜开达老师,给大家详解CTF比赛。
1、 您觉得参与CTF比赛对选手的价值有哪些?
锻炼动手能力,快速学习能力,团队合作能力,解决具体复杂问题的研究和探索能力;
培养发散性思维,深入其中会让选手打好计算机领域各方向的基础;
享受智力的挑战,追求黑客精神(好玩/playful、聪明/cleverness、探索/exploration);
和全球最优秀的人在一起,你才会看到距离,才会通过自己的努力来变优秀。
2、 怎么开始参与CTF?
高难度的CTF竞赛对选手的知识积累与技术熟练度要求非常高,因此如果想要能够在CTF竞赛中取得好成绩,需要首先具备扎实的计算机理论和实践基础。其中涉及到的重要基础课程包括:计算机系统与结构、操作系统、编译原理、数据结构、计算机网络、密码学、离散数学、数论、近世代数、数字电路等。
互联网上有许多CTF竞赛相关的练习资源,都可以针对性地帮助提高自身的安全技术以及解决实际安全问题的能力,其中具有代表性的网站列举如下:
逆向工程:bbs.pediy.com,www.52pojie.cn, crackmes.de,reversing.kr
漏洞挖掘与漏洞利用:smashthestack.org,pwnable.kr,overthewire.org/wargames/vortex/
网络渗透:www.wechall.net,pentesterlab.com
CTF竞赛题目汇编:github.com/ctfs,shell-storm.org/repo/CTF/
此外有一些高质量的书籍对于参与CTF竞赛的帮助也非常大,例如:《程序员的自我修养》、《深入理解计算机系统》、《算法导论》、《密码学应用》、《编译原理(龙书)》、《鸟哥的私房菜》、《白帽子讲Web安全》等。
当然最重要的是寻找一些志同道合的小伙伴们尽快参与到实际的CTF竞赛中来,队员之间多交流,多总结,从而迅速熟悉当下CTF竞赛的题目风格和形式,通过实战获得能力上的最大提升,同时也能够促进团队的默契与凝聚力。
3、 如果想要组队,挑选队友以及团队分工上有什么建议?
队友的能力可以培养,坚持和毅力决定了能走多远。
各方面都要有均衡的人员,避免出现短板,否则上升空间有限。
二进制虽然学习曲线陡峭,但只要翻过了这座山,又是一片崭新的天地。
团队要有足够的规模,才能应付国内外频繁的比赛和锻炼。
需要一个优秀的组织者,才能带领团队一起成长和发展。
4、 线上赛有没有一些常规的解题思路可以分享?
多参加各类线上赛,多阅读各队公开的题解(writeup),开拓思路,熟能生巧。
5、0ops战队为什么这么牛?您觉得原因主要是哪几方面?
队员们计算机基础扎实,快速学习能力较强;
兴趣导向,持续的学习和时间精力投入,最后量变转为质变;
进入一支稳定团队带来的良好氛围和集体荣誉感;
频繁参加国际高水平比赛,自我加压,转为向上的动力;
持续主办高水平比赛促进了自身能力的提升;
学校和社会支持,创造各类机会,出现在国内外多个舞台,不断交流提高;
初学者补充阅读:
1. 什么是CTF?
Capture The Flag(简称CTF),直译为“夺旗赛”,起源于1996年举办的DEF CON全球黑客大会,最早是交流安全技术的重要途径。随着时间的推移,CTF竞赛逐渐演变成为信息安全技术竞赛的一种形式,发展成为全球范围网络安全圈的流行比赛,但其比赛形式与内容依然拥有浓厚的黑客精神和黑客文化。近年来,CTF竞赛活动蓬勃发展,国内外各类高质量的CTF竞赛层出不穷,CTF已经成为了学习锻炼信息安全技术,展现安全能力和水平的绝佳平台。
2. CTF的目标是什么?
从字面上来看,CTF参赛队伍的目标是获取尽可能多的flag(旗帜)。参赛队伍需要通过解决信息安全的技术问题来获取flag。flag可能来自于一台远端的服务器,一个复杂的软件,也可能隐藏在一段通过密码算法或协议加密的数据,或是一组网络流量及音频视频文件中。选手需要综合利用自己掌握的安全技术,并辅以快速学习新知识,通过获取服务器权限,分析并破解软件或是设计解密算法等不限定途径来获取flag。
3. CTF比赛的形式是?
a.解题模式:通常为在线比赛,目前大多数国内外CTF比赛的主流形式,选手自由组队参赛(在线比赛人数一般不做限制)。题目通常在比赛过程中陆续放出。解出一道题目后,提交题目对应的flag即可得分,比赛结束时分高者胜。
b.攻防模式: 通常为现场比赛,多数CTF决赛的比赛形式,选手自由组队参赛,但通常队伍人数会受到限制(3~8人不等)。相比于解题模式,时间更短,比赛中更注重临场反应和解题速度,考察团队多方面的综合安全能力。
4. 比赛的题目类型是?
a.web安全:通过浏览器访问题目服务器上的网站,寻找网站漏洞,利用网站漏洞获得服务器的部分或全部权限,拿到flag;
b.逆向工程:题目就是一个软件,但通常没有软件的源代码;需要利用工具对软件进行反编译甚至反汇编,从而理解软件内部逻辑和原理,找出与flag计算相关的算法并破解这个算法,获取flag;
c. 漏洞挖掘与漏洞利用:访问一个本地或远程的二进制服务程序,通过逆向工程找出程序中存在的漏洞,并利用程序中的漏洞获取远程服务器的部分或全部权限,拿到flag;
d. 密码学:分析题目中的密码算法与协议,利用算法或协议的弱点来计算密钥或对密文进行解密,从而获取flag。
e. 分析取证:利用隐写术等保护技术将信息隐藏在图像、音频、视频中,或者信息就在一段内存镜像或网络流量中,尝试将隐藏的信息恢复出来即可获得flag。
f. 其他:ACM算法题,游戏或其他安全常识题目,需要一定的编程基础。
识别二维码关注我们,时不时给你来点福利~么么