Loading...

I. Định nghĩa và phân loại hệ điều hành

1. Định nghĩa

Hệ điều hành là một phần mềm chạy trên máy tính và các thiết bị tương tự dùng để điều hành và quản lý các thiết bị phần cứng, và các tài nguyên phần mềm trên máy tính. Hệ điều hành đóng vai trò trung gian trong việc giao tiếp giữa người dùng và phần cứng máy tính, cung cấp môi trường cho phép người sử dụng phát triển và thực hiện các ứng dụng của họ một cách dễ dàng.

2. Phân loại

Phân loại hệ điều hành có nhiều cách phân loại: dưới góc độ loại máy tính, dưới góc độ người sử dụng và số chương trình được sử dụng cùng lúc, các nền tảng sử dụng… 

Dưới góc độ loại máy tính:

  • Các nền tảng cho máy PC:Windows, Unix,MacOS …
  • Nền tảng di động: IOS, Windowsphone, Android, Symbian …
  • Hệ điều hành nền điện toán đám mây: Windows Azure …
  • Hệ điều hành nhúng cho các thiết bị PDA: Windows CE, Linux Embedded, QNX …
  • Hệ điều hành cho các máy server: Windows Server, Linux…
  • Hệ điều hành cho các máy chuyên biệt
  • Hệ điều hành cho các thẻ chip

Dưới góc độ xử lý của hệ điều hành:

  • Hệ điều hành đơn nhiệm: MS-DOS
  • Hệ điều hành đa nhiệm: Các hệ điều hành Windows sau MS-DOS…

3. Các thành phần của hệ điều hành

  • Hệ thống quản lý tiến trình : hệ thống quản lý tất cả các tiến trình trong hệ thống, thứ tự thực hiện, việc luân chuyển giữa các nhân xử lý hoặc chuyển tiếp tiến trình.
  • Hệ thống quản lý bộ nhớ : quản lý thông tin bộ nhớ của máy tính gồm có bộ nhớ tức thời (RAM) và bộ nhớ lưu trữ (ô đĩa).
  • Hệ thống quản lý nhập xuất: hệ thống của hệ điều hành quản lý xác thiết bị ngoại vi có liên quan.
  • Hệ thống quản lý tập tin: Hệ thống quản lý các tập tin, thư mục, các tổ chức và các quyền thực thi đối với từng đối tượng người dùng.
  • Hệ thống bảo vệ : Hệ thống bảo vệ an toàn hệ thống, các cơ chế ghi log, xác thực người dùng.
  • Hệ thống dịch lệnh: hệ thống thực hiện chuyển các ngôn ngữ hay các dữ liệu đầu vào thành ngôn ngữ mà máy tính có thể hiểu được.
  • Quản lý mạng: Quản lý các kết nối mạng, các xử lý kết nối, hệ thống tường lửa, hoặc các giao thức thực hiện.

4. Cơ chế xác thực trong hệ điều hành

Trong hệ điều hành cung cấp cơ chế xác thực người dùng theo cơ chế AAA (Authentication, Authorization, Accounting).

Với một máy tính được cài hệ điều hành nào đó, thì việc bảo mật, kiểm tra và điều khiển quyền truy nhập hệ thống là điều không thể thiếu. Ngay cả đối với máy tính đó chỉ có một người sử dụng thì nếu bị tấn công mà hệ điều hành không có cơ chế phân quyền hay xác thực người dùng thì khi đó kẻ tấn công có thể thực hiện bất kì điều gì mà không bị cản trở. Và trong các hệ điều hành hiện nay cơ chế bảo mật và điều khiển truy nhập AAA là cơ chế để giám sát những gì mà người dùng được thực hiện trên hệ thống.

4.1. Authentication

Xác thực để nhận dạng (identity) người dùng. Trong suốt quá trình thực hiện Username và password luôn được kiểm tra trong hệ thống đảm bảo người dùng đó luôn được thực hiện đúng với quyền của mình.

User authentication

Hệ thống máy tính thường xác định và xác nhận người dùng trước khi cấp quyền cho họ. 

Identification : họ là ai?

Authentication: hãy chứng minh nó đi.

