banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận bảo mật Nhận biết back-door của ứng dụng web  XML
  [Discussion]   Nhận biết back-door của ứng dụng web 11/06/2011 15:39:42 (+0700) | #31 | 240329
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Tớ theo dõi chủ đề này và đã gần 30 bài thảo luận nhưng vẫn chưa thấy có ai đề cập đến khía cạnh nền tảng để ngăn chặn "back door".

Bất cứ một "back door" nào cũng cần có cơ chế truy cập đến nó và truy cập từ nó. Nói cụ thể hơn, một php dùng làm back door chẳng hạn có hai phía connections:
1. Từ trình duyệt của tin tặc đến php đó (client đến cổng 80/443 của dịch vụ web):
Trình duyệt:12345 ---> web server:80

2. Từ php đó (sau khi đã biến thành con php shell) ra ngoài để download, upload hoặc include một thứ gì khác (từ máy chủ của dịch vụ web đến một trang web hoặc một máy chủ khác).
web server:23456 ---> web server khác:80


Trong trường hợp thứ nhất, việc ngăn cản truy cập đến abc.php nào đó nếu biết trước thì không khó nhưng nếu đó là một file do tin tặc upload lên có một tên ngẫu nhiên hoặc thậm chí ẩn trong một file khác thì cực kỳ khó cản lọc. Đây là việc làm đòi hỏi sắp xếp và phòng chống trước khi xảy ra tình trạng bị upload "shell".

Trong trường hợp thứ nhì, việc ngăn cản máy chủ cung cấp dịch vụ web truy cập đến một trang web nào khác là việc cực kỳ đơn giản (nếu máy chủ có hệ thống tường lửa). Ví dụ, nếu dùng Linux và iptables thì 1 luật:
iptables -A OUTPUT -s <myip> -p tcp --SYN -d any/0 -j DROP
là xong. Máy chủ cung cấp dịch vụ web này không có cách nào tạo ra SYN để truy cập đến một trang khác. Bởi vậy, các phương pháp "INCLUDE" một file nào đó nằm ở một host khác là chuyện không thể xảy ra. Nếu như đụng đến việc "INCLUDE" một file nào khác trên cùng máy chủ và cũng "bị" upload cùng với "shell" thì biện pháp hoàn toàn khác (và hoàn toàn phụ thuộc vào việc sắp xếp và phòng chống ngay từ đầu).
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Discussion]   Nhận biết back-door của ứng dụng web 11/06/2011 15:51:25 (+0700) | #32 | 240331
[Avatar]
chiro8x
Member

[Minus]    0    [Plus]
Joined: 26/09/2010 00:38:37
Messages: 661
Location: /home/chiro8x
Offline
[Profile] [PM] [Yahoo!]

chiro8x wrote:

FaL wrote:
Cám ơn đóng góp của protectHat, anh tranhuuphuoc và xnohat,
Đến đây Fal tổng hợp lại ý kiến của mọi người như sau:

1. quét virus toàn bộ source code nghi ngờ;

2. cài đặt, kiểm tra kỹ db xem có gì lạ, khả nghi hay không;

3. chạy thử nghiệm xem có request nào lạ ra bên ngoài không;

4. config server để chống bypass, LFI;

5. debug code.

Quả thật công tác kiện toàn bảo mật cho web-application không thể tách rời việc kiện toàn bảo mật của server. Những bước 1, 2, 3 thực hiện không khó, nhưng đến bước thứ 4 cần phải có kiến thức tốt về hệ thống mới có thể thực hiện được, bước thứ 5 đòi hỏi trình độ code khá cao mới có thể thực hiện được. 2 bước cuối có vẻ ngắn gọn nhưng chứa đựng trong đó quá nhiều công việc.

Đáng tiếc là hiện nay việc kiện toàn bảo mật chưa được quan tâm đúng mức, người dùng nói chung sẵn sàng tắt antivirus để chạy crack một phần mềm nào đó. Coder sẵn sàng download source code lạ trong khi không đủ khả năng để debug.
 

