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


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.