2013년 3월 23일 토요일

virtualbox와 키보드보안

virtualbox에서 돌아가는 윈도우에서 뱅킹 플러그인을 깔면서 virtualbox가 죽는 현상은 많이 보았을 겁니다. 하지만 키보드 보안 제작한 개발자가 일부러 가상머신을 사용하면 무용지물이니 엿먹이려고 죽이는 건 아닙니다. 모든 일에 사람의 의도가 있다면 참 얼마나 설명하기 편하겠냐마는.

PC의 PS/2 키보드의 하드웨어는 수십년전 PC 초창기의 8042 칩셋이 하는 일과 별로 다르지 않습니다. 단지 지금은 메인보드 칩셋에 원칩으로 올라가 있지요. 키보드 보안 플러그인은 암호화라는 이유로 키 시퀀스에 쓰레기 정보를 넣게 되는데 그 과정에서 이 칩셋의 주소를 직접 접근합니다. (USB 키보드가 많이 퍼진 지금에 이게 무슨 의미가 있는지 싶지만.) 문제는 이 키보드 보안 플러그인은 오늘날의 주요 OS가 전혀 사용하지 않는 하드웨어 주소에 접근한다는 것이지요. 그러므로 가상 머신에서 생각하지 못한 코너 케이스가 발생합니다. 정확히 잡으려면 제대로 디버깅을 해 봐야 겠지만 virtualbox 소스에서 src/VBox/Devices/Input/DevPS2.cpp

vmware는 뭔가 이런 주소에 접근하는 것 마저 하드웨어와 똑같이 동작하도록, 최소한 문제는 없도록 작성된 모양입니다.

댓글 1개:

  1. virtualbox.org 에 버그리포트를 올렸습니다.

    virtualbox crashes after installing TouchEnKey_Installer_x86.exe (anti-keylogger)
    https://www.virtualbox.org/ticket/11914

    VirtualBox makes the linux host reboot on running SCSK 4.0 (anti-key logger)
    https://www.virtualbox.org/ticket/11915

    답글삭제

뜬금없이 문법 따위를 지적하거나, 오래된 글에 링크가 깨진 걸 지적하는 등의 의미 없는 댓글은 자제해 주시기 바랍니다. 그러한 경우 답 없이 삭제합니다. 또한 이해 당사자이신 경우 숨어서 옹호하지 마시고 당사자임을 밝히시길 바랍니다.

참고: 블로그의 회원만 댓글을 작성할 수 있습니다.