이미 시간이 좀 지나긴 했는데, ipTIME이 iUX라고 해서 공유기 관리 페이지 UI를 싹 갈아엎었습니다. 디자인 자체는 엄청 유려하고 예뻐졌더군요.(가끔은 버튼 아이콘만으로 기능이 유추되기 힘든 부분이 있어서 헤맬 수 있긴 하지만 쓰다 보면 괜찮아 집니다)
외관 상으로는 확실히 화려해졌을지 모르겠습니다만, 내실을 보면 보안 상 심각한 결함이 생겼습니다.
아마 다른 분들도 느끼셨을텐데, 새 UI부터는 BitWarden이나 1Password, 삼성브라우저의 삼성패스 등 자동 암호 채우기 기능이 작동하지 않을 겁니다. 이유가 뭔가 싶어서 확인해 봤는데요,

아무 글자나 넣고 찾아보니 아이디가 이렇게 들어가더군요.
flt-scene-host > flt-scene > flt-transform > flt-clip > flt-clip-interior > flt-offset > flt-offset > flt-offset:nth-child(2) > flt-offset:nth-child(5) > flt-picture > flt-canvas > flt-paragraph > flt-span
이게 뭔가 싶어서 AI한테 물어보니 플러터를 사용해서 그리는 방식이랍니다. 그래서 여러 비밀번호 관리자 앱에서 정확한 위치를 못 찾는 거고요.
참고로 원래는 input이나 form 같은 요소로 감싸는 게 표준입니다.
이러면 selector가 계속 바뀌어서 어떤 입력 칸이 아이디, 암호 칸인지 앱이 잡아내지 못합니다.(사람 눈으로 보기에는 보여도, 앱이 이해하는 방식은 아닌 것)
본인들 개발 편하자고 이런 방식을 쓴 것 같은데, 이러면 심각한 보안 결함이 생깁니다. 아마 대부분 분들은 각 사이트마다 다른 복잡한 아이디, 암호를 쓰고 그걸 비밀번호 관리자 앱에 저장해서 관리하실 겁니다. 한 곳이 털렸을 때 나머지가 같이 털리면 안되니까요.
따라서 각 사이트의 암호를 모두 기억하고 일일이 타이핑하는 사람은 요즘 시대에는 거의 없습니다.
그런데 이런 방식을 사용하면 결국 암호를 비밀번호 관리자에서 복사해서 UI에 붙여넣기하는 방식을 쓰는데, 평문으로 클립보드에 암호가 넘어가게 됩니다. 클립보드 영역을 침범할 수 있는 악성 앱이 하나라도 있으면 비밀번호는 바로 털리는 거고요, 특히 요즘 안드로이드나 윈도우 등 편의를 위해 클립보드 내역을 저장하는 기능이 있는 경우가 많은데, 이거 켜 두었다면 다른 내용을 복사해서 클립보드를 덮어씌웠더라도 털리게 됩니다. 게다가 요즘 안드로이드 폰은 Windows와 연결되어서 뭔가 복사하면 자동으로 서로간 복사된 내용이 같이 동기화되어 복사되죠.
보안을 중시한다면 하다못해 오픈된 구글 OTP라도 차용해서 2단계 인증이라도 걸어주었어야죠. 이런 방식은 사용자 편의만 해치고 보안은 보안대로 저해하는 방식입니다.
그래도 자동화된 공격을 막을 수 있으니 좋은 거 아니냐고요? AWS나 GCP 등 훨씬 민감한 걸 다루는 곳, 수십억 비용을 탈취당할 가능성이 있는 계정을 관리하는 웹에서도 이런 방식은 안 쓰고 다 비밀번호 관리자 앱 쓰게 해줍니다. 애초에 해커들이 DOM을 해킹할까요? 로그인 HTTP 요청(토큰 요청)을 그냥 반복해서 날리겠죠.
플러터인지 플러팅인지 쓰는 건 상관없는데, 렌더링하고 마지막에 <input type="text" id="username">, <input type="password" id"password"> 이 정도만 넣어주면 됩니다. 제가 알기로 이게 어려운 것도 아니고요.(플러팅 개발은 안해봤지만 상식적인 프론트 개발 툴이면 이런 건 지원해줄 겁니다.)
관련 있어보이는 내용인데, 아마 이렇게 해결하면 될 것 같네요.
아직 초기버전이라서 그부분까지 신경을 못쎴나보네요. captcha는 이전버전에서도 설정에 들어가서 켤수 있던데 새버전에도 그렇게 작동하지 않을까요?
암호앱을 못 써서 클립보드 복붙을 할테니 보안 이슈가 생긴다.라는 논리는 좀 빈약하네요.
이렇게 하지 않는 분들이 정말 대부분일지는 아무도 모르죠.
너무 가셨;;
일부러 패스워드 관리툴 사용을 막는곳도 있는데.. 고작 패스워드 관리툴 사용 호환이 안된다고 보안헛점이라뇨...
저는 타이핑 하고 있습니다.
다만 뭐 제 머리속에 규칙이 5가지 정도가 있어서 가능합니다.
그렇다고 해서 구글 OTP를 넣자는 주장도 환경에 따라 애매할 수 있습니다. OTP는 시간 동기화가 중요한데, 그 시간을 동기화 하기 위해서는 1 장비에 정확한 시계가 있던지, 2 싱크를 주기적으로 맞추던지, 3 인터넷이 연결되어 있어야 하는데, 공유기라는 것이 폐쇄망/인터넷 미연결 상태에서도 되야하는 것이라 OTP를 넣기 어렵습니다.
신기한 글 흥미롭게 잘 봤습니다.