千八憾事

14号早上我们一行21人还颠簸在前往龙泉仁坑村的路上,从前一天晚上19:30开始快12小时了,车不给力,司机更不给力,无语。

天一直下着雨,尽管做足了防水准备,但冲锋衣毕竟不是滴水不进,空气湿度太大,加上汗水,上身湿透,小风一冲,冷。大包也是一样,防雨罩如同虚设,越背越沉。

路相当滑,特别是不少景区道路全是石头铺的,很多的人都遭了秧,也包括我。

整体上的速度不算快,一边看路一边压着速度,但整个队伍还是拉得很开,后面有人体力明显跟不上了。

待雨中到达龙泉山度假区时,众人都失去前行的动力。

千八线路共11尖,此行只走了一尖,还只是凤阳山的北峰。

2012是一个水年,看来不假,希望春节后的清凉峰上能落满了雪!

Continue reading » · Written on: 01-21-12 · No Comments »

杭州墓地“穿越”—— 从第二公墓潜入,从闲林公墓窜出

2号晚上和天堂讨论了一下线路,确定3号的行程以探路万丈山为主,大体范围在里山桥村-大毛坞-三界碑-黄泥弄-马槽坞-桦树村-朱田坞-里山桥村一圈,如时间充裕则再往小和山、白龙潭方向探探。原则上不走已有轨迹的路线,有路基则走路基,无路基可适当强穿。

根据等高线图及Google Earth,大体规划了12条短线路,基本上都是沿着山脊或峡谷来规划的,纸上谈兵也只好如此,总不至于没谱没到边上。

但是,3号一早就发生了一件相当没谱的事。一行人从193终点站“石马村”沿着留和路往西南方向走,走至前方道口,路口标志显示里山桥村还在前方,但对此地较熟悉的无影脚说去公墓要向南。查看了一下GPS,发现离计划行程起点闲林公墓还远着呢。丈二和尚摸不着头脑之际,无影脚一句话便点醒了我和天堂两人:前方公墓叫“第二公墓”。原来是此公墓非彼公墓也。

问了一下路人,说去里山桥村要半天时间,大家遂决定从第二公墓上山。后来我在地图上确认了一下,从留和路第二公墓路口至里山桥村直线距离约3KM,走公路地话4.5KM左右,是用不着半天的。

功课还是做得不够充分,否则也不至发生“此公墓非彼公墓”的笑话。

20120102-杭州公墓穿越

      Summary:

      Distance:                 11.75 km
        Time:                        5:17:29
        Moving Time:           3:07:05
        Avg Speed:              2.2 km/h
        Avg Moving Speed: 3.8 km/h
        Elevation Gain:        848 m
        Elevation Loss:        828 m

穿过第二公墓沿小路直上便到“勿忘国耻”纪念碑。计划上是在附近找路直上小和山,但此处林木相当密,还有人为设置的阻拦,遂沿着山径向林场方向走,仅走了200多米,就看到一座小房子,房子左侧有条小路通向上面的茶园,便择小道而上。过了茶园路径消失,好在山脊上林木稀疏,大家在树木从中向小和山顶穿行。

行至001点,发现一条路基明显的小路,路上铺满了厚厚的落叶,走上去相当惬意。这条小路像是绕过小和山顶一直向南延伸,我们中途改道小和山顶并未继续走下去。

等爬上小和山山顶,发现上面竟有一条石板铺好的游步道,众人都不曾走过。经讨论大家不想走回头路去走“向南延伸的未知小道”,便沿游步道向西下降。此段路比较陡,台阶非常短,只能踩上脚跟部,推荐侧身向下走。一路向下,便到达白龙潭景区门口。

