Online Tracking은 인터넷 상에서의 사용자의 활동 내역을 모니터링하거나 추적하는 것을 의미합니다.
온라인 추적은 개인정보보호나 프라이버시 침해 문제와 관련되어 있기도 합니다.
인터넷 상에 존재하는 것은 어떤 것도 사적이지 않습니다. 우리가 신뢰하는 검색 엔진에 접속하는 순간부터 브라우저는 방문한 웹사이트에 우리들의 정보를 전달하게 되고, 브라우저를 통해 웹사이트에서 상호작용할 때마다 구성 정보뿐만 아니라 우리들을 식별할 수 있는 데이터도 전송됩니다.
Online Tracking의 대표적인 네 가지 개념을 알아보겠습니다.
Fingerprinting
인터넷 서핑으로 여러 가지 정보를 찾았을 때, 그 관련된 정보들이 소셜미디어 광고로 다시 화면에 보여진 적이 있을 겁니다. 그건 단순히 우연히 아닙니다. 우리들의 인터넷 검색 과정에서 남긴 흔적들을 감지하는 프로그램들이 있기 때문에 가능한 것입니다. 아마 여러분이 무엇을 하는지 추적하기 위해, 우리들의 동의를 구한 질문을 보신 적이 있을 것입니다.
아이폰에서는 앱마다 Tracking을 허용할 것인지 설정할 수 있다.
이러한 Tracking은 우리들의 관심사를 파악하고 추천 정보를 제공하기 위해 웹사이트 방문 기록을 추적하는 것입니다.
이런 Tracking으로 여러분이 누구인지, 무엇을 좋아하는지, 어디를 다녀왔는지까지 알 수 있게 됩니다.
이런 흔적들은 여러분이 의심하지 않는다면 큰 문제가 되지 않을 수 있습니다.
하지만 여러분들이 OSINT 분석가로서 대상에게 감지되지 않으려 한다면 이러한 흔적들은 치명적일 수 있습니다.
이는 대상이 여러분의 존재를 알아차리게 할 뿐만 아니라, 그 흔적을 이용해 여러분이 누구인지까지 파악할 수 있게 합니다. 여러분이 오히려 역으로 위험해질 수도 있는 것이죠.
IP Addresses
우리를 세상에서 연결시켜주는 IP 주소가 우리를 배신할 수도 있습니다.
인터넷을 사용할 때마다 우리들의 공인 IP 주소가 라우터를 통해 전송됩니다. 이를 통해 웹사이트와 통신할 수 있을 뿐만 아니라 웹사이트에 자신의 주소를 알려주고 어떤 리소스를 보내야 하며, 얼마나 걸릴지도 알려주게 됩니다.
이 작은 요소가 우리들의 정체성을 가장 쉽게 드러내고, 상대방이 인식할 수 있다는 점을 항상 기억해야 합니다.
Cookies
거의 모든 웹사이트가 최적화되고 사용자 친화적인 방식으로 작동하기 위해 쿠키라는 요소를 사용하고 있습니다.
쿠키는 로그인 정보, 개인화된 설정, 심지어 장바구니에 있던 내역까지 저장합니다. 그러나 이러한 항목 중 일부는 웹사이트가 우리들에 대해 더 많이 알 수 있게 해주는 주된 이유이기도 합니다. 이 쿠키가 바로 Third-party persistent cookies 또는 tracking cookies라고 알려져 있는 것입니다.
Third-party persistent cookies는 웹사이트 사용자의 온라인 활동을 추적하고 모니터링하는 데 사용되는 쿠키입니다.
보통 사용자가 방문한 웹사이트가 아닌 다른 도메인에서 설치되는 쿠키로 주로 광고 네트워크나 데이터 분석 회사가 설치합니다. 이 쿠키는 오랫동안 사용자의 브라우저에 남아있고, 사용자의 활동 패턴을 장기간 추적하게 됩니다.
이러한 쿠키의 목적은 개인 맞춤형 광고 등을 제공하려는 것이 주 목적이나, Third-party persistent cookies는 사용자 프라이버시 침해 우려가 있어 많은 논란의 대상이 되고 있기도 합니다.
원치 않는다면 브라우저 설정에서 차단하거나 삭제할 수 있지만, 이는 웹사이트 기능에 지장을 줄 수도 있습니다.
Browser Fingerprinting
마지막으로, Browser Fingerprinting은 사용자의 웹 브라우저와 기기 정보를 활용하여 사용자를 식별하는 기술입니다.
브라우저 유형(크롬, 사파리 등), 버전, 언어 설정, 플러그인, 폰트, 타임존, 화면 크기까지 정보를 수집합니다.
이러한 정보가 사용자별 고유한 Fingerprint를 생성합니다. 이를 통해 사용자를 식별하고 추적할 수 있게 됩니다.
쿠키를 차단하고, 익명 브라우징을 사용해도 브라우저 Fingerprint 정보로 사용자를 식별할 수 있습니다.
이 디지털 핑거프린트가 실제로 가장 위험하고 침입적인 요소입니다.
실제로 웹 브라우저가 제공하는 정보를 확인할 수 있는 여러 페이지가 존재하며 대표적인 페이지를 알려드립니다.
OSINT(Open-Source Intelligence)는 공개된 출처에서 얻은 정보들을 의미합니다. OSINT는 주로 법집행(law enforcemnet), 사이버 범죄 활동, 비즈니스 환경 등에 널리 사용되고 있습니다.
OSINT(Open-Source Intelligence)는 사이버 보안과 다양한 분야에서 핵심적인 역할을 담당하는 강력한 도구입니다. 공격자와 방어자, 비즈니스 및 법 집행 기관 모두가 OSINT를 활용하여 자신의 목적을 달성할 수 있습니다.
OSINT로 수집한 데이터는 공격자에게는 표적 식별 및 취약점 발견의 기반이 되고, 방어자에게는 공격 표면 축소와 대응 전략 수립의 기반이 됩니다. 또한 기업은 OSINT로 경쟁사 모니터링, 고객 이해도 제고, 보안 위험 관리 등을 수행할 수 있으며, 정부 기관은 OSINT로 범죄자 추적과 프로파일링을 실행할 수 있습니다.
OSINT로 활용될 수 있는 예시
OSINT의 데이터 예시를 살펴보겠습니다.
1. Job Description에 회사 내부 시스템에 대한 정보를 기재할 경우
회사에서 시스템 관리자를 채용하기 위해 직무 설명서에 "Windows Server 2022 및 Ubuntu를 잘 다루는 경력자를 채용 중입니다."
라는 내용은 회사 내부 시스템에 대한 정보를 누설하는 것으로, 공격자는 이를 이용해 네트워크에 침투한 뒤 Lateral movement 혹은 privilege escalation을 계획할 수 있게 됩니다.
2. 회사 공식 웹 페이지에서 일부 직원들 혹은 전체 직원을 소개할 경우
특정 부서나 혹은 전체 직원을 소개하는 페이지가 있다고 가정합니다. 예를 들면, "저희 보안 팀을 소개합니다!"
회사의 공개된 정보를 보며 공격자는 매우 쉽게 사회공학 공격의 대상이 될 수 있는 직원들의 목록을 수집할 수 있고 회사의 조직도를 쉽게 파악하게 됩니다. 공격자는 특정 직원을 향해 스피어피싱을 하기 쉬워지겠죠...
심지어 어떤 회사는 직원들의 연락처, 이메일 주소까지 공개하기도 하는데 이는 사회공학 공격을 크게 도와주는 행위입니다.
3. 개인의 소셜미디어 프로필
개인의 소셜미디어 프로필을 통해 잘 구축된 개인정보들은 특정 개인을 더 잘 이해하고 다양한 정보를 수집할 수 있습니다.
생년월일, 거주지, 친구, 관심사, 가족 등.
4. 소셜미디어에 게시된 지오태깅된 사진 및 메타데이터에 포함된 기기 정보
소셜미디어에 게시된 지오태깅된 사진과 메타데이터에 포함된 기기 정보를 통해 사진에서 촬영된 위치와 기기를 한 번에 알아낼 수 있습니다.
위에서 언급한 예시는 수많은 공개된 데이터 중 일부일 뿐입니다.
이러한 정보들을 잘 활용한다면 공격자와 방어자 모두에게 유용하게 활용될 수 있습니다.
공격자는 은밀하게 목표물에 대한 정보를 충분히 파악하여 이를 토대로 공격 계획을 세울 수도 있습니다.
반면 블루팀은 인터넷상에 공개된 정보가 어떤 것들이 있는지 파악하고, 사용자 교육 훈련 및 소셜미디어에 대한 보안 대책을 마련할 수 있습니다.
OSINT가 유용한 이유
크게 4가지 역할군으로 나누어서 유용한 이유에 대해 설명할 수 있습니다.
Blue Team / Defenders
방어하는 입장에서 OSINT가 왜 유용할까요?
인터넷에 공개된 정보들 속에서 방어자들은 공개된 정보를 줄이거나 다른 방법을 통해 공격을 완화시키거나 그 효과를 감소시킬 수 있습니다.
만약 공격자가 회사 내 직원에 대한 상세한 프로필 정보를 보고 똑같이 변장한다면 이는 매우 위험하게 악용될 가능성이 높습니다. 공격자를 돕는 정보를 줄이거나 제거함으로써, 방어자는 공격 표면(attack surface), 즉 공격자가 내부 시스템에 접근할 수 있는 영역을 줄일 수 있습니다.
이러한 활동은 종종 공개 노출 평가(public exposure assessments)라고 불리기도 합니다. 직원들이 소셜 미디어에 올린 정보 수집, 인터넷에 노출된 내부 자산 식별, DNS 검사, 오래된 로그인 포털이나 웹사이트 찾기 등이 해당합니다.
Red Team / Hackers / Attackers
공격하는 입장에서 OSINT를 잘 활용한다면 기업이 사용하는 시스템을 파악하고, 잠재적인 취약점과 공격 방법을 사전에 계획할 수 있습니다.
직원 정보를 수집하면 사회공학 공격과 스피어피싱 이메일을 효과적으로 실행할 수 있습니다. 공격자는 피해자에게 더 신뢰할 만한 것으로 보이도록 공격을 설계할 수 있습니다.
따라서 기업은 자사의 시스템과 직원들이 온라인에서 공유하는 정보에 주의를 기울여야 합니다. 이러한 정보를 악의적인 목적으로 수집하는 과정을 목표 정보 수집(target information gathering) 또는 수동 정보 수집(passive information gathering)이라고 일컫습니다. 이는 공격자가 대상 시스템과 직접 상호작용하지 않고 정보를 수집할 수 있기 때문입니다.
비즈니스
비즈니스 상황에서는 어떻게 활용될까요?
기업들은 OSINT를 활용하여 경쟁업체를 모니터링하고, 시장 동향을 파악하며, 고객에 대한 정보를 더 잘 이해하고 효과적으로 소통할 수 있습니다. 또한 데이터를 통해 비즈니스 운영을 개선하고, 유출된 자격 증명 정보, 직원들의 기밀 정보, 해커들의 공격 계획 등 보안 위험도 모니터링할 수 있습니다.
특히 경쟁업체의 소셜미디어 채널을 모니터링하여 그들의 강점을 파악하여 자사의 소셜미디어 및 마케팅 전략을 보완할 수 있습니다.
법 집행기관
정부와 경찰 기관은 범죄자, 용의자, 테러리스트와 같은 주요 대상자를 추적하기 위해 OSINT를 활용할 수 있습니다.
프로파일링은 개인에 대한 정보를 수집하여 그의 성격과 행동 패턴을 파악하는 활동으로 개인의 관심사와 이전 위치를 바탕으로 특정 시간에 그가 어디에 있을지까지 예측할 수 있습니다.
OSINT는 온라인상에서 자신을 숨기지 못한 사이버 범죄자의 신원을 밝혀내는 데 활용될 수 있습니다.
Trace Labs와 같은 비영리 단체는 온라인 OSINT 대회를 개최하여 실종자 추적과 법 집행 기관을 지원하기도 합니다.
딥링킹은 특정 유형의 링크를 처리하고 사용자를 앱(예: 특정 활동)으로 직접 보내는 메커니즘입니다.
사용자가 모바일 앱으로 직접 특정 콘텐츠로 연결되도록 하는 링크를 생성하는 기술입니다. 이를 통해 웹사이트나 다른 앱에서 특정 앱의 특정 화면으로 이동할 수 있습니다. 일반적으로 다음과 같은 기능과 장점이 있습니다:
사용자 경험 개선: Deep Linking은 사용자가 특정 콘텐츠로 쉽게 이동할 수 있도록 도와줍니다. 예를 들어, 특정 제품 상세 페이지로 바로 이동하거나 앱에서 로그인이나 결제 페이지로 이동할 수 있습니다.
마케팅 및 프로모션: 웹사이트나 소셜 미디어에서 앱의 특정 콘텐츠를 직접 링크하여 사용자들을 앱으로 유도할 수 있습니다. 이를 통해 앱 다운로드, 사용자 활동 증가 등을 도모할 수 있습니다.
측정 및 분석: Deep Linking을 통해 사용자의 행동을 추적하고 분석할 수 있습니다. 특정 링크를 통해 사용자가 앱으로 어떻게 이동하는지를 추적하여 사용자 동작을 이해하고 사용자 경험을 개선할 수 있습니다.
SEO 향상: 안드로이드 앱의 Deep Linking을 구현하면 검색 엔진이 해당 앱의 콘텐츠를 색인화하고 검색 결과에 표시할 수 있습니다. 이는 앱의 발견성을 향상시키고 유기적인 트래픽을 늘리는 데 도움이 됩니다.
Android에서는 개발자가 두 가지 유형의 링크를 만들 수 있습니다
딥링크
안드로이드 앱 링크
일반적으로 /.well-known/assetlinks.json 요청은 공격이 아닐 수 있습니다. 해당 URL은 Android 앱 링크로 사용자가 앱을 선택할 필요 없이, 웹사이트 URL을 클릭하면 Android 앱에서 콘텐츠가 바로 열리도록 하는 특별한 유형의 딥 링크입니다.
/.well-known/assetlinks.json은 Android 앱과 웹 사이트 간의 딥 링크 관련 인증 파일로, 안드로이드 앱이 특정 웹 사이트에 대한 딥 링크를 처리할 수 있는 권한을 부여하는 데 사용됩니다. 공격자는 이를 이용하여 앱 사용자를 악의적인 앱으로 유도하거나 사용자의 개인 정보를 탈취하는 등의 악의적인 행위를 시도할 수 있습니다.
일반적으로 이러한 공격은 사용자가 악의적인 딥 링크를 통해 인증되지 않은 앱에 리디렉션되어 개인 정보를 요구하거나, 사용자의 기기에 악성 앱을 다운로드하도록 유도하는 형태로 이뤄질 수 있습니다.
대응방안
.well-known/assetlinks.json 파일을 안전하게 유지
인증서를 사용하여 암호화된 연결 설정 (SSL/TLS 인증서)
액세스 제어 설정 (불필요한 요청 차단)
파일 권한 설정 (디렉토리 및 하위 파일의 권한을 적절하게 설정)
로그 및 모니터링 설정 (액세스 로그 모니터링)
정기적인 보안 감사 (파일에 대한 정기적인 검토)
앱과 웹 서버 간의 딥 링크 권한을 정확하게 관리
사용자에게 앱과 관련된 딥 링크를 사용할 때 주의해야 함을 경고
/.well-known/assetlinks.json은 Android 앱과 웹 사이트 간의 딥 링크 관련 인증 파일로 공격자가 앱 사용자를 악의적인 앱으로 유도하거나 사용자의 개인 정보를 탈취하는 등의 악성행위 시도할 수 있음