Lockdown Browser가 싫은 이유

최근들어 거의 대부분의 작업을 위해 리눅스 노트북을 사용하고 있습니다. 윈도우나 맥OS가 아닌, 터미널을 사용할 수 있다는 점이 꽤 재밌고 유용하기 때문이죠.

그래서 궁금해진 점이, 제가 현재 듣고 있는 강의의 시험을 똑같은 노트북해서 치를 수 있는지, 노트북이 Respondus의 Lockdown Browser를 돌릴 수 있을지 궁금해졌습니다. 이 프로그램은 시험 전용 브라우저로, 시험을 치르는 동안 다른 프로그램들을 못 돌리게 막습니다.

요약해서 정리하자면: 불가능합니다. 하지만 같이 확인해보고 싶다면 Lockdown Browser가 얼마나 끔찍한지, 그리고 요즘 학생들이 겪어야 하는 미친 짓거리를 구경할 수 있죠.

리눅스 버전이 있나요?

물론 처음으로 확인해야죠. 없습니다.

가상머신으로 돌아가나요?

돌아갑니다. 이 화면을 보여주려 말이죠:

lockdown-browser-lockout-part-1

그리고 바로 종료됩니다.

리눅스 덕후로서, 조금 더 깊이 파해쳐봅시다.

Lockdown Browser 속이기

LDB가 VM에서 돌아가는 사실을 LDB에게서 숨겨야 합니다.

일단 호스트 머신의 SMBIOS 정보를 그대로 가상 머신으로 념겨야 합니다. 그럴려면 QEMU의 XML을 편집해야 되는데, <os> </os> XML 태그 사이에 다음 줄들을 삽입합니다:

<os>
  <!-- Some other lines... -->
  <smbios mode="host" />
</os>

다음으로, CPU 정보도 변경해야 합니다. 기본적으로, QEMU는 가상 머신에게 가상화 아래 돌아가고 있다고 보고하고, vCPU가 실제 CPU가 아니라고 보고합니다. QEMU가 너무 정직하게 이러지 않도록 하고, CPU 정보를 그대로 넘기라고 지시해야 하죠. <cpu> 태그를 찾은 다음, 닫혀 있을 경우 닫는 태그를 새로 생성한 후 중간에 다음 줄들을 붙여넣습니다:

<cpu ...>
    <topology sockets="1" dies="1" cores="1" threads="2"/>
    <feature policy="disable" name="hypervisor"/>
</cpu>

이때 CPU 토폴로지를 vCPU 설정값에 알맞게 변경해야 합니다. 만약 잘못된 설정값이 입력되었을 경우, 적용되지 않거나 VM이 크래시할 수 있습니다.

이렇게 하이퍼바이저를 비활성화시켜주면, VM에게 실제로는 가상화되고 있지 않다고 거짓말을 하는 셈이 됩니다. 그럼 VM은 CPU가 가상화 능력이 있다고 가정하고, 가상화되고 있다고 생각하지 않죠. 게스트 OS 내부의 작업 관리자로 확인해보세요; 만약 “가상 머신: 사용"으로 표시된다면 설정이 제대로 적용되지 않은 사례입니다. 제대로 적용되면 “가상화: 사용"으로 표시되어야 합니다.

마지막으로, LDB에게서 감춰야 하는 것은 기기 명칭입니다. 가상 머신 전원을 킨 다음, regedit 안으로 들어가, 다음 경로로 이동합니다:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\SCSI

각 가상 드라이브의 FriendlyNameSamsung HDD 500 GB ATALG SuperDrive 20x CD-ROM처럼 변경해줍니다. (만약 regedit이 경고 메시지를 띄우면 권한을 새로 추가해줘야 할 수도 있습니다.)

이렇게 설정값들을 모두 변경해주면, LDB가 이제 실행될 겁니다.

잠시동안요.

2단계 환경 확인?

아쉽게도, LDB는 시험이 시작된 후 한번 더 환경을 확인해서 사용자가 컴퓨터가 시험을 치를 수 있다고 믿게 만듭니다. 시험을 시작하면, 몇 초 후에 다음과 같은 화면이 표시됩니다:

lockdown-browser-lockout-part-2

아마도 다른 가상 머신 탐지 방법을 사용하는 듯합니다. 만약 궁금하다면, pafish라는 레포지토리에서 몇몇 탐지 방법을 확인해볼 수 있습니다.

아마도 시간이 넉넉하다면 이 탐지 기법도 우회할 방법을 찾을 수 있을 듯 합니다. 하지만 시험은 다음 주에 치뤄지고, 솔직히 확인하고 싶은 마음도 없으며, 실제 시험에서 이 문제가 발생한다면 리눅스 노트북에서 시험을 치르고 싶었다고 설명해도 부정행위로 간주할 가능성 때문에 그냥 다른 컴퓨터로 시험을 볼 듯 합니다.

물론, 그 마지막 문장에서 문제가 보이겠죠.

Lockdown Browser가 도대체 뭘 방지하나요?

Lockdown Browser는 부정행위를 방지하고자 시험을 치루고 있는 컴퓨터를 잠궈 다른 프로그램들 (예를 들어, 다른 브라우저)를 실행할 수 없게 만듭니다.

물론, 이는 시험을 치루는 컴퓨터으로 한정되죠.

