安全防护-入侵检测实战之全面问答(上)

企业AI Agent安全防护实战:从数据泄露到提示词注入的多维防御体系 在人工智能技术快速发展的今天,大语言模型(LLM)驱动的AI Agent正成为企业数字化转型的核心组件。其工作原理基于对自然语言的理解、推理和工具调用,以实现自动化任务处理与智能决策。这一技术价值在于显著提升效率与用户体验,广泛应用于智能客服、数据分析、知识问答等场景。然而,其动态交互特性也引入了全新的安全挑战,传统的网络安全防护已不足以应对。企业级AI Agent面临的核心风险包括数据泄露与隐私侵犯,以及更具威胁的提示词注入攻击。攻击者可通过精心构造的输入,诱导模型越权执行指令或泄露敏感信息。因此,构建涵 阅读详情

  入侵检测系统IDS的地位正在逐渐增加,有效实施IDS,可以敏锐地察觉攻击者的侵犯行为,本文对IDS的概念、行为及策略等方面内容以问答形式进行全面介绍……

  在网络安全领域,随着黑客应用技术的不断“傻瓜化”,入侵检测系统IDS的地位正在逐渐增加。一个网络中,只有有效实施了IDS,才能敏锐地察觉攻击者的侵犯行为,才能防患于未然!本文对IDS的概念、行为及策略等方面内容以问答形式进行全面介绍,期望帮助管理者更快和更好地使用IDS。

  问:都有哪些重要的IDS系统?

  根据监测对象不同,IDS系统分为很多种,以下是几种很重要的IDS系统:

  1、NIDS

  NIDS是network intrusion detection system的缩写,即网络入侵检测系统,主要用于检测hacker或cracker通过网络进行的入侵行为。

  NIDS的运行方式有两种,一种是在目标主机上运行以监测其本身的通讯信息,另一种是在一台单独的机器上运行以监测所有网络设备的通讯信息,比如hub、路由器。

  2、SIV

  SIV是system integrity verifiers的缩写,即系统完整性检测,主要用于监视系统文件或者Windows 注册表等重要信息是否被修改,以堵上攻击者日后来访的后门。SIV更多的是以工具软件的形式出现,比如“Tripwire”,它可以检测到重要系统组件的变换情况,但并不产生实时的报警信息。

  3、LFM

  LFM是log file monitors的缩写,即日志文件监测器,主要用于监测网络服务所产生的日志文件。LFM通过检测日志文件内容并与关键字进行匹配的方式判断入侵行为,例如对于HTTP服务器的日志文件,只要搜索“swatch”关键字,就可以判断出是否有“phf”攻击。

  4、Honeypots

  蜜罐系统,也就是诱骗系统,它是一个包含漏洞的系统,通过模拟一个或多个易受攻击的主机,给黑客提供一个容易攻击的目标。由于蜜罐没有其它任务需要完成,因此所有连接的尝试都应被视为是可疑的。蜜罐的另一个用途是拖延攻击者对其真正目标的攻击,让攻击者在蜜罐上浪费时间。与此同时,最初的攻击目标受到了保护,真正有价值的内容将不受侵犯。蜜罐最初的目的之一是为起诉恶意黑客搜集证据,这看起来有“诱捕”的感觉。

  问:谁是入侵者?

  通常我们将入侵者称为hacker,但实际上这是不准确的。可以这么说:hacker是发现系统漏洞并修补漏洞的,cracker才是利用漏洞占山头搞破坏的入侵者。为了不混淆视听,在此干脆统一叫作入侵者吧。一般来说,入侵者分为两类:内部和外部。内部入侵者通常利用社会工程学盗用非授权帐户进行非法活动,比如使用其他人的机器、冒充是处长或局长;外部入侵者则要借助一定的攻击技术对攻击目标进行监测、查漏,然后采取破坏活动。

  有一点请牢记:统计表明,入侵行为有80%来自内部。

  问:入侵者如何进入系统?

  主要有三种方式:

  1、物理入侵

  指入侵者以物理方式访问一个机器进行破坏活动,例如趁人不备遛进机房重地赶紧敲打两下键盘试图闯入操作系统、拿着钳子改锥卸掉机器外壳“借”走硬盘装在另一台机器上进行深入研究。

  2、系统入侵

  指入侵者在拥有系统的一个低级账号权限下进行的破坏活动。通常,如果系统没有及时“打”最近的补丁程序,那么拥有低级权限的用户就可能利用系统漏洞获取更高的管理特权。

  3、远程入侵

  指入侵者通过网络渗透到一个系统中。这种情况下,入侵者通常不具备任何特殊权限,他们要通过漏洞扫描或端口扫描等技术发现攻击目标,再利用相关技术执行破坏活动。NIDS主要针对的就是这种入侵。

  问:入侵者为何能闯入系统?

  苍蝇不盯无缝的蛋,入侵者只要找到复杂的计算机网络中的一个缝,就能轻而易举地闯入系统。所以,了解这些缝都有可能在哪里,对于修补它们至关重要。通常,裂缝主要表现在软件编写存在bug、系统配置不当、口令失窃、明文通讯信息被监听以及初始设计存在缺陷等方面。

  1、软件编写存在bug

  无论是服务器程序、客户端软件还是操作系统,只要是用代码编写的东西,都会存在不同程度的bug。Bug主要分为以下几类:

  缓冲区溢出:指入侵者在程序的有关输入项目中了输入了超过规定长度的字符串,超过的部分通常就是入侵者想要执行的攻击代码,而程序编写者又没有进行输入长度的检查,最终导致多出的攻击代码占据了输入缓冲区后的内存而执行。别以为为登录用户名留出了200个字符就够了而不再做长度检查,所谓防小人不防君子,入侵者会想尽一切办法尝试攻击的途径的。

  意料外的联合使用问题:一个程序经常由功能不同的多层代码组成,甚至会涉及到最底层的操作系统级别。入侵者通常会利用这个特点为不同的层输入不同的内容,以达到窃取信息的目的。例如:对于由Perl编写的程序,入侵者可以在程序的输入项目中输入类似“| mail < /etc/passwd”的字符串,从而使perl让操作系统调用邮件程序,并发送出重要的密码文件给入侵者。借刀杀人、借Mail送“信”,实在是高!

  不对输入内容进行预期检查:有些编程人员怕麻烦,对输入内容不进行预期的匹配检查,使入侵者输送炸弹的工作轻松简单。

  Race conditions:多任务多线程的程序越来越多,在提高运行效率的同时,也要注意Race conditions的问题。比如说:程序A和程序B都按照“读/改/写”的顺序操作一个文件,当A进行完读和改的工作时,B启动立即执行完“读/改/写”的全部工作,这时A继续执行写工作,结果是A的操作没有了表现!入侵者就可能利用这个处理顺序上的漏洞改写某些重要文件从而达到闯入系统的目的,所以,编程人员要注意文件操作的顺序以及锁定等问题。

  2、系统配置不当

  默认配置的不足:许多系统安装后都有默认的安全配置信息,通常被称为easy to use。但遗憾的是,easy to use还意味着easy to break in。所以,一定对默认配置进行扬弃的工作。

  管理员懒散:懒散的表现之一就是系统安装后保持管理员口令的空值,而且随后不进行修改。要知道,入侵者首先要做的事情就是搜索网络上是否有这样的管理员为空口令的机器。

  临时端口:有时候为了测试之用,管理员会在机器上打开一个临时端口,但测试完后却忘记了禁止它,这样就会给入侵者有洞可寻、有漏可钻。通常的解决策略是:除非一个端口是必须使用的,否则禁止它!一般情况下,安全审计数据包可用于发现这样的端口并通知管理者。

  信任关系:网络间的系统经常建立信任关系以方便资源共享,但这也给入侵者带来借牛打力、间接攻击的可能,例如,只要攻破信任群中的一个机器,就有可能进一步攻击其他的机器。所以,要对信任关系严格审核、确保真正的安全联盟。

 3、口令失窃

  弱不禁破的口令:就是说虽然设置了口令,但却简单得再简单不过,狡猾的入侵者只需吹灰之力就可破解。

  字典攻击:就是指入侵者使用一个程序,该程序借助一个包含用户名和口令的字典数据库,不断地尝试登录系统,直到成功进入。毋庸置疑,这种方式的关键在于有一个好的字典。

  暴力攻击:与字典攻击类似,但这个字典却是动态的,就是说,字典包含了所有可能的字符组合。例如,一个包含大小写的4字符口令大约有50万个组合,1个包含大小写且标点符号的7字符口令大约有10万亿组合。对于后者,一般的计算机要花费大约几个月的时间才能试验一遍。看到了长口令的好处了吧,真正是一两拨千斤啊!

  4、嗅探未加密通讯数据

  共享介质:传统的以太网结构很便于入侵者在网络上放置一个嗅探器就可以查看该网段上的通讯数据,但是如果采用交换型以太网结构,嗅探行为将变得非常困难。

  服务器嗅探:交换型网络也有一个明显的不足,入侵者可以在服务器上特别是充当路由功能的服务器上安装一个嗅探器软件,然后就可以通过它收集到的信息闯进客户端机器以及信任的机器。例如,虽然不知道用户的口令,但当用户使用Telnet软件登录时就可以嗅探到他输入的口令了。

  远程嗅探:许多设备都具有RMON(Remote monitor,远程监控)功能以便管理者使用公共体字符串(public community strings)进行远程调试。随着宽带的不断普及,入侵者对这个后门越来越感兴趣了。

  5、TCP/IP初始设计存在缺陷

  即使软件编写不出现bug,程序执行时也按照正确的步骤进行,但初始设计存在缺陷仍会导致入侵者的攻击。TCP/IP协议现在已经广为应用、大行其道了,但是它却是在入侵者猖狂肆虐的今天之很早以前设计出来的。因此,存在许多不足造成安全漏洞在所难免,例如smurf攻击、ICMP Unreachable数据包断开、IP地址欺骗以及SYN湮没。然而,最大的问题在于IP协议是非常容易“轻信”的,就是说入侵者可以随意地伪造及修改IP数据包而不被发现。幸好,大救星Ipsec协议已经开发出来以克服这个不足。

  问:入侵者如何获取口令?

  1、监听明文口令信息

  大量的通讯协议比如Telnet、Ftp、基本HTTP都使用明文口令,这意味着它们在网络上是赤裸裸地以未加密格式传输于服务器端和客户端,而入侵者只需使用协议分析器就能查看到这些信息,从而进一步分析出口令,成为真用户的克隆。

  2、监听加密口令信息

  当然,更多的通讯协议是使用加密信息传输口令的。这时,入侵者就需要借助字典或者采用暴力攻击法来解密了。注意,我们并不能察觉到入侵者的监听行为,因为他在暗处,是完全被动的,没有发送任何信息到网络上,入侵者的机器仅被用于分析这些口令信息。

  3、重放攻击(Replay attack)

  这又是一种间接的攻击方式,就是说:入侵者不必对口令进行解密,需要的是重新编写客户端软件以使用加密口令实现系统登录。

  4、窃取口令文件

  口令文件通常都保存在一个单独的文件中,例如UNIX系统的口令文件是/etc/passwd(也可能是那个文件的镜像),WinNT系统的口令文件是/winnt/system32/config/sam。入侵者一旦获取了口令文件,就可以使用破解程序发现其中的弱口令信息。

  5、观察

  用户可能由于设置的口令复杂难记而将它写在一张纸上压在键盘下随时查看,或者在输入口令的时候不管身后有没有站着一位“看客”。入侵者的搜索力与记忆力都非常好,这些操作习惯对他们来说简直就是轻松练兵。所以,别忽视入侵者的眼睛!

  6、社会工程

  前面提到过这个问题,社会工程就是指采用非隐蔽方法盗用非授权帐户进行的非法活动,比如使用其他人的机器、冒充是处长或局长骗取管理员信任得到口令等等。记住:如果有人想要你的口令,无论他说是为了什么,请记住他,一旦发生了关于口令的案件,那个人就是头号嫌疑犯!

  问:典型的入侵场景有哪些?

  所谓入侵场景,就是指入侵者都会从哪些方面采取哪些步骤尝试攻击系统。典型的入侵画面是这样一幕幕展开的:

  1、外部调研

  知己知彼,百战不殆。入侵者攻击的第一步就是尽一切可能对攻击目标进行调研以获取充足的资料。采取的方法包括:使用whois工具获取网络注册信息;使用nslookup或dig工具搜索DNS表以确定机器名称;搜索关于公司的公开新闻。这一步对于被攻击者是完全不知的。

  2、内部分析

  确定了攻击目标的基本属性(站点地址、主机名称),入侵者将对它们进行深入剖析。方法有:遍历每个Web页面搜索是否存在CGI漏洞;使用ping工具一一探寻“活”着的机器;对目标机器执行UDP/TCP扫描以发现是否有可用服务。这些行为都属于正常的网络操作,还不能算作入侵行为,但是NIDS系统将能够告诉管理者“有人正在撼动门把手……”

  3、漏洞利用

  现在到了开始动手的时候了!破坏花样实在繁多,在此择优列举如下:通过在输入项目中写入壳命令字符串(shell command)来考验CGI脚本的安全性;通过发送大量数据以确定是否存在臭名昭著的缓冲区溢出漏洞;尝试使用简单口令破解登录障碍。当然,混合使用多种方式是攻占成功的不二法门。

  4、站稳脚跟

  对于入侵者而言,一旦成功地入侵了网络中的一台机器,就可以说是站稳脚跟了。入侵者现在要做的就是隐藏入侵痕迹并制造日后再攻的后门,这就需要对日志文件或其他系统文件进行改造,或者安装上木马程序、或者替换系统文件为后门程序。这时,SIV(系统完整性检测)系统会注意到这些文件的变化。由于内部网络中的安全措施通常都比较少,进一步地,入侵者将以这第一台机器作为跳板,攻击网络中的其他机器,寻找下一个安身之家。

  5、享受成果

  到此,入侵者可以说是完成了攻击任务,剩下的就是享受成果了:或者对窃取的秘密文件肆意使用、或者滥用系统资源、或者篡改Web页面内容,甚至将你的机器作为跳板攻击其他机器。

  以上讨论是的有目的入侵者的通常行为。还有一种入侵场景通常被称为“birthday attack”,我想其含义是模拟生日时接收到许多熟人或者未知朋友的礼物吧,不过用在这里还要在礼物前加上“攻击”两字了。Birthday attack的一般步骤是:随机搜索一个Internet地址;搜索其上是否有指定的漏洞;如果有,根据已知的漏洞利用方法进行攻击。

