해킹

 



1. 설명
2. 영화에서
3. 이름을 빌려온 유사 개념
4. 국내/외 워게임들
5. 해킹이 주 소재인 작품
6. 관련 문서
6.1. 관련 링크


1. 설명


해킹의 원래 의미는 프로그램 원 제작자가 걸어 놓은 프로그램 코드 락 알고리즘을 뚫어서 프로그램 소스를 알아내거나 프로그램 소스를 변경해서 자기 입맛에 맞게 바꾸는 모든 행위를 포함한다. 즉, 프로그램 자체를 제작자의 의도와 다르게 바꾸는 것이 해킹이고, 그것을 나쁘게 바꾸는 것이 크래킹이다. 해킹이라는 단어의 어원은 MIT의 교내 은어였던게 대중으로 퍼진 것이다.
해킹 자체가 범죄는 아니지만 불순한 의도로 악용하면 범죄가 된다. 다시 말해, 코드 락을 뚫어서 프로그램 소스를 확인하기만 하는 것은 범죄가 아니다. 여기에 몇몇 열성적인 프로그래머는 자기가 사용하던 프로그램에서 버그가 발생하면 프로그램 소스 락을 풀어 소스를 확인한 다음 어디가 틀렸는지 리포트를 써주기도 한다. 물론 소스 코드를 그대로 베끼는 것은 '''당연히''' 불법이다.
오픈 소스 프로그램은 소스 코드 수정이 자유롭고, 상용 소프트웨어라도 프로그램 사용 계약 내용을 준수하며 프로그램을 개조한다면 불법이 아니다. 하지만 계약에서 벗어난 행위(모든 사람에게 공개해 버리거나, 락을 해제하는 크랙을 만드는 등), 피해를 줄 목적으로 임의로 조작된 프로그램을 배포하는 등의 행위는 범죄다.
범죄 행위를 하는 해커는 크래커라고 정의하지만, 대한민국에서는 해커와 크래커를 구분하지 않는 것이 현실이다. 사실 영미권에서도 딱히 구분하지는 않는다.
해커는 컴퓨터에 대하여 관심이 있는 사람이므로 대개 컴덕이다.
다음과 같은 세부 분야들이 있다.
데스크톱 컴퓨터에서는 윈도우 계열이, 모바일에서는 안드로이드가 특히 해커들의 주요 타겟이 된다. 하지만, 세간의 인식과는 달리 특별히 윈도우나 안드로이드가 취약점이 많은 것은 아니다. 애플사의 제품에서 보안 이슈가 없는 것은 제약이 많기 때문이다. 점유율이 낮아서 해커들이 관심이 없기 때문이라는 이야기도 있으나, 이 경우 미국에서 점유율이 상당히 높은 아이폰의 보안은 설명할 수 없다. 예를 들어 맥에서는 다른 프로세스에 간섭하는 자체 명령어가 없다. 따라서 바이러스는 물론이고, 게임 트레이너나 어플로케일 같은 프로그램도 만들 수 없다. 운영 체제를 뜯어고치지 않는 이상 존재하지도 않는 명령어를 실행할 수는 없으니까. 게다가 관리자 권한을 획득해도 할 수 있는 일이 윈도우에 비해 굉장히 제한적이다. 아이폰만 해도 안드로이드에 비해 취약점이 몇 배나 되지만 실제 피해 사례가 전무한 것이 이 때문. 요약하자면 뚫는 건 쉽지만 뚫어도 할 수 있는 게 거의 없다. 실제로 Rootpipe 같은 root 권한을 얻어 버리는 초대형 취약점이 터졌는데도 매우 조용하게 지나갔다.
그렇다고 아이폰이 항상 안전한 것도 아니고, 안드로이드가 항상 위험한 것도 아니다. 오히려 안드로이드 레퍼런스의 경우 오픈소스이기 때문에 약점이 생겼을 때 iOS 개발자들은 일이 터지기 전까지는 손 놓고 멍하니 macOS 팀에 가서 연속성에 관련해서 이야기하며 커피나 홀짝이고 있을 때도 안드로이드는 안드로이드 커스텀 롬 개발자들과 구글 개발자들이 전 세계에서 24시간 365일 시차를 이용해 자지도 않고 깨어 있는 오픈 소스 개발자들이 눈을 부릅뜨고 소스를 쳐다보고 있기 때문에 해커가 취약점을 알아내기 전에 먼저 선제 차단을 할 가능성이 훨씬 더 높다.
해킹이라는 게 취약점을 개발자들보다 먼저 알아내서 그 점을 자신의 편의를 위해 악용하는 것인데, 누군가는 '아니, 그럼 조금씩 조금씩 개발자들이 취약점만 고쳐 나가서 나중에 취약점이 없어지면 해커들은 아무것도 못 하겠네?' 라고 물어볼 수 있을 것이다. 하지만 "회귀 문제(Regression Problem)"라는 복병이 있기 때문에 업데이트를 할 때마다 기기마다 다른 오류가 뜨고 이전에 해결한 약점이 재발하는 문제가 지속적으로 OS, 응용 프로그램을 불문하고 발생하기 때문에 해커들은 환호성을 지르며 해당 프로그램을 사용하는 기업들을 해킹한 뒤 협박해서 돈을 뜯는 일을 영원히 할 수 있는 것이다.
몇몇 사람들은 영화나 몇몇 뉴스를 보고 해킹이 흥미나 자신의 능력을 시험하는 등의 이유로 행한다고 보는 경우가 있는데, 당연히 현실은 시궁창. 대다수의 해킹은 돈을 목적으로 하는 것이며(즉, 크래킹) 대표적인 예가 중국에서 커뮤니티 등을 해킹한 다음 돈을 요구하는 것이나, 러시아에서 악성코드에 감염된 봇넷을 가지고 DDoS 공격을 가하겠다고 기업들을 협박하여 돈을 뜯어내는 것이다. 이런 종류의 범죄는 현재 범죄 조직에 의해 철저히 분업화되어 있으며, 이를 통해 몇 시간 단위로 악성 코드를 바꾸어 백신이 미처 대응하지 못하도록 만들기까지 하는 모습을 보인다.
블랙 해커(크래커)가 감옥에 들어갔다가 나오면 기업이나 정부에서 데려 간다는 이야기가 있다. 이는 90년대 후로는 거짓이다. 해커 문서 참조.
대한민국 국군에서도 스턱스넷과 비슷한 공격용 소프트웨어를 개발할 계획이 있다.
정보기관이 개입된 것으로 의심되는 해킹 툴에는 레긴, 스턱스넷, Darkhotel 등이 있다.
Darkhotel한국에서 제작되었을 가능성이 있다. 그러니까 국정원 같은 데서도 알게 모르게 사이버 전에 사용되는 악성 코드를 이미 비밀리에 만들어 쓰고 있을지도 모르는 것이다. DarkHotel을 제작한 이들은 이탈리아 해킹팀에서 유출된 내용을 금세 자기네들 DarkHotel에 적용하는 부지런함을 보였다.
실제로 에드워드 스노든에 의해 나름 실력이 있는 해커들조차 대부분 잡히는 이유가 드러났다. 무슨 대단한 추리 능력을 동원한 게 아니라 미국 정부는 물론 대기업들에서도 정보 수집을 하기 때문.[1] 농협맵핵사건처럼 대놓고 보고있으니 일반적인 플랫폼을 이용하는 절대 다수의 해커들은 당할 수밖에 없다. 실력이 그렇게 대단치 않아도 잘 안 잡히는 해커들은 정부나 기업을 처음부터 신뢰하지 않았기 때문이었다.