Xác định và xác nhận là cách dễ dàng để phân biệt mỗi người với nhau. Đối với con người chúng ta có thể phân biệt bạn bè của mình thông qua khuôn mặt hay giọng nói của họ.
Đối với máy tính khó thì rất khó khăn để nó có thể xác định được ai đang ngồi trước nó, hoặc truy cập từ xa nếu không có cơ chế xác nhận và xác thực rõ ràng.

Xác thực bằng Password

Đây có lẽ là hình thức được sử dụng lâu đời nhất và phổ biến nhất trong các hệ thống máy tính.
Người dùng nhập vào tên tài khoản và password tường ứng, có thể được thử nhiều lần trong trường hợp có lỗi xảy ra.

Các vấn đề tồn tại:

  • Không thể phục hồi password đã quên.
  • Nhập password có thể gây sự bất tiện.
  • Nếu password bị lộ, thì các người dùng khác có thể truy nhập vào tài nguyên hệ thống một cách trái phép. Trừ khi sử dụng nhiều cơ chế xác thực.
  • Nếu password được chia sẻ giữa nhiều người việc cập nhật password sẽ trở nên khó khăn.

4.2. Authorization

Authorization được định nghĩa chung là cho phép nhà quản trị điều khiển việc cấp quyền trong một khoảng thời gian, hay trên từng thiết bị, từng nhóm, từng người dùng cụ thể hay trên từng giao thức. Trong hệ điều hành chúng ta có thể hiểu là hệ thống sẽ xác định thẩm quyền, những hành vi, hay quyền truy cập hệ thống của người dùng đã được xác thực. Ví dụ: trong cùng một hệ thống phần mềm được sử dụng trong công ty, giám đốc sẽ có quyền truy cập cao hơn các nhân viên cấp dưới, có nhiều quyền hạn và chức năng, xem các loại tài liệu mà nhân viên cấp dưới không thể xem được…

4.3. Accounting

Hay nói cách khác hệ thống sẽ giám sát và lưu lại tất cả những gì mà người dùng đã thực hiện từ khi bắt đầu đăng nhập vào hệ thống. Từ thời gian đăng nhập ,thời gian đăng xuất, các câu lệnh đã thực hiện, các hành vi khác như copy hay xóa dữ liệu… Điều này giống như một thư ký của hệ thống, sẽ luôn ghi lại tất cả những gì mà người dùng thao tác và thực hiện trên hệ thống, nó sẽ giúp ích rất nhiều cho quá trình theo dõi và truy tìm các nguyên nhân gây mất an toàn hệ thống khi xảy ra.

II. Các nguy cơ mất an toàn thông tin hệ điều hành và hành vi của hacker

Bất kỳ hành vi nào muốn tấn công nhằm vào hệ điều hành, để khai thác hệ thống thì mục tiêu và mục đích cần nhắm tới đối với hacker là vượt qua cơ chế xác thực, leo thang đặc quyền của mình, thực thi các hành vi mong muốn, sau đó thì nhanh chóng xóa bỏ đi các dấu vết về sự xâm nhập của mình trong hệ thống. 

Hiện nay có khá nhiều con đường mà hacker có thể tiến hành tấn công vào hệ điều hành, tuy nhiên dù đi theo con đường nào thì xét theo mục đích và hành vi có thể chia ra làm các hình thức:

  • Tấn công tài khoản quản trị
  • Race Conditions
  • Các loại mã độc
  • Khai thác lỗ hổng của phần mềm, hệ điều hành

1. Tấn công tài khoản quản trị

Tất cả các cuộc tấn công nhằm vào hệ điều hành mục tiêu cao nhất đều là có thể thực thi các chương trình do hacker mong muốn. Và để có thể thực hiện được hành vi này, hacker cần xác thực được với hệ điều hành với một quyền truy cập càng cao trong hệ thống càng tốt. Với hình thức tấn công tài khoản quản trị chúng ta thường là đối với người có thể tiếp cận trực tiếp với máy nạn nhân, hoặc có thể thực hiện các điều khiển từ xa. Hiện nay có nhiều hình thức xác nhận tài khoản, phổ biến nhất vẫn là xác nhận thông qua username, password, ngoài ra còn có các hình thức nhận dạng sinh trắc như: nhận dạn vân tay, hay võng mạc.

