Bảo mật ứng dụng .NET

Hello mọi người.
Mọi người cho mình hỏi là ứng dụng c# trên desktop mình viết ra có cách nào chống được decomplier không với lại ứng dụng của mình tương tác nhiều với dữ liệu nhạy cảm thì có cách nào để bảo vệ dữ liệu không.
Trong trường hợp xấu là phần mềm của mình bị decomplier, thì có cách nào để hacker chỉ có thể lấy được mã nguồn phần mềm mà không thể lấy được dữ liệu của mình không.
Anh em ai có ý tưởng gì hay đã làm phần này rồi thì chỉ giúp mình với!

Ứng dụng chạy trên máy thì khá là khó chống. Còn data nếu không để ở trên máy người dùng thì sẽ khó bị hack.

5 Likes

Data nếu để ở máy người dùng thì lại ngại dữ liệu bị copy rồi mang ra mổ sẻ. Còn nếu mã hóa dữ liệu thì việc nó decomplier rồi lấy data từ phần mềm nó crack mình thì rất ngại

Chỉ có cách dùng tool làm rối mã để chống những tay kiên trì thấp.
Còn đã chày cối thì C/C++ cũng thua.

4 Likes

Lấy đc mã nguồn pm ko lấy đc dữ liệu?? Pm của bạn ko có khả năng đọc dữ liệu à hay sao mà có mã nguồn ko lấy đc dữ liệu . Thế thì sài RSA thôi.
Mà về mặt nguyên tắc thì dữ liệu nhạy cảm ko bao giờ lưu ở client . Bạn phải xem lại xem dữ liệu đó thực sự cần bảo mật ko. Qt thì ném lên server

2 Likes

Hi Toản Trần.
Để bảo mật dữ liệu thì cách đơn giản là mã hóa nó lại. Tuy nhiên vấn đề là làm thế nào để chương trình không lưu key giải mã mà vẫn có thế đọc ra được? Cách đơn giản là lưu key giải mã ở một chỗ khác.

Giải pháp: Bạn làm chức năng đăng nhập sau đó dùng tên đăng nhập và mật khẩu người dùng làm key mã hóa.

4 Likes

Dù bạn ko dùng bất cứ key nào để giải mã thì đã decomplier đc ra code thì giải đc hết.
Vd định dạng Mdict là close source nhưng các anh tài vẫn biết cách reverse để biết dữ liệu bên trong đc mã hóa thế nào @@ https://github.com/zhansliu/writemdict/blob/master/writemdict.py#L61

3 Likes

Mình cũng nghĩ đến mã hóa dữ liệu khi lưu thành file lại rồi. Điều mình băn khoăn là trong chương trình một số chỗ vẫn dùng dữ liệu raw. Ví dụ danh bạ trên iphone thì nó được mã hóa trong file rồi, nhưng khi hiển thị thì nó là raw data

Mã hóa khóa đối xứng

4 Likes

Hi Toản Trần.
Cái này giống như mấy ông làm bảo mật web chống người ta tải video ý. Bạn quay lại màn hình là được. Hay như Netflix có DRM bảo vệ mà người ta vẫn lấy fim về up lại được. Nên nói chung trừ khi không muốn cho người dùng dùng còn không thi không tránh được.

6 Likes

Người dùng dùng thì không thành vấn đề còn với một số có mục đích xấu, phần mềm không đúng của mình thì rất lo ngại. Cái mình muốn là dữ liệu người dùng thì chỉ người dùng truy xuất được

câu hỏi khá vô nghĩa vì bạn không mô tả rõ ràng ứng dụng của bạn mô hình gì (chạy 1 mình hay có giao tiếp client - server), data gì - để ở đâu - giao tiếp thế nào (hay tự define luôn data - hệ quản trị data đó …)
còn chỉ có c# trên desktop thôi thì những câu trả lời chỉ mang tính chất chém gió là chính, bảo mật không hẳn chỉ phụ thuộc vào ngôn ngữ

Như tiêu đề mình đã hỏi mọi người. Về ứng dụng mình viết trên nền .NET nên việc decomplier là khá dễ dàng. Do đó có thể tạo ra phần mềm tương tự và có thể lấy được dữ liệu từ chính phần mềm giả mạo đó. Cho dù chạy client sever hay chỉ local thì cũng có thể bị lấy dữ liệu ra được

Apple nó bảo mật từ chip phần cứng còn ko chống đc lấy dữ liệu thì bạn nghĩ bạn có thể bảo mật đc 100% à nói chung tương đối thôi. Hash 1 vài lần là ok rồi .

3 Likes

Hi bạn. Chắc mình cố hết sức thôi, còn khi nào dính rồi tính tiếp

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?