2. 영화에서



관객의 이목을 끌기 위해 신기한 최신 기술을 내용에 녹여내거나 하는 일이 많은 영화에서도 해킹 장면이 꽤 오래전부터 많이 등장 해 왔다. 또한 컴퓨터에 대한 대중들의 관심이 전 세계적으로 비상하게 증가하였지만, 정작 대다수의 관객들이 전문적인 컴퓨터 기술에 대해 무지하다는 점 때문에 주인공에게 닥친 어려움이나 위기를 해킹으로 대충 어물쩡 해결하는 식으로 써먹기도 편리하다.
그래서 해킹에 대한 대중의 두려움을 최대한 활용한다. 휴대용 단말기 1대만 있으면 사람의 인적사항을 다 알아낼 수 있다든지, 터미네이터 2에서 주인공 존 코너가 휴대용 단말기로 ATM을 브루트 포스 해킹해서 돈을 뽑아내는 식이다.
하지만 실제 해킹이란 그렇게 만능이 아니고, 많은 시간과 노력이 필요한데다 결정적으로 구경하기에 전혀 재미가 없다. 해킹이라고 하면 거창하지만 컴퓨터 프로그래밍 작업을 한다고 생각해보자. 얼마나 화려할 것 같은가? 영화에서는 이런 현실을 무시하고 가능한 한 화려하게 묘사되는 경우가 많다. 매우 정교하고 화려한 GUI로 해킹의 진행상황이 표시된다거나, 장난스러운 아스키 아트가 올라와 있는 CLI에 명령어를 한두 줄 적으면 엄청난 양의 문자열이 눈에 보이지도 않는 속도로 올라오더니 해킹이 완료되는 경우가 잦다.
더 나아가서 황당한 초현실 속의 해킹을 묘사하는 경우도 있다. 해킹 과정이 일종의 퍼즐 게임에 가깝게 묘사되거나, 심지어는 컴퓨터를 해킹하다 못해 시공간을 해킹하고 해킹으로 죽은 사람을 살리기까지 하며, 만약 영화 속 배경이 가상현실이면 가히 창조신에 가까운 권능을 발휘한다. 영화 인디펜던스 데이에서 지구의 컴퓨터 바이러스를 이용해 외계인 모선의 시스템을 공격하여 정지하는 장면 등이 친숙한 예이다.[2] 심지어 와치독스의 경우는 그냥 '스마트폰을 터치'하고 약간의 퍼즐을 푸는 것만으로 모든것이 해킹 완료된다(…) 다만 와치독스의 경우 관련 설정이 있다. 작중의 배경이 되는 도시는 ctOS라는 하나의 통합된 시스템으로 운영되는데, 해커들이 ctOS의 보안 허점을 찾아 백도어를 심었고 주인공은 동료 해커들이 만든 해킹 프로그램을 스마트폰에 설치했기 때문에 이것이 가능하다는 설정이다. 즉 주인공은 순수한 의미의 해커라기보다는 그것을 완벽한 타이밍에 실행하는 오퍼레이터에 가깝다. 그렇다고 주인공이 해커가 아닌 것은 아니다. 해커들이 공격할 수 있는 침투로를 개척하거나 보안이 강력한 곳을 우회해서 악성코드를 심는 일도 해킹의 일종이다. 즉 주인공은 '행동파' 해커인 셈.
영화에서 해킹을 묘사할 때는 다음과 같은 클리셰들 중의 일부를 따르는 경우가 많다.
  • 엄청난 속도로 키보드를 두드린다. - 영화 속 세계에서는 분당 타자수가 높을수록 더 뛰어난 해커인 듯 하다.[3] 대부분의 영화에서 해커는 놀라운 속도로 키보드를 두드리고 있다. 일례로 NCIS 시즌 2 에피소드 5에서는 혼자서 키보드를 두드리며 해커의 공격을 막아내다가 잘 풀리지 않자 둘이서 키보드 하나를 잡고 광속으로 두드리는 황당한 장면이 나온다.
  • 해킹을 마치 비디오 게임처럼 묘사한다. - 현실의 해킹은 정말 어렵고 복잡하며 재미없기 때문에 해킹을 게임처럼 묘사하는 경우가 많다.
  • 해커들이 일반인들은 모르는 전문용어를 남발한다. - 해커가 바쁘게 손가락을 움직이며 '방화벽이 어쩌고, 데이터베이스가 어쩌고 저쩌고' 하는 식의 기술적인 설명을 주절대자 옆에 있던 일반인 주인공이 전혀 이해를 하지 못해 벙 찐 표정을 짓는 장면은 그 자체로 하나의 훌륭한 클리셰라 할 수 있다. 여기에 일반인이 "알아듣게 설명해!"라고 말하면 그제서야 쉬운 용어로 설명해주는 건 덤. 사실 IT 관련 용어들 중 개념이 어려운 것은 많지 않다. 다만 그것을 제대로 이해하고 적용하는 것은 상당히 어렵다. 영어 단어의 앞글자만 따와서 초성으로 부르는 경우도 많아서 초성에 해당하는 영어는 쉽지만 의미를 몰라서 일반인들이 이해하기 어려운 경우가 많다.

