Posts for: #Tech

一个信息安全研究团队的五年——我们的网络安全焦点

2004年8月26日,是网络安全焦点的五岁生日,祝她生日快乐,并回忆从她出生起的点点滴滴……

1. 网站这些年

1999年8月26日,出于个人的兴趣,xundi建起了一个个人网站,取名为安全焦点。

1999年的安全焦点

以这个小小的站点为中心,几个对网络安全有一定兴趣的朋友便聚到了一起。聊天、学习,并且把自己的心得体会写下来,当时主要能做的仅仅是将国外的安全技术编译整理,并在网站上发表,临近2000年的时候,由于xundi所在的单位处理"千年虫",因此他将网站的管理权限交给了quack和casper,由他们进行了一段时间的维护。到了2000年1月1日,站点改版。风格简单得不能再简单,实用——这是大家都欣赏的。在这段时间里,大家认识了很多新朋友,stardust、isno、glacier等兄弟都聚到了一起,很开心。

2000年的安全焦点

2001年1月1日,站点再次改版,将stardust搜集了很长时间的漏洞利用程序搜索引擎加入站点,整个主页由perl驱动。

2001年Perl驱动版

2001年3月17日,许多兄弟都混在北京了,这时san的加入很大程度上推进了这一版的站点改版,由php+mysql驱动。加入论坛、CVS项目、IRC、知识问答等,并把漏洞利用程序搜索引擎替换为在功能定义上更为完善的漏洞数据库。这次改版从形式到内容,都是一个比较大的飞跃,站点有了很强的可扩展性。与国内同类网站相比,我们希望有更好的文档和工具分类,更深入的归纳整理,更强大的检索功能,成为文档和工具中心可能是我们的发展方向之一。这一阶段中,我们的团队也趋于稳定,更多的技术爱好者加入进来了,alert7、benjurry、blackhole、eyas、flashsky、funnywei、refdom、tombkeeper、watercloud、wollf等大批兄弟们也因为共同的爱好,越走越近。

为了让国外的安全界的朋友们对国内安全现状有一个基本的了解,2001年11月10日,英文网站正式发布,使用 http://xfocus.org 的域名,原来的中文网站域名改为 http://xfocus.net 。英文站点上纯粹放自己的代码、程序以及心得体会。虽然在这之前,我们的一些漏洞利用代码、程序也陆续能够在securityfocus、packetstorm、securiteam等网站被转载,但这时总算有了一个自己对外的发布窗口了。

英文网站

时至今日,网络安全焦点的网站已经进一步改版,并有了很大的扩展了。我们所组织的"信息安全焦点峰会"即xcon,也在国际上有了一定的影响。

中文网站:

中文网站2004

英文网站:

英文网站2004

Blog网站:

Blog网站

Xcon网站:

Xcon网站

2. 我们的声音

2.1 比较

用alexa对xfocus和国内外安全领域的站点作了比较,结果不能说明什么,一切都将从头开始。

xfocus.net与nsfocus.net的比较:

xfocus vs nsfocus

xfocus.net与securityfocus.com的比较:

xfocus vs securityfocus

2.2 声音

国外的黑客对中国信息安全领域取得的成就是有一定程度认可的,其中包含了很多商业与非商业组织的努力,xfocus的技术研究,是否也在国外得到了认同呢?

  • ZDnet、News.com等网站曾经报导过xfocus成员所进行的漏洞研究和利用程序开发;
  • xfocus成员开发的安全工具与利用程序、文章多次被如SecurityFocus、PacketStorm、SecuriTeam等网站转载;
  • xfocus成员发现的安全漏洞涉及Windows、AIX、HPUX、ORACLE、MSSQL甚至手机等多种不同平台和应用;
  • xfocus组织的信息安全焦点峰会xcon到今年将是第三届,有国内外安全界高手的支持与参与;
  • ……

我们仍在不断努力!

3. 一些记忆

有些事,不写下来,可能很快会忘却,这里是我记忆中的零星碎片,关于xfocus,关于xfocus的成员的。