构建安全可靠的LLM应用架构 《构建安全可靠的LLM应用架构》 关键词:大型语言模型(LLM),应用架构,安全性,可靠性,设计原则 摘要:本文旨在深入探讨如何构建一个安全可靠的大型语言模型(LLM)应用架构。首先,我们将概述LLM应用架构的核心概念和基本要素,然后分析 阅读详情

相关推荐

谭晓生:基于大数据分析的网络攻击检测

在第六届中国云计算大会安全论坛上,360公司首席隐私官、副总裁谭晓生在演讲“基于大数据分析的网络攻击检测”介绍了如何用云计算技术解决安全问题。360作为安全公司是被别人攻击的重点,作为一个安全公司如果说你被别人渗透过来,恶意的样本被加载等等影响是非常大的,甚至会关系到国家安全层面的东西。

入侵检测实战之全面问答

来源:chinaunix/酷客天堂在网络安全领域,随着黑客应用技术的不断“傻瓜化”,入侵检测系统IDS的地位正在逐渐增加。一个网络中,只有有效实施了IDS,才能敏锐地察觉攻击者的侵犯行为,才能防患于未然!本文对IDS的概念、行为及策略等方面内容以问答形式进行全面介绍,期望帮助管理者更快和更好地使用IDS。  问:都有哪些重要的IDS系统?  根据监测对象不同,IDS系统分为很多种,以下是几种很

