Telur paskah sebagai perlindungan IP dalam perangkat lunak

11

Saya bekerja di perangkat lunak tertanam, dan untuk beberapa alasan, manajemen ingin menyembunyikan telur Paskah sebagai sarana perlindungan IP. Mereka menyebutnya tanda air, dan karena perangkat lunak kami berinteraksi dengan umpan pratinjau video (gambar ditampilkan pada layar sebelum Anda mengambil foto), mereka ingin saya menerapkan pemicu yang akan bereaksi terhadap beberapa input video yang tidak biasa (kode konami video seperti gelap - cerah - gelap - cerah - apa pun). Ketika pemicu ini menyala, sesuatu yang aneh terjadi (yang berada di luar perilaku normal perangkat lunak).

Tujuannya adalah untuk memeriksa apakah perangkat lunak kami termasuk dalam perangkat. Apakah itu terdengar seperti ide yang bagus? Saya punya banyak argumen yang menentang langkah ini:

  • Bagaimana jika kode konami terlalu sensitif dan pengguna memicunya?
  • Apakah jenis ini watermarkmemiliki nilai hukum?
  • Bagaimana jika "fitur" ini ditemukan oleh klien?
  • Penalti kinerja harus sangat kecil, karena soft run pada perangkat kecil.
  • Saya yang mengembangkan pemicu ini. Jika ada yang salah, apa tanggung jawab saya?

Apa pendapat Anda tentang metode ini? Saya tidak dapat menemukan tautan, tetapi saya ingat melihat jawaban di situs ini yang menyarankan bahwa meletakkan telur Paskah untuk tujuan perlindungan adalah ide yang bagus. Adakah yang mencobanya dengan hasil yang baik?

Simon Bergot
sumber

Jawaban:

8

Setidaknya ada satu preseden, seperti yang dijelaskan pada artikel Wikipedia tentang telur Paskah :

Implementasi microchip CVAX dari cpu MicroVAX terkandung dalam etsa frase Rusia dalam alfabet Cyrillic "VAX: Ketika Anda cukup peduli untuk mencuri yang terbaik" dalam upaya untuk menyuntikkan potensi produsen klon pencuri properti intelektual di Blok Soviet.

Sedikit lebih detail tentang ini, dapat ditemukan pada artikel ini di CVAX (yang merupakan referensi untuk kutipan di atas):

Akhirnya, jalur juru tulis berisi moto Cyrillic "VAX: Ketika Anda cukup peduli untuk mencuri yang terbaik". Pada tahun 1983, Badan Intelijen Tanpa Nama memberi saya kata-kata, mengatakan bahwa mereka mendapatkannya dari VAX-11/780 purloined yang menjalankan kompleks rudal SS20 Soviet. Mengetahui bahwa beberapa CVAX akan berakhir di Uni Soviet, tim ingin Rusia tahu bahwa kami memikirkan mereka.

Sesuai pertanyaan spesifik Anda:

Bagaimana jika kode konami terlalu sensitif dan pengguna memicunya?

Kode Konami terlalu terkenal, maka kemungkinan pengguna yang memicunya lebih besar. Jika Anda menggunakan telur Paskah, Anda harus memilih urutan asli (dan lebih besar). Karena telur Paskah Anda seharusnya menjadi mekanisme perlindungan dan bukannya kesenangan tanpa berpikir, akan lebih baik jika urutannya tidak diketahui di luar perusahaan Anda.

Apakah tanda air semacam ini memiliki nilai hukum? Saya yang mengembangkan pemicu ini. Jika ada yang salah, apa tanggung jawab saya?

Konsultasikan dengan pengacara. Ini sangat tergantung pada lokasi Anda dan spesifikasi kontrak Anda. Bagaimanapun, akan lebih baik untuk memiliki beberapa bukti dalam bentuk tertulis bahwa manajemen secara eksplisit meminta telur Paskah. Pertukaran email yang menunjukkan bahwa Anda mengajukan beberapa kekhawatiran sudah cukup.

Bagaimana jika "fitur" ini ditemukan oleh klien?

Tergantung pada klien. Beberapa mungkin tertawa, ada yang mungkin menuntut. Pendapat saya adalah karena telur Paskah dimasukkan sebagai sarana perlindungan IP, klien harus diberi tahu tentang setiap fitur lain yang Anda buat untuknya.

Penalti kinerja harus sangat kecil, karena soft run pada perangkat kecil.

Ya, seharusnya begitu. Jika Anda mengetahui bahwa menerapkan telur Paskah memiliki penalti kinerja yang terukur, itu akan menjadi alasan terbaik untuk tidak melakukannya.


Saya juga tidak punya pendapat. Jika Anda berkonsultasi dengan pengacara dan menutup semua dasar hukum Anda, lakukanlah, itu mungkin akan sia-sia tetapi Anda tidak pernah tahu.


