프로그래머가 사용자가 입력 한 데이터를 캡처하지 못하게하려면 어떻게해야합니까?


10

보안에 중점을 둔 웹 응용 프로그램을 개발 중입니다. 응용 프로그램 (프로그래머, DBA, 품질 보증 직원)에서 작업하는 사용자가 암호, 주민등록 번호 등과 같이 잘 보호되어야하는 사용자 입력 값을 캡처하지 못하도록하기 위해 어떤 조치를 취할 수 있습니까?



"예방"은 매우 강력한 단어입니다. 나쁜 행위자가 나쁜 일을하는 것을 막을 수는 없습니다 . 당신이 할 수있는 일은 "최소한 특권", "직무 분리"및 "암시 적 거부"와 같은 기본 보안 원칙을 배우고 적용하여 안전한 방식으로 사물을 설계하고 신뢰할 수있는 사람들을 고용하는 것입니다. 피할 수없는 결과가 발생했을 때 피해를 완화 할 수있는 실행 가능한 계획을 마련하십시오.
Robert Harvey

필요한 기술에 대한 기술 용어 : 해싱 및 암호화.
Robert Harvey

답변:


22

이것은 매우 간단합니다. 은행은 항상 그렇게합니다.

관련된 세 그룹의 사람들이 있습니다. 이들은 보안 그룹입니다. 별개의 승인으로.

개발자는 보안 권한을 할당 할 수 없으며 프로덕션 데이터를 볼 수 없습니다.

운영자는 보안 권한을 할당 할 수 없으며 소프트웨어를 만들 수 없습니다.

인증을 설정하고 소프트웨어를 만들거나 소프트웨어를 운영 할 수없는 보안 담당자.

개발자는 소프트웨어를 만듭니다. 운영자가 설치하고 운영합니다. 보안 담당자는 두 그룹이 분리되어 있는지 확인합니다.


8
그러나 개발자는 여전히 프로덕션 데이터를 자신의 개인 계정으로 이메일로 보내는 시스템에 무언가를 추가 할 수 있습니다. 또는 생산 데이터를 일부 서버에 기록하여 서버에서 가져옵니다. 이 문제를 해결할 수있는 유일한 방법은 엄격한 코드 검토 체제를 사용하는 것입니다.
Dawood ibn Kareem

3
항상 직원들에게 제공되는 신뢰 수준이 있습니다. 누군가는 궁전의 열쇠를 가져야하며, 당신이 그들에게 주어진 힘을 이해한다고 믿을 수 없다면, 우리는 그 열쇠를 처음에 그 사람에게 줄 수 없습니다.
Chris

1
예, 그러나 코드 검토 제도와 같이 한 사람 이상이 필요한 키가 있다는 것은 타협하기 전에 두 사람이 "astray"로 이동해야하며 "단지"직원이 지정된 키를 잃어버린 것보다 덜 가능성이 있음을 의미합니다. 그들. 그것은 모두 신뢰의 균형과 그 신뢰의 결과가 남용되는 문제입니다. 사람과 환경이 바뀌는 것을 잊지 마십시오. 열쇠를 주었을 때 신뢰하는 사람은 인생에서 일어날 수있는 일이 생길 수 있습니다.
Marjan Venema

1
@EmmadKareem : 맞습니다. 보안 담당자는 그룹 및 비밀번호를 설정 및 재설정하지만 데이터를 볼 수 없습니다. 운영자 만 실제 데이터를 볼 수 있습니다. 실제 출납원이 처리하는 실제 돈과 같은 데이터를 생각하십시오. 프로그래머는 돈을 건드리지 않습니다. 텔러 만. 마찬가지로 보안 담당자는 돈을 건드리지 않습니다. 텔러 만이 돈을 만집니다.
S.Lott

1
@EmmadKareem : DBA는 개발자가 아닙니다. 보안과 데이터의 두 그룹이 있습니다. 데이터 DBA는 "작업"의 특별한 부분입니다. 그들은해야 하지 변경 보안 권한을 가지고; 코드를 작성할 수 없습니다. 그러나 데이터를 볼 수 있으며 개발자가 아닌 운영자처럼 취급해야합니다.
S.Lott

2

프로그래머는 프로덕션 서버에 액세스 할 수 없습니다. 그러나 누군가는 접근 할 수 있어야합니다. 주위에 방법이 없습니다. 그리고 누군가 누군가 제 정신을 잃고 그들의 접근을 남용 할 가능성이 항상 있습니다.

해시 / 솔트 된 데이터는 데이터를 볼 수있는 모든 권한을 가진 사람들로부터도 이론적으로 안전합니다. 그러나 대부분의 데이터는 해싱에 적합하지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.