Với các hình thức nhận dạng bằng sinh trắc học hiện nay có thể tạo giả được, tức là kẻ tấn công cần thu thập được đầy đủ dữ liệu về nạn nhân: sao chép được vân tay của nạn nhân và tạo ra một ngón tay giả chứa các vân tay giống như vậy, đối với vong mạc thì tương tự. Nói chung thì hình thức này cần rất nhiều công sức, các biện pháp kĩ công nghệ cao, và tốn kém mới có thể làm được. Trong phạm vi bài nghiên cứu này chúng ta sẽ sẽ tìm hiểu các hình thức tấn công với tài khoản và mật khẩu truyền thống, hình thức phổ biến nhất hiện nay. Hình dưới minh họa cho các bước tấn công của một cuộc tấn công login Spoofing.

Click image for larger version. Name:	image001.jpg Views:	125 Size:	43.0 KB ID:	219

Các bước tấn công tài khoản quản trị

1.1. Bẻ khóa mật khẩu

Chúng ta sẽ xét riêng với phương pháp xác định người dùng có lâu đời nhất và cũng phổ biến nhất là xác nhận bằng mật khẩu ở dạng ký tự. Đối với một người dùng hệ thống thì chúng ta có thể thấy sẽ có những loại mật khẩu như sau:

  • Chỉ là chữ cái: abcdefg
  • Chỉ là số: 23698217
  • Chỉ là những ký tự đặc biệt: &*#@!(%)
  • Chữ cái và số: galaxy23
  • Chỉ là số và ký tự đặc biệt: 123@$45
  • Chữ cái ,số, và ký tự đặc biệt: ap1@52
  • Chữ cái và các ký tự đặc biệt: bob&ba

Các kĩ thuật hacker thường sử dụng để dò mật khẩu người dùng: 

Click image for larger version. Name:	image002.jpg Views:	124 Size:	68.5 KB ID:	220

Tấn công mật khẩu
  • Tấn công từ điển: Sử dụng một từ điển có sẵn để dò password.
  • Brute-Force: Thử tất cả các trường hợp có thể là password từ một tập các ký tự xác định.
  • Tấn công lai: Trường hợp này nhằm hạn chế thời gian sử dụng từ điển nếu như đã biết trước là trong password có đầu hoặc cuối là một số kí tự nào đó.
  • Tấn công theo âm tiết: Đã giới hạn được độ dài của password thì có thể kết hợp hai phương pháp Brute-Force và tấn công từ điển để cho kết quả tốt hơn.
  • Tấn công dựa trên quy tắc: Được sử dụng khi hacker có một số thông tin về password thì có thể có các điều chính phù hợp để rút ngắn thời gian dò mật khẩu bằng từ điển hay Brute-Force.

Ví dụ: Tấn công Brute-Force

Có thể kiểm tra 350.000 từ password của Microsoft trong mỗi giây ở máy 3-GHz Pentium 4.
Với password chỉ có 8 ký tự sẽ có 2.1011 trường hợp . Như vậy cần 600.000 giây hoặc 166 giờ để kiểm tra chúng. 

Tuy nhiên, tìm kiếm vét cạn giả định rằng mọi người đều chọn mật khẩu một cách ngẫu nhiên, nhưng thực tế thì thường không như vậy.

Attacker có thể dựa vào đó để tìm ra nhanh hơn nhiều. Nếu có một số thông tin về mật khẩu thì có thể sử dụng kết hợp nhiều phương pháp để cho hiệu quả tốt hơn.

Trong các hệ điều hành windows, nếu kẻ tấn công có khả năng tiếp cận máy nạn nhân thì chúng có khả năng tấn công mật khẩu dựa trên cơ chế của hệ điều hành. Đó là tìm mật khẩu trực tiếp trên hệ thống, trong Windows mật khẩu và tài khoản người dùng được lưu trong tập SAM trong thư mục “windows/system32/config”. Bình thường thì không thể truy cập được tập tin này, nhưng thông qua các đĩa Hirent boot thì hoàn toàn có thể mở chúng ta và phân tích.

