QUY TRÌNH ĐÁNH GIÁ AN NINH CHO KDC TRONG hệ THỐNG MẠNG TRIỂN KHAI GIAO THỨC KERBEROS 5

10 365 2
QUY TRÌNH ĐÁNH GIÁ AN NINH CHO KDC TRONG hệ THỐNG MẠNG TRIỂN KHAI GIAO THỨC KERBEROS 5

Đang tải... (xem toàn văn)

Thông tin tài liệu

Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM VII-O-4 QUY TRÌNH ĐÁNH GIÁ AN NINH CHO KDC TRONG HỆ THỐNG MẠNG TRIỂN KHAI GIAO THỨC KERBEROS 5 Lê Hoài Nhâm, Dƣơng Bảo Quân,Lê Quốc Hoà,Trƣơng Phƣớc Hƣng Trường Đại học Khoa học Tự nhiên,Đại học Quốc gia Thành phố Hồ Chí Minh TÓM TẮT Bài báo này trình bày quy trình đánh giá an ninh thông tin cho hệ thống mạng dùng Kerberos phiên bản 5 chạy trên một hệ điều hành cụ thể (CentOS 6.5). Quy trình đánh giá an ninh thông tin này được dựa theo các tài liệu của CIS – một tổ chức cộng đồng mở cung cấp nhiều tài liệu về đánh giá an ninh thông tin. Quy trình đánh giá bắt đầu bằng việc lập ra một danh sách liệt kê những chi tiết sẽ đánh giá dựa theo tiêu chuẩn của CIS, sau đó xây dựng một công cụ đánh giá hệ thống dựa trên danh sách này. Sau khi có được kết quả của công cụ đánh giá, các lỗ hổng tồn tại trên hệ thống sẽ được tìm ra và sẽ được vá lại.Ví dụ, một công cụ đã được xây dựng giúp đảm bảo rằng mật khẩu được tạo bởi người dùng phải đủ mạnh để chống lại các kiểu tấn công từ điển hoặc vét cạn. Quy trình đánh giá an ninh và các công cụ chúng tôi xây dựng có thể áp dụng ngay vào các hệ thống thực tế, giúp nhân viên quản trị hệ thống tiết kiệm thời gian quản trị và bảo trì. Từ khoá: Kerberos, chứng thực, đánh giá an ninh, gia cố hệ thống. GIỚI THIỆU Kerberos [1, [2] là một giao thức chứng thực mang lại độ tin cậy cao. Giao thức Kerberos được phát triển bởi MIT (Massachusetts Institute of Technology) vào những năm 80 của thế kỷ XX.Mục tiêu của MIT khi xây dựng Kerberos là một giao thức chứng thực trên môi trường mạng không an toàn giữa các máy tính được cho là an toàn. Ngày nay, Kerberos được ứng dụng rộng rãi trong các sản phẩm thương mại và các tổ chức, doanh nghiệp.Kerberos được tích hợp mặc định trong các phiên bản Microsoft Windows hiện tại.Active Directory một ứng dụng sử dụng giao thức Kerberos được Microsoft chỉnh sửa lại, được dùng rộng rãi trong các doanh nghiệp.Apple cũng tích hợp Kerberos trong các sản phẩm Mac OS của mình. Kerberos còn nhận được sự quan tâm nghiên cứu và ứng dụng vào nhiều lĩnh vực khác nhau: Quản lý bảo mật mạng GMS bằng Kerberos 5 [3], ứng dụng tính năng single-sign-on của Kerberos vào giao thức VoIP[4], thiết kế và cài đặt Kerberos 5 cho các thiết bị nhúng [5], tích hợp Kerberos và sinh trắc học vào các dịch vụ di động [6], chứng thực Kerberos dựa trên địa điểm [7], chứng thực Kerberos bằng public key [8], cải tiến Kerbeors dựa trên cải tiến thuật toán RSA [9]. Kerberos mang lại những ưu điểm nổi bật như chứng thực an toàn: không truyền mật khẩu qua mạng trong quá trình chứng thực, khác với cách làm của đa số các giao thức chứng thực hiện tại; do đó tránh được cách tấn công nghe lén mật khẩu trên đường truyền. Chứng thực cả 2 phía: trong một phiên chứng thực, ngoài việc máy trạm chứng thực với máy chủ thì máy chủ cũng phải chứng thực với máy trạm.Đa số các giao thức chứng thực khác không chứng thực máy chủ với máy trạm, do đó dễ dàng xảy ra tình trạng máy trạm bị lừa giao tiếp với máy chủ giả mạo.Ngoài ra, Kerberos còn mang lại tính năng single-sign-on: máy trạm chỉ cần đăng nhập (nhập mật khẩu) một lần và có thể sử dụng nhiều dịch vụ khác nhau trong một khoảng thời gian cho phép; máy trạm không cần phải nhập mật khẩu lại mỗi lần sử dụng dịch vụ.Máy trạm chỉ cần sử dụng một mật khẩu duy nhất cho tất cả các dịch vụ. Tuy nhiên, ngoài các ưu điểm nổi bật đã nêu thì Kerberos cũng tồn tại một số nhược điểm.Nếu một hệ thống sử dụng phương pháp chứng thực bằng Kerberos, cần đảm bảo rằng tất cả các dịch vụ đều chứng thực thông qua Kerberos.Nếu tồn tại một giao thức không chứng thực thông qua Kerberos thì xem như độ tin cậy của Kerberos cũng như của cả hệ thống không còn.Việc chuyển từ các giao thức chứng thực khác sang Kerberos sẽtiêu tốn nhiều thời gian và công sức.Tất cả các dịch vụ màmáy trạm sử dụng dễ dàng bị xâm nhập nếu mật khẩu bị đánh cắp, do máy trạm chỉ sử dụng một mật khẩu cho tất cả các dịch vụ.Thông tin của các tài khoản đều được lưu trữ trên một máy chủ (được gọi là Key Distribution Center - KDC), máy chủ này cũng đảm nhận việc chứng thực cho toàn hệ thống; nếu máy chủ này bị tấn công thì toàn hệ thống sẽ bị sụp đổ. Kerberos cung cấp một cơ chế chứng thực mạnh trên đường truyền không an toàn giữa các máy tính được cho là đáng tin cậy. Trên thực tế, những nguy hiểm của hệ thống thường do sự bất cẩn của người dùng gây ra, nên giả thuyết các máy tính được cho là đáng tin cậy thường không đảm bảo. Đặc biệt với tầm quan trọng của KDC, những cấu hình không thận trọng trên KDC sẽ dẫn đến những hậu quả tiềm ẩn khó lường.Dựa trên những quan điểm đã nêu, bài báo này hướng đến việc xây dựng một quy trình đánh giá mức độ an toàn của KDC; từ đó có thể mở rộng thành quy trình đánh giá mức độ an toàn cho một hệ thống mạng bất kỳ. Mục tiêu của quy trình đánh giá này là tìm ra các lỗ hổng dựa trên những cấu hình không an toàn trên KDC, ví dụ như cấu hình cho ISBN: 978-604-82-1375-6 24 Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM Kerberos sử dụng thuật toán mã hoá yếu (DES), cấu hình cho phép một phiên làm việc quá dài, .v.v… Từ đó, chúng tôi đưa ra giải pháp gia cố các lỗ hổng này dựa trên các điều kiện hiện tại của hệ thống. Nội dung trình bày tiếptheo của bài báođược tổ chức như sau: Mục II trình bày về giao thức Kerberos 5. Đánh giá mức độ bảo mậtcủa KDC được mô tả trong mục III.Mục IV trình bày phần thảo luận.Mục V mô phỏng chương trình minh hoạ.Kết luận và hướng phát triển được đề cập trong mục VI. KERBEROS 5 Tổng quan giao thức Kerberos Kerberos là một giao thức chứng thực mạng, được thiết kế bởi MIT vào thập niên 80 của thế kỉ XX.Kerberos cung cấp các tính năng nổi bật sau: bảo mật, single-sign-on, chứng thực tập trung, chứng thực hai chiều. Bảo mật Quá trình chứng thực của giao thức Kerberos là an toàn vì mật khẩu của người dùng không được truyền qua mạng. Do đó kẻ xấu không thể nghe lén và không thể đánh cắp được mật khẩu. Single-sign-on Single-sign-on có nghĩa là người dùng chỉ cần chứng thực một lần để có thể sử dụng tất cả các tài nguyên mạng có hỗ trợ Kerberos. Khi người dùng chứng thực bản thân với Kerberos ở đầu phiên làm việc, người dùng sẽ được cấp một vé. Vé này sẽ được tự động chuyển đến dịch vụ mà người dùng muốn truy cập. Dịch vụ sẽ cho phép người dùng truy cập nếu vé hợp lệ. Do đó người dùng không cần đăng nhập lại mỗi lần sử dụng dịch vụ mà chỉ cần giữvé này, đây chính là single-sign-on. Ví dụ người dùng có thể sử dụng vé được cấp để truy cập vào các máy chủ: ssh, ftp, pop3,… mà không cần phải chứng thực lại. Chứng thực tập trung Chứng thực tập trung có liên quan mật thiết đến single-sign-on. Kerberos sử dụng một máy chủ (gọi là KDC) để chứng thực tất cả người dùng. Người dùng chỉ cần phải chứng thực bản thân mình với KDC để truy cập các dịch vụ trong một hệ thống mạng sử dụng Kerberos. Thông tin chứng thực của tất cả người dùng đều được lưu trữ tập trung ở KDC. Chứng thực hai chiều Khi truy cập tài nguyên trên mạng, chúng ta thường chỉ chứng thực bản thân với máy chủ cung cấp dịch vụ mà quên rằng máy chủ đó có đáng tin cậy hay không.Với chứng thực hai chiều, cả người sử dụng và máy chủ cung cấp dịch vụ đều phải chứng thực với bên còn lại, điều này giúp tránh khả năng giả mạo ở cả máy trạm và máy chủ. Các phiên bản Kerberos đầu tiên chỉ được nghiên cứu và thử nghiệm trong nội bộ MIT.Kerberos 4[10] là phiên bản đầu tiên được MIT công bố rộng rãi vào năm 1989. Kerberos 4 đã được một số tổ chức chấp nhận và họ đã sử dụngKerberos cho hệ thống của mình. Kerberos 5 được công bố vào năm 1993, được định nghĩa trong RFC 1510, và được cập nhật trong RFC 4120 (năm 2005). Kerberos 5 là phiên bản mới nhất của Kerberos tính đến thời điểm hiện tại. Kerberos 5 được phát triển để bổ sung những thiếu sót của Kerberos 4. Kerberos 5 được thêm vào một số tính năng và những nâng cấp về bảo mật. Những tính năng được thêm vào Kerberos 5: Credentials forwarding and delegation: tính năng này cho phép người dùng chuyển vé của mình đến một máy khác khi người dùng đã chứng thực với máy đó. Ví dụ, khi người dùng đăng nhập vào máy chủ ssh bằng Kerberos, bây giờ người dùng này muốn đăng nhập vào máy chủ tập tin (file server). Đối với Kerberos 4, người dùng này phải chứng thực với KDC một lần nữa mới có thể đăng nhập vào máy chủ tập tin vì hiện tại người dùng đang kết nối đến máy chủ tập tin từ máy chủ ssh, và máy chủ ssh không chứa vé của người dùng này. Điều này gây ra một lỗ hổng bảo mật rất nghiêm trọng, giả sử người dùng đăng nhập vào máy chủ thông qua giao thức telnet, khi người dùng chứng thực với KDC thì người dùng phải nhập mật khẩu, mật khẩu sẽ truyền qua mạng ở dạng không được mã hóa từ máy của người dùng đến máy chủ telnet. Với Kereros 5, khi người dùng đăng nhập và sử dụng máy chủ telnet, các vé của người dùng sẽ được chuyển qua máy chủ ssh, người dùng này không cần phải chứng thực một lần nữa để sử dụng các dịch vụ khác. Replay cache: Nhằm chống lại kiểu tấn công replay attack, replay cache lưu giữ thông tin của những người dùng đã đăng nhập vào hệ thống trong một khoảng thời gian nhất định (mặc định là 5 phút), nếu một yêu cầu đăng nhập được gửi đến có thông tin trùng với thông tin đang được lưu trữ, yêu cầu này sẽ bị huỷ và một thông báo lỗi sẽ được trả về cho người dùng. Chứng thực giữa các hệ thống: đối với Kerberos 5, người dùng của một hệ thống có thể sử dụng vé của hệ thống này để đăng nhập vào một hệ thống khác (với điều kiện các hệ thống đã cấu hình cho phép tính năng này). Các thuật toán mã hóa mạnh hơn: Kerberos 5 sử dụng các thuật toán mã hoá an toàn như 3DES, AES,…Thuật toán mã hoá DES vẫn được hỗ trợ nhưng không khuyến khích sử dụng. Pre-authentication: Kerberos 4 luôn gửi trả về mô ̣t AS _REP khi có mô ̣t AS _REQ, điề u này dẫn đế n kh ả năng bi ̣tấ n công từ điể n hoă ̣c vét ca ̣n . Giả sử kẻ xấu gửi AS _REQ với mô ̣t principal nào đó , KDC sẽ ta ̣o mô ̣t ISBN: 978-604-82-1375-6 25 Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM AS_REP đươ ̣c mã hóa bởi khóa bí m ật của principal này và gửi về cho kẻ xấ u . Lúc này kẻ xấu có thể sử dụng cách tấn công từ điể n hoă ̣c vét ca ̣n để tim ̀ ra khóa bí m ật của principal này, và không phải ai trong chúng ta cũng có thói quen đặt m ật khẩu đủ ma ̣nh .Kerberos 5 cung cấ p mô ̣t tin ́ h năng là pre -authentication nhằ m giảm thiể u khả năng tấn công từ điển hoă ̣c vét ca ̣n xảy ra .Pre-authentication yêu cầ u máy tr ạm phải chứng minh bản thân trước khi đươ ̣c nhâ ̣n đư ợc AS_REP. Có nhiều cách được sử dụng để làm pre -authentication, tuy nhiên mã hóa timestamp là cách thường đươ ̣c dùng nhấ t . Khi mô ̣t máy tr ạm gửi mô ̣t AS _REQ, và KDC có sử dụng pre authentication, KDC sẽ gửi mô ̣t KRB_ERROR về cho máy trạm.KRB_ERROR giúp máy tr ạm biế t rằ ng KDC sử dụng pre-authentication và máy tr ạm phải ta ̣o mô ̣t authenticator (timestamp đươ ̣c mã h óa bằng khóa bí m ật của máy trạm) sau đó gửi authenticator và AS _REQ đế n cho KDC .Nế u authenticator đươ ̣c chấ p nhâ ̣n , KDC sẽ gửi AS_REP đế n cho máy tr ạm.Nế u không , KDC sẽ gửi KRB _ERROR thông báo rằ ng pre -authentication đã thấ t bại. Ngoài phiên bản Kerberos được phát triển ban đầu bởi MIT, còn có một số phiên bản Kerberos được phát triển bởi các tổ chức khác (ví dụ như các tổ chức Heimdal, Microsoft, Apple). Một số phiên bản là mã nguồn mở, số còn lại là phiên bản thương mại. Cách hoạt động của giao thức Kerberos 5 Hình 17. Cách thức hoạt động của giao thức Kerberos 5 Một hệ thống mạng sử dụng giao thức chứng thực Kerberos 5 (Hình 1.) gồm các thành phần sau: các máy trạm sử dụng dịch vụ, các máy chủ cung cấp dịch vụ, và máy chủ chứng thực (còn gọi là KDC – Key Distribution Center). Kerberos sử dụng một tư tưởng chứng thực sáng tạo: vé. Mỗi người dùng sẽ được cấp một vé khi chứng thực với KDC.Sau đó người dùng sẽ sử dụng vé này để yêu cầu các vé tương ứng với các dịch vụ mà người dùng muốn truy cập. Khi một máy trạm muốn truy cập và sử dụng các dịch vụ, trước tiên máy trạm cần trao đổi gói tin với KDC.Đầu tiên, máy trạm gửi một gói tin có tên là Authentication Server Request (còn gọi là AS_REQ) đến KDC để yêu cầu truy cập dịch vụ.Gói tin AS_REQ là gói tin chứa văn bản thuần tuý không được mã hoá, chứa các thông tin như định danh của máy trạm, giờ hiện tại của máy trạm, và principal của KDC.Khi AS nhận được AS_REQ, AS sẽ kiểm tra xem principal có tồn tại hay không, và giờ hệ thống của máy trạm có trùng khớp với giờ của KDC hay không (có thể chênh lệch tối đa là 5 phút). Quá trình kiểm tra này không có mục đích chống lại kiểu tấn công replay attack, vì thông tin trong AS_REQ là ở dạng văn bản không mã hóa. Mục đích của quá trình kiểm tra này là để thông báo cho máy trạm biết khi giờ hệ thống của máy trạm và KDC không trùng khớp với nhau. Một thông báo lỗi sẽ được gửi đến máy trạm khi quá trình kiểm tra thất bại và máy trạm sẽ không được chứng thực. Nếu AS_REQ hợp lệ, AS sẽ phát sinh một chuỗi ngẫu nhiên làm khóa phiên. Khóa phiên này sẽ được chia sẻ giữa máy trạm và TGS. Khóa này dùng để mã hóa các gói tin được tạo bởi máy trạm để yêu cầu vé từ TGS. KDC sẽ tạo ra 2 bản của khóa này, một gửi cho máy trạm và một cho TGS. AS sẽ trả lời máy trạm với gói tin có tên là Authentication Server Reply, còn gọi là AS_REP. Gói tin này gồm 2 phần: khóa phiên được tạo bởi AS; thông tin về máy trạm đã qua kiểm tra, và một bản sao chép của khóa phiên được tạo bởi AS, các thông tin này được mã hóa bởi khóa bí mật của TGS. Tất cả các thông tin trên sau đó được mã hóa bởi khóa bí mật của máy trạm (được tạo từ mật khẩu của người dùng). Khi nhận được AS_REP, máy trạm sẽ dùng khóa bí mật của mình để giải mã và lấy khóa phiên. Phần được mã hóa bởi khóa bí mật của TGS được gọi là TGT, máy trạm không thể giải mã phần TGT này. Khi máy trạm gửi TGT cho TGS, TGS sẽ dùng khóa bí mật của mình để giải mã và lấy khóa phiên. Khi đó, máy trạm và TGS đã có khóa phiên và dùng khóa phiên này để mã hóa và giải mã các gói tin tiếp theo. ISBN: 978-604-82-1375-6 26 Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM Qua phần đầu của quá trình trao đổi khóa ở trên, có thể thấy rằng khóa bí mật của máy trạm đóng vai trò quan trọng trong việc an toàn của giao thức Kerberos. Bởi vì AS dễ dàng gửi AS_REP cho bất cứ ai, kẻ xấu hoàn toàn có thể lấy được một AS_REP và dò ra mật khẩu của người dùng bằng các phương pháp như tấn công vét cạn (brute force), tấn công từ điển (dictionary attack) nếu mật khẩu quá đơn giản. Do đó, việc đặt mật khẩu phức tạp và không chia sẻ cho bất cứ ai là điều rất quan trọng. ĐÁNH GIÁ MỨC ĐỘ BẢO MẬT CỦA KDC Giới thiệu về CIS CIS (Center of Internet Security) là một tổ chức phi lợi nhuận và là một cộng đồng bao gồm: Những chuyên gia về bảo mật trong lĩnh vực công nghệ thông tin sẵn sàng chia sẻ kiến thức và kinh nghiệm với người khác để phát triển những cấu hình bảo mật chuẩn cho một hệ thống công nghệ thông tin từ các thiết bị mạng, hệ điều hành, ứng dụng cho đến những thiết bị di động. Những công ty, tổ chức là thành viên của CIS hỗ trợ tài chính giúp CIS có thể phát triển, đưa ra những nguồn tài liệu bảo mật dựa trên sự thống nhất (consensus-based).Do đó, những thành viên này cũng ảnh hưởng chủ yếu đến việc CIS chỉ định nguồn phát triển đối với từng dự án nhất định. CIS thông qua những sáng kiến đóng góp của người sử dụng máy tính (end-users) từ các tổ chức nhà nước, các trường đại học, cao đẳng, và các công ty trong mọi lĩnh vực; kết hợp với những nhà phát triển phần cứng, phần mềm, những công ty phát triển và tư vấn bảo mật… để giúp những công ty, doanh nghiệp có thể quản lý những rủi ro liên quan đến bảo mật thông tin bằng cách cung cấp những phương pháp, công cụ để đo lường, quản lý và cải thiện tình trạng bảo mật của những hệ thống và thiết bị có kết nối với Internet. Nhiệm vụ chính của CIS là thiết lập và đẩy mạnh việc sử dụng những tiêu chuẩn dựa trên sự thống nhất (consensus-based standards) để nâng cao mức độ bảo mật và tính cá nhân trong một hệ thống có kết nối Internet (Internet-connected system). Nguồn tài liệu chính mà CIS phát triển và phát hành là: Những cấu hình bảo mật chuẩn (Security Configuration Benchmarks): diễn tả những kỹ năng thực hành tốt nhất cho việc cấu hình bảo mật cho một hệ thống từ thiết bị, hệ điều hành cho đến các ứng dụng. Công cụ kiểm tra theo các chuẩn của CIS (Benchmark Audit Tool) Hệ đo lường mức độ bảo mật (Security Metrics): cung cấp cho các quản trị mạng có những hiểu biết sâu hơn về mức độ bảo mật của hệ thống mình. Tiêu chuẩn bảo mật của CIS dành cho MIT Kerberos Theo tiêu chuẩ n mà CIS đưa ra đươ ̣c áp du ̣ng cho phầ n cấ u hình của MIT bao gồ m 4 hạng mu ̣c chính: Kerberos Runtime KDC Congiguration (kdc.conf) Kerberos Configuration (krb5.conf) Kerberos Database Access Control List (kadm5.acl) Kerberos mà chúng tôi cài đă ̣t Kerberos Runtime Trong hạng mu ̣c này CIS đưa ra các tiêu chuẩ n cấ u hình bảo mâ ̣t về người sở hữu (owner) của các tập tin thực thi trên hê ̣ thố ng, và quyền truy cập tập tin với người sở hữu (owner), nhóm (group), đố i tươ ̣ng khác (other). Ví dụ trường hợp cụ thể về yêu cầu của CIS đ ối với ― KDC Daemon (krb5kdc)‖ có đường dẫn cu ̣ thể là /usr/bin/krb5kdc: Đối tượng sở hữu (owner) của tập tin này phải là root:root. Cấ m quyề n ghi vào tâ ̣p tin đố i với nhóm (group) và các đối tượng khác (other). KDC Configuration (kdc.conf) Trong hạng mu ̣c này CIS đề câ ̣p đế n các giá tri ̣đươ ̣c cấ u hình trong t ập tinkdc.confvà có cả yêu cầu về quyề n đố i với mô ̣t số tâ ̣p tin cu ̣ thể . Ví dụ một trường hợp cụ thể về yêu cầu của CIS đối với giá trị cấu hì nh trong tâ ̣p tin kdc.conf: CIS yêu cầ u mô ̣t thuâ ̣t toán mã hoá ma ̣nh đươ ̣c sử du ̣ng trong quá trin ̀ h thương lươ ̣ng khoá và truyề n vé cho các máy tr ạm: Đường dẫn đến tập tin: /var/kerberos/krb5kdc/kdc.conf Giá trị được cấu hình có tên là: master_key_type Các giá trị được cho phép sử dụng là : aes256-cts-hmac-sha1-96, aes128-cts-hmac-sha1-96, des3-cbc-sha1, arcfour-hmac-md5 ISBN: 978-604-82-1375-6 27 Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM Kerberos configuration (krb5.conf) Trong hạng mu ̣c này cũng tương t ự so với h ạng mu ̣c trước (KDC Configuration)chỉ khác m ột điểm là áp dụng cho tập tin /etc/krb5.conf. Tập tin này chứa thông tin cấu hình của hệ thống Kerberos, bao gồm thông tin định danh cho KDC và các máy chủ cung cấpứng dụng.Các chính sách cấu hình trong tập tin này là rất quan trọng, vì chỉ cần một lỗi cấu hình sai của người quản trị sẽảnh hưởng đến toàn hệ thống Kerberos. Một vài thông tin cấu hình tiêu biểu cho Kerberos mà CIS yêu cầuđánh giá như: Phân quyền truy cập tập tin chứa các khoá mã hoá, quy định về thuật toán mã hoátrên đường truyền, các thuật toán không được sử dụng, thời gian sử dụng của vé, … Kerberos Database Access Control List Về cơ bản Kerberos có một hệ quản trị cơ sở dữ liệu riêng, lưu trữ thông tin về tài khoản của người quản trị và các người dùng. Ngoài thông tin về tên người dùng và mật khẩu còn có các thông tin kèmtheo nhằm quy định về chính sách cho từng người dùng cụ thể. Đểhạn chế các rủi ro về cơ sở dữ liệu Kerberos có một trình quản lý quyền truy cập vào cơ sở dữ liệu gọi là kadmind.Khi tài khoản của một người dùng bị tấn công thìkadmind có nhiệm vụhạn chế khả năng làmảnh hưởng tới các người dùng khác. Các thông tin mà tổ chức CIS yêu cầuđánh giá có thể kể đến như: Phân quyền truy cập tập tin cấu hình Kerberos ACL, phiên bản của các khoá khác nhau, nhânđôi các khoáphiên, … Quá trình thực hiện Quy trin ̀ h biên soa ̣n tâ ̣p tin danh sách các hạng mu ̣c kiể m tra (checklist) Về nguyên lý tổ chức CIS áp dụngnguyên tắc chia để trị cho bài toánđánh giáan ninh cho hệ thống Kerberos. Tức là từ một hệ thống mạng Kerberos CIS chia ra thành các mô-đun, và từ các mô-đun đó sẽ có cáchạng mục liên quan tới nó cần đượcđánh giá mức độ bảo mật. Từđó tổ chức CIS xây dựng lên một bộ checklist, quy định nghiêm ngặt về cáchạng mục cần đượcđánh giátheo thứ tự từng thành phần một. Checklist mà CIS cung cấp chỉáp dụng được cho quá trìnhđánhgiáan ninh thủ công. Điều này gây tốn thời gian cho việcđánh giá một hệ thống mạngđang hoạtđộng liên tục.Quy trin ̀ h mà các công ty làm về đánh giá an ninh thông tin cho hê ̣ thố ng m ạng được trình bày ở Hình 2.Họ biên soa ̣n tâ ̣p tin XML để có th ể đánh giá h ệ thống một cách tự đô ̣ng. Hình 18. Quy trình biên soạn tập tin các hạng mục cần kiểm tra Bƣớc 1: Tìm kiếm checklist phù hợp của tổ chức CIS quy định về việc đánh giá an ninh cho hệ thống mạng sử dụng giao thức Kerberos của MIT. Bƣớc 2: Đọc hiểu từng hạng mục một trong checklist về: nội dung chính của từng hạng mục, rủi ro về lỗ hổng được miêu tả, cách thức thực hiện việc đánh giá, thực hiện việc đánh giá thử nghiệm, …Sau khi hiểu hết chi tiết từng hạng mục một thì tiến hành xậy dựng tập checklist để đánh giá tự động. Đây là tập tin XML, các hạng mục được định nghĩa theo cấu trúc XML. Đây là bước cực kỳ quan trọng trong giai đoạn xây dựng checklist, bởi vì chỉ cần một lỗi nhỏ xảy ra trong cấu trúc XML sẽ khiến ta phải chỉnh sửa lại toàn bộ tập tin XML này. Bƣớc 3: Yêu cầu cần đạt được trong bước này là tạo ra một checklist với tập tin XML hoàn thiện. Từ tập tin XML có được trong bước 2 chúng tôi tiến hành kiểm tra tự động với chương trình tự viết bằng ngôn ngữ Perl, để chỉnh sửa những lỗi nhỏ nhất có thể. Miêu tả cấ u trúc của tâ ̣p tin XML Về cơ bản cấ u trúc của tâ ̣p tin XML bao gồ m các hạng mu ̣c cầ n đươ ̣c kiể m tra khi chương trình th ực thi. Cấu trúc của mỗihạng mục bao gồm cácthẻtheo cú pháp của XML quy định. Sau đây là cấu trúc tổng quát cho mộthạng mục được miêu tả trong tập tin XML: ISBN: 978-604-82-1375-6 28 Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM Mỗi hạng mục đều cóđịnh dạng giống nhau về các thông tin như: Miêu tả lỗ hổng (thẻ), rủi ro có thể khi mắc phảilỗhổng này (thẻ), cách thứcđánh giá (thẻ) và liên kết tham khảo (thẻ ) thông tin vềlỗhổng này trên trang Web chính thức của MIT.Các hạng mu ̣c có các chin ́ h sáchđánh giá khác nhau s ẽ đươ ̣c phân biê ̣t dựa vào thẻ Số nguyên. Mỗi số nguyên khác nhau sẽ có nhi ều cách đánh giá khác nhau, theo yêu cầ u của CIS cho MIT Kerberos thì khi biên soa ̣n ra tâ ̣p tin XML có 10 cách đánh giá khác nhau . Các cáchđánh giá tiêu biểu như là: Kiểm tra thông tin cấu hình của một tập tin cụ thể, kiểm tra phân quyền truy cập tập tin bằng cách thực thi lệnh trên Shell của hệđiều hành CentOS, thực hiện câu truy vấn đến cơ sở dữ liệu của Kerberos, … Sau đây là một vài ví du ̣ cu ̣ thể về các cấ u trúc c ủa các hạng mu ̣c được miêu tả một cách chi tiếttheo phiên bản thủ công của CIS trong tâ ̣p tin xml. Ví dụ 1: The Kerberos database administration utility is implemented as an executable command line tool, kadmin.local. Ensure access to the Kerberos administration server reflects least privilege. Ensuring that access to the Kerberos database administration utility reflects least privilege will in-turn help ensure the integrity and availability of KDC operations. 0 stat -L --format "%U:%G %A" /usr/sbin/kadmin.local root:root -rwxr-xr-x http://web.mit.edu/kerberos/krb5current/doc/admin/admin_commands/kadmin_local.html Giải thích :Đối với h ạng mu ̣c này có yêu c ầu làđánh giá an ninh cho tiệních quản trị cơ sở dữ liệu của Kerberos, theo miêu tả trong thanh có giá trị = 0, chương trình s ẽ thực thi dòng lê ̣nh trong thẻ để kiểm tra phân quyền truy cập tập tin /usr/sbin/kadmin.local và lấy kết quả kiể m tra xem kế t quả có giố ng như CIS khuyế n nghi ̣hay không . Nếu giống thì kết luận dành cho hạng mục này làPASS, ngược lại làFINDING. Ví dụ 2: The allow_weak_crypto directive determines if weak encryption types are permitted. Ensure this directive is configured to disallow weak encryption types. Ensuring that weak encryption types are disallowed reduces the probability of sensitive information becoming compromised. These encryption types are considered "weak" because there are cryptographic attacks that significantly reduce the search space or the search space is small relative to modern computing power. These algorithms are typical very old and use small key sizes. 1 /etc/krb5.conf [libdefaults] allow_weak_crypto ISBN: 978-604-82-1375-6 29 Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM false false http://web.mit.edu/kerberos/krb5current/doc/admin/conf_files/krb5_conf.html#libdefaults Giải thích: Đối với hạng mu ̣c đươ ̣c yêu c ầu kiể m tra thông tin c ấu hình trong tập tin /etc/krb5.conf. Giá trị trong thanh là 1, thuô ̣c loa ̣i kiể m tra giá tri ̣cấ u hin ̀ h trong tâ ̣p tin . Chương trình sẽ mở tập tin có đường dẫn/etc/krb5.conf, phạmvi kiểm tra trong vùng[libdefaults], kiểm tra dòng bắt đầu với chuỗiallow_weak_crypto được gán giá trị là true hay false. Nếu là false thìhạng mục này được kết luận làPASS, còn ngược lại thì kết luận làFINDING. Ý nghĩa của tập XML mang lại: Giúp mô-đun hoá các thành phần, mang tính kế thừa cao và giúp chương trìnhđánh giá hoạt động uyển chuyển hơn. Giả sử hai năm sau tiêu chuẩn CIS cập nhật checklist thì ta chỉ cần cập nhật lại tập tin XML mà không cần chỉnh lại mã nguồn của chương trìnhđánh giá. THẢO LUẬN Bài báo tập trung vào việcđánh giáan ninh cho hệ thống mạng sử dụng giao thức Kerberos của MIT. Chúng tôi chỉđánh giá mức độ bảo mật về cấu hình của KDC. Độan toàn của giao thức Kerberos không được đề cập trong bài báo này. Việc đánh giá mức độ bảo mật của các cấu hình trên máy chủ KDC (là thành phần quan trọng nhất trong hệ thống mạng sử dụng giao thức chứng thực Kerberos) là một việc làm rất cần thiết và thực tế.Kerberos là một giao thức chứng thực hoạt động giữa các máy tính (giả thuyết là đáng tin cậy), trên một môi trường mạng không an toàn. Từ giả thuyết này, thấy rõ việc trao đổi các gói tin trên mạng là hoàn toàn đáng tin cậy.Tuy nhiên giả thuyết các máy tính đáng tin cậy là một giả thuyết không đảm bảo. Những sơ suất trong việc sử dụng máy tính, hay việc tuỳ chỉnh các cấu hình không an toàn là nguyên nhân dẫn đến các lỗ hổng bảo mật nghiêm trọng. Việc tuỳ chỉnh các cấu hình không an toàn càng trở nên nghiêm trọng hơn đối với các máy chủ. Giả sử người quản trị máy chủ KDC tuỳ chỉnh cấu hình cho phép người dùng đặt mật khẩu đơn giản, hay sử dụng thuật toán mã hoá không an toàn là một trong những nguyên nhân dẫn đến những lỗ hổng bảo mật của hệ thống mạng sử dụng Kerberos. Mật khẩu người dùng có thể bị đánh cắp bởi các cách thức tấn công như tấn công vét cạn, tấn công từ điển nếu mật khẩu đơn giản. Hoặc các thông điệp trao đổi dễ dàng bị giải mã nếu sử dụng thuật toán mã hoá không an toàn. CHƢƠNG TRÌNH MINH HOẠ Công cụ đánh giá tự động Trong quá trình thực hiện đánh giá bảo mật của Kerberos, chúng tôi nhận thấy việc đánh giá bảo mật cho Kerberos nói riêng, và một hệ thống bất kỳ nói chung, là một việc làm tiêu tốn nhiều thời gian. Do đó, chúng tôi đã xây dựng một công cụ hỗ trợ đánh giá bảo mật của Kerberos một cách tự động, công cụ này sẽ giúp tiết kiệm đáng kể thời gian và công sức của người quản trị hệ thống. Giúp người quản trị hệ thống có nhiều thời gian đối với các công việc quan trọng hơn: gia cố những lỗ hổng bảo mật đã được phát hiện trong quá trình đánh giá. Cách thức hoạt động của công cụ đánh giá tự động được mô tả trong Hình3.: Hình 3. Các bước thực hiện của công cụđánh giá tự động Bƣớc 1: Chương trình hoạt động trên giao diện dòng lệnh và nhận tham số đầu vào là đường dẫn đến tập tin checklist XML và tập tin mẫu báo cáo. Bƣớc 2: Chương trình sẽ thao tác tập tin XML, và tạo thành một danh sách liên kết. Tương ứng với mỗi thành phần của danh sách liên kết là một hạng mục cần đánh giá. ISBN: 978-604-82-1375-6 30 Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM Bƣớc 3: Chương trình sẽ đánh giá từng hạng mục được miêu tả trong danh sách liên kết và cho ra kết luận đánh giá là PASS hay FINDING. Các hành động mà chương trình thực hiện để đánh giá hệ thống là: kiểm tra tập tin cấu hình của Kerberos, kiểm tra chính sách phân quyền thư mục và tập tin, truy vấn vào cơ sở dữ liệu của Kerberos, … Bƣớc 4: Khi đã có kết luận là PASS hay FINDING của từng hạng mục, chương trình sẽ xuất kết quả đánh giá ra tập tin HTML. Tập tin này ghi lại về hiện trạng của hệ thống Kerberos theo tiêu chuẩn của CIS, miêu tả các lỗ hổng đang tồn tại trên hệ thống. Chúng ta cần có chính sách cụ thể để lưu trữ tập tin báo cáo này. Công cụ gia cố an ninh hệ thống Viê ̣c gia cố cho hê ̣ thố ng là mô ̣t vấ n đề hế t sức khó khăn và phức ta ̣p . Vì công việc này yêu cầu người gia cố phải có kiế n thức thâ ̣t chuyên sâu và hiể u chi tiế t về hê ̣ thố ng mình s ẽ gia cố .Nế u mô ̣t vấ n đề nhỏ xảy ra có thể tạo ra các lỗ hổng bảo mật mới, hoặc làm cho hê ̣ thố ng ngưng hoa ̣t đô ̣ng và gây hâ ̣u quả rấ t lớn . Tạo tài khoản với mật khẩu an toàn Trong phầ n cấ u hiǹ h của Kerberos có p hầ n Plugins nhưng mă ̣t đinh ̣ ch ức năng này đã đươ ̣c tắ t . Sau khi nghiên cứu , chúng tôi quyế t đinh . Vì trong quá ̣ gia cố cho hê ̣ thố ng Kerberos về vấ n đề ta ̣o mâ ̣t khẩ u an toàn trình triển khai hệ thống Kerberos, chúng tôi đã gă ̣p mô ̣t số lỗi bảo mâ ̣t nghiêm tro ̣ng trong viê ̣c ta ̣o các tài khoản cho: cơ sở dữ liê ̣u (database), quản trị (admin), các người dùng (users). Do đó chúng tôi quyế t đinh ̣ cho ̣n h ạng mục này để gia cố. Hình 4. Công cụ hỗ trợ tạo tài khoản với mật khẩu an toàn Để phu ̣c vu ̣ cho việc gia cố về vấ n đề ta ̣o mâ ̣t khẩ u an toàn chúng tôi tiế n đế n viế t mô ̣t công c ụ(Hình 4.) có các chức năng sau đây: Nhâ ̣p tên người dùng và mật khẩu. Không cho phép nhâ ̣p mật khẩu rỗng. Không cho phép mật khẩu trùng hay là chuỗi con của tên người dùng. Không cho phép m ật khẩu trùng với bô ̣ từ điể n đươ ̣c quy đinh ̣ : viê ̣c sử du ̣ng bô ̣ từ điể n không nhấ t thiế t phải tuân theo một bộ từ điển nào mà có thể tuỳ biến đối với đặc thù ngôn ngữ của mỗi quố c gia hay các tổ chức. Truy câ ̣p vào cơ sở dữ liê ̣u của Kerberos và thêm tài khoản vào . Công cụ hỗ trợ cấp, huỷ vé và chọn thuật toán mã hoá Nhận thấy các chương trình Kerberos trên máy trạm Linux khó sử dụng đối với người dùng cuối; việc thay đổi cấu hình cũng như việc thay đổi các thuật toán mã hóa theo nhu cầu của người dùng gặp hạn chế. Người dùng cuối bắt buộc phải đọc các tài liệu về cấu hình Kerberos trên máy trạm, việc này không đem lại tính tiện dụng khi sử dụng.Chúng tôi đã quyết định phát triển một công cụ hỗ trợ cho máy trạm Linux. Công cụ hỗ trợ cho máy trạm Linux cung cấp cho người dùng một giao diện trực quan, dễ sử dụng.Giúp cho việc yêu cầu một vé, hủy một vé trở nên dễ dàng và thân thiện hơn. Ngoài ra, một trong những tính năng quan trọng mà công cụ hỗ trợ này đem lại chính là khả năng hỗ trợ người dùng chọn các thuật toán theo nhu cầu cá nhân. Việc lựa chọn thuật toán mã hóa khi trao đổi gói tin đóng vai trò không kém quan trọng so với các phần khác của hệ thống, vì vấn đề cốt lõi đem đến sự bảo mật vẫn là dựa trên các thuật toán mã hóa. Nếu người dùng chọn thuật toán mã hóa yếu thì việc bẻ khóa sẽ rất dễ dàng; hoặc người dùng để các tùy chọn trong tập tin cấu hình là mặc định sẽ dẫn đến trường hợp máy chủ dịch vụ sử dụng thuật toán mã hóa kém an toàn và máy trạm vẫn chấp nhận kết nối. Công cụ này hỗ trợ người dùng chọn một thuật toán mã hóa nhất định trong quá trình trao ISBN: 978-604-82-1375-6 31 Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM đổi gói tin, tránh trường hợp chấp nhận một cách không kiểm soát các thuật toán mã hóa khi giao tiếp với máy chủ. Các chức năng của công cụ như sau: Yêu cầu một vé mới. Hủy vé đã yêu cầu. Chọn thuật toán mã hóa mặc định khi trao đổi gói tin. Hình 5. Côngcụ cấp, huỷ vé và chọn thuật toán mã hoá Công cụ này được viết bằng ngôn ngữ lập trình python (Hình 5.).Chúng tôi quyết định chọn python là vì python là một ngôn ngữ lập trình mạnh mẽ, dễ sử dụng, và được cài đặt sẵn trên đa số các hệ điều hànhLinux. KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Chúng tôi đã đề xuất được một quy trình đánh giá an ninh thông tin cho hệ thống sử dụng Kerberos, từ đó mở rộng ra quy trình đánh giá an ninh thông tin cho một hệ thống mạng bất kỳ. Quy trình này đáp ứng được nhu cầu thực tế hết sức cần thiết: kiểm tra các lỗ hổng bảo mật do sơ suất trong cấu hình hệ thống, hay do thiếu kiến thức bảo mật dẫn đến việc cấu hình không đúng đắn. Từ quy trình đã đề xuất, chúng tôi cũng đã xây dựng thành công một công cụ hỗ trợ việc đánh giá một hệ thống hoàn toàn tự động, giúp tiết kiệm thời gian và công sức của người quản trị hệ thống. Chúng tôi cũng đã xây dựng được các công cụ hỗ trợ gia cố những lỗi bảo mật thường gặp nhưng ít được quan tâm: sử dụng mật khẩu yếu và thuật toán mã hoá không an toàn. Hướng phát triển: Xây dựngcông cụ giúp đánh giá và gia cố toàn diện một hệ thống mạng bất kỳ; giúp đảm bảo mức độ an toàn của hệ thống mạng của các tổ chức, doanh nghiệp. Xây dựng bộ trọng sốđể tính điểm bảo mật cho từnghạng mục và cho cả hệ thống Kerberos. Từđó giúp người quản trị biếtđượcđộan ninh của hệ thốngđang ở mức nào. Lời cảm ơn:Nhóm tác giả xin chân thành cảm ơn đến Quý Thầy Cô khoa Công Nghệ Thông Tin, trường Đại học Khoa Học Tự Nhiên đã động viên, góp ý và giúp đỡ nhóm hoàn thành bài báo. ISBN: 978-604-82-1375-6 32 Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM AN AUDIT PROCESS OF SECURITY LEVEL ON KDC IN NETWORK SYSTEMS USING KERBEROS 5 Le Hoai Nham, Duong Bao Quan, Le Quoc Hoa, Truong Phuoc Hung University of Science, VNU-HCM ABSTRACT This paper presents the audit process of the security level in the network systems using Kerberos version 5 running on a particular operating system (CentOS 6.5). This process is based on CIS’s documents – a community organization providing many documents about auditing. First of all, the process of auditing a system starts by making a checklist based on CIS standard, then we build a tool to check the system according to this checklist. After getting the results of the audit process, security holes of the system can be found and will be patched. For instance, a tool is made to make sure the passwords created for users are strong enough to against brute-force attack or dictionary attack. Our proposed audit process and its application could be immediately applied to real systems to help the administrators in saving time for management and maintain. TÀI LIỆU THAM KHẢO [1] C. Neuman and T. Ts’o, Kerberos: an authentication service for computer networks, IEEE Communications Magazine32 (1994) 33-38. [2] C. Neuman, T. Yu, S. Hartman, and K. Raeburn, The Kerberos network authentication service (V5),IETF RFC 4120(2005). [3] M.Jaiganesh and B.Ramdoss, Security Management in Kerberos V5 for GMS Network, International Conference on Computing, Communication and Networking(2008). [4] Jung-Shian Li,Chuan-Kai Kao, and Shiou-Jing Lin, A Kerberos-based Single Sign-On System for VoIP SIP Servers and Clients with a Terminal Mobility Capability,International Symposium on Computer, Communication, Control and Automation2(2010) 75-80. [5] Kazunori Miyazawa, Design and Implementation of Kerberos Version 5 for Embedded Devices,IEEE International Conference on Industrial Informatics(2010) 449-453. [6] Fengling Han, Mohammed Alkhathami, and Ron Van Schyndel, Biometric-Kerberos Authentication Scheme for Secure Mobile Computing Services,International Congress on Image and Signal Processing3(2013) 1694–1698. [7] N.T. Abdelmajid, S. Shepherd, K. Mahmoud, Location-Based Kerberos Authentication Protocol, IEEE International Conference on Social Computing(2010) 1099 - 1104. [8] Sufyan T. Faraj Al-Janabi and Mayada Abdul-salam Rasheed, Public-Key Cryptography Enabled Kerberos Authentication, Developments in E-systems Engineering(2011) 209-214. [9] Dahui Hu, Zhiguo Du, An improved Kerberos protocol based on fast RSA algorithm, IEEE International Conference on Information Theory and Information Security (2010) 274-278. [10] S.P. Miller, B. C. Neuman, J. I. Schiller, and J.H. Saltzer, Kerberos Authentication and Authorization System,Massachusetts Institute of Technology (1987). ISBN: 978-604-82-1375-6 33 ... chương trình ánh giá THẢO LUẬN Bài báo tập trung vào việcđánh gi an ninh cho hệ thống mạng sử dụng giao thức Kerberos MIT Chúng ch đánh giá mức độ bảo mật cấu hình KDC Đ an toàn giao thức Kerberos. .. TRIỂN Chúng đề xuất quy trình đánh giá an ninh thông tin cho hệ thống sử dụng Kerberos, từ mở rộng quy trình đánh giá an ninh thông tin cho hệ thống mạng Quy trình đáp ứng nhu cầu thực tế cần thiết:... dụngnguyên tắc chia để trị cho toánđánh gi an ninh cho hệ thống Kerberos Tức từ hệ thống mạng Kerberos CIS chia thành mô-đun, từ mô-đun có cáchạng mục liên quan tới cần đượcđánh giá mức độ bảo mật Từđó

Ngày đăng: 09/10/2015, 06:40

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan