데프콘: GPKI 관련 파일들… 표준API 신청? 우리는 그들의 행위를 어떻게 검토해야 하는가?

데프콘: GPKI 관련 파일들… 표준API 신청? 우리는 그들의 행위를 어떻게 검토해야 하는가?
[이미지: AI Generated by TheTechEdge]
💡
Editor Pick
- GPKI 관련 파일을 외부에서 구할 수 있는지 검토
- GPKI 표준 API 관련 파일 유출은 표면적으로 드러난 내용만 바라보면 위협 수준 판단이 일부에 불과

Phrack 잡지에 관련된 파일 work.zip에 있는 내용들을 살펴보던 중, /work/home/user/Desktop/desktop/uni_certs 경로에 다수의 인증서 파일 존재하는 것을 확인할 수 있었다. 인증서 파일을 보고 /home/user/Downloads/cert로 이동하면 다시 인증서 관련 파일이 나오면서 호기심이 생긴다. 파일 이름들로부터 강하게 느낄 수 있는 방향성이 있으나 추론에 불과하니 우선 파일들을 하나씩 살펴보기로 한다.

파일명설명생성일
allzip.sh gkpi20200425 하위에 있는 ZIP 파일의 압축해제
5초마다 zip 파일 확인
2016.04.27
allzipex.shgpki_cert 폴더의 모든 .egg 파일을 찾아 압축해제하여 gpki_cert/egg에 저장2016.04.22
cert.iml IntelliJ IDEA 모듈 설정 파일2025.04.21
dict/pass.txt한글 패스워드 사전 파일2020.05.25
dict/pass1.txt패스워드 2개 저장2020.06.08
dict/passwd.txt패스워드 사전 파일2016.04.20
extracted-key-20200512/*_env.cer공개키2019.05.09
extracted-key-20200512/*_env.key개인키2019.05.09
extracted-key-20200512/*_sig.cer공개키(서명)2019.05.09
extracted-key-20200512/*_sig.key개인키(서명)2019.05.09
gpkiapi.lic GPKI 표준 API 모듈 사용을 위한 라이센스 파일2017.11.01
gpkiapi.lic.bak GPKI 표준 API 모듈 사용을 위한 라이센스 파일 백업으로 추정2018.02.08
korear.kr_plain_text_password.txt한글 패스워드 사전 파일(20.892)2020.04.23
lib/bcpkix-jdk15to18-165.jarPKI 및 암호화 관련 기능을 사용하기 위해 필요한 Bouncy Castle 라이브러리 버전 1.652020.04.20
lib/bcprov-ext-jdk15to18-165.jar암호화 알고리즘이 추가된 확장 모듈2020.04.20
lib/gpkisecureweb-1.0.6.3.jarGPKI 표준 웹보안 API를 위한 자바 라이브러리 파일2017.11.06
lib/jline-terminal-3.2.0.jarJLine 라이브러리의 모듈2020.05.11
lib/joda-time-2.10.6.jar자바에서 날짜와 시간을 다루기 위해 사용되는 Joda-Time 라이브러리의 파일2020.05.11
lib/libgpkiapi_jni.jarGPKI 표준보안 API를 자바 언어로 호출하기 위한 JNI 라이브러리2011.08.18
pass1.txt후보 패스워드 사전 파일(18개)2020.05.13
passes.txt후보 패스워드 사전 파일(40,600개)2016.04.23
results.txtGPKI Crack 결과 파일2016.05.13
/srcGPKI Crack Source Code2025.05.28

GPKI 관련 파일들

gpkiapi.licgpkiapi.lic.bak 파일은 모두 GPKI 표준 API 모듈 사용을 위한 라이센스 파일로 생성 시간을 보면 2017.11.01과 2018.02.08로 약 3개월 정도의 시간 차이가 있다. 그리고 두 파일을 Diff하면 서로 다른 파일인 것으로 보아 표준 API 신청이 2회 있었다는 것을 의미한다.

이제 표준 API 신청에 대해 알아보고자 한다. 이 신청 과정을 알아야하는 이유는 위 파일의 위치가 (고려대학교 분석에 따르면) 중국이라면 그들은 이 파일을 어떻게 구할 수 있었는지 이해하기 위함이다. 표준 API 관련 파일을 누구나 쉽게 구할 수 있는가? 그렇지 않은가? 이 질문에 답변하고 외부에서 쉽게 구할 수 없다면 어떻게 구할 수 있었는지 파악해야 하기 때문이다.

이를 위해 표준 API 신청 페이지라고 알려진 행정전자서명 표준API 보급관리시스템 ( https://api.gpki.go.kr )에 접속하여 내용을 살펴본다. 행정전자서명 표준API 보급관리시스템에 접속하면 다음과 같은 안내 메시지를 확인할 수 있다.

💡
“표준API신청은 하단의 표준API보급관리시스템 이용가이드를 참고하시고, 인증서로 로그인 한 후 신청하시기 바랍니다.”

문장을 잘 읽어보면 인증서로 로그인한 뒤, 신청 가능하다는 것을 알 수 있다. 그렇다면 우리에게 익숙한 다양한 인증서 중, 어떤 인증서를 사용하여 로그인하고 어디서 어떻게 신청 할 수 있는지 확인하기 위해 표준API보급관리시스템 이용가이드를 살펴본다.

cf., 이미 전자정부 관련 개발 업무를 경험해보신 분들이라면 이 절차를 충분히 이해하고 있지만 그렇지 못한 분들을 위해 직접 확인한다.

문서의 “1. 개요” 부분을 보면 하단에 별도의 박스안에 신청에 대한 설명이 있으며 이를 통해 어디서 신청 가능한지 확인 가능하다.

내용에서 알 수 있듯이 표준 API 신청은 “공공기관 내부망”에서만 가능하다. 표준 API 신청에 대한 명확한 지침이 있다면 세이버(Saber)와 사이보그(Cyb0rg)가 공개한 자료에 들어 있는 GPKI에 관한 파일들을 어떻게 확보했는지 몇 가지 가능성이 생긴다.

표준 API 관련 파일 다운로드

가장 쉽게 생각할 수 있는 것이 세이버(Saber)와 사이보그(Cyb0rg)가 공개한 자료에 포함된 GPKI 관련 파일들을 인터넷에서 직접 다운로드하는 것이다. 공공기관 담당자가 직접 개발하는 것는 것도 아닐 것이며 개발 업무를 용역으로 추진한다면 관련 파일이 외부에 나올 수도 있으므로 충분히 가능한 시나리오이다.

⚠️
물론 이 파일들이 외부에 나오는 것이 정상적이지 않을 수 있으나 시나리오 상으로 고려는 해야할 것이라 판단했다.

그래서 직접 구글에서 위 파일들을 모두 구하기 위해 시도를 해봤으며 결과는 생각보다 쉽지 않았다. 보다 구체적으로 모든 파일을 구하는 것은 다소 어렵다는 느낌을 받았다. bcpkix-jdk15to18-165.jar 와 같은 파일들은 공개된 라이브러리인 만큼 쉽게 구할 수 있었다.

표준 API 신청을 통해 구해야하는 파일로 추정되는 gpkisecureweb-1.0.6.3.jarlibgpkiapi_jni.jar 같은 파일만 하더라도 검색을 통해 어느 정도 구할 수는 있었다. 사실 이 파일들을 구할 수 있다는 것도 그리 유쾌한 상황은 아니지만 일단 현실을 고려했을 때, 파일의 확보가 어느 정도 가능한 부분이라는 점을 인정하고 다음을 생각해 보고자 한다.

⚠️
아래 Gitlab 주소가 정상적인 노출이라 할 수 있는지 확인이 필요하나 본 글의 취지를 벗어나므로 세부 내용은 언급하지 않는다.
http://218.50.209.93:9001/Quang-SHSoftVina/upgrade-bootstrap-openwork/-/blob/cfc9311dd4eb3b9abf427e7d5a3b83484037a89d/openworks-intra/src/main/webapp/WEB-INF/lib/libgpkiapi_jni.jar

하지만 라이센스 파일 gpkiapi.lic 의 경우 "gpkiapi.lic”라는 검색어를 구글에 넣으면 관련 설명 자료가 있을뿐 파일을 구하는 것은 쉽지 않았다. 즉, 관련 파일 모두 공개된 인터넷으로부터 구하는 것은 쉽지 않다는 것을 의미한다.

gpki 구글 검색 결과

파일을 공개된 인터넷으로부터 구하기 쉽지 않다는 것은 이 파일들이 어떻게 외부에 있게 되었을지 고민하는 과정에는 좋은 상황이 아니다. 이제부터는 비정상적인 경로를 통해 파일을 입수했다는 가정만 남기 때문이다.

표준 API 직접 신청

표준 API 신청을 직접했다면 우선 두 가지 선행조건을 만족해야 한다. 첫째, 공공기관 내부망에서 작업 가능해야 한다. 둘째, 표준 API 신청에 필요한 인증서가 있어야 한다. 아마 공공기관 담당자가 신청하는 것이 일반적이므로 GPKI 인증서가 있어야 할 것으로 예상한다. 지금까지 세이버(Saber)와 사이보그(Cyb0rg)가 공개한 자료에 대한 출처는 중국 또는 북한(물리적으로 중국에 나와 있는?)으로 알려져 있다.

그렇다면 원격지에서 누군가가 공공기관 내부망에 접속하여 표준 API를 신청하고 파일을 다운로드 했다는 의미이다. 신청을 위해 GPKI 인증서가 필요한데 외국인 또는 중국이나 외국에 나가 있는 공공기관 직원이 신청했다는 것이 현실적으로 가능한 것인지 의구심이 든다.

사실 여기서 GPKI 인증서가 탈취되었으며 내부망으로 누군가가 들어왔다가 신청 가능하다 할 수 있지만 표준API보급관리시스템 이용가이드 에 따르면 공문으로만 신청 가능하다고 했으므로 무단 신청을 현실적으로 어렵다고 판단하는 것이 적절할 것이다. 또한 GPKI 인증서 파일의 유출이 있었다 하더라도 인증서 패스워드를 알아야 하기 때문에 쉽지 않은 것이 사실이다.

💡
물론 0%의 가능성을 언급할 수 없지만 현실성 있는 가정만 하고 이정도까지 문제가 심각하다고 가정하고 싶지는 않다.

신청한 표준 API 관련 파일 유출

표준 API 관련 파일 유출이라면 유출 가능한 지점은 두 곳이라 할 수 있다. 물론 그 이상이라고 할 수도 있지만 내부망과 외부망으로 크게 나누어서 생각해본다. 우선 편하게 생각할 수 있으며 유출되었다면 그러려니 할 수 있는 외부망에서 유출되었다면 관련 자료가 인터넷이 연결이 가능한(인터넷 연결이 허용된) 호스트에 자료가 있었으며 침해가 발생하여 자료 유출이 일어날 수 있다. 하지만 “표준 API 관련 파일 다운로드” 부분에서 살펴본 것과 같이 외부에서 모든 파일들을 구하는 것은 쉽지 않다.

내부망에서 유출되었다고 생각한다면 공격자가 공공기관 내부망에 들어와서 파일을 직접 가지고 나간다는 것인데, 사실 이 부분이 가장 적절한 추론이라 할 수 있다. 이러한 상황을 뒷받침하는 근거는 표준 API 관련 파일만 유출된 것이 아닌 GPKI 관련 자료부터 시작해 공공기관 내부에 존재할 것으로 예상되는 많은 파일들이 외부에서 발견되었기 때문이다.

GPKI 표준 API 파일 유출 시사점

지금까지의 내용을 정리하면 이렇다. 표준 API 관련 파일은 내부망에서 인증서를 갖고 공문을 통해 신청해야 한다. 그리고 이렇게 신청하여 구할 수 있는 파일들이 외부에서 발견되었다. 파일 유츨이 일어난 부분이 바로 눈에 드러난 부분으로 우리는 언제나 이렇게 눈에 보이는 부분만 보면서 침해 사고를 논한다. 보다 본질적으로 파일을 어떻게 구할 수 있었으며 어떻게 외부로 나갈 수 있었는지 고민해야 한다. 더구나 내부망 즉, 대부분 인터넷이 연결되지 않아야 하는 내부망에 존재하는 파일들이 어떻게 나갈 수 있었다면 눈에 보이는 상황외에 어떤 상황이 일어날 수 있는지도 파악해야 한다.

대체로 우리는 여러 파일들에서 흔적을 찾고 흔적이 보여주는 부분만 보고 어떤 행위가 있었다는 점까지 논한다. 하지만 공격자는 한번 잡은 대상으로부터 최대한 많은 그리고 오랜기간 정보를 획득하고 영역을 확장시키고자한다. 파일들을 보면 행위가 일어난 기간이 상당히 길었을지 모른다는 생각도 든다. 이제는 관점을 바꾸어야 한다. 남아 있는 흔적을 찾고 그 흔적으로부터 어떤 악의적인 행위가 있었는지 판단하는 방식으로 접근하는 현재의 방식은 버려야 한다. 현재 한 두개의 파일이 나간 것도 아니기 때문에 공격자가 확보한 파일들을 이용해서 어느 정도 행위까지 가능했는지 모두의 머리를 모아야 한다. 그리고 실제 흔적이 있던 없던 가능한 모든 상황을 파악하고 조사 해야 향후 발행할지 모르는 피해를 최소화할 수 있을 것이다.


데프콘 : APT 역추적 이슈에 대한 고찰 (1)
💡Editor’s Pick - 사실은 한국이 발칵 뒤집혔어야 할 사건 - 이런 사건이 흐지부지 묻힌다는 게 놀랄노자 - 이 사건을 통해 고찰해봄직 한 것들 윤리적 해킹 = 뜨거운 ‘아아’? 지금은 기억이 가물가물한 수년 전 어느 보안 행사에서의 일이다. 한 보안 전문가께서 기조 연설을 하시다가 ‘윤리적 해킹’이라는 표현 자체를 신랄하게 비판하셨다. 해킹이라는
데프콘 : APT 역추적 이슈에 대한 고찰 (2)
💡Editor’s Pick - 데프콘에서 공개된 한국 정부와 기업들의 자료 - 정작 한국에서는 ‘누구 짓이냐’로만 뜨거워지는 분위기 - 범인 지목은 사이버 사건 해결에서 최우선 과제가 아냐 세이버(Saber)와 사이보그(Cyb0rg)라는 두 명의 화이트 해커가 데프콘에서 한 APT 조직의 컴퓨터에서 캐낸 정보를 대량으로 공개했을 때, 한국 보안 업계는 커다란 충격을
데프콘 : pass.txt 파일 세부 내용 분석
💡Editor Pick - pass.txt 에 저장된 문자열 한글 자판 기준으로 변환 가능 - 한글 변환한 패스워드 통해 한글 기반 패스워드 패턴 파악 가능 - pass.txt 파일의 용도 파악과 대응 방안 한국에는 유독 특별한 행사였던 2025년 데프콘(DEF CON 33)이 마무리 된 지 벌써 2개월이 넘어가는 시점이다. 이

Read more

인공지능의 위협, 동남아 덮친다

인공지능의 위협, 동남아 덮친다

💡Editor's Pick - 싱가포르, 랜섬웨어 공격 비율 줄었나 했더니, 그게 아니네 - 동남아 전체로 확대되고 있는 랜섬웨어 위협...인공지능 때문 - 인공지능에 도움 받은 공격자들, 점점 큰 위협으로 변모 인공지능으로 인해 싱가포르를 중심으로 한 동남아시아 기업과 기관들이 위험해지고 있다는 보고서가 발표됐다. 보안 기업 카스퍼스키(Kaspersky)가 조사해 발표한

By 문가용 기자
하버드대학, 클롭에 당했나? 오라클 EBS가 문제였나?

하버드대학, 클롭에 당했나? 오라클 EBS가 문제였나?

💡Editor's Pick - 하버드대학의 정보 확보했다 주장하는 클롭 - 곧 정보 열람 가능한 링크 공개할 것이라고 예고 - 어쩌면 오라클 EBS와 관련된 사건일 수도 악명 높은 해킹 그룹 클롭(Cl0p)이 미국의 하버드대학교를 해킹했다고 주장했다. 그러면서 자신들의 다크웹 사이트에 하버드대학 전용 페이지를 따로 신설했다. 클롭은 조만간 해당 페이지를

By 문가용 기자
[TE머묾] 세일즈포스 사건의 전말이 궁금하다

[TE머묾] 세일즈포스 사건의 전말이 궁금하다

💡Editor's Pick - 뭔가 커다란 사건이 일어난 것 같긴 한데... - 매체마다 조금씩 다른 정보 보도...무슨 일 있던 걸까? - 사건 전말 알 수 없는 사이, 공격자의 일방적 주장만 계속돼 콴타스항공의 고객 데이터가 공개됐다. 협상 기한이 지나자 항공사를 공격한 해커인 스캐터드랩서스헌터스(Scattered Lapsus$ Hunters)가  500만 명의

By 문가용 기자