亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? acm classic reflections on trusting trust.mht

?? 十篇國外的重要資料
?? MHT
?? 第 1 頁 / 共 4 頁
字號:
From: <由 Microsoft Internet Explorer 5 保存>
Subject: ACM Classic: Reflections on Trusting Trust
Date: Thu, 12 Mar 2009 14:14:09 +0800
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_004A_01C9A31C.CF6FEB40"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3350

This is a multi-part message in MIME format.

------=_NextPart_000_004A_01C9A31C.CF6FEB40
Content-Type: text/html;
	charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://cm.bell-labs.com/who/ken/trust.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>ACM Classic: Reflections on Trusting Trust</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dgb2312">
<META content=3D"MSHTML 6.00.2900.3492" name=3DGENERATOR></HEAD>
<BODY>
<H2>Reflections on Trusting Trust<BR><EM>Ken Thompson</EM></H2>
<HR>
Reprinted from <CITE>Communication of the ACM</CITE>, Vol. 27, No. 8, =
August=20
1984, pp. 761-763. Copyright &copy; 1984, Association for Computing =
Machinery, Inc.=20
Also appears in <CITE>ACM Turing Award Lectures: The First Twenty Years=20
1965-1985</CITE> Copyright &copy; 1987 by the ACM press and =
<CITE>Computers Under=20
Attack: Intruders, Worms, and Viruses</CITE> Copyright &copy; 1990 by =
the ACM press.=20
<P>I copied this page from the <A=20
href=3D"http://www.acm.org/classics/sep95/">ACM,</A> in fear that it =
would someday=20
turn stale.=20
<HR>

<H3>Introduction</H3>
<P>I thank the ACM for this award. I can't help but feel that I am =
receiving=20
this honor for timing and serendipity as much as technical merit. UNIX =
swept=20
into popularity with an industry-wide change from central main frames to =

autonomous minis. I suspect that Daniel Bobrow (1) would be here instead =
of me=20
if he could not afford a PDP-10 and and had to "settle" for a PDP-11. =
Moreover,=20
the current state of UNIX is the result of the labors of a large number =
of=20
people.=20
<P>There is an old adage, "Dance with the one that brought you," which =
means=20
that I should talk about UNIX. I have not worked on mainstream UNIX in =
many=20
years, yet I continue to get undeserved credit for the work of others.=20
Therefore, I am not going to talk about UNIX, but I want to thank =
everyone who=20
has contributed.=20
<P>That brings me to Dennis Ritchie. Our collaboration has been a thing =
of=20
beauty. In the ten years that we have worked together, I can recall only =
one=20
case of miscoordination of work. On that occasion, I discovered that we =
both had=20
written the same 20-line assembly language program. I compared the =
sources and=20
was astounded to find that they matched character-for-character. The =
result of=20
our work together has been far greater than the work that we each =
contributed.=20
<P>I am a programmer. On my 1040 form, that is what I put down as my =
occupation.=20
As a programmer, I write programs. I would like to present to you the =
cutest=20
program I ever wrote. I will do this in three stages and try to bring it =

together at the end.=20
<H3>Stage I</H3>
<P>In college, before video games, we would amuse ourselves by posing=20
programming exercises. One of the favorites was to write the shortest=20
self-reproducing program. Since this is an exercise divorced from =
reality, the=20
usual vehicle was FORTRAN. Actually, FORTRAN was the language of choice =
for the=20
same reason that three-legged races are popular.=20
<P>More precisely stated, the problem is to write a source program that, =
when=20
compiled and executed, will produce as output an exact copy of its =
source. If=20
you have never done this, I urge you to try it on your own. The =
discovery of how=20
to do it is a revelation that far surpasses any benefit obtained by =
being told=20
how to do it. The part about "shortest" was just an incentive to =
demonstrate=20
skill and determine a winner.=20
<P><A name=3Dfig1><IMG alt=3D"[figure 1]"=20
src=3D"http://cm.bell-labs.com/who/ken/fig1.gif"></A><BR><STRONG>FIGURE =
1</STRONG>=20

