June 23, 2014

fastcodesign ; 사이트의 보안을 더욱 취약하게 만드는 3가지 UX 실수

Originally posted : June 23, 2014

-

 3 UX Mistakes That Make Sites More Hackable 
 사이트의 보안을 더욱 취약하게 만드는 3가지 UX 실수 

AKTA에서 일하는 드류 데이빗슨은 몇 가지 간단한 디자인적 개선만으로도 보안과 관련된 부분들을 미리 대비할 수 있다고 밝혔다.

-

브라우저에 위치한 주소입력창이 잠재적인 보안 허점이 될 수 있다는 사실을 알고 있는가? 나 역시 몰랐다. 뭔가 검색 문구를 입력하거나 하지 않으면 사실 쳐다볼일도 거의 없었다. 하지만 ÄKTA에서 디자인 부사장으로 있는 드류 데이비슨(Drew Davidson)에 따르면, 그러한 UI 상의 작은 틈새 하나가 해커에게는 웹사이트에 잠입할 수 있는 도구로 활용될 수 있다고 한다.

"디테일은 그저 단순히 디테일이 아닙니다. 디테일은 그 자체로 하나의 결과물입니다."라는 찰스 임스(Charles Eames)가 했던 유명한 말처럼, 지금부터 작은 부분에서 웹사이트에 허점을 만들 수 있는 3가지 미묘한 사용자 경험 디자인 실수들을 소개한다.


1. 인터페이스에 포함된 보안 기능들은 굉장히 골치 아픈 존재이다.

보자, 2단계 인증 시스템(역자 주:비밀번호 로그인에 핸드폰 등의 추가 인증 시스템을 제공하는 것)과 같이 멋진 보안 도구들이 굉장히 유명하지 않은가? (구글이나 드랍박스만 봐도 알 수 있다.) 하지만 데이비드슨이 밝힌 우리의 직관과 반대되는 사실은, 사이트의 인터페이스가 좀 더 다루기 어려운 방향으로 변화할 수록, 심지어 그렇게 만든 이유가 사용자의 데이터를 좀 더 잘 보호해주기 위한 것과 같은 좋은 의도였다할지라도, 사용자는 오히려 반대로 그것은 능동적으로 더욱 약화시키기 위해 노력하는 경향이 있다는 사실이다. 

"너무나 많은 단계를 요구하는 보안 규정은 사실 별로 효과가 없습니다." 라며 데이빗슨은 설명했다, "왜냐하면 사람들은 좀 더 편리하게 서비스를 이용하기 위해 오히려 간단한 형태의 암호를 설정하는 것과 같은 식의 경솔한 행동을 하는 경향이 있기 때문입니다."



데이빗슨은 파일스토리지 회사(이름을 직접 거론하진 못했다)를 예로 들었다: "그 회사의 경우 회원가입에 이르기까지 말 그대로 25개의 단계를 거쳐야 합니다." 이것은 만약 사용자가 병원 진료 기록이나 주민등록번호와 같은 민감한 정보를 서버에 올리는 경우에만 해당되는 보안 수준입니다. 하지만 실제로 대부분의 사용자들은 그저 "이력서나 사진 같은 것을 저장하는, 드랍박스처럼 작동하는 그런 소프트웨어를 원할 뿐입니다." 이런 식의 마치 포트 녹스(Fort Knox(역자 주:미국 Kentucky 주 북부 Louisville 근처의 군용지; 연방 금괴 저장소가 있음))와 같은 느낌의 과도하게 보안을 중시한 UI 디자인은 사용자로 하여금 오히려 역으로 그들의 보안 수준을 떨어뜨리게 만드는 역효과를 낳을 뿐입니다. 물론 이것은 회사나 사용자 모두에게 안 좋은 일이죠. 

2. 당신의 유저 인터페이스는 백엔드 시스템에 접근할 수 있는 보안 구멍들도 가득차 있다.

