5. Một số các biện pháp phòng tránh
5.3. Một số biện pháp bảo mật bằng hệ thống
5.3.1. Firewall
Firewall là một thiết bị (phần cứng + phần mềm) nằm giữa mạng của một tổ chức, một công ty hay một quốc gia (mạng Intranet) và mạng Internet bên ngoài. Vai trò chính của nó là bảo mật thông tin, ngăn chặn sự truy nhập không mong muốn từ bên ngoài (Internet) và cấm truy nhập từ bên trong (Intranet) tới một số địa chỉ nhất định trên Internet.
Firewall là một thiết bị bảo vệ, vì vậy nó phải là một thiết bị có độ an toàn rất cao. Nếu được xây dựng trên hệ thống máy tính thì firewall phải được xây dựng trên những hệ thống máy tính mạnh, có khả năng chịu lỗi cao. Ngoài ra hệ điều hành dùng trên máy tính này phải là những phiên bản an toàn, ổn định.
Trong hình trên ta thấy tất cả các thông tin đi vào và ra khỏi mạng nội bộ đều phải qua firewall. Firewall chịu trách nhiệm loại bỏ các thông tin không hợp lệ. Để biết thông tin qua nó có hợp lệ hay không thì firewall phải dựa vào tập luật (rules) mà nó đặt ra. Chúng ta sẽ tìm hiểu kỹ hơn về vấn đề này trong phần sau.
Firewall có thể ngăn chặn được nhiều kiểu tấn công nhưng không đủ để ngăn chặn tất cả các cách tấn công làm nguy hại đến hệ thống mạng cần bảo vệ. Vì thế ta phải kết hợp với các biện pháp khác để nâng cao độ an toàn cho mạng càng mạnh càng tốt. Trong phần tiếp theo ta sẽ đề cập chi tiết hơn về Firewall.
5.3.2. IDS (Intrusion Detection System)
Như đã trình bày ở trên, Firewall hay IPSec chỉ là phương pháp với nhiệm vụ chủ yếu là phòng thủ, tức là chủ yếu ngăn chặn các loại hình tấn công từ bên ngoài vào và đảm bảo an toàn khi truyền dữ liệu tức là chống tấn công một cách thụ động. Ngày nay, các kiểu tấn công ngay từ bên trong mạng đã trở nên phổ biến và đặc biệt nguy hiểm. Chẳng hạn như việc phát tán các virus Trojan, truy cập và sử dụng trái phép tài nguyên mạng, hoạt động gián điệp… Những loại tấn công từ bên trong này quả thật là rất khó phát hiện và hậu quả mà nó gây ra cũng không phải là nhỏ.
Vì những lý do trên nên để hệ thống an ninh mạng của ta được hoàn thiện thì cần phải có một hệ thống có khả năng phát hiện được các kiểu tấn công ngay từ trong mạng. Hệ thống đảm nhận chức năng này có tên là IDS.
Intrusion Detection là quá trình theo dõi các sự kiện xảy ra trong hệ thống mạng máy tính và phân tích chúng để tìm ra những dấu hiệu của sự xâm phạm (intrusion) nhằm đảm bảo tính mật, tính toàn vẹn, tính sẵn sàng cho hệ thống. Những sự xâm phạm thường được gây ra bởi những kẻ tấn công (attackers) truy cập vào hệ thống từ Internet, những người dùng hợp pháp cố gắng truy cập đến những tài nguyên không thuộc thẩm quyền của mình hoặc sử dụng sai những quyền đã được cho phép.
Các kỹ thuật dò tìm sự xâm phạm
Một lần nữa ta phải khẳng định rằng việc xây dựng một hệ thống IDS không phải là chuyện đơn giản. Ví dụ như cần phải có một cơ sở dữ liệu lưu trữ các hành vi của từng người sử dụng trong mạng. Những hành vi này có thể là thói quen làm việc gì đó trên mạng, hay thường vào một site nào đó của một người dùng cụ thể. Khi có một hành động bất thường xảy ra (so với thói quen thường ngày) thì đòi hỏi IDS phải có sự theo dõi gắt gao cho tất cả các hành động của người sử dụng này và dĩ nhiên những thông tin này phải được lưu trong CSDL để nếu lần sau người này có truy cập vào mạng thì ta có cơ chế quản lý khác. Như vậy việc xây dựng và tổ chức một CSDL như thế này là rất khó.
Tuy nhiên, một cách tổng quát, một hệ thống IDS thường dựa vào các cách sau để xác định sự xâm phạm:
• Quan sát các bất thường xảy ra trong hệ thống. Với cách này, hệ thống sẽ phân tích hàng loạt các đặc tính ban đầu (đặc tính ở trạng thái bình thường) của hệ thống và so sánh với phản ứng (đặc tính sẽ có) của hệ thống tương ứng với các giá trị (hành vi) nhận được. Việc cảnh báo sẽ được tiến hành nếu các đặc tính của hệ thống tính toán ra không phù hợp với đặc tính đã có.
• Quan sát sự bất thường của người sử dụng. Cách này thường dùng để xác định các xâm phạm từ bên trong mạng (bao gồm các thành viên trong mạng và các thành viên đã được xác thực).
• Quan sát một số tiến trình vượt quá mức đặc quyền cho phép. Cách này sẽ xác định các chuỗi lệnh thực thi nào sẽ thi hành các hành động không được phép trong hệ thống. Cách này thông thường được sử dụng để phát hiện dấu vết của virus.
Một mô hình đơn giản của hệ thống IDS như sau:
DIRECTOR có thể coi là trái tim của hệ thống, nó chịu trách nhiệm phân tích các thông tin gửi từ AGENT lên với các thông tin có sẵn trong CSDL, và đưa ra cách xử lý thích hợp cho hệ thống và cấu hình.
AGENT làm nhiệm vụ thu thập tất cả các thông tin như là việc đăng nhập hệ thống, các bản tin… và gửi lên cho DIRECTOR.
Bộ phận cảnh báo chịu trách nhiệm thi hành các hành động cụ thể sau khi phát hiện ra sự xâm phạm trái phép, chẳng hạn như thiết lập lại cấu hình Firewall, loại bỏ các hành động trái phép đó.
5.3.3. VPN (Vitual Private Network)
Một phương pháp đảm bảo an ninh trong việc truyền dữ liệu trên các môi trường không tin cậy là sử dụng công nghệ mạng riêng ảo (VPN – Vitual Private Network). VPN thiết lập một đường hầm an toàn để truyền dữ liệu đã được đóng gói bởi các giao thức bảo mật như IPSec, PPTP (Point-to-Point Tunneling Protocol) hay L2TP (Layer Two Tunneling Protocol).
Giao thức IPSec bao gồm 2 phần: Authentication Header (AH) và
Hình 3.3.3b. Tunnel trong IPSec
Encapsulating Security Payload (ESP).
Authentication Header (AH)
Authentication Header (AH) cung cấp cơ chế xác thực và tính toàn vẹn cho các gói tin IP truyền giữa 2 hệ thống. Điều này có thể thực hiện được bằng cách áp dụng hàm băm một chiều đối với gói tin IP để tạo mẫu thông điệp (message digest). Nếu bất cứ phần nào của datagram bị thay đổi trong quá trình truyền thì nó sẽ bị phát hiện bởi người nhận khi nó thực hiện cùng một hàm băm một chiều trên gói tin đó và so sánh giá trị của mẫu thông điệp mà người gửi cung cấp. Trên thực tế hàm băm một chiều cũng bao gồm việc dùng chung khoá mật giữa 2 hệ thống. Điều đó có nghĩa là tính xác thực đã được bảo đảm.
Khi một mẫu thông điệp được dùng để xác thực thì AH đồng thời đạt được 2 mục đích:
• Xác nhận tính hợp lệ của người gửi vì người gửi biết khoá mật được dùng để tạo mẫu thông điệp đã được tính toán.
• Cho biết dữ liệu không bị thay đổi trong quá trình truyền. AH có định dạng như sau:
Phía người nhận sử dụng trường Security Parameters Index để kiểm tra giao thức xác thực và khoá xác thực (authentication protocol and authentication key). Sau đó, người nhận sử dụng khoá xác thực để thực hiện tính toán MD5.
Xác thực MD5 được thực hiện trên tất cả các trường của gói tin IP mà không thay đổi trong quá trình truyền (các trường thay đổi như hop counter hay Ipv6 routing pointer được coi là có giá trị 0). Kết quả tính toán của người nhận sẽ được so sánh với giá trị trong trường Authentication Data. Nếu khác nhau thì gói tin này sẽ bị huỷ.
Tunnel-Mode
Hình 3.3.3d minh hoạ định dạng chế độ tunnel. Toàn bộ gói tin, bao gồm tất cả phần header của nó, được mã hoá. Một header mới được thêm vào để chuyển tiếp gói
Next Header Length Reserved
Security Parameters Index Authentication Data
8 bits 8 bits 16 bits
tin đi. Chú ý rằng đường hầm (tunnel) từ host này tới host kia giữa 2 mạng có thể gặp phải rắc rối nếu giữa chúng có một router firewall. Firewall này có thể muốn kiểm tra các thông tin chẳng hạn như địa chỉ IP nguồn, đích và các cổng có liên quan, có thể bị che bên trong thông điệp đã được mã hoá.
Encapsulating Security Payload (ESP)
IP Encapsulating Security Payload header được dùng để cài đặt cho chế độ mã hoá đường hầm (Tunnel-mode encryption).
Định dạng của IP Encapsulating Security Payload header được chỉ ra trong hình 2.3.3.e Người nhận sẽ sử dụng Security Parameter Index để tìm thuật toán và khoá sử dụng. Phần còn lại của dữ liệu tùy thuộc vào sự lựa chọn thuật toán ở trên.
Khi sử dụng thuật toán CBC-DES thì định dạng của ESP header và phần còn lại của gói tin được chỉ ra trong hình 3.3.3.f như sau:
New Main IP Header
Other New IP Headers
Encapsulating Security Payload Header
Encrypted Datagram
(Includes Original IP Header and Payload – e.g., TCP Segment, UDP Datagram, or ICMP message)
Hình 3.3.3d. Tunnel-mode encryption
Security Parameter Index (SPI)
Opaque “Transform” Data
Initialization Vector là một khối dữ liệu được dùng để khởi tạo cho thuật toán CBC-DES. Vùng màu xám được truyền đi dưới dạng mã hoá. Type = 4 có nghĩa là phần payload đóng gói toàn bộ dữ liệu (Tunnel-mode).
Mặc dù lúc đầu các hệ thống có xu hướng sử dụng CBC-DES, tuy nhiên trong tương lai không xa, các giao thức ESP có khả năng tích hợp cả cơ chế xác thực và tính toàn vẹn dữ liệu vào việc mã hoá.
Security Parameter Index (SPI) Initialization Vector
Payload Data
Padding Pad Length Payload Type
Chương 3
Tổng quan về các hệ thống Intrusion Detection Systems
1. Phát hiện sự xâm phạm là gì
Phát hiện sự xâm phạm là quá trình giám sát những sự kiện xảy ra trong một hệ thống máy tính hay một mạng máy tính sau đó phân tích để tìm ra các dấu hiệu của sự xâm phạm. Sự xâm phạm ở đây có thể được coi là các hành động làm mất đi tính toàn vẹn, khả năng sẵn sàng, sự cẩn mật… hoặc cố gắng vượt qua cơ cấu an ninh của một máy tính hoặc một mạng máy tính. Sự xâm nhập này do các kẻ tấn công truy nhập vàp hệ thống từ Internet, hoặc do những người dùng không hợp pháp cố gắng truy cập vào hệ thống với mức quyền hạn cao hơn mức được phép. Intrusion Detection Systems(IDS) là một sản phẩm phần cứng hoặc phần mềm tự động thực hiện việc giám sát và tiến hành phân tích các quá trình trên.
2. Tại sao phải sử dụng IDS.
Việc phát hiện sự xâm nhập giúp cho các tổ chức bảo vệ được cho hệ thống của họ thoát khỏi những mối nguy hiểm khi tiến hành tăng các kết nối mạng và tin cậy hơn với các hệ thống thông tin.
IDS được chấp nhận như là một biện pháp bổ xung cho cơ sơ hạ tầng về an ninh của các tổ chức. Có rất nhiều lý do cho việc tiến hành sử dụng hệ thống IDS.
• Để phát hiện các cuộc tấn công và các hành vi vi phạm an ninh mà không ngăn cản được bằng các biện pháp khác.
• Để phát hiện sớm dấu hiệu các cuộc tấn công khi nó mới mới bắt đầu xảy ra, nhằm có biện pháp ngăn chặn kịp thời.
• Ngăn ngừa các vấn đề bằng việc tăng độ mạo hiểm cho các kẻ tấn công.
• Giúp cho việc thiết kế bảo mật và quản trị có chất lượng. Đặc biệt trong các tổ chức có hệ thống mạng lớn và phức tạp.
• Cung cấp các thông tin hiệu quả về việc xâm nhập.
• Giúp lập tài liệu về các nguy cơ có thể xảy ra cho hệ thống.
2.1. Phát hiện các cuộc tấn công và các hành vi vi phạm an ninh mà khôngngăn cản được bằng các biện pháp khác. ngăn cản được bằng các biện pháp khác.
Các kẻ tấn công sử dụng nhiều phương pháp tấn công phổ biến được cung cấp trên mạng cũng có thể xâm nhập được vào nhiều các hệ thống, nhất là các hệ thống có kết nối với mạng Internet công cộng. Việc này thường xảy ra khi mà các lỗ hổng trong an ninh mạng đã được biết nhưng chưa được sửa chữa kịp. Mặc dù các nhả sản xuất và các nhà quản trị đã được khuyến khích để chỉ ra các lỗ hổng bảo mật đó. Nhưng trong một số trường hợp như sau thì lại không áp dụng được.
• Trong các hệ thống cũ, hệ đều hành không có khả năng đựơc bổ xung và cập nhập.
• Mặc dù có thể bổ xung nhưng người quản trị nhiều khi không cài đặt hết các bản sửa lỗi. Đây là trường hợp phổ biến, đặc biệt trong các hệ thống mà có rất nhiều phân mềm và phần cứng khác nhau.
• Người dùng mạng có thể hay dùng các dịch vụ mạng mà các dịch vụ và giao thức này đã được biết là dễ bị tấn công.
• Cả người sử dụng và nhà quản trị đều mắc những lỗi trong việc cấu hình và sử dụng hệ thống.
• …
Trước các vấn đề như trên thì Intrusion Detection Systems là một biện pháp tuyệt vời cho việc bảo vệ hệ thống. Intrusion Detection Systems có thể phát hiện ra những kẻ tấn công khi chúng dựa vào các lỗ hổng của mạng để xâm nhập vào.
2.2. Phát hiện sớm dấu hiệu các cuộc tấn công khi nó mới mới bắt đầu xảy ra,nhằm có biện pháp ngăn chặn kịp thời. nhằm có biện pháp ngăn chặn kịp thời.
Khi đối phương tấn công một hệ thống, họ thường tiến hành một loạt các hành động có thể dự đoán trước. Đầu tiên là họ kiểm tra hoặc tìm kiếm một con đường vào hệ thống một cách tốt nhất. Trong một hệ thống không có IDS thì họ tự do kiểm tra tìm kiếm những sơ hở trong hệ thống với mức rủi ro bị phát hiện là rất nhỏ. Trong cùng hệ thống đó nhưng có bổ xung hệ thống IDS thì hoạt động giám sát của nó là một thách thức lớn với kẻ tấn công. Mặc dù kẻ tấn công vẫn có thể thực hịên công việc tìm kiếm các sơ hở của hệ thống nhưng tất cả các hành động này đều được hệ thống IDS giám sát và đây là cơ sở để nghi ngờ, đặt vấn đề với các hành động như vậy. Hệ thống IDS có thể chủ động ngăn cản không cho kẻ tấn công thực hiện tiếp các hành động hoặc thông báo cho nhà quản trị mạng để có thể đưa ra các hành động thích hợp nhằm ngăn chặn việc tấn công này. Việc đưa ra các hành động phản ứng lại các hành động của kẻ tấn công sẽ làm cho họ nhận thức được mức độ nguy hiểm của hành động của mình và nản lòng.
2.3. Tăng độ mạo hiểm cho kẻ tấn công.
Một quy tắc cơ bản của chính sách an ninh hệ thống là tác động đến các hành vi của các người dùng cá nhân theo cách mà để bảo vệ thông tin hệ thống khỏi các vấn đề an ninh. IDS sẽ giúp các tổ chức hoàn thành được mục tiêu này băng việc tăng nguy cơ bị phát hiện của kẻ tấn công. Việc này có tác dụng ngăn chặn những người có ý định thực hiện các hành vi không được phép.
2.4. Giúp cho việc thiết kế bảo mật và quản trị có chất lượng
Khi IDS đã được vận hành trong một khoảng thời gian thì những hành vi được coi là bình thường của hệ thống sẽ được ghi lại và khi có những hành vi khác thường thì chúng sẽ dễ dàng bị phát hiện. Nó có thể giúp nhận ra các thiếu xót trong việc thiết kế bảo mật, hoặc trong các chính sách về an ninh của hệ thống. Việc sửa chữa những thiếu xót trong thiết kế có thể ngăn chặn những nguy hại bất ngờ, không lường trước được.
2.5. Cung cấp các thông tin hiệu quả về sự xâm nhập
Mặc dù khi Hệ thống IDS có thể không trực tiếp ngăn chặn hành vi xam phạm nhưngnó vẫn có thể thu thập những thông tin liên quan chi tiết có ích về các hành vi xâm nhập giúp cho việc khoanh vùng sự xâm nhập nhằm cải thiện việc gỡ rối ,khôi phục và sửa chữa.
2.6. Lập tài liệu về các nguy cơ có thể xảy ra với hệ thống
Sử dụng hệ thống IDS có thể giúp cho ta chứng minh được rằng là mạng đang