一、引言

原文:Overview of Computer Security

译者:飞龙

1.1 概览

优秀的安全专业人员拥有两个重要的技能:(1)安全的感知,以及(2)安全原则的知识。我希望完成这门课的学生可以拥有二者。拥有不意味着“知道”;它意味着能够应用这些技能。

1.2 风险和威胁

  • 使用计算机系统时的风险:

    • 你正在公共图书馆中写你的大作业,并且远程登录到了你学院的 UNIX 服务器。你需要离开一分钟,并且有点懒,决定不锁上你笔记本的屏幕。如果恶意人员利用这个机会,最严重的后果是什么?恶意人员需要多少时间来造成最严重的后果?

    • 你来到公共图书馆,打算使用这里的电脑来远程登录到你学院的计算机,或者访问网上银行;你面临什么风险?

    • 你来到了一个不错的小区中的 ATM 机前来取款(即没有抢劫),你的风险是什么?

  • 配置计算机系统时的风险:

    • 你打算在家里访问你公司的电脑,所以你配置了公司的电脑,以便可以访问它的远程桌面,风险是什么?

    • 你在你的屋子里安装了一个无线接入点,来搭建无线网络,风险是什么?

    • 你是系统管理员,将多个程序变为特权程序,所以你就不会被一些任务困扰(用户可以使用这些特权程序来完成这些任务),风险是什么?

  • 开发计算机系统时的风险:

    • 你的程序有一些缓冲区溢出问题,但是你迫于压力要及时发布软件产品,并决定在这个发行版中不修复这些漏洞,风险是什么?

    • 你的公司刚刚赢得了政府的电子投票系统的投标。你的系统可能面临的风险是什么?

    • 你正在为一家商店开发在线商城的 Web 页面,你面临的风险的施恩么?

  • 安全的感知:看到和预测风险的能力。如果你不能系统的枚举上述例子中的风险,你就没有良好的安全感知。我希望在这门课之后,你可以获取良好的风险感知,并且能够在你使用、安装或开发计算机系统时评估你的风险。

  • 上一节课中学到的东西:这门课的学生之前没有足够重视培养安全意识。每个学期的大作业,我看到学生们(不是一小部分,而是大部分)演示它们系统的杰出功能,但是没有展示安全感知。它们将很多时间花在为它们的系统实现实用的功能上,但是没有花费任何时间来思考这些功能的安全后果(例如,我们是否应该访问控制,来防止功能被恶意用户滥用,来获取额外权限?)

1.3 应对策略

  • 方法:有三个预防措施:

    1. 预防:这门课的核心

      • 预防:使其不可能
      • 阻止:使其更困难
      • 转移“使其它目标更加有吸引力
    2. 检测

      • 监控
      • 入侵检测
    3. 恢复

      • 恢复数据
      • 识别损失
      • 寻找犯人:取证
  • 预防的工作方式

    • 策略(IST 课程)
    • 密码学
      • 密码学不仅仅是加密,它用于完成很多安全相关的目标,例如数字货币,时间戳,安全的分布式计算,电子投票,电子投标,等等。
      • 我们在这门课中只会涉及基本的密码学。
    • 控制(这门课的核心组件)
      • 示例:确保只有在安全区域内的人才能读取文件。
      • 硬件控制
      • 软件控制
  • 预防如何失效

    • 漏洞
    • 恶意程序:病毒、后门,等等。
    • 控制的不当使用
    • 用户的错误
  • 如何进行正确的预防?

    • 安全工程原则
    • 风险感知
    • 安全编程

1.4 计算机安全的意义

当我们讨论“计算机安全”,我们的意思是,我们强调任何计算机相关系统的三个重要的层面:

  • 保密性(C)
  • 完整性(I)
  • 可靠性(A)

这三个词(CIA)的含义十分广泛。对于不同的应用,CIA 的解释也不同。

  • 保密性:访问(读取、查看、打印、了解,以及其他)

    • 内容:加密(密码学)
    • 数据存放:隐写术。例如,股票投资、犯人、间谍、水印
    • 资源隐藏:操作系统信息和配置
    • 指纹识别
    • 身份(匿名)
  • 完整性:修改(包含编写、修改、状态修改、删除和创建)
    • 数据完整性
    • 程序完整性
    • 系统完整性
    • 身份完整性(不可复制)
    • 来源(位置)完整性(例如网络回溯)
  • 可靠性
    • 拒绝服务(DoS)
  • 示例:它们属于什么分类?
    • TCP SYN 泛洪
    • 嗅探
    • 身份伪造
    • ATM 机欺骗
    • 在纯文本文件中保存密码

