Trứng phục sinh như bảo vệ IP trong phần mềm


11

Tôi làm việc trong phần mềm nhúng và vì một số lý do, ban quản lý muốn giấu một quả trứng Phục sinh như một phương tiện bảo vệ IP. Họ gọi đó là hình mờ và vì phần mềm của chúng tôi tương tác với nguồn cấp dữ liệu xem trước video (hình ảnh hiển thị trên màn hình trước khi bạn chụp ảnh), họ muốn tôi thực hiện một trình kích hoạt sẽ phản ứng với một số đầu vào video bất thường (mã konami video như tối - sáng - tối - sáng - sao cũng được). Khi kích hoạt này kích hoạt, một cái gì đó kỳ lạ xảy ra (nằm ngoài hành vi bình thường của phần mềm).

Mục tiêu là để kiểm tra xem phần mềm của chúng tôi có được bao gồm trong một thiết bị hay không. Nghe có vẻ là một ý tưởng tốt? Tôi có nhiều lập luận chống lại động thái này:

  • Điều gì xảy ra nếu mã konami quá nhạy cảm và người dùng kích hoạt nó?
  • Liệu loại này watermarkcó bất kỳ giá trị pháp lý?
  • Nếu "tính năng" này được phát hiện bởi khách hàng thì sao?
  • Hình phạt hiệu suất nên rất nhỏ, vì phần mềm chạy trên các thiết bị nhỏ.
  • Tôi là người phát triển kích hoạt này. Nếu mọi thứ đi sai, trách nhiệm của tôi là gì?

Ý kiến ​​của bạn về phương pháp này là gì? Tôi không thể tìm thấy một liên kết, nhưng tôi nhớ đã thấy một câu trả lời trên trang web này cho thấy rằng đặt trứng Phục sinh cho mục đích bảo vệ là một ý tưởng tốt. Có ai đã thử nó với kết quả tốt?

Câu trả lời:


8

Có ít nhất một tiền lệ, như được mô tả trong bài viết trên Wikipedia về trứng Phục sinh :

Việc triển khai vi mạch CVAX của cpu MicroVAX có trong bản khắc của cụm từ tiếng Nga trong bảng chữ cái Cyrillic "VAX: Khi bạn quan tâm đủ để đánh cắp thứ tốt nhất" trong nỗ lực nhằm đánh cắp các nhà sản xuất nhân bản đánh cắp tài sản trí tuệ tiềm năng trong Khối Xô Viết.

Chi tiết hơn một chút về điều này, có thể được tìm thấy trong bài viết này về CVAX (là tài liệu tham khảo cho trích dẫn ở trên):

Cuối cùng, làn đường ghi chép có phương châm Cyrillic "VAX: Khi bạn đủ quan tâm để đánh cắp thứ tốt nhất". Vào năm 1983, một Cơ quan Tình báo giấu tên đã đưa cho tôi từ ngữ, nói rằng họ đã lấy nó ra từ một VAX-11/780 thuần chủng đang vận hành tổ hợp tên lửa SS20 của Liên Xô. Biết rằng một số CVAX sẽ kết thúc ở Liên Xô, nhóm muốn người Nga biết rằng chúng tôi đang nghĩ về họ.

Theo câu hỏi cụ thể của bạn:

Điều gì xảy ra nếu mã konami quá nhạy cảm và người dùng kích hoạt nó?

Mã Konami quá nổi tiếng, do đó khả năng người dùng kích hoạt nó lớn hơn. Nếu bạn trải qua với trứng Phục sinh, bạn nên chọn một chuỗi ban đầu (và lớn hơn). Vì trứng Phục sinh của bạn được coi là một cơ chế bảo vệ thay vì vui vẻ không suy nghĩ, sẽ tốt nhất nếu chuỗi đó không được biết đến bên ngoài công ty của bạn.

Liệu loại watermark này có giá trị pháp lý nào không? Tôi là người phát triển kích hoạt này. Nếu mọi thứ đi sai, trách nhiệm của tôi là gì?

Tham khảo ý kiến ​​một luật sư. Nó rất phụ thuộc vào địa phương của bạn và các chi tiết cụ thể của hợp đồng của bạn. Trong mọi trường hợp, tốt nhất nên có một số bằng chứng dưới dạng văn bản rằng ban quản lý yêu cầu rõ ràng về quả trứng Phục sinh. Việc trao đổi email trong đó cho thấy rằng bạn nêu ra một số mối quan tâm là đủ.

Nếu "tính năng" này được phát hiện bởi khách hàng thì sao?

Phụ thuộc vào khách hàng. Một số có thể cười, một số có thể kiện. Ý kiến ​​của tôi là vì trứng Phục sinh được bao gồm như một phương tiện bảo vệ IP, khách hàng nên được thông báo như mọi tính năng khác mà bạn xây dựng cho anh ấy / cô ấy.

Hình phạt hiệu suất nên rất nhỏ, vì phần mềm chạy trên các thiết bị nhỏ.

Vâng, nó nên, rõ ràng. Nếu bạn phát hiện ra rằng việc thực hiện quả trứng Phục sinh có một hình phạt hiệu suất có thể đo lường được, đó là lý do tốt nhất để không làm điều đó.


Tôi cũng không có ý kiến. Nếu bạn tham khảo ý kiến ​​một luật sư và bao gồm tất cả các cơ sở pháp lý của bạn, đi cho nó, nó có thể sẽ vô dụng nhưng bạn không bao giờ biết.


