亚利桑那州立大学计算机科学专业的软件安全课程介绍:
关于本课程
本课程将让学生了解识别,利用和缓解网络,二进制和Web级别的软件安全漏洞的理论,工具和技术。学生将深入学习漏洞课程,了解如何保护软件以及如何保护软件。本课程还将介绍软件安全和道德考虑的历史。本课程将侧重于实践方法。除了了解漏洞类别外,学生还需要识别和利用安全漏洞。

亚利桑那州立大学
本课程所涵盖的具体主题包括:
- 软件安全的历史。
- 软件安全道德。
- 网络安全。
- 应用程序安全性。
- 网络安全。
本课程所涵盖的技术包括:
- C.
- x86-64 程序集。
- HTTP.
- .HTML。
- JavaScript。
- .SQL。
- 脚本语言。
所需的先验知识和技能:
本课程将非常具有挑战性,因此学习者应具备所需的先验知识和技能和/或在自己的时间学习它和必要的技术。
熟练的数学技能和理论理解:
- 代数。
- 线性代数。
- 算法。
- 数据结构。
- 计算机组织和体系结构。
- 操作系统。
- 计算机网络。
较强的应用能力:
- 能够有效地读取 C 代码。
- 能够有效地阅读Python代码。
- 执行至少一种编程语言的信心:Python、Java、C#、C++、C。
熟练的经验:
- 清楚地了解理论和应用行业相关的操作系统和计算机网络。示例:以太网、ARP、路由、IP 地址、分段、ICMP、UDP、TCP 和 x86-64 程序集。
- 具有阅读技术规范和文档的经验。
- 网络编程技能:创建原始数据包,实施网络协议和其他基础网络技能。
- C/C++ 编程。
- 脚本语言编程。类似于Python,Ruby或PHP。
- 计算机网络。特别是以太网,ARP,路由,IP地址,分段,ICMP,UDP和TCP。
- 编译 器。连接。精灵。
- 操作系统。
- 计算机体系结构。特别是 x86-64 程序集。系统调用。
- 熟悉这些工具,以了解课程作业的网络流量、二进制文件和 Web 应用程序:tcpdump、objdump、GDB、ltrace、strace、pwntools、Ghidra、IDA Free、Chrome 开发者工具、Burp Proxy。
本课程的学习成果:
完成本课程的学习者将能够:
- 解释安全漏洞的历史。
- 在识别和利用安全漏洞方面区分道德和不道德行为。
- 演示本地网络级安全攻击。
- 评估本地网络情况以确定适当的攻击和相应的防御措施。
- 分析二进制应用程序,描述其行为,识别安全漏洞并开发漏洞利用。
- 分析 Web 应用程序,了解其行为,识别安全漏洞并开发漏洞利用。
亚利桑那州立大学计算机科学专业的软件安全课程的参考学习书籍介绍:
《探索软件架构和设计中的安全性》

《探索软件架构和设计中的安全性》
随着越来越多的个人依赖在网络上存储个人信息,网络攻击继续上升。尽管这些网络不断受到检查和保护,但网络犯罪分子还是找到了突破这些保护措施的新策略。因此,需要设计和开发先进的安全系统,而不是简单的安全补丁。
《探索软件架构和设计中的安全性》是讨论内置于软件架构每个阶段的安全感知软件系统的开发的重要参考来源。本书以迁移技术、基于服务的软件和建筑安全等主题为特色,非常适合计算机和软件工程师、ICT 专家、研究人员、院士和现场专家学习参考。
《网络安全:公共世界中的私人通信》

