팔란 티어 제4화: 보이지 않는 방패, Gotham

세계에서 가장 비밀스러운 소프트웨어

by 크리슈나



---


CIA와 FBI가 본 것


2011년 5월 2일, 파키스탄 아보타바드.

현지 시각 새벽 1시.

미 해군 특수부대 SEAL Team 6가 두 대의 블랙호크 헬기를 타고 한 저택을 급습했다.

작전명: Neptune Spear (넵튠의 창)

40분간의 교전 끝에, 인류가 가장 오랫동안 추적해 온 이름 하나가 쓰러졌다

오사마 빈 라덴.

9/11 테러의 주모자. 알카에다 지도자. 미국이 10년 가까이 찾던 인물.

다음 날, 오바마 대통령이 발표했다.

"Justice has been done. (정의가 실현됐습니다.)"

전 세계가 환호했다. 하지만 모두가 궁금해했다.

어떻게 찾았을까?

공식 발표는 이랬다: "수년간의 끈질긴 정보 수집과 분석 끝에..."

하지만 정보 업계에서는 다른 이야기가 속삭였다.

"팔란티어의 Gotham이 핵심 역할을 했다."

팔란티어는 이를 공식적으로 확인하지도, 부인하지도 않았다.

알렉스 카프는 나중에 이렇게만 말했다.

"우리 소프트웨어가 중요한 국가 안보 작전에 사용됐다는 건 자랑스럽습니다."

"하지만 구체적인 내용은 말할 수 없습니다. 기밀이니까요."



Gotham이란 대체 무엇일까?


문제: 서랍 속에 갇힌 정보들

2001년 9/11 이후, 미국 정보기관들은 한 가지 문제에 직면했다.

정보는 많은데, 연결이 안 된다.

구체적인 시나리오를 상상해 보자.

테러 용의자 추적 시나리오:

FBI는 테러 용의자 A의 전화 통화 기록을 갖고 있다.

→ FBI 데이터베이스 시스템 (주로 오라클)

CIA는 외국 테러 조직원 B의 은행 거래 내역을 추적 중이다.

→ CIA 내부 시스템

국토안보부는 C라는 인물의 미국 입국 기록을 가지고 있다.

→ DHS TECS (출입국 시스템)

국세청은 D라는 회사의 의심스러운 자금 흐름을 포착했다.

→ IRS 세무 데이터베이스

문제는:

네 기관의 데이터베이스가 완전히 다르다

보안 등급이 다르다 (Top Secret, Secret, Confidential 등)

데이터 형식도 다르다 (SQL, 레거시 메인프레임, Excel 등)

심지어 날짜 형식도 다르다 (MM/DD/YYYY vs DD/MM/YYYY)



A, B, C, D가 실은 같은 테러 네트워크라는 걸 알아내려면?


2001년 방식:

FBI 분석가가 A를 조사

"이 사람이 외국인과 통화하는데, 누구지?"

CIA에 공문 발송

CIA 승인 절차 (며칠~몇 주)

CIA가 데이터 검색해서 보고서 작성

FBI로 회신

FBI 분석가가 읽고, DHS에 또 공문 발송

같은 과정 반복...

총 소요 시간: 몇 주에서 몇 달

그 사이 테러리스트들은?

이미 사라졌다. 또는 테러를 실행했다.



Gotham의 혁명: 온톨로지


팔란티어가 제시한 해법은 혁명적이었다.

"데이터를 옮기지 마라. 연결하라."

핵심 기술: 온톨로지(Ontology)

온톨로지가 뭘까?

철학 용어로는 "존재론"이다. 사물의 본질과 관계를 연구하는 학문.

컴퓨터 과학에서는? 데이터의 의미 체계(semantic structure)다.


구체적 예시:


FBI 데이터베이스:

Name: John Smith

DOB: 1980-03-15

Phone: 212-555-0123


CIA 데이터베이스:

Subject: J. Smith

Born: March 15, 1980

Contact: +1 (212) 555-0123


국토안보부:

Traveler: Smith, John

Birth Date: 03/15/80

Mobile: 2125550123


일반 컴퓨터가 보기엔?

완전히 다른 세 사람이다.

Gotham의 온톨로지가 보기엔?

같은 사람이다.

어떻게?

온톨로지 매핑:

개체(Entity) 정의

사람(Person)

조직(Organization)

장소(Location)

사건(Event)

거래(Transaction)

속성(Attribute) 매핑

"Name", "Subject", "Traveler" → 모두 "Person.Name"

"DOB", "Born", "Birth Date" → 모두 "Person.BirthDate"

"Phone", "Contact", "Mobile" → 모두 "Person.PhoneNumber"

관계(Relationship) 정의

Person ↔ Person (knows, works_with, family)

Person ↔ Organization (member_of, employed_by)

Person ↔ Location (lives_in, traveled_to)

Person ↔ Transaction (sent, received)

정규화 규칙

전화번호: 모두 E.164 국제 형식으로

날짜: ISO 8601 형식으로

이름: 성, 이름 분리

결과:

Gotham은 FBI의 "John Smith", CIA의 "J. Smith", DHS의 "Smith, John"이 동일 인물임을 자동으로 인식한다.

그리고 이 사람과 관련된 모든 정보를 통합해서 보여준다.

실시간 통합: 데이터를 건드리지 않고


Gotham의 두 번째 혁신: 데이터를 원래 위치에 둔다.


전통적 방식:

모든 데이터를 중앙 데이터 웨어하우스로 복사

ETL(Extract, Transform, Load) 과정 (며칠~몇 주)

분석 수행


문제점:

데이터가 오래됨 (복사하는 동안 실시간성 상실)

저장 공간 필요 (페타바이트급)

보안 리스크 (데이터가 여러 곳에 존재)

데이터 주권 문제 (각 기관이 통제권 상실)


Gotham 방식:

각 데이터베이스에 커넥터(Connector) 설치

데이터는 원래 위치에 그대로

Gotham은 "가상 통합 레이어" 역할

쿼리가 들어오면, 실시간으로 모든 DB에 동시 질의

결과를 온톨로지로 통합해서 반환


장점:

실시간 데이터 (lag 없음)

지금 바로 작가의 멤버십 구독자가 되어
멤버십 특별 연재 콘텐츠를 모두 만나 보세요.

brunch membership
크리슈나작가님의 멤버십을 시작해 보세요!

예술, 철학, 법학을 전공| 화가 | 작가 | AI·반도체·기업분석, 사유의 결로 꿰어진 이야기들, 다양한 분야의 통찰을 삶의 층위를 담아 저만의 방식으로 풀어갑니다.

82 구독자

오직 멤버십 구독자만 볼 수 있는,
이 작가의 특별 연재 콘텐츠

  • 총 91개의 혜택 콘텐츠
최신 발행글 더보기
이전 19화팔란티어 제3화: 철학자와 억만장자