Software Analysis lecture6 笔记-Data Flow Analysis - Foundations II

这一节是数据流分析的最后一节课,回顾上一节课中提出的三个问题,尽管上节课已经讲到了格理论和不动点定理,但是仍然没有回答问题。原因是不动点定理只适用于格上定义的函数,接下来要做的就是将迭代算法关联到格上定义的函数,证明迭代算法满足格上函数的性质,out[s]的值域关联到格,才可以将不动点定理应用于迭代算法。 Continue reading "Software Analysis lecture6 笔记-Data Flow Analysis - Foundations II"

Software Analysis lecture4 笔记-Data Flow Analysis II

这节课通过讲另外两个典型分析来加深对分析步骤和过程的理解,分别为Live Variables Analysis和Available Expressions Analysis。之前的课程提到过前者是一个backward analysis,后者为一个must analysis;其实关于前者的表述说的不够准确,并没有任何一种分析必须用backward或者forward的方式来做,而只是哪一种放分析方式更方便的区别而已,LVA就是一种用backward方式来做更方便的分析。 Continue reading "Software Analysis lecture4 笔记-Data Flow Analysis II"

Software Analysis lecture1 笔记-Introduction

从这一篇开始我将会整理我的Software Analysis(Static Analysis)课程笔记放在博客上,这份笔记不会是课程完整内容的记录,而是会融入自己的一些理解和课程内容的补充,有什么理解不到位的或者错误的地方,可以联系我的Email指正,顺便一提,我最近开了这门课的课程群,欢迎对SA有兴趣或者在跟这门课的同学加入我们。
Continue reading "Software Analysis lecture1 笔记-Introduction"

一些网站的通用安全建议

自从半年前在Google Cloud的VPS因为开放了wordpress的REST API而导致被(似乎是韩国人)劫持的经历后,就开始重视服务器安全了。后来陆续读了不少关于wp安全的文章,发现很多安全建议都是通用的,很容易generalize到其他系统的实践中,但是这篇文章并不会详细到某个命令的操作,也不打算讨论诸如使用cloudflare这种企业方案。经常听说chmod 777 is evil,却很少有人主动给出一些权限方案的建议,那什么样的权限是好的权限呢?我也经常在思考这个问题,猜测如果严格推导这个问题少不了动用set theory甚至category theory来做,所以这里并不打算深究一些形式上很漂亮的solution,而是写下我这几年实践和从别处学来总结的一点准则。 Continue reading "一些网站的通用安全建议"