758

Spring Secrutity

Spring Secrutity配置 及 受保护的资源和权限的信息, 如何不配置在配置文件中, 而从数据表中进行获取

【入侵检测】window下安装snort

Snort是一个跨平台、轻量级的网络入侵检测工具,属于基于网络的误用检测。Snort的软件模块组成:(1)数据包嗅探模块——负责监听网络数据包,对网络进行分;(2)预处理模块——该模块用相应的插件来检查原始数据包,从中发现原始数据的“行为”,如端口扫描,IP碎片等,数据包经过预处理后才传到检测引擎;(3)检测模块——该模块是Snort的核心模块。当数据包从预处理器送过来后,检测引擎依据预先设置的规则检查数据包,一旦发现数据包中的内容和某条规则相匹配,就通知报警模块;

c10udz的博客 7265

PTPX功耗分析实战——从脚本配置到报告解读

本文详细介绍了PTPX功耗分析的全流程,从脚本配置到报告解读,帮助工程师快速掌握芯片设计中的功耗估算技术。文章涵盖了环境搭建、波形文件处理、功耗报告解析等关键环节,并提供了实战经验和优化建议,特别适合需要提升PTPX功耗分析效率的开发者。

weixin_29248313的博客 279

SpringBoot 指标监控——Actuator

1、 访问:localhost:8000/actuator 设置健康监控显示具体情况 metrics http://localhost:8000/actuator/metrics/jvm.gc.live.data.size 定制化health信息 //利用构造器,在注册中心中添加cityService.saveCity.count指标 public CityServiceImpl(MeterRegistry meter...