石板道实在是“出力不讨好”的典型。再上牛山时,我们放弃游步道,而是从景区东侧的茶园小路蜿蜒而上,倒也别是一番风味。灌木林中有明显路径,比较宽敞,但行不多久,路基消失,大家只得强穿。强穿至002点近山顶处,汇合至一条“省道级”的山径,直通山顶。牛山顶上有三条路基明显的山径:一条是我们上来的路,但不知通向什么地方;一条通向西凤山,正是我们下山的路;另一条向西,不知通到什么地方,看GPS上显示西侧有别人以前打的路点,联通基站、茶叶地等。

到达西凤山前,又走回到石阶游步道上来,等过了挹(yi)翠亭,众人又踏入游步道右侧的一条“县道级”的山径。绕过了飞凤岩,进入峡谷凹地,路径上不时有“碎纸花”做的路标。走至峡谷中央地带后,与“碎纸花”路分道扬镳,我们选择西南方向。

后面依次到达天打山、三界碑,一路都有前人轨迹,路况相当好。过了三界碑,我们前往余杭方向,终于接近了最初所计划的万丈山区域。之后一直关注有没有右侧向北的路径,计划是要探一下从大毛坞直接向南至三界碑的路线的,现在正好在反方向的终点位置。后来找到一条貌似通向西侧山脊的小径,路基明显,于是择路而下。

下降到底便是午潮山山庄(名字记不清了,有可能是午潮山度假村),此处开始已是水泥路,直通大毛坞村。当时我就想,如果真得按计划早上从大毛坞出发,想找到我们下山的这条路还真有点困难。在规划中,准备要探的并不是山脊线,而是山脊线西侧的沿着峡谷上升的一条路。峡谷中倒底有没有路,只得等待下次再探了。

巧合的是,在午潮山山庄又碰到了早上在193终点站遇到的另一批爬山径的人群。在石马村车站等人时,天堂曾和他们聊过。他们是本打算走到富阳去的,可惜又折回到了余杭。在他们口中,我们是专业走山径的;但是在天堂口中,相对于刀队我们也是业余的,所差只是业余的段位不同而已,哈哈。

业余队当然有不少业余的问题:

1,普遍不准时。要做到说好几点就几点,不等人。

2,早饭一定要吃好,早起一会并不难做到。

3,功课一定要做足。这次就很明显,当发现所到之地为第二公墓不是闲林公墓时,一时找不到方向了。倒是后面做过功课的地方,基本能做到心中有数。

4,出发前要对所有人都交待好要走的路线、方向、注意事项、行走原则等等,中途有分歧时也容易达成一致。

5,徙步开始时,特别是一上来就是上坡路时,一定要压住前进速度。

相关轨迹下载:http://www.dsyk.cn/forum.php?mod=viewthread&tid=40765

Continue reading » · Written on: 01-05-12 · No Comments »

离奇死亡事件薄之CoCreate篇

“周节棍的双杰伦,砌里侉叉 …”

一阵吵杂的手机铃声将正在发呆的瓶瓶吵醒,他呆滞的眼神中蓦地闪出亮光,心想:大买卖又来了?

果不其然,又是一桩离奇案件:CoCreate在密镇莫名死亡,临终前嘴里还含糊地说了句“The file xxx failed to load. could not unpack the file xxx. Either this file is invalid, you do not have sufficient memory, or no space is left. (Error 398)” ,然后便咽气了。

密镇是凶杀案频发的地方,因其本身治案环境不好,很多案件都成了无头案。这也是为什么作为私家侦探的瓶瓶会被委托查找真凶的原因。

瓶瓶深思了一会,便开始着手重构死亡现场。这里还要多说一句,随着科技的进步,新时代的侦探们也有了更高效的破案方式方法,虽然原始的从验尸(Postmortem,Crash dump analysis)开始的福氏方式依然盛行,但越来越多的人都开始采用这种重建虚拟现场的方式,毕竟新的方法可以让你一遍一遍地推演,并在推演中不断地发现新的线索,直到真相大白。

