○○○은 어떻게 해킹된걸까? <공유기 해킹>편

<AhnLab제공. 2018-10-02일자>

대학생 A군에게 황당한 일이 잇따라 일어났다. 여기저기에서 왜 소셜미디어(SNS)에 이상한 사진과 광고를 올렸냐는 메시지가 온 것이다. 무슨 일인가 싶어 소셜미디어에 접속해보니 비밀번호를 입력 하란다. 로그아웃한 기억이 없는데 이상하다 싶으면서도 비밀번호를 입력했지만 계속 잘못된 비밀번호란다.

연예인에게나 있는 일인 줄 알았는데 A군의 소셜미디어가 해킹되어 본인은 모르는 비밀번호로 바뀌어 있고 지인들에게는 이상한 사진과 메시지가 전송되고 있던 것.

여기서 끝이 아니다. 어머니가 은행에서 온 전화를 받으셨는데, 이상한 송금 시도가 포착되었다며 본인의 송금 시도가 맞는지 확인 차 연락했다는 것이다. 처음에는 보이스피싱인가 했지만 실제로 은행에서 연락 온 것이었다. 알고 보니 어머니의 인터넷 뱅킹 아이디와 비밀번호가 해킹 되었던 것이다. 이 황당한 일을 친구들에게 얘기했더니 한 친구가 대뜸 이렇게 물었다.
“너 혹시 공유기 해킹 당한 거 아니냐?”

[그림 2] 노트북, 스마트폰에서 확인한 MAC 주소
[그림 2] 노트북, 스마트폰에서 확인한 MAC 주소
위의 사례는 다소 과장된 가상 사례지만, 실제로 얼마든지 일어날 수 있는 일이며 이미 이와 유사한 피해는 종종 발생한 바 있다.

이 글에서는 A군의 가상 사례를 중심으로 공유기 해킹이 어떻게 발생하며, 사용자가 무엇을 주의해야 하는지 알아본다. 단, IT에 관심이나 이해가 많지 않은 일반 사용자들을 위해 상세한 기술적인 설명을 생략하거나 일부 과정에 대해 의도적인 비약이 포함되어 있음을 미리 밝힌다.

우리집에서도, 카페에서도 유용한 와이파이 공유기 공유기 해킹에 대해 알아보기에 앞서 공유기가 어떻게 무선 인터넷을 제공하는지 그 연결 방식에 대해 간단히 살펴볼 필요가 있다.

노트북, 태블릿PC, 스마트폰, 또 스마트 스키퍼 등 인터넷으로 연결되는 컴퓨팅 기기(device)는 모두 맥(MAC) 주소를 갖고 있다. MAC 주소란 각 기기의 고유한 번호를 의미하는 것으로, 사람으로 치면 주민등록번호나 여권번호, 학번 같은 것이라 할 수 있다. 그런데, 이들 기기가 인터넷으로 통신 할 때는 MAC 주소가 아닌 IP 주소를 이용한다.

잘 알고 있는 것처럼 IP는 인터넷 프로토콜(Internet Protocol)의 약자로, 인터넷에 연결된 기기를 식별(특정)하기 위한 고유 주소다. 각각의 기기를 식별할 수 있는 MAC 주소가 있는데, 왜 인터넷 통신 시에는 IP 주소를 이용하는 것일까?

[그림 2] 주소 결정 프로토콜(ARP) 동작 개념
[그림 2] 주소 결정 프로토콜(ARP) 동작 개념
여행자들이 드나드는 호텔을 예로 들어보자. 호텔에 체크인을 할 때 신원 확인을 위해 주민등록번호나 여권번호, 또 실제 거주 주소 등의 개인정보를 제시한다. 그렇지만 호텔에서 조식 식당이나 수영장을 이용할 때는 이런 정보를 확인하지 않는다. 대신, 그 손님이 묵고 있는 객실 번호로 손님의 신원을 확인한다. 호텔 안에서는 객실 번호를 숙박 고객의 신원을 확인하는 정보로 사용한다는 일종의 약속이 되어있는 것이다.

인터넷 통신 상에서는 이러한 약속을 프로토콜(protocol)이라고 한다. 이 프로토콜을 통해 우리는, 정확히는 우리의 기기들은 효율적으로 소통할 수 있다. 공유기에서 통신이 진행될 때 IP 주소를 할당하는 과정은 호텔에서 손님에게 객실을 배정하는 과정과 매우 비슷하다.