이 부분이 바로 주소 입력창이 어떻게 문제가 될 수 있는지에 관한 이야기이다. "많은 사이트들이 결제 과정의 보안을 강화하기 위해 과정별로 각각 다른 공급자들을 사용합니다," 데이빗슨은 말했다. "이 때 당신이 결제를 진행하기 위해 기다리는 동안 주소입력창의 URL이 변하는 것을 지켜볼 수 있을 것이다, 그리고 이것은 해커에게 당신이 현재 정확히 어떤 보안 시스템을 사용하고 있는지를 말해주는 것이 된다, 그리고 해커는 이를 활용하여 그들이 시스템에 잠입할 방법을 좀 더 용이하게 찾을 수 있게 된다."

시스템 공급자의 이름, 소프트웨어 라이브러리, 심지어는 파일과 폴더 구조조차도 사고의 시발점이 될 수 있다. 데이빗슨은 바로 이 방법을 통해 에드워드 스노든(Edward Snowden)이 자신에게 접근 권한이 없었던 NSA 파일들에 접근할 수 있었다고 말했다. NSA의 소프트웨어 인터페이스는 스노든에게 직접적으로 파일을 열 수 있는 권한을 주지는 않았지만, 대신 어느 부분에 민감한 정보들이 담겨져 있는지는 알려주었다. 이러한 정보를 토대로 스노든은 커맨드 라인에서 "백도어(back door;역자 주:해킹할 때 사용하는 명령어를 뜻함)" 와 같은 명령어를 사용할 수 있었다. 결국 NSA의 소프트웨어 인터페이스는 기술적으로는 스노든이 대문으로 들어오는 것을 막았지만, 실제로는 그에게 서버 내에 중요한 것이 어디인 지 알 수 있도록 도와준 꼴이 된 것이다. 


3. 당신 회사의 백엔드 소프트웨어를 어떻게 사용하는지에 대해 회사 그 누구도 잘 알지 못한다. 

미디엄(Medium), 인스타그램(Instagram), 텀블러(Tumblr)같은 서비스들은 기능적으로 굉장히 복잡한 것들을 사용자들이 손쉽게 활용할 수 있도록 만들어주는데, 왜 기업용 소프트웨어들은 정말 간단한 기능조차도 사용하기 번거롭게 만드는 걸까? 이러한 면에서 데이빗슨은 회사가 좀 더 나은 소프트웨어 보안을 위해 할 수 있는 가장 간단한 방법은 회사 직원들이 회사 보안 소프트웨어를 다룰 줄 알도록 하는 것이라고 말했다. 



"관리자와 같이, 시스템 어딘가에 누군가 수상한 행동을 할 경우 그것을 바로 알려줄 수 있는 권한 시스템을 만들어야 합니다. 하지만 그러한 대부분의 시스템은 굉장히 투박하고 사용하기 어렵습니다," 데이빗슨은 말한다. "과연 어느 직원이 무엇에 대해, 언제, 어느 정도의 시간에 걸쳐 이러한 역할을 감당해야 하는 것인지 확실히 정하기 어렵습니다. 사실 이것은 완전히 유저 인터페이스의 문제입니다: 세상의 그 어떤 보안 기술자도 어떤 유저가 본인에게 필요한 체크박스인지 아닌지가 확실치 않은 상황에서 그것을 체크해볼 수 있도록 하는 것까지 신경써서 막으려고 노력하지는 않습니다."

이러한 변화들을 실제로 반영하는 것은 사실 말이 쉽지 실제로는 어려운 일이다. 보안이라는 건 사실 단순히 기술적인 부분만의 문제가 아니라 "사람과 관련된 문제"이다. 좀 더 나은 보안 수준을 가진 인터페이스를 디자인하는 것은 나중에 시간날 때 하는 것이 아니라 처음부터 염두에 두고 작업해야 하는 것이다. 물론 만약 어떤 사이트를 해커가 뚫고자 마음 먹었다면, 결국 그 해커는 어떻게든 뚫어낼 방법을 찾아내기는 할 것이다. 하지만 그렇다고 해서 그들을 굳이 초대할 필요는 없다.

[Image: Abstract via Shutterstock]

-

원문보기

No comments:

Post a Comment