Cập nhật: Ví dụ CVAX tất nhiên là một ví dụ về phần cứng, nhưng tôi nghĩ không có ví dụ nào phù hợp hơn (đối với phần mềm và / hoặc phần mềm nhúng) mà tôi biết. Tôi đã dựa vào câu trả lời xung quanh nó để trả lời Has anyone tried itphần câu hỏi. Tôi đã tìm kiếm xung quanh các ví dụ khác, không tìm thấy bất kỳ và bây giờ tôi có một ý kiến:

lẽ nó không phải là một ý tưởng tốt. (không phải phần trứng Phục sinh, means of IP protectionphần). Vì ý tưởng không phải là nguyên bản hay sáng tạo (bối cảnh có thể khác nhau nhưng tương tự nhau), nếu nó hoạt động sẽ có ít nhất một vài ví dụ ngoài kia.


Cảm ơn về câu trả lời của bạn. Tôi đã đọc về lịch sử MicroVAX, nhưng bối cảnh hơi khác một chút (sản phẩm phần cứng). Tôi đồng ý với sự cần thiết phải thông báo cho khách hàng.
Simon Bergot

@Simon Tôi nghĩ bạn sẽ thấy nó, nhưng dựa trên câu trả lời của tôi để cho thấy rằng tiền lệ nổi tiếng nhất đã xảy ra cách đây rất lâu trong một bối cảnh hoàn toàn khác. Nếu bạn không quản lý để tìm thêm các ví dụ gần đây trên phần mềm, đó sẽ là điều mà bạn nên xem xét chuyển sang quản lý: Điều đó đã xảy ra cách đây rất lâu, không ai khác đã làm điều đó kể từ đó, có lẽ vì đó là một ý tưởng tồi . Theo kinh nghiệm của tôi, khi quản lý đưa ra những ý tưởng thú vị như vậy, việc chứng minh với họ rằng ý tưởng của họ không phải là nguyên bản hay sáng tạo có thể là lý do tốt nhất để không thực hiện nó.
yannis

Sự khác biệt là dường như phương châm của Nga không phải là một phần chức năng của chip, và do đó không thay đổi hành vi. Tôi muốn cẩn thận với bất cứ điều gì có thể gây ra đầu ra (cho khách hàng) không thể đoán trước trong một thiết bị nhúng.
David Thornley

0

Nếu bạn là nhà cung cấp cho nhà sản xuất, tôi hy vọng điều này sẽ được tiết lộ vì nó "nằm ngoài hành vi thông thường của phần mềm".

Nếu khách hàng của bạn là người dùng cuối, nó sẽ phụ thuộc vào phần mềm làm gì khi nhập "mã".


Chúng tôi bán phần mềm cho một OEM. Vì vậy, chúng ta nên minh bạch về nó.
Simon Bergot

0

Tôi thấy không có gì sai với một quả trứng Phục sinh không được tiết lộ miễn là người dùng cực kỳ không thể chạy vào nó và nếu nó cực kỳ tinh tế. Nếu ai đó đã vấp phải nó thì họ không nên xem nó là bất cứ điều gì khác với một lỗi nhỏ tinh vi hoặc lỗi nhỏ tầm thường.

Tôi đã có những người quản lý tranh luận với tôi về chức năng kém đạo đức hơn một quả trứng Phục sinh không được tiết lộ, phần mềm độc hại biên giới vì vậy tôi gặp khó khăn khi xem đây là một vấn đề.

Trong một dự án tôi đã kế thừa, tôi đã phát hiện ra một lớp C # sai lệch khổng lồ, được đặt tên là thứ gì đó có hiệu lực, UIDataTableColumnRenderer có kích thước hơn 3mb. Tôi phát hiện ra toàn bộ một trò chơi nhỏ trong lớp đó, hình ảnh và tất cả các cơ sở64 được mã hóa thành các chuỗi trong lớp. Về cơ bản, nó là một game bắn súng trong đó PC là nhà phát triển đang cố gắng bắn hạ một loạt lỗi không ngừng và các yêu cầu kém bằng văn bản mà chủ sở hữu sản phẩm và PM đang ném vào phần mềm. Điều đó thật buồn cười ở chỗ nó càng ngày càng khó hơn và bạn không bao giờ chiến thắng, cuối cùng các lỗi và yêu cầu kém phá hủy phần mềm và PC mất việc.

Đó là trứng Phục sinh tuyệt vời nhất mà tôi từng tìm thấy.


3
Tôi sẽ không xem xét một quả trứng Phục sinh 3mb trên một thiết bị nhúng vô hại.
yannis

2
@YannisRizos - Điều này rõ ràng không có trên một thiết bị nhúng và nếu nó đã và có khả năng sử dụng C #, thì lớp 3MB không phải là một mối quan tâm lớn.
Ramhound

@Ramhound Vâng, tôi biết, nhưng câu hỏi là trong bối cảnh của phần mềm nhúng.
yannis

0

Tôi là người phát triển kích hoạt này. Nếu mọi thứ đi sai, trách nhiệm của tôi là gì?

Họ không yêu cầu bạn vi phạm pháp luật. Trách nhiệm của bạn chỉ là sử dụng lao động của bạn. Tôi sẽ viết một email cẩn thận nêu rõ bất kỳ mối quan tâm nào của bạn để những điều đó có trong hồ sơ. Sau đó, làm những gì ông chủ của bạn nói với bạn hoặc bỏ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.