불법 복제로부터 소프트웨어를 어떻게 보호 할 수 있습니까? “일련 번호 / 활성화 키보다

왜 오늘날 해적이 그렇게 쉬운 것처럼 보입니까?

우리의 모든 기술 발전과 수십억 달러가 가장 믿을 수없고 마음을 끄는 소프트웨어를 엔지니어링하는 데 사용되면서 “일련 번호 / 활성화 키보다 불법 복제를 방지 할 수있는 다른 수단이 여전히 없다고 믿기 힘들 것 같습니다. “. 나는 아마도 엄청난 돈, 아마도 수십억 달러가 Windows 7 또는 Office 및 심지어 Snow Leopard를 만드는 데 들어 갔지만 20 분 안에 무료로 얻을 수 있다고 확신합니다. 아마도 가장 쉬운 모든 Adobe 제품에 대해 동일합니다.

불법 복제로부터 소프트웨어를 보호하는 어리 석음과 해킹 방지 방법이 있습니까? 현실적이지 않다면 이론적으로는 어떻습니까? 또는 이러한 회사가 어떤 메커니즘을 배포하든 해커는 항상 그 주위에 방법을 찾을 수 있습니까?



답변

코드는 데이터입니다. 코드를 실행할 수있는 경우 해당 데이터의 복사본은 보호되지 않은 코드입니다. 보호되지 않은 코드를 복사 할 수 있습니다.

불법 복제 방지 검사를 통해 코드를 추가하면 약간 어려워 지지만 해커는 디버거를 사용하여 제거합니다. “check_license”에 대한 호출 대신 no-ops를 삽입하는 것은 매우 쉽습니다.

  • 해킹하기 어려운 프로그램은 점점 더 성가신 일을합니다.
  • 그러나 공급 업체는 고객에게 사용 준비가 된 소프트웨어를 판매해야합니다.
  • 모든 사람이 컴퓨터로 전화를 걸 수있는 것은 아닙니다.
  • 민감한 물건을 다루는 일부 사람들은 기계를 인터넷에 연결하는 것을 거부합니다.

내 현재의 고용주 (항공 우주 도구)에 판매 프로그램은 집에 전화하지 않는 이제까지 . 고객은 프로그램이 시작될 때마다 “활성화”를 위해 전화를 거는 것을 용납하지 않을 것입니다.

최악의 경우, 프로그램은 네트워킹이없는 VM에서 실행되며 항상 고정 된 날짜입니다.

따라서 합법적으로 한 번 설치되었을 수도 있지만 개발자 측에서는 아무런 노력도하지 않았 음을 알 수 없습니다.

  • 범용 컴퓨터에 하드웨어 “복사 방지”를 추가하려고하면 실패 할 수 있습니다.
  • 복사 방지없이 하드웨어를 판매하는 회사가 무엇이든 모든 하드웨어를 판매하게됩니다.
  • Dell 및 Intel과 같은 공급 업체는 팔라듐과 같은 스파이 하드웨어를 점진적으로 도입하려고 시도하지만 강력하게 저항합니다.
  • 컴퓨터가 과학적으로 실시간으로 무언가를 할 때, “해적판 된 콘텐츠 확인”중단은 실패를 일으킬 것입니다. 모든 컴퓨터에 하드웨어 DRM이있는 경우 특수 과학 / 실시간 컴퓨터에는 하드웨어 DRM이 없어야합니다. 우연히 모든 사람이 특별한 과학적 / 실시간을 구매할 것입니다.
  • 하드웨어 DRM 검사는 일부 종류의 콘텐츠에 대해 오 탐지를 갖습니다.

    • 가장 간단한 경우 : 해상도. 카메라 어레이에서 Quad HD 비디오를 녹화합니다 (지금 책상에 앉아 있음). Windows DRM은 QuadHD이기 때문에 나와 데이터 사이에 있습니다.

    • 서명 분석 : 하드웨어 DRM은 작고 상대적으로 고정 된 데이터 세트를 가지고 있습니다. 또한 CPU와 동일한 데이터 버스를 사용해야하므로 간헐적으로 속도가 느려집니다. 이것은 무엇이든 실시간으로 망칩니다.

    • 따라서 오탐 (false positive) 동안 하드웨어 DRM을보다 스마트하게 만들기 위해 컴퓨터가 중단되어 웹 서비스를 사용하여 확인하게됩니다. 이제 과학 데이터 프로세서가 네트워크에 연결되지 않아 실패하거나 데이터 스트리밍을 중지합니다.