<P><A =
href=3D"http://cm.bell-labs.com/who/ken/trust.html#fig1.gif">Figure =
I</A>=20
shows a self-reproducing program in the C programming language. (The =
purist will=20
note that the program is not precisely a self-reproducing program, but =
will=20
produce a self-reproducing program.) This entry is much too large to win =
a=20
prize, but it demonstrates the technique and has two important =
properties that I=20
need to complete my story: (1) This program can be easily written by =
another=20
program. (2) This program can contain an arbitrary amount of excess =
baggage that=20
will be reproduced along with the main algorithm. In the example, even =
the=20
comment is reproduced.=20
<H3>Stage II</H3>
<P>The C compiler is written in C. What I am about to describe is one of =
many=20
"chicken and egg" problems that arise when compilers are written in =
their own=20
language. In this ease, I will use a specific example from the C =
compiler.=20
<P>C allows a string construct to specify an initialized character =
array. The=20
individual characters in the string can be escaped to represent =
unprintable=20
characters. For example,=20
<BLOCKQUOTE>"Hello world\n" </BLOCKQUOTE>
<P>represents a string with the character "\n," representing the new =
line=20
character.=20
<P><A name=3Dfig2><IMG alt=3D"[figure 2]"=20
src=3D"http://cm.bell-labs.com/who/ken/fig2.gif"></A><BR><STRONG>FIGURE =
2</STRONG>=20

<P><A href=3D"http://cm.bell-labs.com/who/ken/trust.html#fig2">Figure =
2</A> is an=20
idealization of the code in the C compiler that interprets the character =
escape=20
sequence. This is an amazing piece of code. It "knows" in a completely =
portable=20
way what character code is compiled for a new line in any character set. =
The act=20
of knowing then allows it to recompile itself, thus perpetuating the =
knowledge.=20
<P><A name=3Dfig3><IMG alt=3D"[figure 3]"=20
src=3D"http://cm.bell-labs.com/who/ken/fig3.gif"></A><BR><STRONG>FIGURE =
3</STRONG>=20

<P>Suppose we wish to alter the C compiler to include the sequence "\v" =
to=20
represent the vertical tab character. The extension to <A=20
href=3D"http://cm.bell-labs.com/who/ken/trust.html#fig2">Figure 2</A> is =
obvious=20
and is presented in <A=20
href=3D"http://cm.bell-labs.com/who/ken/trust.html#fig3">Figure 3</A>. =
We then=20
recompile the C compiler, but we get a diagnostic. Obviously, since the =
binary=20
version of the compiler does not know about "\v," the source is not =
legal C. We=20
must "train" the compiler. After it "knows" what "\v" means, then our =
new change=20
will become legal C. We look up on an ASCII chart that a vertical tab is =
decimal=20
11. We alter our source to look like <A=20
href=3D"http://cm.bell-labs.com/who/ken/trust.html#fig4">Figure 4</A>. =
Now the old=20
compiler accepts the new source. We install the resulting binary as the =
new=20
official C compiler and now we can write the portable version the way we =
had it=20
in <A href=3D"http://cm.bell-labs.com/who/ken/trust.html#fig3">Figure =
3</A>.=20
<P><A name=3Dfig4><IMG alt=3D"[figure 4]"=20
src=3D"http://cm.bell-labs.com/who/ken/fig4.gif"></A><BR><STRONG>FIGURE =
4</STRONG>=20

<P>This is a deep concept. It is as close to a "learning" program as I =
have=20
seen. You simply tell it once, then you can use this self-referencing=20
definition.=20
<H3>Stage III</H3><A name=3Dfig5><IMG alt=3D"[figure 5]"=20
src=3D"http://cm.bell-labs.com/who/ken/fig5.gif"></A><BR><STRONG>FIGURE =
5</STRONG>=20