Việc làm trên dường như quá mất công sức và tốn kém. Theo em cách đơn giản nhất là dùng chương trình bắt gói tin để tóm các gói tin sử dụng phương thức TCP/IP của máy chúng ta khi nó kết nối với máy tính khác, và điều tra từ đó. Đôi lúc backdoor còn được chèn vào database và được "lôi ra" bằng eval (PHP) nên, với lại các đoạn mã phần lớn được ecrypt dưới dạng base64 hoặc nhiều dạng khác tự chế cũng khá phong phú làm các antivirus bó tay.

Giải pháp có lẽ là disable các hàm PHP không cần thiết và có thể tác động tới hệ thống, bắt các truy vấn gửi đi từ máy mình. Cố gắng khoanh vùng. Loại bỏ các table nghi vấn chứa backdoor trong database. Còn debug source chắc là thuê người làm thôi ^^! vì nhiều quá một mình làm không hết smilie


Vấn đề mà anh comale nói có đề cập đến rồi ! nhưng chưa được chi tiết và tỉ mĩ như anh conmale trình bày. Tiện đây cho em hỏi nếu người xâm nhập sử dụng socket stream để lẫy mã nguồn backdoor được mã hoá từ nơi khác smilie chứ không chỉ gói gọn giao thức HTTP hay giao thức TCP/IP (có thể là UDP).
while(1){}
[Up] [Print Copy]
  [Discussion]   Nhận biết back-door của ứng dụng web 11/06/2011 16:10:28 (+0700) | #33 | 240334
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

chiro8x wrote:


Vấn đề mà anh comale nói có đề cập đến rồi ! nhưng chưa được chi tiết và tỉ mĩ như anh conmale trình bày. Tiện đây cho em hỏi nếu người xâm nhập sử dụng socket stream để lẫy mã nguồn backdoor được mã hoá từ nơi khác smilie chứ không chỉ gói gọn giao thức HTTP hay giao thức TCP/IP (có thể là UDP). 


Khi nói đến socket thì tất cả những gì trong TCP/IP đều có thể cản được. Nói tóm lại, không cho phép bất cứ connection nào được khởi tạo từ máy chủ cung cấp dịch vụ. Máy chủ cung cấp dịch vụ chỉ trả lời cho truy cập chớ không tạo truy cập.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Discussion]   Nhận biết back-door của ứng dụng web 11/06/2011 16:32:56 (+0700) | #34 | 240336
[Avatar]
chiro8x
Member

[Minus]    0    [Plus]
Joined: 26/09/2010 00:38:37
Messages: 661
Location: /home/chiro8x
Offline
[Profile] [PM] [Yahoo!]
Không phải em muốn xoáy người khác đâu, nhưng khi tranh luận một vấn đề thú vị như thế này khó mà ngừng lại được. Còn một vấn đề anh chưa đề cập tới là các kết nối UDP với kết nối UDP thì không có các flag như TCP. Và việc phân biệt ai kết nối tới ai cũng không được vì đây là kết nổi kiểu P-2-P. Vậy em xin hỏi một socket stream sử dụng UDP để lấy backdoor thì ngăn chặn thế nào. Việc ngăn chặn đó có ảnh hưởng tới các service được các server khác cung cấp như DNS và DHCP... hay không smilie.

@conmale: Em cảm ơn phần giải đáp thoả đáng của anh trước đó.
while(1){}
[Up] [Print Copy]
  [Discussion]   Nhận biết back-door của ứng dụng web 11/06/2011 17:06:54 (+0700) | #35 | 240338
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

chiro8x wrote:
Không phải em muốn xoáy người khác đâu, nhưng khi tranh luận một vấn đề thú vị như thế này khó mà ngừng lại được. Còn một vấn đề anh chưa đề cập tới là các kết nối UDP với kết nối UDP thì không có các flag như TCP. Và việc phân biệt ai kết nối tới ai cũng không được vì đây là kết nổi kiểu P-2-P. Vậy em xin hỏi một socket stream sử dụng UDP để lấy backdoor thì ngăn chặn thế nào. Việc ngăn chặn đó có ảnh hưởng tới các service được các server khác cung cấp như DNS và DHCP... hay không smilie.

@conmale: Em cảm ơn phần giải đáp thoả đáng của anh trước đó. 