3. 이름을 빌려온 유사 개념


  • 시빅 해킹: 사회 문제에 대해 정보 제공, 데이터 분석 등의 신기술을 사용해 접근한다는 개념.
  • 그로스 해킹: 마케팅 용어로, 고객을 확보한다는 고전적인 질문에 대해 데이터 분석 등의 신기술을 사용해 접근한다는 개념.

4. 국내/외 워게임들


  • Webhacking.kr: 사이트 이름에 걸맞게 웹해킹 관련 문제만 수두룩하다!또한 워게임 사이트 자체의 난이도도 꽤 되는 편.
  • SuNiNaTaS.com: 써니나타스의 난이도는 초중급이지만, 웹해킹, 포렌식, 리버싱, 암호학 등 전반적인 분야의 지식을 얻을 수 있다.
  • : webhacking.kr과 난이도가 비슷하다.특정 문제는 webhacking.kr 보다 난이도가 꽤 되는 편.
  • Reversing.kr: 리버스 엔지니어링에 관한 문제가 많다. 난이도가 상당한 워게임..
  • pwnable.kr: 주로 시스템 해킹 문제를 다룬다!
  • hack-me.org: 웹.시스템.리버스 엔지니어링.크립토.스테가노그래피.등의 문제가 있다.난이도도 상당하다!
  • xcz.kr
  • wechall.net: 워게임 정리 등.
  • hacker.org
  • chall.stypr.com: 웹해킹 관련 문제만 취급하는 사이트다. 다른 워게임 사이트들에 비해 난이도가 높은 편.
  • webgame.wowhacker.com: 와우해커에서 운영하는 웹게임이다!
  • Solve Me (solveme.peng.kr): 주로 php 웹 해킹 위주의 워게임이다. tricky한 문제가 많다.
  • HackCTF: 다양한 분야의 문제가 있는 워게임이다. 난이도가 비교적 높은 편은 아니라서 입문자들이 자주 방문한다.

5. 해킹이 주 소재인 작품



6. 관련 문서




6.1. 관련 링크


[1] http://www.itworld.co.kr/news/98426 [2] 다만 변론하자면 영화 내에 인류의 컴퓨터 기술이 노획한 외계인 우주선에서 왔다는 대목이 존재하긴 한다... 물론 그렇다고 소프트웨어까지 똑같다는 보장은 없지만.[3] 현실에서는 명령어를 아무리 빨리 입력해도 명령을 실행하는 데 시간이 걸리기 때문에 해킹 속도는 타자수에 정비례하지 않는다. 해킹 속도를 늘리려면 컴퓨터의 성능을 올려야 한다.[4] 돌카스가 게임을 만들다가 누가 자신의 컴퓨터를 건드려서 제작하던 게 날라가버렸다고 한다. 그래서 격노에 차 부른 노래이다.