<P>Again, in the C compiler, <A=20
href=3D"http://cm.bell-labs.com/who/ken/trust.html#fig5">Figure 5</A> =
represents=20
the high-level control of the C compiler where the routine "compile" is =
called=20
to compile the next line of source. <A=20
href=3D"http://cm.bell-labs.com/who/ken/trust.html#fig6">Figure 6</A> =
shows a=20
simple modification to the compiler that will deliberately miscompile =
source=20
whenever a particular pattern is matched. If this were not deliberate, =
it would=20
be called a compiler "bug." Since it is deliberate, it should be called =
a=20
"Trojan horse."=20
<P><A name=3Dfig6><IMG alt=3D"[figure 6]"=20
src=3D"http://cm.bell-labs.com/who/ken/fig6.gif"></A><BR><STRONG>FIGURE =
6</STRONG>=20

<P>The actual bug I planted in the compiler would match code in the UNIX =
"login"=20
command. The replacement code would miscompile the login command so that =
it=20
would accept either the intended encrypted password or a particular =
known=20
password. Thus if this code were installed in binary and the binary were =
used to=20
compile the login command, I could log into that system as any user.=20
<P>Such blatant code would not go undetected for long. Even the most =
casual=20
perusal of the source of the C compiler would raise suspicions.=20
<P><A name=3Dfig7><IMG alt=3D"[figure 7]"=20
src=3D"http://cm.bell-labs.com/who/ken/fig7.gif"></A><BR><STRONG>FIGURE =
7</STRONG>=20