1.2. Tấn công nâng quyền

Điều đầu tiên sau khi đã có được quyền đăng nhập vào hệ thống với một tài khoản nào đó, nhưng lại chưa có quyền thực thi cao nhất. Hacker sẽ tìm cách để có thể nâng quyền truy cập của mình hơn nữa. Một trong những cách phổ biến là tấn công vào tài khoản admin, hoặc các tiến trình chạy với quyền admin. Khi đó nếu hacker tấn công thành công thì chúng sẽ có thể khai thác dưới quyền cao nhất trong hệ thống. Với môi trường tấn công qua mạng thì sau đó cần phải mở các backdoor để lần sau hacker có thể dễ dàng truy cập lại vào máy nạn nhân.

Ví dụ: trong hệ điều hành Windows XP, có hình thức khai thác dựa trên một chương trình được tích hợp trong Windows: Khi người dùng nhần Shift 5 lần sẽ hiện ra StickyKey. 

Click image for larger version. 

Name:	image003.jpg 
Views:	117 
Size:	35.2 KB 
ID:	226

StickyKey


Chương trình này có đặc điểm có đặc điểm:

  • Nếu người dùng user1 đang đăng nhập mà thực hiện nhấn Shift 5 lần thì Windows sẽ lấy quyền của user1 để gọi StickyKey.
  • Nếu không đăng nhập mà nhấn Shift 5 lần thì Windows sẽ lấy quyền của hệ thống(system) để gọi StickyKey.


Đó chính là đặc điểm chúng ta có thể lợi dụng để khai thác. Các bước khai thác như sau:

Bước 1: Đăng nhập vào hệ thống với quyền người dùng bình thường

Bước 2: Thực hiện thay thế sethc.exe bằng cmd.exe. Thực hiện các câu lệnh như sau:

cd %systemroot%/system32
rename sethc.exe sethc.exe.bak
copy cmd.exe sethc.exe /y

Mục đích là sẽ đổi tên sethc trong thư mục Windows/system32 thành sethc.exe.bak, copy cmd.exe và lưu với tên sethc.exe

Bước 3: Khởi động lại máy, đến màn hình đăng nhập nhấn Shift 5 lần, nếu chương trình Command Prompt được gọi thay vì StickyKey thì đã thành công. Khi đó có thể thực hiện các câu lệnh dưới quyền hệ thống.

Click image for larger version. 

Name:	image004.jpg 
Views:	125 
Size:	23.3 KB 
ID:	222

Thay thế StickyKey bởi CMD


Với quyền hệ thống chúng ta có thể thực hiện mọi tác vụ mà không gặp trở ngại gì, chằng hạn tạo một tài khoản admin như sau: “net user [tên user] password 

Nếu muốn ẩn tài khoản này đi:

  • Vào register : [HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows NT\CurrentVersion\ Winlogon\ SpecialAccounts\UserList]
  • Tạo mới một DWORD


Như vậy, ta đã tạo tài khoản quản trị Administrator và ẩn 

Click image for larger version. Name:	image005.jpg Views:	123 Size:	64.8 KB ID:	223

Ví dụ tăng quyền

Các bước quá trình trên minh họa với việc nâng quyền người dùng trong hệ thống. Tuy nhiên, nếu một kẻ xấu bất kì có cơ hội tiếp xúc trực tiếp với máy tính nạn nhân thì họ có thể sử dụng đĩa Hirent Boot để thực hiện các thao tác thay thế sethc.exec bằng cmd.exe mà không cần phải đăng nhập vào hệ thống dưới bất kì tài khoản nào.

1.3. Thực thi mã độc

Sau khi đã tăng quyền hạn thành công, điều tiếp theo mà hacker sẽ thực hiện là thực thi các hành vi khai thác hệ thống. Khi đó, hacker có thể thực hiện các hành vi lấy cắp thông tin từ máy nạn nhân, chạy các mã độc trên hệ thống để tự động gửi thông tin từ người sử dụng cho hacker hoặc tạo ra các backdoor để có thể truy cập lại bất cứ khi nào. Cùng với sự phát triển của internet thì các loại mã độc được tạo ra ngày càng nhiều và tinh vi hơn, và mục tiêu được nhắm tới cũng có sự khác nhau. 

