Quyền hạn tối thiểu – Không nâng quyền hạn cho người dùng thông thường – Chương trình ứng dụng được chạy với quyền tối thiểu đủ thực hiện chức năng – Người phát triển ứng dụng không cần
Trang 3Xác thực đa nhân tố
– Xác thực nhằm xác minh người dùng và xác định quyền hạn
– Sử dụng nhiều nhân tố xác thực làm tăng độ
an toàn
Hệ thống ATM:
– Xác thực qua thẻ và mã PIN
Trang 4Quyền hạn tối thiểu
– Không nâng quyền hạn cho người dùng thông thường
– Chương trình ứng dụng được chạy với quyền tối thiểu đủ thực hiện chức năng
– Người phát triển ứng dụng không cần cấp
quyền tối cao trong hệ thống
– Hạn chế tối thiếu số lượng account quản trị
– Xem xét kỹ lưỡng các tài khoản quản trị khi xảy ra tấn công
Trang 5Mail server
– Mail Server nhận mail từ Internet và copy vào thư mục spool
• A local server will complete delivery
– Mail Server cần có quyền truy cập tới cổng cần
thiết, tạo file trong thư mục spool và thay đổi chúng
• So it can copy the message into the file, rewrite the
delivery address if needed
– Cần gỡ bỏ quyền sau khi kết thúc việc ghi file
• Because it does not need to access that file again
Trang 6Quy tắc Sai – An toàn
– Hành động mặc định là từ chối truy cập
– Nếu hành động thất bại, đảm bảo hệ thống trở lại trạng thái an toàn như trước khi bắt đầu
Trang 7Mail server
– Nếu Mail Server không thể tạo file trong thư mục spool: Nên đóng kết nối, báo lỗi, và dừng
– Không nên cố gắng lưu trữ email tại 1 nơi khác
hoặc tăng quyền để lưu trữ
• An attacker could use that ability to overwrite other files or fill up other disks
– Thư mục spool chỉ nên cho phép mail server tạo/ghi
và local server đọc/xóa
Trang 8Cơ chế tiết kiệm
• Kỹ thuật an ninh càng đơn giản càng tốt
– KISS Principle
• Đơn giản hơn ~ càng ít sai sót
– And when errors occur, they are easier to understand and fix
• Vấn đề giao diện với các module hoặc tương tác với các hệ thống khác
– Modules often make implicit assumptions about input
or output parameters
Trang 9Giao thức finger
– Giao thức finger trả lại thông tin về hệ thống.
– Chương trình client thường giả thiết rằng server trả
về kết quả theo đúng định dạng
– Kẻ tấn công có thể tạo server để trả về 1 chuỗi vô hạn ký tự, khi client kết nối tới và in ra toàn bộ kết quả trả về -> tràn ngập đĩa và các file logs
• This is an example of incorrect assumptions about the
input to the client
Trang 10Kiểm tra toàn diện
• Kiểm tra tất cả các truy cập
• Sai sót: Thường chỉ kiểm tra 1 lần, khi hành động đầu tiên diễn ra
– UNIX: access checked on open, not checked
thereafter
• Nếu quyền truy cập thay đổi ngay sau đó, có thể các truy cập trái phép sẽ được cho qua
Trang 11DNS Cache
• DNS lưu thông tin ánh xạ giữ tên host và
địa chỉ ở bảng thông tin đệm.
• Kẻ tấn công có thể “đầu độc” để “cấy”
thông tin ánh xạ sai lệch vào bảng
cache,việc phân giải địa chỉ sẽ bị sai.
– One host will route connections to another host incorrectly
Trang 12Thiết kế mở
• Các kỹ thuật an ninh không nên dựa trên sự
bí mật về thiết kế hoặc thực thi
– Popularly misunderstood to mean that source code should be public
– “Security through obscurity”
– Does not apply to information such as
passwords or cryptographic keys
Trang 13• HĐH Unix (phiên bản Berkeley) chỉ cho
phép user chuyển sang root khi
– Biết mật khẩu root
– Thuộc nhóm wheel
Trang 14Hạn chế chia sẻ
• Truy cập không nên chia sẻ
– Information can flow along shared channels– Covert channels
• Tách biệt
– Virtual machines
– Sandboxes
Trang 15Web site TMĐT
• Web site cung cấp dịch vụ TMĐT cho 1 công ty
• Kẻ tấn công muốn làm tổn hại doanh thu của cty
– They flood the site with messages and tie up the
electronic commerce services
– Legitimate customers are unable to access the Web site and, as a result, take their business elsewhere
• Nguyên nhân: Chia sẻ kênh truy cập Internet với site của hacker
Trang 16Web site TMĐT
• Đối phó: Hạn chế sự truy cập của kẻ tấn công
– Proxy Servers: Purdue SYN intermediary - detect the suspect connections
– Traffic throttling: Reduces the load on the relevant segment of the network indiscriminately
Trang 17Sự chấp nhận về mặt tâm lý
• Các kỹ thuật an ninh không nên làm gia tăng
sự phức tạp trong truy cập tài nguyên
– Hide complexity introduced by security
mechanisms
– Ease of installation, configuration, use
– Human factors critical here
• Thực tế, các kỹ thuật an ninh có làm gia tăng
1 phần sự phức tạp, nhưng ở mức độ hợp lý
Trang 18Thay đổi thiết lập email
• Người dùng phải cung cấp lại mật khẩu khi
muốn thay đổi mật khẩu.
• Các thay đổi khác không yêu cầu cung cấp lại mật khẩu.
Trang 19Đánh giá rủi ro
• Xác định mức độ nhạy cảm của hệ thống
– Xác định các thông tin được xem là quan trọng của tổ chức
– Các hệ thống xử lý, truyền tải, lưu trữ v.v thông tin quan trọng thì cũng trở nên quan trọng.
• Xác định các rủi ro hệ thống có thể gặp phải
– Lỗ hổng bảo mật (Vulnerabilities)
– Các mối đe dọa (Threats): Con người, môi trường, bên trong, bên ngoài, cố ý, vô ý …
Trang 21Đánh giá rủi ro
• Xác định mức độ thiệt hại chấp nhận được
– Liên quan đến chi phí của các phương án đối phó
• Triển khai kế hoạch để đối phó rủi ro
– Nằm trong khoảng rủi ro chấp nhận được cho đến mức độ có thể loại bỏ hoàn toàn sự cố.
Trang 22Slide #21-22
Vấn đề kiểm soát
• Tổng quan về kiểm soát?
• Hoạt động của hệ thống kiểm soát
• Thiết kế hệ thống kiểm soát
• Các kỹ thuật kiểm soát
• Examples: NFSv2, LAFS
Trang 23Slide #21-23
What is Auditing?
• Logging: Ghi nhận
– Recording events or statistics to provide
information about system use and performance
• Auditing: Kiểm soát
– Analysis of log records to present information about the system in a clear, understandable
manner
Trang 24Slide #21-24
Mục đích
• Mô tả trạng thái an ninh
– Determine if system enters unauthorized state
• Đánh giá hiệu quả của cơ chế bảo vệ
– Determine which mechanisms are appropriate and working
– Deter attacks because of presence of record
Trang 25Slide #21-25
Vấn đề
• Ghi nhận những gì?
– Hint: looking for violations of a policy, so
record at least what will show such violations
• Kiểm soát những gì?
– Need not audit everything
– Key: what is the policy involved?
Trang 27Slide #21-27
Logger
• Chủng loại, số lượng thông tin cần ghi nhận được xác định ở tham số cấu hình hệ thống
• Có thể dạng đọc được hoặc không
– If not, usually viewing tools supplied
– Space available, portability influence storage format
Trang 28Slide #21-28
Example: RACF
• Phần mềm tăng cường an ninh truy cập hệ thống cho các HĐH z/OS và z/MV
• Ghi nhận các đăng nhập thất bại, việc sử
dụng quyền để thay đổi cấp độ an ninh …
• Xem sự kiện bằng lệnh LISTUSERS
Trang 29Slide #21-29
RACF: Sample Entry
USER=EW125004 NAME=S.J.TURNER OWNER=SECADM CREATED=88.004
DEFAULT-GROUP=HUMRES PASSDATE=88.004 PASS-INTERVAL=30
REVOKE DATE=NONE RESUME DATE=NONE
GROUP=PERSNL AUTH=JOIN CONNECT-OWNER=SECADM CONNECT-DATE:88.004
CONNECTS= 25 UACC=READ LAST-CONNECT=88.020/14:15:10
Trang 30Slide #21-30
Example: Windows NT
• Sử dụng các logs khác nhau cho các sự kiện
– System event logs record system crashes, component failures, and
other system events
– Application event logs record events that applications request be
recorded
– Security event log records security-critical events such as logging
in and out, system file accesses, and other events
• Logs được ghi dạng nhị phân; dùng event viewer để xem
• Nếu logs đầy, có thể làm hệ thống shut down, dừng ghi
logs, hoặc ghi đè.
Trang 31Slide #21-31
Windows NT Sample Entry
Date:2/12/2000 Source: Security
Time: 13:03 Category: Detailed Tracking
Type: Success EventID: 592
User:WINDSOR\Administrator
Computer: WINDSOR
Description:
A new process has been created:
New Process ID: 2216594592
Image File Name:
\Program Files\Internet Explorer\IEXPLORE.EXE
Creator Process ID: 2217918496
User Name: Administrator
FDomain: WINDSOR
Logon ID: (0x0,0x14B4c4)
[would be in graphical format]
Trang 32Slide #21-32
Analyzer: Bộ phân tích
• Phân tích các thông tin ghi trong logs
– Logs may come from multiple systems, or a
single system
– May lead to changes in logging
– May lead to a report of an event
Trang 33• Bộ phân tích phát hiện xâm nhập
– Takes data from sensors and determines if an intrusion
is occurring
Trang 34Slide #21-34
Notifier: Cảnh báo
• Thôn báo cho người phân tích và các đối
tượng khác kết quả phân tích
• Có thể cấu hình lại hoạt động log hoặc hoạt động phân tích trên cơ sở kết quả thu được
Trang 35Slide #21-35
Examples
• Dùng lệnh swatch để cảnh báo về telnets
/telnet/&!/localhost/&!/*.site.com/ mail staff
• 3 lần đăng nhập thất bại sẽ khóa tài khoản người dùng
– Notifier disables account, notifies sysadmin
Trang 36Slide #21-36
Thiết kế hệ thống kiểm soát
• Là thành phần cơ bản của cơ chế an ninh
• Mục tiêu kiểm soát sẽ xác định những gì được ghi nhận:
– Idea: auditors want to detect violations of policy, which provides a set of constraints that the set of possible
actions must satisfy
– So, audit functions that may violate the constraints
Trang 37– Để kiểm tra vi phạm, khi diễn ra các hoạt động đọc/ghi,
phải ghi nhận L(S), L(O), hành động (read, write), và kết
quả (success, failure)
– Note: need not record S, O!
• In practice, done to identify the object of the (attempted) violation and the user attempting the violation
Trang 38– Does “write” include “append” and “create directory”?
• Đối tượng có nhiều tên
– Logging goes by object and not name
– Representations can affect this (if you read raw disks, you’re reading files; can your auditing system determine which file?)
Trang 39Slide #21-39
Vấn đề về cú pháp
• Dữ liệu được ghi nhận có thể không rõ ràng
– BSM: two optional text fields followed by two mandatory text fields
– If three fields, which of the optional fields is
omitted?
• Giải pháp: Sử dụng ngữ pháp để đảm bảo
cú pháp của các file logs
Trang 40Slide #21-40
Example
entry : date host prog [ bad ] user [ “from” host ] “to”
user “on” tty date : daytime
host : string
prog : string “:”
bad : “FAILED”
user : string
tty : “/dev/” string
• Log file entry format defined unambiguously
• Audit mechanism could scan, interpret entries without
confusion
Trang 41– Problem: which /etc/passwd file?
• One in system /etc directory
• One in anonymous ftp directory /var/ftp/etc, and as
ftp thinks /var/ftp is the root directory, /etc/passwd
refers to /var/ftp/etc/passwd
Trang 42Slide #21-42
Làm sạch Log
• U tập người dùng, P chính sách định nghĩa tập thông tin
C(U) mà U không thể truy cập; Log được làm sạch khi tất
cả thông tin trong C(U) được xóa từ log
• Hai loại chính sách
– C(U) can’t leave site
• People inside site are trusted and information not sensitive to them
– C(U) can’t leave system
• People inside site not trusted or (more commonly) information sensitive to them
• Don’t log this sensitive information
Trang 43Slide #21-43
Tổ chức Logs
• Sơ đồ trên: Ngăn chặn thông tin tiết lộ ra khỏi site
– Users’ privacy not protected from system administrators, other administrative
personnel
• Sơ đồ dưới: Ngăn chặn thông tin tiết lộ ra khỏi hệ thống
– Data simply not recorded, or data scrambled before recording
Logging system Log Sanitizer Users
Logging system Sanitizer Log Users
Trang 44Slide #21-44
Tái tạo
• Anonymizing sanitizer: Bộ làm sạch không
thể khôi phục
– No way to recover data from this
• Pseudonymizing sanitizer: Có thể khôi phục
– Original log can be reconstructed
• Importance
– Suppose security analysis requires access to
information that was sanitized?
Trang 45– This requires pseudonymous sanitization or the
original log
Trang 46Slide #21-46
Example
• Một công ty muốn giữ bí mật địa chỉ IP, nhưng
muốn chuyên gia tư vấn phân tích logs để xác
minh tấn công quét địa chỉ
– Connections to port 25 on IP addresses 10.163.5.10, 10.163.5.11, 10.163.5.12, 10.163.5.13, 10.163.5.14,
10.163.5.15
– Sanitize with random IP addresses
• Cannot see sweep through consecutive IP addresses
– Sanitize with sequential IP addresses
• Can see sweep through consecutive IP addresses
Trang 47Slide #21-47
Tạo các dữ liệu “giả”
1 Tạo ra tập các dữ liệu giả để thay thế cho các dữ liệu nhạy
cảm (giữ được các tính chất cần thiết cho phân tích)
• Replace data with pseudonyms
• Maintain table mapping pseudonyms to data
2 Dùng một khóa ngẫu nhiên để mã hóa dữ liệu nhạy cảm và
dùng phương pháp chia sẻ bí mật để chia sẻ khóa
• Used when insiders cannot see unsanitized data, but outsiders
(law enforcement) need to
• Requires t out of n people to read data
Trang 48Slide #21-48
Application Logging
• Applications logs: Tạo bởi các ứng dụng
– Applications control what is logged
– Typically use high-level abstractions such as:
su: bishop to root on /dev/ttyp0
smtp: delivery failed; could not
connect to abcxy.net:25
– Does not include detailed, system call level
information such as results, parameters, etc
Trang 49Slide #21-49
System Logging
• Ghi nhận các sự kiện của hệ thống (e.g các hành động của HĐH)
– Typically use low-level events
3876 ktrace CALL execve(0xbfbff0c0,0xbfbff5cc,0xbfbff5d8)
3876 ktrace NAMI "/usr/bin/su"
3876 ktrace NAMI "/usr/libexec/ld-elf.so.1"
Trang 50Slide #21-50
So sánh
• Có trọng tâm giám sát khác nhau
– Application logging focuses on application events, like failure to supply proper password, and the broad operation (what was the reason for the access attempt?)
– System logging focuses on system events, like memory mapping
or file accesses, and the underlying causes (why did access fail?)
• System logs thường lớn hơn nhiều so với application logs
• Có thể thực hiện cả 2 và xây dựng tương quan giữa chúng
Trang 51Slide #21-51
Design
• A posteriori design: Thiết kế sau
– Cần thiết kế cơ chế kiểm soát cho các hệ thống được xây dựng mà chưa chú trọng tới an ninh.
• Mục tiêu của kiểm soát
– Phát hiện ra bất kỳ sự vi phạm chính sách nào
• Focus is on policy and actions designed to violate policy;
specific actions may not be known
– Phát hiện ra các hành động liên quan tới nỗ lực xâm
phạm an ninh
• Focus on specific actions that have been determined to indicate attacks
Trang 52Slide #21-52
Phát hiện việc vi pham chính sách
• Mục tiêu: Hệ thống có chuyển tới 1 trạng
thái không được phép không?
Trang 53– Snapshot needs to be consistent
– Non-distributed system needs to be quiescent
– Distributed system can use some algorithms, to obtain this
Trang 54Slide #21-54
Example
• Công cụ kiểm soát hệ thống file
– Thought of as analyzing single state (snapshot)– In reality, analyze many slices of different state unless file system quiescent
– Potential problem: if test at end depends on
result of test at beginning, relevant parts of
system state may have changed between the
first test and the last
• Classic TOCTTOU flaw
Trang 55Slide #21-55
Transition-Based Auditing
• Ghi nhận thông tin về hành động, và kiểm tra trạng thái hiện tại + thao tác chuyển để xác định xem trạng thái mới có được phép?
– Note: just analyzing the transition may not be enough; you may need the initial state
– Tend to use this when specific transitions
always require analysis (for example, change of
privilege)
Trang 56Slide #21-56
Example
• Cơ chế kiểm soát kết nối TCP can thiệp các kết nối TCP và kiểm tra xem có nằm trong danh sách kết nối bị cấm không
– Obtains IP address of source of connection
– Logs IP address, port, and result
(allowed/blocked) in log file
– Purely transition-based (current state not
analyzed at all)
Trang 57Slide #21-57
Phát hiện các hành động xâm phạm
• Mục tiêu: Xác định xem hành động được
biết là vi phạm an ninh có xuất hiện không?
– Assume that action automatically violates
policy
– Policy may be implicit, not explicit
– Used to look for known attacks
Trang 58Slide #21-58
Example
• Land attack: Tấn công DOS dựa trên lỗ hổng TCP
– Consider 3-way handshake to initiate TCP connection (next slide)
– What happens if source, destination ports and addresses
the same? Host expects ACK(t+1), but gets ACK(s+1).
– RFC ambiguous:
• p 36 of RFC: send RST to terminate connection
• p 69 of RFC: reply with empty packet having current sequence
number t+1 and ACK number s+1—but it receives packet and
ACK number is incorrect So it repeats this … system hangs or runs very slowly, depending on whether interrupts are disabled