<P>The final step is represented in <A=20
href=3D"http://cm.bell-labs.com/who/ken/trust.html#fig7">Figure 7</A>. =
This simply=20

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美剧情电影在线观看完整版免费励志电影 | 国产精品二三区| av亚洲精华国产精华精| 午夜视频一区二区| 国产精品素人一区二区| 91精品国产91久久综合桃花| 91免费观看国产| 国产一区二区三区不卡在线观看| 一区二区久久久久久| 国产欧美一区二区精品秋霞影院| 678五月天丁香亚洲综合网| 99精品一区二区三区| 国产麻豆视频一区| 美女视频黄频大全不卡视频在线播放| 亚洲图片激情小说| 国产精品视频在线看| 精品国产伦理网| 91精品国产综合久久精品app| 91视频免费看| 成人激情图片网| 国产麻豆精品在线| 精彩视频一区二区| 日本午夜一本久久久综合| 亚洲已满18点击进入久久| 国产精品毛片大码女人| 国产欧美日韩麻豆91| 久久久噜噜噜久噜久久综合| 欧美一区二区大片| 在线不卡免费欧美| 777亚洲妇女| 欧美日韩国产一级片| 欧美艳星brazzers| 91日韩精品一区| 9色porny自拍视频一区二区| 成人性生交大片免费看在线播放 | 欧美三级三级三级爽爽爽| 97精品电影院| jiyouzz国产精品久久| 成人免费看视频| av在线不卡网| 成人ar影院免费观看视频| 成人动漫视频在线| 91在线视频18| 91免费国产视频网站| 欧美系列日韩一区| 欧美日本一道本在线视频| 欧美日本韩国一区二区三区视频 | 亚洲国产精品av| 国产夜色精品一区二区av| 国产网站一区二区三区| 中文欧美字幕免费| 亚洲精品菠萝久久久久久久| 一区二区视频在线| 午夜成人免费视频| 久久精品国产精品亚洲红杏| 国产成人鲁色资源国产91色综| 粗大黑人巨茎大战欧美成人| 91一区二区三区在线观看| 在线观看国产91| 337p亚洲精品色噜噜| 26uuu亚洲| 亚洲免费三区一区二区| 亚洲电影在线播放| 久久99久久久欧美国产| 成人激情开心网| 欧美日韩国产一区| 久久久蜜桃精品| 亚洲激情综合网| 久久99精品久久久久久久久久久久 | av激情综合网| 欧美日韩不卡在线| 精品国产精品网麻豆系列| 中文字幕在线不卡视频| 亚洲 欧美综合在线网络| 精品综合久久久久久8888| eeuss国产一区二区三区| 欧美三级视频在线播放| 久久久久久一二三区| 一区二区日韩av| 国产一区二区美女| 91极品美女在线| 精品少妇一区二区三区| 亚洲欧美日韩在线| 国产最新精品精品你懂的| 91丝袜国产在线播放| 欧美变态tickle挠乳网站| 亚洲另类色综合网站| 久久精品国产精品亚洲红杏| 91麻豆成人久久精品二区三区| 日韩一二三四区| 亚洲精品成人少妇| 国产精品原创巨作av| 欧美性xxxxx极品少妇| 国产欧美一区在线| 日韩激情av在线| 91视频观看免费| 日本一区二区三区久久久久久久久不 | 亚洲精品第一国产综合野| 奇米一区二区三区| 色综合久久久久综合99| 久久综合一区二区| 天天av天天翘天天综合网色鬼国产| 国产又黄又大久久| 欧美一区二区三区不卡| 亚洲黄色av一区| 成人app软件下载大全免费| 亚洲精品一区二区在线观看| 亚洲成人综合视频| 91丨九色丨黑人外教| 国产三级三级三级精品8ⅰ区| 午夜成人在线视频| 欧美体内she精高潮| 亚洲欧美精品午睡沙发| 成人午夜又粗又硬又大| 欧美成人艳星乳罩| 日本视频一区二区三区| 欧美在线你懂的| 亚洲黄色片在线观看| 色综合天天综合在线视频| 国产精品成人在线观看| 国产精品白丝av| 久久九九国产精品| 国产黄人亚洲片| 国产欧美一区二区在线| 国产盗摄一区二区| 久久久久久影视| 国产激情91久久精品导航| 久久久99久久| 国产精品一色哟哟哟| 欧美精品一区二区高清在线观看| 久久超碰97中文字幕| 精品区一区二区| 国产一区在线精品| 国产亚洲欧美中文| 成人久久视频在线观看| 亚洲欧美自拍偷拍| 91丨九色丨蝌蚪丨老版| 亚洲精品成人在线| 欧美老人xxxx18| 日韩av在线发布| 精品久久久三级丝袜| 国产精品亚洲人在线观看| 久久久久久久久久久99999| 国产高清在线精品| 综合久久综合久久| 欧美在线观看视频一区二区| 亚洲成a人在线观看| 制服丝袜亚洲播放| 国产精品一区二区久久精品爱涩 | 99视频一区二区| 一区二区三区在线观看视频| 91久久久免费一区二区| 五月婷婷色综合| 精品粉嫩超白一线天av| 国产成都精品91一区二区三| 中文字幕在线不卡国产视频| 欧美性生活大片视频| 日本成人在线电影网| 自拍偷拍亚洲综合| 欧美猛男超大videosgay| 免费人成精品欧美精品| 亚洲国产激情av| 在线观看日韩电影| 老司机精品视频导航| 国产精品视频一二三区 | 欧美va天堂va视频va在线| 国产一区二区三区久久悠悠色av| 国产精品欧美一级免费| 欧美做爰猛烈大尺度电影无法无天| 午夜成人在线视频| 欧美国产日产图区| 欧美日韩电影一区| 国产成人综合自拍| 亚洲一区二区三区四区中文字幕| 日韩女优av电影| 91国内精品野花午夜精品| 久久精品国产一区二区| 日韩美女视频一区二区 | 欧美一区二区视频在线观看 | 色婷婷综合激情| 免费精品视频最新在线| 国产精品欧美综合在线| 3d成人动漫网站| av一二三不卡影片| 久久成人羞羞网站| 夜夜精品视频一区二区 | 日本韩国欧美在线| 激情文学综合网| 亚洲一卡二卡三卡四卡| 日本一区二区动态图| 在线播放/欧美激情| 99久久久精品免费观看国产蜜| 欧美aaa在线| 亚洲午夜久久久久| 日韩一区日韩二区| 久久综合给合久久狠狠狠97色69| 欧美视频中文一区二区三区在线观看 | 欧美三级日本三级少妇99| 国产精品77777竹菊影视小说| 亚洲第四色夜色|