Một socket stream nào đó cũng không vượt quá những ấn định của IPv4 hoặc IPv6. Tùy loại tường lửa mình có thể cản từng protocol hoặc tất cả các protocols. P2P hay cái gì đi chăng nữa vẫn không nằm ngòai TCP hoặc UDP. Ngay cả việc tạo tunnel xuyên qua ICMP đi chăng nữa cũng vẫn có thể bị cản một cách dễ dàng. Nói tóm lại: không cho phép bất cứ connection nào được khởi tạo từ máy chủ cung cấp dịch vụ.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Discussion]   Nhận biết back-door của ứng dụng web 11/06/2011 21:20:41 (+0700) | #36 | 240363
maibangcomp
Member

[Minus]    0    [Plus]
Joined: 23/07/2009 01:57:55
Messages: 10
Offline
[Profile] [PM]

conmale wrote:

iptables -A OUTPUT -s <myip> -p tcp --SYN -d any/0 -j DROP
 

Hay quá, tiếc là ko có nút thanks. Nhưng còn với OS windows thì dùng firewall loại nào vậy anh?
[Up] [Print Copy]
  [Discussion]   Nhận biết back-door của ứng dụng web 15/12/2011 10:24:02 (+0700) | #37 | 251125
[Avatar]
vanphuong022
Member

[Minus]    0    [Plus]
Joined: 14/01/2007 11:50:09
Messages: 10
Offline
[Profile] [PM] [Email] [Yahoo!]
Site mình (sử dụng joomla) vừa bị một con back-door kid.php, vì nó đặt tên lạ và đặt ở ngoài root nên nhìn là biết ngay. Lỡ như nó đổi tên giống với các file trong hệ thống (như: error.php hay log_nt.php) và đặt trong một góc nào đó thì cũng khó mà tìm ra.

Nó sử dụng base64_decode(), vậy nếu chúng ta dùng cách search chuỗi "base64_decode" thì cũng có thể lọc được một số back-door dạng này, cách này thì ở trên đã có rồi, ngoài ra nó còn dùng gzinflate().

Vậy các bạn có thể search thêm chuỗi "gzinflate" trong source code để tìm kiếm back-door được hiệu quả hơn.

PS: có ai từng gặp backdoor kid.php này chưa vậy ? Trong source code có dòng chữ "Developed by [K]id" đó
[Up] [Print Copy]
  [Discussion]   Nhận biết back-door của ứng dụng web 19/12/2011 09:41:12 (+0700) | #38 | 251275
thientm
Member

[Minus]    0    [Plus]
Joined: 25/07/2011 23:31:46
Messages: 80
Offline
[Profile] [PM]

vanphuong022 wrote:
Site mình (sử dụng joomla) vừa bị một con back-door kid.php, vì nó đặt tên lạ và đặt ở ngoài root nên nhìn là biết ngay. Lỡ như nó đổi tên giống với các file trong hệ thống (như: error.php hay log_nt.php) và đặt trong một góc nào đó thì cũng khó mà tìm ra.

Nó sử dụng base64_decode(), vậy nếu chúng ta dùng cách search chuỗi "base64_decode" thì cũng có thể lọc được một số back-door dạng này, cách này thì ở trên đã có rồi, ngoài ra nó còn dùng gzinflate().

Vậy các bạn có thể search thêm chuỗi "gzinflate" trong source code để tìm kiếm back-door được hiệu quả hơn.

PS: có ai từng gặp backdoor kid.php này chưa vậy ? Trong source code có dòng chữ "Developed by [K]id" đó 

vấn đề này đã nói ở trên, đọc kĩ lại đi bạn. cái đoạn mà search http ấy có thể bypass bằng "h"."t"."t"."p" đó

ở đây có thể sẽ là "b"."a"."s"."e"."6"."4" ... chẳng hạn :D
[Up] [Print Copy]
  [Discussion]   Nhận biết back-door của ứng dụng web 21/12/2011 15:37:36 (+0700) | #39 | 251390
FaL
Moderator

Joined: 14/04/2006 09:31:18
Messages: 1232
Offline
[Profile] [PM]