Thông thường, hiện nay các hành vi tấn công thường có mục đích cụ thể như: ngân hàng, cơ quan chính phủ … thì sẽ là thu thập tài liệu, thông tin cần thiết từ dữ liệu của hệ thống. Với các hành vi tấn công khác cũng nhắm đến thu thập thông tin, nhưng có khác là các dữ liệu cá nhân có liên quan đến các mục tiêu đặc biệt: ăn cắp thông tin tài khoản ngân hàng nếu nạn nhân thực hiện các giao dịch qua mạng trên máy bị cài mã độc, hoặc trao đổi thông tin với bên ngoài. Hoặc cũng có thể đơn giản tạo dựng các hệ thống botnet để tấn công DDoS.

Nói chung thì tùy thuộc vào mục đích của hacker mà chúng sẽ thực thi các hành vi khác nhau nên sẽ không có một hành vi chung, giống nhau trên tất cả máy tính khác nhau, hệ thống khác nhau.


2. Mã độc

Mã độc là các chương trình hoạt động nhằm chống lại hoặc gây tổn hại đến người dùng máy tính. Các chương trình này thường làm việc bí mật và người dùng thường không nhận ra sự hoạt động của chúng. Chúng có thể giới hạn quyền của người dùng tới mức tối đa. Tất cả mã độc đều được các hacker dùng cho mục đích riêng nào đó của họ. Đa số các loại mã độc sau khi xâm nhập thành công vào một máy tính hay hệ thống máy tính, hacker có thể thiết lập quyền điều khiển từ xa RATs (Remote Adminitration Tools).

Click image for larger version. Name:	image006.jpg Views:	126 Size:	69.3 KB ID:	224

Minh họa về mã độc

Hacker có thể lừa người dùng thực thi một chương trình được cho là an toàn, nhưng khi thực thi chúng thì cũng đồng thời thực hiện những chương trình độc hại mà nạn nhân không hề nhận ra. Rất nhiều Virus, Worm được lây lan và phát tán theo cách này. Hình thức này chủ yếu là các phần mềm giả mạo một cách tinh vi, hoặc các phần mềm được hacker tung ra dưới hình thức crack có đính kèm mã độc.

Cách thức thực hiện của hacker thì rất nhiều con đường: theo hình thức truyền thống thì các mã độc được phát tán thông qua các thiết bị lưu trữ di động như USB, ổ cứng di động. Đây là hình thức phát tán có từ lâu đời và hiện nay vẫn còn phổ biến, các mã độc sẽ được lây lan qua các máy tính khác nhau nếu như tiếp xúc với thiết bị di động đã bị nhiễm, và máy tính lại không có các biện pháp nhận diện và ngăn chặn chúng thực thi một cách tự động. 

Hiện nay cùng với sự bùng nổ của internet thì việc phát tán mã độc được có một con đường hiệu quả hơn rất nhiều, đó là phát tán qua môi trường internet: việc phát tán có thể là một đường link được gửi cho nạn nhân qua mail, các dịch vụ chat, hoặc dưới dạng các phần mềm crack đã được hacker tạo ra. Khi nạn nhân chỉ vô tình, hoặc có sự tin tưởng mà thực thi link đó, hoặc phần mềm đó thì máy tính của họ đã bị nhiễm mã độc. Đa số, cách này đều lợi dụng vào sự tin tưởng của người dùng trong thực thi các phần mềm mà họ cho là an toàn. 

3. Race Condition

Race Condition (tình trạng tương tranh) là một hình thức khai thác được sử dụng trong các hệ điều hành đa nhiệm hiện nay. Race Condition xảy ra trong giữa khoảng thời gian kiểm tra và thời gian sử dụng. Tức là sau khoảng thời gian kiểm tra thì dữ liệu bị thay đổi làm mất hiệu lực các kết quả kiểm tra, dẫn tới có sự sử dụng những dữ liệu không hợp lệ.