weixin_44302046的博客 4628

网络安全:4个热门有用的开源网络入侵检测系统

入侵检测系统可以分为两种类型:网络入侵检测系统(Network IDS,NIDS)和主机入侵检测系统(Host IDS,HIDS)。NIDS监测网络流量,而HIDS监测主机上的系统活动。本文将分享在开源社区比较火热,以及各大安全公司都在使用的开源网络入侵检测系统,同时本人也曾在工作中使用和学习过suricata、snort、zeek/bro、OSSEC、security Onion这些软件工具,以及做过一些安全分析和源码阅读,下一篇将分享关于主机上的开源入侵检测系统。

ewii12567的博客 6703

NR RRC协议(2)---RRC连接建立流程

RRC连接建立目的是建立SRB1 RRC连接建立还用于将初始NAS消息从UE传送到网络 RRC连接的初始阶段期间,不激活AS安全性 RRC连接建立由UE侧发起

crg2046的博客 1957

一文详解五大网络安全攻击类型

随着网络规模和复杂性不断增大,网络攻击的类型也日益繁多,企业面临的网络安全问题越发严峻。提到网络攻击,很多人脑海会浮现特洛伊木马、黑客……多方位多手段化的网络攻击让人防不胜防。。本文将就此五大类攻击方法展开简单介绍,帮助大家进一步了解网络安全攻击相关知识。指技术上的行家或热衷于解决问题, 克服限制的人;是那些喜欢进入其他人系统的人;骇客和黑客之间最主要的不同是:黑客们创造新东西,骇客们破坏东西。侵入者绕过物理控制而获得对系统的访问。对机器有物理进入权限 (比如他们能使用键盘)。

