[很不铁人的 IT 铁人赛] 前端工程师学资讯安全

https://ithelp.ithome.com.tw/upload/images/20210901/20106426mUNaLMZowg.png
(图片来自 Google for Education)

2021 铁人赛又开赛啦 ! 继 2019 前端工程师用 javaScript 学演算法2020 Functional Programming in JS,今年其实想再参加一波!但考量总总原因後,决定今年铁人赛不但不会完赛而且也只会有一篇(对就是这一篇),因为自己设定的时间不是一个月,而是预计半年 (超不铁人XD)、不一定写到 30 篇但也有可能超过的资讯安全系列!

自我介绍一下

完全跟软件无相关科系毕业,非常非常喜欢前端这个工作 (这行大家都喜欢分享也热情投入),这五年专精在写 JS, 觉得写逻辑比切版有趣太多。

至从梦想到美国矽谷工作後,就非常认真的练功跟刷 LeetCode!现在也达成心愿找到理想公司并在矽谷生活迈入第三年了。但进入拥有世界最顶尖软件工程师地矽谷後才知道自己有多麽的弱,只能继续带着谦卑并愿意学习的心慢慢成长。

写资安主题的动机?

在现任资安公司工作超过一年半了,虽然职位跟做的事都还是前端相关,但有幸待在资安公司、资安议题近几年又越来越受重视,总是有义务必须知道资安 Know how,以及前端工程师需要注意的部分。

资安跟我有什麽关系 ?

大家 brainstorming 资安第一一定是骇客,电影中骇客骇入国家电脑窃取机密资讯、骇客破解密码机关帮主角们逃亡很猛、骇客一定是团队中重要角色,007 电影 James Bond 没了团队帮他先骇进敌营打探好敌情跟路线,光是会打架也一定输啊!

好了,但我又没什麽机密资讯,资安跟我有什麽关系 ? 就算真的登入资讯被盗走、浏览器纪录被监视、FB 隐私权外露,好像也还好啊 ?! 不不不,你想想,若你所有的行为,例如刷信用卡、网路搜寻纪录、所在地点、喜好全被即时收集加以分类,就可以把这些资料加以分析并操纵你、带风向、炒作议题等等。最有名的例子就是剑桥分析了,也很推荐可以看 Netflix 的 个资风暴:剑桥分析事件 (The Great Hack)。看完真的觉得毛骨悚然,我们所相信的民主可以是一场骗局 ?! 所以不是只有大型企业跟国家才需要做好资安,一般人都需要有基本的资安知识的!

资安跟前端有什麽关系 ?

坦白说我以前觉得前端跟资安没什麽关系,事情几乎都是发生在後端 (例如资料库被盗)。结果发现我错了!!虽然後端要处理的资安议题的确比前端多很多,但前端的 code 也是有可能存在许多风险的,例如 API token 直接写在 JS 里、SVG 图片可能会被 XSS attack、敏感资讯放在 client side 等等,此系列文也会多针对前端相关议题与要注意的点。

这个系列文的特色

资讯安全 (Information Security) 既可深又可广,但毕竟我只是个前端工程师,会管到就是网站而已 ,所以除了系列文 first section 会提到必须知道的资讯安全基本观念外,剩下还是会着重於汪洋资讯安全海里的一小片 web security。
https://ithelp.ithome.com.tw/upload/images/20210901/20106426MkZx71P0k2.jpg
网路上文章也是普遍深涩所以想继续用用图片 + 简单例子撰写这一系列文章。作图时间通常都花超久时间,但希望能用此加深自己跟读者印象。

目录

目录清单之後会持续更新

从关键字认识资安

Cyber Risk、Vulnerabilities、Zero Day、网路威胁、OWASP TOP 10…: Defense in Depth、CVE、CVSS…

前端工程师一定要知道的 web security

这个 section 占的篇幅应该最多,包含同源政策、HTTP Header 、XSS、CSRF、SQL Injection、Clickjacking、简单密码学、写 Web 常不小心就写出的的资安风险…最後也会玩几题 Web 相关 CTF

来做弱点扫描吧

扫描 (Scan)、修补 (Patch)、复扫 (Re-Scan)、报告 (Report)…

这一系列谁适合看

  • 适合阅读者
    对资安有兴趣的人、前端工程师
  • 不适合阅读者
    好像没有,但没程序背景会有点小吃力
如有错误或需要改进的地方,拜托跟我说。
我会以最快速度修改,感谢您。

也欢迎追踪我的部落格,除了技术文也会分享一些在矽谷生活的甘苦


<<:  SQL 的括号怎麽写成 Laravel Query?

>>:  请试着把眼光对向长期......

第34天~

这个的上一篇:https://ithelp.ithome.com.tw/articles/10258...

Day04:Set Chat Page(设定聊天页) I

全文同步於个人 Docusaurus Blog 在处理完输入使用者名称後,下一步,自然就是进入 Ch...

DAY30-结语

终於!!!最後一天啦!!!今天什麽范例都不会讲哈哈哈!!!我想讲一下我做完这三十天的感想!!! 我觉...

Day 02 : Python 基础观念 (1)

变数 变数基本上是用来暂时储存资料的地方,可以想像在我们执行程序的时候,需要用一个代号去代表我们需要...

@Day7 | C# WixToolset + WPF 帅到不行的安装包 [自订页面-增加自订页面]

现在 我们了解了官方UI里面的架构与流程以後,我们建立一个自订页面, 在github内Dlg结尾的,...