Nguy cơ:

  • Access control (kiểm soát truy cập): Kẻ tấn công có thể truy cập đến các tài nguyên không được phép
  • Authorization (ủy quyền): Race Condition có thể được sử dụng để đạt được quyền đọc và ghi vào các nguồn tài nguyên mà bình thường không thể đọc hay ghi với quyền thông thường.
  • Integrity (tính toàn vẹn): Các nguồn tài nguyên có thể bị thay đổi theo những cách không mong muốn bởi kẻ tấn công.
  • Accountability (trách nhiệm): Nếu một tập tin hoặc tài nguyên khác được ghi theo phương pháp này, một cách không hợp lệ thì có thể không có log của hoạt động này.
  • Non-repudiation (không thoái thác): Trong một số trường hợp, nó có thể xóa các tập tin mà kẻ tấn công không có quyền truy cập tới chẳng hạn như các tập tin liên quan tới log.

Một ví dụ kinh điển của một cuộc tấn công Race Condition là trong quá trình đăng nhập của các hệ điều hành UNIX cũ. Khi một quá trình đăng nhập mới được tạo ra, tồn tại một khoảng thời gian ngắn khi quá trình mới đã được chạy ở mức chế độ ưu tiên (hạt nhật hoặc root) và chưa được chuyển sang chế độ người dùng bình thường. Nếu người sử dụng liên tục nhấn vào phím thoát khi đăng nhập, có một khả năng nhỏ rằng sự thay đổi từ root cho phép người người sử dụng có thể truy cập vào toàn bộ hệ thống. Điều này phụ thuộc vào việc xử lý phím thoát xảy ra trước khi hoặc sau khi chuyển sang chế độ người dùng bình thường.

4. Lỗ hổng phần mềm 

Đây là một hình thức tấn công phổ biến và nhằm tới số lượng lớn người dùng. Đặc điểm là hacker cần phải có trình độ nhất định về các khai thác lổ hổng, đồng thời với đó là phải có được lỗ hổng để khai thác, dạng như 0-day. Nói là “dạng như” bởi vì còn nhiều hình thức tấn công khác dựa trên những lỗi đã được fix bởi nhà cung cấp nhưng có thể victim chưa cập nhật. Và để thức tấn công hacker thường gửi các file thực thi, hoặc các đường link có chứa mã độc thông qua các hình thức như email hoặc chat đến người quản trị. Nếu họ cho phép thực thi hay nhấp chuột vào các đường link đó thì việc khai thác theo kịch bản của hacker sẽ được thực hiện.
Đặc điểm:

  • Thông qua các khai thác dựa trên lỗ hổng của hệ điều hành hoặc bên thứ 3 thì người dùng rất khó phát hiện. Dựa vào lỗ hổng này thì hacker có thể cài đặt lên máy người dùng bất kể loại hình malware nào. Nếu là mục tiêu cụ thể thì có thể sau đó malware sẽ mở backdoor, các keylogger, rootkit… để khai thác thông tin trên máy nạn nhân.
  • Các lỗ hổng thường xuất hiện trong các hệ thống quản lý của hệ điều hành. Thường thì đó là quản lý bộ nhớ. Nó liên quan đến các cách cấp phát bộ nhớ của các ứng dụng mà sau đó sẽ phát sinh ra lỗi, tận dụng lỗi này thì hacker có các hình thức khai thác khác nhau: Buffer over flow, Integer over flow, use after free…
  • Khi khai thác dựa trên lỗ hổng dạng này thì hacker dễ dàng khai thác ở quyền của người dùng hoặc cao hơn.

5. Che dấu vết tích

Khi hacker đã xâm nhập thành công vào hệ thống, điều được quan tâm thứ yếu sau khi khai thác thông tin là làm sao cho không bị phát hiện. Che dấu đi tất cả những hành vi mà hacker đã thực hiện, đồng thời cả việc đã cài đặt bất kì một chương trình độc hại nào đó, đặc biệt là backdoor để hắn có thể trở lại thâm nhập hệ thống bất kì khi nào. Khi đó cần xóa tất cả những dịch vụ đã sử dụng gần đây, xóa cookie, xóa bộ nhớ cache,tắt auto complete…

