말 그대로 잡설

psycho 2012. 3. 24. 21:15

 원문은 다음 링크를 참조하자. 원문을 그대로 가져오는 건 문제의 소지가 있고, 그렇다고 원문을 공개하지 않는다면 사전 지식 없이 이 글을 보는 사람들에 대한 배려가 없는 것이 될 테니까.


링크 : 아이의 컴퓨터 탈선, 알아야 막는다 1




 원문을 읽어본 사람이라면 알겠지만, 저 글에서는 프로그램 하나를 소개해주며 그것을 이용해 "음란물"을 찾는 방법에 대해 설명하고 있다. 물론 원문에 소개된 것은 전부 맞는 이야기다. 대부분의 "음란물"은 화상 형태(동영상, 그림)로 제작되기 때문에 차지하는 용량이 큰 건 당연하며, 그것을 적절히 이용하는 것은 확실히 빠른 시간에 목표를 찾아내는 데 도움이 될 것이다. 하지만, 필자의 경우에는 성격이 배배 꼬인 탓인지 저것을 피해가는 방법부터 생각해보게 되었다. 필자는 어디 가서 컴 잘 다룬다고 내세워도 아무도 뭐라 하지 못할 만큼 잘 만지는 것은 절대 아니다. 그렇지만, 1분도 안 되어 몇 가지의 방법이 떠오르는 걸 어찌하겠는가? 진짜로 음란물을 숨기기 위해서 필자가 생각해 본 방법을 사용하려는 사람이 없기를 바랄 뿐이다. 물론 제시한 방법으로 숨긴다 해도 마음만 먹으면 "다 찾을 수 있다". 단지 찾기가 좀 귀찮아질 뿐이다.


※ 물론 컴퓨터로 뭘 하는지 전부 기록하는 모니터링 프로그램이 깔려 있다면 먼저 이것을 처리해야 하며 방법은 세 가지밖에 없다.

1) 어떻게든 그 프로그램이 남긴 로그를 찾아서 조작1한다.

2) 감시 프로그램 자체를 언인스톨한 후 사용한 다음 새로 설치한다(프로그램에 따라 안 될 수도 있다).

3) 포맷한다2.


1. 분할 압축법.

일단은 제일 쉬운 방법이다. 범용 파일 압축 프로그램3에는 분할압축 기능과 암호를 걸 수 있는 기능이 웬만하면 탑재되어 있다. 먼저 사용하려는 압축 프로그램이 "파일 이름까지 암호화"하는 기능을 지원하는지 확인한다4. 그 다음 암호를 걸어 눈에 띄지 않을 법한 크기로 분할 압축한다. 그 다음 압축된 파일들을 적당한 위치5에 분산시킨다. 여기에 압축 파일 이름들을 적당히 바꿔준다거나 하면, 폴더 크기를 체크하는 방식이나, 파일 이름의 일부 또는 확장자로 검색하는 방법으로는 거의 찾아낼 수 없게 된다. 단, 데이터가 너무 많다면, 또는 상식적으로 봤을 때 큰 데이터가 있을 리 없는 경로에 대량의 데이터가 들어 있다면 누구든 의심할 것이다.


2. 암호화법.

이건 컴퓨터 프로그래밍이 좀 가능하면 사용할 수 있는 방법이다. 파일을 암호화하는 프로그램을 작성하여 암호화하는 것이다. 대신 인터넷에서 구할 수 있는 프로그램을 사용하면 안 된다. 암호화 알고리즘 자체를 스스로 만들어내는 것이 가장 좋다. 그럴 능력이 안 된다면 알고리즘은 인터넷에서 가져와도 되지만, 반드시 그것과는 다른 결과가 나오도록 수정해서 사용해야 한다. 고난이도의 암호화 알고리즘을 사용할 필요는 없다. 설령 사용된 알고리즘이 간단한 치환 암호화라 할지라도, 거기에 치환 암호화가 사용되었다는 사실을 모른다면 원본 데이터를 모르는 이상 데이터 확인은 불가능하다. 치환 암호화가 풀리기 쉬운 이유는 그것이 치환 암호화일 것이라는 심증과 치환 규칙(알고리즘)에 대한 가설을 비교적 쉽게 제공하기 때문이다. 자세한 것은 암호학 서적을 참조하라.

※이 방법은 난이도 대비 효과가 썩 좋지는 않다. 무엇인지 알 수 없는 데이터가 들어있는 커다란 덩치의 파일을 발견했다. 당신이라면 어떻게 하겠는가?


3. 하드 디스크의 용량을 조정하는 방법.

