Design Principles
Microsoft’s design goals for Windows included security, reliability, Windows
and POSIX application compatibility, high performance, extensibility, portability, and international support. Some additional goals, energy efficiency and
dynamic device support, have recently been added to this list. Next, we discuss
each of these goals and how it is achieved in Windows 7.
19.2.1 Security
Windows 7 security goals required more than just adherence to the design
standards that had enabled Windows NT 4.0 to receive a C2 security classifica-
832 Chapter 19 Windows 7
tion from the U.S. government (A C2 classification signifies a moderate level of
protection from defective software and malicious attacks. Classifications were
defined by the Department of Defense Trusted Computer System Evaluation
Criteria, also known as the Orange Book, as described in Section 15.8.) Extensive code review and testing were combined with sophisticated automatic
analysis tools to identify and investigate potential defects that might represent
security vulnerabilities.
Windows bases security on discretionary access controls. System objects,
including files, registry settings, and kernel objects, are protected by accesscontrol lists (ACLs) (see Section 11.6.2). ACLs are vulnerable to user and
programmer errors, however, as well as to the most common attacks on
consumer systems, in which the user is tricked into running code, often while
browsing the Web. Windows 7 includes a mechanism called integrity levels
that acts as a rudimentary capability system for controlling access. Objects and
processes are marked as having low, medium, or high integrity. Windows does
not allow a process to modify an object with a higher integrity level, no matter
what the setting of the ACL.
Other security measures include address-space layout randomization
(ASLR), nonexecutable stacks and heaps, and encryption and digital signature
facilities. ASLR thwarts many forms of attack by preventing small amounts of
injected code from jumping easily to code that is already loaded in a process as
part of normal operation. This safeguard makes it likely that a system under
attack will fail or crash rather than let the attacking code take control.
Recent chips from both Intel and AMD are based on the AMD64 architecture,
which allows memory pages to be marked so that they cannot contain
executable instruction code. Windows tries to mark stacks and memory heaps
so that they cannot be used to execute code, thus preventing attacks in which
a program bug allows a buffer to overflow and then is tricked into executing
the contents of the buffer. This technique cannot be applied to all programs,
because some rely on modifying data and executing it. A column labeled “data
execution prevention” in the Windows task manager shows which processes
are marked to prevent these attacks.
Windows uses encryption as part of common protocols, such as those used
to communicate securely with websites. Encryption is also used to protect
user files stored on disk from prying eyes. Windows 7 allows users to easily
encrypt virtually a whole disk, as well as removable storage devices such as USB
flash drives, with a feature called BitLocker. If a computer with an encrypted
disk is stolen, the thieves will need very sophisticated technology (such as an
electron microscope) to gain access to any of the computer’s files. Windows
uses digital signatures to sign operating system binaries so it can verify that the
files were produced by Microsoft or another known company. In some editions
of Windows, a code integrity module is activated at boot to ensure that all the
loaded modules in the kernel have valid signatures, assuring that they have
not been tampered with by an off-line attack.
19.2.2 Reliability
Windows matured greatly as an operating system in its first ten years, leading
to Windows 2000. At the same time, its reliability increased due to such factors
as maturity in the source code, extensive stress testing of the system, improved
CPU architectures, and automatic detection of many serious errors in drivers
19.2 Design Principles 833
from both Microsoft and third parties. Windows has subsequently extended
the tools for achieving reliability to include automatic analysis of source code
for errors, tests that include providing invalid or unexpected input parameters
(known as fuzzing to detect validation failures, and an application version
of the driver verifier that applies dynamic checking for an extensive set of
common user-mode programming errors. Other improvements in reliability
have resulted from moving more code out of the kernel and into user-mode
services. Windows provides extensive support for writing drivers in user mode.
System facilities that were once in the kernel and are now in user mode include
the Desktop Window Manager and much of the software stack for audio.
One of the most significant improveme
หลักการออกแบบเป้าหมายการออกแบบของ Microsoft สำหรับ Windows รวมการรักษาความปลอดภัย , ความน่าเชื่อถือ , หน้าต่างโปรแกรมที่เข้ากันได้กับ POSIX ประสิทธิภาพสูงอย่างรวดเร็วสะดวกและการสนับสนุนระหว่างประเทศ เป้าหมายบางอย่างเพิ่มเติม , ประสิทธิภาพการใช้พลังงานและสนับสนุนอุปกรณ์แบบไดนามิกที่เพิ่งถูกเพิ่มลงในรายการนี้ ต่อไปเราจะหารือแต่ละเป้าหมายเหล่านี้และวิธีการได้ใน Windows 719.2.1 รักษาความปลอดภัยWindows 7 การรักษาความปลอดภัยเป้าหมายที่ต้องการมากกว่าแค่การดีไซน์มาตรฐานที่ใช้ Windows NT 4.0 จะได้รับความปลอดภัย C2 classifica -จากบทที่ 19 Windows 7รับรองเอกสารจากรัฐบาลสหรัฐอเมริกา ( C2 หมายถึงระดับของหมวดหมู่การป้องกันจากซอฟต์แวร์ที่บกพร่องและการโจมตีที่เป็นอันตราย หมวดหมู่คือที่กำหนดโดยกรมกลาโหมเชื่อถือการประเมินผลระบบคอมพิวเตอร์เกณฑ์ , ที่รู้จักกันเป็นเล่มส้ม ตามที่อธิบายไว้ในส่วน 15.8 . ) รหัสตรวจสอบอย่างละเอียดและการทดสอบยังรวมกับที่ซับซ้อนโดยอัตโนมัติเครื่องมือการวิเคราะห์เพื่อระบุและตรวจสอบข้อบกพร่องที่อาจเกิดขึ้นที่อาจเป็นตัวแทนของช่องโหว่ความปลอดภัยหน้าต่างการรักษาความปลอดภัยฐานในการควบคุมการเข้าถึงโดยผู้ใช้ . วัตถุของระบบรวมทั้งไฟล์ , การตั้งค่ารีจิสทรีและเคอร์เนลวัตถุได้รับการคุ้มครองโดยรายการ accesscontrol ( ACLS ) ( ดูมาตรา 11.6.2 ) อ้อม มีความเสี่ยงต่อผู้ใช้และโปรแกรมเมอร์ข้อผิดพลาด อย่างไรก็ตาม รวมทั้งการโจมตีที่พบมากที่สุดในระบบของผู้บริโภค ซึ่งผู้ใช้จะถูกหลอกให้ใช้รหัสบ่อยๆในขณะที่การเรียกดูเว็บ Windows 7 รวมถึงกลไกที่เรียกว่าความสมบูรณ์ระดับที่ทำหน้าที่เป็นระบบความสามารถพื้นฐานสำหรับการควบคุมการเข้าถึง วัตถุและกระบวนการมีการทำเครื่องหมายที่มีต่ำ กลาง หรือความสมบูรณ์สูง Windows ไม่ได้ไม่อนุญาตให้มีกระบวนการในการปรับเปลี่ยนวัตถุที่มีระดับความสมบูรณ์สูง ไม่ว่าสิ่งที่การตั้งค่าของ ACL .มาตรการความปลอดภัยอื่น ๆรวมถึงที่อยู่พื้นที่ชุดรูปแบบ( aslr ) , กอง nonexecutable และกอง และการเข้ารหัสและลายเซ็นดิจิตอลสิ่งอำนวยความสะดวก aslr thwarts หลายรูปแบบของการโจมตีโดยป้องกันเล็กน้อยฉีดรหัสจากการกระโดดได้อย่างง่ายดายรหัสที่ถูกโหลดไว้ในกระบวนการ เช่นส่วนหนึ่งของการดำเนินงานปกติ ป้องกันนี้ทำให้มีแนวโน้มว่าระบบภายใต้การโจมตีจะล้มเหลวหรือผิดพลาด แทนที่จะปล่อยให้การโจมตีรหัสควบคุมล่าสุดชิปจาก Intel และ AMD จะขึ้นอยู่กับ AMD64 สถาปัตยกรรมซึ่งช่วยให้หน้าหน่วยความจำจะต้องมีการทำเครื่องหมายเพื่อให้พวกเขาไม่สามารถมีรหัสการสอนปฏิบัติการ หน้าต่างพยายามที่จะทำเครื่องหมายกองกอง และหน่วยความจำเพื่อให้พวกเขาไม่สามารถใช้เพื่อรันรหัส จึงป้องกันการโจมตีที่โปรแกรมข้อผิดพลาดช่วยให้บัฟเฟอร์ล้นแล้ว จะหลอกให้ประหารเนื้อหาของบัฟเฟอร์ เทคนิคนี้สามารถใช้กับโปรแกรมทั้งหมดเพราะอาศัยการปรับเปลี่ยนข้อมูลและประมวลผลได้ คอลัมน์ที่ระบุว่า " ข้อมูลการดำเนินการป้องกัน " ใน Windows Task Manager แสดงให้เห็นกระบวนการมีการทำเครื่องหมายเพื่อป้องกันการโจมตีเหล่านี้Windows ที่ใช้เข้ารหัสเป็นส่วนหนึ่งของโปรโตคอลทั่วไป เช่น ผู้ ใช้การสื่อสารอย่างปลอดภัยกับเว็บไซต์ การเข้ารหัสลับ นอกจากนี้ยังใช้ในการปกป้องไฟล์ของผู้ใช้เก็บไว้ในดิสก์จาก prying ตา Windows 7 ช่วยให้ผู้ใช้สามารถได้อย่างง่ายดายการเข้ารหัสดิสก์ทั้งจวน รวมทั้ง USB อุปกรณ์จัดเก็บข้อมูลที่ถอดออกได้เช่นแฟลชไดรฟ์กับคุณลักษณะที่เรียกว่า BitLocker . ถ้าเป็นคอมพิวเตอร์ที่มีการเข้ารหัสดิสก์ถูกขโมย , ขโมยจะต้องมีเทคโนโลยีที่ซับซ้อนมาก ( เช่นกล้องจุลทรรศน์อิเล็กตรอน ) ในการเข้าถึงของไฟล์ใด ๆของคอมพิวเตอร์ หน้าต่างใช้ลายเซ็นดิจิตอลเพื่อเข้าสู่ระบบปฏิบัติการไบนารีระบบเพื่อให้สามารถตรวจสอบว่าไฟล์ถูกผลิตโดย Microsoft หรืออื่นที่รู้จักบริษัท ในบางรุ่นของ Windows รหัสสมบูรณ์โมดูลจะทำงานที่บูต เพื่อให้แน่ใจว่าทั้งหมดโหลดโมดูลใน kernel มีลายเซ็นถูกต้อง มั่นใจว่าพวกเขามีไม่ได้ถูกดัดแปลงด้วย โดยการโจมตีแบบ .19.2.2 ความน่าเชื่อถือหน้าต่างขึ้นอย่างมากเป็นระบบปฏิบัติการในปีแรก 10 , ชั้นนำสำหรับ Windows 2000 ในเวลาเดียวกัน ความน่าเชื่อถือเพิ่มขึ้นเนื่องจากปัจจัยดังกล่าวเป็นผู้ใหญ่ในรหัสแหล่งที่มา , การทดสอบความเครียดที่กว้างขวางของระบบดีขึ้นซีพียู และการตรวจหาข้อผิดพลาดร้ายแรงมากในไดรเวอร์อัตโนมัติด้านหลักการและการออกแบบจากทั้งไมโครซอฟท์ และบุคคลภายนอก หน้าต่างต่อมาได้ขยายเครื่องมือสำหรับการบรรลุความน่าเชื่อถือรวมถึงการวิเคราะห์แหล่งที่มาของรหัสอัตโนมัติข้อผิดพลาดการทดสอบซึ่งรวมถึงการให้ไม่ถูกต้อง หรือ ไม่ใส่พารามิเตอร์( ที่รู้จักกันเป็น การเกิดที่ไม่ชอบด้วยกฎหมาย เพื่อตรวจจับการตรวจสอบความล้มเหลวและการประยุกต์ใช้รุ่นของไดรเวอร์ที่ใช้กับการตรวจสอบแบบไดนามิกเพื่อให้ครอบคลุมการตั้งค่าของโดยทั่วไปผู้ใช้โหมดโปรแกรมผิดพลาด การปรับปรุงอื่น ๆในความน่าเชื่อถือมีสาเหตุมาจากการย้ายโค้ดเพิ่มเติมของเคอร์เนล และในโหมดผู้ใช้บริการ Windows ให้การสนับสนุนอย่างกว้างขวางสำหรับเขียนโปรแกรมควบคุมในโหมดผู้ใช้ระบบเครื่องที่เคยอยู่ในเคอร์เนลและขณะนี้อยู่ในโหมดผู้ใช้ ได้แก่ผู้จัดการหน้าต่างเดสก์ทอปและมากของซอฟต์แวร์ซ้อนเพื่อเสียงหนึ่งใน improveme สําคัญที่สุด
การแปล กรุณารอสักครู่..