2009-03-02 4 views
3

당신 경비원 모두를위한 것입니다.누군가가 SQL Server 2005 암호화 스택을 해킹 할 수 있습니까?

서버 키를 사용하여 매우 강력한 암호로 암호화 된 데이터베이스 마스터 키가있는 SQL Server 2005 데이터베이스는 Windows 데이터 보호 계층의 서비스 계정 자격 증명을 사용하여 암호화됩니다.

데이터베이스 마스터 키를 사용하여 암호화 된 인증서가 있습니다.

인증서를 사용하여 암호화 된 AES256을 사용하는 대칭 키를 가지고 있으며 대칭 키를 사용하여 데이터베이스의 기밀 필드를 암호화하고 암호를 해독합니다.

누군가 데이터베이스의 암호화 된 필드를 해킹해야합니까? 내 유일한 가정은 대칭 암호화 알고리즘의 강점으로 인해 무차별 대입을 사용할 수없고 대칭 키 자체가 다음과 같은 4 가지 암호화 계층으로 보호된다는 것입니다.

Windows DPAPI -> 서버 -> 데이터베이스 -> 인증서 -> 대칭 키

나는 꽤 빡빡합니다.

"시스템 관리자의 사용자 이름과 암호를 가져 와서 약을 먹고 자고"라는 분명한 대답은 포함하지 마십시오.

답변

3

여기에는 잠재적 인 공격이 있습니다. 이미 서비스 계정으로 임의의 코드를 실행하는 방법이 있다고 가정합니다. 예를 들어 원격 코드 실행 버그를 사용하여 얻을 수 있습니다. 그렇게함으로써 DPAPI를 사용하여 서버 키를 얻는 것은 상대적으로 쉽지 않습니다. 암호를 해독하기 위해 무차별 방식이 필요하지만 마스터 데이터베이스 키를 얻을 수 있습니다.

비밀 번호의 힘에 따라 불가능할 수도 있습니다. 서비스 계정의 권한이 낮거나 높은가요? 관리자 계정이라면 암호를 알아 내기 위해 키로거 (keylogger)를 설치하기 위해 (깨진 경우) 가정용 계정을 사용할 수 있습니다.

+0

데이터베이스 마스터 키 암호는 매우 강하다. (총 횡설수설처럼 보임) . SQL 서비스 계정에는 로컬 관리자 권한이 있지만 keylogger는 암호를 수동으로 입력하는 것이 아니기 때문에 암호를 얻지는 않을 것이라고 생각합니다 (더 많은 복사/붙여 넣기 작업). – Sam

+0

로컬 관리자로 실행중인 모든 것이 프로세스 메모리를 읽을 수 있어야합니다. 꽤 고급 스럽습니다. –

0

이 암호화되지 않은 키가 암호화 될 수 있도록 저장됩니다. 침입자가 SYSTEM 수준에 액세스하여 기본적으로 메모리를 검색하거나 추가 스레드를 첨부 할 수있는 방법이 있습니까? MSSQL.

또한 이러한 암호화 된 필드는 모든 프런트 엔드 응용 프로그램에서 사용됩니까? 그들은 SELECT * FROM table 일 때 볼 수 있습니까? 예를 들어, 원하는만큼 데이터베이스와 필드에 보안을 설정할 수 있지만 SQL 인젝션을 사용하여 SQL 쿼리를 작성하여 필드 값을 볼 수 있다면 다시 사각형으로 돌아갈 수 있습니다.

+0

SQL 삽입이 공격 경로로 제거되었지만 암호화 된 필드는 표시되지 않으며 별도의 API 및 보안 컨텍스트를 사용하여 가져 오거나 저장됩니다. – Sam

0

인간 공학 공격이 가능하지 않다면 디버거를 읽는 프로그램에 디버거를 연결하고 그 메모리의 스냅 샷을 얻고 무차별 공격에서 모든 바이트 세트를 시도하려고합니다.

메모리 이미지를 얻을 수없는 경우에도 키가있는 경우 소스 파일과 동일한 것을 시도합니다.

현실적으로 이러한 공격을 막기 위해 어디에서나 키가 손상되지 않도록해야합니다.

+0

예, 우리 웹 서버 프로세스가 손상되면 디버거의 메모리 덤프에서 해독 된 데이터를 가져올 수 있습니다. 가능하다면 원격 위치에서 어떻게 처리합니까? – Sam

+0

원격 디버거를 실행하려면 디버깅하려는 서버에 대한 권한이 필요합니다. 커널 또는 응용 프로그램 디버거 스텁을 설치하거나 실행하고 권한을 허용해야합니다. 방화벽 권한을 완화해야 할 수도 있습니다. –

+0

고마워, 나는 그걸 살펴볼 것이다 - 원격 디버깅을 보장하는 데 아무런 해가되지 않는다. (최소한 일반적인 권한/방화벽 액세스가 이루어지기까지) – Sam

2

K.브라이언 켈리는 SQL Server 보안을 전문으로, 그는 다음과 같이 암호화가 SQL Server 환경에서 무시됩니다 방법에 대한 몇 가지 좋은 기사를 작성 있어요 :

당신이 만약 정말 보안에있어, 나는 그의 블로그에 가입하는 것이 좋습니다. 그는 트위터 http://twitter.com/kbriankelley에서 구할 수 있습니다.

+0

감사합니다. 흥미로운 기사입니다. 주제에 대해 더 많이 동의 할 수는 없으므로 관리자와 DBA를 신뢰해야합니다. 서버 세계의 신들입니다. – Sam