《网络安全:公共世界中的私人通信》
密码学和网络安全的经典指南 - 现已完全更新!
“爱丽丝和鲍勃回来了!”
本书被广泛认为是网络安全和密码学最全面但最易于理解的学习指南,以前的《网络安全》版本因对密码学和网络安全协议的内部工作原理的清晰和诙谐的解释而受到好评。在本版中,作者对之前的内容进行了重大更新和修改,并增加了变得重要的新主题。
本书以友好和直观的方式解释了复杂的概念。对于协议标准,它解释了导致当前设计的各种约束和委员会决定。对于加密算法,它解释了设计背后的直觉,以及算法旨在避免的攻击类型。它解释了即使加密本身是合理的,也可能导致漏洞的实现技术。本书的家庭作业问题加深了您对概念和技术的理解,更新的词汇表揭开了该领域术语的神秘面纱。《网络安全,第三版》将吸引广泛的专业人士,从设计和评估安全系统的人到想要更好地了解这一重要领域的系统管理员和程序员。它也可以用作研究生或高级本科水平的教科书。
本书的内容范围包括:
- 网络安全协议和加密基础知识
- 密钥和哈希算法(AES、DES、SHA-1、SHA-2、SHA-3)的设计注意事项和技术
- 第一代公钥算法(RSA、Diffie-Hellman、ECC)
- 量子计算机如何工作,以及为什么它们威胁到第一代公钥算法
- 人员的多因素身份验证
- 实时通信(SSL/TLS、SSH、IPsec)
- 新应用(电子货币、区块链)
- 新的加密技术(同态加密、安全多方计算)
《面向安全专业人员的网络协议:探测和识别基于网络的漏洞并防止网络协议泄露》

《面向安全专业人员的网络协议:探测和识别基于网络的漏洞并防止网络协议泄露》
掌握基于网络的攻击,并学习如何保护组织的网络和网络设备
本书的主要特点:
- 利用漏洞并使用自定义模块和脚本破解身份验证协议
- 防范 Web、邮件、数据库、DNS、语音、视频和协作服务器攻击
- 通过实施防御机制来监控和防范暴力攻击
本书的简介:
随着对计算机系统和互联网需求的增加和不断发展,网络安全现在在保护IT基础设施免受攻击方面发挥着更大的作用。具备如何查找漏洞并通过其网络渗透组织的知识,您将能够像黑客一样思考并保护组织的网络和网络设备。安全专业人员的网络协议将向您展示如何操作。
这个全面的指南逐渐增加复杂性,将带您从基础知识到高级概念。从数据网络协议、设备和违规行为的结构开始,您将熟悉利用这些漏洞的攻击工具和脚本。了解基础知识后,您将了解针对网络和网络设备的攻击。当您执行窃听、学习数据分析以及将行为分析用于网络取证时,您的学习之旅将变得更加精彩。随着您的进步,您将全面了解网络协议以及如何使用您在前面部分中学到的方法和工具来攻击和保护这些协议。
在本网络安全书籍结束时,您将精通网络协议安全和保护网络协议的安全对策。
通过本书你将学到什么:
- 了解安全漏洞、弱点和保护技术
- 攻击和防御有线和无线网络
- 了解如何攻击和防御基于 LAN、IP 和 TCP/UDP 的漏洞
- 专注于加密、授权和身份验证原则
- 深入了解如何以正确的方式实施安全协议
- 使用工具和脚本对网络设备执行攻击
- 使用Python,PyShark和其他脚本工具进行数据包分析
- 识别对 Web 服务器的攻击,以保护 Web 和电子邮件服务
这本书是为谁写的:
本书适用于红队和蓝队渗透测试人员、安全专业人员或错误猎人。任何参与网络协议管理和安全的人也将从本书中受益。网络安全方面的基本经验将是一个额外的优势。
《智能环境中的机器学习、区块链和网络安全:应用与挑战》

《智能环境中的机器学习、区块链和网络安全:应用与挑战》
《智能环境中的机器学习、网络安全和区块链:应用与挑战》对构成智能环境支柱的最新技术提供了深远的见解,并解决了在实际实施中引起挑战的漏洞。本书重点介绍了与机器学习、区块链和网络安全等新兴应用相关的优势。
本书的主要特点:
- 介绍机器学习、区块链和网络安全领域的最新趋势
- 讨论基础知识、挑战和体系结构概述以及概念
- 探索机器学习、区块链和网络安全的最新进展
- 研究新兴技术的最新趋势
本书主要面向在机器学习、区块链和网络安全领域工作的毕业生、研究人员和专业人士。
《应用程序安全计划手册:软件工程师和团队领导指南》

