Khai thác (an ninh máy tính)
Bài viết này cần thêm liên kết tới các bài bách khoa khác để trở thành một phần của bách khoa toàn thư trực tuyến Wikipedia. (tháng 7 2018) |
Trong lĩnh vực kiểm soát mạng, sự khai thác (tiếng Anh: exploit,[1] từ động từ có nghĩa là "sử dụng một cái gì đó để một của lợi thế riêng") là một phần của phần mềm, một đoạn dữ liệu hoặc một chuỗi các câu lệnh lợi dụng một lỗi hệ thống (bug) hoặc lỗ hổng bảo mật để thực hiện các hành vi ngoài ý muốn hoặc không lường trước được xảy ra trên các phần mềm hoặc phần cứng của máy tính hoặc các thiết bị điện tử (thường được vi tính hóa). Các hành vi đó thường bao gồm việc chiếm quyền kiểm soát hệ thống máy tính, từ đó sẽ chiếm thêm các đặc quyền khác từ người quản trị hệ thống hoặc để thực hiện các cuộc tấn công từ chối dịch vụ (DDOS).
Phân loại
[sửa | sửa mã nguồn]Có nhiều các để phân loại các exploit. Các phổ biến nhất là dựa trên cách exploit giao tiếp với lỗ hổng bảo mật của phần mềm:
- Một remote exploit[2] (exploit từ xa) sẽ tương tác với hệ thống thông qua mạng (network) để từ đó khai thác các lỗ hổng bảo mật của hệ thống mà không cần tiếp xúc với lỗ hổng bảo mật trước đó.
- Một local exploit[3] yêu cầu phải có truy cập/tiếp xúc trước đó với lổ hổng hệ thống và thường sau đó người khai thác local exploit sẽ có thể nâng cao đặc quyền truy cập từ người quản trị hệ thống. Khai thác đối với các ứng dụng client cũng tồn tại, thường bao gồm các máy chủ được sửa đổi gửi một exploit nếu được truy cập bằng ứng dụng client.
- Khai thác đối với các ứng dụng client cũng có thể yêu cầu một số tương tác với người dùng và do đó có thể được sử dụng kết hợp với phương pháp kỹ thuật xã hội. Một phân loại khác là bằng hành động chống lại hệ thống dễ bị tổn thương; truy cập dữ liệu trái phép, thực thi mã tùy ý và từ chối dịch vụ là những ví dụ.
- Nhiều exploits được thiết kế để cung cấp quyền truy cập "người dùng cao nhất" (superuser-level access) trong một hệ thống máy tính. Tuy nhiên, việc chiếm quyền truy cập người dùng cao nhất cũng có thể thực hiện thông qua nhiều exploits khác nhau để có các quyền truy cập người dùng khác nhau, để tăng dần quyền sử dụng cho đến khi đạt quyền cao nhất như cấp độ người dùng quản trị (administrative level hay còn gọi là root).[4]
- Sau khi exploit được thông báo cho nhà phát triển phần mềm, các exploit hay lổ hổng (vulnerability) sẽ thường được khắc phục bởi các bản vá lỗi (patch), khi đó exploit sẽ bị vô hiệu hóa. Đây chính là lí do mà các hacker mũ đen, hay các doanh nghiêp cung cấp phần mềm có liên hệ chính phủ, quân đội, hay các cơ quan tình báo thường không công bố exploit như là 1 cách để họ có thể theo dõi và khai thác thông tin người dùng.
- Exploits mọi người không biết nhưng nhiều người tìm thấy và phát triển chúng được gọi là zero day exploits.
Phân loại khác
[sửa | sửa mã nguồn]Exploit được phân loại và đặt tên[5][6] theo dạng của lổ hổng bảo mật bị khai thác dù chúng có thể là remote hay local exploit, hoặc việc phân loại, đặt tên có thể dựa trên kết quả của quá trình sử dụng exploit, như EoP (Elevation of Privilege), DoS, spoofing.
Pivoting
[sửa | sửa mã nguồn]Pivoting đề cập đến một phương pháp được sử dụng bởi những người kiểm tra thâm nhập sử dụng hệ thống bị xâm nhập để tấn công các hệ thống khác trên cùng một mạng để tránh các hạn chế như cấu hình tường lửa, có thể cấm truy cập trực tiếp vào tất cả các máy. Ví dụ: nếu kẻ tấn công xâm phạm máy chủ web trên mạng công ty, thì kẻ tấn công có thể sử dụng máy chủ web bị xâm nhập để tấn công các hệ thống khác trên mạng. Những kiểu tấn công này thường được gọi là tấn công nhiều lớp. Pivoting còn được gọi là island hopping.
Pivoting có thể được phân biệt thành proxy pivoting và VPN pivoting. Proxy pivoting thường mô tả thực tiễn lưu lượng truy cập kênh thông qua mục tiêu bị xâm nhập bằng cách sử dụng tải trọng proxy trên máy và khởi chạy các cuộc tấn công từ máy tính.[7] Kiểu pivoting này được giới hạn ở một số cổng TCP và UDP nhất định được proxy hỗ trợ.
VPN pivoting cho phép kẻ tấn công tạo một lớp được mã hóa để xâm nhập vào máy bị xâm nhập để định tuyến bất kỳ lưu lượng mạng nào qua máy mục tiêu đó, ví dụ, để quét lỗ hổng trên mạng bên trong thông qua máy bị xâm nhập, cho phép kẻ tấn công truy cập mạng đầy đủ như thể họ đứng sau tường lửa.
Thông thường, các ứng dụng proxy hoặc VPN cho phép pivoting được thực thi trên máy tính đích dưới payload (máy tính) của một exploit.
Pivoting thường được thực hiện bằng cách xâm nhập vào một phần của cơ sở hạ tầng mạng (ví dụ: máy in hoặc bộ điều chỉnh nhiệt dễ bị tổn thương) và sử dụng máy quét để tìm các thiết bị khác được kết nối để tấn công chúng. Bằng cách tấn công một phần dễ bị tổn thương của mạng, kẻ tấn công có thể lây nhiễm hầu hết hoặc toàn bộ mạng và giành quyền kiểm soát hoàn toàn.
Xem thêm
[sửa | sửa mã nguồn]- An ninh mạng
- Virus máy tính
- Crimeware
- Exploit kit
- Hacking: The Art of Exploitation (second edition)
- IT risk
- Metasploit
- Shellcode
- w3af
- Sqlmap
Chú thích
[sửa | sửa mã nguồn]- ^ “What is computer exploit ?”.
- ^ “Remote Exploits - Exploit Database”. www.exploit-db.com. Bản gốc lưu trữ ngày 9 tháng 10 năm 2018. Truy cập ngày 1 tháng 7 năm 2018.
- ^ “Privilege Escalation and Local Exploits - Exploit Database”. www.exploit-db.com. Bản gốc lưu trữ ngày 30 tháng 10 năm 2018. Truy cập ngày 30 tháng 10 năm 2018.
- ^ “Local and Privilege Escalation Exploits”. Bản gốc lưu trữ ngày 30 tháng 10 năm 2018. Truy cập ngày 30 tháng 10 năm 2018.
- ^ “Exploits Database by Offensive Security”. www.exploit-db.com.
- ^ “Exploit Database | Rapid7”. www.rapid7.com.
- ^ “Metasploit Basics – Part 3: Pivoting and Interfaces”. Digital Bond.
Liên kết ngoài
[sửa | sửa mã nguồn]- Tư liệu liên quan tới Computer security exploits tại Wikimedia Commons