답변

궁극적으로 가장 큰 문제는 대부분의 소프트웨어가 잠재적 인 공격자에게 자물쇠와 열쇠를 모두주고 그것들을 어떻게 조합 할 것인지 파악하지 않기를 원한다는 것입니다.

소프트웨어를 안전하게 보호 하는 유일한 방법은 소프트웨어 를 사용자에게 제공하지 않는 것입니다 (예 : SaaS). 예를 들어 Google 문서 도구를 ‘해적’할 수 없다는 것을 알 수 있습니다. 궁극적으로, 당신이 무언가를 확보하려고한다면, 당신이 그들에게주는 모든 것에 대한 지식이 있다고 가정해야합니다. 당신은 클라이언트를 신뢰할 수 없습니다. 이는 시스템이 손상되지 않도록 보호하는 것과 마찬가지로 불법 복제를 방지하는 데 적용됩니다.

기존 소프트웨어 배포 모델은 클라이언트에게 전체 패키지를 제공하고 잠재적 인 공격자가 제어하는 ​​하드웨어에서 패키지를 보호하려고 시도하기 때문에 배포 모델은 어떤 “해적도없는”소프트웨어 개념과도 호환되지 않습니다.


답변

IMHO의 근본적인 문제는 불법 복제로부터 소프트웨어를 보호하는 “완전 및 해킹 방지”방법 * 대부분이 무고하고 합법적 인 사용자를 괴롭 히거나 몰아내는 것입니다.

예를 들어 앱이 단일 컴퓨터에만 설치되어 있는지 확인하면 사용자가 컴퓨터에서 하드웨어를 변경하기가 어려울 수 있습니다. 하드웨어 동글은 직장 및 가정용 컴퓨터에서 동일한 앱을 사용할 수 없음을 의미 할 수 있습니다. DVD 영역 코드, CSS, 소니 루트킷 등은 말할 것도없이 소프트웨어 보호를위한 것이 아니라 밀접하게 관련되어 있습니다.

@FrustratedWithFormsDesigner가 지적했듯이 * 실제로는 완벽하지 않습니다. 100 % 안전성은 없습니다. 침입자가 방어 수단을“너무 많이”사용하지 못하도록 방어를 깨뜨리기에 충분한 비용을 지불해야합니다. 또한 소프트웨어와 디지털 정보의 기본 특성으로 인해 누군가 특정 방어를 중단 한 후에는 거의 항상 수백만 명이이 복제를 간단하게 복제 할 수 있다고 생각합니다.


답변

오늘날 소프트웨어가 여전히 쉽게 불법 복제되는 이유는 무엇입니까?

불법 복제가 쉬운 소프트웨어를 판매하는 것이 더 유리합니다.

불법 복제 방지 조치를 결정할 때 회사는 비용-편익 분석을 수행합니다. 주어진 일련의 조치에 대해 혜택이 비용을 능가하지 않으면 회사는 그렇게하지 않습니다.

비용에는 측정을 구현, 문서화, 지원 및 유지하기위한 시간과 노력, 그리고 실제로 성가신 판매 손실이 포함됩니다. 일반적으로 말하면 두 가지 종류의 이점이 있습니다.

  • 프로그램을 불법 복제 한 사람들이 대신 구매했기 때문에 더 큰 이익 ..
  • 결정을 내리는 사람들은 프로그램이 해적판되지 않기 때문에 기뻐합니다.

간단한 예를 들면 다음과 같습니다. Microsoft Office.

지금, MS는 돈에 관한 것이지, execs를 해적판에 대해 행복하게 만드는 것에 대해서는 그다지 중요하지 않습니다. 한동안 MS는 비즈니스 용 “정상”버전보다 저렴한 방법으로 “홈 및 학생”버전의 Office를 판매했습니다. 나는 몇 년 전에 이것을 샀고, 복사 방지는 전혀 없었습니다! “복제 방지”기술은 제품 키를 입력 한 다음 응용 프로그램 폴더에 저장되었습니다. 그러나 동시에 원하는 수의 컴퓨터에서 실행할 수 있으며 모두 정상적으로 작동합니다! 실제로 Mac에서는 네트워크를 통해 응용 프로그램 폴더를 설치하지 않은 다른 컴퓨터로 끌어다 놓을 수 있으며 제품 키가 응용 프로그램과 함께 저장되어 있기 때문에 제대로 실행되었습니다.