《应用程序安全计划手册:软件工程师和团队领导指南》
在不减慢交付速度的情况下阻止危险威胁并保护您的漏洞。这本实用的书籍是实施强大的应用程序安全程序的一站式指南。
阻止危险威胁并保护您的漏洞,而不会减慢交付速度。这本实用的书是实施强大的应用程序安全程序的一站式指南。
《应用程序安全计划手册》教您在整个开发过程中实施强大的安全计划。本书远远超出了基础知识,它详细介绍了一种灵活的方法,可以适应和发展新的和正在出现的威胁。遵循本指南中的专家建议,您将可靠地交付没有安全缺陷和关键漏洞的软件。
《互联网和网络应用安全》

《互联网和网络应用安全》
《Internet 和 Web 应用程序安全性,第三版》深入探讨了在面向客户的信息从大型机计算机和应用程序服务器迁移到支持 Web 的应用程序时如何保护移动用户。
本书由行业专家撰写,全面解释了计算、通信和社交网络中发生的进化变化,并讨论了如何保护系统免受与可通过 Internet 访问的 Web 应用程序相关的所有风险、威胁和漏洞。本书通过示例和练习,结合实践活动,帮助读者为成功保护支持 Web 的应用程序做好准备。
《物联网中的安全性、数据分析和能源感知解决方案 》

《物联网中的安全性、数据分析和能源感知解决方案》
物联网网络在提供安全应用、医疗保健和制造等潜在关键服务方面显示出有希望的成果。但是,存在许多与安全性、数据分析和所执行操作的有限资源相关的挑战,需要进一步调查研究解决。为了解决物联网研究人员和行业专业人士的担忧和疑虑,有必要进行更多的研究。
《物联网中的安全、数据分析和能源感知解决方案》报告了安全和数据分析技术的新方法、理论、技术和解决方案以及物联网的能源感知解决方案。它涵盖了广泛的主题,如激光攻击和个人数据,是院士、行业专业人士、研究人员、教师和学生的理想选择。
《Web 应用程序安全:现代Web应用程序的利用和对策》

《Web 应用程序安全:现代Web应用程序的利用和对策》
然有许多用于网络和 IT 安全的资源可用,但到目前为止,有关现代 Web 应用程序安全的详细知识一直缺乏。这本实用指南提供了软件工程师可以轻松学习和应用的进攻性和防御性安全概念。
Salesforce的高级安全工程师Andrew Hoffman介绍了Web应用程序安全的三大支柱:侦察,进攻和防御。通过本书,您将学习有效研究和分析现代 Web 应用程序的方法,包括您无法访问的应用程序。您还将学习如何使用最新的黑客技术闯入 Web 应用程序。最后,您将学习如何开发用于您自己的 Web 应用程序的缓解措施,以防止黑客入侵。
本书的关键内容:
- 探索困扰当今 Web 应用程序的常见漏洞
- 了解攻击者用来利用应用程序的基本黑客技术
- 映射和记录您无权直接访问的 Web 应用程序
- 开发和部署可绕过常见防御的自定义漏洞
- 开发和部署缓解措施,保护应用程序免受黑客攻击
- 将安全编码最佳实践集成到开发生命周期中
- 获取实用技巧,帮助您提高 Web 应用程序的整体安全性
《面向开发人员的 Web 安全:真正的威胁,实用防御》

《面向开发人员的 Web 安全:真正的威胁,实用防御》
网站安全变得简单。本书涵盖了网站被黑客入侵的最常见方式以及Web开发人员如何保护自己。
世界已经改变。今天,每次你让一个网站上线,你都在开放它进行攻击。
初次开发人员很容易因正确保护网站所涉及的困难而气馁。但要有希望:一支安全研究人员大军正在发现、记录和修复安全漏洞。值得庆幸的是,保护网站所需的工具是免费提供的,并且通常易于使用。
面向开发人员的网络安全将教您您的网站如何容易受到攻击以及如何保护它们。每一章都分解了一个主要的安全漏洞,并探讨了现实世界的攻击,并提供了大量代码来向您展示漏洞和修复程序。
您将学习如何:
- 防范 SQL 注入攻击、恶意 JavaScript 和跨站点请求伪造
- 添加身份验证和形状访问控制以保护帐户
- 锁定用户帐户以防止依赖于猜测密码、窃取会话、
- 或提升权限
- 实施加密
- 管理旧代码中的漏洞
- 防止泄露漏洞的信息泄露
- 缓解恶意广告和拒绝服务等高级攻击
随着您在识别和修复漏洞方面变得更强,您将学会部署规范、安全的代码,并在此过程中成为一名更好的程序员。
《使用 Go 实现网络自动化:了解如何使用 Go 编程语言 Kindle 版 实现网络操作自动化和构建应用程序》

