存档

作者存档

YARA——恶意软件模式匹配利器

2014年2月18日 1 条评论

原创:裴伟伟(做个好人)

YARA是一款旨在帮助恶意软件研究人员识别和分类恶意软件样本的开源工具(由virustotal的软件工程师Victor M. Alvarezk开发),使用YARA可以基于文本或二进制模式创建恶意软件家族描述信息,当然也可以是其他匹配信息。YARA的每一条描述或规则都由一系列字符串和一个布尔型表达式构成,并阐述其逻辑。YARA规则可以提交给文件或在运行进程,以帮助研究人员识别其是否属于某个已进行规则描述的恶意软件家族。比如下面这个例子:

rule silent_banker : banker
{
    meta:
        description = "This is just an example"
        thread_level = 3
        in_the_wild = true

    strings:
        $a = {6A 40 68 00 30 00 00 6A 14 8D 91}
        $b = {8D 4D B0 2B C1 83 C0 27 99 6A 4E 59 F7 F9}
     [……]

阅读全文

线程模型对比: Windows VS POSIX

2014年2月12日 没有评论

原文:http://software.intel.com/en-us/blogs/2006/10/19/why-windows-threads-are-better-than-posix-threads

翻译:徐文博

曾使用过POSIX线程(Pthreads)和Windows线程API, 我认为Windows线程具有更好的编程模型。虽然它们都能创建、销毁线程,并协调线程间的交互,但windows线程API更易使用并且设计优雅。这是多线程开发、维护者的思考视角。下面让我来举例说明。

简单的数据类型

在Pthreads中,每个对象均有其自己的数据类型(pthread_t, pthread_mutex_t, pthread_cond_t 等等)而在Windows线程中,仅有一种类型:HANDLE。这就意味着在Pthreads中,需要使用不同的函数来处理每种对象类型。阅读理解他人所写的Pthreads代码可能会比较简单,但这要求编程人员必须知道不同函数的参数个数、顺序以及类型。相反的,在Windows线程中,因为不同对象使用了同种数据类型,它们就有了统一的Create*函数和各自针对性的Release*函数。

或许使用单对象数据类型的最大好处就是仅需WaitForSingleObject函数就能阻塞那些等待某对象的线程。所以,不管代码是在等待线程、互斥量、信号量,还是事件,我们只需知道一组参数即可。与此相关联的函数WaitForMultipleObjects,同[……]

阅读全文

学点Unicode又不会死——Unicode的流言终结者和编码大揭秘

2014年2月12日 1 条评论

原文:http://10kloc.wordpress.com/2013/08/25/plain-text-doesnt-exist-unicode-and-encodings-demystified/

翻译:封畅

如果你是一个生活在2003年的程序员,却不了解字符、字符集、编码和Unicode这些基础知识。那你可要小心了,要是被我抓到你,我会让你在潜水艇里剥六个月洋葱来惩罚你。

这个邪恶的恐吓是Joel Spolsky在十年前首次发出的。不幸的是,很多人认为他只是在开玩笑,因此,现在仍有许多人不能完全理解Unicode,以及Unicode、UTF-8、UTF-16之间的区别。这就是我写这篇文章的原因。

言归正传,设想在一个晴朗的下午,你收到一封电子邮件,它来自一个你高中之后就失去联系的朋友,并带有一个txt格式(也称为纯文本格式)的附件。这个附件包含下面这样一串二进制bits:

0100100001000101010011000100110001001111

Email的正文是空的,这使它更加神秘。在你启动常用的文本编辑器打开这个附件之前,你有没有想过,文本编辑器是怎么将二进制形式翻译成字符的?这其中有两个关键问题:

  1. 字节是怎样分组的?(例如1个字节的字符和2个字节的字符)

  2. 一个或多个字节是怎么映射到字符上的?

这些问题的答案就在这篇文档(Character Encoding)中[……]

阅读全文

分类: Web安全 标签: , , ,

带着”颠覆的自由”去游走 —— 极客“自由光”试驾之初体验

2014年1月27日 没有评论

原创:万涛(老鹰)

“天上掉馅饼”的事对于一个职业资安人和公益极客,从来都是不可能相信的。不幸的是,2014年刚开始,我居然就被馅饼砸中了,仅仅是缘于2013年底在极客公园网站上的一次随意点击——报名参加克莱斯勒新车“自由光”的深圳大梅沙试驾活动,竟然被抽中了!(亲,包拉回机票、五星级酒店食宿的哦)

据说,关于“自由光”这个名字,源自一次数万网友参与的网络征名活动,最终选定这个名称也符合车型传递给消费者的态度。Jeep方面表示,这个名字“表达了数量日益攀升的中国城市中产人群,渴望摆脱模式化都市生活的限制,追求心灵的自由,享受每一种可能的生活态度”。

其实在女汉子横行的当下,除了财大气粗的土豪,就算再娘的伪汉子,谈起车来很少会不展现自己对SUV的向往,平日压抑的雄性,往往会像打了鸡血一样亢奋,但到了真金白银的时候,往往大多还是冲着舒适的轿车或者各种徒有SUV的外表而实际还是一颗“柔软的心”的“城市越野”而去了:其实我真不应该调侃他们,如果你每天主要的时间还是龟缩奔波在红灯区一样的城市,即使有机会出去撒野,虽然华夏大地有着能满足越野族所有欲望的道路地貌,缺少经验的你就算开着一台最酷最牛的SUV,也往往还是会因为技能不足而陷进坑里的,得到的仅仅是如我时常在自家小区的地下停车场被邀请帮某些娇小的女士泊她们的高大越野车之后挂在嘴角的嘲讽。

所以,当带着对[……]

阅读全文

分类: 评头论足 标签: , , ,

canvas framework——MOSDEF基础

2014年1月27日 没有评论

原创:4ll3n

引言

Mini Elf Structure and generate,在IDF实验室博客曾介绍payload exec组成结构与生成方法,文章中使用Inlineegg框架来生成Mini Elf,通过linux命令和hex来理解其结构。

Immunityinc公司出品的CANVAS是渗透工程师所熟悉的漏洞检测框架,而核心攻击框架是今天我们所要介绍的,它是:MOSDEF2.0,什么是MOSDEF呢?

C-like compiler suite originally built for and designed for Immunity's CANVAS attack framework written completely in Python。

website: http://immunityinc.com

首先,我们来认识其框架的有哪几部分组成:

1. 程序编译/分析

2. ASM/C

3. 库:PLY

4. payload 生成与shellcode

5. 命令使用

一、MOSDEF的主要组成部分

1、看下它的ASM/C这部分有那写可用文件:

canvas framework 01

[……]

阅读全文

MINI ELF Struction and generate

2014年1月17日 没有评论

原创:4ll3n

一、Mini ELF Struction

1、ELF header

/* see path://usr/include/elf.h */

typedef struct
{
unsigned char e_ident[EI_NIDENT] /* Magic number and other info */
Elf32_Half e_type; /* Object file type */
Elf32_Half e_machine; /* Architecture */
Elf32_Word e_version; /* Objet file version */
Elf32_Addr e_entry; /* Entry point virtual address */
Elf32_Off e_phoff; /* Program header table file offset */
Elf32_Off e_shoff; /* Section header table file offset */
Elf32_Word e_flags; /* Processor-specific flags */
Elf32_Half e_ehsize; /* ELF header size in bytes */
Elf32_Half e_phentsize; /* Program header table entry size */
Elf32_Half e_phnum; /* Program h[......]

阅读全文

分类: *nix安全 标签: ,

可视化DDoS攻击地图

2014年1月15日 没有评论

原创:裴伟伟(做个好人)

DDoS攻击通过分布式的源头针对在线服务发起的网络消耗或资源消耗的攻击,目的是使得目标无法正常提供服务。DDoS攻击主要针对一些重要的目标,从银行系统到新闻站点,而它之所以一直令人头疼在于如何在遭受攻击时仍然能够对用户提供正常服务。

笔者偶然间看到一个全球可视化的DDoS攻击地图:Digital Attack Map,这个项目是源于Google Ideas和Arbor网络的合作,通过展现匿名的攻击数据向用户提供历史性的攻击数据和报告。

Digital Attack Map的FAQ中简述了该地图的数据来源和数据解释,笔者毫不蛋疼地翻译了下供大家参考:

数据

攻击数据从哪里来?

Digital Attack Map展现的数据是由Arbor网络ATLAS全球智能威胁系统搜集和发布。ATLAS通过分布在全球的270家以上的ISP客户寻求数据,当然这些ISP客户同意分享匿名网络通讯数据和攻击统计数据。这些数据每小时更新一次,也可以在Arbor的ATLAS威胁入口中找到。

攻击数据的全面性如何?

因为流量属性的变化和监测范围的问题,不太可能在线展现完整的攻击情况。尽管Digital Attack Map的数据来自可用的最完整的数据集之一,但它仍然是不全面的地图。在Arbor网络观测的数据中可能有未经确定的或非活跃攻击的数据,还有可识别的攻击中有高威胁趋势的数据。

为什么我看不到攻击者或目标站点的信息[……]

阅读全文

分类: 终端安全, 网络安全 标签: , ,