왜 그런 한심한 불법 복제 방지 기술입니까? 두 가지 이유가 있습니다.

첫 번째는 설치를 망치는 가정용 사용자를위한 추가 기술 지원 비용이 그만한 가치가 없기 때문입니다.

두 번째는 비 기술적 인 불법 복제 방지 조치 입니다. MS는 기업이 MS 소프트웨어를 해적판했다는 것을 알고있는 내부 고발자 프로그램 (예 : 동일한 “가정 및 학생”사무실의 200 개 사본 설치)을 가지고 있습니다. 그리고 MS는에 와서 회사를 감사하고, 불법 복제 소프트웨어를 발견하면, 그 밖으로 쓰레기를 고소한다 – 그리고 당신은 상금의 큰 상처를 얻을.

따라서 MS는 불법 복제를 방지하기 위해 기술을 사용할 필요가 없습니다. 그들은 차갑고 단단한 현금을 사용하는 것이 더 수익성이 높다는 것을 알게됩니다.


답변

으로 브루스 슈나이어는 말했다 , 디지털 파일 uncopyable 만들려고 노력하는 것은 물에 젖은 만들려고 노력하는 것과 같다. 그는 주로 코드보다 컨텐츠 (예 : 영화)에 더 많이 적용되는 “DRM”에 대해 이야기하지만 파일에있는 내용을 복사하는 것을 막는 관점에서는 별 차이가 없습니다. 파일을 복사하는 것은 파일을 복사하는 것입니다 .


답변

“해적 행위로부터 소프트웨어를 보호하는 바보 및 해킹 방지 방법” 은 하나뿐입니다 .

자유 소프트웨어 (당신이 원하는 것을 할 수있는 것처럼, 심지어 팔아도됩니다.)

당신은 자유롭게 주어진 것을 훔칠 수 없습니다. 물론, 그것은 일부 공룡 회사 소프트웨어 모델을 망칠 것이지만 불법 복제는 아무데도 진행되지 않습니다. 복사 할 수없는 물건을 판매하십시오. 예를 들어 당신의 도움.


답변

이는 네 가지 주요 요소의 조합으로 인해 발생합니다.

기본적으로 컴퓨터가 데이터를 복사하여 작동하는 많은 작업을 수행합니다. 예를 들어, 프로그램을 실행하려면 컴퓨터가 하드 드라이브에서 메모리로 프로그램을 복사해야합니다. 그러나 일단 무언가가 메모리에 복사되면 메모리에서 다른 위치로 쓸 수 있습니다. “복제 방지”의 기본 전제는 성공적으로 복사 할 수없는 소프트웨어를 만드는 것이므로 문제의 규모를 알 수 있습니다.

둘째,이 어려운 문제에 대한 해결책은 합법적 인 사용자와 소프트웨어를 합법적으로 취득하지 않고 소프트웨어를 사용하고자하는 사람들의 이익에 직접적으로 작용합니다. 이러한 사용자 중 일부는 컴파일 된 코드를 분석하는 데 필요한 기술 지식이 있습니다. 이제 당신은 적대적으로 적대적입니다.

이것은 어려운 문제이고 올바른 소프트웨어를 만드는 것도 본질적으로 어렵 기 때문에 솔루션에 적어도 하나 이상의 악용 가능한 버그가 포함되어있을 가능성이 큽니다. 대부분의 소프트웨어는 중요하지 않지만 대부분의 소프트웨어는 결정된 적의 공격을받지 않습니다. 소프트웨어의 본질은 악용 가능한 버그가 발견되면 전체 시스템을 제어하고 비활성화하는 데 사용될 수 있습니다. 따라서 안정적인 보호를 위해서는 매우 어려운 문제에 대한 솔루션이 완벽 해야합니다 .

네 번째 요소는 전세계 인터넷입니다. 그것은 사소한 관심을 가진 사람에게 정보를 전송하는 문제를 만듭니다. 즉, 불완전한 시스템이 한 번 균열되면 모든 곳에서 균열이 발생합니다.

이 네 가지 요소의 조합은 완벽한 복제 방지 시스템이 안전하지 않을 수 있음을 의미합니다. (그리고 마지막으로 언제 완벽한 소프트웨어를 보았습니까?) 이것에 비추어 볼 때, “소프트웨어는 왜 여전히 쉽게 해적판입니까?”가 아니라 “사람들이 여전히 그것을 방지하려고하는 이유는 무엇입니까?”