호텔 객실의 수는 한정적이며, 대개 체크인 하는 순서대로 객실을 배정한다. 마찬가지로 공유기에서 할당할 수 있는 IP 주소 개수도 제한적이기 때문에 기기가 공유기에 연결되는 순서대로 사용 중이지 않은 IP 주소가 할당된다. 따라서 공유기가 할당할 수 있는 IP 주소 개수의 범위 내에서 IP 주소를 효율적으로 재사용함으로써 여러 기기들의 원활한 무선 인터넷 이용이 가능하다.

또 호텔에서 어떤 고유한 개인정보를 가진 손님이 조식 식당이나 룸 서비스를 이용할 때, 혹은 체크아웃을 하고자 할 때 방 번호를 대는 것처럼 인터넷 통신에서도 어떤 기기(MAC 주소)가 어떤 IP주소를 이용 중인지의 여부를 알 수 있다. 바로 ‘주소 결정 프로토콜(Address Resolution Protocol, 이하 ARP)’ 때문이다.

‘진짜’ 인 것처럼 위장해 ‘쪽수’ 로 밀어붙이는 ARP 스푸핑 공격

[그림 3] 허위(조작된) APR 패킷
[그림 3] 허위(조작된) APR 패킷
공유기에 연결된 기기들이 일정한 주기로 ARP 패킷을 보낸다.
따라서 해커는 가짜 ARP 패킷을 이보다 짧은 주기로 발송함으로써 훨씬 더 많은 ARP 패킷을 발생시킨다.

줄다리기를 할 때 사람이 많은 쪽이 훨씬 유리한 것처럼. 조작된 ARP 패킷의 양이 더 많기 때문에 기기들은 이것에 끌려가게 된다.

[그림 4] ARP 스푸핑 공격
[그림 4] ARP 스푸핑 공격
[그림 4]와 같이 기기들이 조작된 ARP 패킷의 정보를 따라가게 되면 이후 기기들이 전송하는 모든 정보들은 해커의 기기를 거치게 된다.
따라서 전송 정보들이 암호화되어 있지 않은 한 해커는 모든 정보를 볼 수 있게 되는 것이다.
이처럼 진짜를 흉내 내는(spoof) 공격 방식을 ARP 스푸핑(ARP Spoofing)이라고 한다.

[그림 5] ARP 스푸핑 공격 툴을 이용한 시연 화면
[그림 5] ARP 스푸핑 공격 툴을 이용한 시연 화면
ARP 스푸핑은 상당한 기술을 필요로 하는 공격은 아니며, 이를 자동으로 수행하는 툴(tool)도 생각보다 쉽게 찾을 수 있다. [그림 5]는 ARP 공격 툴을 이용해 실제 웹사이트에 로그인하는 사람의 정보를 훔쳐본 사례다.

그 날, A군에게는 무슨 일이 있었나…

[그림 6] 암호화 통신 기반의 웹사이트 예시
[그림 6] 암호화 통신 기반의 웹사이트 예시
ARP 스푸핑 공격 방식에 관한 대략적인 개념을 파악했으니, 이제 가상의 A군 사례를 분석해보자. 이를 위해서는 대학생 A군의 일상 생활을 좀 더 살펴볼 필요가 있겠다.

A군은 종종 노트북을 들고 카페에 앉아 과제를 하면서 카페의 무선 인터넷을 이용해 자료도 찾고, 그러다 커뮤니티 사이트나 블로그에 들어가 댓글을 달거나 소셜미디어(SNS)에 들어가 새로 올라온 재미있는 것이 어떤 게 있을까 살펴보기도 한다.

또 데이터 이용료도 아낄 겸 집에 공유기를 설치해 노트북은 물론, 온 가족의 스마트폰, 스마트 스피커 등을 연결해 사용하고 있다. 간혹 어머니가 친목회 회비를 내야한다며 인터넷 뱅킹을 도와달라고 하시면 노트북을 들고 거실로 나가 즉시 어머니의 인터넷 뱅킹 계정을 통해 송금을 도와드린다. 이러한 A군의 일상에 어떤 문제가 있었을까?