重构虚拟现场需要相关的工具和设备才行。每位侦探都有自己偏爱的工具组合,当然也逃不脱其时代的限制与烙印。比如两位同姓宋的侦探前辈:宋慈因处宋朝,手中也只有手术刀之类的工具,纵使锋利,但作用毕竟有限;再看19世纪英国的宋戴克,他的方形绿皮箱里可谓是包罗万象,从放大镜,显微镜,到酒精灯,试剂等一应俱全,俨然福尔摩斯的化学实验室了。

但对于21世纪像瓶瓶一样的侦探们来说,一切又化繁为简,一般一台电脑足矣,有时也需要多台并加上若干互联设备。瓶瓶的书房便是充斥着各色各样的电子设备,相互间连接着的五颜六色的电缆全绞缠在一起。

瓶瓶最得心应手的工具包还是windbg,外加一根1394线,便足以对付大多数棘手的凶案。从业之初,瓶瓶用得可是debug工具包,后来经过softice,最后才用上windbg,前几年还是windbg第五代,当时用得还是串口线,现在已升级至第六代了。

不到一个小时,瓶瓶便已连接好所有设备,并设定妥了虚拟现场环境。随着“滴”的一声响,模拟系统开始启动,windbg上开始显现一串串的字符。此时,瓶瓶圆睁的双眼透过厚厚的近似镜片直盯盯地注视着快速翻滚的屏幕,生怕错过每一个细节。同时又暗自庆幸,CoCreate并没有进行反模拟手术,否则,如果像3ds max那样完全依赖log来分析地话苦头可就大了。

忽然“铛”地一声响,屏幕跳出了CoCreate的临终遗言。此次模拟相当成功,但在细致分析windbg记录之前还没找到任何明显线索,在浏览了所有记录后,也未能找到什么重要的线索。不得不又架设好procmon工具,重新又模拟了一次。procmon工具可以协助记录CoCreate死亡前的所有活动记录,及所有与他接触的相关人员等等。在procmon记录中,发现最后一个与死者接触的人是unzip。

“CoCreate死前找unzip干什么呢?”,瓶瓶陷入深思,忽然间,他想到了死者的遗言中有说 "unpack”,“难道真和unzip有关”,瓶瓶一边思考着一边努力寻找着证据。

瓶瓶打开了死者临死前正翻阅的文件,题为xxx。这是一个加密的文件,密镇定了法律为了保护所有信息,必须对各种重要文件进行加密,否则不能随便交换或传阅。瓶瓶当然知道怎么将此加密文件解密成明文,毕竟如果没有点关系,还真干不成侦探这个行当。

刚打开明文文件,瓶瓶就发现文件头竟赫然是 “504B0304”, ”504B”正是zip压缩法发明者Phil Katz的名字缩写: PK。基本可以肯定xxx文件为zip文件格式,所以CoCreate死前才会去见unzip。若如此地话,那unzip倒底做了些什么呢?

瓶瓶大感意外的是:等找到unzip时,发现unzip也离奇死亡了。难道是…连环谋杀?看来此案件内情确实不简单,搞不好会惹火上身!想到此,瓶瓶不禁觉得背后发寒。

但事已至此,由不得自己了。瓶瓶先勘察了unzip的死亡现场,但另他失望的是,unzip临死留下的遗言更让人摸不着头脑:  ”End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive…”。这倒底什么意思?进行了一番搜索后,瓶瓶发现如此死亡的案件竟有很多,只是,众多老案件至今还未结案。

多次探索均无功而返,瓶瓶决定先从模拟unzip死亡现场开始。好在unzip也是位名人,有关他的材料可谓是汗牛充栋,特别是有关他的生平传记(unzip60.zip),更是给现场模拟提供了最好的背景材料。

模拟中果然有新的发现,unzip在通过公开渠道获取的加密文件信息竟是错的。此公开渠道是_stat64调用:

    int _stat64( const char *path, struct __stat64 *buffer );

