中译本序
有幸与湖北警官学院的张俊老师相识,我们经常在学术会议间隙,或者相互访问的交流过程中探讨电子数据取证的问题。张俊老师从事电子数据取证的教学和科研工作多年,培养了很多优秀的学生,他还积极参与电子数据取证的司法鉴定工作,办理了许多重大和复杂的案件。张俊老师一直活跃在电子数据取证领域,并不断关注和跟踪国内外最新的技术发展,所以他有心翻译和出版这样一本书,我觉得一切都是顺理成章的事情。
本书作者Chet Hosmer和技术编辑Gary C. Kessler也是信息网络安全业界的专业人士,他们都是知名的专家,有着长期的专业经历和丰富学识。他们将宝贵的经验和专业知识毫无保留地在书中传授,这将有利于专业人才的成长,有助于立志从事电子数据取证的技术人员和法律人士快速进入这一领域。
电子数据取证是一个发展时间相对较短的领域,还有很多的技术问题、法律问题尚待解决。香港大学计算机科学学系的课程也应用了Python语言编程,我们也鼓励从事信息安全专业的学生学习这门语言,并充分利用其简单易学、第三方库功能强大的特点,与专业知识相结合,针对电子数据取证的不同问题或挑战,开展创造性的工作,提出切实可行的解决方案。
这本书提供了广泛的例子,便于不了解编程或只拥有初级技术的开发人员使用。我们盼望着更多充满智慧和理想的新人的加入,期待你们所有人分享思想、知识和经验,一起推进这一事业的发展。
邹锦沛博士(Dr. CHOW KAM PUI)
香港大学信息安全和密码学硏究中心(CISC)
香港大学计算机科学学系
2016年11月18日于香港大学
译者序
电子数据取证技术的研究和应用在国内得到了越来越多的关注。全世界的专家和学者在提及信息网络安全时,关注的重点多集中于算法理论的研究、技术方法的对抗以及规范策略的制定等,毫无疑问这些问题极为重要。然而,信息网络安全的最后一道防线必然诉诸法律。最近几年电子数据作为一种独立证据类型,逐渐得到各类法规的认可,例如在深圳快播公司涉嫌传播淫秽物品牟利案的庭审中,关于电子证据的控辩,就引发了司法界对电子证据的广泛关注。作为向法庭呈贡证据的侦查人员、电子数据取证司法鉴定人,他们的知识、水平和能力成为关键。但现实的问题是,由于计算机网络技术的飞速发展,以及案件的复杂和规模化,已有的电子数据取证工具在很多情况下并不能替侦查人员或司法鉴定人自动完成他们所需的全部工作,或者完成更高级的取证调查任务。例如,用现有的工具软件提取一部手机的通话、短信和即时通信记录,通常可以得到数吉赫兹的数据,往往一个案件涉及十几部或更多的手机,因此数据量更大。如果侦查人员或司法鉴定人能够快速地编写代码,进行定制的搜索和索引,将极大地提高从这些海量的半结构化数据中高效地得到关键证据的能力。
译者长期从事电子数据取证的科研和教学工作,并作为司法鉴定人,参与了大量重、特大案件的电子数据取证调查工作,在这些过程中一直反复思考上述这些问题。一个偶然的机会,看到了Python Forensics: A Workbench for Inventing and Sharing Digital Forensic Technology一书,立刻被它的内容所吸引,感觉找到了问题的答案。本书的特点在于,使用Python语言上手快,第三方库丰富,调查员可以方便地编写代码来完成复杂的、特定的取证任务,而且无须过多关注语言细节,从而能将主要精力放到取证任务本身。另外,本书体现了开发过程满足多伯特(Daubert)证据标准的重要性,也就是设计、开发、测试过程符合特定的证据标准。这些特点也是开发普通程序与取证程序的最大区别。
作者Chet Hosmer不仅是信息网络安全、电子数据取证领域的从业人士,也是一名教育工作者,作为Utica学院网络安全研究生课程的客座教授,他擅长从调查员视角讲解如何用Python语言进行电子数据取证。本书在介绍如何建立一个Python取证环境的基础上,首先详细讲解开发一个取证应用的基本框架,然后每一章都针对网络犯罪取证的一个不同问题,讨论能够自由使用、分享和扩展的Python指导性解决方案,包括哈希、关键字搜索、元数据、自然语言处理、网络分析以及利用云的多进程等。最后,对Python应用于网络犯罪调查,以及更广泛领域的网络安全应用,高性能硬件加速和嵌入式解决方案等在未来的机遇进行了展望。作者认为,能否建造自己的取证工具库,是区分初级取证调查员与专业取证调查员的关键。全书贯穿着一个资深调查员通过长期实践得出的理念。作为前辈,他谆谆告诫后来者:只有当我们(调查人员)理解工具如何工作时,它们才真正是我们的工具。他正是以这一核心指导原则展开了本书全部内容。
电子数据取证是计算机科学、法学等的交叉领域,技术开发人员和法律工作者以不同的知识背景进入该领域,他们从各自角度去理解电子数据证据的提取、分析和呈贡,并且在专业词汇、思维过程、解决问题的方式等方面有很大区别,形成了介于一个自然科学和社会科学之间的沟壑。所以,本书的另一个目的是试图建立起工程学(如计算机科学、信息科学)与社会科学(如法学)之间的桥梁。技术开发人员和法律工作者通过阅读本书,提升对取证环境和工具的理解,可以轻松交流和平等参与,从而创造出一个协作而不互损的环境,计算机科学与社会科学都能各尽其力。我在阅读和翻译的过程中,深刻体会到作者毫无保留地把自己积累的宝贵经验传授给读者。本书对读者的编程知识(也许根本没有)不做任何预设。只要肯用功,对书中的例子感兴趣,读者就不用担心自己读不懂,甚至可以将其扩展,开发出适应特定情形和问题的进化版本。
以我有限的水平,要翻译好这样一本同时适合技术开发人员和法律工作者阅读的著作,内心难免不安。感谢作者Chet Hosmer对我每次发邮件向他求教或确认问题的耐心解答。感谢我的领导黄凤林教授和张天长教授,他们给予我很多指导和帮助。感谢武汉天宇宁达公司的CEO郭永建先生,他给出了若干非常专业的修改意见。翻译本书时,我还向徐比超和胡壮求证过有关的示例是否有误,他们是湖北警官学院的毕业生,现在战斗在电子数据取证的最前线。感谢湖北警官学院的学生吴沛沛、欧阳桂申、彭洪飞、沈阳、朱俊妍参与部分翻译校对和代码测试工作。最后感谢我的妻子,她承担了所有的家务重任,让我全心投入工作,并以我翻译本书为骄傲。
由于本人学识有限,且时间仓促,书中翻译错误、不当和疏漏之处在所难免,望读者批评指正。
专 家 荐 语
Hosmer不仅为各种层次的取证分析提供了一个出色的Python取证指南,还眼光独到地阐述了如何建立一个意义非凡的协作环境,这种环境将极大地提升个人、组织以及取证社区的取证能力。对于分析人员、调查人员、管理人员、研究人员,以及其他任何对数字取证感兴趣的人来说,这是一本必须读的书!
Michael Duren(CISSP)
Cyber Moxie公司创始人