하드 디스크에 파티션이 되어 있지 않은 공간이 있을 경우 사용할 수 있는 방법이다. 아니면 새로운 하드 디스크를 구입했을 때 써도 된다. 장점이라면 일반적인 방법으로는 절대 찾아낼 수 없다는 것을 들 수 있겠다. 대신 단점은 좀 많은데, 먼저 컴퓨터를 분해/조립하는 데 큰 문제가 없어야 한다. 다음으로 이렇게 보관한 데이터는 (특히 숨기지 않고 사용하는 부분에 문제가 생겼을 경우) 파괴될 가능성이 있다는 점이다. 마지막으로, 하드웨어에 관심이 좀 있는 사람이라면 이런 짓을 해놓았다는 것을 금방 눈치챌 수 있다는 것이다.

하드디스크에는 생산된 지 10년이 훌쩍 지난 유물급 하드디스크가 아니라는 가정하에, 크기를 조정하는 기능이 전부 탑재되어 있다. 기본적으로는 설정 가능한 최대치, 즉 표시용량으로 설정되어 있으며, 이 값을 바꾸게 되면 인식되는 하드디스크의 용량이 달라지게 된다. 파티션과는 다른데, 예를 들어 1TB짜리 하드디스크가 있다고 할 때 기본적으로는 1TB에 해당하는 값이 저장되어 있으며, 이를 500GB에 해당하는 값으로 조정하게 되면 하드디스크 자체가 500GB짜리인 것처럼 인식되고 이 값을 원래대로 돌려놓지 않는 한 나머지 500GB는 펌웨어 수준에서 접근이 불가능하다. 물론 운영체제에서 접근할 수 있을 리 만무하다. 이 특징을 이용하는 방법이다.

이 방법을 적용하기 위해서는 제일 먼저 DOS에 대한 공포를 없애야 한다. 그 다음 MHDD라는 프로그램을 구한다6. 다음으로 숨기고 싶은 데이터를 넣어둘 파티션을 하드디스크 뒤쪽 끝부분에 만든다(이건 굉장히 중요한 사항이다). 숨기고자 하는 데이터들을 만든 파티션에 복사한다. 이 때 WinHex나 기타 파티션 테이블의 내용을 확인할 수 있는 프로그램을 활용하여 파티션의 크기를 알아두어야 한다. 이제 아까 받은 프로그램을 구동할 시간이다. 도움말을 읽어보면 Drive Capacity를 조정하는 기능이 있을 것이다. 숨기고자 하는 부분을 뺀 나머지 크기로 설정한다. 참고로 크기는 섹터 단위이다. 설정이 끝났다면 재부팅한다. 똑같은 방법을 사용하여 원래대로 되돌리기 전에는 데이터에 접근할 수 없다.

※아까도 말했듯이 하드웨어에 관심이 있는 사람이라면 이 트릭을 눈치채기 쉬운데, 그런 사람이라면 하드디스크 모델명만 가지고도 원래 용량을 추측해낼 수 있기 때문이다. 물론 모델명으로 인터넷을 검색해서 알아낼 수도 있다. 하드디스크 모델명은 장치 관리자만 봐도 확인할 수 있다.


 필자가 리버스 엔지니어링 책을 보면서 깨달은 사실은, 컴퓨터로 어떤 일을 하게 만드는 것이 가능하다면 그것을 불가능하게 하는 방법이 반드시 존재한다는 것이다. 예를 들어 상용 소프트웨어에 대한 '크랙'프로그램이 있다. 정식 사용자와 그렇지 않은 사용자를 구분할 수 있는 기능을 만들 수 있으므로, 구분할 수 없게 만드는 방법이 반드시 존재하고, 그에 해당하는 수많은 방법 중 하나를 구현한 것이 '크랙'인 것이다. 이 경우도 마찬가지다. 파일 검색 기능을 구현할 수 있으므로(구현되어 있으므로), 파일 검색을 못 하게 하는 방법이 반드시 존재하며, 그 중 일부에 해당하는 것이 위에 소개한 방법들이다. 물론 이 방법들 역시 모두 파훼법이 이론적으로는 존재한다. 바이러스와 백신의 싸움처럼, 이것은 어느 쪽이 끈기가 있느냐의 문제일 뿐이다.


  원문에도 나오는 이야기지만, 위 방법들을 스스로 생각해서 써먹을 수 있을 정도로 실력이 있는 사람들일수록 오히려 저런 방법을 쓰는 경우를 보기 힘들다. 왜냐면, 그런 사람들은 대개 음란물보다 컴퓨터 그 자체가 더 좋은 사람들이고, 그렇기 때문에 음란물 감상에 낭비할 시간 따위 없는 경우가 매우 많기 때문이다. 다시 말하면, 굳이 저런 방법을 동원해서 숨겨야 할 것이 없다는 뜻이다. 물론 그들은 저런 방법을 포함하여 어떤 방법으로도 숨기고 싶은 데이터를 완벽하게 숨기는 것불가능하다7는 것을 잘 알고 있기도 하다. 진정으로 데이터를 완벽하게 숨기는 방법은 당사자를 포함한 그 누구도 데이터를 판독할 수 없게 파괴하는 방법뿐이다.


