it-swarm-korea.com

Oracle의 WRAP를 사용하여 PL / SQL 코드를 난독 화하면 이점이 있습니까?

Oracle 저장 프로그램 단위 (프로 시저, 함수, 패키지 및 유형)는 WRAP 기능을 사용하여 난독화할 수 있습니다.

'모호함을 통한 보안'에 대한 일반적인 주장 외에도 래핑 기능을 사용하는 데 특별한 문제가 있습니까?

10
Gary

Oracle 10g 및 11g 메커니즘으로 래핑 된 코드에 사용할 수있는 언 래퍼가 있습니다. 여기에는 온라인 '언 래퍼'와 Python으로 작성된 언 래퍼의 소스 코드가 모두 포함됩니다.

따라서 래핑은 해당 수준의 액세스 권한을 가진 사람이 소스 코드를 얻는 것을 막을 수 없습니다.

* _DEPENDENCIES보기, SQL 추적 또는 DBMS_TRACE 사용을 통해 코드 특성에 대한 추가 표시기를 얻을 수 있습니다.

종속성보기는 프로그램에서 직접 또는 간접적으로 호출 될 수있는 테이블 및 기타 오브젝트를 표시합니다. SQL 추적은 프로 시저에 대한 특정 호출의 결과로 실행 된 SQL을 표시합니다. 예를 들어 암호화 호출에 사용되는 솔트를 보여주는 '바인딩 변수'가 여기에 포함될 수 있습니다. DBMS_TRACE는 일반적으로 설치되지 않지만 설치 및 활성화되면 줄 번호 및 프로 시저/함수 호출 측면에서 코드를 통해 가져온 경로를 추적하는 데 사용할 수 있습니다.

코드가 분석되지 않도록 보호하려면 첫 번째 방법은 패키지를 사용하는 것입니다. 프로 시저와 함수를 사용하면 프로그램 실행 권한이 부여 된 모든 데이터베이스 사용자가 코드 전체를 사용할 수 있습니다. 패키지에서는 사양 (프로그램 이름 및 인수 이름/데이터 유형) 만 사용할 수 있으며 본문의 실제 코드는 프로그램 소유자와 높은 데이터베이스 권한 (일반적으로 DBA) 만 볼 수 있습니다.

8
Gary

PL/SQL 소스 텍스트 래핑은 PL/SQL 코드를 읽는 기술적 수단을 제거하는 데 유용하지 않고 다음 목표 중 하나 이상을 달성하는 데 유용합니다.

  1. 초보 소프트웨어 개발자가 패키지 및 유형에 대한 인터페이스보다는 구현에 의존하지 못하도록합니다. 따라서 소스 텍스트 래핑은 이러한 구현이 수정되면 이전 버전과의 호환성 문제를 피하는 경향이 있습니다.
  2. 누군가가 그러한 구현을 읽는다면, 그 사람은 미국의 DMCA 법을 위반할 것이라는 주장을 뒷받침하기 위해, 또는 적어도이를 어렵게 만드는 조치에 직면하여 그러한 구현을 읽을 의도를 보여줄 것입니다. 읽다.
  3. 작업에 익숙하지 않고 자원에 제약이있는 사람들이 프로그램 텍스트를 얻지 못하도록 방지합니다.
2
minopret