Trong hệ điều hành Windows XP: Click chuột phải lên Properties ==> Start ==> menu==> Customize ==> Advance ==> Clear list và bỏ check “list my most recently opened documents” . Từ Registry: HKCU\Software\Microsoft\Windows\CurentVersion\Expl orer và xóa key “Recent Docs”.

Trong hệ điều hành Windows hacker khi vào được hệ thống sẽ lập tức tắt tính năng auditing, một tính năng ghi log của hệ thống.

III. Các phương pháp bảo vệ an toàn

1. Bảo vệ mật khẩu 

Chọn mật khẩu mạnh: có độ dài ít nhất 8 ký tự, pha trộn giữa các chữ cái, số, và các ký tự đặc biệt, chọn chữ hoa chữ thường. Tránh sử dụng các cụm từ phổ biến (ví dụ:một câu slogan nào đó). Để tránh dễ bị đoán biết hoặc tấn công dò password.

Có thể làm cho cuộc tấn công khó khăn hơn bằng cách sử dụng thêm số và các ký tự đặc biệt vào trong mật khẩu. 

Không nên sử dụng một mật khẩu cho nhiều tiện ích. Thường xuyên thay đổi mật khẩu, không sử dụng lại những mật khẩu đã từng sử dụng. Sử dụng các khoảng trắng cho mật khẩu.

Sử dụng các thiết bị máy tính có nhiều hình thức xác thực khác nhau: xác nhận dấu vân tay (fingerprint) hoặc xác nhận võng mạc … bên cạnh hình thức xác thực mật khẩu thông thường.

2. Ngăn ngừa mã độc

Một câu hỏi được đặt ra là hệ điều hành hiện nay đã làm gì để hỗ trợ người dùng tránh các cuộc tấn công kiểu này. Hiện nay, trong đa số các hệ điều hành đều đã cung cấp một giải pháp đó là Sanboxes – Cung cấp một môi trường mà ở đó các chương trình có thể được thực thi, nhưng lại không gây ảnh hưởng tới hệ thống. Nếu người dùng khi thực thi thấy an toàn thì có thể cho chạy một cách bình thường. Nếu có bất kì vấn đề gì không như ý muốn có thể kết thúc nó một cách an toàn, mà không gây nguy hại cho máy tính.

Một cách hiệu quả hơn nữa là người dùng có thể thực thi các ứng dụng trên một máy khác hoặc trong máy ảo để kiểm nghiệm tính hiệu quả của chương trình trước khi chạy trên máy thật.

Hoặc đơn giản hơn nữa, mọi chương trình thực thi đều cần được thực thi dưới quyền root. Khi đó, nếu một chương trình bình thường có những dấu hiệu can thiệp sâu vào hệ thống sẽ dễ dàng bị phát hiện và ngăn chặn. Chẳng hạn, chương trình cố gắng ghi vào các thanh ghi… mà chương trình đó không hề cần can thiệp vào thanh ghi thì chúng ta cũng có thể chặn không cho chúng thực hiện. Tron Windows Vista trở đi chúng ta có thể bật UAC (User Account Control), khi một chương trình có can thiệp sâu vào hệ thống, thì sẽ được hệ điều hành đưa ra các cảnh báo.

3. Ngăn ngừa Racing Conditions

Để an toàn thì hệ điều hành phải cung cấp (và các ứng dụng phải dùng) các hoạt động đồng bộ tinh vi để mở file, hoặc thực thi ứng dụng nhằm ngăn ngừa các hoạt động khác có thể xen vào giữa hai quá trình liên tiếp.

4. Ngăn ngừa sự thực thi của các chương trình độc hại lợi dụng các lỗ hổng phần mềm

Do sự khai thác chủ yếu được dựa trên các lỗi 0-day của các phần mềm hoặc các lỗ hổng chưa cập nhật các bản vá từ nhà phát triển, hoặc hệ điều hành nên người dùng khó có thể phòng tránh một cách chủ động hoàn toàn. Nhưng cũng không có nghĩa là bỏ mặc, người dùng cần phải sử dụng các phần mềm có đầy đủ bản quyền để nhận được sự hỗ trợ khi có lỗi xảy ra và thường xuyên cập nhật các bản vá mới nhất của nhà cung cấp. 