qq_53058639的博客 4268

Cocos Creator+微信小游戏:如何用wxDownloader实现资源动态加载与热更新

本文深入探讨了在Cocos Creator开发微信小游戏时,如何利用wxDownloader有效应对主包体积限制,实现资源的动态加载与热更新。文章详细介绍了从项目配置、资源标记到初始化加载的完整流程,并重点解析了基于MD5 Cache的缓存策略与版本控制方案,旨在帮助开发者构建稳健高效的资源管理体系,优化游戏启动速度与更新体验。

css33的专栏 822

RK3588+YT9215快速拓展以太网口

YT9215支持7个端口的非阻塞数据传输,确保高效的数据流处理;在开发过程中,最重要的一点就是YT9215与RK3588的GMAC连接和配置部分,下面是gmac1对应dtsi文件的修改,包括注释掉rgmii_phy1对应的mdio1,以及gmac1对应的phy-handle部分,同时将gmac1修改成1000Mbps全双工模式。这就是最简单,最快速的RK3588拓展网口的方法了,如果需要用到交换芯片的其他功能,那就不可以直接使用原厂提供的bin,而是需要对YT9215进行另外的驱动开发。

带着耳朵取流浪的博客 2793

你对入侵检测了解多少呢?

有关入侵检测,你知道这些吗

qq_49149766的博客 2739

