Day27:危机意识

  • Security Threats
    1. Denial of Service (DoS) Attack: 应用程序的资源没有做好检查与限制,被有意地耗尽资源导致应用程序挂掉
    2. Sensitive data leak: 敏感性资料意外泄漏
    3. Code corruption: 程序码有被改写的机会
    4. Code injection: 程序码因为输入栏位而被注入不该被执行的程序片段
  • DoS Attack
    除了尽可能做到防范的机制外,更重要的是建立监控的行为,要有应用程序总是有可能被破解攻击的心态,因为防范做的再健全,有心人士都还是有可能破解,所以监控反而是更重要的事情,让我们可以在最快的时间知道我们的应用程序被攻击了。
  • Security Policy
    1. java .security file 描述general的security内容,并指出相关security档案位址
    2. java .policy file 描述permission内容
    3. java.security.Permission可先验证行为是否符合.policy档案内的规范
SocketPermission = new SocketPermission("localhost:7777", "accept, connect, listen");
FilePermission new FilePermission("/someFile", "read, write");
try{
  AccessController.checkPermission(socketPermission);
  AccessController.checkPermission(filePermission);
} catch (AccessControlException e){
  /* access denied by policies */
}
  1. java.security.Permission 还有一种doPrivilege()的写法,在doPrivilege()里面的程序只有符合permission才会执行,否则就不会执行。
    5.把路径的资讯包装为一个方法来产生,不要直接写出来,否则资源有可能因为路径被猜出来而被取用
    6.防范当档案过大时的处理,可以先检验档案大小再执行,或当同一个动作执行过久时做相对应处置
    7.注意Deserialize资料的动作,因为若从外部deserialize资料会直接进到Heap Memory而跳过了security的检验

<<:  策略实作 - 葛兰碧八法

>>:  大共享时代系列_024_可协同 UI 设计的软件

30天轻松学会unity自制游戏-制作Player

开启专案先开一个新场景,File->New Scene开启一个空场景,新场景选Basic有多一...

Day18 - 轻前端 Vue - 复杂型别 object

先说明一下 我用轻前端 Vue 的目的,不是把整个网站都改用轻前端,而是为了把复杂的 js 取值、给...

伸缩自如的Flask [day 17] Docker image化--安装篇

假设你今天很辛苦的把flask前後端都写好了, 在自己的电脑上运行,操作都没问题,终於把难缠的bug...

Day 17:今天来部署你的 Angular 应用程序吧!

昨天我们已经将制作好的版型,套用到 Angular 的根元件 AppComponent,今天,我们就...

Day-25 Hash Function(杂凑函数), 乘法杂凑法, 除法杂凑法

Hash function 一个好的杂凑函数,可以把均匀的分布在杂凑表的每一个slot中,也就是尽量...