雪城大学信息安全讲义 一、引言
一、引言
原文:Overview of Computer Security
译者:飞龙
1.1 概览
优秀的安全专业人员拥有两个重要的技能:(1)安全的感知,以及(2)安全原则的知识。我希望完成这门课的学生可以拥有二者。拥有不意味着“知道”;它意味着能够应用这些技能。
1.2 风险和威胁
使用计算机系统时的风险:
你正在公共图书馆中写你的大作业,并且远程登录到了你学院的 UNIX 服务器。你需要离开一分钟,并且有点懒,决定不锁上你笔记本的屏幕。如果恶意人员利用这个机会,最严重的后果是什么?恶意人员需要多少时间来造成最严重的后果?
你来到公共图书馆,打算使用这里的电脑来远程登录到你学院的计算机,或者访问网上银行;你面临什么风险?
你来到了一个不错的小区中的 ATM 机前来取款(即没有抢劫),你的风险是什么?
配置计算机系统时的风险:
你打算在家里访问你公司的电脑,所以你配置了公司的电脑,以便可以访问它的远程桌面,风险是什么?
你在你的屋子里安装了一个无线接入点,来搭建无线网络,风险是什么?
你是系统管理员,将多个程序变为特权程序,所以你就不会被一些任务困扰(用户可以使用这些特权程序来完成这些任务),风险是什么?
开发计算机系统时的风险:
你的程序有一些缓冲区溢出问题,但是你迫于压力要及时发布软件产品,并决定在这个发行版中不修复这些漏洞,风险是什么?
你的公司刚刚赢得了政府的电子投票系统的投标。你的系统可能面临的风险是什么?
你正在为一家商店开发在线商城的 Web 页面,你面临的风险的施恩么?
安全的感知:看到和预测风险的能力。如果你不能系统的枚举上述例子中的风险,你就没有良好的安全感知。我希望在这门课之后,你可以获取良好的风险感知,并且能够在你使用、安装或开发计算机系统时评估你的风险。
上一节课中学到的东西:这门课的学生之前没有足够重视培养安全意识。每个学期的大作业,我看到学生们(不是一小部分,而是大部分)演示它们系统的杰出功能,但是没有展示安全感知。它们将很多时间花在为它们的系统实现实用的功能上,但是没有花费任何时间来思考这些功能的安全后果(例如,我们是否应该访问控制,来防止功能被恶意用户滥用,来获取额外权限?)
1.3 应对策略
方法:有三个预防措施:
预防:这门课的核心
- 预防:使其不可能
- 阻止:使其更困难
- 转移“使其它目标更加有吸引力
检测
- 监控
- 入侵检测
恢复
- 恢复数据
- 识别损失
- 寻找犯人:取证
预防的工作方式
- 策略(IST 课程)
- 密码学
- 密码学不仅仅是加密,它用于完成很多安全相关的目标,例如数字货币,时间戳,安全的分布式计算,电子投票,电子投标,等等。
- 我们在这门课中只会涉及基本的密码学。
- 控制(这门课的核心组件)
- 示例:确保只有在安全区域内的人才能读取文件。
- 硬件控制
- 软件控制
预防如何失效
- 漏洞
- 恶意程序:病毒、后门,等等。
- 控制的不当使用
- 用户的错误
如何进行正确的预防?
- 安全工程原则
- 风险感知
- 安全编程
1.4 计算机安全的意义
当我们讨论“计算机安全”,我们的意思是,我们强调任何计算机相关系统的三个重要的层面:
- 保密性(C)
- 完整性(I)
- 可靠性(A)
这三个词(CIA)的含义十分广泛。对于不同的应用,CIA 的解释也不同。
- 保密性:访问(读取、查看、打印、了解,以及其他)
- 内容:加密(密码学)
- 数据存放:隐写术。例如,股票投资、犯人、间谍、水印
- 资源隐藏:操作系统信息和配置
- 指纹识别
- 身份(匿名)
- 完整性:修改(包含编写、修改、状态修改、删除和创建)
- 数据完整性
- 程序完整性
- 系统完整性
- 身份完整性(不可复制)
- 来源(位置)完整性(例如网络回溯)
- 可靠性
- 拒绝服务(DoS)
- 示例:它们属于什么分类?
- TCP SYN 泛洪
- 嗅探
- 身份伪造
- ATM 机欺骗
- 在纯文本文件中保存密码
雪城大学信息安全讲义 一、引言相关推荐
- 雪城大学信息安全讲义 4.1~4.2
四.缓冲区溢出漏洞和攻击 原文:Buffer-Overflow Vulnerabilities and Attacks 译者:飞龙 1 内存 这个讲义的"区域"(Area)和&quo ...
- 雪城大学信息安全讲义 3.1 Set-UID 机制如何工作
三.Set-UID 特权程序 原文:Set-UID Programs and Vulnerabilities 译者:飞龙 这个讲义的主要目标就是来讨论特权程序,为什么需要他们,他们如何工作,以及它们有 ...
- 雪城大学信息安全讲义 3.3 提升 Set-UID 程序的安全性
3 提升 Set-UID 程序的安全性 exec函数 exec函数系列通过将当前进程映像包装为新的,来运行紫禁城.有许多exec函数的版本,工作方式不同.它们可以归类为: 使用/不适用 Shell 来 ...
- 雪城大学信息安全讲义 七、格式化字符串漏洞
七.格式化字符串漏洞 原文:Format String Vulnerability 译者:飞龙 printf ( user_input ); 上面的代码在 C 程序中十分常见.这一章中,我们会发现如果 ...
- 雪城大学信息安全讲义 六、输入校验
六.输入校验 原文:Input Validation 译者:飞龙 1 环境变量(隐藏的输入) 环境变量是隐藏的输入.它们存在并影响程序行为.在编程中忽略它们的存在可能导致安全隐患. PATH 在 Sh ...
- 雪城大学信息安全讲义 五、竞态条件
五.竞态条件 原文:Race Condition Vulnerability 译者:飞龙 1 竞态条件漏洞 下面的代码段属于某个特权程序(即 Set-UID 程序),它使用 Root 权限运行. 1: ...
- 雪城大学信息安全讲义 4.5
5 堆或 BSS 的缓冲区溢出 堆或 BSS 的内容 字符串常量 全局变量 静态变量 动态分配的内存 示例:覆盖文件指针 /* The following variables are stored i ...
- 雪城大学信息安全讲义 4.3~4.4
3 对抗措施 3.1 应用安全工程原则 使用强类型语言,例如 Java.C#,以及其他.使用这些语言,可以避免缓冲区溢出. 使用安全的库函数 可能拥有缓冲区溢出问题的函数:gets.strcpy.st ...
- 雪城大学信息安全讲义 3.2 Set-UID 程序的漏洞
2 Set-UID 程序的漏洞 2.1 隐藏的输入:环境变量 特权程序必须对所有输入进行安全检查.输入检查实际上是访问控制的一部分,特权程序必须这么做,来确保程序的安全.很多安全问题都是输入检查的错误 ...
最新文章
- PostgreSQL调研
- Codeforces 1198 1199
- php$pat,PHP的Session管理框架 patSession | 码农软件 - 码农网
- kafka学习笔记:知识点整理
- 沟通管理计划3个过程及重点
- 5-3 神经网络算法预测销量高低(改进版,消除了一些warning)
- 键盘录入一个正整数,把它的各个位上的数字倒着排列形成一个新的整数并输出。 例如:12345 数出54321 78760 输出6787(0省去)
- qt调用mysql调用了存储过_Qt调用Server SQL中的存储过程
- Ubuntu下Python与C/C++混合编程
- Spring 依赖注入(一、注入方式)
- JMETER 为什么需要分布式
- 普通话测试第四题评分标准_普通话等级考试内容及评分标准
- 红帽linux7.2安装教程,RHEL 6.2安装(超级详细图解教程) | 系统运维
- 关于错误 Unhandled exception in .exe (Kernel32.dll): 0xE06D7363
- 大数定律和中心极限定理(未完成)
- JavaScript 火焰
- 马士兵 oracle seton,马士兵Oracle 下
- 避坑,在Jetson nano安装编辑openpose
- 计算机辅助工艺收获,如何在学习计算机方面获得新收获
- 电赛总结(四)——波形发生芯片总结之AD9851
热门文章
- java中获取XML中的子xml_如何将子元素从XML提取到Java中的字符串?
- java 熔断_熔断理解 - THISISPAN - 博客园
- rfid技术及应用答案王佳斌_详解工业数据采集中RFID技术的应用
- 12022.ADS7138采集芯片
- 【Pre蓝桥杯嵌入式】移植LCD程序+建立工程+LCD程序分析
- linux多线程学习(二)——线程的创建和退出
- Linux netfilter源码分析(3)
- 线程间通讯《代码》pthread_cond_wait/signal
- 创龙28377d历程_C28x系列的28069、28377D的PWM使用经验
- 【LeetCode】【HOT】438. 找到字符串中所有字母异位词(滑动窗口)