_stat64会返回文件大小、时间戳等信息。关键的地方是:_stat64获取这些信息的方法不是通过GetFileInformationByHandle (IRP_MJ_QUERY_INFORMATION/FileStandardInformation),而是通过FindFirstFileEx (即IRP_MJ_DIRECTORY_CONTROL/IRP_MN_QUERY_DIRECTORY)得来的。这样操作如果在平时是没有问题的,但在密镇却会出错。

密镇会对所有文件进行过滤并加密,即便是授权的用户在用第二种办法查询文件时,所返回的文件大小与实际大小也是不相符的,因为密镇的所有文件都要附载加密信息而被增厚了。故unzip用错误的文件页码信息来校验文件时,必然会发生了意外。

这个问题当然是出在密镇身上,但令人可气的是,unzip在调用_stat64后又调用了GetFileTime (IRP_MJ_QUERY_INFORMATION/FileBasicInformation),既然都动用私人关系了,为什么不一次性到位,直接将文件大小也一并取了呢?!

案件侦测至此,案情已基本大白。只是善后工作该怎样去做,真是个让瓶瓶头痛的事情:

最彻底的办法,当然是改良密镇,虽然此方案涉及面太广。瓶瓶经过好一番努力,透过多个渠道才将此事办妥,本以为可以长舒一口气的当口,黑老大M$的代表Office Word发飙了,无论如何都反对。此事竟然黑老大也参与其中?这让瓶瓶不得其解,在没有搞清楚其中奥妙之前,也只能放弃此番所有努力而另辟奇径了,毕竟太岁头上的土动不得。

既然unzip已经死亡,那就不妨再推出个新个unzip吧。让新的unzip用新的私人渠道来获取加密文件的信息不就完了呗。

说到便做到,等将新的unzip装上设备,又进行新的一轮模拟,一切正常了。

连日的探查已让瓶瓶厚厚的镜片蒙上了一层灰尘,正好遮挡住了他更加疲惫的眼神。但无论如何,最后还是以最小的代价将善后工作完成了,瓶瓶终于能够安坐在弹簧椅上,惬意地随着电视哼起了 《游击队歌》。

密镇的电视共有200个频道,只是所有频道上都是相同的节目,而且都是红歌大比拼。红歌声中,瓶瓶淡定地等待着下一件凶杀案的发生。他知道,用不着等太久 ……

(本故事部分纯属虚构,请勿胡乱对号入座)

Continue reading » · Written on: 12-30-11 · No Comments »

很有趣的视频:10分钟了解中国

http://www.tudou.com/programs/view/ZFO3NQ1nAyI/

Continue reading » · Written on: 12-26-11 · No Comments »

最隐私—CSDN密码泄漏事件

如果要问,当前你最大的隐私是什么,那最直接的答案就应该是密码了。无论是手机、银行卡,甚至于门锁都是有着密码保护的,更别说你的电邮、网银、论坛、QQ或MSN及各种的博客帐号了。

然而时至今日,无论个人还是从公司都没有做出足够的努力。从这次CSDN泄漏出6,428,632个帐户的明文密码来看,安全意识还是普遍缺乏。

(一) 先从CSDN说起:

