怎样为计算机相关专业的学生办一场关于网络安全的科普讲座? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
RTNelo
V2EX    程序员

怎样为计算机相关专业的学生办一场关于网络安全的科普讲座?

  •  1
     
  •   RTNelo
    RTNelo 2016 年 8 月 30 日 5286 次点击
    这是一个创建于 3488 天前的主题,其中的信息可能已经有所发展或是发生改变。

    据 LZ 的观察,很多同学(软件工程专业、大三)并没有基础的网络安全知识,构建的系统漏洞百出(通过字符串拼接构造 SQL 语句、用户密码简单 Hash 不加盐等等)。然而很多系统(.com.cn,或许还有.gov.cn)是层层外包给大学生的。这样的系统难保不是下一个徐玉玉事件的源头。而且学校的课程通常没有涉及相关内容(不太清楚隔壁网络安全专业的情况,但软件工程的《计算机网络》是完全略过网络安全部分不讲的,其他如数据库、 HTML 、 JSP 、 Java 等的课程类似)。那么,如果通过社团向相关专业的同学们举办关于网络安全的科普讲座,需要注意哪些问题?诸位前辈又有哪些看法、意见和建议呢?

    目前 LZ 发现的问题有以下几个:

    1. 讲座以 OWASP TOP 10 为主要内容是否可行?

      是否需要增加(如我国关于信息安全的法律法规,不要未受邀请地测试他人的系统等)或者删改某些内容?

    2. 讲座面向群体是否应限定为高年级同学(通常计算机网络和数据库系统原理大二才开课)?
    3. 讲座举行的时长和次数应该怎样设定?
    4. 是否已有相关的讲义、示例等可以帮助同学们理解?
    5. 怎样激发同学们对于网络安全的兴趣?
    60 条回复    2016-09-12 19:30:50 +08:00
    ivmm
        1
    ivmm  
       2016 年 8 月 30 日   1
    同样有这样的需求。

    2. 我大一就学了 SQL Sever 。。。。 然后自学 Mysql

    5.我想说,很难激起他们的兴趣。或许刚开学还有三分钟热度,开学一个月后就难说了
    RTNelo
        2
    RTNelo  
    OP
       2016 年 8 月 30 日
    @ivmm 其实主要目的还是让同学们知道“这样做是不安全的”,至少要比做着字符串拼接而不知安全隐患要强得多。
    ivmm
        3
    ivmm  
       2016 年 8 月 30 日
    @RTNelo 最好讲述的方式生动点,来听的人也不要强制来,自愿的效率会搞很多
    ivmm
        4
    ivmm  
       2016 年 8 月 30 日
    @ivmm 高很多
    wevsty
        5
    wevsty  
       2016 年 8 月 30 日   2
    现场演示是最有效最深刻的
    字符串拼接的,找个项目演示 SQL 注入
    不带盐 HASH 的,现场解密查询密码
    了解了这样做的危害,有责任心的人心里就会树立起这种意识了
    GentleSadness
       
    GentleSadness  
       2016 年 8 月 30 日 via Android   1
    web 白帽子 其实也就这几个要注意的,然后怕的是嫌麻烦,编码其实注意的应该不多
    ferock
        7
    ferock  
    PRO
       2016 年 8 月 30 日 via iPhone   1
    座谈的方式,要用互动开场…


    比如:大家平时怎么考虑自己项目的安全?
    RTNelo
        8
    RTNelo  
    OP
       2016 年 8 月 30 日
    @wevsty 操作多的话占用时间就多了,所以其实把所有内容讲完的话其实应该需要开很多次?
    RTNelo
        9
    RTNelo  
    OP
       2016 年 8 月 30 日
    @GentleSadness 嫌麻烦真是没办法啊...明明多几句代码就不会出现漏洞的...所以到最后不是兴趣的问题而是责任心的问题吗...
    RTNelo
        10
    RTNelo  
    OP
       2016 年 8 月 30 日
    @ferock 估计大多数同学都不怎么考虑吧...毕竟会给密码加 HASH 的同学都算技术好的了。
    RTNelo
        11
    RTNelo  
    OP
       2016 年 8 月 30 日
    @ivmm 就一学生社团哪有权力强制同学来啊...
    ferock
        12
    ferock  
    PRO
       2016 年 8 月 30 日 via iPhone
    那,继续下一阶段问题:那如果现在需要给你的项目考虑安全性,应该怎么系统的考虑呢?


    你的座谈就会有节奏的往下走了
    ivmm
        13
    ivmm  
       2016 年 8 月 30 日
    @RTNelo 看来社长和学校领导和专业老师的关系不够深刻啊。
    wevsty
        14
    wevsty  
       2016 年 8 月 30 日
    @RTNelo 不需要一步一步的教操作过程啊,演示一下过程,不需要做任何说明,或者事前演练好直接放视频都行,花不了多少时间。
    另外 web 安全这方面有多少东西需要讲?基本上过滤一下用户输入,密码用加盐 hash 基本上也就差不多了吧。不过这方面我不是很懂。如果说一次讲不完也没关系,先勾起兴趣或者安全意识其实目的也就达到了,该学的,想学的自然会学不管是通过讲座还是自己学,不想考虑安全问题的,天天敲打也没用不是么?
    RTNelo
        15
    RTNelo  
    OP
       2016 年 8 月 30 日
    @ferock 大概也可以埋伏几个同学需要的时候带节奏。
    RTNelo
        16
    RTNelo  
    OP
       2016 年 8 月 30 日
    @ivmm 只是关系大概不够吧,估计得是交易了。
    RTNelo
        17
    RTNelo  
    OP
       2016 年 8 月 31 日
    @wevsty 第一个示例准备好材料(在线猜测密码之类的网站)让同学们自己尝试以加深印象?之后的示例通过 ppt 演示节省时间?
    ivmm
        18
    ivmm  
       2016 年 8 月 31 日
    @RTNelo 多和党团的老师交流交流,多跑跑。 专业课老师多问问,多聊聊。 哪里用交易。。。
    Yinz
        19
    Yinz  
       2016 年 8 月 31 日   1
    提供一个 Idea :D ,讲座前邀请同学们注册一个目标网站,使用不加盐 hash 储存,然后在讲座上现场跑彩虹表,输出大屏幕的密码打个码就好 XD

    还可以现场社工?

    当然注册的时候写好注册的密码将会被用于现场展示,请不要使用真实密码注册这样 XD

    总之挺喜欢这种现场演示的 XD
    RTNelo
        20
    RTNelo  
    OP
       2016 年 8 月 31 日
    @ivmm 感觉强制同学来实在是有点出格了……
    @Yinz 对对,现场社工。之前把那个 QQ 群关系可视化查询的网站演示给室友后效果拔群。不过那个网站好像挂掉了。
    sheep3
        21
    sheep3  
       2016 年 8 月 31 日 via Android   1
    首先很多人可能还不清楚什么是 hash ……
    wevsty
        22
    wevsty  
       2016 年 8 月 31 日
    @RTNelo 我赞同 @Yinz 的想法
    有条件还可以现场抓个包,鼓励大家使用 HTTPS 。 233
    如果时间有限不能做到这一步,可以随机邀请几个同学设定一个密码,然后直接 MD5 以后去查现成的表。很多解密网站一次 MD5 是很容易查出来的。
    ferock
        23
    ferock  
    PRO
       2016 年 8 月 31 日 via Android
    @RTNelo 当然需要, 一个好汉三个帮
    Yinz
        24
    Yinz  
       2016 年 8 月 31 日
    @RTNelo 你一说我才发现确实挂掉了,比较可惜 D:
    billlee
        25
    billlee  
       2016 年 8 月 31 日   1
    软件工程专业不开信息安全相关的课程吗?
    RTNelo
        26
    RTNelo  
    OP
       2016 年 8 月 31 日
    @sheep3 毕竟是个科普级讲座,简单介绍一下概念的话应该也不会很耗时间。
    @wevsty 之前学校 WiFi 没密码,校园网帐号登录是明文传输的,那时候做演示效果是最好的,不过更新后学校用上 https 了。另外我的网卡开不了工程模式,到时候可能要找网络安全的同学们借了。
    @ferock 希望讲的时候不会被网络安全的同学打脸...
    RTNelo
        27
    RTNelo  
    OP
       2016 年 8 月 31 日
    @Yinz 不过应该还是有其他社工的网站的。
    @billlee 培养计划上没有看到相关课程,好像连选修课都没有(也许《软件测试技术》会讲?我们还没有上这门课)。
    wevsty
        28
    wevsty  
       2016 年 8 月 31 日
    @RTNelo

    用带漏洞的老版本 Discuz ,先让同学现场注册,然后第一步公布抓包,抓包不一定需要工程模式,可以直接用 Win Server 的远程路由访问当网关使,Linux 也可以,网关抓包就行了找个无线路由器做无线发射即可,或者直接 arp 一下也可以,这样就能抓包强调 HTTPS 的重要性。接着 SQL 注入现场拉 Discuz 的数据库回来,在解密其中的密码多余的时间还可以用 Disucz 演示 XSS 之类的其他问题。
    ETiV
        29
    ETiV  
       2016 年 8 月 31 日   1
    我觉着光讲没用的, 老话讲的吃一堑长一智还是有道理的.

    踩过这种坑了才知道为啥要这么做, 而不是那么做.

    但首先还是得教他们懂得负责.

    说白了, 这是人生的课堂.
    q397064399
        30
    q397064399  
       2016 年 8 月 31 日   2
    真没必要教,我 07 年拿个 啊 D 配合 ewebeditor 黑了那么多 ASP 的站点,就是这些不负责的程序员弄出来的,要是这个世界都是负责的程序员,那新手黑客如何练技术?虽然早不玩安全了,但是上大学靠着 内网嗅探 ARP 还有一个 ewebeditor 硬是拿到了学校的成绩数据库,之后天天逃课,现在毕业蛋疼的要死,技术没学好技术,自己学业也没学好
    megatron
        31
    megatron  
       2016 年 8 月 31 日   1
    可以先举办一个渗透比赛,当然要有奖品。特等奖,入侵难度最大,甚至可以是通过选拔赛之后,现场实时入侵。而普通奖,常见的漏洞。
    msg7086
        32
    msg7086  
       2016 年 8 月 31 日   1
    我还见过把人家大型公司的域控管理员密码明文到处传的,而且每次点击都会传一次。
    firebroo
        33
    firebroo  
       2016 年 8 月 31 日 via Android   1
    紧跟步伐学习新的技术栈,一般前沿框架都会尽量把安全工作都给你做了,当然安全做大的弱点还是人。
    geek123
        34
    geek123  
       2016 年 8 月31 日   1
    @RTNelo ,推荐一本书《黑客攻防从入门到精通 实战篇》给你,希望对你有帮助:

    http://book.hubwiz.com/55750a1f6a1625018cfa6b01
    davin
        35
    davin  
       2016 年 8 月 31 日   1
    推荐大家看相关的电影,比如: Firewall(2006), Cybergeddon (2012), Mr. Robot(第二季出到第九集了)
    wemore
        36
    wemore  
       2016 年 8 月 31 日 via Android   1
    多逛 v2 不就行了
    enginex
        37
    enginex  
       2016 年 8 月 31 日   1
    5. 把 5 季的 POI 放一遍 O(∩_∩)O
    hffaxy
        38
    hffaxy  
       2016 年 8 月 31 日   1
    0.信安专业,就我自身感受的话,实际演示远比 ppt 讲义生动得多。
    1.实际演示可自行搭建脆弱系统环境或者直接上 DVWA 让同学们自己实际体验不安全编码的危害性。
    2.OWASP TOP 10 要讲这个的话,涉及知识面就比较多了,同学们接受起来就相对比较困难,结合实际演示吧,效果应该会好点。
    3.信安方向,就安全编码来说, web 和软件编程同样重要,也可覆盖软件安全编码知识,比如说逆向工程和缓冲区溢出。
    4.一切之前,先科普信息安全相关法律法规。
    5.兴趣的话,往 hack , geek 方面去吹,电影看过没?各种神,各种玄,同学兴趣就上来了。
    6.如果只是科普向讲座,可向低年级开放,有兴趣的自然回去补基础知识,不过就要相应的在你的讲义里 0x0 基础知识里补充相对完善的基础知识或者相关技术,概念就行,不用太全面。
    7.这只是一个讲座, Interest first , and take it easy
    8.enjoy it~
    solonF
        39
    solonF  
       2016 年 8 月 31 日   1
    咦,非要讲座嘛,效率不高啊,随便把要讲的往 qq 群里一发,该看到的会看到并注意的吧……
    loading
        40
    loading  
       2016 年 8 月 31 日 via Android   1
    当着大家的面,进教务处,改分。
    RTNelo
        41
    RTNelo  
    OP
       2016 年 8 月 31 日
    @wevsty 非常感谢,我去查查相关资料。
    @ETiV 但很多时候吃一堑的人是普通用户(明明程序员多写一句就可以避免的事情),代价还是太大了。
    @q397064399 但是就我的观察来看,同学们很多时候不是不负责任,而是根本没有安全意识,根本不知道他们的实现是有问题的。
    @megatron 主要还是面向非信息安全专业的同学们的科普讲座,普及一下相关知识。直接的渗透比赛已经有了,而且科普的性质也没有那么强了。
    @msg7086 这个公司...一直没出过问题吗...
    RTNelo
        42
    RTNelo  
    OP
       2016 年 8 月 31 日
    @firebroo 是的。我最开始意识到这些问题的时候是读过 Tornado 和 web.py 文档的相关章节之后了。应该向同学们强调下,尽量使用已有可靠的框架,而不要自己直接生造。
    @geek123 非常感谢!
    @davin @enginex 电影剧集等等作为之后启发兴趣的资料更好一些吧。想必多数同学是没有什么时间聚集到一起看电影的(而且我校的放映设备还不是很理想)。
    @wemore 多数技术类社区都会有一定的涉及的,但是就安全方面来说 FreeBuf 之类的可能会更好吧?
    RTNelo
        43
    RTNelo  
    OP
       2016 年 8 月 31 日
    @hffaxy 非常感谢您的建议!缓冲区溢出也能被大一的同学理解。直接演示同学们自己所写程序中的漏洞被利用的情况,应该可以和各种电影一样引起同学们的兴趣。另外开始之前先把讲义的地址以二维码形式挂出来以供查阅。
    @solonF 把基础常识以微博长文的形式转发的效果怎么样呢?
    @loading 会被开除的,绝对会被开除的!
    loading
        44
    loading  
       2016 年 8 月 31 日 via Android
    @RTNelo 你建一个网站,然后展示一下 SQL 注入就可以了。
    hack
        45
    hack  
       2016 年 8 月 31 日
    讲一遍 webgoat 即可,然后现场演示一下
    Yinz
        46
    Yinz  
       2016 年 8 月 31 日
    @RTNelo 现场邀请同学注册的话,很容易出现服务器压力太大直接挂掉的情况,而且讲座的场馆可能会遇到信号不好的情况(我们学校几乎 100%),现场网络服务建议慎重考虑,很容易出各种问题。

    曾经有公司来做讲座,现场搭了 5 个蜜罐路由器,现场大概 100 来人,直接脱挂了所有路由和网络,现场演示十分尴尬 XD
    不过如果有办法控制这个效果的话,蜜罐路由还是非常有趣吸引人的 XD
    breeswish
        47
    breeswish  
       2016 年 8 月 31 日
    然并卵,只有与到手的分数挂钩了他们才会真正在意。
    bjrjk
        48
    bjrjk  
       2016 年 8 月 31 日 via Android
    第二个问题吧,我是高中生,也喜欢研究信息安全。想问你这个会如何参加?你说应该不应该不限制呢?不过如果年龄太小就是来这里凑个热闹也确实不太好。
    wevsty
        49
    wevsty  
       2016 年 8 月 31 日
    @Yinz 用性能好一点的机器做服务器没有那么脆弱吧? wifi 连接人太多不好用或者挂掉倒是有可能,可以 2 种解决方案,公网 VPS 上架,所有人用运营商网络访问就可以了,或者场馆架设 wifi , DHCP 限制一下最大用户数量然后不允许连接外网,演示都放在内网会好很多。要保证不出问题,可以在第一排提供有线连接。
    msg7086
        50
    msg7086  
       2016 年 8 月 31 日
    @RTNelo 已经快挂了。
    但是并不是因为安全问题,而是因为资金入不敷出。
    Yinz
        51
    Yinz  
       2016 年 9 月 1 日
    @wevsty 我们学校出的问题是,场馆内信号不好,手机 4g 极慢, WIFI 由于连接人数过多导致爆炸,所以整个场馆内几乎是断网状态。。。这个问题和服务器性能没太大关系。。
    shiji
        52
    shiji  
       2016 年 9 月 1 日
    个人感觉对安全感兴趣的都去自学了,剩下的积极性有限。
    xFrank
        53
    xFrank  
       2016 年 9 月 1 日
    支持现场演示,最能提升兴趣。
    还可以讲讲类似这种热门事件: http://mt.sohu.com/20160825/n465965832.shtml
    skylancer
        54
    skylancer  
       2016 年 9 月 1 日
    @RTNelo 工程模式是什么情况...
    changwei
        55
    changwei  
       2016 年 9 月 1 日
    我觉得可以先自己去找找看自己的高校官网是否有类似的漏洞,或者拿他们的漏洞作为演示 demo ,在法律允许的情况下把危害展示给他们看,这样很容易挑起学生们的好奇心和积极性,这种讲座还是有点意义的。
    Hodor
        56
    Hodor  
       2016 年 9 月 1 日
    这么热的天还得走到教室。。哎。。算了,宿舍打游戏吧
    q397064399
        57
    q397064399  
       2016 年 9 月 2 日
    @RTNelo 安全编码以后肯定会被带入框架,现在 MVC 的设计模式,在控制器里面框架可以编写代码自动过滤 SQL 注入攻击,而不是让程序员来实现
    q397064399
        58
    q397064399  
       2016 年 9 月 2 日
    你应该普及一下类似于缓冲区溢出的技术,找个老点的发行版 linux ,写一个 CS 简易客户端,在 Server 端弄个套接字,然后处理字符串的时候,弄个缓冲区溢出,然后写个 shellcode ,关闭 selinux 在电脑面前演示一遍,如何通过 shellcode 提取 user 权限,进而获得 root 权限,讲解一下 ios 越狱也基本上跟这玩意原理差不多,之后那些大一的 CS 新生就会对你顶礼膜拜了。
    q397064399
        59
    q397064399  
       2016 年 9 月 2 日
    不过 CS 基础好的,估计也会嗤之以鼻,这些年搞 IOS 越狱其实也就是个体力活,新的加密解密算法还轮不到黑客来搞,大多就是些年轻小伙子,逆向分析一下 ios 的沙箱技术,看能不能通过一些错误提权到内核权限来修改 rootfile
    ferock
        60
    ferock  
    PRO
       2016 年 9 月 12 日
    @RTNelo 不要怕被打脸,应该欢迎打脸,然后主动邀请,网络安全的同学,上来互动,为大家添砖加瓦!要有 open 的心态。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5298 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 45ms UTC 07:44 PVG 15:44 LAX 00:44 JFK 03:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86