conmale wrote:
Tớ theo dõi chủ đề này và đã gần 30 bài thảo luận nhưng vẫn chưa thấy có ai đề cập đến khía cạnh nền tảng để ngăn chặn "back door".

Bất cứ một "back door" nào cũng cần có cơ chế truy cập đến nó và truy cập từ nó. Nói cụ thể hơn, một php dùng làm back door chẳng hạn có hai phía connections:
1. Từ trình duyệt của tin tặc đến php đó (client đến cổng 80/443 của dịch vụ web):
Trình duyệt:12345 ---> web server:80

2. Từ php đó (sau khi đã biến thành con php shell) ra ngoài để download, upload hoặc include một thứ gì khác (từ máy chủ của dịch vụ web đến một trang web hoặc một máy chủ khác).
web server:23456 ---> web server khác:80


Trong trường hợp thứ nhất, việc ngăn cản truy cập đến abc.php nào đó nếu biết trước thì không khó nhưng nếu đó là một file do tin tặc upload lên có một tên ngẫu nhiên hoặc thậm chí ẩn trong một file khác thì cực kỳ khó cản lọc. Đây là việc làm đòi hỏi sắp xếp và phòng chống trước khi xảy ra tình trạng bị upload "shell".

Trong trường hợp thứ nhì, việc ngăn cản máy chủ cung cấp dịch vụ web truy cập đến một trang web nào khác là việc cực kỳ đơn giản (nếu máy chủ có hệ thống tường lửa). Ví dụ, nếu dùng Linux và iptables thì 1 luật:
iptables -A OUTPUT -s <myip> -p tcp --SYN -d any/0 -j DROP
là xong. Máy chủ cung cấp dịch vụ web này không có cách nào tạo ra SYN để truy cập đến một trang khác. Bởi vậy, các phương pháp "INCLUDE" một file nào đó nằm ở một host khác là chuyện không thể xảy ra. Nếu như đụng đến việc "INCLUDE" một file nào khác trên cùng máy chủ và cũng "bị" upload cùng với "shell" thì biện pháp hoàn toàn khác (và hoàn toàn phụ thuộc vào việc sắp xếp và phòng chống ngay từ đầu).
 


Giải pháp của anh conmale rất hữu ích nếu mình làm chủ được máy chủ web, nhưng nếu trong trường hợp dùng shared host có lẽ không khả thi.

Theo mình có 2 trường hợp cho backdoor hoạt động:
1. (Tạm gọi là) Active:
- Client truy cập vào website, giúp đoạn code backdoor hoạt động, gửi thông tin về một máy chủ khác.

2. (Tạm gọi là) Passive:
- Hacker ghé thăm 2 website, kiểm tra xem website đó có bị "dính" backdoor của anh ta hay không? Sau đó thao tác gọi backdoor.

Với trường hợp 1, việc kiểm tra những request xuất phát từ webserver ra ngoài là việc cần thiết và hiệu quả.
Với trường hợp 2, kiểm tra mã nguồn khó khăn hơn rất nhiều. Có thể quét bằng antivirus nhưng bản thân Fal cũng chưa tìm hiểu xem các antivirus sẽ quét những gì trong mã nguồn để phát hiện backdoor, mức độ tin tưởng đến đâu?
Hãy giữ một trái tim nóng và một cái đầu lạnh
[Up] [Print Copy]
  [Discussion]   Nhận biết back-door của ứng dụng web 22/12/2011 01:23:31 (+0700) | #40 | 251408
mrro
Administrator

Joined: 27/12/2001 05:07:00
Messages: 745
Offline
[Profile] [PM]

FaL wrote:

Giải pháp của anh conmale rất hữu ích nếu mình làm chủ được máy chủ web, nhưng nếu trong trường hợp dùng shared host có lẽ không khả thi.

Theo mình có 2 trường hợp cho backdoor hoạt động:
1. (Tạm gọi là) Active:
- Client truy cập vào website, giúp đoạn code backdoor hoạt động, gửi thông tin về một máy chủ khác.