3.1 xfocus的服务器

五年来,我们的网站都放在哪里呢?

最初的个人网站,没有自己的服务器,只是申请了碧海银沙的一个免费空间,网址是:http://focus.silversand.net ,在使用了stardust的Perl脚本后,网站搬到了万网,当时已经采用了域名 http://www.xfocus.org 了,租用了一个小小的空间,BSDi的服务器,有shell,有perl的执行权限。

访问量渐渐增大,网站的安全性也更大程度引起关注的时候,我们希望有自己的服务器了,这时在eist的帮助下,我们在黑龙江电信找了台Linux机器。再以后,spp提供的一台Solaris、Zlee提供的一台FreeBSD都为我们解决了当时很紧张的服务器和带宽问题。(这段时间内时不时遭受的拒绝服务攻击,曾经给我们和我们的朋友带来不少困扰)。

终于在2002年底,xfocus的成员决定每人每年为网站提供一笔捐款,规定了上限,没有下限。利用这笔钱,我们购买了一台服务器,并且在IDC租用了网络带宽,以往不断搬迁终于成为历史。

3.2 xfocus的一些伙伴

这段时间内,还有不少好朋友也加入过我们的团队,后来因为工作等种种原因又离开了,lzp、lhyx、vcat等人都是如此,走在一起的感觉很好 :)

我用FreeMind

版本控制

v0.8 07/19/2004 文档创建

1. 所谓MindMap

1.1 MindMap是什么

MindMap是什么呢?其实是英国人托尼・巴赞创造的一种提出笔记方法,和传统的直线记录方法完全不同,它以直观形象的图示建立起各个概念之间的联系。在国内,MindMap又被称为脑图或思维导图。

思维导图(Mind Mapping)以放射性思考(Radiant Thinking)为基础的收放自如方式,除了提供一个正确而快速的学习方法与工具外,运用在创意的发想与收敛、项目企划、问题解决与分析、会议管理等方面,往往产生令人惊喜的效果。它是一种展现个人智力潜能极至的方法,将可提升思考技巧,大幅增进记忆力、组织力与创造力。它与传统笔记法和学习法有量子跳跃式的差异。

1.2 MindMap软件介绍

其实当前MindMap软件相当多,最为流行的应该这三款:

  • Mindjet MindManager
  • inspiration
  • FreeMind

对我来说,FreeMind最合适,原因有二:

  • 跨平台,这样无论我在Windows、Debian或者FreeBSD下都可以正常使用;
  • 采用xml保存数据,方便读取或者与其它程序转换;

功能简洁,却又恰到好处的够用,因此我就选定它了!

2. 我用FreeMind

2.1 速读

通过我的读书笔记可以看出,用FreeMind做记录是非常方便的。

采用了FreeMind后,我对一些"快餐书籍"的阅读方式是这样的:

  1. 仔细看一遍目录,根据目录先画一张mindmap,基本把握作者的思路;
  2. 进入阅读状态,边读边写写画画,圈出重点,读完一章,便在mindmap中完善一章的内容,如此周而复始;
  3. 看整张mindmap,从整体回顾,找出重点,标记不同的颜色以便今后重点重读,并且结合自己的感觉,填进mindmap中;
  4. 扔开mindmap,闭上眼睛回忆阅读的结果。

2.2 小项目管理

FreeMind有个很好的功能是根据目录创建文件,也就是可以根据某个目录下的文件结构来直接生成一个MindMap,这个功能也很诱人,于是我利用它来管理我的小项目。

首先直接生成一幅MindMap,然后进行部份细节调整和分类,再标出生要等级。当项目中有新任务创建时,就做简单记录。这样就能轻松地将企业内部的项目放在一起全盘考虑和分析了。

2.3 脑力激荡

一帮朋友在一起讨论某个创业机会时、几个程序员在商量产品功能特点的时候、企业管理人员聚会研究公司发展战略的时候……或者,仅仅是自己想写一篇文章的时候,比如我现在:)