雪城大学信息安全讲义 一、引言相关推荐

  1. 雪城大学信息安全讲义 4.1~4.2

    四.缓冲区溢出漏洞和攻击 原文:Buffer-Overflow Vulnerabilities and Attacks 译者:飞龙 1 内存 这个讲义的"区域"(Area)和&quo ...

  2. 雪城大学信息安全讲义 3.1 Set-UID 机制如何工作

    三.Set-UID 特权程序 原文:Set-UID Programs and Vulnerabilities 译者:飞龙 这个讲义的主要目标就是来讨论特权程序,为什么需要他们,他们如何工作,以及它们有 ...

  3. 雪城大学信息安全讲义 3.3 提升 Set-UID 程序的安全性

    3 提升 Set-UID 程序的安全性 exec函数 exec函数系列通过将当前进程映像包装为新的,来运行紫禁城.有许多exec函数的版本,工作方式不同.它们可以归类为: 使用/不适用 Shell 来 ...

  4. 雪城大学信息安全讲义 七、格式化字符串漏洞

    七.格式化字符串漏洞 原文:Format String Vulnerability 译者:飞龙 printf ( user_input ); 上面的代码在 C 程序中十分常见.这一章中,我们会发现如果 ...

  5. 雪城大学信息安全讲义 六、输入校验

    六.输入校验 原文:Input Validation 译者:飞龙 1 环境变量(隐藏的输入) 环境变量是隐藏的输入.它们存在并影响程序行为.在编程中忽略它们的存在可能导致安全隐患. PATH 在 Sh ...

  6. 雪城大学信息安全讲义 五、竞态条件

    五.竞态条件 原文:Race Condition Vulnerability 译者:飞龙 1 竞态条件漏洞 下面的代码段属于某个特权程序(即 Set-UID 程序),它使用 Root 权限运行. 1: ...

  7. 雪城大学信息安全讲义 4.5

    5 堆或 BSS 的缓冲区溢出 堆或 BSS 的内容 字符串常量 全局变量 静态变量 动态分配的内存 示例:覆盖文件指针 /* The following variables are stored i ...

  8. 雪城大学信息安全讲义 4.3~4.4

    3 对抗措施 3.1 应用安全工程原则 使用强类型语言,例如 Java.C#,以及其他.使用这些语言,可以避免缓冲区溢出. 使用安全的库函数 可能拥有缓冲区溢出问题的函数:gets.strcpy.st ...

  9. 雪城大学信息安全讲义 3.2 Set-UID 程序的漏洞

    2 Set-UID 程序的漏洞 2.1 隐藏的输入:环境变量 特权程序必须对所有输入进行安全检查.输入检查实际上是访问控制的一部分,特权程序必须这么做,来确保程序的安全.很多安全问题都是输入检查的错误 ...

最新文章

  1. PostgreSQL调研
  2. Codeforces 1198 1199
  3. php$pat,PHP的Session管理框架 patSession | 码农软件 - 码农网
  4. kafka学习笔记:知识点整理
  5. 沟通管理计划3个过程及重点
  6. 5-3 神经网络算法预测销量高低(改进版,消除了一些warning)
  7. 键盘录入一个正整数,把它的各个位上的数字倒着排列形成一个新的整数并输出。 例如:12345 数出54321 78760 输出6787(0省去)
  8. qt调用mysql调用了存储过_Qt调用Server SQL中的存储过程
  9. Ubuntu下Python与C/C++混合编程
  10. Spring 依赖注入(一、注入方式)
  11. JMETER 为什么需要分布式
  12. 普通话测试第四题评分标准_普通话等级考试内容及评分标准
  13. 红帽linux7.2安装教程,RHEL 6.2安装(超级详细图解教程) | 系统运维
  14. 关于错误 Unhandled exception in .exe (Kernel32.dll): 0xE06D7363
  15. 大数定律和中心极限定理(未完成)
  16. JavaScript 火焰
  17. 马士兵 oracle seton,马士兵Oracle 下
  18. 避坑,在Jetson nano安装编辑openpose
  19. 计算机辅助工艺收获,如何在学习计算机方面获得新收获
  20. 电赛总结(四)——波形发生芯片总结之AD9851

热门文章

  1. java中获取XML中的子xml_如何将子元素从XML提取到Java中的字符串?
  2. java 熔断_熔断理解 - THISISPAN - 博客园
  3. rfid技术及应用答案王佳斌_详解工业数据采集中RFID技术的应用
  4. 12022.ADS7138采集芯片
  5. 【Pre蓝桥杯嵌入式】移植LCD程序+建立工程+LCD程序分析
  6. linux多线程学习(二)——线程的创建和退出
  7. Linux netfilter源码分析(3)
  8. 线程间通讯《代码》pthread_cond_wait/signal
  9. 创龙28377d历程_C28x系列的28069、28377D的PWM使用经验
  10. 【LeetCode】【HOT】438. 找到字符串中所有字母异位词(滑动窗口)