ch01.htm
来自「Maximum Security (First Edition) 网络安全 英文」· HTM 代码 · 共 591 行 · 第 1/3 页
HTM
591 行
probable) that users might be unaware of obscure network utilities at work with theiroperating systems.</P><P>This is especially so with UNIX-based operating systems, but for a slightly differentreason. UNIX is a large and inherently complex system. Comparing it to other operatingsystems can be instructive. DOS contains perhaps 30 commonly used commands. In contrast,a stock distribution of UNIX (without considering windowed systems) supports severalhundred commands. Further, each command has one or more command-line options, increasingthe complexity of each utility or program.</P><P>In any case, in the active state of insecurity in shipped software, utilitiesare enabled and this fact is unknown to the user. These utilities, while enabled,can foster security holes of varying magnitude. When a machine configured in thismanner is connected to the Net, it is a hack waiting to happen.</P><P>Active state problems are easily remedied. The solution is to turn off (or properlyconfigure) the offending utility or service. Typical examples of active state problemsinclude<UL> <LI>Network printing utilities<BR> <BR> <LI>File-sharing utilities<BR> <BR> <LI>Default passwords<BR> <BR> <LI>Sample networking programs</UL><P>Of the examples listed, default passwords is the most common. Most multiuser operatingsystems on the market have at least one default password (or an account requiringno password at all).<H3><FONT COLOR="#000077"><B>The Passive State</B></FONT></H3><P>The passive state involves operating systems with built-in security utilities.These utilities can be quite effective when enabled, but remain worthless until thesystem administrator activates them. In the passive state, these utilities are neveractivated, usually because the user is unaware that they exist. Again, the sourceof the problem is the same: The user or system administrator lacks adequate knowledgeof the system.</P><P>To understand the passive state, consider logging utilities. Many networked operatingsystems provide good logging utilities. These comprise the cornerstone of any investigation.Often, these utilities are not set to active in a fresh installation. (Vendors mightleave this choice to the system administrator for a variety of reasons. For example,certain logging utilities consume space on local drives by generating large textor database files. Machines with limited storage are poor candidates for conductingheavy logging.) Because vendors cannot guess the hardware configuration of the consumer'smachine, logging choices are almost always left to the end-user.</P><P>Other situations that result in passive-state insecurity can arise: Situationswhere user knowledge (or lack thereof) is not the problem. For instance, certainsecurity utilities are simply impractical. Consider security programs that administerfile-access privileges (such as those that restrict user access depending on securitylevel, time of day, and so forth). Perhaps your small network cannot operate withfluidity and efficiency if advanced access restrictions are enabled. If so, you musttake that chance, perhaps implementing other security procedures to compensate. Inessence, these issues are the basis of security theory: You must balance the risksagainst practical security measures, based on the sensitivity of your network data.</P><P>You will notice that both active and passive states of insecurity in softwareresult from the consumer's lack of knowledge (not from any vendor's act or omission).This is an education issue, and education is a theme that will recur throughout thisbook.<BLOCKQUOTE> <P><HR><FONT COLOR="#000077"><B>NOTE:</B></FONT><B> </B>Education issues are matters entirely within your control. That is, you can eliminate these problems by providing yourself or your associates with adequate education. (Put another way, crackers can gain most effectively by attacking networks where such knowledge is lacking.) That settled, I want to examine matters that might not be within the end-user's control. <HR></BLOCKQUOTE><H4><FONT COLOR="#000077"><B>System Flaws or Deficiency of Vendor Response</B></FONT></H4><P>System flaws or deficiency of vendor response are matters beyond the end-user'scontrol. Although vendors might argue this point furiously, here's a fact: Thesefactors are the second most common source of security problems. Anyone who subscribesto a bug mailing list knows this. Each day, bugs or programming weaknesses are foundin network software. Each day, these are posted to the Internet in advisories orwarnings. Unfortunately, not all users read such advisories.</P><P>System flaws needn't be classified into many subcategories here. It's sufficientto say that a system flaw is any element of a program that causes the program to<UL> <LI>Work improperly (under either normal or extreme conditions)<BR> <BR> <LI>Allow crackers to exploit that weakness (or improper operation) to damage or gain control of a system</UL><P>I am concerned with two types of system flaws. The first, which I call a pureflaw, is a security flaw nested within the security structure itself. It is a flawinherent within a security-related program. By exploiting it, a cracker obtains one-step,unauthorized access to the system or its data.</P><BLOCKQUOTE> <P><HR><FONT COLOR="#000077"><B>The Netscape secure sockets layer flaw:</B></FONT><B> </B>In January, 1996, two students in the Computer Science department at the University of California, Berkeley highlighted a serious flaw in the Netscape Navigator encryption scheme. Their findings were published in Dr. Dobb's Journal. The article was titled <I>Randomness and the Netscape Browser</I> by Ian Goldberg and David Wagner. In it, Goldberg and Wagner explain that Netscape's implementation of a cryptographic protocol called Secure Sockets Layer (SSL) was inherently flawed. This flaw would allow secure communications intercepted on the WWW to be cracked. This is an excellent example of a pure flaw. (It should be noted here that the flaw in Netscape's SSL implementation was originally discovered by an individual in France. However, Goldberg and Wagner were the first individuals in the United States to provide a detailed analysis of it.) <HR></P></BLOCKQUOTE><P>Conversely, there are secondary flaws. A secondary flaw is any flaw arising ina program that, while totally unrelated to security, opens a security hole elsewhereon the system. In other words, the programmers were charged with making the programfunctional, not secure. No one (at the time the program was designed) imagined causefor concern, nor did they imagine that such a flaw could arise.</P><P>Secondary flaws are far more common than pure flaws, particularly on platformsthat have not traditionally been security oriented. An example of a secondary securityflaw is any flaw within a program that requires special access privileges in orderto complete its tasks (in other words, a program that must run with root or superuserprivileges). If that program can be attacked, the cracker can work through that programto gain special, privileged access to files. Historically, printer utilities havebeen problems in this area. (For example, in late 1996, SGI determined that rootprivileges could be obtained through the <TT>Netprint</TT> utility in its IRIX operatingsystem.)</P><P>Whether pure or secondary, system flaws are especially dangerous to the Internetcommunity because they often emerge in programs that are used on a daily basis, suchas FTP or Telnet. These mission-critical applications form the very heart of theInternet and cannot be suddenly taken away, even if a security flaw exists withinthem.</P><P>To understand this concept, imagine if Microsoft Word were discovered to be totallyinsecure. Would people stop using it? Of course not. Millions of offices throughoutthe world rely on Word. However, there is a vast difference between a serious securityflaw in Microsoft Word and a serious security flaw in NCSA HTTPD, which is a popularWeb-server package. The serious flaw in HTTPD would place hundreds of thousands ofservers (and therefore, millions of accounts) at risk. Because of the Internet'ssize and the services it now offers, flaws inherent within its security structureare of international concern.</P><P>So, whenever a flaw is discovered within sendmail, FTP, Gopher, HTTP, or otherindispensable elements of the Internet, programmers develop patches (small programsor source code) to temporarily solve the problem. These patches are distributed tothe world at large, along with detailed advisories. This brings us to vendor response.<H4><FONT COLOR="#000077"><B>Vendor Response</B></FONT></H4><P>Vendor response has traditionally been good, but this shouldn't give you a falsesense of security. Vendors are in the business of selling software. To them, thereis nothing fascinating about someone discovering a hole in the system. At best, asecurity hole represents a loss of revenue or prestige. Accordingly, vendors quicklyissue assurances to allay users' fears, but actual corrective action can sometimesbe long in coming.</P><P>The reasons for this can be complex, and often the vendor is not to blame. Sometimes,immediate corrective action just isn't feasible, such as the following:<UL> <LI>When the affected application is comprehensively tied to the operating-system source<BR> <BR> <LI>When the application is very widely in use or is a standard<BR> <BR> <LI>When the application is third-party software and that third party has poor support, has gone out of business, or is otherwise unavailable</UL><P>In these instances, a patch (or other solution) can provide temporary relief.However, for this system to work effectively, all users must know that the patchis available. Notifying the public would seem to be the vendor's responsibility and,to be fair, vendors post such patches to security groups and mailing lists. However,vendors might not always take the extra step of informing the general public. Inmany cases, it just isn't cost effective.</P><P>Once again, this issue breaks down to knowledge. Users who have good knowledgeof their network utilities, of holes, and of patches are well prepared. Users withoutsuch knowledge tend to be victims. That, more than any other reason, is why I wrotethis book. In a nutshell, security education is the best policy.<H2><FONT COLOR="#000077"><B>Why Education in Security Is Important</B></FONT></H2><P>Traditionally, security folks have attempted to obscure security information fromthe average user. As such, security specialists occupy positions of prestige in thecomputing world. They are regarded as high priests of arcane and recondite knowledgethat is unavailable to normal folks. There was a time when this approach had merit.After all, users should be afforded such information only on a need-to-know basis.However, the average American has now achieved need-to-know status.</P><P>So, I pose the question again: Who needs to be educated about Internet security?The answer is: We all do. I hope that this book, which is both a cracker's manualand an Internet security reference, will force into the foreground issues that needto be discussed. Moreover, I wrote this book to increase awareness of security amongthe general public. As such, this book starts with basic information and progresseswith increasing complexity. For the absolute novice, this book is best read coverto cover. Equally, those readers familiar with security will want to quickly ventureinto later chapters.</P>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?