FreeMind是否都能助你一臂之力?

2.4 会议记录

会议记录这点似乎乏善可陈,谁都能看出用它做会议记录,相对较能抓住所谈事务的主题,并且容易促进与会者的关联分析。

3. 小技巧

3.1 快捷键或鼠标

我常用的快捷键有:

在下方新增节点 = Enter
新增子节点 = INSERT
在上方新增节点 = Shift+Enter
查找 = Ctrl+F
编辑 = F2
展开或缩起 = Space

当然,按F3-F9能够给节点设置不同的颜色等等,也是很常用的。另外还有些组合键,如按住Alt键后用鼠标选中根节点,就是全选。按住Ctrl+Shift后用鼠标连接两个节点,便是在节点间创建连接线……快捷键也可以自定义,但通常无须这样做。

3.2 在web上发布

当你精心完成一个MindMap后,是否有希望别人看到的愿望呢?直接通过freemind-browser可以轻松地将Mindmap发表到网站上,并且访问者能够象直接操作程序般对各节点进行展开、关闭等行为。

只要将freemindbrowser.html中的两部份稍做修改,即标题和具体mm文件的位置,并连同freemindbrowser.jar一起复制到你的web服务器上,用户应该就能够正常浏览了。

[阅读全文]

阻止软件包在Debian下升级

图新鲜,用了debian的unstable,结果fcitx的2.0.2-1版本似乎有问题,和firefox、gaim的配合总是会出错,只好装回2.0.1的。 为了让fcitx在后续的upgrade中不升级,需要这么一条命令: risker:/home/aa# echo fcitx hold|dpkg –set-selections 今后希望fcitx升级的时候,则可以简单用这么一条命令恢复: risker:/home/aa# echo fcitx install|dpkg –set-selections 设置了hold后,upgrade的情况如下:

risker:/home/aa# apt-get upgrade 正在读取软件包列表… 完成 正在分析软件包的依赖关系树… 完成 下列的软件包的版本将保持持不变: fcitx (2.0.1-2 => 2.0.2-1) 共升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 1 个软件未被升级。

用自由软件构建中小企业弱点评估系统

版本控制

v0.8 04/18/2004 文档创建
v0.9 04/24/2004 在第三部份中加入分布式扫描和多用户管理的描述

1. 准备工作

1.1 了解你需要什么

在确定要投入精力来配置系统之前,你或许希望了解它能为你带来什么。这么说吧,如果你现在:

  • 负责企业内部的企业安全,希望有一套比较适合企业应用的漏洞扫描系统;
  • 自己的网络和系统管理水平较好,不需要太多的所谓专家顾问支持;
  • 公司在这方面的预算相当有限,你的钱必须花在上级已经定好的几个项目和产品上了。

这里所说的比较适合企业应用,简单说来,我想至少包括下面几点:

  • 漏报、误报率较低,或者至少自己能够对报警的真实性进行调整后再统计;
  • 对漏洞升级的快速反应,重大事件三天内应该有相应扫描模块升级;
  • 能够出具比较美观的报表,对企业内部安全状况进行分析;
  • 尽量简单易用,或者配置后就能自动运转,减少系统管理员的维护工作量。

那么,恭喜你,Inprotect具备了上述的所有功能,如果你有一定的编程能力,那么你还可以对它进行定制,使之更适合你的特定网络环境需求。

1.2 环境准备

安装配置支持php、mysql和gd的apache服务器,并且顺手将nmap、nessus和nikto这些扫描工具全装齐。

apt-get install apache php4 php4-gd2 php4-mysql mysql-server mysql-client nmap nessus nessusd nikto

配置apache,直接编辑 /etc/apache/httpd.conf,将:

DirectoryIndex index.html index.htm index.shtml index.cgi
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps
AddDefaultCharset on

改成:

