===== Public으로부터 불필요한 권한 회수 ===== - 개요 : DB서버의 사용자 그룹 PUBLIC으로부터 불필요한 권한과 롤(Role)을 회수 * PUBLIC : 시스템 권한, 또는 데이터베이스 역할을 모든 사용자에게 부여할 수 있다. - 오용 가능성 있는 PL/SQL 패키지 - **UTL_SMTP** * A 사용자가 B, C, D 등의 다른 사용자에게 메일을 보낼 수 있게 한다. * 패키지에 PUBLIC권한 부여 : 메일의 부정한 교환이 가능해진다. - **UTL_TCP** * DB서버로 네트워크 서비스에 대한 외부의 네트워크 접속을 허용한다. * 패키지에 PUBLIC권한 부여 : DB에서 외부의 네트워크 서비스로 임의의 데이터를 보내는것이 가능해진다. - **UTL_HTTP** * DB서버가 HTTP를 이용해 데이터를 요구하고 얻을 수 있게 한다. * 패키지에 PUBLIC권한 부여 : HTML폼으로 특정 웹사이트에 악의적인 목적으로 임의의 데이터를 보내는 것이 가능해진다. - **UTL_FILE** * 부적절하게 구성되었을 경우 이 패키지는 호스트 OS 시스템의 어떤 파일에 대해서도 텍스트 레벨에서의 액세스를 허용한다. * 적절하게 구성 되었을 경우에도 이 패키지는 호출하고 있는 애플리케이션을 구별하지 않으므로 UTL_FILE에서 액세스하고 있는 애플리케이션이 \\ 다른 애플리케이션에 의해 쓰여지고 있는 같은 위치에 임의의 데이터를 쓰는 것이 가능하게 된다. - **DBMS_OBFUSCATION_TOOLKIT(DOTK)** * 데이터에 암호화 적용하는 패키지. 대부분의 DB 환경에 적절한 수준의 보완 환경 제공 * 패키지에 PUBLIC권한 부여 : 암호화된 데이터가 안전하게 저장 • 관리 되어지지 않으므로 복구 불가 * 단점 : 숙련된 해커의 공격에 쉽게 무력화됨 * DBMS_CRYPTO(=DOTK 기능 + α) : 10g 추가된 강력한 암호화 패키지. 암호화를 수동으로 처리. 기존 함수와 프로시져에 대해서도 보다 개선된 기능 제공