《使用 Go 实现网络自动化:了解如何使用 Go 编程语言 Kindle 版 实现网络操作自动化和构建应用程序》
使用 Go 了解现代网络自动化的世界,并通过 10+ 专家的见解加深您的知识,这些专家在网络自动化方面具有实际实践经验和/或正在使用 Go 执行与网络相关的任务
本书的主要特点:
- 现代网络自动化世界的综合指南
- 使用 Go 构建从重复性任务自动化到复杂分布式系统的任何内容
- 超过 30 个实用、即用型示例程序
本书的内容简介:
Go 内置的一流并发机制使其成为长期低带宽 I/O 操作的理想选择,这是网络自动化和网络操作应用的典型要求。
本书提供了 Go 的快速概述和其中的实践示例,以帮助您精通 Go 以实现网络自动化。这是一个实用的指南,将教你如何使用Go自动化常见的网络操作和构建系统。
第一部分将带您了解 Go 的一般概述、用例、优势和固有弱点,为您更深入地了解网络自动化做好准备,这在很大程度上依赖于理解这种编程语言。您将探索常见的网络自动化领域和挑战,您可以在每个领域使用的语言功能,以及常见的软件工具和软件包。为了帮助您加深理解,您还将解决现实世界的网络自动化问题,并对其应用动手解决方案。
在本书结束时,您将精通 Go,并对网络自动化有扎实的掌握。
通过本书你将学到什么:
- 通过网络相关示例了解 Go 编程语言基础知识
- 了解哪些功能使 Go 成为网络自动化的强大替代方案
- 探索网络自动化目标、优势和常见用例
- 了解如何使用各种技术与网络设备交互
- 将 Go 程序集成到自动化框架中
- 利用 Go 的 OpenConfig 生态系统
- 构建分布式且可扩展的系统以实现网络可观测性
这本书是为谁写的:
本书面向所有希望了解什么是网络自动化以及 Go 编程语言如何帮助开发网络自动化解决方案的网络工程师、管理员和其他网络从业者。由于本书的第一部分全面概述了 Go 的主要功能,因此本书适合对编程基础知识有扎实掌握的初学者。
《计算机处理器架构指南:RISC-V 方法,高级综合》

《计算机处理器架构指南:RISC-V 方法,高级综合》
本书介绍了一系列难度越来越大的RISC-V处理器实现(非流水线、流水线、深度流水线、多线程、多核)。
每个实现方案都显示为 HLS(高级综合)代码C++该代码可以在基于 FPGA 的开发板上真正合成和测试(此类开发板可从面向大学教授的 Xilinx 大学计划中免费获得)。
这本书之所以有用,有三个原因。首先,这是一种引入计算机体系结构的新方法。给出的代码可以作为处理器架构课程的实验室。其次,本书内容基于RISC-V指令集架构,这是一种开源机器语言,有望成为要教授的机器语言,取代DLX和MIPS。第三,所有设计都是通过高级综合实现的,这是一种能够将C程序转换为IP(知识产权)的工具。因此,本书可以为愿意在FPGA上实现处理器的工程师和愿意开发基于RISC-V的硬件模拟器的研究人员提供服务。
《计算机系统:数字设计,计算机体系结构基础和ARM汇编语言》

《计算机系统:数字设计,计算机体系结构基础和ARM汇编语言》
这本更新的教科书涵盖了数字设计、计算机体系结构基础和 ARM 汇编语言。本书首先介绍了计算机抽象、基本数字系统、字符编码、数字设计基础知识和计算机组件。本书继续讨论计算中的信息表示、布尔代数和逻辑门以及顺序逻辑。本书还介绍了计算机体系结构、缓存映射方法和虚拟内存。
本书还介绍了 ARM 架构、ARM 指令、使用 Keil 开发工具的 ARM 汇编语言,以及使用 C 和 ARM 汇编语言的按位控制结构。本书包括一组与使用Logisim软件的数字设计和使用Keil开发工具的ARM汇编语言编程相关的实验室实验。此外,每章还包含目标、摘要、关键术语、复习题和问题。