DirectoryIndex index.php index.php3 index.html index.htm index.shtml index.cgi
AddType application/x-httpd-php .php .php3
AddType application/x-httpd-php-source .phps
AddDefaultCharset gb2312

运行下面的命令给mysql加上密码:

mysqladmin password xxxxxx

如果希望mysql启动时带上更好的中文支持,则可以编辑 /etc/init.d/mysql 文件,把 /usr/bin/mysqld_safe > /dev/null 2>&1 & 改成:

[阅读全文]

国内网络安全风险评估市场与技术操作

版本控制

v0.1 04/01/2004 文档创建,包含大量示例文件内部发布
v0.2 04/19/2004 删除部份敏感信息,增加国内市场分析、BS7799和OCTAVE概述后,对外发布

近两年网络安全风险评估渐渐为人们所重视,不少大型企业尤其是运营商、金融业都请了专业公司进行评估。本文提出作者个人对国内安全风险评估操作的一些评价,并试图阐述作者所理解的,可裁剪、易操作的风险评估方式。由于内容与商业公司有关,因此不可避免会涉及部份商业利益,在文中作者尽量隐去可能产生直接利害关系的文字,并声明所有评价纯属个人观点,如果你有不同意见,欢迎来函探讨。

1. 什么是风险评估

说起风险评估,大家脑海中首先浮现的可能是:风险、资产、影响、威胁、弱点等一连串的术语,这些术语看起来并不难理解,但一旦综合考虑就会象绕口令般组合。比如风险,用ISO/IEC TR 13335-1:1996中的定义可以解释为: 特定威胁利用某个(些)资产的弱点,造成资产损失或破坏的潜在可能性。

为了帮助理解,我们举一个下里巴人的例子:我口袋里有100块钱,因为打瞌睡,被小偷偷走了,搞得晚上没饭吃。

用风险评估的观点来描述这个案例,我们可以对这些概念作如下理解:

风险 = 钱被偷走
资产 = 100块钱
影响 = 晚上没饭吃
威胁 = 小偷
弱点 = 打瞌睡

回到阳春白雪来,假设这么个案例:某证券公司的数据库服务器因为存在RPC DCOM的漏洞,遭到入侵者攻击,被迫中断3天。

让我们尝试做一道小学时常做的连线题,把左右两边相对应的内容用线段连接起来:

风险        RPC DCOM漏洞
资产        服务器遭到入侵
影响        数据库服务器
威胁        入侵者
弱点        中断三天

如果这道题对你没什么难度,那么恭喜你,你已经和国内大多数风险评估的操作者差不多站在同一个起跑线上了。

2. 国内现有风险评估操作模式

2.1 评估市场和竞争分析

如果按照高、中、低端简单对国内的风险评估市场进行分类,那么我们可以很清晰地看到,几类市场的操作方式完全不同。

国内高端市场主要被如IBM(普华永道)、毕马威这样类型会计师事务所类型的公司占领,往往网络安全评估就涵盖在他们的整个审计体系之下。中端市场上则盘踞着国内外大多数较有实力的网络安全公司,其中包括较早提出安全评估并且在运营商市场有比较好的实践的安氏、有作风稳健但却一步一个脚印打下大片疆土的启明星辰、也有异军突起极具竞争力的绿盟科技……低端厂商则数量庞大,往往只是通过简单的漏洞扫描、病毒查杀等方式操作。

2.2 主要中端厂商的评估模式分析

以下分析中的数据来源为笔者在从事网络安全评估实践时通过各种渠道获得。但由于信息的时效性,未能确认当前文中所进行的表述与分析就代表着各家企业的最新评估发展状态。希望读者自行鉴别。

2.2.1 启明星辰

启明星辰2002年之前始终比较低调,但风险评估项目从最初对某证券公司进行的纯粹漏洞扫描、人工审计、渗透测试这种类型的纯技术操作到套用BS7799到采用OCTAVE方法再到最终形成自己的网络安全风险评估的方法论、操作模型,有很多专业人员付出了大量劳动。下图是启明星辰的幻灯片中摘录的,他们评估发展的历程,在每个台阶上有该阶段所经过的项目名称,出于安全原因隐去。

