‘지피지기면 백전백승’이라는 말이 있습니다. 상대를 이기기 위해서는 정보 수집이 매우 중요한데요. 이와 마찬가지로 해킹의 첫 단계도 정보 수집입니다. 그렇다면 해커들은 해킹을 위한 정보를 어디서 수집할까요? 공격 타깃의 내부에 잠입해 필요한 정보들을 얻을까요? 아니면 그들만의 사이트가 있어 그 곳에 모인 정보를 수집하는 걸까요? 분명 해커들에게도 해킹을 하기 위한 정보를 수집할 필요가 있을 것입니다. 그들이 이용하는 정보는 의외로 누구나 수집할 수 있는 정보일 테고요.
공개된 출처에서 수집된 정보를 OSINT라고 합니다. OSINT란 ‘Open Source Intelligence’의 약자로 ‘오신트’, ‘공개정보’, ‘오픈소스 정보’ 등으로 읽습니다. ‘공개된 출처’란 우리가 흔히 사용하는 검색 엔진들을 통해 얻을 수 있는 정보를 말하는데요. 전 CIA 국장 제임스 울시 주니어는 “모든 정보의 95%는 공개된 출처에서, 나머지 5% 미만이 비밀 출처에서 나온다”고 말했습니다. 공개된 출처에서 얻은 정보는 무엇이든 OSINT가 될 수 있고, 그것을 활용하는 사람이 어떻게 활용하는지에 따라 핵심 혹은 비핵심 정보가 될 수 있다는 얘기입니다.
공개 출처에서 정보 수집 방법은?
그렇다면 OSINT를 모을 수 있는 방법에는 어떤 것이 있을까요? 먼저, 인터넷 포털 검색창에서 직접 검색하는 방법이 있습니다. 웹 사이트에서 특정 주제로 검색해서 정보를 수집하는 것도 OSINT 정보 수집의 일종입니다. 그리고 직접 검색 엔진을 사용할 경우, 구글의 검색 연산자를 이용하는 방법도 있습니다. 이 방법은 ‘구글 해킹’이라고 불리는데요. 취약한 웹사이트나 해킹된 페이지를 찾는 데 쓰입니다. 예를 들어 ‘inurl’을 사용하면 url에 키워드가 존재하는 사이트 내에서의 검색 결과만을 보여줍니다. 이런 정보도 해커들이 활용할 수 있습니다.
위의 예시는 웹사이트 검색을 통해 임시 페이지를 찾는 것입니다. 이 밖에도 개별 툴들을 활용해서 다양한 정보를 수집할 수 있습니다. 구글 해킹은 문서 관리 미흡, 해킹을 통한 유출 등 공개되지 않아야 할 여러 원인들로 인해 공개된 정보들을 찾을 수 있습니다. 그리고 inurl 외에도 intext, intitle, site, filetype 등을 활용해 검색할 수 있습니다.
위 표의 예시들은 ‘https://www.exploit-db.com/google-hacking-database’ 에서 찾을 수 있는 실제 정보를 추출한 구글 해킹 중 일부입니다. 이처럼 구글 해킹을 통해 오픈돼 있는 정보들을 수집할 수 있습니다.
이외에도 사용하고 있는 하위 DNS 정보를 수집하거나, 검색엔진을 이용해서 자료를 수집하는 등 공개된 정보를 수집하기 위한 다양한 툴이 존재하니, 목적대로 수집하면 됩니다. 이런 방식의 여러 정보들을 한곳에 모아 이미지화하고 분석자에게 도움을 주기 위한 제품들도 존재합니다. 이렇게 수집한 OSINT 정보는 이제 해커가 침투를 하기 위한 베이스가 될 것입니다.
해킹 예방의 첫 단추는?
OSINT 수집 단계가 해킹의 첫 단추이니, 그 자체로 조심할 필요가 있습니다. 만약 이전에 유출된 정보들이 공개된 사이트에 존재한다면 OSINT 정보 수집 과정에서 해커가 침입할 수 있어 위험합니다. 또한 과거의 문서가 부실하게 관리될 경우도 해당 자료들을 통해 여러 가지 정보를 추출해낼 수 있습니다.
실제 구글에서 검색만으로 찾을 수 있는 정보는 사번과 이름까지 노출된 개인별 급여 명세서, 이름 ·생일· 주소가 포함된 문서 등이 있습니다. 이렇듯 구글 검색 만으로도 개인 정보 추출이 가능합니다. 또한 문서를 분석해 더 자세한 정보를 추출할 수 있는 방법도 있습니다.
위의 표는 공개된 파일로부터 메타데이터를 추출해 주는 FOCA(Fingerprinting Organizations with Collected Archives) 도구를 이용해 메타데이터를 추출한 정보입니다. 표에서 볼 수 있듯이 공개된 문서를 이용해서 문서가 작성된 OS와 문서의 생성, 프린트, 수정 이력, 연결된 프린터의 사양 등을 조회할 수 있습니다. 또한 작성자에 대한 정보도 추출이 가능합니다. 이런 정보들이 노출되었을 때 시도해 볼 수 있는 것이 몇 가지가 있습니다. 비행기 해킹도 기내에 설치된 엔터테인먼트 장비를 통한 사례가 있는 것처럼 주변 장비를 타고 들어가 해킹하는 것도 실현 가능한 시나리오입니다. 또한 공식 지원이 중단된 OS를 사용하는 경우, 새로 발견된 보안 취약점에 대해 보안 조치가 어렵기 때문에 이를 악용해 개인정보 유출, 랜섬웨어 감염 등의 공격을 시도할 수 있습니다.
해커가 얻을 수 있는 자료면 어떤 방식으로든 정보 유출의 경로로 사용될 수 있습니다. 문서의 내용에서 유의미한 것을 얻을 수도 있지만, 문서 자체를 분석해 작성자, 시기 등의 데이터를 추출할 수 있는 방법은 무궁무진합니다. 때문에 기본적으로 문서가 외부에 노출되지 않도록 주의해 관리하는 것이 해킹 예방의 첫 단추입니다.
글 ㅣ LG CNS 보안사업담당 RED팀