본문 바로가기

벌새::Security

netstat 명령어를 이용한 해킹 여부의 올바른 판단 방법

작년(2009년) DDoS 공격 이후로 부쩍 늘어난 질문 중에 자신의 네트워크 연결 정보를 바탕으로 해킹 여부를 질문하는 글들이 심심찮게 볼 수 있습니다.

이런 글을 보면서 공통적으로 나오는 이야기는 자신의 시스템이 해킹되었느냐의 여부와 8080번 포트(Port)가 존재하므로 해킹된 것 같다는 이야기가 주를 이루고 있습니다.

먼저 결론부터 말하자면 컴퓨터 시스템의 해킹 여부는 기본적으로 유명 보안 제품을 통한 정밀 검사를 통해 판단을 하라는 점과 8080번 포트가 100% BotNet과 같은 악성 프로그램의 전유물이 아니라는 사실입니다.

저를 포함하여 일반인(또는 보안 전문가)들이 netstat 명령어를 통한 네트워크 연결 정보를 그림과 같이 보고서 해당 시스템이 해킹되었는지 알 수 있다면 그 사람이 해당 시스템의 해킹범이 아니라면 절대 모를 것이라 개인적으로 생각합니다.

해킹의 기본은 뛰어난 영화상의 천재가 아니라면 반드시 사용자 시스템에 악성 프로그램 등을 설치하여 외부의 자신과 통신을 시도하여 정보를 탈취하는 것이 일반적인 방법입니다.

그렇기 때문에 netstat를 통한 단순한 네트워크 연결 정보로는 단순히 아이피(IP) 연결 정보만을 확인할 수 있으며, 해당 아이피로는 해킹 여부를 알 수 있는 것은 오직 해당 아이피 소유 국가 또는 특정 도메인 주소 정도 밖에는 알 수 없습니다.

그러므로 앞에서 이야기한 것처럼 만약 누군가에 의해 시스템이 해킹이 되고 있다면 사용자 시스템에 숨어 있는 악성 프로그램을 보안 제품을 통해 찾아서 제거를 하는 것이 올바른 확인 방법이요, 해결 방법일 것입니다.

하지만 보안 제품에서 진단되는 것은 존재하지 않지만 의심스러운 점이 있다면 과연 외부에서 사용자 시스템에 접근하는지를 알기 위해 netstat 네트워크 연결 정보를 제시할 수는 있습니다.

[netstat 명령어]

netstat -b -v

-b :
해당 네트워크와 연결된 프로그램 파일(프로세스) 표시
-v : 프로그램 파일(프로세스) 구성 요소 파일 정보 표시

네이버 지식인 등에 올라오는 대다수의 정보는 단순히 아이피 정보와 포트 정보만을 제시하고 있지만, 여기서 제시하는 [netstat -b -v] 명령어를 사용할 경우 더욱 세부적인 정보를 통해 연결된 네트워크를 사용하는 프로그램 파악 및 해당 프로세스와 연결된 부속 파일 정보를 확인하여 추가적인 확인이 가능할 수 있습니다.

물론 더욱 핵심적인 사항은 단순히 파일 경로와 이름만으로는 확정적으로 해킹 여부를 판단할 수 없지만, 이런 정보를 통해 타인에게 질문을 하시는 것이 실질적으로 올바른 질문 방법이 아닐까 생각됩니다.

마지막으로 8080번 포트의 경우 해당 포트는 정상적인 Web Server, Application Server 등에서 다양하게 사용할 수 있습니다.

특정 악성 프로그램이 해당 포트를 주로 사용할 수 있겠지만 해당 악성 프로그램만 사용한다는 생각을 버리신다면 단순히 포트 번호에 매달려 자신의 시스템을 의심하는 오해는 없으리라 생각됩니다.

IP 정보, 포트 번호의 경우에는 방화벽(Firewall) 프로그램을 운영하는 경우 특정 공격에 대해 임시적으로 포트를 차단하거나 IP를 차단하는 방식을 통해 공격을 방어할 수 있겠지만, 해당 포트를 영구적으로 차단한다는 것은 차후 다른 서비스를 이용하는데 있어서 방해적 요소로 작용할 수 있다는 점도 알았으면 합니다.