[보안뉴스 문가용 기자] 정보를 공유할 때, 민감한 부분만 골라서 흐릿하게 처리하는 기법은 꽤나 오래 전부터 사용되어 왔었다. 보안 전문가 댄 페트로(Dan Petro)는 이것이 늘 불편했다. 픽셀을 뭉개서 글자가 안 보이게 한다고는 하지만, 마음만 먹으면 많은 정보를 추출하는 게 가능했기 때문이다.

[이미지 = utoimage]
그러다가 한 트위터 사용자가 픽셀레이션이 적용된 텍스트를 올리고서는 누구든 해독해보라고 도전했다. 비숍폭스(Bishop Fox)의 보안 전문가 댄 페트로도 이걸 봤고, 곧바로 해독에 도전했다. 그것이 계기가 되어 페트로는 6개월 만에 이런 식으로 난독화 처리가 된 텍스트를 공격할 수 있게 해 주는 공격 도구를 개발하는 데 성공하기에 이르렀다.
“늘 픽셀레이션으로 처리된 텍스트를 볼 때마다 ‘저게 안전할 리가 없는데’라는 생각이 들었어요. ‘정보 보안의 한 기법으로 취급하기에는 너무 열악할 것이 뻔한데, 왜 다들 저렇게만 할까’라는 궁금증도 같이 들었고요. 픽셀레이션 처리가 되었어도 정보를 추출할 방법이 있을 것이라고 늘 확신하고 있었습니다.”
그리고 어제 페트로는 텍스트를 흐릿하게 하여 내용을 숨기는 기법의 문제에 대한 상세 보고서를 발표했고, 동시에 스스로가 개발한 오픈소스 도구 언리댁터(Unredacter)를 공개했다. 언리댁터는 이미 오픈소스로 공개되어 있기 때문에 누구나 다운로드 받아 조정하여 쓸 수 있다고 한다. 참고로 위 ‘도전 과제’의 정답을 이미 페트로는 맞춘 상태다.
사실 텍스트 정보의 ‘블러링’ 혹은 ‘픽셀레이션’을 통한 부분 감추기 기법에 한계가 있다는 지적인 계속해서 나왔었다. 2005년 리하이대학교의 연구원들은 텍스트를 부분적으로 가린다고 해도 정보가 유출된다는 내용의 논문을 발표했었다. 글자를 가린다고 하지만 완전히 사라지는 게 아니고, 기울어짐이나 점, 아래로 길게 이어진 획 등과 같은 흔적이 보이는 경우도 많으며, 이른 바 ‘사전 공격(dictionary attack)’ 기법에도 취약할 수 있다는 내용이 담겨 있다.
2014년에도 한 머신러닝 엔지니어는 블로그 게시글을 통해 ‘픽셀레이션을 수학적으로 해독할 수 있다’고 주장하기도 했다. 2016년, 네 명의 연구원들은 은닉 마르코프 모델(Hidden Markov Model)이라는 확률성 접근법을 사용해 화질이 낮은 상태의 이미지를 80%나 복구시킬 수 있다는 걸 증명했다. 텍스트가 조밀하게 모자이크 처리 되어 있거나, 블러링의 반경이 20이 넘을 때(즉 많은 픽셀을 동원하여 블러 처리를 했을 때) 인식률이 조금 떨어진다고 연구원들은 주장했다. 즉 글자 외에 더 많은 정보들이 개입해야만 제대로 정보를 가릴 수 있다는 것이다.
“모자이크 처리와 블러링은 부분 가리기를 하기 위해 가장 많이 사용하는 기법입니다. 맨눈으로 보기에 결과물이 크게 흉하지 않기 때문이죠. 일부 단어를 군데군데 검은색 박스로 가린다거나 문서 일부 구간을 오려내는 것보다 훨씬 보기에 좋습니다. 하지만 숨길 정보를 확실하게 숨긴다는 면에서는 검은색 박스로 칠하거나 오려내는 게 훨씬 안전합니다. 흐릿하게만 하면 많은 힌트들이 남습니다.” 당시 연구원들이 쓴 말이다.
픽셀레이션은 특정 구역의 해상도를 크게 떨어트리면서 글씨를 읽을 수 없게 만드는 접근 방식이다. 예를 들어 세로로 16개 픽셀을 차지하고 있는 12 포인트 글자를 4 픽셀 높이의 그리드에 넣는 것이다. 이 원리를 아는 공격자가 블러 처리 된 이미지가 원래 글자였다는 것을 인지하게 된다면 어떨까? 폰트 크기와 실제 폰트 이름만 알아도 원래 글자를 복구할 수 있게 된다.
“일단 실제로 있을 법한 공격 시나리오를 떠올려보죠. 공격자는 피해자의 문건을 확보하는 데 성공했습니다. 그런데 중요한 부분이 픽셀레이션으로 가려져 있어서 읽을 수가 없는 겁니다. 그럴 때 공격자는 가려진 글자의 바로 옆이나 위의 글자들을 보면 됩니다. 그러면 폰트 종류와 폰트 크기를 충분히 유추할 수 있습니다.” 페트로의 설명이다. “그것을 바탕으로 픽셀레이션의 원리를 역으로 되돌리면 가려진 글자가 뭔지 알 수 있게 됩니다.”
페트로가 설명한 해독의 원리는 그가 개발한 언리댁터 도구의 깃허브 페이지(https://github.com/bishopfox/unredacter)에 등장하는 짤막한 영상 자료를 통해 열람이 가능하다. 현재로서 이 도구를 활용할 경우 가려진 텍스트를 한 글자씩 순차적으로만 해독할 수 있다.
당연하지만 픽셀레이션 혹은 블러 처리 된 텍스트를 원상복구 하는 도구를 페트로가 최초로 개발한 건 아니다. 비슷한 원리로 작동하는 데픽스(Depix)라는 도구도 존재한다. 데픽스 역시 깃허브에 공개(https://github.com/beurtschipper/Depix)가 되어 있다. 보안 업체 포지티브 시큐리티(Positive Security)도 블로그를 통해 비슷한 연구 결과를 발표(https://positive.security/blog/video-depixelation)한 바 있다.
페트로는 “민감한 정보를 가린 채 문건을 공개해야 할 일이 있다면 픽셀레이션이나 블러가 아니라 새까만 박스로 칠해버리는 게 낫다”고 말한다. “숨길 텍스트를 전부 까맣게 칠했다면 주위에 있는 다른 텍스트 정보를 가지고 숨겨진 글자를 찾아낼 방법은 거의 없습니다. 유출 걱정이 완전히 사라진다고 봐도 무방합니다. 다만 글 내용의 맥락을 통해 가려진 부분을 유추하는 것까지 막을 수는 없습니다.”
3줄 요약
1. 문서의 민감한 내용을 부분적으로 가리기할 때 많이 사용되는 ‘픽셀레이션’ 기법.
2. 하지만 원리가 간단하기 때문에 주변 텍스트로부터 힌트를 얻어 해독하는 게 가능.
3. 때문에 가릴 부분은 까맣게 박스 처리하는 게 가장 안전함.
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>