5. Các biện pháp chung

Hiện nay với sự bùng nổ mạnh mẽ của internet và sự phổ biến trong ứng dụng công nghệ thông tin, mà hệ điều hành là môi trường để người dùng có thể dễ dàng tương tác với máy tính thì vấn đề bảo mật ngày càng được quan tâm. Các nhà phát triển hệ điều hành và nhà phát triển phần cứng ngày càng có nhiều sự hợp tác hơn trong vấn đề bảo mật. Chẳng hạn, trong các hệ điều hành Windows XP trở đi với chip Intel hoặc AMD có sự hỗ trợ của phần cứng đã có cơ chế /GS cookie và DEP (Data Excution Prevention) để ngăn ngừa các khai thác dựa trên lỗi BOF của phần mềm. Các hệ điều hành cũng có nhiều cải tiến quan trọng trong bảo mật, như trong Mac OS và Windows đã có cơ chế ASLR (Address Space Layout Randomization). 

Tuy nhiên, bất kỳ một phần mềm nào hay hệ điều hành nào thì cũng có những tồn tại riêng của nó. Để đảm bảo an toàn hơn thì người dùng nên trang bị cho mình những phần mềm diệt Virus hiệu quả, những chương trình Anti keylooger … Và cần trang bị cho mình những kiến thức cơ bản để có thể cảnh giác trước những cuộc tấn công ngày càng tăng theo thời gian.

Đối với các hệ thống máy chủ thì nên thực hiện việc quản trị server đó dưới quyền của một user thông thường của hệ điều hành. Không nên đặt dưới quyền admin, vì nếu có thể bị tấn công thì hacker cũng không thể thực hiện tất cả các hành vi, cũng như kiểm soát hoàn toàn máy máy chủ, như vậy sẽ hạn chế rất nhiều những thiệt hại.

Cũng đối với hệ thống máy chủ, để an toàn cần được đặt trong không gian có cách ly vật lý đối với mọi người. Chỉ những người có thẩm quyền mới được phép tiếp xúc với hệ thống. Nếu ai cũng tiếp cận với hệ thống dễ dàng thì có nhiều nguy cơ khai thác trực tiếp: dò password, cố gắng thực hiện hành vi nào đó không được phép.

IV. Tài liệu tham khảo

 

Nguồn: http://forum.whitehat.vn/threads/4805-Nghien-cuu-phan-tich-danh-gia-cac-nguy-co-ve-an-ninh-thong-tin-he-dieu-hanh.html

Ý kiến của bạn

Mã bảo vệ
Làm mới

Hãy đăng quảng cáo trên TuHocAnNinhMang.com

Bài xem nhiều nhất

Tự học lập trình C - Bài 1: Một số khái niệm cơ bản

Khái niệm tên rất quan trọng trong quá trình lập trình, ...

Tự học lập trình JAVA – Bài 1: Bước đầu với Java

Một chương trình java có thể được định nghĩa như là một ...

Tự học lập trình C - Bài 10: Mảng một chiều

Mảng 1 chiều là tập hợp các phần tử có cùng kiểu dữ ...

MySQL – Bài 8: Khóa chính (primary key) và khóa ngoại (foreign key) của table

Với ràng buộc này thì, việc người sử dụng vô tình hay cố ...

Hướng dẫn in ấn trong Word 2007/2010 – Step by Step

[Tự học] - Tiêu đề đầu trang (Header)/tiêu đề cuối ...

Tự học lập trình C - Bài 2: Cấu trúc chương trình C

Một chương trình bao gồm một hoặc nhiều hàm, mỗi hàm ...

Tự học lập trình Assembly - Bài 1: Bước đầu với lập trình Assembly trên vi xử lý Intel 8086/8088

Như đã biết, lệnh ngôn ngữ máy là một dãy các con số 0, ...

Hãy đăng quảng cáo trên TuHocAnNinhMang.com

Về đầu trang Hỏi - Đáp