年初时SourceForge (http://www.sourceforge.net/) 曾发生黑客攻击事件,之后网站在最快的时间便向所有用户发邮件通知并在其首面显著位置公布了攻击事件及初步分析结果,并要求所有用户重置密码。虽然此举广为大家所诟病,但这是最安全的方式。

反观CSDN,直至现在我还未收到CSDN官方的邮件,在其主页上并没有明显看到相关通告,找了找才在news.csdn.net上不明显位置找到了公司通告。

        http://news.csdn.net/a/20111221/309505.html

至于相关分析更是难觅踪影,倒是金山发布了一个替员工解脱责任的申明:

        金山网络官方回应“员工涉嫌CSDN黑客事件”:  http://www.cnbeta.com/articles/166675.htm

在研究泄漏的密码数据库时,也发现了我的帐号及密码:
        cfy_matt # pop.smtp # mattwu@163.com

让我很奇怪的是,密码确是我很早以前的密码,但帐号却多了个 “cfy_”前辍。查了一下,共有10,657个用户都是有这种前辍的,但一直没能找到合理的解释。

让我很感庆幸的是,我的另外一个真正常用帐号并不在泄漏数据之中,不过二者用得是相同的邮箱,权且认为这就是为什么没收到CSDN的通知邮件的原因吧。

值得称赞的是网易在第一时间就向所有网易用户发出了警告信息。

(二)再来说说密码本身:

我是21号上午于cnbeta上得知的此事,旋即去emule上将此密码库拉了下来,很想第一时间做个分析的,但只因时间紧张才拖至今日。今天发现,和我持有相同兴趣的人已做了不少分析了,呵呵:

        CSDN泄漏数据完整分析: http://www.cnbeta.com/articles/166576.htm
        分析CSDN泄漏数据信息的一些数据: http://www.cnbeta.com/articles/166529.htm
        统计CSDN用户都喜欢哪些密码: http://www.cnbeta.com/articles/166527.htm

1,先看看大家最喜欢什么密码:

D:\>gawk -F# ‘{print $2}’  www.csdn.net.sql | sort -r | uniq -c |  sort -r –n > passwds
D:\>head -n 10 passwds
235012  123456789
212749  12345678
  76346  11111111
  46053  dearbook
  34952  00000000
  19986  123123123
  17790  1234567890
  15033  88888888
   6995  111111111
   5965  147258369

再次证明,越是简单越有生命力的道理!数字、重复字母还是大家的最爱。让我最意外的是4.6万的人用了 "dearbook”。

2,看看都是谁在 “loveyou” 或 “爱你”

D:\>grep -i loveyou passwds | more
   3080  iloveyou
    119  ILOVEYOU
     93  iloveyou1314
     63  Iloveyou
     55  iloveyou123
     40  loveyou1314

D:\>grep -i aini passwds | more
   1003  woaini1314
    708  woaini123
    649  woainima
    561  woaini520
    321  woaini521
    278  aini1314
    211  woainiwoaini

  1314 == 一生一世 !

3,又是谁在说赃话:

D:\>grep -i fuck passwds | more
     65  fuckfuck
     56  fuckyou123
     34  fuckyou1
     28  fuckcsdn
     26  ifuckyou
     23  fuckyou
     21  fuckshit
     21  fuck1234
     20  fuckyoufuckyou
     16  fuck2007
     14  fuckyouall
     10  shitfuck
    10  fuckyouyou
          …… 
     5  fuckfuckyou
     2 fuckyoudead

         2 fuckyouverymuch

D:\>grep -i caonima passwds
    565  wocaonima
    137  caonima123
    128  caonimabi

哈哈,从"fuckyou” "fuckfuckyou” 或 "fuckyoufuckyou” 到 "fuckyouverymuch”,直至 "fuckyoudead”,其仇恨程度各有高低。

另外呢,28位使用 "fuckcsdn”的先知用户还是有正当理由的。

4,用 ”password”当密码的人有多少呢”

D:\>grep -i pass passwds
   3501  password
    264  passw0rd
     97  Passw0rd
     91  PASSWORD
     87  password888
     82  password123
     76  passpass

5,密码与用户名一样的呢?密码用email帐号的?

D:\>gawk -F# ‘{ if (sprintf(" %s", $1) == $2) {print $1}}’ www.csdn.net.sql | wc
 292661 292662 3589154

如果忽略大小写地话:

D:\>gawk -F# ‘{ if (tolower(sprintf(" %s", $1)) == tolower($2)) {print $1}}’ www
.csdn.net.sql | wc
 307465  307466 3769498

D:\>gawk -F# ‘{ if (sprintf("%s ", $3) == $2) {print $1}}’ www.csdn.net.sql | wc
   2854    2854   31678

CSDN上注册的用户多是计算机从业者或开发者,竟然还有30万人会犯如些低级的错误,实在是不应该。CSDN官方应该在用户注册时就否决此类弱智密码,包括第一部分的简单密码之内应该全部拒绝。

由此推想,中国的几亿网民的安全意识又将如何呢?

6,密码长度统计:

D:\>gawk -F# ‘{print $2}’ www.csdn.net.sql | gawk -F’ ‘ ‘{print length($1)}’ | sort -r | uniq -c | sort -r -n
2337404 8
1550353 9
929647 10
627512 11
368342 12
167143 13
154356 14
  84444 6
  74784 15
  49014 16
  34060 5
  19042 7
   7657 4
   6949 17
   5841 18
   4974 20
   2262 19
   1594 3
   1485 2
   1060 0
    709 1

前7名都是8位及8位以上的,毕竟大部分都是开发人员。

7,CSDN用户都喜欢用什么邮箱 ?

D:\>gawk -F@ ‘{print tolower($2)}’ www.csdn.net.sql | sort -r | uniq -c | sort –
r –n  | more
1960507 qq.com
1753036 163.com
800807 126.com
349357 sina.com
204019 yahoo.com.cn
200858 hotmail.com
184076 gmail.com
104189 sohu.com
  85930 yahoo.cn
  71946 tom.com
  52632 yeah.net
  50396 21cn.com
  34869 vip.qq.com
  28789 139.com
  24712 263.net
  19039 sina.com.cn
  18647 live.cn
  18441 sina.cn
  18244 yahoo.com
  16208 foxmail.com
  15140 163.net
  14083 msn.com

本以为会是网易163.com,没想到竟是用qq的最多,从数量上来看二者在仲伯之间。但如果综合网易其它的邮箱(如126,yeah.net等),网易还是绝对的老大。

8,怎样才是好的密码 ?

好的密码要具备以下几点:

  • 足够长:至少8位字符
  • 足够杂:最好同时包含大小写字母、数字、特殊符号(!@#$%^()*…)
  • 足够不相关:和你的信息及网站信息尽量不相关,或者由外人看来绝对是没意义的一串天文字符。所有字典里能查到的词或此次所泄漏的密码都不再是好密码了
  • 一个密码只专用在一个地方:这很重要。难保你注册的网站不是用明文存储密码的。还有,不小心地话,keyboard logger或sniffer等黑客工具也能嗅探到你的密码。

拿出几分钟时间来检查一下你的密码安全吗?不然,就再多花几分钟改一改吧。

Continue reading » · Written on: 12-25-11 · No Comments »

勇气

不知“为人不做亏心事,不怕半夜鬼敲门”出自于什么年代,那时候有正气应该就有勇气,所以肯定不是现在了。

现在做个好人太难了,行事总是小心翼翼,一则怕被别人看在眼里横生误解;二则怕好事没做到位反成坏事。总之,唯有委曲求全及唯唯诺诺,哪里能谈得上勇气!

反观做坏事的,事越坏,勇气却是越大,胆量亦是愈大。逃犯逃腻了可以挺身而出,或打假、或征婚、或当演员。窃财、偷人、收脏的也是都油光满面、西装革履并大言不惭地不断叫嚷着冠冕堂皇的废话。

好在无论什么事情总有个例外,这才给人一点希望:

1,中国的农民兄弟最有勇气,庆幸我也出身于农民,咱也是种过地的,只是现在已是“五谷”不分了。我一直纳闷,为什么中国最成功最彻底的改革都是从最下层开始的,这样的改革成本太高了,因为所有的东西都要重新来过。为什么欧洲的改革却可以只发生在上层?难道即便是中国的精英层也被鲁讯笔下的国人劣根性所禁锢?

2,1921年7月23日上海法租界望志路106号里的那批人也是有勇气的。可在穿越剧充斥着屏幕的当下,又涌出有勇气的一批人:他们决定穿越到21年8月的嘉兴南湖(毕竟上海法租界不方便),要么招一批小弟自己动手;要么就直奔警署去告密。

Continue reading » · Written on: 12-20-11 · No Comments »