각주 1

삭제해도 되지만, 무턱대고 삭제하게 되면 당연히 있어야 할 기록도 없어지게 된다. 모니터링 기능을 무력화시킨 다음 뭔가를 했다는 명백한 증거가 되는 셈. 그리고 목적을 실행하는 방법은 당연히 요령껏이다. 구체적으로 어떻게 하면 되는지는 묻지 말 것. 이런 것을 스스로 생각해서 해결할 수 있을 때 진정으로 컴퓨터 실력이 향상된다.

각주 2

가장 확실한 방법이지만, 시간과 노력이 들며 대기업 상표가 붙은 컴퓨터의 경우 힘들다. 자동 복구 메커니즘까지 박살낼 수 있기 때문이다.

각주 3

WinRAR, 7-zip 등 다수의 이용 가능한 프로그램이 있다.

각주 4

생각보다 중요한 사항이다. 이게 없다면, 누군가 분할된 압축파일 중 하나만 열어봐도 안에 뭐가 들어있는지 대충 파악할 수 있다. 그리고 ZIP 파일의 경우에는 윈도우의 파일 검색 기능이 알아서 안을 뒤적거리게 되며, 요즘의 백신들은 압축파일 안에 들어 있는 파일을 체크하는 기능이 있기 때문에 바이러스 검사하다가 들키는 경우도 생기게 된다.

각주 5

C:\WINDOWS\system32 등 원래부터 덩치가 크고 파일이 매우 많아 눈에 잘 띄지 않는 폴더

각주 6

이런 류의 프로그램들은 하드웨어를 건드린다는 특성상 DOS가 아니면 구동이 힘들며, 따라서 윈도우 상에서 편하게 작업할 생각은 버리도록. 물론 있을 수도 있으니 검색을 생활화하자.

각주 7

비록 논리정연하게 설명한다거나 이성적으로 인식하고 있지 않더라도 본능적인 수준에서

  1. 삭제해도 되지만, 무턱대고 삭제하게 되면 당연히 있어야 할 기록도 없어지게 된다. 모니터링 기능을 무력화시킨 다음 뭔가를 했다는 명백한 증거가 되는 셈. 그리고 목적을 실행하는 방법은 당연히 요령껏이다. 구체적으로 어떻게 하면 되는지는 묻지 말 것. 이런 것을 스스로 생각해서 해결할 수 있을 때 진정으로 컴퓨터 실력이 향상된다. [본문으로]
  2. 가장 확실한 방법이지만, 시간과 노력이 들며 대기업 상표가 붙은 컴퓨터의 경우 힘들다. 자동 복구 메커니즘까지 박살낼 수 있기 때문이다. [본문으로]
  3. WinRAR, 7-zip 등 다수의 이용 가능한 프로그램이 있다. [본문으로]
  4. 생각보다 중요한 사항이다. 이게 없다면, 누군가 분할된 압축파일 중 하나만 열어봐도 안에 뭐가 들어있는지 대충 파악할 수 있다. 그리고 ZIP 파일의 경우에는 윈도우의 파일 검색 기능이 알아서 안을 뒤적거리게 되며, 요즘의 백신들은 압축파일 안에 들어 있는 파일을 체크하는 기능이 있기 때문에 바이러스 검사하다가 들키는 경우도 생기게 된다. [본문으로]
  5. C:\WINDOWS\system32 등 원래부터 덩치가 크고 파일이 매우 많아 눈에 잘 띄지 않는 폴더 [본문으로]
  6. 이런 류의 프로그램들은 하드웨어를 건드린다는 특성상 DOS가 아니면 구동이 힘들며, 따라서 윈도우 상에서 편하게 작업할 생각은 버리도록. 물론 있을 수도 있으니 검색을 생활화하자. [본문으로]
  7. 비록 논리정연하게 설명한다거나 이성적으로 인식하고 있지 않더라도 본능적인 수준에서 [본문으로]