启明星辰评估发展历程

业务参与性弱、解决方案可操作性差往往也是高要求的用户对风险评估队伍批评较多的地方,但从启明星辰近期在几家大型客户那里的操作来看,较受客户好评。

启明星辰有较多在风险评估中可以应用的工具:

  1. 天镜评估版:扫描器,有专门用于风险评估的版本。
  2. 天清:又名SRC,指Security Risk Manage,基于ISO17799的量化、可视化的评估工具。
  3. 信息库:名称不详,能够直接导入天镜、Nessus、ISS等扫描器的扫描结果并生成报告。据说是较好的安全评估过程辅助工具。
  4. 本地评估软件包。

我理解的启明星辰风险评估特点为:

  • 博采众长:这一方面与启明星辰参与部份安全行业国家标准的制订有关,另一方面则是他们有着较多高学历员工,对高端咨询类型的提炼、深化抓得比较好,对评估要求看得透彻,写得清楚。
  • 变化较快:这可以说既是优点,也是缺点。在每次较大的评估项目中他们一般都要求有所突破。这逼着他们去创新,但同时也导致评估的方法论很容易有变动。

2.2.2 绿盟科技

绿盟科技从最初参与中国电信评估项目开始走进安全评估领域,挟其强大的系统研究技术优势进入市场。下图是他们一份讲稿中的评估流程描述:

[阅读全文]

我的Linux工作平台配置与展示

曾经多次尝试将工作平台转移到Linux上,但总是以失败告终。最大的原因是需要与大量windows用户进行文档交换,其中有很多Microsoft Office的东西,也包括visio和project。近期工作重心转变,便再次尝试转换工作平台,没有太多的不适应。

先来参观一下我简单实用的Debian吧……

先是我的桌面,或许大多数人会觉得这样的桌面简直让人不知所措……因为简陋得让人无从下手。但如果你知道我按Alt+2就能够切换到第二个虚拟桌面、Alt+F1就能够最大化当前窗口、Alt+9就能打开浏览器上网……我几乎所有应用程序都可以用键盘或者鼠标快速操作,这样的界面,是简陋,还是简洁?

再来看看我的网络应用程序吧,这里是我的浏览器,用的是 Mozilla-firefox;电子邮件客户端则采用一款叫 sylpheed 的软件;对一部份人来说,上网的另一大乐趣是聊天,那么,看看这个叫 gaim 的即时聊天工具吧……

很多人会说:我上班需要用到很多文档处理性质的工作,Linux操作起来很困难……其实,OpenOffice日趋成熟,按我实际使用情况来看,普通的word、excel和ppt文件在OpenOffice下打开问题不大(当然,如果是大型的网络建设方案,里面有大量OLE,或许显示起来会有问题,但,掉个头来想想,Microsoft Office还打不开OpenOffice做的文档呢……),基本可以满足日常工作要求了。

其它软件呢?有编辑文档的 gvim、有用来看pdf文件的 acroread、有类似金山词霸的翻译软件星际译王、有看chm文件的 xchm、有播放各种影音文件的 mplayer、有不亚于photoshop的作图软件 gimp……

gimp

mplayer

如果实在有些软件Linux上没有,比如我现在偶尔用的SPSS或者MindManager,那么,我还可以用 rdesktop 连接远程windows服务器进行编辑处理 :)

rdesktop

我不认为Linux是万能的,但如果你只要求一个普通的办公平台,除此之外,你还需要什么?

那,我们开始吧。

1 安装GNU/Linux系统和软件

GNU/Linux的世界里有太多的选择,Debian、RedHat、SuSE、Gentoo、Slackware等发行版,多数各有其优势和特点。这里我选择的是 Debian。它自由、非商业、高质量的并且结构非常清晰。

1.1 下载netinstall光盘安装

