2009-07-16 4 views
0

로그인 화면 (표준 사용자 이름/암호)을 사용하는 Delphi (5) 응용 프로그램을 사용하고 있으며 난독 화되어 있어도 암호 저장 응용 프로그램이 화면의 로그인 필드를 식별 할 수 있다는 사실을 최근에 알게되었습니다 , 사용자 정보를 저장하도록 제안합니다. 우리 프로그램의 보안 성이 높기 때문에이를 허용하지 않습니다. 지금까지 이러한 응용 프로그램이 필드를 탐지하거나 시도하지 않도록 차단하는 방법에 대한 정보를 찾을 수 없었습니다. 이 옵션 중 하나가 가능합니까? 그렇지 않은 경우 다른 옵션을 사용할 수 있습니까?양식 필러를 차단할 수 있습니까?

답변

4

다음은 몇 가지 생각입니다. 양식 필러가 어떻게 작동하는지 알고 있습니까?

1) 런타임시 사용자 이름/암호 상자를 동적으로 만들 수 있습니까? 세미 임의의 구성 요소 이름을 사용합니까? 로그인 폼을 만들 때 몇 가지 구성 요소를 만드는 것은 어렵지 않습니다.

2) 표준 편집 컨트롤을 키 누르기 상태 시스템으로 대체하여 (예 : TLabels를 사용하여) 입력을 효과적으로 위조 할 수 있습니까?

3) 편집 컨트롤에서 잘라 내기/복사/붙여 넣기를 차단 하시겠습니까?

4) 양식의 기본 메시지 처리기를 재정의하고 앱에서 '오지 않은'키 누르기 이벤트를 삼킨?

+0

레이블 제안이 그랬습니다. 응용 프로그램이 이제 로그인 화면이없는 것으로 보입니다. Ctrl-Fkey 조합에서 키 핸들러를 가지고 있기 때문에 키를 처리하기 위해 키보드 핸들러를 추가하는 것이 간단합니다. –

+0

쿨, 도움이 기쁘다. :-) – robsoft

+0

대부분의 양식 작성자는 마스크 편집 속성으로 필드를 포착합니다. 그래서 '가짜'라벨 방법이 그 일을합니다. 또한 보안 문자 필드를 추가 할 수 있습니다. 채울 한 번 더 필드가 성가신 수 있지만 보안을 위해 그것은 가시와 장미. 암호 기술은 필드 채우기에도 사용됩니다. – user114285

0

사용자가 양식 작성 도구를 사용하지 말라고 요청합니까? 사용자의 컴퓨터에서 어떤 종류의 제어가 가능할지 모릅니다.

또는 플러그인 (예 : Roboform)이 브라우저에 설치되어 있는지 감지하고 경고 상자를 설치하는 방법을 찾으십니까?

+0

이것은 브라우저 응용 프로그램이 아니며 독립 실행 형 Win32 실행 파일입니다. 나는 아마 충분히 분명히하지 않았다. 미안하다. –

0

keybd_event 함수를 사용하여 장치 드라이버 내부에서 생성 된 키보드 이벤트와 다른 프로그램에서 생성 된 키보드 이벤트를 구별 할 수있는 방법이 없다고 생각합니다.

양식 입력란에 복사 & 붙여 넣기를 사용하는 경우 간단합니다. WM_PASTE 메시지 만 차단하면됩니다.

5

사용자는 항상 자신의 시스템에서 제어 권한을 행사할 수 있습니다. 사용자가 Post-It 메모를 모니터에 부착하지 못하도록 방지하여 자동 양식 필러가 작동하지 않도록 할 수 있습니다.

보안을 유지하기 위해 사용자를 신뢰하는 한 사용자의 약점을 처리해야한다는 사실을 다루십시오. 개별 사용자의 능력을 제한하여 언제든지이를 완화 할 수 있지만 장기적으로 사용자가 자신의 개인 정보에 대해 충분히 신경 써서 제대로 보호하기를 바랍니다.