2. (Tạm gọi là) Passive:
- Hacker ghé thăm 2 website, kiểm tra xem website đó có bị "dính" backdoor của anh ta hay không? Sau đó thao tác gọi backdoor.

Với trường hợp 1, việc kiểm tra những request xuất phát từ webserver ra ngoài là việc cần thiết và hiệu quả.

Với trường hợp 2, kiểm tra mã nguồn khó khăn hơn rất nhiều. Có thể quét bằng antivirus nhưng bản thân Fal cũng chưa tìm hiểu xem các antivirus sẽ quét những gì trong mã nguồn để phát hiện backdoor, mức độ tin tưởng đến đâu?
 


về nguyên tắc thì quét bằng phần mềm diệt virut hoặc phần mềm phân tích mã nguồn sẽ không thể nào nhận biết được tất cả các loại backdoor. bạn nào tìm hiểu về lý thuyết tính toán sẽ thấy bài toán này tương tự như bài toán dừng (halting problem), là một bài toán không máy tính nào giải được.

giải pháp mà anh conmale đưa ra là một cách nhận diện thông qua hành vi của backdoor. hành vi kết nối về một máy chủ nào đó có thể sẽ diễn ra hoặc không diễn ra trong quá trình backdoor được kích hoạt. từ đây câu hỏi tự nhiên sẽ là:

1. các backdoor thường có những hành vi nào?

2. làm sao phát hiện được những hành vi đó?

đối với câu hỏi số 1, chúng ta cần tìm những hành vi mà càng nhiều backdoor thực hiện càng tốt. mình nghĩ một hành vi tiêu biểu là thực thi một lệnh hệ thống. câu hỏi bây giờ là làm sao phát hiện được khi nào thì backdoor chạy một lệnh, chẳng hạn như system("cat /etc/passwd");?

mình nghĩ thiết kế ra một bộ công cụ theo dõi và phát hiện hành vi bất thường là không khó và cũng là điểm đáng để thảo luận tiếp.

-m

PS: đây là một chủ đề mình nghĩ rất thích hợp cho http://tetcon.org. bạn nào có hứng thú muốn trình bày về đề tài này thì liên hệ với mình. mình sẵn sàng hỗ trợ về mặt định hướng, như đang làm ở đây.
http://tinsang.net

TetCon 2013 http://tetcon.org

Làm an toàn thông tin thì học gì?/hvaonline/posts/list/42133.html
[Up] [Print Copy]
  [Discussion]   Nhận biết back-door của ứng dụng web 22/12/2011 12:27:24 (+0700) | #41 | 251426
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Chỉ cần nắm khái niệm tổng quát nhất: backdoor là một phương pháp, cơ chế, phương tiện, ứng dụng nhằm qua mặt cơ chế xác thực để nắm lấy quyền điều khiển.

Backdoor trải dài từ tầng kernel đến những cái script đơn giản trên tầng ứng dụng.

Đó, sự "nhận biết" xoay quanh khái niệm trên smilie.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Discussion]   Nhận biết back-door của ứng dụng web 23/12/2011 05:19:46 (+0700) | #42 | 251446
eicar
Member

[Minus]    0    [Plus]
Joined: 25/01/2011 06:49:53
Messages: 13
Offline
[Profile] [PM]

mrro wrote:

về nguyên tắc thì quét bằng phần mềm diệt virut hoặc phần mềm phân tích mã nguồn sẽ không thể nào nhận biết được tất cả các loại backdoor. bạn nào tìm hiểu về lý thuyết tính toán sẽ thấy bài toán này tương tự như bài toán dừng (halting problem), là một bài toán không máy tính nào giải được.
 

Mình biết cái này, cụ thể hơn thì đây là một hệ quả của Rice theorem : http://en.wikipedia.org/wiki/Rice's_theorem.
[Up] [Print Copy]
  [Discussion]   Nhận biết back-door của ứng dụng web 23/12/2011 15:21:16 (+0700) | #43 | 251462
FaL
Moderator

Joined: 14/04/2006 09:31:18
Messages: 1232
Offline
[Profile] [PM]

mrro wrote:

PS: đây là một chủ đề mình nghĩ rất thích hợp cho http://tetcon.org. bạn nào có hứng thú muốn trình bày về đề tài này thì liên hệ với mình. mình sẵn sàng hỗ trợ về mặt định hướng, như đang làm ở đây. 


Tớ rất có hứng thú tìm hiểu đến nơi đến chốn về vấn đề này. Có gì mrro và anh conmale giúp đỡ hỗ trợ thêm giúp em nhé!
Hãy giữ một trái tim nóng và một cái đầu lạnh
[Up] [Print Copy]
  [Discussion]   Nhận biết back-door của ứng dụng web 24/12/2011 07:09:13 (+0700) | #44 | 251473
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

FaL wrote:

mrro wrote:

PS: đây là một chủ đề mình nghĩ rất thích hợp cho http://tetcon.org. bạn nào có hứng thú muốn trình bày về đề tài này thì liên hệ với mình. mình sẵn sàng hỗ trợ về mặt định hướng, như đang làm ở đây. 


Tớ rất có hứng thú tìm hiểu đến nơi đến chốn về vấn đề này. Có gì mrro và anh conmale giúp đỡ hỗ trợ thêm giúp em nhé! 


Sẵn sàng thôi em smilie.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Discussion]   Nhận biết back-door của ứng dụng web 25/12/2011 03:15:23 (+0700) | #45 | 251492
[Avatar]
freeze_love
Member

[Minus]    0    [Plus]
Joined: 23/01/2009 23:07:19
Messages: 415
Location: HCMc
Offline
[Profile] [PM] [Email]
theo mình thì đơn giản là xem file log của server để xem từ client execute request ở đâu rồi lần ra. chứ 1 site có cả ngìn file thì việc tìm ra rất khó, đó là chưa tíh đến AVT có quét ra không nữa.
do{
học đến điên;
}while (sống);
[Up] [Print Copy]
  [Discussion]   Nhận biết back-door của ứng dụng web 25/12/2011 09:23:57 (+0700) | #46 | 251497
[Avatar]
Ikut3
Elite Member

[Minus]    0    [Plus]
Joined: 24/09/2007 23:47:03
Messages: 1429
Location: Nhà hát lớn
Offline
[Profile] [PM] [Yahoo!]
theo mình thì đơn giản là xem file log của server để xem từ client execute request ở đâu rồi lần ra. chứ 1 site có cả ngìn file thì việc tìm ra rất khó, đó là chưa tíh đến AVT có quét ra không nữa.  


Cần phải có hàng trăm freeeze_love làm việc liên tục 24/7 để đọc log request execute cho hàng trăm site đấy smilie
[Up] [Print Copy]
  [Discussion]   Nhận biết back-door của ứng dụng web 25/12/2011 23:41:01 (+0700) | #47 | 251518
myquartz
Member

[Minus]    0    [Plus]
Joined: 04/01/2005 04:58:30
Messages: 563
Offline
[Profile] [PM]

conmale wrote:
Chỉ cần nắm khái niệm tổng quát nhất: backdoor là một phương pháp, cơ chế, phương tiện, ứng dụng nhằm qua mặt cơ chế xác thực để nắm lấy quyền điều khiển.

Backdoor trải dài từ tầng kernel đến những cái script đơn giản trên tầng ứng dụng.

Đó, sự "nhận biết" xoay quanh khái niệm trên smilie


