我的黑客偶像

      ①丹尼斯·里奇Dennis M Ritchie), C语言之父,Unix(一种多用户的计算机操作系统)之父。生于1941年9月9日,哈佛大学数学博士,担任朗讯科技公司贝尔实验室 (原AT&T实验室)下属的计算机科学研究中心系统软件研究部的主任一职。1978年布瑞恩W. Kernighan和Dennis M. Ritchie出版了名著《C程序设计语言(The C Programming Language)》,此书已翻译成多种语言,成为C语言方面十分权威的教材之一。
       在里奇的成长历程中,有两个人对他的影响最大,一个是他父亲,而另一个是他的好朋友,同为UNIX发明人的肯·汤普森,尤其是后者。有人问过丹尼斯,他的偶像是谁,不论在计算机领域还是其他领域。他说:“我不过是在英雄熏陶下成长起来的。很显然,对我职业生涯影响最大的人物是肯·汤普森。UNIX大部分是他的工作,同样也是C语言的前辈,同样Plan 9系统(来自贝尔实验室的概念网络操作系统,定义为新型下一代操作系统)的大部分工作也是他做的。并且在这其间‘肯’做了第一个计算机象棋大师。”
里奇生于1941年9月9日的纽约布朗克斯维尔,获得学士学位并且获得哈佛大学更高的学位,在那里以肄业生资格学习物理,以研究生资格学习应用数学。也正是在这时候,一个偶然的机会改变了他一生的选择。里奇这样描述他的转变,当他听取一些非课程类的计算机讲座后(大约1960年),开始对计算机着迷,并选择了一学期正规(介绍性的)课程。第一部分是模拟计算机,后面是关于打孔卡片设备的,然后是关于真正的数字式计算机的,并为Univac I号机准备了一个程序。当时他是一个主修物理学的学生,但是更加着迷于计算机处理的理论和实际问题。因此,他的毕业论文大部分是理论方面的(递归函数的层次),但是也开始投入更大精力到实践方面。作为助教为同一个介绍性课程的后续版本工作了三年——不过那时计算机已经成了IBM7049。
       1968年获得数学博士,而论文正是上面的《递归函数的层次》。
       1967年加入贝尔实验室,他的父亲阿利斯泰尔·E·里奇在那里有长时间的工作经历,他的父亲对晶体管电路类的东西很有研究,正是由于父亲的影响,也使得他走上了科学研究之路。
       不久后,加入了Multics项目(多路信息计算系统),那是由贝尔实验室、麻省理工学院和通用电气三家的合作项目。Ritchie负责多道处理机的BCPL语言和GE650的编译器,它们都是属于GECOS系统的。同样的,他也写了ALTRAN语言的代数编译器,那是用于符号计算机的一种语言和系统。
贡献
C语言和Unix
       当有人问里奇为什么使用他使用的方式开发了C语言的时候,里奇回答说“这样做看上去很好”,他说任何人在同一地方、同一时间会像他那样做的。但是其他许多人认为这只不过反映出了里奇的谦虚。C++的开发者和设计师、里奇在贝尔实验室的同事比雅尼·斯特劳斯特鲁普说:“假如里奇决定在那十年里将他的精力花费在稀奇古怪的数学上,那么Unix将胎死腹中。”
       事实上,丹尼斯·里奇与肯·汤普逊两人发展了C语言,同时发展了Unix操作系统,在电脑工业史上占有重要的席位。至今为止C语言在发展软件和操作系统时依然是一个非常常用的电脑语言,它对许多现代的编程语言如C++、C#、Objective、Java和JavaScript拥有极大的影响。在操作系统方面Unix也具有极大的影响:今天市场上有许多不同的Unix方言如AIX、Solaris、Mac OS X和BSD等,以及与Unix非常相似的系统如Minix和非常普及的Linux操作系统。甚至其Microsoft Windows操作系统与Unix相竞争的微软为他们的用户和开发者提供了与Unix相容的工具和C语言编译器。
里奇还参加发展了Unix和C语言的两个后继软件:Plan 9和Inferno操作系统以及Limbo语言。两者均是基于他以前的工作上发展的。
评价
C语言之父,UNIX之父
       C语言是使用最广泛的语言之一,可以说,C语言的诞生是现代程序语言革命的起点,是程序设计语言发展史中的一个里程碑。自C语言出现后,以C语言为根基的C++、Java和C#等面向对象语言相继诞生,并在各自领域大获成功。但今天C语言依旧在系统编程、嵌入式编程等领域占据着统治地位。C语言,这种最有效、最通用的编程语言,就是他开发的,而这还是他在做另一个项目时的副产品。Dennis Ritchie还和Ken Thompson一起开发了Unix操作系统,因此,他还是名副其实的UNIX之父。