반면에이 애플리케이션이 사무실에서만 사용되는 경우 사용자가 보안 환경에서 비밀번호 관리 앱을 사용하는 이유는 무엇입니까?

+0

"사용자는 항상 자신의 시스템에서 제어 권한을 발휘할 수 있습니다." 네 감사합니다. 나는 한 걸음 더 나아갈 것이다. 컴퓨터 소유자가 자신의 시스템을 통제하지 못하게하는 것은 도덕적으로 악성 코드를 작성하는 것과 구별됩니다. 그것이 당신의 프로그램 일지라도, 그것을 실행하는 컴퓨터는 귀하의 자산이 아닌 자산입니다. –

+0

내가 알고있는 바에 따르면 비밀번호 관리 앱은 대다수의 생체 인식 장치에 포함되어 있습니다. 우리의 애플리케이션을 차단하는 이유는 애플리케이션 및 사용자가 매우 민감하고 기밀 데이터를 처리해야하기 때문입니다. Google은 사용자를 교육하지만 비밀번호 차단 앱을 차단하면 보안 침해에 대한 죄책감이 사용자가 아닌 사용자에게 전달됩니다. –

+1

이동할 부담이 없습니다. 사용자와 고용주는 컴퓨터의 소프트웨어에 대한 책임이 있습니다. 너는 그렇지 않다. 그들이 * 암호 관리자를 설치하고 * 사용하면 암호가 누출되는데, 이는 고객의 잘못이며 전혀 우려 할 사항이 아닙니다. –

1

웹 응용 프로그램에서 사용하는 접근 방식을 사용하여 양식을 채우기 위해 자동화 유틸리티를 쉽게 작성할 수 없도록 할 수 있습니다. 이것은 사용자가 계속하기 전에 입력해야하는 텍스트가 포함 된 이미지를 표시하는 것을 포함합니다. 화면에서 "텍스트"를 읽을 수있는 자동화 유틸리티는 화면에서 "그래픽"을 쉽게 읽을 수 없습니다 (최소한 광범위한 OCR 프로그래밍이 없으면 적어도). 이러한 프로그램의 대부분은 간단한 OCR 패스가 실패 할 수 있도록 텍스트를 왜곡합니다.

이것은 매우 쉽습니다. 폴링하려는 단어의 이미지가 수십 개 정도이므로 앱이 처음 시작될 때 무작위로 숫자를 선택하십시오 (난수 생성기를 시드하는 것을 잊지 마십시오). 사용자가 키 입력 할 이미지를 선택하십시오.이미지와의 비교를 수행 할 때 리터럴 비교를 수행하지 말고 대신 이미지의 CRC 또는 이와 유사한 내용과 비교하십시오.

사용자의 보안을 강화하기 위해 암호를 더 자주 변경하도록 요구할 수도 있습니다. 보안이 요구되는 경우 미리 설정된 표준에 따라 변경해야하는 강력한 암호가 필요합니다. 예를 들어, 대/소문자, 최소 하나의 숫자 값, 최소 하나의 기호 및 최소 8자를 필요로합니다. 암호는 표준 사전에있을 수 없으며 (맞춤법 검사에 실패 함) 마지막 n 번 사용되었습니다. 암호는 20 일 후에 만료됩니다.

나는 실제로 데이터베이스에 암호를 저장하지 않을 것입니다. 대신 암호의 해시 값을 저장하십시오. 사용자의 현재 암호를 알아야하는 유일한 사람이 암호를 입력 한 사람입니다.

+0

설명하는 것은 * captcha *입니다. –

+0

암호는 실제로 이중 암호화되고 해시됩니다. 예, 우리는 편집증 환자입니다. Captcha는 여기에 실용적이지는 않지만 유용 할 수있는 또 다른 곳이 있습니다. 그래서 그 점을 명심하십시오. –

관련 문제