由于Debian的apt工具可以非常简捷地安装应用软件,因此通常不需要下载完整的ISO文件。我下载了sarge每天测试性build出的ISO,大概一百多兆,可以直接写在cdrw上,避免浪费资源。

我将系统分成四个分区,采用reiserfs,分别如下:

Device Boot      Start         End      Blocks   Id  System        mountpoint  comment
/dev/hda1               1         904     6834208+  83  Linux       /           根分区
/dev/hda2             905        1007      778680   82  Linux swap  swap        swap
/dev/hda3            1008        1653     4883760   83  Linux       /home       存放用户数据
/dev/hda4            1654        5168    26573400   83  Linux       /doc        存放大量文档

这样安装的好处是,即使重新安装系统,至少不用管/home和/doc里面的数据,系统重装完,基本上用户配置都完全没有变化。

[阅读全文]

Debian下的网络打印

有篇mini HOWTO不错,可以参考: http://gnu.kookel.org/ftp/LDP/HOWTO/Debian-and-Windows-Shared-Printing/index.html

  1. 安装软件 apt-get install cupsys cupsys-bsd cupsys-client foomatic-bin samba smbclient gs-esp a2ps

  2. 确认打印机 smbclient -L 192.168.100.4 -U guest

  3. 安装网络打印机 /usr/sbin/lpadmin -p RicePrinter -v smb://fred:mypass@rice/INKJET -P /root/inkjet.ppd /usr/bin/enable RicePrinter /usr/sbin/accept RicePrinter /usr/sbin/lpadmin -d RicePrinter 我懒得那么麻烦,直接用CUPS的web配置界面了,访问http://localhost:631/ ;)

里面我的一些配置的选项是: Device:Windows Printer via SAMBA Device URI:smb://[email protected]/HPLaserJ 把Output Resolution改成600 DPI了,打印测试页正常。

  1. 各种程序下的中文打印 有些程序直接打印就很正常,比如OO,有部份程序,比如gedit之类的可以设置打印字体,但对sylpheed之类的软件,直接发送命令给lpr的,打印总是乱码,这时采用bg5ps这个软件来辅助。 apt-get install bg5ps

调整~/.bg5ps.conf,修改设定至少以下项目: Encoding=“gb2312” chineseFontPath="/home/aa/.zh_CN" fontName_gb2312=“simsun.ttc”

运行命令测试: bg5ps -if 20040324_DongGuan.txt |lpr 打印中文正常。这样就可以在如sylpheed等软件中用类似bg5ps -if %s|lpr的命令输出中文了。

  1. Mozilla的中文打印 直接在/usr/lib/mozilla-firefox/defaults/pref/unix.js打开FreeType2再指定路径就行了,如下: pref(“font.FreeType2.enable”, true); pref(“font.directory.truetype.1”,"/home/aa/.zh_CN"); 但我这样后浏览有些网站英文字体发虚(如xfocus),有些网站是好的(如linuxsir),就又关了。

  2. 多页打印在同一张纸上(类似fineprint) apt-get install mpage mpage -4 mozilla.ps > out.ps|lpr

[阅读全文]

mplayer的全屏模式

和普通模式图像大小是一样的,很讨厌,其实换个输出设备就可以了。 2.3.1.2 传统显卡的视频输出 2.3.1.2.1 Xv 在XFree86 4.0.2或者更新的版本下,你能使用XVideo扩展来使用你的显卡的硬件YUV例程。这是就是’-vo xv’所使用的。同时,这是支持调节亮度/对比度/色相/等等的驱动(除非你使用旧的,缓慢的DirectShow DivX解码器,什么驱动它都支持),参见man page http://www.mplayerhq.hu/DOCS/HTML/zh/video.html#normal 嘿,在看04.28.04.Bad.Company.2002.iNT.DVDrip.XviD-EDRP的时候,用media player classic和mediaplayer 9、6全是声音和图像不匹配,换了个版本的ffdshow后干脆一打开程序就crash了。传到笔记本上用mplayer看,居然很完美 :)