《如何建立安全的知识体系.pdf》由会员分享,可在线阅读,更多相关《如何建立安全的知识体系.pdf(31页珍藏版)》请在三个皮匠报告上搜索。
1、如何建立安全的知识体系如何建立安全的知识体系美国加州大学河滨分校美国加州大学河滨分校助理教助理教授授Uncover a new class of storage side channel attacks against OS and networking stacksReal-world security impact caused by OS design,firewall middleboxes and network stacks防火墙漏洞TCP 侧信道漏洞远程 TCP 劫持 极棒2016获最大脑洞奖CVE-2016-5969 极棒2016获最大脑洞奖CVE-2016-5969远程 TC
2、P 劫持App 劫持目录如何建立安全的知识体系掌握计算机安全的思维模式我眼中的计算机安全领域课程安排和学习方法目录如何建立安全的知识体系掌握计算机安全的思维模式我眼中的计算机安全领域课程安排和学习方法什么是计算机安全研究计算机系统在有“敌对行动”情况下如何应变 聪明的攻击者会穷尽可能去影响(被攻击)系统的正常运作Security vs.System researchCorner cases vs.Common case=VulnerabilitiesBugs=永恒的攻防和对抗 攻:钻牛角尖 防:完整严密威胁建模(Threat Model)攻方有什么能力,资源,动机?家里报警系统 vs.盗窃犯
3、保护我的密码 vs.攻击者Seq=?Schneiers Law Any person can invent a security system so clever that she or he cant think of how to break it.谁都能发明一个自认为没法攻破的安全系统(但不代表别人不能攻破)The only way your designs are going to be trusted is if youve made a name for yourself breaking other peoples designs.要先会攻击,才能会防御对抗不仅仅是计算机安全独有
4、 毒贩 vs.警察 小偷 vs.市民vs.“互联网中没有人知道你是一条狗”安全问题=游戏 都是人造规则(逻辑),仅仅规则不同而已 规则的复杂度决定了游戏的趣味性 复杂度规则的漏洞 比如:美国的税法,巴菲特的税率 比如:电子竞技游戏?电子竞技游戏的漏洞目录如何建立安全的知识体系掌握计算机安全的思维模式我眼中的计算机安全领域课程安排和学习方法领域篇操作系统密码学系统/网络安全理论安全软件硬件网络协议:如 Web,TCP/IP算法高层应用:如社交网络,虚拟货币人机交互难易度难易技术篇-系统/网络安全形式化方法,程序分析设计系统;如新硬件特性,应用密码学数据驱动计算机原理读代码,写程序二进制基础/内功
5、概率统计案例1-TCP 连接劫持 领域:操作系统,网络 技术:读内核代码,程序分析,模型检查(Modelchecking)Seq=?案例1-TCP 连接劫持if(TCP_SKB_CB(skb)-end_seq!=TCP_SKB_CB(skb)-seq&before(TCP_SKB_CB(skb)-seq,tp-rcv_nxt)NET_INC_STATS_BH(sock_net(sk),LINUX_MIB_DELAYEDACKLOST);static inline int before(_u32 seq1,_u32 seq2)return(_s32)(seq1-seq2)0;Error chec
6、kSeq#checkAck#checkAdditional checksError counter+tcp_send_dupack()DropOthersAcceptIncoming packetLinux:/net/ipv4/tcp_input.c隐式数据流分析(implicit flow analysis)案例2-Android 漏洞挖掘 领域:操作系统,软件 技术:读内核/smali/ARM 代码,程序分析,建模udpateNetwork(conf)save(conf)CheckCHANGE_WIFI_STATECONNECTIVITY_INTER