Pembaruan: Contoh CVAX tentu saja merupakan contoh perangkat keras, tetapi saya pikir tidak ada contoh yang lebih relevan (untuk perangkat lunak dan / atau perangkat lunak tertanam) yang saya ketahui. Saya mendasarkan jawaban di sekitarnya sebagian besar untuk menjawab Has anyone tried itbagian dari pertanyaan. Saya telah mencari-cari contoh lain, tidak menemukan apa pun dan sekarang saya punya pendapat:

Itu mungkin bukan ide yang sangat bagus. (bukan bagian telur Paskah, means of IP protectionbagian). Karena idenya bukan orisinal atau inovatif (konteksnya mungkin berbeda tetapi serupa), jika itu berhasil akan ada setidaknya beberapa contoh di luar sana.

yannis
sumber
Terima kasih atas jawaban Anda. Saya telah membaca tentang sejarah MicroVAX, tetapi konteksnya sedikit berbeda (produk perangkat keras). Saya setuju dengan keharusan memberi tahu klien.
Simon Bergot
@Simon Saya pikir Anda akan melihatnya, tetapi mendasarkan jawaban saya di atasnya untuk menunjukkan bahwa preseden yang paling terkenal telah lama terjadi dalam konteks yang sama sekali berbeda. Jika Anda tidak berhasil menemukan contoh yang lebih baru tentang perangkat lunak, itu akan menjadi sesuatu yang harus Anda pertimbangkan untuk diteruskan ke manajemen: Itu terjadi sekali dulu, tidak ada orang lain yang melakukannya sejak itu, mungkin karena itu adalah ide yang buruk . Dalam pengalaman saya, ketika manajemen datang dengan ide-ide funky, membuktikan kepada mereka bahwa ide mereka tidak orisinal atau inovatif mungkin merupakan alasan terbaik untuk tidak menerapkannya.
yannis
Perbedaannya adalah bahwa tampaknya moto Rusia bukan bagian fungsional dari chip, dan karenanya tidak mengubah perilaku. Saya ingin berhati-hati dengan apa pun yang dapat menyebabkan keluaran (ke pelanggan) yang tidak dapat diprediksi dalam perangkat yang disematkan.
David Thornley
0

Jika Anda adalah vendor untuk produsen, saya berharap ini diungkapkan karena "di luar perilaku normal perangkat lunak".

Jika klien Anda adalah pengguna akhir, itu akan tergantung pada apa yang dilakukan perangkat lunak ketika "kode" dimasukkan.

smp7d
sumber
Kami menjual perangkat lunak ke OEM. Jadi kita harus transparan tentang hal itu.
Simon Bergot
0

Saya tidak melihat ada yang salah dengan telur paskah yang dirahasiakan asalkan sangat tidak mungkin seorang pengguna akan menabraknya dan jika itu sangat halus. Jika seseorang tersandung di atasnya maka mereka tidak boleh melihatnya sebagai sesuatu yang berbeda dari kesalahan halus atau bug kosmetik sepele.

Saya memiliki manajer yang berdebat dengan saya tentang fungsionalitas yang jauh lebih tidak etis daripada telur paskah yang dirahasiakan, hal-hal malware batas jadi saya mengalami kesulitan melihat ini sebagai masalah.

Dalam satu proyek saya mewarisi saya menemukan kelas C # raksasa menyesatkan, menamai sesuatu dengan efek, UIDataTableColumnRenderer yang lebih dari 3mb. Saya menemukan seluruh mini-game di dalam kelas itu, gambar dan semua base64 dikodekan ke dalam string di dalam kelas. Itu pada dasarnya adalah penembak di mana PC adalah pengembang yang mencoba untuk menembak serangan bug dan persyaratan tertulis yang buruk yang dilemparkan PM dan pemilik produk pada perangkat lunak. Itu agak lucu karena terus menjadi semakin sulit dan Anda tidak pernah menang, akhirnya bug dan persyaratan yang buruk menghancurkan perangkat lunak dan PC kehilangan pekerjaannya.

Sejauh ini itu adalah telur paskah paling menakjubkan yang pernah saya temukan.

maple_shaft
sumber
3
Saya tidak akan menganggap telur paskah 3MB pada perangkat yang disematkan tidak berbahaya.
yannis
2
@YannisRizos - Ini jelas bukan pada perangkat yang disematkan, dan jika itu dan memiliki kemampuan untuk menggunakan C #, maka kelas 3MB bukan masalah besar.
Ramhound
@Ramhound Ya, saya tahu, tetapi pertanyaannya adalah dalam konteks perangkat lunak yang disematkan.
yannis
0

Saya yang mengembangkan pemicu ini. Jika ada yang salah, apa tanggung jawab saya?

Mereka tidak meminta Anda untuk melanggar hukum. Akuntabilitas Anda hanya untuk majikan Anda. Saya akan menulis email dengan hati-hati yang menyatakan kekhawatiran Anda sehingga semuanya ada dalam catatan. Lalu lakukan apa yang bos Anda katakan atau hentikan.

Jeremy
sumber