첫째, 공유기를 통한 무선 인터넷 환경은 신뢰할 수 있는 사람들만 공유해야 한다. 이를 위해서는 집에 설치하는 공유기에는 반드시 높은 강도의 비밀번호를 설정 및 적용해야 한다. 집안에 위치한 공유기에 비밀번호가 설정되어 있지 않으면 옆집 등 집 주변에서 누구나 우리집 공유기로 무선 인터넷을 이용할 수 있을 뿐만 아니라 악의적인 누군가가 우리집 공유기로 위장한 ARP 패킷을 이용해 해킹할 수 있다.

둘째, 공공 장소에서 제공되는 와이파이의 사용은 최대한 자제하자. 부득이하게 카페나 도서관 등에서 공용 와이파이를 사용해야 하는 상황이라면 접속하고자 하는 웹사이트가 암호화 통신을 제공하는지 확인하자. 웹사이트가 암호화 통신을 이용하고 있는지를 알 수 있는 방법은 간단하다.

[그림 6]과 같이 해당 웹사이트의 주소가 http://가 아닌 https://로 시작하거나 웹브라우저의 주소창 좌측에 자물쇠 표시가 되어있다면 암호화 통신을 제공하고 있는 것이다.

[그림 7] 웹브라우저 인증서 오류 메시지
[그림 7] 웹브라우저 인증서 오류 메시지
웹사이트가 암호화 통신 방식을 이용하고 있을 경우에는 ARP 스푸핑 공격이 진행되고 있더라도 암호화된 정보가 전달되기 때문에 해커는 그 내용을 확인할 수 없다. 그러나 매번 모든 웹사이트를 이용할 때 일일이 암호화 통신 방식인지 확인하는 것은 현실적으로 쉽지 않다. 따라서 카페나 도서관 등의 공용 와이파이를 이용 중일 때는 인터넷 뱅킹 등 중요한 개인정보가 이용되는 작업은 하지 않는 것이 좋다.

또한, 공공 장소에서 와이파이를 이용할 때 [그림 7]과 같은 오류 메시지가 나타난다면, 그 와이파이를 이용하지 않는 것이 좋다. 이것은 웹브라우저의 인증서 오류로 인한 것이지만, 만일 공용 와이파이나 보안이 취약한 공유기의 와이파이를 이용 중에 이런 메시지가 나타난다면 해커가 암호화 통신의 무력화를 시도하고 있을 가능성이 있다.

알고 보면 어렵지 않은 해킹, 알고 나면 중요한 보안 수칙 지금까지 살펴본 ARP 스푸핑 외에도 DNS 스푸핑 등 인터넷 연결을 노리는 유사한 방식의 해킹 공격 기법들이 있다.

이런 류의 해킹 공격에 피해를 입지 않기 위해서는 공용 와이파이 이용 시 각별히 주의하고 잘 알지 못하는 핫스팟 연결은 하지 않도록 해야한다.

해킹은 쉽다. 흔히 ‘해킹’이라고 하면 드라마나 영화에 나오는 것처럼 천재, 혹은 IT 기술이 뛰어난 일부 사람들만 할 수 있는 것처럼 생각한다.

하지만 해킹 관련 서적도 쉽게 구할 수 있을 뿐만 아니라 요즘은 인터넷 상에서 여러 해킹 툴을 쉽게 구할 수 있기 때문에 약간의 IT 지식만 – 그리고 상당한 악의적인 마음 – 있어도 해킹을 시도할 수 있다.

그러나 다행스러운 것은 기본적인 보안 수칙을 준수하는 것만으로도 상당수의 해킹 피해를 예방할 수 있다는 것이다.

▲와이파이(공유기) 이용 시 비밀번호 설정하기 ▲공공장소에서 와이파이 이용 시 주의하기 ▲공유기의 보안 패치(펌웨어 보안 패치) 적용하기만으로도 ARP 스푸핑 및 이와 유사한 해킹 공격의 피해를 막을 수 있다. 안랩을 비롯한 보안 업체들이 항상 기본 보안 수칙을 강조하는 이유도 바로 이 때문이다.

그럼에도 불구하고 많은 사용자들이 보안 수칙에 관심을 갖지 않는 이유는 각각의 보안 수칙을 지키지 않았을 때 발생할 수 있는 피해와 보안 수칙을 지킴으로써 어떤 피해를 예방할 수 있는지 알지 못 하기 때문일 것이다.

앞으로 종종 시큐리티레터를 통해 우리 주변에서 일어나는 해킹의 공격 기법과 그에 따른 피해 예방법을 알아볼 예정이다.

<저작권자 ⓒ한인포스트, 무단 전재 및 재배포 금지. 인용시 사전허가>