그럼 학생들이… 컴퓨터 2대를 사용한다면? 아니, 휴대폰을 사용한다면? 모두 다 휴대폰 한 대씩은 있죠? 님폰없?

저희 교수님은 실제로 학생들에게 만약 노트 자료가 노트북 상에 있을 경우 (오픈노트 시험), 캠퍼스의 컴퓨터를 사용하여 시험을 치르도록 권장했습니다. 그럼 Lockdown Browser를 사용하는 이유가 뭐죠?

그리고 Lockdown Browser를 설치하면 안되는 이유 몇 가지…

가상 머신으로 돌리는 방식을 테스트하던 도중, Lockdown Browser가 가상화된 OS가 비정상적으로 동작하도록 하는 것을 확인했습니다. 한 때는, 작업 관리자가 갑자기 비활성화되었는데, Lockdown Browser가 열려있지 않음에도 작업 관리자를 열 수 없었습니다. 가상 머신 스냅샷을 복원하여 이전 상태로 돌아가 그제서야 다시 모든 것이 정상적으로 작동했죠.

그게 전부가 아닙니다. 만약 “Lockdown Browser broke my computer”를 검색해본다면, 레딧에 여러 경험담을 확인해볼 수도 있죠:

별로 놀랍지도 않은게, Lockdown Browser는 다른 프로그램이 열리는 것을 방지하고, 컴퓨터 전체 통제 권한을 가져가며, 슬립 모드로 진입하는 것을 막기 위해 윈도우의 그룹 정책, 레지스트리, 그리고 전원 옵션들을 건드립니다. 그리고 LDB의 코드가 발로 작성했는지 가끔씩 시험이 종료되었는데도 시험 전 상태로 복원해놓지 않는 경우도 있죠.

학생들이 학기 도중에 컴퓨터를 포맷하고, 운영체제와 수업에 사용되는 모든 프로그램을 하나하나 재설치하는 것보다 할 만한 좋은 것들이 뭐가 있을까요? 없죠. 윈도우/맥OS 설정 화면을 반가워하는 학생들만 있을거라 확신합니다.

다른 방안은요?

윈도우 샌드박스를 사용하는 다른 프로젝트가 있는데, 예는 실제로 시험 종료까지 정상적으로 작동합니다. (아마도 윈도우 샌드박스는 하이퍼V (Hyper-V)를 사용해서 그런 것 같은데, 얘는 마이크로소프트가 기업 고객들과 Xbox 취약점을 막아내기 위해 적극적으로 투자해서 탐지하기 더 어려운 듯 합니다.) 히지만, 최근에 Respondus의 버그 트래커에 레포지터리가 추가되면서, 추후에는 사용할 수 없게 패치될 듯 합니다.

그럼 어떻게 하죠?

이 블로그 글이 업로드되면, 교수님에게 링크를 보내서 Lockdown Browser의 사용이 재검토될 수 있도록 할 예정입니다. 만약 학교나 대학에서 Lockdown Browser를 사용한다면, 교수님이나 선생님께 이 블로그 글 링크를 보내 Lockdown Browser를 사용하지 않도록 추천하는 것을 권장합니다.

여기서 몇몇 분들은 제가 VM 탐지 기능 우회를 실패했기 때문에 LDB가 잘 동작하는 것이 아닌지 의문이 들 수 있습니다. 결론적으로 잘 동작하는 게 아닙니다. 이 글의 목적은 LDB가 필요 없음을, 학생들에게 골치아픈 문제만 하나 더 만들어주며 컴퓨터를 망가뜨리는 윈인이 될 수 있음을 보여주는 것입니다. 실제로 부정행위를 하는 학생들은 그냥 다른 기기들을 사용하면 LDB의 부정방지 시스템에 걸릴 위험도 전혀 없거든요. 다시 말해, LDB는 학생들을 차별하는데, 특히 여러 기기를 구매할 여력이 안되는 가난한 학생층을 더욱 더 차별하면서 부정행위를 하는 학생들은 그냥 하게 내버려둔다는 것입니다. (아마도 여기에 적절한 사회 논평 한 줄이 있을 것 같은데 지금 거의 자정이라 떠올리는게 너무 힘들고 귀찮아서 하나 상상해서 여기에 대체하시면 됩니다.)

사용이 중지되는 그때까진, 도서관 컴퓨터 등에 이 멀웨어스러운 시험 프로그램을 깔아서 사용해야겠죠. 개인 컴퓨터에, 설사 리눅스에서 동작하더라도, 미쳤다고 설치하는 일은 절대로 없을테니까요.

업데이트

오늘 교수님께서 답변을 보내주셨는데, 추후에 Lockdown Browser 요구사항이 삭제될 예정이라고 합니다! (교수님께서 지금 만약 이 글을 읽고 계신다면 감사합니다!)

만약 기관에서 Lockdown Browser의 사용을 요구한다면, 이 블로그 글을 보내서 얼마나 쓸데없는 일인지 보여주는 것을 고려해보세요. 그리고 만약 기관이 정책을 변경한다면 어딘가에 경험담도 올려주시고요! 이 쓰레기 같은 소프트웨어에 대한 비판이 많아질수록 사용하지 않는 것이 일반화되겠죠.

댓글