모든 트래픽과 네트워크는 ‘잠재적으로 위험’
[보안뉴스 문가용 기자] 다음 버전의 안드로이드인 안드로이드 P(Android P)를 염두에 두고 앱을 개발하는 회사나 개발자라면 암호화된 연결 방식을 반드시 앱에 도입해야 한다. 구글이 모든 인바운드 및 아웃바운드 데이터를 보호하기 위해 TLS를 디폴트로 설정한다고 발표했기 때문이다.

[이미지 = iclickart]
이는 구글이 안드로이드 사용자를 보호하기 위해 내린 결정으로, 이전 버전에서의 문제로 지적된 비암호화 연결 문제를 새로운 버전에서 해결한다는 의미도 가지고 있다. 이전 버전인 누가(7.0)에서는 네트워크 시큐리트 컨픽(Network Security Config)이라는 기능이 있어 암호화되지 않은 네트워크 트래픽이 전송되지 않도록 설정할 수 있었다.
하지만 누가 버전이나 오레오 버전 모두 평문으로 된 연결이 가능했었다. 오래된 애플리케이션이나 서버와의 호환성 문제 때문이었다. 사용자가 일부러 설정을 바꾸지 않는다면 네트워크 연결의 암호화 기능은 있으나마나 한 것이었다.
하지만 안드로이드 P에서는 TLS가 디폴트다. 이미 모든 연결을 TLS로 처리하는 앱이라면 개발자가 특별히 더 뭔가를 추가해야 할 필요는 없다. 하지만 암호화된 연결 기능을 사용하지 않는 앱이라면 다음 버전을 대비해 TLS를 도입해야 한다.
안드로이드 앱 개발자인 챠드 브루바커(Chad Brubaker)는 블로그를 통해 “안드로이드는 모든 네트워크를 ‘잠재적으로 위험한 존재’로 여기고 있다”며 “그러므로 모든 연결에 암호화를 적용하는 건 당연한 일”이라고 설명했다. 또한 “공공 와이파이에 늘상 연결되어 있는 모바일 기기도 ‘항상 위험한 상태’로 보고 있어, 암호화 기술의 적용은 불가피한 것”이라고도 덧붙였다.
“콘텐츠의 종류와는 상관없이 모든 트래픽을 암호화하는 것이 현재 시대에는 올바른 것이라고 봅니다. 암호화되지 않은 연결이 성립되면, 누군가 여러 콘텐츠를 임의로 주입할 수 있게 되고, 이는 해커들의 공격 통로가 되기 때문입니다. 공격 표면을 줄인다는 측면에서도 암호화 트래픽의 전면적인 적용은 긍정적인 것입니다.”
애플리케이션 개발자들은 TLS를 적용하기 위해 서버들에 새로운 프로토콜을 도입시켜야 한다. 그런 후 앱과 서버 응답에 사용되는 모든 URL들을 HTTPS로 바꿔야 한다. 소켓을 만들 때는 SocketFactory 대신 SSLSocketFactory를 사용해야만 한다.
“오래된 서버나 앱 등, 평문 연결이 여전히 필요한 경우라도 암호화 기술 적용을 고민해야 할 것”이라고 브루바커는 설명한다. “보안 조치가 되지 않은 연결을 통해 연결된 임의의 콘텐츠를 열 수 있도록 하고 있는 애플리케이션의 경우에도, 개발자의 서버로 전송되는 내용이 평문이어서는 안 되게끔 해야 합니다.”
구글은 오랜 기간 HTTPS의 사용을 권장해왔다. 그러면서 검색 결과 순위에 HTTPS가 적용된 사이트들을 위로 배치하기 시작했다. 그러면서 애플, 깃허브, 워드프레스 등도 여기에 동참해 HTTPS가 최근에는 상당히 많이 사용되고 있다. 하지만 암호화된 트래픽 때문에 악성 콘텐츠를 그 속에 주입하고 발각되지 않을 가능성이 높아졌다는 염려의 목소리도 나오고 있다.
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>