人物印象/可以学习的优点
       丹尼斯·里奇先生的专业精神令人感动,近40年如一日,在他所从事的领域辛勤耕耘,而他的多项发明,包括C语言,Unix,也包括正在进行的Plan9,无论哪一项,在软件发展史上都有着举足轻重的地位,和他的伟大成就形成对照的是他的行事,态度低调,他的表达,像他的软件一样,简洁生动而准确。
       里奇的故事也让我明白了,后天的努力比天赋更重要,更起决定性作用。如今的我在十八岁才开始接触计算机编程,里奇也并不是一上大学就学的是计算机。只要想做好一件事情,无论早晚,总会有各种途径去做好它。
 
       ②KEEN TEAM
        Keen Team (碁震安全研究团队,KeenTeam)是一支由在信息安全理论和技术研究方面全球领先的中国“白帽”安全专家组成的信息安全研究队伍,是世界范围内由厂商官方确认发现计算机漏洞数量最多、最了解突破现代安全保护技术的专业安全团队之一。
       在过去的十数年中,为谷歌、微软、苹果等公司的流行软件提供了数百个严重安全漏洞的挖掘成果,其首席科学家吴石连续三年获得ZDI全球漏洞计算机挖掘白金贡献奖,也是全球顶级黑帽成果Pwnies奖第一个被提名的中国人,被福布斯杂志评价“发现的漏洞是苹果整个安全团队的两倍还多”。Keen Team同时还因第一个攻破iOS7成为全球顶级安全竞赛Pwn2Own安全大赛的全球冠军,也是亚洲第一个冠军得主。2015年Pwn2Own赛事以IE的Flash和PDF插件作为主要攻击目标,最终Keen Team、腾讯电脑管家夺冠。
       Keen Team团队也将成熟技术和经验应用于被广泛使用的产品中。Keen Team研发团队开发的恶意网址检测引擎已经成为微软必应搜索的核心安全引擎,应急响应团队在过去的十数年间处理包括台湾“行政院”、马来西亚总理府网络入侵事件在内的超过2000起应急响应事件,并将应急响应处置经验转化为适用于大规模、自动化的入侵痕迹取证系统。
       Keen Team团队同时积极地推广成熟的安全应急响应和安全开发经验,出席中、英、美、东南亚多个国家级安全会议并担任主题讲师,为中国多个超大型传统和互联网企业提供安全攻防与开发培训,促进国内安全生态圈的健康发展。
       2014年1月,碁震(KEEN Team)作为全球领先的云计算与移动终端安全服务提供商,获得国家信息产业公共服务平台颁发的“2013年度移动安全领域最佳APT防御技术产品奖”。
 可以学习的优点:
       Keen team改变了我对传统“黑客”这一词汇的认知,黑客并不仅仅代表着入侵与犯罪,与黑客相对应的称为“白客”,当我们将自己所学到的计算机知识和技能应用于国家的信息安全事业,计算机知识便可以发挥出更大的作用和价值。信息安全是一个值得人投入努力的领域,我们未来具有十分广阔的发展空间,keen team便是我们的榜样之一。
 
需要学习的工具:
SAINT安全套件
       SAINT 是一个商业漏洞评估和渗透系统。它最初是在 1990 年代后期作为基于开源 SATAN 扫描器的免费 UNIX 工具开发的。后来它商业化并扩展为一整套用于漏洞检测、利用和资产管理的工具。它可在多个平台上使用,包括设备 (SAINTbox) 和云托管 (SAINTcloud)。
 VMware
       VMware 虚拟化软件允许我们在另一个操作系统中运行一个操作系统。这对于通常需要在多个平台上测试代码、漏洞等的安全研究人员非常有用。它仅作为主机操作系统在 Windows 和 Linux 上运行,但几乎所有 x86 或 x86_64 操作系统都将在虚拟化环境中运行。它也可用于设置沙箱。我们可以从 VMware 窗口中浏览,因此即使我们感染了恶意软件,它也无法到达我们的主机操作系统。恢复来宾操作系统就像加载感染前的“快照”一样简单。
谷歌
       虽然它不仅仅是一个安全工具,但谷歌的海量数据库是安全研究人员和渗透测试人员的金矿。我们可以使用它来挖掘有关目标公司的信息,方法是使用“site:target-domain.com”并查找员工姓名、他们错误地认为隐藏的敏感信息、易受攻击的软件安装等。同样,当在另一个流行的 web 应用程序中发现错误时,谷歌通常可以在几秒钟内提供全球易受攻击的服务器列表。
 
四年学习计划
大学有很充裕的课余时间,鲁迅曾说,他只是把别人喝咖啡的时间用在了写作上。我也会像鲁迅先生那样,把别人玩网络游戏的时间用在扩展视野、查阅资料、下载软件、与老师学长同学们讨论交流上,不断充实自己。有一句话说:不读书的人打电竞,而读书的人创造电竞。这句话曾经对我影响很大,如今,我也正在进行计算机科学的学习,如果能够把日常零碎的时间充分利用起来,无异于比别人多了一次人生。
posted @   20211314王艺达  阅读(142)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示