Mục đích của loạt bài này là mang SRP ‘trở lại cuộc sống’ trong thế giới thực, để khuyến khích cộng đồng quản trị viên trên thế giới suy nghĩ lại về các chính sách phần mềm và thậm chí c
Trang 1Software Restriction Policy (tức SRP) - tiện ích giới
hạn chính sách phần mềm
Trang 2Software Restriction Policy (tức SRP) - tiện ích giới hạn chính sách phần mềm - được giới thiệu lần đầu tiên vào tháng 10 năm 2001 cùng với sự ra đời của Microsoft Windows XP Professional Từ đó cho đến nay, tiện ích này có một cuộc sống khá trầm lặng, trầm lặng hơn bất cứ cái gì bạn có thể nói đến Mục đích của loạt bài này là mang SRP ‘trở lại cuộc sống’ trong thế giới thực, để khuyến khích cộng đồng quản trị viên trên thế giới suy nghĩ lại về các chính sách phần mềm và thậm chí có thể triển khai SRP trong thiết lập mạnh nhất của nó: sử dụng mô hình
Whitelisting
Tại sao lại là SRP?
Người dùng doanh nghiệp hiện nay cộng tác với nhau bằng e-mail, tin nhắn tức thời, các ứng dụng ngang hàng thay vì kiểu gặp mặt truyền thống hay gọi điện thoại vốn gây nhiều tốn kém hơn trước đây Họ sử dụng Internet để tìm kiếm và chia sẻ thông tin Các hình thức này ngày càng phổ biến thì những đe doạ từ mã độc hại cũng ngày càng tăng Người dùng thường mang theo dữ liệu ‘ngoài tầm kiểm soát’ vào bộ nhớ, máy nghe nhạc MP3, v.v… liên tục từ nhà đến văn phòng quan rồi từ văn phòng về nhà Dữ liệu đó có thể đơn giản
Trang 3như Word, Excel cho tới phức tạp hơn như game, công cụ hack và cả
malware Ngày nay ở phương tây (và sẽ là ở Việt Nam trong tương lai gần), máy tính xách tay phổ biến hơn máy để bàn Chúng được kết nối tới các
mạng ‘ngoài tầm kiểm soát’ bao gồm cả mạng đi dây cũng như tất cả các kiểu công nghệ không dây, khiến chúng tự đặt mình vào nguy cơ cao bị xâm hại bởi mã độc và các cuộc tấn công
Từ sự phân tích trên, chúng ta có thể thấy có nhiều lý do vì sao ngày nay cần phải triển khai SRP:
Điều doanh nghiệp mong muốn
nhất:
Để bảo vệ trước các nguy hiểm:
Bảo vệ được máy tính trước khả
năng bị xâm phạm
Phần mềm độc hại (malware);
phần mềm gián điệp (spyware);
virus; trojan horse; các cuộc tấn công từ chối dịch vụ (DoS); bị lộ
dữ liệu riêng tư hoặc dữ liệu doanh nghiệp…
Trang 4Ngăn chặn được phần mềm không
mong muốn chạy trên máy tính
của doanh nghiệp
Game và các phần mềm không chính thống khác làm giảm hiệu suất và tiêu tốn tài nguyên mạng, tài nguyên máy tính
Ngăn chặn được phần mềm không
bản quyền chạy trên máy tính
doanh nghiệp
Chạy phần mềm trái phép trên mạng doanh nghiệp có thể dẫn đến một số vấn đề về luật pháp Không một tổ chức nào muốn bị các nhà chức trách “sờ gáy”
Cấm phần mềm không được hỗ
trợ chạy trên máy tính doanh
nghiệp
Ngăn chặn xung đột ứng dụng mà
có thể dẫn đến khả năng phá hoại
hệ thống, không tương thích với phần mềm chính thống, các vấn
đề gỡ lỗi phức tạp…
Cấm phần mềm không rõ nguồn
gốc chạy trên máy tính doanh
nghiệp
Những thứ mà bạn không biết rằng có thể (hay sẽ có thể) gây nguy hại cho bạn
Trang 5Giảm được tổng chi phí bản
quyền sở hữu (TCO)
Sẽ phải mất rất nhiều tiền để khắc phục hậu quả sau khi máy tính doanh nghiệp bị nhiễm virus và
có thể gặp phải một nguy hiểm khác đã đề cập ở trên
Hầu hết mọi quản trị viên và các nhà quản lý đều muốn loại trừ nguy hiểm từ virus máy tính và các đối tượng khác đề cập đến trong bảng 1 Điều này có thể thực hiện được thông qua SRP Trong SRP, chúng ta sẽ định nghĩa như thế nào là một file thực thi và điều khiển ActiveX nào có thể chạy Nếu đó chỉ là các script nâng cao và được đánh dấu kỹ thuật số, chúng có thể chạy Chúng ta có thể đưa ra quy định bắt buộc rằng chỉ có các ứng dụng nâng cao mới được phép chạy trên máy tính doanh nghiệp bằng cách sử dụng công nghệ tích hợp sẵn Chúng ta có thể khoá các client, đôi khi thậm chí cả server
để chúng thực hiện trong phạm vi không hơn không kém theo những gì bạn muốn Tiện ích này hoàn toàn miễn phí và nằm ngay trước mắt chúng ta
Các Software Restriction Policy (tức SRP) thực thi tại thời gian chạy Người dùng sẽ nhận một khối thông báo như trong hình 1 khi cố gắng chạy mã
Trang 6không được chấp thuận Hình 2 thể hiện trình đơn popup cho các script bị cấm
Hình 1
Hình 2
Với SRP, thậm chí bạn có thể giới hạn một quản trị viên cục bộ không được thực thi mã khác ngoài ý bạn Nhiều công ty cung cấp cho người dùng thông thường đặc quyền quản trị bởi gặp phải nhiều vấn đề khác nhau giữa đặc quyền và ứng dụng Nhưng với SRP chạy trên phần đầu chương trình cài đặt, các quản trị viên mạng có thể cảm thấy hầu như tuyệt đối an toàn
Trang 7Bạn có thể nói rằng người dùng của mình không thể cài đặt phần mềm trái phép do bi giới hạn đặc quyền (không phải là quản trị viên cục bộ), nhưng sự thật thì tất cả mọi kiểu file thực thi đều có thể chạy và thực hiện hoạt động không mong muốn Ví dụ như với tiện ích nhỏ ProduKey, sẽ rất hữu ích nếu bạn quên mã số sản phẩm, chẳng hạn của Exchange, Office, SQL hay bản thân hệ điều hành Windows khi muốn cài đặt chúng Nhưng dưới góc nhìn của một nhà quản trị thì tiện ích này để lại một vấn đề lớn: ngay cả người dùng bị giới hạn cũng có thể đọc được mã số sản phẩm trên máy cục bộ Điều
đó có nghĩa là người dùng hoàn toàn có thể truy lục ra bộ khoá bản quyền (VLK) và cài đặt lên máy tính gia đình của họ hay bất cứ nơi nào họ thích bằng bản quyền VLK doanh nghiệp đã lấy được
Blacklisting và Whitelisting
Hình thức lọc cổng đầu tiên trên router mạng đầu những năm 90 của thế kỷ trước được cấu hình chỉ loại bỏ một số cổng cụ thể, và cho phép tất cả các thành phần còn lại ở bên ngoài, trên mạng Internet được đi qua Quản trị viên mạng luôn bị chậm một bước so với hacker, những kẻ thường xuyên thay đổi cách thức tấn công để liên tục thâm nhập được vào dịch vụ mới Ví dụ như
Trang 8ngay sau khi quản trị viên loại bỏ nguy hiểm sắp đến cho TELNET thì
RLOGIN hay FTP đã bị tấn công Đó là cuộc chạy đua vũ trang không có điểm dừng, dẫn đến sự ra đời của nguyên tắc tường lửa “Default Deny” (từ chối mặc định) Sẽ không có gì được cho phép mặc định trừ khi bạn định nghĩa ra một số ngoại lệ
Thử nhìn vào các ứng dụng diệt virus bạn sẽ thấy chúng cần được update dấu hiệu virus liên tục để nhận dạng mã nào không nên chạy trên máy tính trong mạng Vậy tại sao chúng ta không đảo ngược lại tiến trình, định nghĩa cái gì cần chạy và bỏ lại tất cả những thứ khác ở đằng sau Thực trạng như vậy cũng giống như với tất cả ứng dụng phần mềm chạy ở mọi máy tính trên thế giới ngày nay Tại sao cứ phải mặc định chạy tất cả thành phần ở một phần mềm trong khi hầu hết mọi trường hợp chúng ta đều biết chính xác ứng dụng nào cần để khởi động trong môi trường? Vì sao không giới thiệu nguyên tắc
“từ chối mặc định tất cả các ứng dụng” trên máy tính client và đưa ra ngoại lệ cho quy tắc mặc định về ứng dụng người dùng muốn chạy?
Phương thức “Từ chối mặc định tất cả các ứng dụng” còn được gọi là
Whitelisting (WL) Khi cầu hình SRP trong chế độ WL, Default Security
Trang 9Level (mức bảo mật mặc định) được thiết lập là “Disallowed” (không cho
phép) Sau đó, một số quy tắc bổ sung với các ngoại lệ cho mặc định mới được tạo Như vậy có nghĩa là không có file nào được thực thi trên máy tính trừ phi bạn mô tả nó trong một chính sách
Nếu muốn sử dụng WL, bạn cần một doanh sách hoàn chỉnh phần mềm được phép sử dụng Và nếu muốn dùng hàm băm HASH cho phương thức nhận dạng, bạn cần truy cập vào file thực thi Nếu thích sử dụng nguyên tắc chứng
chỉ, bạn cần hoặc là một file chứng chỉ (.CER hay CRT), hoặc là chỉ cần
truy cập vào file thực thi đã được đánh dấu
Blacklisting (BL) là Default Security Level sau khi cho phép SRP, còn được biết đến với cái tên “mô hình không giới hạn” Người ta ví BL như là ‘dã tràng xe cát’, một công việc không bao giờ kết thúc và không có mức bảo mật như WL Với số lượng lớn lại phong phú đa dạng của các loại mã độc, thật khó có thể loại bỏ tất cả chúng chỉ thông qua “dấu hiệu mã” hay sử dụng tên file Tại sao phải duy trì danh sách hàng triệu kiểu malware - một danh sách luôn tăng nhanh không ngừng- thay vì có thể quản lý danh sách chỉ từ
50 đến 100 ứng dụng cần thiết bên trong một tổ chức?
Trang 10Khi xem xét dưới góc độ khả năng quản lý, BL dễ dàng hơn nhiều cả trong triển khai Nhưng đơn giản là nó không thể có mức bảo mật tốt như WL BL phù hợp cho kiểu quản lý máy tính lỏng lẻo Nếu muốn khoá chặt chẽ hệ thống để máy tính được giới hạn cao và an toàn thì WL là lựa chọn tốt nhất cho đến nay
Công cụ ‘kiểm chứng khái niệm’ Gpdisable do Mark Russinovich tạo ra một vài năm trước đây là một ví dụ tốt giải thích cho lý do vì sao WL lại đánh bật được BL Với Gpdisable hay một công cụ tương tự, ngay cả người dùng giới hạn cũng có thể loại bỏ được các group policy đang chạy trên một Windows client (có SRP), trừ phi SRP được thi hành khi dùng Whitelisting
Chỉ có “Default deny all application” là sẽ vượt qua được sự kiểm chứng của thời gian Đáng tiếc chúng ta vẫn cần dùng các phần mềm diệt virus để bảo
vệ máy tính của mình trước mã và file thực thi độc hại Đừng quên rằng SRP
“chỉ” ngăn chặn phần mềm không mong muốn chạy trên máy cục bộ Nó vẫn
có thể mang file thực thi lên ổ cứng hay dưới dạng file đính kèm trong thư điện tử mà không vấp phải xung đột với bất cứ chính sách nào
Trang 11Tương lai
Hy vọng rằng Microsoft sẽ tiếp tục tạo chương trình chấp nhận ứng dụng mới
dễ dàng hơn trong những năm tới Sẽ rất tuyệt nếu có thể ‘nhập’ một SRP hay giá trị số của hàm băm (HASH) cho một ứng dụng Điều này sẽ đòi hỏi các hãng phần mềm thuộc nhóm thứ ba phân phối một SRP ‘mẫu’ cho các ứng dụng của họ để người quản trị mạng có thể dễ dàng nhập chúng vào, thay vì phải tự tạo chính sách một cách thủ công Những “mẫu” này sẽ gồm có giá trị băm của tất cả thực thi và đòi hỏi phải có thư viện liên kết động (DDL)
Đáng tiếc, hiện nay vẫn còn quá ít hãng phần mềm sử dụng công nghệ đánh dấu mã Hy vọng rằng họ sẽ sử dụng các chứng chỉ số cho công nghệ này thường xuyên hơn trong tương lai
Tôi muốn chia sẻ một ý tưởng để quản trị WL dễ dàng hơn Với các quy tắc hàm băm (HASH), người quản trị phải mở GPO (Group Policy Object) và dẫn file Nếu chương trình này được kịch bản hoá và lập biểu thời gian, người quản trị mạng sẽ phải đặt file thực thi vào một thư mục “phê chuẩn”
Trang 12trung tâm (đặc quyền NTFS phải được thiết lập phù hợp) Khi script chạy, nó
sẽ tạo giá trị băm (hash) tự động và thêm giá trị vào chính sách “không giới hạn” trong một GPO cụ thể Với chứng chỉ cũng có thể làm tương tự, chỉ cần đặt chứng chỉ vào thư mục trung tâm, chờ script hay tiến trình xuất hiện và sau đó phần mềm được chấp thuận trên mạng Vâng, đó mới chỉ là một giấc
mơ Hy vọng ai đó sẽ biến nó thành sự thực vào một ngày không xa, có thể chính là Microsoft chưa biết chừng
Kết luận
Software Restriction Policy (SRP) đã xuất hiện và đi vào hoạt động được xấp
xỉ 6 năm Tuy nhiên bây giờ nó vẫn là một thứ ‘chưa phổ biến’ mặc dù thực
sự tiện ích này có thể mang đến mức bảo mật rất cao cho cả client và server Khi được áp dụng một cách chính xác, Software Restriction Policy sẽ nâng cao đáng kể tính toàn vẹn cho máy trong tổ chức của bạn với phí tổn thậm chí thấp hơn tổng chi phí bản quyền trong một thời gian dài
Ở phần tiếp theo của loạt bài này chúng ta sẽ xem SRP được thiết kế, triển khai và cấu hình như thế nào