文章作者:Fr. Qaker [E.S.T]
信息来源:邪恶八进制信息安全团队(www.eviloctal.com)
备注:AXLFilter研究中
本软件开源目的
防御CC类型攻击,共享ISAPI编程思路,追求共享精神。
开源花絮
AAFW在2005年12月底就已经完成,现在需要的就是一些功能的补充和界面的优化,所以还是具有一定学习意义的。
原来发布过CC的源代码,但是发生了一些很不开心的事。这次要发布代码,很多朋友因此建议我不要开源。但是,代码放在手里,放着也是浪费,也不符合自己的共享精神。当初,我自己成长的时候也是读别人的代码提高自身的过程,乘凉不忘栽树人。虽然有不少小人,就让他去吧,真理永远变不了,小人得逞只是一时,大家技术的共同提高,共享精神的保持才是最重要的。
AntiAttackFireWall(AAFW)介绍
AA防火墙是一款IIS ISAPI防火墙,利用ISAPI FILTER进行系统保护,利用ISAPI EXTENTION进行管理。
目前代码已经实现了,有效防止盗链,有效防止CC攻击,有效控制文件下载,有效IP连接限制等功能,而且很多功能都考虑到了扩充问题,所以很容易的修改代码进行功能添加。
特别提下,里面的Base64的编码功能是我从网络上复制的一段代码改编来的。
IP管理用的是二叉树进行内存查找,正常情况下,十万次IP记录(十万数量级)的查找能在0.01秒内完成,建议修改的时候将数据进行hash算法。
原创SQL注入保护代码混合在Decode里面,过滤了()<>‘;= 因为<>=是判断符号,没有这三个符号,基本无法进行条件语句的构造,用()限制了decalre这样的使用和sql语句的套用,用’;杜绝了SQL语句的分隔,应该说,这样的过滤是相对比较安全,而且有效的。
程序本身有访问者按IP管理,所以很方便进行下载限制。
盗链问题,用的是IP判断,看访问者是否访问过本站,用以判断,而不是refer判断,建议加上refer判断增加精确性,接下来会专门研究这个问题。
防止CC攻击用的就是原来我给出的asp防御的思路,采用IIS ASP的随机生成Session的方法,而且session值绑定在访问者的IP记录下。
控制文件下载,也是基于IP的,建议参考后台管理的登录代码,运用Base64的解码,可以很方便的开发会员区这样专业级别的登录控制,甚至可以考虑使用数据库存储用户,比ASP的管理有效的多,而且安全。
顺带感叹
近日的迅雷事件,我在这里支持天空,鄙视华军和迅雷。
迅雷的软件,思路,效率令人佩服,确实是个好东西。但是,大家听说过杀鸡取卵的故事么,迅雷现在就是,他自己建立了门户,提供软件搜索,软件从其他软件下载站下载。看上去挺不错的。潜在问题发生了,一个软件,很多地方同时提供,但是在迅雷中显示的站点只有一个,那么以后各家下载的站估计都要给迅雷送钱,这样才能让自己的站点多显示几次,多一些广告收入阿。下载的时候,管你是谁,只要有这个文件,迅雷就能下,流量上去了。这样做来,用户感觉不错,速度快,但是下载站呢?流量上去了,广告下来了,收入比支出少了,而且广告成倍的少,流量成倍的加,后果是什么?还记得baidu的mp3搜索吧,现在音乐站还有多少?还记得baidu的竞价广告吧,不给钱,你的页面别显示了,你的软件我照样用,不服?叫天天不应,叫地地不灵。说实话,迅雷作软件,佩服,做门户,卑鄙。杀鸡取卵,不改大家以后都没软件下,不信看吧。迅雷可是说了哦,我们不提供软件下载的,嘿嘿。
再说一个潜在威胁,迅雷就使加强版的CC,不信就看,千万用户一起用,每人5个连接,迅雷说今天,天空和我闹,大家一起去挤它的软件下载吧,天空崩溃了。明天,华军这个小人又出尔反尔了,大家去挤它吧。别和我说什么它很有商业道德,baidu多大的一个网站,不照样出来一个8848攻击事件,这次迅雷的做法,嘿嘿,好像更猛。
华军,嘿嘿,就是一个炒作家,先领头出来说,迅雷卑鄙阿,坏阿,然后,不知道得到什么好处,嘿嘿,第一个叛变了,不信大家去华军网上看看,这样的领头羊,嘿嘿,就是披着狼皮,自己炒作自己,能活到最后,但是第一个出卖用户的肯定是它。
天空,赞一个,支持一个,顶住,你要倒了,我们以后软件下载没了,一定要坚持住,让迅雷改。谢谢。
推荐网站
VIF:一个商业版本的IIS防火墙,界面比我的好看多了,功能呢,说实话是同类产品,但是有后续性,不断更新重,大家支持一个http://vif.foosun.cn
邪恶八进制:我的根据地,欢迎大家来指导 http://forum.eviloctal.com/ ,
我的软件首发地色釉-信手绾红尘:美文欣赏http://blog.sina.com.cn/u/1236648217强烈推荐里面的诱惑,嘿嘿http://blog.sina.com.cn/u/49b5c1190100043h
NDS论坛:喜欢玩NDS的朋友可以去看看http://www.ndsman.com/bbs,好像遇到了和天空一样的问题,被某个叫NDSBBS的网站盗链加恶意中伤。
浩联电子:http://www.591hl.com家乡的一个公司,感谢一个长期支持我的朋友 [m*],估计他不想在这里出名,嘻嘻
近日计划
集中精力研究AXLFilter,用IIS ISAPI FILTER彻底解决盗链问题,然后发布源代码,希望相关下载站与我联系测试盗链效果和防迅雷下载,概念代码将在第一时间发布。
我的联系方式:bigboyq[at]eviloctal[dot]com
点击下载
分类 : 技术文摘 | 发表时间 13-06-2006
分类 : 系统安全 | 发表时间 13-06-2006
信息来源:BackLi’blog
保证信息系统安全的经典手段是“存取控制”或“访问控制”,但无论在理论上还是在实践中,这种手段都不能彻底填补一个系统的安全漏洞,也还没有一种切实可行的办法解决合法用户在通过“身份鉴别”或“身份认证”后滥用特权的问题。攻击检测技术就像治安巡逻队,专门注重于发现形迹可疑者。
计算机网络技术的发展和应用对人类生活方式的影响越来越大。通过Internet网连接到几乎世界上任何一台计算机。因此,传统的安全域的概念也已经发生了深刻的变化,边界变得模糊了,网络系统管理员再也不能满足于守住安全边界了;也不再有信心保护敏感信息万无一失。越来越多的证据表明计算机信息系统的安全性是十分脆弱的。基于计算机、网络的信息系统的安全问题已经成为非常严重的问题。
一、存取控制与攻击检测:站岗与巡逻
保证信息系统安全的经典手段是“存取控制”或“访问控制”,这种手段在经典的以及现代的安全理论中都是实行系统安全策略的最重要的手段。但迄今为止,软件工程技术还没有达到A2级所要求的形式生成或证明一个系统的安全体系的程度,所以不可能百分之百地保证任何一个系统(尤其是底层系统)中不存在安全漏洞。而且,无论在理论上还是在实践中,试图彻底填补一个系统的安全漏洞都是不可能的,也还没有一种切实可行的办法解决合法用户在通过“身份鉴别”或“身份认证”后滥用特权的问题。打个比方,经典的安全体系就像一座城池,身份认证就好像进城时的查路条一样,着重点在于防范奸细混入;但是这种措施对于城池的安全仍是远远不够的。
攻击检测作为其他经典手段的补充和加强,是任何一个安全系统中不可或缺的最后一道防线;攻击检测可以分为被动、非在线地发现和实时、在线地发现计算机网络系统中的攻击者两种方法。从大量非法入侵或计算机盗窃案例可以清晰地看到,计算机系统的最基本防线“存取控制”或“访问控制”,在许多场合不是防止外界非法入侵和防止内部用户攻击的绝对无懈可击的屏障。大量攻击成功的案例是由于系统内部人员不恰当地或恶意地滥用特权而导致的。攻击检测技术则类似于治安巡逻队,专门注重于发现形迹可疑者,信息系统的攻击者很有可能通过了城门的身份检查,或者爬越了城墙而混入城中;这时要想进一步加强信息系统的安全强度,就需要增派一支巡逻队,专门负责检查在城市中鬼鬼祟祟行动可疑的人员。
攻击检测提供了一种机制,对合法用户而言能够在一定程度上使他们为其失误或非法行为负责,从而增强他们的责任感。对非法进入的攻击者而言则意味着增强了纠察力度,行使着公安局、检察院的职责。攻击检测具有最后防线性质的防范能力,或许是用来发现合法用户滥用特权的唯一方法,而且完善的攻击检测还能用具有法律效力的方式证明一个受到怀疑的人是否有罪。
早期中大型的计算机系统中都收集审计信息来建立跟踪文件,这些审计跟踪的目的多是为了性能测试或计费,因此对攻击检测提供的有用信息比较少。
二、攻击检测技术
1.攻击分类
在信息系统中,一般至少应当考虑如下三类安全威胁:外部攻击、内部攻击和行为滥用。攻击者来自该计算机系统的外部时称作外部攻击;当攻击者就是那些有权使用计算机,但无权访问某些特定的数据、程序或资源的人企图越权使用系统资源时视为内部攻击,包括假冒者(即那些使用其他合法用户的身份和口令的人)、秘密使用者(即那些有意逃避审计机制和存取控制的人员);特权滥用者也是计算机系统资源的合法用户,表现为有意或无意地滥用他们的特权。
通过审计试图登录的失败记录可以发现外部攻击者的攻击企图;通过观察试图连接特定文件、程序和其他资源的失败记录可以发现内部攻击者的攻击企图,如可通过比较为每个用户单独建立的行为模型和特定的行为来检测发现假冒者;但要通过审计信息来发现那些权利滥用者往
往是很困难的。
基于审计信息的攻击检测特别难于防范具备较高优先特权的内部人员的攻击,因为攻击者可通过使用某些系统特权或调用比审计本身更低级的操作来逃避审计。对于那些具备系统特权的用户,需要审查所有关闭或暂停审计功能的操作,通过审查被审计的特殊用户、或者其他的审计参数来发现。审查更低级的功能,如审查系统服务或核心系统调用通常比较困难,通用的方法很难奏效,需要专用的工具和操作才能实现。总之,为了防范隐秘的内部攻击需要在技术手段以外确保管理手段行之有效,技术上则需要监视系统范围内的某些特定的指标(如CPU、内存和磁盘的活动),并与通常情况下它们的历史记录进行比较,以期发现之。
2.攻击检测技术分类
基于计算机系统审计跟踪信息设计和实现的系统安全自动分析或检测工具是最为自然朴素的攻击检测技术。可以从审计系统筛选出涉及安全的信息。其思路与流行的数据挖掘(Data Mining)技术极其类似。
基于审计的自动分析检测工具可以是脱机的,也可以是联机或在线的。分析工具实时地对审计跟踪文件提供的信息进行同步处理,当有可疑的入侵行为时,系统提供实时的警报,在攻击发生时就能提供攻击者的有关信息。
对于信息系统安全强度而言,联机或在线的攻击检测是比较理想的,能够在案发现场及时发现攻击行为,有利于及时采取对抗措施,使损失降低到最低限度。同时也为抓获攻击犯罪分子提供有力的证据。但是,联机的或在线的攻击检测系统所需要的系统资源,几乎随着系统内部活动数量的增长呈几何级数增长。
3.攻击检测方法
(1)基于审计的攻击检测
基于审计信息的攻击检测工具以及自动分析工具可以向系统安全管理员报告计算机系统活动的评估报告,通常是脱机的、滞后的。
对攻击的实时检测系统的工作原理是基于对用户历史行为的建模,以及在早期的证据或模型的基础之上。审计系统实时地检测用户对系统的使用情况,根据系统内部保持的用户行为的概率统计模型进行监测,当发现有可疑的用户行为发生时,保持跟踪并监测该用户的行为。
系统应具备处理自适应的用户参数的能力。能够判断使用行为的合法或可疑。系统应当能够避免“肃反扩大/缩小化”的问题。这种办法同样适用于检测程序的行为以及对数据资源(如文件或数据库)的存取行为。
(2)基于神经网络的攻击检测技术
如上所述,基于审计统计数据的攻击检测系统,具有一些天生的弱点,因为用户的行为可以是非常复杂的,所以想要准确匹配一个用户的历史行为和当前的行为是相当困难的。错发的警报往往来自于对审计数据的统计算法所基于的不准确或不贴切的假设。SRI的研究小组利用和发展神经网络技术来进行攻击检测。神经网络可能用于解决传统的统计分析技术所面临的以下几个
问题:
●难于建立确切的统计分布
●难于实现方法的普适性
●算法实现比较昂贵
●系统臃肿难于剪裁
目前,神经网络技术提出了对基于传统统计技术的攻击检测方法的改进方向,但尚不十分成熟,所以传统的统计方法仍将继续发挥作用,也仍然能为发现用户的异常行为提供相当有参考价值的信息。
(3)基于专家系统的攻击检测技术
进行安全检测工作自动化的另外一个值得重视的研究方向就是基于专家系统的攻击检测技术,即根据安全专家对可疑行为的分析经验来形成一套推理规则,然后再在此基础之上构成相应的专家系统。由此专家系统自动进行对所涉及的攻击操作的分析工作。
所谓专家系统是基于一套由专家经验事先定义的规则的推理系统。例如,在数分钟之内某个用户连续进行登录,且失败超过三次就可以被认为是一种攻击行为。类似的规则在统计系统似乎也有,同时应当说明的是基于规则的专家系统或推理系统也有其局限性,因为作为这类系统的基础的推理规则一般都是根据已知的安全漏洞进行安排和策划的,而对系统的最危险的威胁则主要是来自未知的安全漏洞。实现一个基于规则的专家系统是一个知识工程问题,而且其功能应当能够随着经验的积累而利用其自学习能力进行规则的扩充和修正。
(4)基于模型推理的攻击检测技术
攻击者在入侵一个系统时往往采用一定的行为程序,如猜测口令的程序,这种行为程序构成了某种具有一定行为特征的模型,根据这种模型所代表的攻击意图的行为特征,可以实时地检测出恶意的攻击企图,尽管攻击者并不一定都是恶意的。用基于模型的推理方法人们能够为某些行为建立特定的模型,从而能够监视具有特定行为特征的某些活动。根据假设的攻击脚本,这种系统就能检测出非法的用户行为。一般为了准确判断,要为不同的入侵者和不同的系统建立特定的攻击脚本。
当有证据表明某种特定的攻击模型发生时,系统应当收集其他证据来证实或者否定攻击的真实,以尽可能的避免错报。
为了防止过多的不相干信息的干扰,用于安全目的的攻击检测系统在审计系统之外一般还配备适合系统安全策略的信息采集器或过滤器。同时,还应当充分利用来自其它信息源的信息。在某些系统内可以在不同的层次进行审计跟踪。如有些系统的安全机制中采用三级审计跟踪,包括审计操作系统核心调用行为的跟踪、审计用户和操作系统界面级行为的跟踪、和审计应用程序内部行为的跟踪。
总之,和经典安全措施相同,任何一种攻击检测措施都不能视之为一劳永逸的,必须配合有效的管理和组织措施,形成立体的和纵深有序的安全防御体系。
