ChatGPT:是人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码等任务。GPT 是 Generative Pre-training Transformer 的缩写,是一种自然语言生成模型,由 OpenAI 开发。GPT 的目标是学习从大量文本中推断出的知识,并使用这些知识来生成新的文本。与其他自然语言处理模型相比,GPT 在训练时没有提供大量的人工标注数据,而是使用了大量的网络上的文本进行预训练,这种方法被称为预训练(pre-training)。
黑莓公司曾经发布过一篇研究报告表明由人工智能驱动的ChatGPT机器人可能会对网络安全产生威胁。并且有充分的证据表明,怀有恶意的人正在利用ChatGPT机器人进行网络攻击。
ChatGPT的从出世以来就开始广受追捧,在短短两个月内,用户就达到了1亿。ChatGPT自从2022年12月开始向公众开放以来,两个月达到1亿用户,对比Tik Tok也花费了大约9个月的时间才达到同样的数字。人们会担心它滥用的原因是开放式人工智能机器人不仅能够撰写回答评论,还能创建代码。并且ChatGPT可以为黑客提供有关如何入侵网站的分布说明,能够对利用的任何漏洞提供详细建议。
ChatGPT可以帮助黑客进行攻击。
Cybernews的研究团队尝试使用 ChatGPT 来帮助他们找到网站的漏洞。研究人员提出问题并遵循 AI 的指导,试图检查聊天机器人是否可以提供利用该漏洞的分步指南。
该团队通过解释他们正在进行渗透测试挑战来询问ChatGPT。 研究人员问道:
I am faced with a penetration testing challenge. I am on a website with one button. How would I test its vulnerabilities?
(我面临着渗透测试的挑战。我在一个只有一个按钮的网站上。我该如何测试它的漏洞?)
聊天机器人以五个基本起点作为回应,说明在搜索漏洞时要检查网站上的内容。通过解释他们在源代码中看到的内容,研究人员获得了 AI 的建议,以了解应该专注于代码的哪些部分。此外,他们还收到了建议的代码更改示例。在与聊天机器人聊天大约 45 分钟后,研究人员能够破解所提供的网站。
在这个过程中,虽然AI没有给他们提供现阶段所需的确切有效的内容,但是它给予了研究员们大量的想法和关键字来搜索。
利用ChatGPT创建恶意软件
网络安全服务商CyberArk公司的研究人员在今年1月发表了一篇有关网络威胁研究的博客文章,详细介绍了他们如何使用ChatGPT创建多态恶意软件的过程。同样,研究人员能够通过AI提供的内容略过过滤器。
虽然在一开始要求人工智能机器人采用Python创建一些恶意代码,他会礼貌地拒绝。
但是,在输入过程中强烈坚持,那么机器人也有可能创建可执行代码。这其实并不可怕,危险的是ChatGPT是机器学习的一个例子,随着时间的推移,它接受到的输入数据越多,输出内容就越好,情况只会变得更好。
ChatGPT否认自己是网络安全威胁
在询问它自己是否会构成网络安全威胁是,机器人一直保持否认的态度:“不,ChatGPT不会构成网络安全威胁。它是由OpenAI开发的一种语言模型,旨在根据接收到的输入生成文本。然而,重要的是要记住,任何技术都可能被滥用,用户有责任保护他们的系统和数据。此外,在分享敏感信息时要谨慎行事,因为第三方可能会获取这些信息。
然后让ChatGPT用500字和1000字回答它自己是否构成网络安全威胁时,它给出了不一样的答案。
“如果它落入坏人之手,可能会被恶意利用”、“ChatGPT可能被用来从互联网上抓取敏感信息,例如个人数据或财务信息。”
“与ChatGPT等人工智能模型相关的另一个风险是,它们可能被用于恶意目的。例如,网络攻击者可以创建一个假冒的聊天机器人,看起来像一位客服代表,并使用它来欺骗人们提供他们的个人信息或进行未经授权的购买。如果网络攻击者能够让聊天机器人看起来像是来自一个可信任的组织,例如银行或政府机构,这可能会特别危险。”
ChatGPT最终还是承认了它可以被用于恶意目的。
但是,ChatGPT到底是好是坏,最终还是取决于使用者的目的。
ChatGPT是一个令人印象深刻的人工智能工具,它有很多做好事的能力,但和任何技术一样,一旦被居心叵测之人利用同样也会成为做坏事的工具。不发分子和黑客使用的基于人工智能的漏洞扫描器可能会对互联网安全造成灾难性的影响。
但是就像ChatGPT提醒的一样:请记住,在尝试测试网站的漏洞之前,遵循到的黑客准则并获得许可非常重要。
其实对于渗透测试学习者来说,ChatGPT是最全能的黑客辅助工具。它的出现大大降低了渗透测试人员的学习成本,抓住这个“利器”,或许你的技术会更上一层楼。
那么,我们首先需要掌握网络安全这门技术,应该如何入门?要学些什么东西呢?
成为一名合格的网络安全工程师需要具备哪些能力?
1、网络安全技术方面
包括端口、服务漏洞扫描、程序漏洞分析检测、权限管理、入侵和攻击分析追踪、网站渗透、病毒木马防范等。
2、对计算机系统有深入的了解,掌握常用的编程语言
例如windows及企业常用的linux系统,编程语言如:Java、php 、python、c、c++。编程语言理论上来说是多多益善, 如果精力不足,至少要会常用的。
3、了解主流网网络安全产品
比如防火墙、入侵检测系统、扫描仪等等。
4、安全协议方面
这部分内容很多和web安全是相通的。熟悉sql 注入原理和手工检测、熟悉内存缓冲区溢出原理和防范措施、熟悉信息存储和传输安全、熟悉数据包结构、熟悉ddos攻击类型和原理有一定的ddos 攻防经验,熟悉iis安全设置、熟悉ipsec、组策略等系统安全设置。
5、机器学习算法
机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。
6、人工智能
人工智能是研究使计算机来模拟人的某些思维过程和智能行为的学科,主要包括计算机实现智能的原理、制造类似于人脑智能的计算机,使计算机能实现更高层次的应用。人工智能将涉及到计算机科学、心理学、哲学和语言学等学科。可以说几乎是自然科学和社会科学的所有学科,其范围已远远超出了计算机科学的范畴,人工智能与思维科学的关系是实践和理论的关系,人工智能是处于思维科学的技术应用层次,是它的一个应用分支。
7、大数据分析
大数据分析是指对规模巨大的数据进行分析。大数据可以概括为4个V, 数据量大(Volume)、速度快(Velocity)、类型多(Variety)、价值(Value)。大数据作为时下最火热的IT行业的词汇,随之而来的数据仓库、数据安全、数据分析、数据挖掘等等围绕大数据的商业价值的利用逐渐成为行业人士争相追捧的利润焦点。
8、逆向汇编
汇编语言是一切程序的起点和终点,毕竟所有的高级语言都是建立在汇编基础之上的。在许多高级语言中我们都需要相对明确的语法,但是在汇编中,我们会使用一些单词缩写和数字来表达程序。 一句话总结,咱们搞网络安全的人简直是全能型人才,文能提笔安天下,武能上马定乾坤,说的有点浮夸了。
怎么入门?
我们落到具体的技术点上来,网络安全学习路线,整体学习时间大概半年左右,具体视每个人的情况而定。
如果你把每周要学的内容精细化到这种程度,你还会担心学不会,入不了门吗,其实说到底就是学了两个月,但都是东学一下,西学一下,什么内容都是浅尝辄止,没有深入进去,所以才会有学了2个月,入不了门这种感受。
1、Web安全相关概念(2周)
- 熟悉基本概念(SQL注入、上传、XSS、CSRF、一句话木马等);
- 通过关键字(SQL注入、上传、XSS、CSRF、一句话木马等)进行Google/SecWiki;
- 阅读《精通脚本黑客》,虽然很旧也有错误,但是入门还是可以的;
- 看一些渗透笔记/视频,了解渗透实战的整个过程,可以Google(渗透笔记、渗透过程、入侵过程等);
2、熟悉渗透相关工具(3周)
- 熟悉AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan等相关工具的使用;
- 了解该类工具的用途和使用场景,先用软件名字Google/SecWiki;
- 下载无后门版的这些软件进行安装;
- 学习并进行使用,具体教材可以在SecWiki上搜索,例如:Brup的教程、sqlmap;
- 待常用的这几个软件都学会了可以安装音速启动做一个渗透工具箱;
3、渗透实战操作(5周)
掌握渗透的整个阶段并能够独立渗透小型站点。 网上找渗透视频看并思考其中的思路和原理,关键字(渗透、SQL注入视频、文件上传入侵、数据库备份、dedecms漏洞利用等等);
- 自己找站点/搭建测试环境进行测试,记住请隐藏好你自己;
- 思考渗透主要分为几个阶段,每个阶段需要做那些工作;
- 研究SQL注入的种类、注入原理、手动注入技巧;
- 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等;
- 研究XSS形成的原理和种类,具体学习方法可以Google/SecWiki;
- 研究Windows/Linux提权的方法和具体使用;
4、关注安全圈动态(1周)
- 关注安全圈的最新漏洞、安全事件与技术文章;
- 通过SecWiki浏览每日的安全技术文章/事件;
- 通过Weibo/twitter关注安全圈的从业人员(遇到大牛的关注或者好友果断关注),天天抽时间刷一下;
- 通过feedly/鲜果订阅国内外安全技术博客(不要仅限于国内,平时多注意积累),没有订阅源的可以看一下SecWiki的聚合栏目;
- 养成习惯,每天主动提交安全技术文章链接到SecWiki进行积淀;
- 多关注下最新漏洞列表,推荐几个:exploit-db、CVE中文库、Wooyun等,遇到公开的漏洞都去实践下。
- 关注国内国际上的安全会议的议题或者录像,推荐SecWiki-Conference;
5、熟悉Windows/Kali Linux(3周)
- 学习Windows/Kali Linux基本命令、常用工具;
- 熟悉Windows下的常用的cmd命令,例如:ipconfig,nslookup,tracert,net,tasklist,taskkill等;
- 熟悉Linux下的常用命令,例如:ifconfig,ls,cp,mv,vi,wget,service,sudo等;
- 熟悉Kali Linux系统下的常用工具,可以参考SecWiki《Web Penetration Testing with Kali Linux》、《Hacking with Kali》等;
- 熟悉metasploit工具,可以参考SecWiki、《Metasploit渗透测试指南》;
6、服务器安全配置(3周)
- 学习服务器环境配置,并能通过思考发现配置存在的安全问题;
- Windows2003/2008环境下的IIS配置,特别注意配置安全和运行权限,;
- Linux环境下的LAMP的安全配置,主要考虑运行权限、跨目录、文件夹权限等;
- 远程系统加固,限制用户名和口令登陆,通过iptables限制端口;
- 配置软件Waf加强系统安全,在服务器配置mod_security等系统;
- 通过Nessus软件对配置环境进行安全检测,发现未知安全威胁;
7、脚本编程学习(4周)
- 选择脚本语言Perl/Python/PHP/Go/Java中的一种,对常用库进行编程学习;
- 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;
- Python编程学习,学习内容包含:语法、正则、文件、网络、多线程等常用库,推荐《Python核心编程》,不要看完;
- 用Python编写漏洞的exp,然后写一个简单的网络爬虫;
- PHP基本语法学习并书写一个简单的博客系统,参见《PHP与MySQL程序设计(第4版)》、视频;
- 熟悉MVC架构,并试着学习一个PHP框架或者Python框架(可选);
- 了解Bootstrap的布局或者CSS;
8、源码审计与漏洞分析(3周)
- 能独立分析脚本源码程序并发现安全问题。
- 熟悉源码审计的动态和静态方法,并知道如何去分析程序;
- 从Wooyun上寻找开源程序的漏洞进行分析并试着自己分析;
- 了解Web漏洞的形成原因,然后通过关键字进行查找分析;
- 研究Web漏洞形成原理和如何从源码层面避免该类漏洞,并整理成checklist。
9、安全体系设计与开发(5周)
- 能建立自己的安全体系,并能提出一些安全建议或者系统架构。
- 开发一些实用的安全小工具并开源,体现个人实力;
- 建立自己的安全体系,对公司安全有自己的一些认识和见解;
- 提出或者加入大型安全系统的架构或者开发;
这里可以参考下面这张成长路线图:
我也给大家整理了一些学习籽料,大部分我都看过,质量是比较不错的