| 구글 글래스를 끼고 (머리를 쓰니) 암호가 보인다! | 2014.08.11 | ||||||||||||||||
스마트 기기에 탑재된 카메라 앱을 활용한 공격법 PEK 활용이 현재까지는 유일한 대처 방법 [보안뉴스 문가용] 이번 블랙햇 2014에서 인기를 굉장히 많이 끈 강연 중 하나는 ‘구글 글래스를 끼니 당신의 암호가 보여요!’라는 제목을 가진 매사추세츠 로웰 대학 연구진들의 발표였다. 물론 끼기만 하면 암호가 매트릭스 영화의 코드처럼 보이는 건 아니지만, 타깃형 공격으로 활용했을 때 꽤나 정확도 높아 이슈가 되었다. 그 방법을 간단히 요약해보았다.
- 지문의 움직임 트래킹하기 - 터치가 된 지점을 파악해서 소프트 키보드에 대입하기 - 두 이미지 사이에 호모그래피 활용하기 1번 단계 : 영상 찍기 - 구글 글래스로 촬영을 한다. 웹 카메라, 스마트폰, 카메라, 스마트워치 등을 활용하는 것도 가능하다. 여기서 카메라 각도, 거리, 조명 값이 각각 발생한다. - 화면에 포착해야 하는 건 기기 화면과 그 화면을 터치하고 있는 손가락의 움직임이다.
2번 단계 : 사전 정보 처리
- 터칭 프레임은 손가락이 화면의 표면을 터치하는 장면이 담긴 영상 프레임을 말한다. - 터치를 하고 있는 손가락의 움직임을 분석해 패턴을 파악한다. 일반적으로 손가락은 위에서 아랫방향(화면이 있는 쪽)으로 움직이고 멈춘 후 다시 위 방향(화면과 반대 방향)으로 움직인다. - 손의 주요 지점을 트래킹한다. 터치하는 동안 손 모양은 거의 일정하기 때문에 가능하다. - 손이 움직이는 속도(velocity : 빠르기와 방향을 다 포함한 개념)를 하는데, 이때 손이 아래로 움직이면 양수, 손이 위로 움직이면 음수값을 준다. 그러므로 터치가 이루어지는 그 순간의 속도는 0에 가깝다. 터칭 프레임은 바로 손의 속도가 0이 되는 프레임이다. 만약 손의 속도가 너무 빨라 속도가 0인 프레임이 없다면 속도가 양수에서 음수가 되는 지점을 찾는다.
4번 단계 : 호모그래피 매트릭스 - 터치스크린의 네 꼭짓점을 찾는다. 기기의 네 꼭짓점과는 다른 지점으로 터치스크린의 네 변이 교차하는 지점을 말한다. - 이 꼭짓점을 바탕으로 호모그래피 매트릭스를 구성한다.
5번 단계 : 화면에 닿는 부분 찾기 - DPM 객체 감지기를 사용해서 위에서 찾은 터칭 프레임 내에서 터칭이 되는 손가락 끝 지점을 찾는다. - 그 지점 둘레로 큰 사각형을 구성한다.
6번 단계 : 터치가 된 영역 어림잡기 - K-means Clustering 기법을 사용해 방금 그린 커다란 사각형 범위를 작은 픽셀 단위로 줄여나간다. 이때 빛의 밝기와 그림자가 많은 방해가 된다. 손가락은 더 밝게 처리하고, 화면은 더 어둡게 만들면 조금 쉬워질 수 있다. - 위의 작업을 바탕으로 터치가 된 부분을 정확하게 알아낸다. 윤곽선의 중앙 지점과 손가락 끝이 향하는 방향, 그리고 제일 꼭대기 지점을 일자로 연결시키면 된다.
7번 단계 : 정확한 숫자 알아내기 - 손가락이 닿은 부분을 어림잡은 사각형의 크기가 많이 줄어들었다면 그 범위를 픽셀화시켜서 위치를 파악한다. - 그래서 닿은 지점을 찾았다면 소프트웨어 키보드의 이미지와 대조해서 어느 숫자에 해당하는지를 찾아낸다.
8번 단계 : 정확한 숫자 알아내기(계속) - K-means Clustering을 적용해 실제 터치가 일어난 영역을 산출한다. - 제일 어두운 클러스터의 윗부분의 한 지점을 ‘닿은 지점’으로 사용한다.
결과 1 : 8피트 정도 떨어진 거리에서의 정확도
결과 3 : 타깃과 카메라 종류에 따른 성공률
결론 : 스마트 기기의 카메라를 활용하면 사람들의 터치 패턴을 읽어내 암호를 유추하는 것이 가능하다. 게다가 성공률도 무척이나 높다. 이는 알고리즘만 제대로 적용하면 자동화시킬 수도 있으며 PEK(Privacy Enhancing Keyboard)를 활용함으로써 방어할 수 있다. [국제부 문가용 기자(globoan@boannews.com)] <저작권자: 보안뉴스(http://www.boannews.com/) 무단전재-재배포금지> |
|||||||||||||||||
|
|