테크레시피

아마존‧G메일 등에 HTML에 일반 텍스트로 비밀번호 저장?

브라우저 텍스트 입력 필드에 대한 취약성 분석을 통해 대기업이나 관공서 사이트 HTML 소스 코드에 평문으로 비밀번호가 저장되어 있는 게 판명됐다. 문제를 발견한 전문가는 실험에 민감한 데이터를 추출할 수 있는 테스트를 위한 확장 프로그램을 만들어 크롬 웹스토어에 올릴 수 있다고 보고했다.

위스콘신대학 매디슨 연구팀은 아카이브에 공개한 논문에서 브라우저 확장 기능을 지원하는 세분화된 권한 모델이 최소 권한 원칙과 완전한 중재 원칙을 위반하는 것으로 나타낫다며 불철저하게 취약점을 초래한다고 지적했다.

연구팀에 따르면 이번에 특정된 버그는 확장 기능이 웹페이지 내부 코드에 액세스하는 방법에 기인하고 잇다고 한다. 많은 사이트는 HTML 등으로 기술된 문서를 프로그램으로 조작할 수 있도록 하는 DOM(Document Object Model)이라는 구조로 동작하고 있지만 확장 기능이 DOM 트리에 무제한 액세스할 할 수 있게 되어버리는 문제로 소스 코드에 있는 기밀 데이터가 쉽게 추출될 수 있다고 설명하고 있다.

구글은 올해 매니페이스 V3이라는 사양을 크롬에 도입해 확장 기능이 액세스할 수 있는 정보 종류에 엄격한 제한을 가했지만 매니페이스 V3은 확장 기능과 웹페이지 사이 보안 경계를 하지 않아 문제 해소에는 이르지 않는다.

연구팀은 크롬 웹스토어 확장 기능 확인 기능을 테스트하기 위해 GPT 기반 어시스턴트로 개념 증명용 확장 기능을 올렸다. 이 확장 기능에는 HTML 소스 코드를 읽은 뒤 사용자가 입력한 비밀번호를 추출하는 기능이 포함되어 있었지만 분명히 악의적 코드는 포함되지 않았으며 매니페스트 V3도 준수했기 때문에 아무런 문제없이 리뷰를 통과해 승인됐다. 연구팀은 또 실해가 발생하지 않도록 확장 기능을 비공개로 설정했으며 승인 이후 곧바로 삭제했다.

연구팀은 비밀번호 입력 필드에 직접 액세스할 수 있는 확장 기능을 190개 식별하고 있으며 그 중에는 다운로드 수가 10만 회가 넘는 인기 확장 기능도 있었다. 또 이 취약점을 악용할 수 있는 권한이 있는 확장 기능이 전체 중 12.5%에 해당하는 1만 7,300개 있다는 걸 확인했다. 연구팀은 더 심각하게도 사용자 수가 많은 대형 사이트나 정부계 사이트 등 많은 곳이 사용자 비밀번호를 일반 텍스트 형식으로 보존하고 있다는 걸 밝혀냈다.

문제가 발견된 주요 사이트는 먼저 아마존닷컴(amazon.com)의 경우 보안 코드를 포함한 신용카드 정보와 우편번호가 페이지 소스 코드상 평문 형식으로 표시된다. G메일(gmail.com)은 HTML 소스 코드상 평문 비밀번호가 보존되어 있다. 클라우드플레어(Cloudflare.com)도 마찬가지이며 페이스북(facebook.com)은 DOM API 경유해 사용자 입력을 추출 가능하다. 시티뱅크(citibank.com)는 SSN이 웹페이지 소스 코드에 일반 텍스트 형식으로 표시된다.

연구팀은 구글과 아마존 같은 주요 온라인 마켓플레이스는 신용카드 입력 필드에 대해 어떤 보호도 구현하지 않앗다며 이런 웹사이트 규모와 거래량을 고려하면 사이트가 보호되지 않는 게 우려된다고 밝혔다.

한편 구글은 크롬에 설치된 확장 기능이 웹스토어에서 제거되거나 악성코드가 포함되어 있다는 걸 확인하면 사용자에게 경고하는 기능을 도입하고 있다. 이 기능은 크롬117에서 공식 구현 예정이다. 관련 내용은 이곳에서 확인할 수 있다.

정용환 기자

대기업을 다니다 기술에 눈을 떠 글쟁이로 전향한 빵덕후. 새로운 기술과 스타트업을 만나는 즐거움을 독자들과 함께 나누고 싶습니다.

뉴스레터 구독