Coze智能体开发:开始使用扣子

扣子全新升级!它不仅能帮你办公、做视频、写代码,更具备自主任务执行、探索进化等能力,真正从“陪你聊”走向“帮你干活”。

王国平的博客 123

安全防护:入侵检测实战之全面问答(转)

 在网络安全领域,随着黑客应用技术的不断“傻瓜化”,入侵检测系统IDS的地位正在逐渐增加。一个网络中,只有有效实施了IDS,才能敏锐地察觉攻击者的侵犯行为,才能防患于未然!本文对IDS的概念、行为及策略等方面内容以问答形式进行全...

cuankuangzhong6373的博客 385

2025华为杯第二十二届中国研究生数学建模竞赛E题:高速列车轴承智能故障诊断问题 - 完整解题分析+完整MATLAB源码!

🎓 本文收录于 《滚雪球学数学建模》专栏,本专栏专注于从零基础出发,带你循序渐进掌握数学建模的核心方法与思维路径。通过“滚雪球式”学习法,从最简单的生活化案例到经典建模工具,再到省赛、国赛真题实战演练,逐步积累知识与技能,帮助你搭建完整的建模体系。无论你是刚接触建模的新生,还是希望提升科研与竞赛能力的学者与工程师,本专栏都将为你提供一条清晰、高效、可实操的建模成长路线,助力你快速进阶,突破难点,迈向数学建模竞赛与实际应用的更高峰 🚀!

**My Coding Family** 1992

【好物推荐】MQTTX 快速入门使用指南

摘要:MQTTX是一款跨平台MQTT客户端工具,支持MQTT 5.0/3.1.1协议,提供桌面版、网页版和CLI版本。本文介绍了快速入门指南,包括下载安装、核心概念解释、连接公共MQTT服务器(broker.emqx.io)的步骤,以及订阅主题、发布和接收消息的操作流程。文章还提供了常见问题排查方法,帮助用户快速完成MQTT开发调试的基本操作。

奶爸的编程之路,也就一周冷个三天 868

安全防护-入侵检测实战之全面问答(下)

  入侵检测系统IDS的地位正在逐渐增加,有效实施IDS,才能敏锐地察觉攻击者的侵犯行为,本文对IDS的概念、行为及策略等方面内容以问答形式进行全面介绍……  在网络安全领域,随着黑客应用技术的不断“傻瓜化”,入侵检测系统IDS的地位正在逐渐增加。一个网络中,只有有效实施了IDS,才能敏锐地察觉攻击者的侵犯行为,才能防患于未然!本文对IDS的概念、行为及策略等方面内容以问答形式进行全面介绍

cjwid的专栏 1963

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

深入解析 -sh sudo : bot found 的实战应用与安全防护

基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。架构理解:掌握实时语音应用的完整技术链路(ASR→LLM→TTS)技能提升:学会申请、配置与调用火山引擎AI服务定制能力:通过代码修改自定义角色性格与音色,实现“从使用到创造”从0到1构建生产级别应用,脱离Demo,点击打开。

2600_94959806的博客 345

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

AI Agent工程可控性:从可观测性到安全防护

AI Agent作为人工智能领域的重要应用,其核心价值在于通过自主决策能力完成复杂任务。从技术原理看,现代Agent系统基于大语言模型构建,通过工具调用、记忆检索等机制实现业务闭环。在工程实践中,Agent的可观测性成为关键挑战,需要建立包含日志系统、指标监控和分布式追踪的完整框架。安全防护则涉及输入过滤、权限控制、数据脱敏等多层防御体系。特别是在金融风控、医疗诊断等场景中,通过提示词审计、推理链可视化等技术手段,可有效提升Agent的可靠性与合规性。随着多模态技术和形式化验证的发展,AI Agent的可控

weixin_34416754的博客 386

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

揭秘全球首个网络安全大模型:SecGPT如何重塑AI驱动的安全防护体系

在数字化时代,网络安全威胁日益复杂多变,传统防护手段面临严峻挑战。SecGPT作为全球首个专注于网络安全领域的开源大模型,通过人工智能技术为安全防护带来了革命性的突破。这个基于深度学习的安全智能助手不仅能理解复杂的漏洞原理、分析攻击行为,还能为安全专家提供精准的决策支持,真正实现了安全防护的智能化升级。 ## 🎯 SecGPT的价值定位:从被动防御到主动智能 SecGPT的核心价值在于将传统