Nếu chỉ đơn giản là qua mặt việc xác thực, thì phương pháp chống có thể có 1 số mẹo, bằng cách kết hợp việc xác thực nhiều hướng và nhiều "chủ thể" độc lập nhau. Giảm thiểu rủi ro mang lại của việc đó, và tùy thuộc ứng dụng (ở đây là web).
Một số cách của tôi nghĩ là có thể giúp ích ít nhiều, áp dụng tùy trường hợp cụ thể, ví dụ trong trường hợp web site tin tức, như sau:
- Phần mềm web phải có thể tách thành các module độc lập, ví dụ module view tin tức (public) và module quản trị tin (admin page). Mỗi module có thể liệt kê ra chức năng và mức độ ảnh hưởng nếu bị chui vào "back-door".
- Nhốt phần view (ít ảnh hưởng) của PM bằng một phương pháp nào đó sao cho module view không thể đi ra ngoài cái nó thiết kế là hiển thị thông tin trong DB ra. user kết nối DB (ví dụ mysql) chỉ cho view, và chỉ update 1 số bảng nhất định, rồi ngăn chặn việc kết nối ra ngoài, tạo file... bằng SELinux chẳng hạn. Mọi thứ vi phạm giới hạn đều bị cảnh báo cho admin bằng 1 hệ thống độc lập khác.
- Nhốt phần webadmin quản trị (ảnh hưởng lớn) vào 1 chỗ khác (server khác chẳng hạn), một là không public chỗ này (tức không truy cập từ ngoài được vào phần đó), hai là phải có 1 cơ chế xác thực bổ sung độc lập: SSL Cert, hoặc VPN (cơ chế bổ sung này không phải do tác giả PM kia làm, mà là 1 tác giả độc lập khác). Phần này thì cho phép kết nối user (mysql) được ghi, sửa, xóa dữ liệu tất cả các bảng.

Nói chung nguyên tắc của phương pháp này là không tin tưởng 1 ai tất cả mọi thứ, luôn dùng nhiều hơn 1 công nghệ của các đối tác khác nhau và có khả năng kiểm soát khắc chế nhau. Giống như nguyên tắc luôn khám của ít nhất 3 ông bác sĩ với cùng 1 bệnh của mình.
Như trong ví dụ, thì xác thực webadmin của PM do tác giả PM làm, còn xác thực SSL tới trang webadmin đó thì do Apache làm, 2 đơn vị này độc lập nhau và ít ra ta có thể tính rằng rủi ro back-door (về mặt xác thực đối với phần có ảnh hưởng lớn) thỏa mãn cả 2 cùng lúc sẽ thấp hơn nhiều so với 1 ông.
[Up] [Print Copy]
  [Discussion]   Nhận biết back-door của ứng dụng web 20/05/2012 08:31:16 (+0700) | #48 | 263591
luongkma
Member

[Minus]    0    [Plus]
Joined: 13/10/2009 18:35:19
Messages: 13
Offline
[Profile] [PM]
bạn ơi mình đang có cái đê tài như thế này :Hệ thống máy chủ lưu trữ dữ liệu của công ty đang hoạt động bình
thường, tuy nhiên có nghi vấn là hệ thống máy chủ đã bị tấn công, và
kẻ tấn công đã cài backdoor lại, đồng thời có thể đã lấy đi nhiều dữ
liệu. Công ty muốn xây dựng một giải pháp để hạn chế và tránh được
tối đa các hiểm hoạ tương tự trong tương lai. Hãy giải quyết vấn đề
hiện tại và đồng thời phân tích và thiết kế một giải pháp tổng thể để
đáp ứng được các yêu cầu kể trên.

bạn có tl nào gửi cho mình vs
[Up] [Print Copy]
  [Discussion]   Nhận biết back-door của ứng dụng web 25/05/2012 12:53:28 (+0700) | #49 | 263982
flyshop
Member

[Minus]    0    [Plus]
Joined: 21/05/2012 03:05:18
Messages: 4
Offline
[Profile] [PM]

luongkma wrote:
bạn ơi mình đang có cái đê tài như thế này :Hệ thống máy chủ lưu trữ dữ liệu của công ty đang hoạt động bình
thường, tuy nhiên có nghi vấn là hệ thống máy chủ đã bị tấn công, và
kẻ tấn công đã cài backdoor lại, đồng thời có thể đã lấy đi nhiều dữ
liệu. Công ty muốn xây dựng một giải pháp để hạn chế và tránh được
tối đa các hiểm hoạ tương tự trong tương lai. Hãy giải quyết vấn đề
hiện tại và đồng thời phân tích và thiết kế một giải pháp tổng thể để
đáp ứng được các yêu cầu kể trên.

bạn có tl nào gửi cho mình vs
 


hix. Câu hỏi của bạn nó bao la quá smilie Vậy bạn nên xem tất cả các bài viết trong Box " Thảo Luận Bảo Mật " này đi thì dần dần server của bạn sẽ được bảo mật hơn smilie
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|