웹페이지에서 텍스트를 복사하면 숨은 코드가 클립보드에 저장되어 붙이기 하면 코드가 저절로 실행되는 공격이 발표되었다. 미국 보안 연구원 Dylan Ayrey는 페이스트 재킹(Pastejacking) 공격에 주의를 요하며 코드를 깃허브에 공개했다. 이 공격을 이용하면 웹페이지 텍스트를 복사해 터미널에 붙이기 하는 경우 숨겨진 코드가 자동 실행된다.
Ayrey 연구원이 제공한 테스트 웹페이지에는 텍스트가 echo “not evil”로 표시되어 있다.
이 텍스트를 단축키(CTRL+C 둥)로 복사하면 텍스트 마지막 부분에 줄바꾸기(newline) 코드 “\n“이 추가되어 실제로 클립보드에는 echo “evil“\n 이 저장된다.
여기서 “\n“은 아주 중요하다. 터미널에서 입력하는 경우 자동으로 엔터키를 누르는 효과를 가져오기 때문이다. 페이스트재킹 익스플로잇에 “\n“을 포함시키면 CTRL+V로 터미널에 텍스트를 붙이는 동시에 코드가 실행된다. 붙여넣은 코드를 들여다 보고 검토할 겨를이 없다.
Ayrey 연구원은 커맨드를 실행한 뒤 입력된 텍스트를 지우고, 웹페이지상에 표시된 텍스트를 터미널 창에 표시해서 사용자가 의심을 갖지 않도록 만드는 공격 예제도 제시했다.
이런 류의 공격이 발표된 것은 이번이 처음이 아니다. html/css를 이용한 클립보드 하이재킹 공격은 몇 년 전부터 발표되었지만 CSS를 이용한 공격의 경우 텍스트 전체를 복사해 붙여야 하는 반면, 이 공격은 그럴 필요가 없다는 점에서 차이가 있다. 이론적으로 웹페이지 텍스트 전체에 자바스크립트 코드를 보이지 않게 추가해 사용자가 어떤 텍스트를 복사해 붙이더라도 코드가 실행된다. VIM도 마찬가지다.
페이스트재킹 익스틀로잇으로 어떤 공격이 가능할까? Ayrey 연구원은 기술 지원팀을 가장한 피싱 공격을 예로 들었다. 컴퓨터에 문제가 있으니 터미널을 실행시켜 코드를 복사해 붙여 넣으라는 피싱 메일을 보내 악성코드를 실행시키면 원격지 접속이 가능하다.
전문가들은 이 공격으로부터 보호하기 위해 클립보드에 콘텐트 추가를 허용하지 않는 사파리 등의 웹브라우저 사용, 를 사용하는 것이 좋으며, 윈도우의 경우 newline 코드를 포함하는 커맨드 입력 시 경고 메시지를 보여주는 Cmder 프로그램 사용을 권했다. 또한 신뢰하지 않는 웹사이트 텍스트를 복사할 때는 주의할 것을 당부했다.