gitblog_00323的博客 107

网络攻击防御的智能化革命:编程工具如何助力安全防护

最新接入DeepSeek-V3模型,点击下载最新版本InsCode AI IDE 网络攻击防御的智能化革命:编程工具如何助力安全防护 在当今数字化时代,网络安全问题日益严峻。网络攻击的手段层出不穷,从简单的钓鱼邮件到复杂的APT(高级持续性威胁)攻击,企业及个人用户面临着前所未有的挑战。为了有效应对这些威胁,网络安全专家们不仅需要深厚的技术积累,还需要高效的工具来辅助他们进行开发和维护。近年来,随...

inscode_073的博客 895

网络安全笔记-信息安全工程师与网络安全工程师考试大纲(附:Web安全大纲)_信息网络安全师认证(inspc)培训工作大纲

根据国家网络信息安全 相关法律法规及业务安全保障要求,能够规划、设计信息系统安全方案,能够配置和维护常见 的网络安全设备及系统;通过本考试的合格人员能根据应用部门的要求进行网络系统的规划、设计和网络设备的软硬件 安装调试工作,能进行网络系统的运行、维护和管理,能高效、可靠、安全地管理网络资源, 作为网络专业人员对系统开发进行技术支持和指导,具有工程师的实际工作能力和业务水平, 能指导网络管理员从事网络系统的构建和管理工作。(6)掌握网络安全的基本技术和主要的安全协议;(15)理解网络应用的基本原理和技术;

Libra1313的博客 1921

构筑网络攻防的智能防线:新时代开发者必备技能

构筑网络攻防的智能防线:新时代开发者必备技能 随着信息技术的迅猛发展,网络安全问题日益凸显。从个人隐私泄露到企业数据失窃,网络攻击已经成为了全球范围内的重大挑战。面对这一现状,传统的防御手段显得力不从心,而智能化工具则为网络攻防带来了新的希望。本文将探讨如何利用智能化编程工具提升网络安全防御能力,并重点介绍一种强大的开发环境,帮助开发者构建更加坚固的安全防线。 最新接入DeepSeek-V3模型,...

inscode_077的博客 654

“技术应用+安全防护+合规治理“,AIS课程体系深度解析

深入教授AI在威胁检测(入侵检测、用户与实体行为分析)、安全运营(日志自动化、SOAR、威胁情报)、渗透测试(AI辅助漏洞挖掘、PoC生成、攻击路径规划)、日志与流量分析(DNS隧道检测、JA3指纹)、恶意样本分析、代码审计等领域的应用。系统教授AI应用系统安全架构、LLM八大安全风险(提示注入、模型越狱、模型拒绝服务、敏感信息泄露、过度代理、过度依赖、模型盗窃、模型幻觉)及防御策略、供应链安全(数据链、模型链、工具链)、行业场景AI安全(医疗、金融、工控、车联网)。· - 2022年:AI安全方向立项。

NISPCISP的博客 203

安防与公共安全:智能化工具助力新时代安防系统开发

安防与公共安全:智能化工具助力新时代安防系统开发 最新接入DeepSeek-V3模型,点击下载最新版本InsCode AI IDE 引言 在当今数字化时代,安防与公共安全的重要性日益凸显。随着城市化进程的加快和人口流动的增加,传统的安防手段已经难以满足现代社会的需求。与此同时,人工智能(AI)、物联网(IoT)等新兴技术为安防与公共安全带来了前所未有的机遇。作为一款由优快云、GitCode和华...

inscode_035的博客 1121

股票交易中免费开通API接口有哪些潜在风险?如何有效规避?

交易领域中,开通API接口有风险,要采取有效措施规避。知晓风险和规避办法,可保障交易安全稳定,帮助投资者更顺畅地参与市场交易。

股票程序化接口 923
上一篇: 十大招彻底解决无线AP故障
下一篇: 安全防护-入侵检测实战之全面问答(下)
cjwid
博客等级 码龄19年 19粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值